storybook-addon-playwright 7.8.1 → 7.8.2
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/dist/register.js +2 -2
- package/dist/register.js.map +1 -1
- package/dist/register.mjs +2 -2
- package/dist/register.mjs.map +1 -1
- package/package.json +1 -1
package/dist/register.js
CHANGED
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
`+r.toString()+`
|
|
7
7
|
`;}},t.insertRules=function(r,n){for(var i=0;i<r.index.length;i++)this.insertRule(r.index[i],i,n);},t.insertRule=function(r,n,i){if(i===void 0&&(i=this.element.sheet),r.rules){var s=r,a=i;if(r.type==="conditional"||r.type==="keyframes"){var l=ma(i,n);if(a=da(i,s.toString({children:false}),l),a===false)return false;this.refCssRule(r,l,a);}return this.insertRules(s.rules,a),a}var c=r.toString();if(!c)return false;var p=ma(i,n),u=da(i,c,p);return u===false?false:(this.hasInsertedRules=true,this.refCssRule(r,p,u),u)},t.refCssRule=function(r,n,i){r.renderable=i,r.options.parent instanceof ga&&this.cssRules.splice(n,0,i);},t.deleteRule=function(r){var n=this.element.sheet,i=this.indexOf(r);return i===-1?false:(n.deleteRule(i),this.cssRules.splice(i,1),true)},t.indexOf=function(r){return this.cssRules.indexOf(r)},t.replaceRule=function(r,n){var i=this.indexOf(r);return i===-1?false:(this.element.sheet.deleteRule(i),this.cssRules.splice(i,1),this.insertRule(n,i))},t.getRules=function(){return this.element.sheet.cssRules},e})(),bf=0,wf=(function(){function e(o){this.id=bf++,this.version="10.10.0",this.plugins=new nf,this.options={id:{minify:false},createGenerateId:fa,Renderer:Ze?vf:null,plugins:[]},this.generateId=fa({minify:false});for(var r=0;r<ca.length;r++)this.plugins.use(ca[r],{queue:"internal"});this.setup(o);}var t=e.prototype;return t.setup=function(r){return r===void 0&&(r={}),r.createGenerateId&&(this.options.createGenerateId=r.createGenerateId),r.id&&(this.options.id=N({},this.options.id,r.id)),(r.createGenerateId||r.id)&&(this.generateId=this.options.createGenerateId(this.options.id)),r.insertionPoint!=null&&(this.options.insertionPoint=r.insertionPoint),"Renderer"in r&&(this.options.Renderer=r.Renderer),r.plugins&&this.use.apply(this,r.plugins),this},t.createStyleSheet=function(r,n){n===void 0&&(n={});var i=n,s=i.index;typeof s!="number"&&(s=ro.index===0?0:ro.index+1);var a=new ga(r,N({},n,{jss:this,generateId:n.generateId||this.generateId,insertionPoint:this.options.insertionPoint,Renderer:this.options.Renderer,index:s}));return this.plugins.onProcessSheet(a),a},t.removeStyleSheet=function(r){return r.detach(),ro.remove(r),this},t.createRule=function(r,n,i){if(n===void 0&&(n={}),i===void 0&&(i={}),typeof r=="object")return this.createRule(void 0,r,n);var s=N({},i,{name:r,jss:this,Renderer:this.options.Renderer});s.generateId||(s.generateId=this.generateId),s.classes||(s.classes={}),s.keyframes||(s.keyframes={});var a=ar(r,n,s);return a&&this.plugins.onProcessRule(a),a},t.use=function(){for(var r=this,n=arguments.length,i=new Array(n),s=0;s<n;s++)i[s]=arguments[s];return i.forEach(function(a){r.plugins.use(a);}),this},e})(),Vn=function(t){return new wf(t)};var lr=typeof CSS=="object"&&CSS!=null&&"number"in CSS;function Kn(e){var t=null;for(var o in e){var r=e[o],n=typeof r;if(n==="function")t||(t={}),t[o]=r;else if(n==="object"&&r!==null&&!Array.isArray(r)){var i=Kn(r);i&&(t||(t={}),t[o]=i);}}return t}Vn();var va=Date.now(),Wn="fnValues"+va,Gn="fnStyle"+ ++va,xf=function(){return {onCreateRule:function(o,r,n){if(typeof r!="function")return null;var i=ar(o,{},n);return i[Gn]=r,i},onProcessStyle:function(o,r){if(Wn in r||Gn in r)return o;var n={};for(var i in o){var s=o[i];typeof s=="function"&&(delete o[i],n[i]=s);}return r[Wn]=n,o},onUpdate:function(o,r,n,i){var s=r,a=s[Gn];if(a&&(s.style=a(o)||{},0));var c=s[Wn];if(c)for(var p in c)s.prop(p,c[p](o),i);}}},ba=xf;var Le="@global",Un="@global ",Af=(function(){function e(o,r,n){this.type="global",this.at=Le,this.isProcessed=false,this.key=o,this.options=n,this.rules=new io(N({},n,{parent:this}));for(var i in r)this.rules.add(i,r[i]);this.rules.process();}var t=e.prototype;return t.getRule=function(r){return this.rules.get(r)},t.addRule=function(r,n,i){var s=this.rules.add(r,n,i);return s&&this.options.jss.plugins.onProcessRule(s),s},t.replaceRule=function(r,n,i){var s=this.rules.replace(r,n,i);return s&&this.options.jss.plugins.onProcessRule(s),s},t.indexOf=function(r){return this.rules.indexOf(r)},t.toString=function(r){return this.rules.toString(r)},e})(),Tf=(function(){function e(o,r,n){this.type="global",this.at=Le,this.isProcessed=false,this.key=o,this.options=n;var i=o.substr(Un.length);this.rule=n.jss.createRule(i,r,N({},n,{parent:this}));}var t=e.prototype;return t.toString=function(r){return this.rule?this.rule.toString(r):""},e})(),Pf=/\s*,\s*/g;function wa(e,t){for(var o=e.split(Pf),r="",n=0;n<o.length;n++)r+=t+" "+o[n].trim(),o[n+1]&&(r+=", ");return r}function Cf(e,t){var o=e.options,r=e.style,n=r?r[Le]:null;if(n){for(var i in n)t.addRule(i,n[i],N({},o,{selector:wa(i,e.selector)}));delete r[Le];}}function Mf(e,t){var o=e.options,r=e.style;for(var n in r)if(!(n[0]!=="@"||n.substr(0,Le.length)!==Le)){var i=wa(n.substr(Le.length),e.selector);t.addRule(i,r[n],N({},o,{selector:i})),delete r[n];}}function If(){function e(o,r,n){if(!o)return null;if(o===Le)return new Af(o,r,n);if(o[0]==="@"&&o.substr(0,Un.length)===Un)return new Tf(o,r,n);var i=n.parent;return i&&(i.type==="global"||i.options.parent&&i.options.parent.type==="global")&&(n.scoped=false),!n.selector&&n.scoped===false&&(n.selector=o),null}function t(o,r){o.type!=="style"||!r||(Cf(o,r),Mf(o,r));}return {onCreateRule:e,onProcessRule:t}}var xa=If;var Aa=/\s*,\s*/g,kf=/&/g,Df=/\$([\w-]+)/g;function Ef(){function e(n,i){return function(s,a){var l=n.getRule(a)||i&&i.getRule(a);return l?l.selector:a}}function t(n,i){for(var s=i.split(Aa),a=n.split(Aa),l="",c=0;c<s.length;c++)for(var p=s[c],u=0;u<a.length;u++){var f=a[u];l&&(l+=", "),l+=f.indexOf("&")!==-1?f.replace(kf,p):p+" "+f;}return l}function o(n,i,s){if(s)return N({},s,{index:s.index+1});var a=n.options.nestingLevel;a=a===void 0?1:a+1;var l=N({},n.options,{nestingLevel:a,index:i.indexOf(n)+1});return delete l.name,l}function r(n,i,s){if(i.type!=="style")return n;var a=i,l=a.options.parent,c,p;for(var u in n){var f=u.indexOf("&")!==-1,d=u[0]==="@";if(!(!f&&!d)){if(c=o(a,l,c),f){var m=t(u,a.selector);p||(p=e(l,s)),m=m.replace(Df,p);var h=a.key+"-"+u;"replaceRule"in l?l.replaceRule(h,n[u],N({},c,{selector:m})):l.addRule(h,n[u],N({},c,{selector:m}));}else d&&l.addRule(u,{},c).addRule(a.key,n[u],{selector:a.selector});delete n[u];}}return n}return {onProcessStyle:r}}var Ta=Ef;var Of=/[A-Z]/g,Bf=/^ms-/,jn={};function Lf(e){return "-"+e.toLowerCase()}function Nf(e){if(jn.hasOwnProperty(e))return jn[e];var t=e.replace(Of,Lf);return jn[e]=Bf.test(t)?"-"+t:t}var $n=Nf;function cr(e){var t={};for(var o in e){var r=o.indexOf("--")===0?o:$n(o);t[r]=e[o];}return e.fallbacks&&(Array.isArray(e.fallbacks)?t.fallbacks=e.fallbacks.map(cr):t.fallbacks=cr(e.fallbacks)),t}function Ff(){function e(o){if(Array.isArray(o)){for(var r=0;r<o.length;r++)o[r]=cr(o[r]);return o}return cr(o)}function t(o,r,n){if(r.indexOf("--")===0)return o;var i=$n(r);return r===i?o:(n.prop(i,o),null)}return {onProcessStyle:e,onChangeValue:t}}var Pa=Ff;var g=lr&&CSS?CSS.px:"px",ur=lr&&CSS?CSS.ms:"ms",wt=lr&&CSS?CSS.percent:"%",_f={"animation-delay":ur,"animation-duration":ur,"background-position":g,"background-position-x":g,"background-position-y":g,"background-size":g,border:g,"border-bottom":g,"border-bottom-left-radius":g,"border-bottom-right-radius":g,"border-bottom-width":g,"border-left":g,"border-left-width":g,"border-radius":g,"border-right":g,"border-right-width":g,"border-top":g,"border-top-left-radius":g,"border-top-right-radius":g,"border-top-width":g,"border-width":g,"border-block":g,"border-block-end":g,"border-block-end-width":g,"border-block-start":g,"border-block-start-width":g,"border-block-width":g,"border-inline":g,"border-inline-end":g,"border-inline-end-width":g,"border-inline-start":g,"border-inline-start-width":g,"border-inline-width":g,"border-start-start-radius":g,"border-start-end-radius":g,"border-end-start-radius":g,"border-end-end-radius":g,margin:g,"margin-bottom":g,"margin-left":g,"margin-right":g,"margin-top":g,"margin-block":g,"margin-block-end":g,"margin-block-start":g,"margin-inline":g,"margin-inline-end":g,"margin-inline-start":g,padding:g,"padding-bottom":g,"padding-left":g,"padding-right":g,"padding-top":g,"padding-block":g,"padding-block-end":g,"padding-block-start":g,"padding-inline":g,"padding-inline-end":g,"padding-inline-start":g,"mask-position-x":g,"mask-position-y":g,"mask-size":g,height:g,width:g,"min-height":g,"max-height":g,"min-width":g,"max-width":g,bottom:g,left:g,top:g,right:g,inset:g,"inset-block":g,"inset-block-end":g,"inset-block-start":g,"inset-inline":g,"inset-inline-end":g,"inset-inline-start":g,"box-shadow":g,"text-shadow":g,"column-gap":g,"column-rule":g,"column-rule-width":g,"column-width":g,"font-size":g,"font-size-delta":g,"letter-spacing":g,"text-decoration-thickness":g,"text-indent":g,"text-stroke":g,"text-stroke-width":g,"word-spacing":g,motion:g,"motion-offset":g,outline:g,"outline-offset":g,"outline-width":g,perspective:g,"perspective-origin-x":wt,"perspective-origin-y":wt,"transform-origin":wt,"transform-origin-x":wt,"transform-origin-y":wt,"transform-origin-z":wt,"transition-delay":ur,"transition-duration":ur,"vertical-align":g,"flex-basis":g,"shape-margin":g,size:g,gap:g,grid:g,"grid-gap":g,"row-gap":g,"grid-row-gap":g,"grid-column-gap":g,"grid-template-rows":g,"grid-template-columns":g,"grid-auto-rows":g,"grid-auto-columns":g,"box-shadow-x":g,"box-shadow-y":g,"box-shadow-blur":g,"box-shadow-spread":g,"font-line-height":g,"text-shadow-x":g,"text-shadow-y":g,"text-shadow-blur":g};function Ca(e){var t=/(-[a-z])/g,o=function(s){return s[1].toUpperCase()},r={};for(var n in e)r[n]=e[n],r[n.replace(t,o)]=e[n];return r}var zf=Ca(_f);function so(e,t,o){if(t==null)return t;if(Array.isArray(t))for(var r=0;r<t.length;r++)t[r]=so(e,t[r],o);else if(typeof t=="object")if(e==="fallbacks")for(var n in t)t[n]=so(n,t[n],o);else for(var i in t)t[i]=so(e+"-"+i,t[i],o);else if(typeof t=="number"&&isNaN(t)===false){var s=o[e]||zf[e];return s&&!(t===0&&s===g)?typeof s=="function"?s(t).toString():""+t+s:t.toString()}return t}function Rf(e){e===void 0&&(e={});var t=Ca(e);function o(n,i){if(i.type!=="style")return n;for(var s in n)n[s]=so(s,n[s],t);return n}function r(n,i){return so(i,n,t)}return {onProcessStyle:o,onChangeValue:r}}var Ma=Rf;function ao(e,t){(t==null||t>e.length)&&(t=e.length);for(var o=0,r=Array(t);o<t;o++)r[o]=e[o];return r}function Ia(e){if(Array.isArray(e))return ao(e)}function ka(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Da(e,t){if(e){if(typeof e=="string")return ao(e,t);var o={}.toString.call(e).slice(8,-1);return o==="Object"&&e.constructor&&(o=e.constructor.name),o==="Map"||o==="Set"?Array.from(e):o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?ao(e,t):void 0}}function Ea(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
8
8
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Oa(e){return Ia(e)||ka(e)||Da(e)||Ea()}var lo="",qn="",Fa="",_a="",Hf=Ze&&"ontouchstart"in document.documentElement;if(Ze){pr={Moz:"-moz-",ms:"-ms-",O:"-o-",Webkit:"-webkit-"},Ba=document.createElement("p"),fr=Ba.style,La="Transform";for(dr in pr)if(dr+La in fr){lo=dr,qn=pr[dr];break}lo==="Webkit"&&"msHyphens"in fr&&(lo="ms",qn=pr.ms,_a="edge"),lo==="Webkit"&&"-apple-trailing-word"in fr&&(Fa="apple");}var pr,Ba,fr,La,dr,P={js:lo,css:qn,vendor:Fa,browser:_a,isTouch:Hf};function za(e){return e[1]==="-"||P.js==="ms"?e:"@"+P.css+"keyframes"+e.substr(10)}var Vf={noPrefill:["appearance"],supportedProperty:function(t){return t!=="appearance"?false:P.js==="ms"?"-webkit-"+t:P.css+t}},Kf={noPrefill:["color-adjust"],supportedProperty:function(t){return t!=="color-adjust"?false:P.js==="Webkit"?P.css+"print-"+t:t}},Wf=/[-\s]+(.)?/g;function Gf(e,t){return t?t.toUpperCase():""}function Xn(e){return e.replace(Wf,Gf)}function Fe(e){return Xn("-"+e)}var Uf={noPrefill:["mask"],supportedProperty:function(t,o){if(!/^mask/.test(t))return false;if(P.js==="Webkit"){var r="mask-image";if(Xn(r)in o)return t;if(P.js+Fe(r)in o)return P.css+t}return t}},jf={noPrefill:["text-orientation"],supportedProperty:function(t){return t!=="text-orientation"?false:P.vendor==="apple"&&!P.isTouch?P.css+t:t}},$f={noPrefill:["transform"],supportedProperty:function(t,o,r){return t!=="transform"?false:r.transform?t:P.css+t}},qf={noPrefill:["transition"],supportedProperty:function(t,o,r){return t!=="transition"?false:r.transition?t:P.css+t}},Xf={noPrefill:["writing-mode"],supportedProperty:function(t){return t!=="writing-mode"?false:P.js==="Webkit"||P.js==="ms"&&P.browser!=="edge"?P.css+t:t}},Yf={noPrefill:["user-select"],supportedProperty:function(t){return t!=="user-select"?false:P.js==="Moz"||P.js==="ms"||P.vendor==="apple"?P.css+t:t}},Jf={supportedProperty:function(t,o){if(!/^break-/.test(t))return false;if(P.js==="Webkit"){var r="WebkitColumn"+Fe(t);return r in o?P.css+"column-"+t:false}if(P.js==="Moz"){var n="page"+Fe(t);return n in o?"page-"+t:false}return false}},Qf={supportedProperty:function(t,o){if(!/^(border|margin|padding)-inline/.test(t))return false;if(P.js==="Moz")return t;var r=t.replace("-inline","");return P.js+Fe(r)in o?P.css+r:false}},Zf={supportedProperty:function(t,o){return Xn(t)in o?t:false}},ed={supportedProperty:function(t,o){var r=Fe(t);return t[0]==="-"||t[0]==="-"&&t[1]==="-"?t:P.js+r in o?P.css+t:P.js!=="Webkit"&&"Webkit"+r in o?"-webkit-"+t:false}},td={supportedProperty:function(t){return t.substring(0,11)!=="scroll-snap"?false:P.js==="ms"?""+P.css+t:t}},od={supportedProperty:function(t){return t!=="overscroll-behavior"?false:P.js==="ms"?P.css+"scroll-chaining":t}},rd={"flex-grow":"flex-positive","flex-shrink":"flex-negative","flex-basis":"flex-preferred-size","justify-content":"flex-pack",order:"flex-order","align-items":"flex-align","align-content":"flex-line-pack"},nd={supportedProperty:function(t,o){var r=rd[t];return r&&P.js+Fe(r)in o?P.css+r:false}},Ra={flex:"box-flex","flex-grow":"box-flex","flex-direction":["box-orient","box-direction"],order:"box-ordinal-group","align-items":"box-align","flex-flow":["box-orient","box-direction"],"justify-content":"box-pack"},id=Object.keys(Ra),sd=function(t){return P.css+t},ad={supportedProperty:function(t,o,r){var n=r.multiple;if(id.indexOf(t)>-1){var i=Ra[t];if(!Array.isArray(i))return P.js+Fe(i)in o?P.css+i:false;if(!n)return false;for(var s=0;s<i.length;s++)if(!(P.js+Fe(i[0])in o))return false;return i.map(sd)}return false}},Ha=[Vf,Kf,Uf,jf,$f,qf,Xf,Yf,Jf,Qf,Zf,ed,td,od,nd,ad],Na=Ha.filter(function(e){return e.supportedProperty}).map(function(e){return e.supportedProperty}),ld=Ha.filter(function(e){return e.noPrefill}).reduce(function(e,t){return e.push.apply(e,Oa(t.noPrefill)),e},[]),co,tt={};if(Ze){co=document.createElement("p"),mr=window.getComputedStyle(document.documentElement,"");for(hr in mr)isNaN(hr)||(tt[mr[hr]]=mr[hr]);ld.forEach(function(e){return delete tt[e]});}var mr,hr;function gr(e,t){if(t===void 0&&(t={}),!co)return e;if(tt[e]!=null)return tt[e];(e==="transition"||e==="transform")&&(t[e]=e in co.style);for(var o=0;o<Na.length&&(tt[e]=Na[o](e,co.style,t),!tt[e]);o++);try{co.style[e]="";}catch{return false}return tt[e]}var xt={},cd={transition:1,"transition-property":1,"-webkit-transition":1,"-webkit-transition-property":1},ud=/(^\s*[\w-]+)|, (\s*[\w-]+)(?![^()]*\))/g,Ne;function pd(e,t,o){if(t==="var")return "var";if(t==="all")return "all";if(o==="all")return ", all";var r=t?gr(t):", "+gr(o);return r||t||o}Ze&&(Ne=document.createElement("p"));function Yn(e,t){var o=t;if(!Ne||e==="content")return t;if(typeof o!="string"||!isNaN(parseInt(o,10)))return o;var r=e+o;if(xt[r]!=null)return xt[r];try{Ne.style[e]=o;}catch{return xt[r]=false,false}if(cd[e])o=o.replace(ud,pd);else if(Ne.style[e]===""&&(o=P.css+o,o==="-ms-flex"&&(Ne.style[e]="-ms-flexbox"),Ne.style[e]=o,Ne.style[e]===""))return xt[r]=false,false;return Ne.style[e]="",xt[r]=o,xt[r]}function fd(){function e(n){if(n.type==="keyframes"){var i=n;i.at=za(i.at);}}function t(n){for(var i in n){var s=n[i];if(i==="fallbacks"&&Array.isArray(s)){n[i]=s.map(t);continue}var a=false,l=gr(i);l&&l!==i&&(a=true);var c=false,p=Yn(l,Be(s));p&&p!==s&&(c=true),(a||c)&&(a&&delete n[i],n[l||i]=p||s);}return n}function o(n,i){return i.type!=="style"?n:t(n)}function r(n,i){return Yn(i,Be(n))||n}return {onProcessRule:e,onProcessStyle:o,onChangeValue:r}}var Va=fd;function dd(){var e=function(o,r){return o.length===r.length?o>r?1:-1:o.length-r.length};return {onProcessStyle:function(o,r){if(r.type!=="style")return o;for(var n={},i=Object.keys(o).sort(e),s=0;s<i.length;s++)n[i[s]]=o[i[s]];return n}}}var Ka=dd;function Sr(){return {plugins:[ba(),xa(),Ta(),Pa(),Ma(),typeof window>"u"?null:Va(),Ka()]}}function uo(e={}){let{baseClasses:t,newClasses:o,Component:r}=e;if(!o)return t;let n={...t};return Object.keys(o).forEach(i=>{o[i]&&(n[i]=`${t[i]} ${o[i]}`);}),n}var md={set:(e,t,o,r)=>{let n=e.get(t);n||(n=new Map,e.set(t,n)),n.set(o,r);},get:(e,t,o)=>{let r=e.get(t);return r?r.get(o):void 0},delete:(e,t,o)=>{e.get(t).delete(o);}},ot=md;function Jn(){let e=vt();return e?.$$material??e}var hd=Vn(Sr()),gd=ir(),Sd=new Map;var yd={disableGeneration:false,generateClassName:gd,jss:hd,sheetsCache:null,sheetsManager:Sd,sheetsRegistry:null},Wa=M__namespace.createContext(yd);var Ga=-1e9;function Ua(){return Ga+=1,Ga}function ja(e){return e.length===0}function vr(e){let{variant:t,...o}=e,r=t||"";return Object.keys(o).sort().forEach(n=>{n==="color"?r+=ja(r)?e[n]:Qe(e[n]):r+=`${ja(r)?n:Qe(n)}${Qe(e[n].toString())}`;}),r}var vd={},$a=vd;function br(e){let t=typeof e=="function";return {create:(o,r)=>{let n;try{n=t?e(o):e;}catch(l){throw l}if(!r||!o.components||!o.components[r]||!o.components[r].styleOverrides&&!o.components[r].variants)return n;let i=o.components[r].styleOverrides||{},s=o.components[r].variants||[],a={...n};return Object.keys(i).forEach(l=>{a[l]=Je(a[l]||{},i[l]);}),s.forEach(l=>{let c=vr(l.props);a[c]=Je(a[c]||{},l.style);}),a},options:{}}}function bd({state:e,stylesOptions:t},o,r){if(t.disableGeneration)return o||{};e.cacheClasses||(e.cacheClasses={value:null,lastProp:null,lastJSS:{}});let n=false;return e.classes!==e.cacheClasses.lastJSS&&(e.cacheClasses.lastJSS=e.classes,n=true),o!==e.cacheClasses.lastProp&&(e.cacheClasses.lastProp=o,n=true),n&&(e.cacheClasses.value=uo({baseClasses:e.cacheClasses.lastJSS,newClasses:o,Component:r})),e.cacheClasses.value}function wd({state:e,theme:t,stylesOptions:o,stylesCreator:r,name:n},i){if(o.disableGeneration)return;let s=ot.get(o.sheetsManager,r,t);s||(s={refs:0,staticSheet:null,dynamicStyles:null},ot.set(o.sheetsManager,r,t,s));let a={...r.options,...o,theme:t,flip:typeof o.flip=="boolean"?o.flip:t.direction==="rtl"};a.generateId=a.serverGenerateClassName||a.generateClassName;let l=o.sheetsRegistry;if(s.refs===0){let c;o.sheetsCache&&(c=ot.get(o.sheetsCache,r,t));let p=r.create(t,n);c||(c=o.jss.createStyleSheet(p,{link:false,...a}),c.attach(),o.sheetsCache&&ot.set(o.sheetsCache,r,t,c)),l&&l.add(c),s.staticSheet=c,s.dynamicStyles=Kn(p);}if(s.dynamicStyles){let c=o.jss.createStyleSheet(s.dynamicStyles,{link:true,...a});c.update(i),c.attach(),e.dynamicSheet=c,e.classes=uo({baseClasses:s.staticSheet.classes,newClasses:c.classes}),l&&l.add(c);}else e.classes=s.staticSheet.classes;s.refs+=1;}function xd({state:e},t){e.dynamicSheet&&e.dynamicSheet.update(t);}function Ad({state:e,theme:t,stylesOptions:o,stylesCreator:r}){if(o.disableGeneration)return;let n=ot.get(o.sheetsManager,r,t);n.refs-=1;let i=o.sheetsRegistry;n.refs===0&&(ot.delete(o.sheetsManager,r,t),o.jss.removeStyleSheet(n.staticSheet),i&&i.remove(n.staticSheet)),e.dynamicSheet&&(o.jss.removeStyleSheet(e.dynamicSheet),i&&i.remove(e.dynamicSheet));}function Td(e,t){let o=M__namespace.useRef([]),r,n=M__namespace.useMemo(()=>({}),t);o.current!==n&&(o.current=n,r=e()),M__namespace.useEffect(()=>()=>{r&&r();},[n]);}function y(e,t={}){let{name:o,classNamePrefix:r,Component:n,defaultTheme:i=$a,...s}=t,a=br(e),l=o||r||"makeStyles";return a.options={index:Ua(),name:o,meta:l,classNamePrefix:l},(p={})=>{let u=Jn()||i,f={...M__namespace.useContext(Wa),...s},d=M__namespace.useRef(),m=M__namespace.useRef();return Td(()=>{let S={name:o,state:{},stylesCreator:a,stylesOptions:f,theme:u};return wd(S,p),m.current=false,d.current=S,()=>{Ad(S);}},[u,a]),M__namespace.useEffect(()=>{m.current&&xd(d.current,p),m.current=true;}),bd(d.current,p.classes,n)}}function D(e){return e.default??e}var Ed=D(Dd__default.default),Od=y(e=>{let{primary:t}=e.palette;return {closIcon:{zIndex:100},input:{width:"100%"},paper:{height:o=>o.height,padding:10,maxHeight:"calc(100% - 20px)",maxWidth:o=>o.width+" !important",width:o=>o.width+" !important"},title:{"& h6":{fontSize:17},color:t.main,display:"flex",justifyContent:"space-between",padding:"12px 24px"},titleActions:{marginBottom:"-10px",marginRight:"-18px",marginTop:"-8px"}}},{name:"Dialog"}),ve=({children:e,width:t="80%",height:o="auto",title:r,onClose:n,footerActions:i,subtitle:s,titleActions:a,open:l=false,enableCloseButton:c=true,...p})=>{let u=Od({height:o,width:t}),f=i,d=a;return M__namespace.default.createElement(material.Dialog,{open:l,classes:{paper:u.paper},onClose:n,...p},(d||c||r||s)&&M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(material.DialogTitle,{className:u.title},M__namespace.default.createElement("div",null,r&&M__namespace.default.createElement(material.Typography,{variant:"h6"},r),s&&M__namespace.default.createElement(material.Typography,{variant:"body1"},s)),M__namespace.default.createElement("div",{className:u.titleActions},d&&M__namespace.default.createElement(d,null),c&&M__namespace.default.createElement(material.IconButton,{color:"primary",className:u.closIcon,onClick:n},M__namespace.default.createElement(Ed,null)))),M__namespace.default.createElement(material.Divider,null)),e,f&&M__namespace.default.createElement(material.DialogActions,null,M__namespace.default.createElement(f,null)))};ve.displayName="Dialog";var Qn=M.memo(({onPositiveAction:e,title:t,onNegativeAction:o,open:r,onClose:n,width:i="30%",children:s,positiveActionName:a,negativeActionName:l,onCancel:c,...p})=>{let u=M.useCallback(()=>{n(),c&&c();},[c,n]);return M__namespace.default.createElement(ve,{enableCloseButton:false,open:r,onClose:u,width:i,...p},M__namespace.default.createElement(Zt,{onPositiveAction:e,negativeActionName:l,title:t,onNegativeAction:o,positiveActionName:a},s))});Qn.displayName="ActionDialog";var Zn=M.memo(({onPositiveAction:e,title:t,onNegativeAction:o,children:r,positiveActionName:n,negativeActionName:i,...s})=>M__namespace.default.createElement(material.Popover,{open:true,...s},M__namespace.default.createElement(Zt,{onPositiveAction:e,negativeActionName:i,title:t,onNegativeAction:o,positiveActionName:n},r)));Zn.displayName="ActionPopover";var Rd=y(()=>({root:{color:"red",overflow:"auto",padding:16,whiteSpace:"pre-wrap",width:"100%"}}),{name:"ErrorPanel"}),ei=M.memo(e=>{let{message:t}=e,o=Rd();return M__namespace.default.createElement("div",{className:o.root},t)});ei.displayName="ErrorPanel";function wr(e){return "";}function Ja(e){return wr()}function xr(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Qa(e){return wr()}function tl(e,t,o,r,n){let i;/^\.{0,2}[/\\]/.test(e)?i=`file:///${e.replace(/\\/g,"/").replace(/^\/+/,"")}`:/^https?:\/\//i.test(e)||/^file:\/\//i.test(e)?i=el__default.default(e):i=el__default.default(`http://${e}`);let s=`${i}/iframe.html?id=${t}`,a=Ja();a&&(s=`${s}&args=${a}`);let l=Qa();if(l&&(s=`${s}&globals=${l}`),o);return s.replace(/\\/g,"/")}function Pe(){return document.body.querySelector("#storybook-preview-iframe")}function ol(e){return Pe()?.contentWindow?.document.querySelector(e)}function po(e,t){if(!t)return;let o=t.split(".").join(".properties.");return yn.get(e,o)}function ii(e){if(typeof e=="number")return Number.isNaN(e)?void 0:e;if(typeof e=="string"){let t=e.trim();if(!t)return;let o=Number(t);return Number.isNaN(o)?void 0:o}}var Ar={"Blackberry PlayBook":{userAgent:"Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/15.4 Safari/536.2+",viewport:{width:600,height:1024},deviceScaleFactor:1,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"Blackberry PlayBook landscape":{userAgent:"Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/15.4 Safari/536.2+",viewport:{width:1024,height:600},deviceScaleFactor:1,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"BlackBerry Z30":{userAgent:"Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/15.4 Mobile Safari/537.10+",viewport:{width:360,height:640},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"BlackBerry Z30 landscape":{userAgent:"Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/15.4 Mobile Safari/537.10+",viewport:{width:640,height:360},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"Galaxy Note 3":{userAgent:"Mozilla/5.0 (Linux; U; Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/15.4 Mobile Safari/534.30",viewport:{width:360,height:640},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"Galaxy Note 3 landscape":{userAgent:"Mozilla/5.0 (Linux; U; Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/15.4 Mobile Safari/534.30",viewport:{width:640,height:360},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"Galaxy Note II":{userAgent:"Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/15.4 Mobile Safari/534.30",viewport:{width:360,height:640},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"Galaxy Note II landscape":{userAgent:"Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/15.4 Mobile Safari/534.30",viewport:{width:640,height:360},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"Galaxy S III":{userAgent:"Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/15.4 Mobile Safari/534.30",viewport:{width:360,height:640},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"Galaxy S III landscape":{userAgent:"Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/15.4 Mobile Safari/534.30",viewport:{width:640,height:360},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"Galaxy S5":{userAgent:"Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:360,height:640},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Galaxy S5 landscape":{userAgent:"Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:640,height:360},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Galaxy S8":{userAgent:"Mozilla/5.0 (Linux; Android 7.0; SM-G950U Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:360,height:740},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Galaxy S8 landscape":{userAgent:"Mozilla/5.0 (Linux; Android 7.0; SM-G950U Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:740,height:360},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Galaxy S9+":{userAgent:"Mozilla/5.0 (Linux; Android 8.0.0; SM-G965U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:320,height:658},deviceScaleFactor:4.5,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Galaxy S9+ landscape":{userAgent:"Mozilla/5.0 (Linux; Android 8.0.0; SM-G965U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:658,height:320},deviceScaleFactor:4.5,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Galaxy Tab S4":{userAgent:"Mozilla/5.0 (Linux; Android 8.1.0; SM-T837A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Safari/537.36",viewport:{width:712,height:1138},deviceScaleFactor:2.25,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Galaxy Tab S4 landscape":{userAgent:"Mozilla/5.0 (Linux; Android 8.1.0; SM-T837A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Safari/537.36",viewport:{width:1138,height:712},deviceScaleFactor:2.25,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"iPad (gen 6)":{userAgent:"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",viewport:{width:768,height:1024},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPad (gen 6) landscape":{userAgent:"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",viewport:{width:1024,height:768},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPad (gen 7)":{userAgent:"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",viewport:{width:810,height:1080},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPad (gen 7) landscape":{userAgent:"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",viewport:{width:1080,height:810},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPad Mini":{userAgent:"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",viewport:{width:768,height:1024},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPad Mini landscape":{userAgent:"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",viewport:{width:1024,height:768},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPad Pro 11":{userAgent:"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",viewport:{width:834,height:1194},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPad Pro 11 landscape":{userAgent:"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",viewport:{width:1194,height:834},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 6":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/15.4 Mobile/15A372 Safari/604.1",viewport:{width:375,height:667},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 6 landscape":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/15.4 Mobile/15A372 Safari/604.1",viewport:{width:667,height:375},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 6 Plus":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/15.4 Mobile/15A372 Safari/604.1",viewport:{width:414,height:736},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 6 Plus landscape":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/15.4 Mobile/15A372 Safari/604.1",viewport:{width:736,height:414},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 7":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/15.4 Mobile/15A372 Safari/604.1",viewport:{width:375,height:667},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 7 landscape":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/15.4 Mobile/15A372 Safari/604.1",viewport:{width:667,height:375},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 7 Plus":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/15.4 Mobile/15A372 Safari/604.1",viewport:{width:414,height:736},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 7 Plus landscape":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/15.4 Mobile/15A372 Safari/604.1",viewport:{width:736,height:414},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 8":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/15.4 Mobile/15A372 Safari/604.1",viewport:{width:375,height:667},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 8 landscape":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/15.4 Mobile/15A372 Safari/604.1",viewport:{width:667,height:375},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 8 Plus":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/15.4 Mobile/15A372 Safari/604.1",viewport:{width:414,height:736},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 8 Plus landscape":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/15.4 Mobile/15A372 Safari/604.1",viewport:{width:736,height:414},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone SE":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/15.4 Mobile/14E304 Safari/602.1",viewport:{width:320,height:568},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone SE landscape":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/15.4 Mobile/14E304 Safari/602.1",viewport:{width:568,height:320},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone X":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/15.4 Mobile/15A372 Safari/604.1",viewport:{width:375,height:812},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone X landscape":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/15.4 Mobile/15A372 Safari/604.1",viewport:{width:812,height:375},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone XR":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",viewport:{width:414,height:896},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone XR landscape":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",viewport:{width:896,height:414},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 11":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",screen:{width:414,height:896},viewport:{width:414,height:715},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 11 landscape":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",screen:{width:414,height:896},viewport:{width:800,height:364},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 11 Pro":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",screen:{width:375,height:812},viewport:{width:375,height:635},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 11 Pro landscape":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",screen:{width:375,height:812},viewport:{width:724,height:325},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 11 Pro Max":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",screen:{width:414,height:896},viewport:{width:414,height:715},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 11 Pro Max landscape":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",screen:{width:414,height:896},viewport:{width:808,height:364},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 12":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",screen:{width:390,height:844},viewport:{width:390,height:664},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 12 landscape":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",screen:{width:390,height:844},viewport:{width:750,height:340},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 12 Pro":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",screen:{width:390,height:844},viewport:{width:390,height:664},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 12 Pro landscape":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",screen:{width:390,height:844},viewport:{width:750,height:340},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 12 Pro Max":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",screen:{width:428,height:926},viewport:{width:428,height:746},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 12 Pro Max landscape":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",screen:{width:428,height:926},viewport:{width:832,height:378},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 13":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",screen:{width:390,height:844},viewport:{width:390,height:664},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 13 landscape":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",screen:{width:390,height:844},viewport:{width:750,height:342},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 13 Pro":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",screen:{width:390,height:844},viewport:{width:390,height:664},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 13 Pro landscape":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",screen:{width:390,height:844},viewport:{width:750,height:342},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 13 Pro Max":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",screen:{width:428,height:926},viewport:{width:428,height:746},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 13 Pro Max landscape":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",screen:{width:428,height:926},viewport:{width:832,height:380},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 13 Mini":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",screen:{width:375,height:812},viewport:{width:375,height:629},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"iPhone 13 Mini landscape":{userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",screen:{width:375,height:812},viewport:{width:712,height:327},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"JioPhone 2":{userAgent:"Mozilla/5.0 (Mobile; LYF/F300B/LYF-F300B-001-01-15-130718-i;Android; rv:89.0 Gecko/48.0 Firefox/93.0 KAIOS/2.5",viewport:{width:240,height:320},deviceScaleFactor:1,isMobile:true,hasTouch:true,defaultBrowserType:"firefox"},"JioPhone 2 landscape":{userAgent:"Mozilla/5.0 (Mobile; LYF/F300B/LYF-F300B-001-01-15-130718-i;Android; rv:89.0 Gecko/48.0 Firefox/93.0 KAIOS/2.5",viewport:{width:320,height:240},deviceScaleFactor:1,isMobile:true,hasTouch:true,defaultBrowserType:"firefox"},"Kindle Fire HDX":{userAgent:"Mozilla/5.0 (Linux; U; en-us; KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true",viewport:{width:800,height:1280},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"Kindle Fire HDX landscape":{userAgent:"Mozilla/5.0 (Linux; U; en-us; KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true",viewport:{width:1280,height:800},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"LG Optimus L70":{userAgent:"Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:384,height:640},deviceScaleFactor:1.25,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"LG Optimus L70 landscape":{userAgent:"Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:640,height:384},deviceScaleFactor:1.25,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Microsoft Lumia 550":{userAgent:"Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 550) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36 Edge/14.14263",viewport:{width:640,height:360},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Microsoft Lumia 550 landscape":{userAgent:"Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 550) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36 Edge/14.14263",viewport:{width:360,height:640},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Microsoft Lumia 950":{userAgent:"Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36 Edge/14.14263",viewport:{width:360,height:640},deviceScaleFactor:4,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Microsoft Lumia 950 landscape":{userAgent:"Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36 Edge/14.14263",viewport:{width:640,height:360},deviceScaleFactor:4,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Nexus 10":{userAgent:"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Safari/537.36",viewport:{width:800,height:1280},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Nexus 10 landscape":{userAgent:"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Safari/537.36",viewport:{width:1280,height:800},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Nexus 4":{userAgent:"Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:384,height:640},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Nexus 4 landscape":{userAgent:"Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:640,height:384},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Nexus 5":{userAgent:"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:360,height:640},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Nexus 5 landscape":{userAgent:"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:640,height:360},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Nexus 5X":{userAgent:"Mozilla/5.0 (Linux; Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:412,height:732},deviceScaleFactor:2.625,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Nexus 5X landscape":{userAgent:"Mozilla/5.0 (Linux; Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:732,height:412},deviceScaleFactor:2.625,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Nexus 6":{userAgent:"Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:412,height:732},deviceScaleFactor:3.5,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Nexus 6 landscape":{userAgent:"Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:732,height:412},deviceScaleFactor:3.5,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Nexus 6P":{userAgent:"Mozilla/5.0 (Linux; Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:412,height:732},deviceScaleFactor:3.5,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Nexus 6P landscape":{userAgent:"Mozilla/5.0 (Linux; Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:732,height:412},deviceScaleFactor:3.5,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Nexus 7":{userAgent:"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Safari/537.36",viewport:{width:600,height:960},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Nexus 7 landscape":{userAgent:"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Safari/537.36",viewport:{width:960,height:600},deviceScaleFactor:2,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Nokia Lumia 520":{userAgent:"Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 520)",viewport:{width:320,height:533},deviceScaleFactor:1.5,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Nokia Lumia 520 landscape":{userAgent:"Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 520)",viewport:{width:533,height:320},deviceScaleFactor:1.5,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Nokia N9":{userAgent:"Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13",viewport:{width:480,height:854},deviceScaleFactor:1,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"Nokia N9 landscape":{userAgent:"Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13",viewport:{width:854,height:480},deviceScaleFactor:1,isMobile:true,hasTouch:true,defaultBrowserType:"webkit"},"Pixel 2":{userAgent:"Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:411,height:731},deviceScaleFactor:2.625,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Pixel 2 landscape":{userAgent:"Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:731,height:411},deviceScaleFactor:2.625,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Pixel 2 XL":{userAgent:"Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:411,height:823},deviceScaleFactor:3.5,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Pixel 2 XL landscape":{userAgent:"Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:823,height:411},deviceScaleFactor:3.5,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Pixel 3":{userAgent:"Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PQ1A.181105.017.A1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:393,height:786},deviceScaleFactor:2.75,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Pixel 3 landscape":{userAgent:"Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PQ1A.181105.017.A1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:786,height:393},deviceScaleFactor:2.75,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Pixel 4":{userAgent:"Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:353,height:745},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Pixel 4 landscape":{userAgent:"Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:745,height:353},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Pixel 4a (5G)":{userAgent:"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",screen:{width:412,height:892},viewport:{width:412,height:765},deviceScaleFactor:2.63,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Pixel 4a (5G) landscape":{userAgent:"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",screen:{height:892,width:412},viewport:{width:840,height:312},deviceScaleFactor:2.63,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Pixel 5":{userAgent:"Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",screen:{width:393,height:851},viewport:{width:393,height:727},deviceScaleFactor:2.75,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Pixel 5 landscape":{userAgent:"Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",screen:{width:851,height:393},viewport:{width:802,height:293},deviceScaleFactor:2.75,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Moto G4":{userAgent:"Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:360,height:640},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Moto G4 landscape":{userAgent:"Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Mobile Safari/537.36",viewport:{width:640,height:360},deviceScaleFactor:3,isMobile:true,hasTouch:true,defaultBrowserType:"chromium"},"Desktop Chrome HiDPI":{userAgent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Safari/537.36",screen:{width:1792,height:1120},viewport:{width:1280,height:720},deviceScaleFactor:2,isMobile:false,hasTouch:false,defaultBrowserType:"chromium"},"Desktop Edge HiDPI":{userAgent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Safari/537.36 Edg/97.0.4666.0",screen:{width:1792,height:1120},viewport:{width:1280,height:720},deviceScaleFactor:2,isMobile:false,hasTouch:false,defaultBrowserType:"chromium"},"Desktop Firefox HiDPI":{userAgent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0 Gecko/20100101 Firefox/93.0",screen:{width:1792,height:1120},viewport:{width:1280,height:720},deviceScaleFactor:2,isMobile:false,hasTouch:false,defaultBrowserType:"firefox"},"Desktop Safari":{userAgent:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15",screen:{width:1792,height:1120},viewport:{width:1280,height:720},deviceScaleFactor:2,isMobile:false,hasTouch:false,defaultBrowserType:"webkit"},"Desktop Chrome":{userAgent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Safari/537.36",screen:{width:1920,height:1080},viewport:{width:1280,height:720},deviceScaleFactor:1,isMobile:false,hasTouch:false,defaultBrowserType:"chromium"},"Desktop Edge":{userAgent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4666.0 Safari/537.36 Edg/97.0.4666.0",screen:{width:1920,height:1080},viewport:{width:1280,height:720},deviceScaleFactor:1,isMobile:false,hasTouch:false,defaultBrowserType:"chromium"},"Desktop Firefox":{userAgent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0 Gecko/20100101 Firefox/93.0",screen:{width:1920,height:1080},viewport:{width:1280,height:720},deviceScaleFactor:1,isMobile:false,hasTouch:false,defaultBrowserType:"firefox"}};function rl(e){if(!e)return;let t=Ar[e];if(t)return t.deviceName=e,t}function nl(e){let{body:t,documentElement:o,defaultView:r}=e;if(!t||!o)return null;let n=Math.max(t.scrollWidth,t.offsetWidth,t.clientWidth,o.scrollWidth,o.offsetWidth,o.clientWidth),i=Math.max(t.scrollHeight,t.offsetHeight,t.clientHeight,o.scrollHeight,o.offsetHeight,o.clientHeight);if(r){let s=r.scrollX,a=r.scrollY;for(let l of Array.from(e.querySelectorAll("*"))){if(!(l instanceof r.HTMLElement)&&!(l instanceof r.SVGElement))continue;let c=r.getComputedStyle(l);if(c.display==="none"||c.visibility==="hidden")continue;let p=l.getBoundingClientRect();n=Math.max(n,Math.ceil(p.right+s)),i=Math.max(i,Math.ceil(p.bottom+a));}for(let l of Array.from(e.querySelectorAll("iframe")))try{let c=l.contentDocument;if(!c)continue;let p=nl(c);if(!p)continue;let u=l.getBoundingClientRect();n=Math.max(n,Math.ceil(u.left+s+p.width)),i=Math.max(i,Math.ceil(u.top+a+p.height));}catch{}}return n<=0||i<=0?null:{width:n,height:i}}function il(e){let t=e.contentDocument;return t?nl(t):null}function sl(e){return e.contentDocument||e.contentWindow?.document}function al(e){let t=sl(e);if(!t)return {scrollLeft:0,scrollTop:0};let o=t.defaultView,r=(o?o.pageYOffset:0)||t.documentElement.scrollTop;return {scrollLeft:(o?o.pageXOffset:0)||t.documentElement.scrollLeft,scrollTop:r}}function At(e){return e.error?e.error:e.diffSize&&e.imageDimensions?`Expected image to be the same size as the snapshot (${e.imageDimensions.baselineWidth}x${e.imageDimensions.baselineHeight}), but was different (${e.imageDimensions.receivedWidth}x${e.imageDimensions.receivedHeight}).`:e.diffRatio?`Expected image to match or be a close match to snapshot but was ${e.diffRatio*100}% different from snapshot (${e.diffPixelCount} differing pixels).`:""}function Tt(...e){for(let t=0;t<e.length;t++){let o=e[t];if(o&&Object.keys(o).length>0)return o}}var ll=e=>{if(e)return Tt(e.globals)};var cl=e=>{if(e)return Tt(e.args,e.props)};function Tr(e,t){if(e===t)return true;let o=e.split(".").slice(0,-2).join(".");return t.split(".").slice(0,-1).join(".").endsWith(o)}function ul(e){try{return !(!e||ol(e)==null)}catch{return false}}function Jd(e){switch(e){case "success":return M__namespace.default.createElement(icons.PassedIcon,null);case "error":return M__namespace.default.createElement(icons.FailedIcon,null);case "warning":return M__namespace.default.createElement(icons.AlertIcon,null);case "info":return M__namespace.default.createElement(icons.AlertIcon,null);default:return null}}function Qd(e,t){switch(e){case "success":return t?"#4ade80":"#166534";case "error":return t?"#f87171":"#991b1b";case "warning":return t?"#fbbf24":"#92400e";case "info":return t?"#60a5fa":"#1e40af";default:return "currentColor"}}var si=e=>M__namespace.default.createElement("div",{...e,style:{fontSize:"11px",lineHeight:"14px",opacity:.9,overflowWrap:"anywhere",whiteSpace:"normal",wordBreak:"break-word",...e.style}}),Zd=({title:e,description:t,variant:o="info",onClose:r,style:n,closeButton:i=true,children:s,...a})=>{let l=document.body.classList.contains("light"),c=l?"rgba(32, 34, 37, 0.98)":"rgb(238, 243, 246)",p=l?"rgba(255, 255, 255, 0.08)":"rgba(206, 197, 197, 0.315)",u=l?"rgba(255, 255, 255, 0.88)":"rgba(34, 36, 37, 0.75)",f=l?"rgba(255, 255, 255, 0.96)":"rgb(115, 130, 140)",d=l?"rgba(255, 255, 255, 0.72)":"rgba(34, 36, 37, 0.6)",m={alignItems:"center",background:c,border:`1px solid ${p}`,borderRadius:"5px",boxShadow:l?"0 14px 32px rgba(0, 0, 0, 0.35)":"0 10px 28px rgba(15, 23, 42, 0.12)",color:u,display:"flex",fontFamily:"system-ui, -apple-system, sans-serif",gap:"12px",maxWidth:"450px",overflow:"hidden",padding:"12px 16px",position:"relative",zIndex:dom.getHighestZindex()+1,...n},h=Jd(o),S=Qd(o,l),b=typeof t=="string"?t.split(`
|
|
9
|
-
`).map((x,O)=>M__namespace.default.createElement("span",{key:O},x,M__namespace.default.createElement("br",null))):t;return M__namespace.default.createElement("div",{style:m,...a},h&&M__namespace.default.createElement("div",{style:{color:S}},h),M__namespace.default.createElement("div",{style:{flex:1,minWidth:0}},e&&M__namespace.default.createElement("div",{style:{color:f,fontSize:"12px",fontWeight:700,lineHeight:"16px",marginBottom:"2px"}},e),t&&M__namespace.default.createElement(si,null,b),s),r&&i&&M__namespace.default.createElement(components.IconButton,{onClick:r,"aria-label":"Dismiss notification",title:"Dismiss notification",style:{color:d}},M__namespace.default.createElement(icons.CrossIcon,null)))},Pr=Zd;var fl=1e4,Pt=new Map;function om(e){let t=Pt.get(e);return t?(sonner.toast.dismiss(t.currentId),t.counter+=1,t.currentId=`${e}_${t.counter}`):Pt.set(e,{counter:0,currentId:`${e}_0`}),Pt.get(e)?.currentId??e}function rm(e){let t=o=>{let r=Pt.get(e);r&&r.currentId===o&&Pt.delete(e);};return {onAutoClose:o=>{t(o.id);},onDismiss:o=>{t(o.id);}}}var v=function(e){let{duration:t,id:o,dismissible:r=true,position:n,...i}=e,s,a;if(o!=null)s=o;else {let l=`toast_${hash.simpleHash(`${e.title??""}::${e.description??""}`)}`;s=om(l),a=rm(l);}return sonner.toast.custom(l=>M__namespace.default.createElement(Pr,{...i,onClose:r?()=>sonner.toast.dismiss(l):void 0}),{duration:t??fl,id:s,position:n,...a}),s};function Cr(e,t,o){return v(typeof t=="string"?{...o,description:t,variant:e}:{...o,...t,variant:e})}v.error=(e,t)=>Cr("error",e,t);v.success=(e,t)=>Cr("success",e,t);v.warning=(e,t)=>Cr("warning",e,t);v.info=(e,t)=>Cr("info",e,t);v.custom=(e,t)=>{let{duration:o,...r}=t||{};return sonner.toast.custom(n=>typeof e=="function"?e({dismiss:()=>sonner.toast.dismiss(n),id:n}):e,{duration:o??fl,...r})};v.dismiss=e=>{sonner.toast.dismiss(e);};v.dismissAll=()=>{sonner.toast.dismiss(),Pt.clear();};function nm(e,t){let o=po(e,t.name);if(!o||!o.required||!o.required.length)return {};if(!t.args)return {required:o.required};if(Object.keys(t.args).length===0)return {required:o.required};let n=[];for(let i=0;i<o.required.length;i++){let s=o.required[i];t.args[s]||n.push(s);}return {required:n.length===0?void 0:n}}function dl(e,t){let o=t.reduce((r,n)=>{let i=nm(e,n);return i.required&&r.push({id:n.id,name:n.name,...i}),r},[]);return o.length===0?void 0:o}var um=y(()=>({generateButton:{marginTop:8},input:{width:"100%"},paper:{width:e=>e.width}}),{name:"InputDialog"});var hl=({value:e="",onSave:t,requiredMessage:o="Field is required",required:r,onCancel:n,onClose:i,width:s="30%",open:a,children:l,label:c,onGenerateContent:p,...u})=>{let[f,d]=M.useState(e),[m,h]=M.useState(false),[S,b]=M.useState(false),x=um({width:s}),O=!!p,w=M.useCallback(z=>{d(z.target.value);},[]),I=M.useCallback(()=>{i(true),n&&n();},[n,i]),C=M.useCallback(()=>{if(r&&!f){v.error(o),h(true);return}t(f.trim());},[f,t,r,o]),L=M.useCallback(async()=>{if(p){b(true);try{let z=await p();z!==void 0&&d(z);}finally{b(false);}}},[p]);return M.useEffect(()=>{d(e);},[e,a]),M__namespace.default.createElement(Qn,{onPositiveAction:C,onNegativeAction:I,onClose:I,open:a,...u},M__namespace.default.createElement(material.TextField,{className:x.input,multiline:true,rows:3,value:f,onChange:w,variant:"outlined",autoFocus:true,label:c,error:m,required:true,slotProps:{inputLabel:{shrink:true}}}),O&&M__namespace.default.createElement("div",{style:{justifyContent:"end",display:"flex"}},M__namespace.default.createElement(material.Button,{className:x.generateButton,size:"small",onClick:L,disabled:S,startIcon:S?M__namespace.default.createElement(material.CircularProgress,{size:14}):void 0},S?"Generating...":"Generate Title")),l)};hl.displayName="InputDialog";var gl=li__default.default.create(e=>{let t=li.useModal(),o=M.useCallback(()=>{t.hide();},[t]),r=M.useCallback(n=>{e.onSave(n),t.hide();},[t,e]);return M__namespace.default.createElement(hl,{...e,open:t.visible,onClose:o,onSave:r})});gl.displayName="InputDialogModal";var Sl="input-dialog",ml=false,yl=()=>{ml||(li__default.default.register(Sl,gl),ml=true);},It={show:e=>li__default.default.show(Sl,e)};var gm=y(e=>{let{background:t}=e.palette,o=hm__default.default(t.paper);return o.setAlpha(.5),{root:{backgroundColor:o.toString()}}},{name:"Loader"}),E=M.memo(e=>{let{open:t,progressSize:o,position:r}=e,n=gm();return t?M__namespace.default.createElement(material.Backdrop,{className:`${n.root} loader-backdrop`,style:{position:r,zIndex:dom.getHighestZindex()},open:t},t&&M__namespace.default.createElement(material.CircularProgress,{size:o})):null});E.displayName="Loader";var vm=typeof window<"u"?window.location.origin:"",A=reactQuery.createTRPCReact();function bl(){return A.createClient({links:[client.httpBatchLink({maxURLLength:2083,url:`${vm}/__storybook_playwright/trpc`})]})}function wl(){let[e,t]=M__namespace.default.useState(),o=M__namespace.default.useRef(false),{data:r}=A.theme.getThemeData.useQuery();return M__namespace.default.useEffect(()=>(!o.current&&r&&t(r),()=>{o.current=true;}),[r]),{setTheme:t,theme:e}}var fo=M.memo(e=>{let{children:t}=e,{theme:o}=managerApi.useStorybookState(),{theme:r}=wl(),n=styles.createTheme({components:{MuiPaper:{styleOverrides:{root:{variants:[{props:{variant:"elevation"},style:{backgroundImage:"none"}}]}}}},palette:{action:{active:o.barTextColor},background:{default:o.appBg,paper:o.appContentBg},divider:o.appBorderColor,primary:{main:o.colorSecondary},secondary:{main:o.colorPrimary},text:{primary:o.barTextColor},mode:o.base==="dark"?"dark":"light"},typography:{fontFamily:o.fontBase}},r||{});return M__namespace.default.createElement(to,{theme:n},M__namespace.default.createElement(styles.ThemeProvider,{theme:n},t))});fo.displayName="ThemeProvider";var Pm=y(e=>{let{divider:t,text:o}=e.palette;return {root:{"& button":{alignItems:"center",display:"flex",marginTop:0},"& svg":{width:18},"&.border-bottom":{borderBottom:`1px solid ${t}`},"&.border-left":{borderLeft:`1px solid ${t}`},"&.border-right":{borderRight:`1px solid ${t}`},"&.border-top":{borderTop:`1px solid ${t}`},padding:2},toolbar:{"& > .left":{"& > *":{marginLeft:8}},"& > .left,& > .right":{alignItems:"center",display:"flex",minWidth:0},"& > .right":{"& > *":{marginRight:6}},alignItems:"center",color:o.primary,display:"flex",justifyContent:"space-between"}}},{name:"Toolbar"}),nt=e=>{let{children:t,border:o}=e,r=Pm();return M__namespace.default.createElement("div",{className:Mr__default.default(r.root)+(o&&o.map(n=>` border-${n}`).join(" "))},M__namespace.default.createElement("div",{className:r.toolbar},t))};nt.displayName="Toolbar";var ui=M.memo(({message:e="Are you sure you want to continue?",title:t="Confirmation",onConfirm:o,onCancel:r,onClose:n,...i})=>{let s=M.useCallback(()=>{r&&r(),n&&n({},"backdropClick");},[r,n]);return M__namespace.default.createElement(Zn,{onPositiveAction:o,onNegativeAction:s,positiveActionName:"yes",negativeActionName:"no",onClose:s,title:t,...i},M__namespace.default.createElement(material.Typography,null,e))});ui.displayName="ConfirmationPopover";var Em=D(km__default.default),mo=({className:e,setNodeRef:t,...o})=>M__namespace.default.createElement("span",{className:Mr__default.default("drag-handle",e),ref:t,style:{cursor:"move",display:"inline-flex"},...o},M__namespace.default.createElement(Em,{style:{cursor:"move",fontSize:25,marginLeft:-12,marginRight:2}}));mo.displayName="DragHandle";var Nm=y(e=>{let{palette:{divider:t,text:o,primary:r,secondary:n}}=e;return {column:{alignItems:"center",display:"flex"},handle:{fontSize:24},header:{"& svg":{"&:hover":{color:r.main},fontSize:18},alignItems:"center",display:"flex",justifyContent:"space-between",minHeight:"48px",padding:"5px 8px",paddingLeft:16},icons:{display:"flex",gap:2},root:{border:`1px solid ${t}`,color:o.primary,display:"flex",flexDirection:"column",fontSize:14,marginBottom:4,position:"relative"},secondaryColor:{"& svg":{color:n.main},color:n.main},selected:{border:`1px solid ${hm__default.default(r.main).setAlpha(.6)}`},selectedSecondary:{border:`1px solid ${n.main}`}}},{name:"ListItemWrapper"}),it=e=>{let{title:t,draggable:o,children:r,selected:n,className:i,onClick:s,tooltip:a,icons:l,secondaryColor:c,dragHandleProps:p,...u}=e,f=Nm(),d=M.useCallback(m=>{s&&m.target.classList.contains("clickable")&&s(m);},[s]);return M__namespace.default.createElement("div",{className:Mr__default.default(f.root,{[f.selected]:n&&!c},{[f.selectedSecondary]:n&&c},i),...u,title:a,onClick:d},M__namespace.default.createElement("div",{className:Mr__default.default("clickable",f.header,"list-item-header")},M__namespace.default.createElement("div",{className:Mr__default.default(f.column,"clickable",{[f.secondaryColor]:c})},o&&M__namespace.default.createElement(mo,{...p}),material.capitalize(t)),M__namespace.default.createElement("div",{className:Mr__default.default("clickable",f.column,f.icons,{[f.secondaryColor]:c})},l)),r&&M__namespace.default.createElement("div",{className:"list-item-content"},r))};it.displayName="ListItemWrapper";var Hm=y(e=>({root:{"& *:focus":{outline:"none"},color:e.palette.text.primary,height:"calc(100% - 50px)",padding:4,width:"100%"}}),{name:"ListWrapper"});var Dt=e=>{let{children:t,...o}=e,r=Hm(),n=M.useRef(null);return M.useEffect(()=>{!n.current||!n.current.parentElement||(n.current.parentElement.style.height="100%");},[]),M__namespace.default.createElement("div",{ref:n,...o,className:Mr__default.default(r.root,e.className)},M__namespace.default.createElement(components.ScrollArea,{vertical:true},t))},fi=e=>M__namespace.default.createElement(Dt,{...e});fi.displayName="ListWrapperSortableContainer";Dt.displayName="ListWrapper";var Ce=({onDelete:e,IconButton:t=components.IconButton,onClose:o,disabled:r})=>{let[n,i]=M__namespace.default.useState(null),s=M.useCallback(c=>{c.stopPropagation(),i(c.currentTarget);},[]),a=M.useCallback(()=>{o&&o(),i(null);},[o]),l=M.useCallback(()=>{a(),e();},[a,e]);return M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(t,{disabled:r,onClick:s,title:"Delete Item",size:"small"},M__namespace.default.createElement(icons.TrashIcon,null)),n&&M__namespace.default.createElement(ui,{onClose:a,onConfirm:l,anchorEl:n}))};Ce.displayName="DeleteConfirmationButton";var ho=e=>{let{onClick:t,checked:o,onChange:r}=e,n=M__namespace.default.useCallback(()=>{t(),r&&r(!o);},[t,r,o]);return M__namespace.default.createElement(components.IconButton,{className:"check-box",onClick:n,size:"small",active:o},o?M__namespace.default.createElement(icons.FormIcon,null):M__namespace.default.createElement(icons.StopAltHollowIcon,null))};ho.displayName="CheckBox";var Ym=y(()=>({root:{display:"flex",justifyContent:"space-between"}}),{name:"DeviceListItem"}),kr=M.memo(M.forwardRef((e,t)=>{let{viewportSize:o,name:r,value:n,onClick:i,selected:s}=e,a=Ym(),l=M.useCallback(()=>{i(n);},[n,i]);return M__namespace.default.createElement(material.MenuItem,{selected:s,ref:t,onClick:l,className:a.root},M__namespace.default.createElement("div",null,r),M__namespace.default.createElement("div",null,o&&`${o.width}x${o.height}`))}));kr.displayName="DeviceListItem";var hi=e=>{let{onDeviceSelect:t,selectedDevice:o}=e,[r,n]=M__namespace.default.useState(null),i=c=>{n(c.currentTarget);},s=()=>{n(null);},a=M.useMemo(()=>Object.keys(Ar),[]),l=M.useCallback(c=>{n(null),t(c);},[t]);return M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(material.Button,{onClick:i},"Load From Device Descriptors"),M__namespace.default.createElement(material.Menu,{id:"simple-menu",anchorEl:r,keepMounted:true,open:!!r,onClose:s},M__namespace.default.createElement(kr,{name:"None",value:void 0,onClick:l,selected:false}),a.map(c=>M__namespace.default.createElement(kr,{name:c,key:c,viewportSize:o&&o.viewport,onClick:l,selected:!!(o&&o.deviceName===c),value:c}))))};hi.displayName="DeviceList";function T(){let[e,t]=M.useState(),r=managerApi.useStorybookApi().getCurrentStoryData();return M.useEffect(()=>{if(!r||!r.importPath)return;let n=r,i=n.importPath,s=i.substring(i.lastIndexOf("/")+1);t({fileName:s,filePath:i,id:n.id,name:n.name,parent:n.parent});},[r]),e}var sh={actionSchema:{},currentActionSets:[],expandedActions:{},initialised:true,stories:{}},go=zustand.create()(middleware.devtools(()=>({...sh}),{name:"action-set-store"}));function Cl(e){return e.map(t=>{let{id:o,...r}=t;return r})}function Ml(e,t){if(e.length!==t.length)return false;let o=Cl(e),r=Cl(t);return ah__default.default(o,r)}var j=()=>go.getState();function R(e){return go.setState(e)}function Ot(e,t,o){return {stories:{...e.stories,[t]:{...e.stories[t],actionSets:o}}}}function at(e,t,o,r){let n=e.stories[t]?.actionSets||[];return {stories:{...e.stories,[t]:{...e.stories[t],actionSets:n.map(i=>i.id!==o?i:r(i))}}}}function Dl(e,t,o){let r=e.stories[t]?.actionSets||[];return {...Ot(e,t,r.filter(i=>i.id!==o)),orgEditingActionSet:void 0}}function El({storyId:e,actionSets:t}){let o=j();R(Ot(o,e,t));}function Ol({storyId:e,actionSets:t}){let o=j(),r=o.stories[e]?.actionSets||[],n=t.reduce((a,l)=>{if(r.length){let c;for(let p=0;p<r.length;p++){let u=r[p];if(!a.find(f=>f.id===u.id)&&Ml(u.actions,l.actions)){c=u;break}}c?a.push(c):a.push({...l,actions:l.actions.map(p=>(p.id=nanoid.nanoid(12),p)),id:nanoid.nanoid(12),temp:true});}else a.push({...l,actions:l.actions.map(c=>(c.id=nanoid.nanoid(12),c)),id:nanoid.nanoid(12),temp:true});return a},[]),i=n.map(a=>a.id),s=Ot(o,e,[...n,...r.filter(a=>!i.includes(a.id))]);R({...s,currentActionSets:i});}function lt({storyId:e,actionSet:t,selected:o,isNew:r}){let n=j(),i=[...n.stories[e]?(n.stories[e].actionSets||[]).filter(a=>a.id!==t.id):[],t],s=Ot(n,e,i);R({...s,currentActionSets:[...n.currentActionSets?n.currentActionSets:[],t.id],orgEditingActionSet:r?{...t,isNew:true}:void 0});}function ct(){R({currentActionSets:[]});}function Er({storyId:e,actionSetId:t}){let o=j();R(Dl(o,e,t));}function Bt(e){let t=j();!t.stories[e]||!t.stories[e].actionSets||R(Ot(t,e,t.stories[e].actionSets.filter(o=>!o.temp)));}function gi({storyId:e,oldIndex:t,newIndex:o}){let r=j(),n=r.stories[e]?.actionSets||[];R(Ot(r,e,[...Il__default.default(n,t,o)]));}function Bl(e){let t=j(),o=t.currentActionSets.find(r=>r===e);R({currentActionSets:o?t.currentActionSets.filter(r=>r!==e):[...t.currentActionSets,e]});}function Or(e){let t=j(),o=t.expandedActions[e]===true;R({expandedActions:{...t.expandedActions,[e]:!o}});}function Si(){R({expandedActions:{}});}function yi(e){R({actionSchema:e});}function So(e){let t=j(),{orgEditingActionSet:o}=t;if(!o)return;let{isNew:r,...n}=o;if(r)R(Dl(t,e,o.id));else {let i=at(t,e,o.id,s=>({...s,...n}));R({...i,orgEditingActionSet:void 0});}}function Ll(e){let t=j();R({currentActionSets:[...t.currentActionSets,e.id],orgEditingActionSet:e});}function Nl({storyId:e,actionSetId:t,title:o}){let r=j();R(at(r,e,t,n=>({...n,title:o})));}function Fl({storyId:e,actionSetId:t,action:o}){let r=j();R(at(r,e,t,n=>({...n,actions:[...n.actions,o]})));}function _l({storyId:e,actionSetId:t,actionId:o,actionOptionPath:r}){let n=j();R(at(n,e,t,i=>({...i,actions:i.actions.map(s=>{if(s.id===o){let a=s.subtitleItems&&s.subtitleItems.find(l=>l===r);return {...s,subtitleItems:a&&s.subtitleItems?s.subtitleItems.filter(l=>l!==r):[...s.subtitleItems||[],r]}}return s})})));}function zl({storyId:e,actionSetId:t,oldIndex:o,newIndex:r}){let n=j();R(at(n,e,t,i=>({...i,actions:[...Il__default.default(i.actions,o,r)]})));}function Rl({storyId:e,actionSetId:t,actionId:o}){let r=j();R(at(r,e,t,n=>({...n,actions:n.actions.filter(i=>i.id!==o)})));}function vi({storyId:e,actionSetId:t,actionId:o,objPath:r,val:n}){let i=j();R(at(i,e,t,s=>({...s,actions:s.actions.map(a=>a.id===o?{...a,args:yn__namespace.set(a.args,r,n)}:a)})));}function Hl(){R({orgEditingActionSet:void 0});}function pe(){return go()}var ph={addonState:{clippingWarningDismissed:false,previewPanelEnabled:true},browserOptions:{all:{}},dragStart:false,editScreenshotState:void 0,schemaLoaded:false,screenshotOptions:{},screenshotUpdateState:{},selectorManager:{}},te=zustand.create()(middleware.devtools(middleware.persist(()=>({...ph}),{name:"__playwright_ui-store",partialize:e=>({addonState:e.addonState,browserOptions:e.browserOptions,screenshotOptions:e.screenshotOptions})}),{name:"ui-store"}));function _e(e){return te.setState(e)}function Vl(e){_e({addonState:e});}function bi(e){_e({browserOptions:e});}function Kl(e){_e({screenshotOptions:e});}function Wl(e){_e({dragStart:e});}function wi(e){_e({selectorManager:e});}function Br(e){_e({screenshotUpdateState:e});}function xi(e){_e({editScreenshotState:e});}function Ai(e){_e({schemaLoaded:e});}function Gl(){return te(e=>e.addonState)}function Ul(){return te(e=>e.browserOptions)}function Lr(){return te(e=>e.screenshotOptions)}function jl(){return te(e=>e.dragStart)}function $l(){return te(e=>e.selectorManager)}function ql(){return te(e=>e.screenshotUpdateState)}function Xl(){return te(e=>e.editScreenshotState)}function Yl(){return te(e=>e.schemaLoaded)}function Jl(e){let{mutateAsync:t,isPending:o}=A.actionSet.saveActionSet.useMutation({onError:u=>{v.error(u.message||"Unexpected error occurred");}}),r=pe(),n=T(),i=M.useCallback(u=>{if(!n)return;let f=nanoid.nanoid(10),d={id:f,name:u};Si(),Fl({action:d,actionSetId:e.id,storyId:n.id}),Or(f);},[n,e.id]);M.useEffect(()=>()=>Si(),[]);let s=M.useCallback(async()=>{let u=dl(r.actionSchema,e.actions);if(u){let f=u.map(d=>{if(!(!d.required||d.required.length===0))return `Action name: ${d.name}
|
|
9
|
+
`).map((x,O)=>M__namespace.default.createElement("span",{key:O},x,M__namespace.default.createElement("br",null))):t;return M__namespace.default.createElement("div",{style:m,...a},h&&M__namespace.default.createElement("div",{style:{color:S}},h),M__namespace.default.createElement("div",{style:{flex:1,minWidth:0}},e&&M__namespace.default.createElement("div",{style:{color:f,fontSize:"12px",fontWeight:700,lineHeight:"16px",marginBottom:"2px"}},e),t&&M__namespace.default.createElement(si,null,b),s),r&&i&&M__namespace.default.createElement(components.IconButton,{onClick:r,"aria-label":"Dismiss notification",title:"Dismiss notification",style:{color:d}},M__namespace.default.createElement(icons.CrossIcon,null)))},Pr=Zd;var fl=1e4,Pt=new Map;function om(e){let t=Pt.get(e);return t?(sonner.toast.dismiss(t.currentId),t.counter+=1,t.currentId=`${e}_${t.counter}`):Pt.set(e,{counter:0,currentId:`${e}_0`}),Pt.get(e)?.currentId??e}function rm(e){let t=o=>{let r=Pt.get(e);r&&r.currentId===o&&Pt.delete(e);};return {onAutoClose:o=>{t(o.id);},onDismiss:o=>{t(o.id);}}}var v=function(e){let{duration:t,id:o,dismissible:r=true,position:n,...i}=e,s,a;if(o!=null)s=o;else {let l=`toast_${hash.simpleHash(`${e.title??""}::${e.description??""}`)}`;s=om(l),a=rm(l);}return sonner.toast.custom(l=>M__namespace.default.createElement(Pr,{...i,onClose:r?()=>sonner.toast.dismiss(l):void 0}),{duration:t??fl,id:s,position:n,...a}),s};function Cr(e,t,o){return v(typeof t=="string"?{...o,description:t,variant:e}:{...o,...t,variant:e})}v.error=(e,t)=>Cr("error",e,t);v.success=(e,t)=>Cr("success",e,t);v.warning=(e,t)=>Cr("warning",e,t);v.info=(e,t)=>Cr("info",e,t);v.custom=(e,t)=>{let{duration:o,...r}=t||{};return sonner.toast.custom(n=>typeof e=="function"?e({dismiss:()=>sonner.toast.dismiss(n),id:n}):e,{duration:o??fl,...r})};v.dismiss=e=>{sonner.toast.dismiss(e);};v.dismissAll=()=>{sonner.toast.dismiss(),Pt.clear();};function nm(e,t){let o=po(e,t.name);if(!o||!o.required||!o.required.length)return {};if(!t.args)return {required:o.required};if(Object.keys(t.args).length===0)return {required:o.required};let n=[];for(let i=0;i<o.required.length;i++){let s=o.required[i];t.args[s]||n.push(s);}return {required:n.length===0?void 0:n}}function dl(e,t){let o=t.reduce((r,n)=>{let i=nm(e,n);return i.required&&r.push({id:n.id,name:n.name,...i}),r},[]);return o.length===0?void 0:o}var um=y(()=>({generateButton:{marginTop:8},input:{width:"100%"},paper:{width:e=>e.width}}),{name:"InputDialog"});var hl=({value:e="",onSave:t,requiredMessage:o="Field is required",required:r,onCancel:n,onClose:i,width:s="30%",open:a,children:l,label:c,onGenerateContent:p,...u})=>{let[f,d]=M.useState(e),[m,h]=M.useState(false),[S,b]=M.useState(false),x=um({width:s}),O=!!p,w=M.useCallback(z=>{d(z.target.value);},[]),I=M.useCallback(()=>{i(true),n&&n();},[n,i]),C=M.useCallback(()=>{if(r&&!f){v.error(o),h(true);return}t(f.trim());},[f,t,r,o]),L=M.useCallback(async()=>{if(p){b(true);try{let z=await p();z!==void 0&&d(z);}finally{b(false);}}},[p]);return M.useEffect(()=>{d(e);},[e,a]),M__namespace.default.createElement(Qn,{onPositiveAction:C,onNegativeAction:I,onClose:I,open:a,...u},M__namespace.default.createElement(material.TextField,{className:x.input,multiline:true,rows:3,value:f,onChange:w,variant:"outlined",autoFocus:true,label:c,error:m,required:true,slotProps:{inputLabel:{shrink:true}}}),O&&M__namespace.default.createElement("div",{style:{justifyContent:"end",display:"flex"}},M__namespace.default.createElement(material.Button,{className:x.generateButton,size:"small",onClick:L,disabled:S,startIcon:S?M__namespace.default.createElement(material.CircularProgress,{size:14}):void 0},S?"Generating...":"Generate Title")),l)};hl.displayName="InputDialog";var gl=li__default.default.create(e=>{let t=li.useModal(),o=M.useCallback(()=>{t.hide();},[t]),r=M.useCallback(n=>{e.onSave(n),t.hide();},[t,e]);return M__namespace.default.createElement(hl,{...e,open:t.visible,onClose:o,onSave:r})});gl.displayName="InputDialogModal";var Sl="input-dialog",ml=false,yl=()=>{ml||(li__default.default.register(Sl,gl),ml=true);},It={show:e=>li__default.default.show(Sl,e)};var gm=y(e=>{let{background:t}=e.palette,o=hm__default.default(t.paper);return o.setAlpha(.5),{root:{backgroundColor:o.toString()}}},{name:"Loader"}),E=M.memo(e=>{let{open:t,progressSize:o,position:r="absolute"}=e,n=gm();return t?M__namespace.default.createElement(material.Backdrop,{className:`${n.root} loader-backdrop`,style:{position:r,zIndex:dom.getHighestZindex()},open:t},t&&M__namespace.default.createElement(material.CircularProgress,{size:o})):null});E.displayName="Loader";var vm=typeof window<"u"?window.location.origin:"",A=reactQuery.createTRPCReact();function bl(){return A.createClient({links:[client.httpBatchLink({maxURLLength:2083,url:`${vm}/__storybook_playwright/trpc`})]})}function wl(){let[e,t]=M__namespace.default.useState(),o=M__namespace.default.useRef(false),{data:r}=A.theme.getThemeData.useQuery();return M__namespace.default.useEffect(()=>(!o.current&&r&&t(r),()=>{o.current=true;}),[r]),{setTheme:t,theme:e}}var fo=M.memo(e=>{let{children:t}=e,{theme:o}=managerApi.useStorybookState(),{theme:r}=wl(),n=styles.createTheme({components:{MuiPaper:{styleOverrides:{root:{variants:[{props:{variant:"elevation"},style:{backgroundImage:"none"}}]}}}},palette:{action:{active:o.barTextColor},background:{default:o.appBg,paper:o.appContentBg},divider:o.appBorderColor,primary:{main:o.colorSecondary},secondary:{main:o.colorPrimary},text:{primary:o.barTextColor},mode:o.base==="dark"?"dark":"light"},typography:{fontFamily:o.fontBase}},r||{});return M__namespace.default.createElement(to,{theme:n},M__namespace.default.createElement(styles.ThemeProvider,{theme:n},t))});fo.displayName="ThemeProvider";var Pm=y(e=>{let{divider:t,text:o}=e.palette;return {root:{"& button":{alignItems:"center",display:"flex",marginTop:0},"& svg":{width:18},"&.border-bottom":{borderBottom:`1px solid ${t}`},"&.border-left":{borderLeft:`1px solid ${t}`},"&.border-right":{borderRight:`1px solid ${t}`},"&.border-top":{borderTop:`1px solid ${t}`},padding:2},toolbar:{"& > .left":{"& > *":{marginLeft:8}},"& > .left,& > .right":{alignItems:"center",display:"flex",minWidth:0},"& > .right":{"& > *":{marginRight:6}},alignItems:"center",color:o.primary,display:"flex",justifyContent:"space-between"}}},{name:"Toolbar"}),nt=e=>{let{children:t,border:o}=e,r=Pm();return M__namespace.default.createElement("div",{className:Mr__default.default(r.root)+(o&&o.map(n=>` border-${n}`).join(" "))},M__namespace.default.createElement("div",{className:r.toolbar},t))};nt.displayName="Toolbar";var ui=M.memo(({message:e="Are you sure you want to continue?",title:t="Confirmation",onConfirm:o,onCancel:r,onClose:n,...i})=>{let s=M.useCallback(()=>{r&&r(),n&&n({},"backdropClick");},[r,n]);return M__namespace.default.createElement(Zn,{onPositiveAction:o,onNegativeAction:s,positiveActionName:"yes",negativeActionName:"no",onClose:s,title:t,...i},M__namespace.default.createElement(material.Typography,null,e))});ui.displayName="ConfirmationPopover";var Em=D(km__default.default),mo=({className:e,setNodeRef:t,...o})=>M__namespace.default.createElement("span",{className:Mr__default.default("drag-handle",e),ref:t,style:{cursor:"move",display:"inline-flex"},...o},M__namespace.default.createElement(Em,{style:{cursor:"move",fontSize:25,marginLeft:-12,marginRight:2}}));mo.displayName="DragHandle";var Nm=y(e=>{let{palette:{divider:t,text:o,primary:r,secondary:n}}=e;return {column:{alignItems:"center",display:"flex"},handle:{fontSize:24},header:{"& svg":{"&:hover":{color:r.main},fontSize:18},alignItems:"center",display:"flex",justifyContent:"space-between",minHeight:"48px",padding:"5px 8px",paddingLeft:16},icons:{display:"flex",gap:2},root:{border:`1px solid ${t}`,color:o.primary,display:"flex",flexDirection:"column",fontSize:14,marginBottom:4,position:"relative"},secondaryColor:{"& svg":{color:n.main},color:n.main},selected:{border:`1px solid ${hm__default.default(r.main).setAlpha(.6)}`},selectedSecondary:{border:`1px solid ${n.main}`}}},{name:"ListItemWrapper"}),it=e=>{let{title:t,draggable:o,children:r,selected:n,className:i,onClick:s,tooltip:a,icons:l,secondaryColor:c,dragHandleProps:p,...u}=e,f=Nm(),d=M.useCallback(m=>{s&&m.target.classList.contains("clickable")&&s(m);},[s]);return M__namespace.default.createElement("div",{className:Mr__default.default(f.root,{[f.selected]:n&&!c},{[f.selectedSecondary]:n&&c},i),...u,title:a,onClick:d},M__namespace.default.createElement("div",{className:Mr__default.default("clickable",f.header,"list-item-header")},M__namespace.default.createElement("div",{className:Mr__default.default(f.column,"clickable",{[f.secondaryColor]:c})},o&&M__namespace.default.createElement(mo,{...p}),material.capitalize(t)),M__namespace.default.createElement("div",{className:Mr__default.default("clickable",f.column,f.icons,{[f.secondaryColor]:c})},l)),r&&M__namespace.default.createElement("div",{className:"list-item-content"},r))};it.displayName="ListItemWrapper";var Hm=y(e=>({root:{"& *:focus":{outline:"none"},color:e.palette.text.primary,height:"calc(100% - 50px)",padding:4,width:"100%"}}),{name:"ListWrapper"});var Dt=e=>{let{children:t,...o}=e,r=Hm(),n=M.useRef(null);return M.useEffect(()=>{!n.current||!n.current.parentElement||(n.current.parentElement.style.height="100%");},[]),M__namespace.default.createElement("div",{ref:n,...o,className:Mr__default.default(r.root,e.className)},M__namespace.default.createElement(components.ScrollArea,{vertical:true},t))},fi=e=>M__namespace.default.createElement(Dt,{...e});fi.displayName="ListWrapperSortableContainer";Dt.displayName="ListWrapper";var Ce=({onDelete:e,IconButton:t=components.IconButton,onClose:o,disabled:r})=>{let[n,i]=M__namespace.default.useState(null),s=M.useCallback(c=>{c.stopPropagation(),i(c.currentTarget);},[]),a=M.useCallback(()=>{o&&o(),i(null);},[o]),l=M.useCallback(()=>{a(),e();},[a,e]);return M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(t,{disabled:r,onClick:s,title:"Delete Item",size:"small"},M__namespace.default.createElement(icons.TrashIcon,null)),n&&M__namespace.default.createElement(ui,{onClose:a,onConfirm:l,anchorEl:n}))};Ce.displayName="DeleteConfirmationButton";var ho=e=>{let{onClick:t,checked:o,onChange:r}=e,n=M__namespace.default.useCallback(()=>{t(),r&&r(!o);},[t,r,o]);return M__namespace.default.createElement(components.IconButton,{className:"check-box",onClick:n,size:"small",active:o},o?M__namespace.default.createElement(icons.FormIcon,null):M__namespace.default.createElement(icons.StopAltHollowIcon,null))};ho.displayName="CheckBox";var Ym=y(()=>({root:{display:"flex",justifyContent:"space-between"}}),{name:"DeviceListItem"}),kr=M.memo(M.forwardRef((e,t)=>{let{viewportSize:o,name:r,value:n,onClick:i,selected:s}=e,a=Ym(),l=M.useCallback(()=>{i(n);},[n,i]);return M__namespace.default.createElement(material.MenuItem,{selected:s,ref:t,onClick:l,className:a.root},M__namespace.default.createElement("div",null,r),M__namespace.default.createElement("div",null,o&&`${o.width}x${o.height}`))}));kr.displayName="DeviceListItem";var hi=e=>{let{onDeviceSelect:t,selectedDevice:o}=e,[r,n]=M__namespace.default.useState(null),i=c=>{n(c.currentTarget);},s=()=>{n(null);},a=M.useMemo(()=>Object.keys(Ar),[]),l=M.useCallback(c=>{n(null),t(c);},[t]);return M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(material.Button,{onClick:i},"Load From Device Descriptors"),M__namespace.default.createElement(material.Menu,{id:"simple-menu",anchorEl:r,keepMounted:true,open:!!r,onClose:s},M__namespace.default.createElement(kr,{name:"None",value:void 0,onClick:l,selected:false}),a.map(c=>M__namespace.default.createElement(kr,{name:c,key:c,viewportSize:o&&o.viewport,onClick:l,selected:!!(o&&o.deviceName===c),value:c}))))};hi.displayName="DeviceList";function T(){let[e,t]=M.useState(),r=managerApi.useStorybookApi().getCurrentStoryData();return M.useEffect(()=>{if(!r||!r.importPath)return;let n=r,i=n.importPath,s=i.substring(i.lastIndexOf("/")+1);t({fileName:s,filePath:i,id:n.id,name:n.name,parent:n.parent});},[r]),e}var sh={actionSchema:{},currentActionSets:[],expandedActions:{},initialised:true,stories:{}},go=zustand.create()(middleware.devtools(()=>({...sh}),{name:"action-set-store"}));function Cl(e){return e.map(t=>{let{id:o,...r}=t;return r})}function Ml(e,t){if(e.length!==t.length)return false;let o=Cl(e),r=Cl(t);return ah__default.default(o,r)}var j=()=>go.getState();function R(e){return go.setState(e)}function Ot(e,t,o){return {stories:{...e.stories,[t]:{...e.stories[t],actionSets:o}}}}function at(e,t,o,r){let n=e.stories[t]?.actionSets||[];return {stories:{...e.stories,[t]:{...e.stories[t],actionSets:n.map(i=>i.id!==o?i:r(i))}}}}function Dl(e,t,o){let r=e.stories[t]?.actionSets||[];return {...Ot(e,t,r.filter(i=>i.id!==o)),orgEditingActionSet:void 0}}function El({storyId:e,actionSets:t}){let o=j();R(Ot(o,e,t));}function Ol({storyId:e,actionSets:t}){let o=j(),r=o.stories[e]?.actionSets||[],n=t.reduce((a,l)=>{if(r.length){let c;for(let p=0;p<r.length;p++){let u=r[p];if(!a.find(f=>f.id===u.id)&&Ml(u.actions,l.actions)){c=u;break}}c?a.push(c):a.push({...l,actions:l.actions.map(p=>(p.id=nanoid.nanoid(12),p)),id:nanoid.nanoid(12),temp:true});}else a.push({...l,actions:l.actions.map(c=>(c.id=nanoid.nanoid(12),c)),id:nanoid.nanoid(12),temp:true});return a},[]),i=n.map(a=>a.id),s=Ot(o,e,[...n,...r.filter(a=>!i.includes(a.id))]);R({...s,currentActionSets:i});}function lt({storyId:e,actionSet:t,selected:o,isNew:r}){let n=j(),i=[...n.stories[e]?(n.stories[e].actionSets||[]).filter(a=>a.id!==t.id):[],t],s=Ot(n,e,i);R({...s,currentActionSets:[...n.currentActionSets?n.currentActionSets:[],t.id],orgEditingActionSet:r?{...t,isNew:true}:void 0});}function ct(){R({currentActionSets:[]});}function Er({storyId:e,actionSetId:t}){let o=j();R(Dl(o,e,t));}function Bt(e){let t=j();!t.stories[e]||!t.stories[e].actionSets||R(Ot(t,e,t.stories[e].actionSets.filter(o=>!o.temp)));}function gi({storyId:e,oldIndex:t,newIndex:o}){let r=j(),n=r.stories[e]?.actionSets||[];R(Ot(r,e,[...Il__default.default(n,t,o)]));}function Bl(e){let t=j(),o=t.currentActionSets.find(r=>r===e);R({currentActionSets:o?t.currentActionSets.filter(r=>r!==e):[...t.currentActionSets,e]});}function Or(e){let t=j(),o=t.expandedActions[e]===true;R({expandedActions:{...t.expandedActions,[e]:!o}});}function Si(){R({expandedActions:{}});}function yi(e){R({actionSchema:e});}function So(e){let t=j(),{orgEditingActionSet:o}=t;if(!o)return;let{isNew:r,...n}=o;if(r)R(Dl(t,e,o.id));else {let i=at(t,e,o.id,s=>({...s,...n}));R({...i,orgEditingActionSet:void 0});}}function Ll(e){let t=j();R({currentActionSets:[...t.currentActionSets,e.id],orgEditingActionSet:e});}function Nl({storyId:e,actionSetId:t,title:o}){let r=j();R(at(r,e,t,n=>({...n,title:o})));}function Fl({storyId:e,actionSetId:t,action:o}){let r=j();R(at(r,e,t,n=>({...n,actions:[...n.actions,o]})));}function _l({storyId:e,actionSetId:t,actionId:o,actionOptionPath:r}){let n=j();R(at(n,e,t,i=>({...i,actions:i.actions.map(s=>{if(s.id===o){let a=s.subtitleItems&&s.subtitleItems.find(l=>l===r);return {...s,subtitleItems:a&&s.subtitleItems?s.subtitleItems.filter(l=>l!==r):[...s.subtitleItems||[],r]}}return s})})));}function zl({storyId:e,actionSetId:t,oldIndex:o,newIndex:r}){let n=j();R(at(n,e,t,i=>({...i,actions:[...Il__default.default(i.actions,o,r)]})));}function Rl({storyId:e,actionSetId:t,actionId:o}){let r=j();R(at(r,e,t,n=>({...n,actions:n.actions.filter(i=>i.id!==o)})));}function vi({storyId:e,actionSetId:t,actionId:o,objPath:r,val:n}){let i=j();R(at(i,e,t,s=>({...s,actions:s.actions.map(a=>a.id===o?{...a,args:yn__namespace.set(a.args,r,n)}:a)})));}function Hl(){R({orgEditingActionSet:void 0});}function pe(){return go()}var ph={addonState:{clippingWarningDismissed:false,previewPanelEnabled:true},browserOptions:{all:{}},dragStart:false,editScreenshotState:void 0,schemaLoaded:false,screenshotOptions:{},screenshotUpdateState:{},selectorManager:{}},te=zustand.create()(middleware.devtools(middleware.persist(()=>({...ph}),{name:"__playwright_ui-store",partialize:e=>({addonState:e.addonState,browserOptions:e.browserOptions,screenshotOptions:e.screenshotOptions})}),{name:"ui-store"}));function _e(e){return te.setState(e)}function Vl(e){_e({addonState:e});}function bi(e){_e({browserOptions:e});}function Kl(e){_e({screenshotOptions:e});}function Wl(e){_e({dragStart:e});}function wi(e){_e({selectorManager:e});}function Br(e){_e({screenshotUpdateState:e});}function xi(e){_e({editScreenshotState:e});}function Ai(e){_e({schemaLoaded:e});}function Gl(){return te(e=>e.addonState)}function Ul(){return te(e=>e.browserOptions)}function Lr(){return te(e=>e.screenshotOptions)}function jl(){return te(e=>e.dragStart)}function $l(){return te(e=>e.selectorManager)}function ql(){return te(e=>e.screenshotUpdateState)}function Xl(){return te(e=>e.editScreenshotState)}function Yl(){return te(e=>e.schemaLoaded)}function Jl(e){let{mutateAsync:t,isPending:o}=A.actionSet.saveActionSet.useMutation({onError:u=>{v.error(u.message||"Unexpected error occurred");}}),r=pe(),n=T(),i=M.useCallback(u=>{if(!n)return;let f=nanoid.nanoid(10),d={id:f,name:u};Si(),Fl({action:d,actionSetId:e.id,storyId:n.id}),Or(f);},[n,e.id]);M.useEffect(()=>()=>Si(),[]);let s=M.useCallback(async()=>{let u=dl(r.actionSchema,e.actions);if(u){let f=u.map(d=>{if(!(!d.required||d.required.length===0))return `Action name: ${d.name}
|
|
10
10
|
Required: ${d.required.join(",")}`}).filter(Boolean).join(`
|
|
11
11
|
|
|
12
12
|
`);if(f){v.error(f,{closeButton:true,duration:6e4,id:"action-set-editor-validation"});return}}if(!e.temp){if(!n)return;try{await t({actionSet:e,filePath:n.filePath,storyId:n.id});}catch{return}}Hl();},[e,t,r.actionSchema,n]),a=M.useCallback(u=>{!n||!r.orgEditingActionSet||Nl({actionSetId:r.orgEditingActionSet.id,storyId:n.id,title:u});},[n,r.orgEditingActionSet]),l=M.useCallback(()=>{n&&So(n.id);},[n]),c=e!==void 0,p=n&&n.id;return M__namespace.default.useEffect(()=>()=>{c&&p&&l();},[l,c,p]),{cancelEditActionSet:l,handleAddAction:i,handleDescriptionChange:a,handleSave:s,inProgress:o,state:r}}function Ql(e){let{mutateAsync:t,isPending:o}=A.actionSet.saveActionSet.useMutation({onError:n=>{v.error(n.message||"Unexpected error occurred");}});return {copyActionSet:M.useCallback(async n=>{if(!e)return;let i=JSON.parse(JSON.stringify(n));i.id=nanoid.nanoid(12);try{await t({actionSet:i,filePath:e.filePath,storyId:e.id}),lt({actionSet:i,isNew:!1,selected:!0,storyId:e.id});}catch{}},[e,t]),inProgress:o}}function ze(e){let t=pe();return {currentActions:M.useMemo(()=>{if(!t.initialised)return [];let r=t.stories[e];return r?.actionSets?r.actionSets.filter(n=>t.currentActionSets.includes(n.id)):[]},[t.currentActionSets,t.initialised,t.stories,e]),state:t}}function Zl(){let e=managerApi.useStorybookState(),t=pe(),[o,r]=M.useState([]);return M.useEffect(()=>{if(!t.stories||!t.stories[e.storyId]){r([]);return}let n=t.stories[e.storyId].actionSets||[];r(n);},[t.stories,e.storyId]),{currentActionSets:t.currentActionSets,state:t,storyActionSets:o}}function Fr(e,t){let[o,r]=M.useState(),n=pe();return M.useEffect(()=>{let i=e?n.stories?.[e]:void 0;if(!e||!i||!i.actionSets||!i.actionSets.length||!n.orgEditingActionSet){r(void 0);return}let s=n.orgEditingActionSet;if(!s){r(void 0);return}let a=i.actionSets.find(c=>c.id===s.id);if(!a){r(void 0);return}let l=a.actions.find(c=>c.id===t);r(l);},[t,n,e]),o}var yo={};function ec(){let{mutateAsync:e,isPending:t}=A.actionSet.getActionSet.useMutation(),{id:o,filePath:r}=T()||{};return M.useEffect(()=>{!r||!o||t||yo[r]&&yo[r][o]||e({filePath:r,storyId:o}).then(n=>{yo[r]||(yo[r]={}),yo[r][o]=true,n&&El({actionSets:n,storyId:o});}).catch(n=>{let i=n instanceof Error?n.message:"Failed to load action sets";v.error(i,{duration:1/0,id:`action-set-list:${i}`});});},[r,t,e,o]),{loading:t}}function Lt(){let e=Yl(),{data:t,isLoading:o,error:r,refetch:n}=A.schema.getActionsSchema.useQuery(void 0,{enabled:!e});M.useEffect(()=>{r&&v.error(r.message||"Unexpected error occurred");},[r]);let i=M.useCallback(async()=>{let s=await n();s.data&&(yi(s.data),Ai(true));},[n]);return M.useEffect(()=>{t&&(yi(t),Ai(true));},[t]),M.useEffect(()=>{o||e||i();},[o,i,e]),{loaded:e,loading:o}}function Nt(e,t){let o=ql(),[r,n]=M__namespace.default.useState(false),i=M__namespace.default.useCallback(()=>{Br({inProgress:true,reqBy:e,target:t});},[e,t]),s=M__namespace.default.useCallback(()=>{Br({}),n(false);},[]);return M__namespace.default.useEffect(()=>{o&&o.inProgress&&r&&Br({...o,inProgress:false});},[r,o]),{handleClose:s,runDiffTest:i,setIsLoadingFinish:n,updateInf:o}}var Mh={imageDiffResults:[],pauseDeleteImageDiffResult:false,screenshots:[]},Ft=zustand.create()(middleware.devtools(()=>({...Mh}),{name:"screenshot-store"}));var Re=()=>Ft.getState();function fe(e){return Ft.setState(e)}function tc(e){let t=Re(),o=t.screenshots?[...t.screenshots,e]:[e];fe({screenshots:[...o]});}function oc(e){let t=Re();fe({imageDiffResults:t.imageDiffResults?t.imageDiffResults.filter(o=>o.screenshotId!==e):[],screenshots:t.screenshots.filter(o=>o.id!==e)});}function Pi({oldIndex:e,newIndex:t}){let o=Re();fe({screenshots:[...Il__default.default(o.screenshots,e,t).map((r,n)=>(r.index=n,r))]});}function rc(){fe({screenshots:[]});}function zr(e){fe({screenshots:e});}function _t(e){fe({imageDiffResults:e});}function Rr(e){let t=Re();fe({imageDiffResults:[...t.imageDiffResults.filter(o=>o.screenshotId!==e.screenshotId),e]});}function nc(e){let t=Re();fe({imageDiffResults:t.imageDiffResults.map(o=>o.screenshotId!==e.screenshotId?o:{...o,...e})});}function vo(e){fe({pauseDeleteImageDiffResult:e});}function Hr(e){let t=Re();t.pauseDeleteImageDiffResult||fe({imageDiffResults:t.imageDiffResults.filter(o=>o.screenshotId!==e)});}function ic(){let e=Re();fe({imageDiffResults:e.imageDiffResults.filter(t=>!t.pass)});}function sc(e){let t=Re();fe({imageDiffResults:t.imageDiffResults.filter(o=>o.screenshotId!==e),screenshots:t.screenshots.filter(o=>o.id!==e)});}function ac(){return Ft(e=>e.imageDiffResults)}function He(){return Ft()}function lc(){let{mutateAsync:e,isPending:t}=A.screenshot.deleteStoryScreenshots.useMutation({onError:n=>{v.error(n.message||"Unexpected error occurred");},onSuccess:()=>{v.success("Story screenshots deleted successfully.");}}),o=T(),r=M.useCallback(async()=>{if(o)try{await e({filePath:o.filePath,storyId:o.id}),rc();}catch{}},[o,e]);return {deleteInProgress:t,deleteStoryScreenshots:r}}function zt(){let e=T(),{mutateAsync:t,isPending:o}=A.screenshot.testScreenshots.useMutation({onError:n=>{let i=n.message||"Unexpected error occurred";v.error(i);}}),r=M.useCallback(async n=>{if(e)try{let i=await t({filePath:e.filePath,requestId:nanoid.nanoid(),requestType:n,storyId:e.id});return n==="file"||n==="story"?i.forEach(s=>{Rr(s);}):_t(i),i}catch{return}},[t,e]);return {imageDiffTestInProgress:o,storyData:e,testStoryScreenShots:r}}function cc(){let e=M.useRef(),t=T(),{mutateAsync:o,isPending:r}=A.screenshot.getStoryScreenshots.useMutation({onError:i=>{v.error(i.message||"Unexpected error occurred");}}),n=M.useCallback(async()=>{if(t)try{let i=await o({filePath:t.filePath,storyId:t.id});e.current=t.id,zr(i||[]);}catch{}},[o,t]);return M.useEffect(()=>{r||!t||e.current&&e.current===t.id||n();},[n,r,t]),{error:void 0,loadScreenShots:n,screenshotLoaderInProgress:r,storyData:t}}function Vr(){return {dragStart:jl(),setDragStart:Wl}}function de(){return {addonState:Gl(),setAddonState:Vl}}var Wr=["chromium","firefox","webkit"];function Gr(e){let{addonState:t,setAddonState:o}=de(),[r,n]=M.useState([]),[i]=M.useState(Wr),s=M.useCallback(u=>!(!t||!t.disabledBrowser||!t.disabledBrowser[e]||!t.disabledBrowser[e][u]),[t,e]),a=M.useCallback((u,f,d)=>{t.disabledBrowser||(t.disabledBrowser={}),o({...t,disabledBrowser:{...t.disabledBrowser,[f]:{...t.disabledBrowser[f],[u]:d}}});},[t,o]);M.useEffect(()=>{let u=te.subscribe((f,d)=>{(!object.deepEqual(f.browserOptions.all,d.browserOptions.all)||!object.deepEqual(f.screenshotOptions,d.screenshotOptions))&&n(Wr),Wr.forEach(m=>{object.deepEqual(f.browserOptions[m],d.browserOptions[m])||n(h=>h.includes(m)?h:[...h,m]);});});return ()=>{u();}},[i]),M.useEffect(()=>{let u=managerApi.addons.getChannel(),f=()=>{let d=Wr.filter(m=>!s(m));n(m=>m.length===d.length&&d.every(h=>m.includes(h))?m:d);};return u.on(coreEvents.STORY_RENDERED,f),()=>{u.off(coreEvents.STORY_RENDERED,f);}},[s]);let l=M.useCallback(u=>{let f=!s(u);if(a(u,e,f),f){n(d=>d.filter(m=>m!==u));return}n(d=>d.includes(u)?d:[...d,u]);},[e,s,a]),c=M.useCallback(u=>{n(f=>f.filter(d=>d!==u));},[]);return {activeBrowsers:M.useMemo(()=>i.filter(u=>!s(u)),[i,s]),browserTypes:i,isDisabled:s,refreshingBrowsers:r,clearBrowserRefresh:c,setBrowserState:a,toggleBrowser:l,refreshBrowsers:n}}function G(e){let t=Ul(),o=M.useCallback((s,a)=>{bi({...t,[s]:rl(a)});},[t]),r=M.useCallback((s,a)=>{bi({...t,[s]:a});},[t]),n=M.useCallback(s=>({...t.all,...t[s]}),[t]),i=M.useMemo(()=>e?t&&t[e]&&Object.keys(t[e]).length>0:false,[t,e]);return {browserOptions:t,getBrowserOptions:n,hasOption:i,setBrowserDeviceOptions:o,setBrowserOptions:r}}function $(){return {screenshotOptions:Lr(),setScreenshotOptions:Kl}}function mc(){let{setBrowserOptions:e,browserOptions:t}=G(),{setScreenshotOptions:o,screenshotOptions:r}=$(),n=managerApi.useStorybookApi(),i=T(),s=M.useCallback(l=>{i&&(!l.actionSets||!l.actionSets.length||Ol({actionSets:l.actionSets,storyId:i.id}));},[i]),a=M.useCallback((l,c=false)=>{if(!i)return;n.emit(coreEvents.RESET_STORY_ARGS,{storyId:i?.id});let p=cl(l);p&&Object.keys(p).length&&n.emit(coreEvents.UPDATE_STORY_ARGS,{storyId:i?.id,updatedArgs:p});let u=ll(l);u&&Object.keys(u).length&&n.emit(coreEvents.UPDATE_GLOBALS,{globals:u}),s(l),(l.browserOptions||c)&&e("all",l.browserOptions),(l.screenshotOptions||c)&&o(l.screenshotOptions);},[n,s,e,o,i]);return {browserOptions:t,loadSetting:a,screenshotOptions:r}}function Ve(){let e=Xl(),t=T(),{setAddonState:o,addonState:r}=de(),{setBrowserState:n}=Gr("dialog"),{loadSetting:i,screenshotOptions:s,browserOptions:a}=mc(),l=M.useRef(false),c=managerApi.useStorybookApi(),p=M.useCallback(()=>{t?.id&&Bt(t.id),ct(),c.emit(coreEvents.RESET_STORY_ARGS,{storyId:t?.id}),e&&i({browserOptions:e.currentBrowserOptions,browserType:e.screenshotData.browserType,id:e.screenshotData.id,screenshotOptions:e.currentScreenshotOptions,title:e.screenshotData.title},true),l.current||xi(void 0);},[c,e,i,t]),u=M.useCallback(d=>{t&&(p(),xi({currentBrowserOptions:a.all,currentScreenshotOptions:s,screenshotData:d,storyId:t.id}),i(d),n(d.browserType,"main",false),r.previewPanelEnabled||o({...r,previewPanelEnabled:true}));},[r,a.all,p,i,s,o,n,t]),f=M.useCallback(d=>e?e.screenshotData.browserType===d:false,[e]);return M.useEffect(()=>()=>{l.current=true;},[]),M.useEffect(()=>{if(!(!e||!t)&&e.storyId!==t.id){p();return}},[p,e,t]),{clearScreenshotEdit:p,editScreenshot:u,editScreenshotState:e,isEditing:f,loadSetting:i}}function Rt(){let[e,t]=M.useState(void 0),{mutateAsync:o,isPending:r,reset:n,data:i}=A.screenshot.testScreenshot.useMutation({onError:a=>{let l=a.message||"Unexpected error occurred";t(l),v.error(l);}}),s=M.useCallback(async a=>{t(void 0);try{let l=await o({...a,screenshotId:a.screenshotId,storyId:a.id});return Rr(l),l}catch{return}},[o]);return {inProgress:r,reset:n,result:i,testScreenshot:s,testScreenshotError:e}}var Yh=Sc__default.default.default??Sc__default.default,Me=({screenshotData:e,size:t="small",color:o,onClose:r})=>{let[n,i]=M__namespace.default.useState(null),s=M.useCallback(()=>{let{id:l,index:c,...p}=e;return p},[e]),a=M.useCallback(l=>{r&&n&&r(),i(n?null:l.currentTarget);},[n,r]);return M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(components.IconButton,{color:o,onClick:a,size:t},M__namespace.default.createElement(icons.CogIcon,null)),M__namespace.default.createElement(material.Popover,{anchorEl:n,open:!!n,onClose:a},M__namespace.default.createElement("div",null,n&&M__namespace.default.createElement(Yh,{enableClipboard:false,theme:"railscasts",src:s(),displayObjectSize:false,displayDataTypes:false,style:{fontSize:13}}))))};Me.displayName="ScreenshotInfo";function vc(){let e=T(),[t,o]=M.useState(),{mutateAsync:r,reset:n,isPending:i}=A.screenshot.deleteScreenshot.useMutation({onError:l=>{let c=l.message||"Unexpected error occurred";o(c),v.error(c);},onSuccess:()=>{v.success("Screenshot deleted successfully.");}}),s=M.useCallback(()=>{o(void 0),n();},[n]),a=M.useCallback(async l=>{if(e){o(void 0);try{await r({filePath:e.filePath,screenshotId:l,storyId:e.id}),sc(l);}catch{}}},[r,e]);return {clearError:s,deleteScreenshot:a,error:t,inProgress:i}}var Di=e=>{let{onStateChange:t,screenshot:o,onClose:r,onDelete:n}=e,{deleteScreenshot:i,inProgress:s}=vc(),a=M.useCallback(()=>{i(o.id),n();},[i,o.id]);return M.useEffect(()=>{t(s);},[s]),M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(Ce,{onClose:r,onDelete:a}))};Di.displayName="ScreenshotDelete";function Ur(e){let{mutateAsync:t,isPending:o,reset:r}=A.screenshot.updateScreenshot.useMutation({onError:s=>{v.error(s.message||"Unexpected error occurred");},onSuccess:()=>{e&&v.success(e);}}),n=M.useCallback(()=>{r();},[r]);return {updateScreenshot:M.useCallback(async s=>{if(!s.filePath||!s.screenshotId||!s.storyId)return;try{await t({base64:s.newScreenshot,filePath:s.filePath,screenshotId:s.screenshotId,storyId:s.storyId});}catch{return}let a={diffSize:false,filePath:s.filePath,index:s.index,newScreenshot:s.newScreenshot,pass:true,screenshotId:s.screenshotId,storyId:s.storyId};nc(a);},[t]),updateScreenshotClearResult:n,updateScreenshotInProgress:o}}var Ei=e=>{let{screenshot:t,onStateChange:o,imageDiffResult:r}=e,n=T(),{updateScreenshot:i,updateScreenshotInProgress:s}=Ur("Successfully updated."),{testScreenshot:a,inProgress:l,reset:c,result:p}=Rt(),u=M.useCallback(async()=>{if(r)await i(r);else {if(!n)return;await a({...n,screenshotId:t.id});}},[r,t.id,n,a,i]),f=M.useCallback(async()=>{p&&(await i(p),c());},[c,p,i]);return M.useEffect(()=>{o(l||s);},[l,o,s]),M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(components.IconButton,{onClick:u,size:"small",title:"Update screenshot"},M__namespace.default.createElement(icons.RefreshIcon,null)),p&&M__namespace.default.createElement(ut,{title:"Following screenshot will be saved, would you like to continue?",subtitle:t.title,imageDiffResult:p,onClose:c,open:true,titleActions:()=>M__namespace.default.createElement(Me,{color:"primary",size:"medium",screenshotData:t}),footerActions:()=>M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(material.Button,{onClick:c,color:"primary"},"No"),M__namespace.default.createElement(material.Button,{onClick:f,color:"primary",autoFocus:true},"Yes"))}),M__namespace.default.createElement(E,{open:s}))};Ei.displayName="ScreenshotUpdate";var c0=y(e=>({menu:{"&::before":{backgroundColor:e.palette.background.paper,bottom:0,content:'""',left:0,opacity:.9,position:"absolute",right:0,top:0},display:"none",position:"absolute",right:30,top:10},visible:{display:"block"}}),{name:"ScreenshotListItemMenu"}),Bi=M.forwardRef(({enableLoadSetting:e,openUpdateDialog:t,screenshot:o,enableImageDiff:r,enableUpdate:n,enableEditScreenshot:i,show:s,onHide:a,onRunImageDiff:l,imageDiffResult:c,onLoadSettingClick:p,onEditClick:u,isEditing:f,onDelete:d},m)=>{let[h,S]=M.useState(false),b=c0();return M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(E,{progressSize:20,position:"absolute",open:h}),M__namespace.default.createElement("div",{ref:m,className:Mr__default.default(b.menu,{[b.visible]:s})},!f&&i&&M__namespace.default.createElement(components.IconButton,{onClick:u,title:"Edit screenshot"},M__namespace.default.createElement(icons.EditIcon,null)),e&&M__namespace.default.createElement(components.IconButton,{onClick:p,title:"Load screenshot settings"},M__namespace.default.createElement(icons.OutboxIcon,null)),n&&M__namespace.default.createElement(Ei,{onStateChange:S,screenshot:o,imageDiffResult:t?void 0:c}),r&&M__namespace.default.createElement(components.IconButton,{onClick:l,title:"Run diff test"},M__namespace.default.createElement(icons.ContrastIcon,null)),M__namespace.default.createElement(Di,{onClose:a||(()=>{}),onStateChange:S,screenshot:o,onDelete:d}),M__namespace.default.createElement(Me,{onClose:a,screenshotData:o})))});Bi.displayName="ScreenshotListItemMenu";var Li=({children:e,...t})=>M__namespace.default.createElement(it,{style:{cursor:"pointer"},icons:e,...t});Li.displayName="ScreenshotListItemWrapper";function Ac(e){let{fixFunction:t}=e,o=T(),[r,n]=M__namespace.default.useState(false),[i,s]=M__namespace.default.useState(""),[a,l]=M__namespace.default.useState(void 0),{mutateAsync:c,isPending:p}=A.fixTitle.fixScreenshotFileName.useMutation({onError:h=>{let S=h.message||"Unexpected error occurred";l(S),v.error(S);}}),u=M__namespace.default.useCallback(()=>{l(void 0);},[]),f=M__namespace.default.useCallback(()=>{if(!i&&t){v.error("Enter previous name export function.");return}if(!o){v.error("Unable to find current story data.");return}l(void 0),c({...o,previousNamedExport:i}).then(()=>{n(true);}).catch(()=>{});},[o,t,i,c]),d=M__namespace.default.useCallback(()=>{document.location.reload();},[]),m=M__namespace.default.useCallback(h=>{s(h.target.value);},[]);return {clearError:u,fixFileNames:f,fixFileNamesError:a,fixFileNamesInProgress:p,functionName:i,handleFunctionNameInput:m,handleReload:d,reload:r}}function Ht(){let[e,t]=M.useState(),o=managerApi.useStorybookApi(),r=M.useRef(o);return r.current=o,M.useEffect(()=>{t(void 0);let n=managerApi.addons.getChannel(),i=a=>{if(!a||!a.args)return;let c=r.current.getCurrentStoryData()?.initialArgs||{},p=Object.keys(a.args).reduce((u,f)=>{let d=a.args[f];return d!==void 0&&!ah__default.default(d,c[f])&&(u[f]=a.args[f]),u},{});t(Object.keys(p).length>0?p:void 0);},s=()=>{t(void 0);};return n.on(coreEvents.STORY_ARGS_UPDATED,i),n.on(coreEvents.STORY_CHANGED,s),()=>{n.off(coreEvents.STORY_ARGS_UPDATED,i),n.off(coreEvents.STORY_CHANGED,s);}},[]),e}function Cc(e){let t=T(),{currentActions:o}=ze(t?.id??""),r=Ht(),n=managerApi.useStorybookApi(),{getBrowserOptions:i}=G(),s=Lr(),{data:a=false}=A.screenshot.hasScreenshotTitleGenerator.useQuery(),l=i(e),{mutateAsync:c,isPending:p}=A.screenshot.generateScreenshotTitle.useMutation({onError:f=>{v.error(f.message||"Failed to generate screenshot title");}});return {generateTitle:M.useCallback(async()=>{if(!t||e==="storybook")return;let f=n.getCurrentStoryData();try{return await c({browser:{type:e,options:l},story:{actions:o,changedArgs:r,filePath:t.filePath,id:t.id,initialArgs:f.initialArgs,argTypes:f.argTypes,parameters:f.parameters,name:f.name,title:f.title},screenshotOptions:s})}catch{return}},[n,r,l,e,o,c,s,t]),hasGenerator:a,isGenerating:p}}function Mc(){return {imageDiffResult:ac(),setImageDiffResult:_t}}function b0(e,t,o){return t==="all"?e.map(r=>r.screenshotData):t==="file"?o?e.filter(r=>r.filePath?Tr(r.filePath,o.filePath):false).map(r=>r.screenshotData):[]:o?e.filter(r=>r.storyId===o.id).map(r=>r.screenshotData):[]}function kc(e,t){let{imageDiffTestInProgress:o,testStoryScreenShots:r,storyData:n}=zt(),[i,s]=M__namespace.default.useState(false),a=M__namespace.default.useCallback(async()=>{let l=await r(e);Array.isArray(l)&&zr(b0(l,e,n).filter(c=>!!c)),t&&t(),s(true);},[r,e,n,t]);return M.useEffect(()=>{!n||i||a();},[a,i,n]),{loading:o,storyData:n}}function jr(){let[e,t]=M.useState(),o=managerApi.useStorybookApi(),r=M.useRef(o);return r.current=o,M.useEffect(()=>{t(void 0);let n=managerApi.addons.getChannel(),i=a=>{if(!a||!a.globals){t(void 0);return}let l=r.current.getCurrentStoryData(),c=a.initialGlobals||l?.initialGlobals||{},p=Object.keys(a.globals).reduce((u,f)=>{let d=a.globals?.[f];return d!==void 0&&!ah__default.default(d,c[f])&&(u[f]=d),u},{});t(Tt(p));},s=()=>{t(void 0);};return n.on(coreEvents.GLOBALS_UPDATED,i),n.on(coreEvents.STORY_CHANGED,s),()=>{n.off(coreEvents.GLOBALS_UPDATED,i),n.off(coreEvents.STORY_CHANGED,s);}},[]),e}function Oc(e){let{title:t,browserType:o}={},r=Ht(),n=jr(),{screenshotOptions:i}=$(),s=T(),{editScreenshotState:a,clearScreenshotEdit:l}=Ve(),{currentActions:c}=ze(s?.id??""),[p,u]=M.useState(void 0),{mutateAsync:f,data:d,reset:m,isPending:h}=A.screenshot.saveScreenshot.useMutation({onError:C=>{let L=C.message||"Unexpected error occurred";u(L),v.error(L);},onSettled(C,L){if(L){v.error(L.message||"Unexpected error occurred in saving screenshot");return}if(!C)return;let z=t||C.oldScreenShotTitle;if(C.added)v.success(`Screenshot ${`${o?` for '${o}'`:""}`} saved successfully.`,{duration:5e3,id:`image-diff-message:added:${o||"default"}`,onAutoClose:m,onDismiss:m});else if(C.pass){let H=`Testing existing screenshot were successful, no change has been detected.${z?`
|
|
13
13
|
Title: ${z}`:""}${o?`
|
|
14
|
-
Browser: ${o}`:""}`;v.success(H,{duration:5e3,id:`image-diff-message:pass:${H}`,onAutoClose:m,onDismiss:m});}else if(C.diffSize||C.error){let H=At(C);v.error(H,{duration:1/0,id:`image-diff-message:error:${H}`,onDismiss:m});}}}),S=M.useCallback(()=>{u(void 0);},[]),b=M.useCallback(()=>{m();},[m]),x=M.useCallback(C=>a?a.screenshotData.browserType===C:false,[a]),O=M.useCallback(()=>a&&a.screenshotData.title,[a]),w=M.useCallback(async(C,L,z,H)=>{if(!s)return new Error("Unable to find story data");if(!z)return new Error("Unable to find screenshot image data");let Se=H?{...H}:void 0,ee={actionSets:c,args:r,base64:z,browserOptions:Se,browserType:C,filePath:s.filePath,globals:n,id:nanoid.nanoid(12),props:r,screenshotOptions:i&&Object.keys(i).length?i:void 0,storyId:s.id,title:L};a&&x(C)&&(ee.updateScreenshot=a.screenshotData);let ye;S();try{ye=await f(ee);}catch{return new Error("Unexpected error occurred")}if(a&&x(C)&&(ye.added&&oc(a.screenshotData.id),l()),ye.added){ee.index=ye.index;let{base64:Te,...W}=ee;tc(W);}return ye},[c,r,n,i,s,x,a,f,l,S]),I=M.useCallback(()=>{b();},[b]);return {clearError:S,error:p,getUpdatingScreenshotTitle:O,inProgress:h,isUpdating:x,onSuccessClose:I,result:d,saveScreenShot:w}}function Fc(e,t){let o=Ht(),r=jr(),n=managerApi.useStorybookState(),{screenshotOptions:i}=$(),{currentActions:s}=ze(n.storyId),a=M.useRef(),[l,c]=M.useState(),{mutate:p,isPending:u,data:f}=A.screenshot.takeScreenshot.useMutation({onError:S=>{let b=S.message||"Unexpected error occurred";c(b),v.error(b);}}),[d,m]=M.useState(0);M.useEffect(()=>{let S=managerApi.addons.getChannel(),b=()=>m(x=>x+1);return S.on(coreEvents.STORY_RENDERED,b),()=>{S.off(coreEvents.STORY_RENDERED,b);}},[]);let h=M.useCallback(()=>{e!=="storybook"&&(c(void 0),p({actionSets:s,args:o,browserOptions:t,browserType:e,globals:r,props:o,requestId:nanoid.nanoid(),screenshotOptions:i,storyId:n.storyId}));},[e,s,o,t,r,p,i,n.storyId]);return M.useEffect(()=>{if(u||d===0)return;let S=E0__default.default({args:o,browserOptions:t,currentActions:s,globals:r,id:n.storyId,screenshotOptions:i});a.current!==S&&(a.current=S,h());},[s,h,o,t,r,n.storyId,i,u,d]),{error:l,getSnapshot:h,loading:u,screenshot:f}}function _c(){let{mutateAsync:e,isPending:t}=A.screenshot.changeScreenshotIndex.useMutation(),o=T(),r=M.useCallback(async n=>{if(o){Pi({newIndex:n.newIndex,oldIndex:n.oldIndex});try{await e({filePath:o.filePath,newIndex:n.newIndex,oldIndex:n.oldIndex,storyId:o.id});}catch{Pi({newIndex:n.oldIndex,oldIndex:n.newIndex});}}},[e,o]);return {ChangeIndexInProgress:t,changeIndex:r}}var Ni=e=>{let{storyData:t,screenShotData:o,onClose:r,open:n=true,...i}=e,{testScreenshot:s,inProgress:a,result:l}=Rt();return M.useEffect(()=>{s({...t,screenshotId:o.id});},[t,o.id,s]),M__namespace.default.createElement(M__namespace.default.Fragment,null,l?.filePath&&M__namespace.default.createElement(ut,{title:o.title,imageDiffResult:l,open:n,onClose:r,titleActions:()=>M__namespace.default.createElement(Me,{color:"primary",size:"medium",screenshotData:o}),...i}),M__namespace.default.createElement(E,{open:a}))};Ni.displayName="ScreenshotPreviewDialog";var W0=D(R0__default.default),G0=D(H0__default.default),U0=y(()=>({indicatorIcon:{height:16,position:"absolute",right:-1,top:0,zIndex:1},visible:{display:"block"}}),{name:"ScreenshotListItemMenu"});function wo({pauseDeleteImageDiffResult:e,showPreviewOnClick:t,screenshot:o,sortableId:r,imageDiffResult:n,selected:i,onClick:s,draggable:a,forceShowMenu:l,showImageDiffResultDialog:c,storyData:p,...u}){let{attributes:f,listeners:d,setActivatorNodeRef:m,setNodeRef:h,transform:S,transition:b,isDragging:x}=sortable.useSortable({disabled:!a,id:r??o.id}),O=U0(),[w,I]=M.useState(false),[C,L]=M.useState(false),z=M.useRef(0),{dragStart:H}=Vr(),[Se,ee]=M.useState(false),{inProgress:ye,testScreenshot:Te}=Rt(),W=n&&n.pass,le=M.useCallback(()=>{L(false),!e&&W&&n?.screenshotId?Hr(n.screenshotId):window.clearTimeout(z.current);},[e,W,n]);M.useEffect(()=>(!e&&n&&n.pass&&(z.current=window.setTimeout(()=>{le();},1e4)),()=>{window.clearTimeout(z.current);}),[e,le,n]);let Oe=M.useCallback(()=>{L(true);},[]),An=M.useCallback(()=>{I(true);},[]),Ho=M.useCallback(()=>{I(false);},[]),Vo=M.useCallback(async()=>{await Te({...p,screenshotId:o.id}),L(true);},[o.id,p,Te]),Qt=M.useCallback(()=>{s&&s(o),t&&ee(!Se);},[s,o,Se,t]),{editScreenshot:Ko,loadSetting:Wo,editScreenshotState:St,clearScreenshotEdit:Go}=Ve(),Uo=M.useCallback(()=>Ko(o),[Ko,o]),jo=M.useCallback(()=>{Wo(o);},[Wo,o]);return M__namespace.default.createElement("div",{ref:h,style:{opacity:x?.8:1,transform:utilities.CSS.Transform.toString(S),transition:b}},M__namespace.default.createElement(Li,{onClick:Qt,title:o.title,draggable:a,selected:i||St&&St.screenshotData.id===o.id,tooltip:o.title+(p&&` - ${p.id}`),onMouseEnter:An,onMouseLeave:Ho,dragHandleProps:a?{...f,...d,setNodeRef:m}:void 0,style:{cursor:"pointer"}},M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(E,{progressSize:20,position:"absolute",open:ye}),W&&M__namespace.default.createElement(W0,{color:"primary",onClick:le,className:O.indicatorIcon}),n&&!n.pass&&M__namespace.default.createElement(G0,{color:"secondary",onClick:Oe,className:O.indicatorIcon}),M__namespace.default.createElement(xo,{style:{height:16},browserType:o.browserType}),C&&c&&n&&M__namespace.default.createElement(zc,{result:n,onClose:le,title:o.title,titleActions:()=>M__namespace.default.createElement(Me,{color:"primary",size:"medium",screenshotData:o})}),M__namespace.default.createElement(Bi,{show:(l||w)&&!H,screenshot:o,onHide:Ho,onRunImageDiff:Vo,imageDiffResult:n,onEditClick:Uo,onLoadSettingClick:jo,isEditing:!!St,onDelete:Go,...u}),Se&&t&&M__namespace.default.createElement(Ni,{screenShotData:o,storyData:p,onClose:Qt,open:true,width:"100%",height:"100%",activeTab:W?"newScreenshot":"imageDiff"}))))}wo.displayName="ScreenshotListItem";var Ao=({children:e,items:t})=>{let{setDragStart:o}=Vr(),{changeIndex:r,ChangeIndexInProgress:n}=_c(),i=core.useSensors(core.useSensor(core.PointerSensor),core.useSensor(core.KeyboardSensor,{coordinateGetter:sortable.sortableKeyboardCoordinates})),s=M.useCallback(()=>{o(true);},[o]),a=M.useCallback(()=>{o(false);},[o]),l=M.useCallback(({active:c,over:p})=>{if(o(false),!p||c.id===p.id)return;let u=t.findIndex(d=>d===c.id),f=t.findIndex(d=>d===p.id);u<0||f<0||r({newIndex:f,oldIndex:u});},[r,t,o]);return M__namespace.default.createElement(core.DndContext,{sensors:i,collisionDetection:core.closestCenter,onDragStart:s,onDragCancel:a,onDragEnd:l},M__namespace.default.createElement(sortable.SortableContext,{items:t,strategy:sortable.verticalListSortingStrategy},M__namespace.default.createElement(fi,null,M__namespace.default.createElement(E,{open:n}),e)))};Ao.displayName="ScreenshotListSortable";var zi=({children:e})=>{let t=T(),o=He(),r=o.screenshots&&o.screenshots.length>0,n=[...o.screenshots||[]].sort((i,s)=>(i.index??0)-(s.index??0));return M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(Ao,{items:n.map(i=>i.id)},r?M__namespace.default.createElement(M__namespace.default.Fragment,null,t&&n.map((i,s)=>M__namespace.default.createElement(wo,{index:s,sortableId:i.id,openUpdateDialog:true,key:i.id,screenshot:i,storyData:t,showPreviewOnClick:true,draggable:true,enableImageDiff:true,enableUpdate:true,showImageDiffResultDialog:true,enableLoadSetting:true,enableEditScreenshot:true,pauseDeleteImageDiffResult:o.pauseDeleteImageDiffResult,imageDiffResult:o.imageDiffResults.find(a=>a.screenshotId===i.id)}))):M__namespace.default.createElement("div",{style:{marginTop:30,textAlign:"center"}},M__namespace.default.createElement("div",null,"No screenshot has been found!")),e))};zi.displayName="ScreenshotList";var Ri=e=>{let{hasScreenShot:t,title:o,onTestClick:r,onPreviewClick:n,onUpdateClick:i,onDelete:s}=e,[a,l]=M__namespace.default.useState(false);return M__namespace.default.createElement(nt,{border:["bottom"]},M__namespace.default.createElement("div",{className:"left"},M__namespace.default.createElement("div",{title:o},"Story Screenshots")),M__namespace.default.createElement("div",{className:"right"},M__namespace.default.createElement(Kt,{fixFunction:true,onClose:l,open:a}),M__namespace.default.createElement(components.IconButton,{onClick:()=>l(true),title:"Fix screenshot name"},M__namespace.default.createElement(icons.WrenchIcon,null)),t&&M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(components.IconButton,{onClick:i,title:"Update story screenshots"},M__namespace.default.createElement(icons.RefreshIcon,null)),M__namespace.default.createElement(components.IconButton,{onClick:r,title:"Run diff test for story screenshots"},M__namespace.default.createElement(icons.ContrastIcon,null)),M__namespace.default.createElement(components.IconButton,{onClick:n,title:"Display story screenshots"},M__namespace.default.createElement(icons.PhotoIcon,null)),M__namespace.default.createElement(Ce,{IconButton:components.IconButton,onDelete:s}))))};Ri.displayName="ScreenshotListToolbar";function Wt(e,t,o=false){M.useEffect(()=>{if(!o)return e&&window.addEventListener("keydown",e),t&&window.addEventListener("keyup",t),()=>{e&&window.removeEventListener("keydown",e),t&&window.removeEventListener("keyup",t);}},[o,e,t]);}var lg=y(e=>{let{palette:{divider:t}}=e;return {line:{backgroundColor:t,width:1},list:{width:"350px"},root:{display:"flex",flexDirection:"row",height:"calc(100% - 70px) !important",position:"relative",width:"100%"}}},{name:"ScreenshotListPreviewDialog"}),Hi=({screenshots:e,storyData:t,selectedItem:o,title:r,children:n,draggable:i=true,...s})=>{let[a,l]=M.useState(),c=He(),p=lg(),u=M.useCallback(async m=>{l(m);},[]),f=M.useCallback(m=>{if(!a)return;let h=e.findIndex(S=>S.id===a.id);switch(m.key){case "ArrowDown":{e[h+1]&&l(e[h+1]);break}case "ArrowUp":{e[h-1]&&l(e[h-1]);break}}},[a,e]);Wt(void 0,f),M.useEffect(()=>{if(c.imageDiffResults&&c.imageDiffResults.length&&e&&!a)if(o){let m=e.find(h=>h.id===o);m&&u(m);}else e[0]&&u(e[0]);},[a,u,e,o,c.imageDiffResults]);let d=a&&c.imageDiffResults.find(m=>m.screenshotId===a.id);return M__namespace.default.createElement(ve,{width:"100%",title:r||(a?material.capitalize(a.title):"Loading ..."),subtitle:(r&&a&&a.title)+(t&&` (${t.id})`),height:"100%",...s},M__namespace.default.createElement("div",{className:p.root},M__namespace.default.createElement("div",{className:p.list},M__namespace.default.createElement(Ao,{items:e.map(m=>m.id)},a&&e.map((m,h)=>M__namespace.default.createElement(wo,{index:h,sortableId:m.id,openUpdateDialog:false,showPreviewOnClick:false,key:m.id,screenshot:m,forceShowMenu:true,enableUpdate:true,draggable:i,storyData:t,pauseDeleteImageDiffResult:c.pauseDeleteImageDiffResult,onClick:u,selected:a.id===m.id,imageDiffResult:c.imageDiffResults.find(S=>S.screenshotId===m.id)})))),M__namespace.default.createElement("div",{className:p.line}),d&&M__namespace.default.createElement(Po,{imageDiffResult:d}),n))};Hi.displayName="ScreenshotListPreviewDialog";var qr=e=>{let{onClose:t,updating:o,target:r,onLoad:n}=e,{loading:i,storyData:s}=kc(r,n),[a,l]=M.useState(false),c=He(),{updateScreenshot:p}=Ur(),u=M.useCallback(async()=>{l(true);try{let f=c.screenshots.reduce((d,m)=>{let h=c.imageDiffResults.find(S=>S.screenshotId===m.id);if(!h)throw new Error(`Unable to find image diff result for '${m.title}' screenshot.`);return d.push(p(h)),d},[]);await Promise.all(f),v.success("Successfully updated.",{duration:1/0,id:"story-screenshot-preview:updated"});}catch(f){v.error(f.message);}l(false);},[c,p]);return M__namespace.default.useEffect(()=>(vo(true),()=>{vo(false),ic();}),[]),M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(E,{open:i||a}),!i&&M__namespace.default.createElement(Hi,{title:o?"Following screenshots will be saved, would you like to continue?":void 0,screenshots:c.screenshots,onClose:t,open:true,storyData:s||{filePath:"",id:"",name:"",parent:""},draggable:r==="story"&&!a,footerActions:o?()=>M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(material.Button,{onClick:t,color:"primary"},"No"),M__namespace.default.createElement(material.Button,{onClick:u,color:"primary",autoFocus:true},"Yes")):void 0},M__namespace.default.createElement(E,{open:a})))};qr.displayName="StoryScreenshotPreview";var Kc=M__namespace.default.memo(qr);function Vi(){let[e,t]=M.useState(false),o="screenshot-panel",{runDiffTest:r,updateInf:n}=Nt(o,"story"),{screenshotLoaderInProgress:i}=cc(),{deleteInProgress:s,deleteStoryScreenshots:a}=lc(),l=He(),{testStoryScreenShots:c,imageDiffTestInProgress:p}=zt(),u=M.useCallback(()=>{t(!e);},[e]),f=l.screenshots&&l.screenshots.length>0;M.useEffect(()=>{vo(e);},[e]);let d=M__namespace.default.useCallback(()=>{c("story");},[c]);return M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(Ri,{onUpdateClick:r,title:"Story Screenshots",onTestClick:d,onPreviewClick:u,hasScreenShot:f,onDelete:a}),M__namespace.default.createElement(zi,null,M__namespace.default.createElement(E,{open:i||p||s||n.reqBy!==void 0})),e&&M__namespace.default.createElement(qr,{onClose:u,target:"story"}))}Vi.displayName="ScreenshotPanel";var Ki=({showPanel:e})=>{let[t,o]=M__namespace.default.useState(false),{updateInf:r,handleClose:n,setIsLoadingFinish:i}=Nt(""),s=M__namespace.default.useCallback(()=>{o(true),i(true);},[i]),a=M__namespace.default.useCallback(()=>{n(),o(false);},[n]);return M__namespace.default.createElement(Ie,null,e&&!t&&M__namespace.default.createElement(Vi,null),r.reqBy&&M__namespace.default.createElement(Kc,{onClose:a,updating:true,target:r.target??"story",onLoad:s}))};Ki.displayName="ScreenshotMain";function Wc(){let e=managerApi.useStorybookState(),[t,o]=M.useState();return M.useEffect(()=>{let r=tl(window.location.host,e.storyId),n=Object.keys(e.customQueryParams);if(n.length>0){let i=n.map(s=>{let a=e.customQueryParams[s];return `${s}=${a}`});r+=`&${i.join("&")}`;}o(r);},[e.customQueryParams,e.storyId]),t}var Tg=D(Dd__default.default),Pg=y(()=>({content:{padding:5},root:{padding:5,width:450},title:{display:"flex",fontSize:20,justifyContent:"space-between",padding:5}}),{name:"OptionPopover"}),Co=({title:e,Icon:t,children:o,width:r,active:n})=>{let[i,s]=M.useState(),a=Pg(),l=M.useCallback(p=>{s(p.target);},[]),c=M.useCallback(()=>{s(void 0);},[]);return M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(material.Popover,{open:!!i,anchorEl:i,onClose:c,style:{margin:20},anchorOrigin:{horizontal:"center",vertical:"top"},transformOrigin:{horizontal:"right",vertical:"bottom"}},M__namespace.default.createElement("div",{className:a.root,style:{width:r}},M__namespace.default.createElement("div",{className:a.title},M__namespace.default.createElement("span",null,e),M__namespace.default.createElement(material.IconButton,{size:"small",onClick:c},M__namespace.default.createElement(Tg,null))),M__namespace.default.createElement(material.Divider,null),M__namespace.default.createElement("div",null,o))),M__namespace.default.createElement(components.IconButton,{onClick:l,active:n},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:"Browser Options"},M__namespace.default.createElement(t,null))))};Co.displayName="OptionPopover";var kg=D(Cg__default.default),Mo=({browserType:e})=>{let{setBrowserOptions:t,browserOptions:o,hasOption:r,setBrowserDeviceOptions:n}=G(e),[i,s]=M.useState(false),a=M.useCallback(c=>{t(e,c);},[e,t]),l=M.useCallback(c=>{n(e,c),s(true);},[e,n]);return M.useEffect(()=>{i&&s(false);},[i]),o?M__namespace.default.createElement(Co,{title:"Browser Options",Icon:kg,active:r},!i&&M__namespace.default.createElement(Xr,{onSave:a,schemaName:"browser-options",defaultData:o&&o[e],FooterComponent:M__namespace.default.createElement(hi,{onDeviceSelect:l})})):null};Mo.displayName="BrowserOptions";var Lg=D(Eg__default.default),Ng=D(Og__default.default),Fg=D(Bg__default.default),_g=y(e=>{let{palette:t}=e;return {label:{textTransform:"uppercase"},root:{alignItems:"center",backgroundColor:t.divider,color:t.text.secondary,display:"flex",flexWrap:"nowrap",fontSize:14,height:30,justifyContent:"space-between",minHeight:"auto",paddingLeft:10,paddingRight:10,textAlign:"right"},toolbarPanels:{"& button":{alignItems:"center",display:"flex",height:30,marginLeft:6,marginTop:0},"& svg:not(.browser-loader)":{width:17},alignItems:"center",display:"flex"}}}),ji=e=>{let{browserType:t,onSave:o,showSaveButton:r,loading:n,onRefresh:i,onFullScreen:s}=e,a=_g();return M__namespace.default.createElement("div",{className:a.root},M__namespace.default.createElement("div",{className:a.toolbarPanels},M__namespace.default.createElement("label",{className:a.label},t),n&&M__namespace.default.createElement(material.CircularProgress,{classes:{svg:"browser-loader"},style:{marginLeft:10},size:15})),M__namespace.default.createElement("div",{className:a.toolbarPanels},r&&M__namespace.default.createElement(components.IconButton,{onClick:o},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:"Save screenshot"},M__namespace.default.createElement(Fg,null))),M__namespace.default.createElement(components.IconButton,{onClick:i},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:"Refresh"},M__namespace.default.createElement(Ng,null))),t!=="storybook"&&M__namespace.default.createElement(Mo,{browserType:t}),M__namespace.default.createElement(components.IconButton,{onClick:s},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:"Full screen"},M__namespace.default.createElement(Lg,null)))))};ji.displayName="ScreenShotViewToolbar";var $i=(e,t,o=.1)=>e==="dark"?styles.lighten(t,o):styles.darken(t,o);var Ug=y(e=>{let t=e.palette.mode==="light"?styles.lighten:styles.darken,{palette:o}=e,{background:r}=o;return {card:{"& .os-scrollbar":{opacity:1,visibility:"visible !important",zIndex:10},"& .os-scrollbar-track":{"& .os-scrollbar-handle":{backgroundColor:$i(o.mode,r.paper,.6)},backgroundColor:"transparent",visibility:"visible !important"},overflow:"hidden",position:"relative",width:"100%",zIndex:10,backgroundColor:t(r.default,.1)},container:{alignItems:"center",height:"100%",position:"relative",width:"100%",border:`3px solid ${o.divider}`,borderTop:0},errorContainer:{overflow:"auto"},editMode:{"& $fakeBorder":{borderColor:t(e.palette.warning.main,.5)},backgroundColor:t(e.palette.warning.main,.6)},fakeBorder:{border:`10px solid ${$i(o.mode,r.paper,.1)}`,borderTop:0,bottom:0,left:0,pointerEvents:"none",position:"absolute",right:0,top:0,zIndex:5},iframe:{width:"100%"},image:{},innerContainer:{width:"100%"}}},{name:"ScreenshotView"}),Yr=e=>{let{browserType:t,url:o,height:r,refresh:n,onRefreshEnd:i,onSave:s,onScreenshotDataChange:a}=e,{isEditing:l}=Ve(),[c,p]=M.useState(false),u=Ug(),{getBrowserOptions:f}=G(),d=f(t),{loading:m,screenshot:h,getSnapshot:S,error:b}=Fc(t,d);M.useEffect(()=>{!n||m||(S(),i?.());},[S,m,i,n]);let x=r-30,O=t==="storybook",w=!!(h&&h.base64)&&t!=="storybook",I=M.useCallback(()=>{p(!c);},[c]),C=b||h?.error,L=M.useCallback(()=>{t==="storybook"||!h?.base64||s?.(t);},[t,s,h]);return M.useEffect(()=>{if(!(!a||t==="storybook")){if(!h?.base64){a(t,void 0);return}a(t,{base64:h.base64,browserOptions:d});}},[d,t,a,h]),M__namespace.default.createElement("div",{className:Mr__default.default(u.card,{[u.editMode]:l(t)})},M__namespace.default.createElement(ji,{browserType:t,onSave:L,loading:m,onRefresh:S,showSaveButton:w,onFullScreen:I}),M__namespace.default.createElement("div",{className:u.container,style:{height:x,overflow:O?"hidden":"auto"}},t!=="storybook"?M__namespace.default.createElement("div",{className:u.innerContainer},h&&h.base64&&!C?M__namespace.default.createElement("img",{className:u.image,src:`data:image/gif;base64,${h.base64}`}):M__namespace.default.createElement(M__namespace.default.Fragment,null,C&&M__namespace.default.createElement("div",{className:u.errorContainer},M__namespace.default.createElement(ei,{message:C})))):M__namespace.default.createElement("iframe",{src:o,className:u.iframe,style:{height:x},frameBorder:"0"})),M__namespace.default.createElement(ve,{open:c,width:"100%",height:"100%",onClose:I,title:`${material.capitalize(t)} screenshot`},h&&c&&h.base64&&M__namespace.default.createElement(Io,{imgSrcString:h.base64})))};Yr.displayName="ScreenshotView";var Xg=y(e=>({overlay:{backgroundColor:"transparent",border:`1px solid ${e.palette.primary.main}`,bottom:0,cursor:"crosshair !important",left:0,position:"absolute",right:0,top:0,zIndex:100}}),{name:"SelectorOverlay"}),qi=M.forwardRef((e,t)=>{let o=Xg();return M__namespace.default.createElement("div",{...e,className:Mr__default.default(o.overlay),ref:t})});qi.displayName="IframeOverlay";var Xi=zustand.create()(middleware.devtools(e=>({clipping:false,start:()=>{e(()=>({clipping:true}));},stop:()=>{e(()=>({clipping:false}));},toggleClippingState:()=>{e(t=>({clipping:!t.clipping}));}}),{name:"clipper-store"})),Yi=()=>{let{clipping:e,stop:t}=Xi(),{addonState:o,setAddonState:r}=de(),{setBrowserOptions:n,browserOptions:i}=G(),s=o.clippingWarningDismissed??false,{setScreenshotOptions:a,screenshotOptions:l}=$(),c=M__namespace.default.useRef(null),p=qc(),u=M__namespace.default.useCallback(f=>{if(!c.current||!p)return;let d=al(p),{height:m,width:h,top:S,left:b}=f.rect,x=p.contentDocument??p.contentWindow?.document,O=x?Math.max(x.body?.scrollHeight||0,x.body?.offsetHeight||0,x.documentElement.scrollHeight,x.documentElement.offsetHeight,x.documentElement.clientHeight):p.getBoundingClientRect().height,w=p.getBoundingClientRect(),I=p.contentWindow?.innerWidth??w.width,C=p.contentWindow?.innerHeight??w.height,L=x?.documentElement?.clientWidth??w.width,z=x?.documentElement?.clientHeight??w.height,H=Math.min(w.width,L),Se=Math.min(w.height,z),ee=w.left+H,ye=w.top+Se,Te=H?I/H:1,W=Se?C/Se:1,le=Number.isFinite(Te)&&Te>0?Te:1,Oe=Number.isFinite(W)&&W>0?W:1,An=b+h,Ho=S+m,Vo=Math.max(b,w.left),Qt=Math.max(S,w.top),Ko=Math.min(An,ee),Wo=Math.min(Ho,ye),St=Math.max(0,Ko-Vo),Go=Math.max(0,Wo-Qt);if(St===0||Go===0){t();return}n("all",{...i.all||{},viewport:{height:Math.round(O),width:Math.round(I)}});let Uo={left:d.scrollLeft+(Vo-w.left)*le,top:d.scrollTop+(Qt-w.top)*Oe};a({...l,clip:{height:Math.ceil(Go*Oe),width:Math.ceil(St*le),x:Math.floor(Uo.left),y:Math.floor(Uo.top)}}),t(),s||v.custom(({dismiss:jo})=>M__namespace.default.createElement(Pr,{variant:"info",onClose:jo},M__namespace.default.createElement(si,{style:{fontSize:14}},"Clipping may differ from the Storybook preview when browser zoom is not 100%, OS display scaling (DPI) is different, fonts or line height differ, text wraps differently, the preview is resized or transformed, or scrollbar behavior differs from the Playwright viewport."),M__namespace.default.createElement("div",{style:{display:"flex",justifyContent:"flex-start",marginTop:8}},M__namespace.default.createElement(components.IconButton,{type:"button",onClick:()=>{r({...o,clippingWarningDismissed:true}),jo();}},"Do Not Show Again"))));},[o,i.all,p,s,l,n,a,r,t]);return Wt(void 0,f=>{f.code==="Escape"&&t();}),e?M__namespace.default.createElement(qi,{ref:c},M__namespace.default.createElement(Jg__default.default,{dragContainer:c.current,hitRate:100,selectByClick:true,selectFromInside:true,ratio:0,onSelectEnd:u})):null};Yi.displayName="Clipper";var Ji=()=>{let{clipping:e,toggleClippingState:t}=Xi(),o=M__namespace.default.useCallback(()=>{t();},[t]);return M__namespace.default.createElement(components.IconButton,{active:e,onClick:o},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:e?"Stop Clipping":"Start Clipping"},M__namespace.default.createElement("svg",{className:"MuiSvgIcon-root",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24",style:{height:20,transform:"rotate(180deg)",width:20,fill:"currentColor"}},M__namespace.default.createElement("path",{d:"M17 5h-2V3h2v2zm-2 16h2v-2.59L19.59 21 21 19.59 18.41 17H21v-2h-6v6zm4-12h2V7h-2v2zm0 4h2v-2h-2v2zm-8 8h2v-2h-2v2zM7 5h2V3H7v2zM3 17h2v-2H3v2zm2 4v-2H3c0 1.1.9 2 2 2zM19 3v2h2c0-1.1-.9-2-2-2zm-8 2h2V3h-2v2zM3 9h2V7H3v2zm4 12h2v-2H7v2zm-4-8h2v-2H3v2zm0-8h2V3c-1.1 0-2 .9-2 2z"}))))};Ji.displayName="ClipperButton";var Xc=e=>M__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",version:"1.1",viewBox:"2 -1 38 38",enableBackground:"new 0 0 129 129",height:22,fill:"currentColor",...e},M__namespace.createElement("path",{d:"M12 9.984l3.984 4.031h-3v6h-1.969v-6h-3zM18.984 3.984q0.844 0 1.43 0.586t0.586 1.43v12q0 0.797-0.609 1.406t-1.406 0.609h-3.984v-2.016h3.984v-9.984h-13.969v9.984h3.984v2.016h-3.984q-0.844 0-1.43-0.586t-0.586-1.43v-12q0-0.844 0.586-1.43t1.43-0.586h13.969z"}),M__namespace.createElement("path",{xmlns:"http://www.w3.org/2000/svg",d:"M0 0h24v24H0z",fill:"none"}));var Yc=e=>M__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",version:"1.1",viewBox:"-4 -2 38 38",enableBackground:"new 0 0 129 129",height:22,fill:"currentColor",...e},M__namespace.createElement("path",{d:"M8.071 13.954l-4.579-7.931c2.932-3.671 7.445-6.023 12.508-6.023 5.857 0 10.978 3.148 13.767 7.844h-13.055c-0.235-0.020-0.472-0.031-0.711-0.031-3.809 0-7.018 2.614-7.929 6.142zM21.728 10.156h9.171c0.711 1.81 1.101 3.781 1.101 5.844 0 8.776-7.066 15.9-15.818 15.998l6.544-11.334c0.921-1.324 1.462-2.932 1.462-4.664 0-2.287-0.943-4.357-2.459-5.844zM10.188 16c0-3.205 2.607-5.813 5.813-5.813s5.813 2.607 5.813 5.813c0 3.205-2.608 5.813-5.813 5.813s-5.813-2.608-5.813-5.813zM18.193 23.889l-4.581 7.934c-7.704-1.153-13.613-7.797-13.613-15.822 0-2.851 0.746-5.526 2.053-7.845l6.532 11.314c1.308 2.785 4.14 4.718 7.415 4.718 0.759 0 1.495-0.104 2.193-0.299z"}),M__namespace.createElement("path",{xmlns:"http://www.w3.org/2000/svg",d:"M0 0h24v24H0z",fill:"none"}));var Jc=e=>M__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",version:"1.1",viewBox:"-4 -2 38 38",enableBackground:"new 0 0 129 129",height:22,fill:"currentColor",...e},M__namespace.createElement("path",{d:"M31.954 10.442l-0.371 2.377c0 0-0.53-4.402-1.179-6.047-0.995-2.521-1.438-2.501-1.441-2.498 0.667 1.694 0.546 2.604 0.546 2.604s-1.181-3.219-4.303-4.243c-3.459-1.134-5.33-0.824-5.547-0.765-0.033-0-0.064-0-0.095-0 0.026 0.002 0.050 0.005 0.076 0.007-0.001 0.001-0.003 0.001-0.003 0.002 0.014 0.017 3.822 0.666 4.497 1.594 0 0-1.617 0-3.227 0.464-0.073 0.021 5.923 0.749 7.148 6.74 0 0-0.657-1.371-1.47-1.604 0.535 1.626 0.397 4.712-0.112 6.245-0.066 0.197-0.133-0.853-1.135-1.305 0.321 2.301-0.019 5.952-1.616 6.957-0.124 0.078 1.001-3.603 0.226-2.18-4.46 6.838-9.731 3.155-12.101 1.535 1.215 0.264 3.52-0.041 4.541-0.8 0.001-0.001 0.002-0.002 0.004-0.003 1.108-0.758 1.765-1.311 2.354-1.18s0.982-0.46 0.524-0.985c-0.459-0.526-1.572-1.249-3.079-0.855-1.063 0.278-2.379 1.454-4.389 0.264-1.543-0.914-1.688-1.673-1.702-2.199 0.038-0.186 0.086-0.361 0.143-0.52 0.178-0.496 0.716-0.646 1.015-0.764 0.508 0.087 0.946 0.246 1.405 0.481 0.006-0.153 0.008-0.356-0.001-0.586 0.044-0.088 0.017-0.352-0.054-0.674-0.041-0.322-0.107-0.655-0.211-0.959 0-0 0.001-0 0.001-0 0.002-0.001 0.003-0.001 0.005-0.002s0.005-0.004 0.007-0.006c0-0.001 0.001-0.001 0.001-0.002 0.003-0.004 0.005-0.008 0.006-0.015 0.032-0.144 0.376-0.423 0.804-0.722 0.383-0.268 0.834-0.553 1.19-0.774 0.314-0.195 0.554-0.34 0.605-0.378 0.019-0.015 0.042-0.032 0.068-0.051 0.005-0.004 0.009-0.007 0.014-0.011 0.003-0.002 0.006-0.005 0.009-0.007 0.169-0.135 0.421-0.389 0.474-0.924 0-0.001 0-0.002 0-0.004 0.002-0.016 0.003-0.032 0.004-0.048 0.001-0.011 0.002-0.023 0.002-0.034 0-0.009 0.001-0.018 0.001-0.027 0.001-0.021 0.002-0.043 0.002-0.065 0-0.001 0-0.002 0-0.004 0.001-0.052-0-0.106-0.003-0.163-0.002-0.032-0.004-0.060-0.009-0.086-0-0.001-0.001-0.003-0.001-0.004-0.001-0.003-0.001-0.005-0.002-0.008-0.001-0.005-0.002-0.009-0.004-0.013-0-0.001-0-0.001-0.001-0.001-0.002-0.005-0.004-0.010-0.005-0.014-0-0-0-0-0-0.001-0.055-0.128-0.26-0.177-1.108-0.191-0.001-0-0.002-0-0.002-0v0c-0.346-0.006-0.798-0.006-1.391-0.004-1.039 0.004-1.613-1.016-1.797-1.41 0.251-1.389 0.977-2.379 2.17-3.051 0.023-0.013 0.018-0.023-0.009-0.031 0.233-0.141-2.82-0.004-4.225 1.782-1.247-0.31-2.333-0.289-3.269-0.069-0.18-0.005-0.404-0.027-0.67-0.083-0.623-0.564-1.514-1.606-1.562-2.85 0 0-0.003 0.002-0.008 0.006-0.001-0.012-0.002-0.024-0.002-0.036 0 0-1.897 1.458-1.613 5.434-0.001 0.064-0.002 0.125-0.004 0.184-0.514 0.696-0.768 1.282-0.787 1.411-0.455 0.926-0.917 2.32-1.292 4.437 0 0 0.263-0.833 0.79-1.777-0.388 1.188-0.693 3.036-0.514 5.808 0 0 0.047-0.615 0.215-1.5 0.131 1.719 0.704 3.841 2.152 6.337 2.78 4.791 7.052 7.211 11.775 7.582 0.839 0.069 1.689 0.071 2.544 0.006 0.079-0.006 0.157-0.011 0.236-0.018 0.968-0.068 1.942-0.214 2.914-0.449 13.287-3.212 11.842-19.256 11.842-19.256z"}));var Zc=e=>M__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",version:"1.1",viewBox:"-4 -2 38 38",enableBackground:"new 0 0 129 129",height:22,fill:"currentColor",...e},M__namespace.createElement("path",{d:"M16 0c-8.838 0-16 7.162-16 16s7.162 16 16 16 16-7.163 16-16-7.163-16-16-16zM29.95 14.775l-0.031-0.331c0.006 0.113 0.019 0.219 0.031 0.331zM27.762 8.4l-0.225-0.338c0.075 0.113 0.15 0.225 0.225 0.338zM26.894 7.206l-0.137-0.169c0.050 0.056 0.094 0.112 0.137 0.169zM24.956 5.237l-0.169-0.138c0.063 0.050 0.113 0.094 0.169 0.138zM23.938 4.463l-0.337-0.225c0.113 0.075 0.225 0.15 0.337 0.225zM17.556 2.087l-0.337-0.031c0.113 0.006 0.225 0.019 0.337 0.031zM14.775 2.050l-0.338 0.031c0.113-0.006 0.225-0.019 0.338-0.031zM8.4 4.237l-0.338 0.225c0.113-0.075 0.225-0.15 0.338-0.225zM7.206 5.106l-0.162 0.131c0.056-0.044 0.106-0.088 0.162-0.131zM5.237 7.044l-0.138 0.169c0.050-0.056 0.094-0.112 0.138-0.169zM4.463 8.063l-0.225 0.338c0.075-0.113 0.15-0.225 0.225-0.338zM2.087 14.444l-0.031 0.338c0.006-0.113 0.019-0.225 0.031-0.338zM2.050 17.225l0.031 0.337c-0.006-0.113-0.019-0.225-0.031-0.337zM4.237 23.594l0.225 0.337c-0.075-0.106-0.15-0.219-0.225-0.337zM4.5 23.988l2.494-1.669-0.275-0.419-2.494 1.669c-1.131-1.756-1.875-3.775-2.125-5.95l1.494-0.15-0.050-0.5-1.494 0.15c-0.025-0.288-0.038-0.581-0.044-0.875h3v-0.5h-3c0.006-0.294 0.019-0.581 0.044-0.875l1.494 0.144 0.050-0.5-1.494-0.144c0.25-2.175 1-4.194 2.131-5.95l2.494 1.669 0.275-0.419-2.5-1.656c0.169-0.237 0.338-0.475 0.519-0.7l1.156 0.95 0.319-0.388-1.156-0.95c0.188-0.225 0.388-0.438 0.588-0.65l2.119 2.119 0.356-0.356-2.119-2.119c0.213-0.2 0.425-0.4 0.644-0.588l0.95 1.162 0.387-0.319-0.95-1.156c0.231-0.181 0.463-0.356 0.7-0.525l1.669 2.494 0.419-0.275-1.669-2.494c1.756-1.131 3.775-1.875 5.95-2.125l0.15 1.494 0.5-0.050-0.15-1.494c0.287-0.025 0.581-0.038 0.875-0.044v3h0.5v-3c0.294 0.006 0.581 0.019 0.875 0.044l-0.144 1.494 0.5 0.050 0.144-1.494c2.175 0.25 4.194 1 5.95 2.131l-1.669 2.494 0.419 0.275 1.669-2.494c0.238 0.169 0.475 0.338 0.7 0.519l-0.95 1.156 0.387 0.319 0.95-1.156c0.225 0.188 0.438 0.388 0.65 0.588l-0.8 0.781-10.938 7.294-7.294 10.937-0.781 0.781c-0.2-0.212-0.4-0.425-0.588-0.644l1.156-0.95-0.319-0.387-1.156 0.95c-0.181-0.225-0.35-0.462-0.519-0.7zM5.237 24.956c-0.044-0.056-0.088-0.106-0.131-0.163l0.131 0.163zM7.044 26.762l0.162 0.131c-0.056-0.044-0.106-0.087-0.162-0.131zM8.063 27.531l0.338 0.225c-0.113-0.069-0.225-0.144-0.338-0.225zM14.444 29.913l0.338 0.031c-0.113-0.006-0.225-0.019-0.338-0.031zM17.225 29.95l0.331-0.031c-0.113 0.006-0.219 0.019-0.331 0.031zM23.6 27.762l0.337-0.225c-0.113 0.075-0.225 0.15-0.337 0.225zM24.794 26.894l0.169-0.137c-0.056 0.050-0.113 0.094-0.169 0.137zM25.887 25.913l0.025-0.025c-0.006 0.006-0.019 0.019-0.025 0.025zM26.762 24.956l0.137-0.169c-0.050 0.056-0.094 0.113-0.137 0.169zM26.981 24.688l-1.156-0.95-0.319 0.387 1.156 0.95c-0.188 0.225-0.387 0.438-0.587 0.65l-2.119-2.119-0.356 0.356 2.119 2.119c-0.212 0.2-0.425 0.4-0.644 0.587l-0.95-1.163-0.387 0.319 0.95 1.156c-0.231 0.181-0.462 0.356-0.7 0.525l-1.669-2.494-0.419 0.275 1.669 2.494c-1.756 1.131-3.775 1.875-5.95 2.125l-0.15-1.494-0.5 0.050 0.15 1.494c-0.288 0.025-0.581 0.038-0.875 0.044v-3h-0.5v3c-0.294-0.006-0.581-0.019-0.875-0.044l0.144-1.494-0.5-0.050-0.144 1.494c-2.175-0.25-4.194-1-5.95-2.131l1.669-2.494-0.419-0.275-1.656 2.494c-0.237-0.169-0.475-0.337-0.7-0.519l0.95-1.156-0.388-0.319-0.95 1.156c-0.225-0.188-0.438-0.387-0.65-0.587l0.787-0.781 10.937-7.294 7.294-10.938 0.781-0.781c0.2 0.213 0.4 0.425 0.587 0.644l-1.156 0.95 0.319 0.387 1.156-0.95c0.181 0.231 0.356 0.463 0.525 0.7l-2.494 1.669 0.275 0.419 2.494-1.669c1.131 1.756 1.875 3.775 2.125 5.95l-1.494 0.15 0.050 0.5 1.494-0.15c0.025 0.287 0.038 0.581 0.044 0.875h-3v0.5h3c-0.006 0.294-0.019 0.581-0.044 0.875l-1.494-0.144-0.050 0.5 1.494 0.144c-0.25 2.175-1 4.194-2.131 5.95l-2.494-1.669-0.275 0.419 2.494 1.669c-0.163 0.225-0.337 0.456-0.519 0.688zM29.95 17.219c-0.012 0.113-0.019 0.225-0.031 0.337l0.031-0.337zM27.762 23.6c-0.075 0.113-0.15 0.225-0.225 0.337l0.225-0.337z"}),M__namespace.createElement("path",{d:"M13.517 2.221l0.585 2.942-0.49 0.098-0.585-2.942 0.49-0.098z"}),M__namespace.createElement("path",{d:"M18.489 29.78l-0.585-2.942 0.49-0.098 0.585 2.942-0.49 0.098z"}),M__namespace.createElement("path",{d:"M12.176 2.528l0.436 1.435-0.478 0.145-0.436-1.435 0.478-0.145z"}),M__namespace.createElement("path",{d:"M19.826 29.465l-0.436-1.435 0.478-0.145 0.436 1.435-0.478 0.145z"}),M__namespace.createElement("path",{d:"M10.875 2.972l1.148 2.772-0.462 0.191-1.148-2.772 0.462-0.191z"}),M__namespace.createElement("path",{d:"M21.129 29.030l-1.148-2.772 0.462-0.191 1.148 2.772-0.462 0.191z"}),M__namespace.createElement("path",{d:"M9.176 3.771l0.441-0.236 0.707 1.323-0.441 0.236-0.707-1.323z"}),M__namespace.createElement("path",{d:"M22.816 28.228l-0.441 0.236-0.707-1.323 0.441-0.236 0.707 1.323z"}),M__namespace.createElement("path",{d:"M3.769 9.182l1.323 0.707-0.236 0.441-1.323-0.707 0.236-0.441z"}),M__namespace.createElement("path",{d:"M28.226 22.819l-1.323-0.707 0.236-0.441 1.323 0.707-0.236 0.441z"}),M__namespace.createElement("path",{d:"M5.744 12.019l-2.772-1.148 0.191-0.462 2.772 1.148-0.191 0.462z"}),M__namespace.createElement("path",{d:"M26.26 19.978l2.772 1.148-0.191 0.462-2.772-1.148 0.191-0.462z"}),M__namespace.createElement("path",{d:"M2.673 11.7l1.436 0.435-0.145 0.479-1.436-0.435 0.145-0.479z"}),M__namespace.createElement("path",{d:"M29.322 20.302l-1.436-0.435 0.145-0.479 1.436 0.435-0.145 0.479z"}),M__namespace.createElement("path",{d:"M2.315 13.024l2.942 0.585-0.098 0.49-2.942-0.585 0.098-0.49z"}),M__namespace.createElement("path",{d:"M29.679 18.976l-2.942-0.585 0.098-0.49 2.942 0.585-0.098 0.49z"}),M__namespace.createElement("path",{d:"M2.218 18.486l2.942-0.585 0.098 0.49-2.942 0.585-0.098-0.49z"}),M__namespace.createElement("path",{d:"M29.776 13.513l-2.942 0.585-0.098-0.49 2.942-0.585 0.098 0.49z"}),M__namespace.createElement("path",{d:"M2.53 19.829l1.435-0.436 0.145 0.478-1.435 0.436-0.145-0.478z"}),M__namespace.createElement("path",{d:"M29.468 12.178l-1.435 0.436-0.145-0.478 1.435-0.436 0.145 0.478z"}),M__namespace.createElement("path",{d:"M3.161 21.591l-0.191-0.462 2.772-1.148 0.191 0.462-2.772 1.148z"}),M__namespace.createElement("path",{d:"M28.837 10.413l0.191 0.462-2.772 1.148-0.191-0.462 2.772-1.148z"}),M__namespace.createElement("path",{d:"M3.776 22.821l-0.236-0.441 1.323-0.707 0.236 0.441-1.323 0.707z"}),M__namespace.createElement("path",{d:"M28.233 9.181l0.236 0.441-1.323 0.707-0.236-0.441 1.323-0.707z"}),M__namespace.createElement("path",{d:"M9.621 28.464l-0.441-0.236 0.707-1.323 0.441 0.236-0.707 1.323z"}),M__namespace.createElement("path",{d:"M22.377 3.534l0.441 0.236-0.707 1.323-0.441-0.236 0.707-1.323z"}),M__namespace.createElement("path",{d:"M10.415 28.837l1.148-2.772 0.462 0.191-1.148 2.772-0.462-0.191z"}),M__namespace.createElement("path",{d:"M21.59 3.16l-1.148 2.772-0.462-0.191 1.148-2.772 0.462 0.191z"}),M__namespace.createElement("path",{d:"M12.176 29.47l-0.478-0.145 0.435-1.435 0.478 0.145-0.435 1.435z"}),M__namespace.createElement("path",{d:"M19.823 2.528l0.479 0.145-0.435 1.436-0.479-0.145 0.435-1.436z"}),M__namespace.createElement("path",{d:"M13.515 29.776l-0.49-0.098 0.585-2.942 0.49 0.098-0.585 2.942z"}),M__namespace.createElement("path",{d:"M18.485 2.218l0.49 0.098-0.585 2.942-0.49-0.098 0.585-2.942z"}),M__namespace.createElement("path",{xmlns:"http://www.w3.org/2000/svg",d:"M0 0h24v24H0z",fill:"none"}));var xo=M.memo(e=>{let{browserType:t,...o}=e;switch(t){case "chromium":return M__namespace.default.createElement(Yc,{...o});case "firefox":return M__namespace.default.createElement(Jc,{...o});case "webkit":return M__namespace.default.createElement(Zc,{...o});default:return M__namespace.default.createElement(Xc,{...o})}});xo.displayName="BrowserIcon";var ts=e=>{let{browserType:t,onClick:o,active:r}=e,n=M.useCallback(()=>{o(t);},[t,o]);return M__namespace.default.createElement(components.IconButton,{onClick:n,active:r,title:material.capitalize(t)},M__namespace.default.createElement(xo,{browserType:t}))};ts.displayName="BrowserIconButton";var fS=D(uS__default.default),os=()=>{let{setBrowserOptions:e,browserOptions:t}=G(),{setScreenshotOptions:o,screenshotOptions:r}=$(),n=M__namespace.default.useCallback(()=>{let i=Pe();if(!i)return;let s=il(i);s&&(e("all",{...t.all,viewport:{height:Math.round(s.height),width:Math.round(s.width)}}),r&&r.clip!==void 0&&o({...r,clip:void 0}));},[t,r,e,o]);return M__namespace.default.createElement(components.IconButton,{onClick:n,"aria-label":"Match browser viewport to iframe content"},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:"Match browser viewport to iframe content"},M__namespace.default.createElement(fS,null)))};os.displayName="ResizeBrowserToIframeContent";var gS=D(mS__default.default),rs=()=>{let{setBrowserOptions:e,browserOptions:t}=G(),{setScreenshotOptions:o,screenshotOptions:r}=$(),n=M__namespace.default.useCallback(()=>{let i=Pe();if(!i)return;let s=i.getBoundingClientRect();e("all",{...t.all,viewport:{height:Math.round(s.height),width:Math.round(s.width)}}),r&&r.clip!==void 0&&o({...r,clip:void 0});},[t,r,e,o]);return M__namespace.default.createElement(components.IconButton,{onClick:n,"aria-label":"Match browser viewport to preview"},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:"Match browser viewport to preview"},M__namespace.default.createElement(gS,null)))};rs.displayName="ResizeBrowserToPreview";var bS=D(yS__default.default);function ns(){let{setBrowserOptions:e}=G(),{setScreenshotOptions:t}=$(),o=M__namespace.default.useCallback(()=>{e("all",{}),t({});},[e,t]);return M__namespace.default.createElement(components.IconButton,{onClick:o},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:"Reset Settings"},M__namespace.default.createElement(bS,{style:{marginTop:4,width:"20px"}})))}ns.displayName="ResetSettings";var TS=D(wS__default.default),is=()=>{let{setScreenshotOptions:e,screenshotOptions:t}=$(),o=M.useCallback(n=>{e(n);},[e]),r=M.useMemo(()=>t&&Object.keys(t).length>0,[t]);return M__namespace.default.createElement(Co,{title:"Screenshot Options",Icon:TS,active:r},M__namespace.default.createElement(Xr,{onSave:o,schemaName:"screenshot-options",defaultData:t,excludeProps:["path"]}))};is.displayName="ScreenshotOptions";var DS=D(PS__default.default),ES=D(CS__default.default),OS=D(MS__default.default),BS=D(Bg__default.default),ss=e=>{let{browserTypes:t,toggleBrowser:o,activeBrowsers:r,onCLose:n,onRefresh:i,isVertical:s,onSave:a}=e,{setBrowserOptions:l,browserOptions:c}=G(),p=M.useCallback(()=>{let u=c.all&&c.all.cursor;l("all",{...c.all,cursor:u?void 0:true});},[c,l]);return M__namespace.default.createElement(nt,{border:s?void 0:["top"]},M__namespace.default.createElement("div",{className:"left"},t.map(u=>M__namespace.default.createElement(ts,{key:u,browserType:u,onClick:o,active:r.find(f=>f===u)!==void 0}))),M__namespace.default.createElement("div",{className:"right"},M__namespace.default.createElement(components.IconButton,{className:"cursor-button",onClick:p,active:c.all&&c.all.cursor},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:c.all&&c.all.cursor?"Hide cursor":"Show cursor"},M__namespace.default.createElement(ES,{style:{transform:"rotate(-80deg)"}}))),M__namespace.default.createElement(Ji,null),M__namespace.default.createElement(rs,null),M__namespace.default.createElement(os,null),M__namespace.default.createElement(components.IconButton,{onClick:a},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:"Save screenshots"},M__namespace.default.createElement(BS,null))),M__namespace.default.createElement(components.IconButton,{onClick:i},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:"Refresh"},M__namespace.default.createElement(OS,null))),M__namespace.default.createElement(ns,null),M__namespace.default.createElement(is,null),M__namespace.default.createElement(Mo,{browserType:"all"}),M__namespace.default.createElement(components.IconButton,{onClick:n},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:"Close panel"},M__namespace.default.createElement(DS,null)))))};ss.displayName="Toolbar";var NS=100,ru=2,FS=2,nu=(e,t)=>{let[o,r]=reactUse.useMeasure(),n=M.useMemo(()=>`calc(${NS/(e||t||1)}% - ${FS}px)`,[t,e]);return {itemHeight:M.useMemo(()=>e===1?r.height/(t||1):e===ru?r.height/ru:r.height,[t,e,r.height]),ref:o,width:n}};var iu=e=>{let[t,o]=M.useState(false),r=M.useRef({}),{generateTitle:n,hasGenerator:i}=Cc(null),{getUpdatingScreenshotTitle:s,inProgress:a,saveScreenShot:l}=Oc(),c=M.useCallback((m,h)=>{if(!h){delete r.current[m];return}r.current[m]=h;},[]),p=M.useCallback(async(m,h)=>{o(true);try{for(let S of h){let b=r.current[S];b&&await l(S,m,b.base64,b.browserOptions);}}finally{o(false);}},[l]),u=M.useCallback(m=>{if(!m.length)return;let h=m.length>1?"Screenshots Title":"Screenshot Title";It.show({onGenerateContent:i?n:void 0,onSave:S=>{p(S,m);},required:true,title:h,value:s()});},[n,s,i,p]),f=M.useCallback(()=>{u(e);},[e,u]),d=M.useCallback(m=>{u([m]);},[u]);return {isSaving:t||a,requestSaveAll:f,requestSaveOne:d,setScreenshotData:c}};var HS=y(e=>({error:{color:"red",marginTop:"10%",padding:30,textAlign:"center"},list:{display:"flex",height:"100%",position:"relative",width:"100%"},listItem:{marginBottom:2,marginLeft:1,marginRight:1},listWrap:{flexFlow:" row wrap"},preview:{boxShadow:`${e.palette.divider} 0 1px 0 0 inset`,height:"100%",overflow:"hidden",paddingTop:2,width:"100%"},root:{display:"flex",flexDirection:"column",height:"100%"},vertical:{borderLeft:`1px solid ${e.palette.divider}`}})),Eo=e=>{let{showStorybook:t,column:o,onClose:r,viewPanel:n}=e,{activeBrowsers:i,toggleBrowser:s,browserTypes:a,refreshingBrowsers:l,clearBrowserRefresh:c,refreshBrowsers:p}=Gr(n),u=HS(),f=Wc(),{itemHeight:d,ref:m,width:h}=nu(o,i.length),{isSaving:S,requestSaveAll:b,requestSaveOne:x,setScreenshotData:O}=iu(i),w=M.useCallback(()=>{p(i);},[i,p]);return M__namespace.default.createElement("div",{className:Mr__default.default(u.root,{[u.vertical]:o===1})},M__namespace.default.createElement(ss,{browserTypes:a,activeBrowsers:i,toggleBrowser:s,onCLose:r,onRefresh:w,onSave:b,isVertical:o===1}),M__namespace.default.createElement("div",{className:u.preview},i&&i.length>0&&M__namespace.default.createElement("div",{ref:m,className:Mr__default.default(u.list,{[u.listWrap]:o!==void 0})},t&&M__namespace.default.createElement("div",{className:u.listItem,style:{width:h}},M__namespace.default.createElement(Yr,{browserType:"storybook",url:f,height:d})),i.map(I=>M__namespace.default.createElement("div",{key:I,className:u.listItem,style:{width:h}},M__namespace.default.createElement(Yr,{browserType:I,height:d,refresh:l.includes(I),onSave:x,onRefreshEnd:()=>{c(I);},onScreenshotDataChange:O}))))),M__namespace.default.createElement(E,{open:S}))};Eo.displayName="ScreenshotListView";var KS=y(e=>({appBar:{backgroundColor:e.palette.divider,boxShadow:"none"},closeIconAbsolute:{position:"absolute",right:30,top:30},container:{height:"100%"},dialogPaper:{height:"100%",maxHeight:"100%",maxWidth:"100%",minHeight:"100%",minWidth:"100%",overflow:"hidden"},toolbar:{minHeight:"auto"},toolbarRight:{display:"flex",justifyContent:"flex-end",width:"100%"}})),as=e=>{let{onClose:t,open:o}=e,r=KS();return M__namespace.default.createElement(fo,null,M__namespace.default.createElement(VS__default.default,{onClose:t,"aria-labelledby":"simple-dialog-title",open:o,hideBackdrop:true,classes:{paper:r.dialogPaper}},M__namespace.default.createElement("div",{className:r.container},M__namespace.default.createElement(Eo,{showStorybook:true,column:2,onClose:t,viewPanel:"dialog"}))))};as.displayName="PreviewDialog";var US=y(()=>({alert:{padding:"0px 16px"},icon:{alignSelf:"center"},message:{flex:1},messageWrapper:{alignSelf:"center"},root:{alignSelf:"center",display:"flex",justifyContent:"space-between",width:"100%"}}),{name:"EditScreenshotAlert"}),ls=()=>{let{editScreenshotState:e,clearScreenshotEdit:t}=Ve(),o=US();return e?M__namespace.default.createElement(material.Alert,{classes:{icon:o.icon,message:o.message,root:o.alert},severity:"warning"},M__namespace.default.createElement("div",{className:o.root},M__namespace.default.createElement("div",{className:o.messageWrapper},`Editing '${e.screenshotData.title}' screenshot (${e.screenshotData.browserType}).`),M__namespace.default.createElement("div",null,M__namespace.default.createElement(material.Button,{size:"small",color:"inherit",onClick:t},"Cancel")))):null};ls.displayName="EditScreenshotAlert";function au(e,t){return e&&e.placement&&e.placement!=="auto"?e.placement==="bottom":t!=="bottom"}var De="playwright-addon",lu=`${De}/action-panel`,Ut=`${De}/screenshot-panel`,cu=`${De}/tool`,uu=`${De}/toast`,pu=`${De}/preview-panel`;var an=" (This action loaded from screenshot actions, its temporary and will be removed)";var jS="storybook-root",cs=`html>body>#${jS}`;var fu="html>body>#root",$S=8;function du(e){return typeof e.querySelector=="function"}function qS(e){if(du(e)){if(e.querySelector(fu))return fu;if(e.querySelector(cs))return cs}}function mu(e,t){if(!du(t))return e;let o=qS(t);if(!o)return e;let r=t.querySelector(o);if(!r)return e;for(let n=1;n<=$S;n+=1){let i=`html>body>div:nth-child(${n})`;if(!e.includes(i))continue;let s=t.querySelector(i);if(s&&s===r)return e.replace(i,o)}return e}var ey=y(e=>({hidden:{display:"none",pointerEvents:"none"},info:{bottom:0,color:e.palette.primary.main,fontSize:14,left:2,pointerEvents:"none",position:"absolute"},overlay:{backgroundColor:"transparent",bottom:0,cursor:"crosshair !important",left:0,position:"absolute",right:0,top:0,zIndex:100},preview:{border:`1px solid ${e.palette.primary.main}`,position:"absolute"}}),{name:"SelectorOverlay"}),ty=["id"];function yu(e){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(e):e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}function oy(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}function ry(e,t){let o=t&&t.length>0?t:ty;for(let r of o){let n=r.trim();if(!n)continue;if(n.toLowerCase()==="id"){if(e.id)return `#${yu(e.id)}`;if(!e.hasAttribute("id"))continue;return "[id]"}if(!e.hasAttribute(n))continue;let s=e.getAttribute(n);if(s==null)continue;let a=yu(n);return s===""?`[${a}]`:`[${a}="${oy(s)}"]`}return ""}var us={height:"100%",left:0,right:0,width:"100%"},ps=e=>{let{iframe:t}=e,{stopSelector:o,selectorManager:r,setSelectorData:n}=jt(),[i,s]=M.useState(),a=ey(),l=M.useRef(null),c=r.type==="id-selector",p=r.type==="selector"||c,[u,f]=M.useState({rect:us}),{elX:d,elY:m}=reactUse.useMouseHovered(l,{bound:true,whenHovered:true});return reactUse.useKey("Escape",o,void 0,[f,o]),reactUse.useThrottleFn((h,S)=>{if(t&&t.contentWindow){let b=t.contentWindow.document,x=b.elementFromPoint(h,S);if(x)if(c)f({rect:x.getBoundingClientRect(),selector:ry(x,r.selectorAttributeNames)});else {let O=mu(selectorPath.getSelectorPath(x,{minify:true}),b);x.tagName==="HTML"?f({rect:us,selector:O}):f({rect:x.getBoundingClientRect(),selector:O});}else f({...u,rect:void 0});}},150,[d,m]),M.useEffect(()=>{if(i){let h=l.current?l.current.contains(i):false;o(),n({path:h?u.selector:void 0,x:Math.round(d),y:Math.round(m)});}},[d,m,n,i,u.selector,o]),M.useEffect(()=>{let h=x=>{s(x.target);},S=document.createElement("STYLE");S.innerHTML=`html, body {
|
|
14
|
+
Browser: ${o}`:""}`;v.success(H,{duration:5e3,id:`image-diff-message:pass:${H}`,onAutoClose:m,onDismiss:m});}else if(C.diffSize||C.error){let H=At(C);v.error(H,{duration:1/0,id:`image-diff-message:error:${H}`,onDismiss:m});}}}),S=M.useCallback(()=>{u(void 0);},[]),b=M.useCallback(()=>{m();},[m]),x=M.useCallback(C=>a?a.screenshotData.browserType===C:false,[a]),O=M.useCallback(()=>a&&a.screenshotData.title,[a]),w=M.useCallback(async(C,L,z,H)=>{if(!s)return new Error("Unable to find story data");if(!z)return new Error("Unable to find screenshot image data");let Se=H?{...H}:void 0,ee={actionSets:c,args:r,base64:z,browserOptions:Se,browserType:C,filePath:s.filePath,globals:n,id:nanoid.nanoid(12),props:r,screenshotOptions:i&&Object.keys(i).length?i:void 0,storyId:s.id,title:L};a&&x(C)&&(ee.updateScreenshot=a.screenshotData);let ye;S();try{ye=await f(ee);}catch{return new Error("Unexpected error occurred")}if(a&&x(C)&&(ye.added&&oc(a.screenshotData.id),l()),ye.added){ee.index=ye.index;let{base64:Te,...W}=ee;tc(W);}return ye},[c,r,n,i,s,x,a,f,l,S]),I=M.useCallback(()=>{b();},[b]);return {clearError:S,error:p,getUpdatingScreenshotTitle:O,inProgress:h,isUpdating:x,onSuccessClose:I,result:d,saveScreenShot:w}}function Fc(e,t){let o=Ht(),r=jr(),n=managerApi.useStorybookState(),{screenshotOptions:i}=$(),{currentActions:s}=ze(n.storyId),a=M.useRef(),[l,c]=M.useState(),{mutate:p,isPending:u,data:f}=A.screenshot.takeScreenshot.useMutation({onError:S=>{let b=S.message||"Unexpected error occurred";c(b),v.error(b);}}),[d,m]=M.useState(0);M.useEffect(()=>{let S=managerApi.addons.getChannel(),b=()=>m(x=>x+1);return S.on(coreEvents.STORY_RENDERED,b),()=>{S.off(coreEvents.STORY_RENDERED,b);}},[]);let h=M.useCallback(()=>{e!=="storybook"&&(c(void 0),p({actionSets:s,args:o,browserOptions:t,browserType:e,globals:r,props:o,requestId:nanoid.nanoid(),screenshotOptions:i,storyId:n.storyId}));},[e,s,o,t,r,p,i,n.storyId]);return M.useEffect(()=>{if(u||d===0)return;let S=E0__default.default({args:o,browserOptions:t,currentActions:s,globals:r,id:n.storyId,screenshotOptions:i});a.current!==S&&(a.current=S,h());},[s,h,o,t,r,n.storyId,i,u,d]),{error:l,getSnapshot:h,loading:u,screenshot:f}}function _c(){let{mutateAsync:e,isPending:t}=A.screenshot.changeScreenshotIndex.useMutation(),o=T(),r=M.useCallback(async n=>{if(o){Pi({newIndex:n.newIndex,oldIndex:n.oldIndex});try{await e({filePath:o.filePath,newIndex:n.newIndex,oldIndex:n.oldIndex,storyId:o.id});}catch{Pi({newIndex:n.oldIndex,oldIndex:n.newIndex});}}},[e,o]);return {ChangeIndexInProgress:t,changeIndex:r}}var Ni=e=>{let{storyData:t,screenShotData:o,onClose:r,open:n=true,...i}=e,{testScreenshot:s,inProgress:a,result:l}=Rt();return M.useEffect(()=>{s({...t,screenshotId:o.id});},[t,o.id,s]),M__namespace.default.createElement(M__namespace.default.Fragment,null,l?.filePath&&M__namespace.default.createElement(ut,{title:o.title,imageDiffResult:l,open:n,onClose:r,titleActions:()=>M__namespace.default.createElement(Me,{color:"primary",size:"medium",screenshotData:o}),...i}),M__namespace.default.createElement(E,{open:a}))};Ni.displayName="ScreenshotPreviewDialog";var W0=D(R0__default.default),G0=D(H0__default.default),U0=y(()=>({indicatorIcon:{height:16,position:"absolute",right:-1,top:0,zIndex:1},visible:{display:"block"}}),{name:"ScreenshotListItemMenu"});function wo({pauseDeleteImageDiffResult:e,showPreviewOnClick:t,screenshot:o,sortableId:r,imageDiffResult:n,selected:i,onClick:s,draggable:a,forceShowMenu:l,showImageDiffResultDialog:c,storyData:p,...u}){let{attributes:f,listeners:d,setActivatorNodeRef:m,setNodeRef:h,transform:S,transition:b,isDragging:x}=sortable.useSortable({disabled:!a,id:r??o.id}),O=U0(),[w,I]=M.useState(false),[C,L]=M.useState(false),z=M.useRef(0),{dragStart:H}=Vr(),[Se,ee]=M.useState(false),{inProgress:ye,testScreenshot:Te}=Rt(),W=n&&n.pass,le=M.useCallback(()=>{L(false),!e&&W&&n?.screenshotId?Hr(n.screenshotId):window.clearTimeout(z.current);},[e,W,n]);M.useEffect(()=>(!e&&n&&n.pass&&(z.current=window.setTimeout(()=>{le();},1e4)),()=>{window.clearTimeout(z.current);}),[e,le,n]);let Oe=M.useCallback(()=>{L(true);},[]),An=M.useCallback(()=>{I(true);},[]),Ho=M.useCallback(()=>{I(false);},[]),Vo=M.useCallback(async()=>{await Te({...p,screenshotId:o.id}),L(true);},[o.id,p,Te]),Qt=M.useCallback(()=>{s&&s(o),t&&ee(!Se);},[s,o,Se,t]),{editScreenshot:Ko,loadSetting:Wo,editScreenshotState:St,clearScreenshotEdit:Go}=Ve(),Uo=M.useCallback(()=>Ko(o),[Ko,o]),jo=M.useCallback(()=>{Wo(o);},[Wo,o]);return M__namespace.default.createElement("div",{ref:h,style:{opacity:x?.8:1,transform:utilities.CSS.Transform.toString(S),transition:b}},M__namespace.default.createElement(Li,{onClick:Qt,title:o.title,draggable:a,selected:i||St&&St.screenshotData.id===o.id,tooltip:o.title+(p&&` - ${p.id}`),onMouseEnter:An,onMouseLeave:Ho,dragHandleProps:a?{...f,...d,setNodeRef:m}:void 0,style:{cursor:"pointer"}},M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(E,{progressSize:20,position:"absolute",open:ye}),W&&M__namespace.default.createElement(W0,{color:"primary",onClick:le,className:O.indicatorIcon}),n&&!n.pass&&M__namespace.default.createElement(G0,{color:"secondary",onClick:Oe,className:O.indicatorIcon}),M__namespace.default.createElement(xo,{style:{height:16},browserType:o.browserType}),C&&c&&n&&M__namespace.default.createElement(zc,{result:n,onClose:le,title:o.title,titleActions:()=>M__namespace.default.createElement(Me,{color:"primary",size:"medium",screenshotData:o})}),M__namespace.default.createElement(Bi,{show:(l||w)&&!H,screenshot:o,onHide:Ho,onRunImageDiff:Vo,imageDiffResult:n,onEditClick:Uo,onLoadSettingClick:jo,isEditing:!!St,onDelete:Go,...u}),Se&&t&&M__namespace.default.createElement(Ni,{screenShotData:o,storyData:p,onClose:Qt,open:true,width:"100%",height:"100%",activeTab:W?"newScreenshot":"imageDiff"}))))}wo.displayName="ScreenshotListItem";var Ao=({children:e,items:t})=>{let{setDragStart:o}=Vr(),{changeIndex:r,ChangeIndexInProgress:n}=_c(),i=core.useSensors(core.useSensor(core.PointerSensor),core.useSensor(core.KeyboardSensor,{coordinateGetter:sortable.sortableKeyboardCoordinates})),s=M.useCallback(()=>{o(true);},[o]),a=M.useCallback(()=>{o(false);},[o]),l=M.useCallback(({active:c,over:p})=>{if(o(false),!p||c.id===p.id)return;let u=t.findIndex(d=>d===c.id),f=t.findIndex(d=>d===p.id);u<0||f<0||r({newIndex:f,oldIndex:u});},[r,t,o]);return M__namespace.default.createElement(core.DndContext,{sensors:i,collisionDetection:core.closestCenter,onDragStart:s,onDragCancel:a,onDragEnd:l},M__namespace.default.createElement(sortable.SortableContext,{items:t,strategy:sortable.verticalListSortingStrategy},M__namespace.default.createElement(fi,null,M__namespace.default.createElement(E,{open:n}),e)))};Ao.displayName="ScreenshotListSortable";var zi=({children:e})=>{let t=T(),o=He(),r=o.screenshots&&o.screenshots.length>0,n=[...o.screenshots||[]].sort((i,s)=>(i.index??0)-(s.index??0));return M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(Ao,{items:n.map(i=>i.id)},r?M__namespace.default.createElement(M__namespace.default.Fragment,null,t&&n.map((i,s)=>M__namespace.default.createElement(wo,{index:s,sortableId:i.id,openUpdateDialog:true,key:i.id,screenshot:i,storyData:t,showPreviewOnClick:true,draggable:true,enableImageDiff:true,enableUpdate:true,showImageDiffResultDialog:true,enableLoadSetting:true,enableEditScreenshot:true,pauseDeleteImageDiffResult:o.pauseDeleteImageDiffResult,imageDiffResult:o.imageDiffResults.find(a=>a.screenshotId===i.id)}))):M__namespace.default.createElement("div",{style:{marginTop:30,textAlign:"center"}},M__namespace.default.createElement("div",null,"No screenshot has been found!")),e))};zi.displayName="ScreenshotList";var Ri=e=>{let{hasScreenShot:t,title:o,onTestClick:r,onPreviewClick:n,onUpdateClick:i,onDelete:s}=e,[a,l]=M__namespace.default.useState(false);return M__namespace.default.createElement(nt,{border:["bottom"]},M__namespace.default.createElement("div",{className:"left"},M__namespace.default.createElement("div",{title:o},"Story Screenshots")),M__namespace.default.createElement("div",{className:"right"},M__namespace.default.createElement(Kt,{fixFunction:true,onClose:l,open:a}),M__namespace.default.createElement(components.IconButton,{onClick:()=>l(true),title:"Fix screenshot name"},M__namespace.default.createElement(icons.WrenchIcon,null)),t&&M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(components.IconButton,{onClick:i,title:"Update story screenshots"},M__namespace.default.createElement(icons.RefreshIcon,null)),M__namespace.default.createElement(components.IconButton,{onClick:r,title:"Run diff test for story screenshots"},M__namespace.default.createElement(icons.ContrastIcon,null)),M__namespace.default.createElement(components.IconButton,{onClick:n,title:"Display story screenshots"},M__namespace.default.createElement(icons.PhotoIcon,null)),M__namespace.default.createElement(Ce,{IconButton:components.IconButton,onDelete:s}))))};Ri.displayName="ScreenshotListToolbar";function Wt(e,t,o=false){M.useEffect(()=>{if(!o)return e&&window.addEventListener("keydown",e),t&&window.addEventListener("keyup",t),()=>{e&&window.removeEventListener("keydown",e),t&&window.removeEventListener("keyup",t);}},[o,e,t]);}var lg=y(e=>{let{palette:{divider:t}}=e;return {line:{backgroundColor:t,width:1},list:{width:"350px"},root:{display:"flex",flexDirection:"row",height:"calc(100% - 70px) !important",position:"relative",width:"100%"}}},{name:"ScreenshotListPreviewDialog"}),Hi=({screenshots:e,storyData:t,selectedItem:o,title:r,children:n,draggable:i=true,...s})=>{let[a,l]=M.useState(),c=He(),p=lg(),u=M.useCallback(async m=>{l(m);},[]),f=M.useCallback(m=>{if(!a)return;let h=e.findIndex(S=>S.id===a.id);switch(m.key){case "ArrowDown":{e[h+1]&&l(e[h+1]);break}case "ArrowUp":{e[h-1]&&l(e[h-1]);break}}},[a,e]);Wt(void 0,f),M.useEffect(()=>{if(c.imageDiffResults&&c.imageDiffResults.length&&e&&!a)if(o){let m=e.find(h=>h.id===o);m&&u(m);}else e[0]&&u(e[0]);},[a,u,e,o,c.imageDiffResults]);let d=a&&c.imageDiffResults.find(m=>m.screenshotId===a.id);return M__namespace.default.createElement(ve,{width:"100%",title:r||(a?material.capitalize(a.title):"Loading ..."),subtitle:(r&&a&&a.title)+(t&&` (${t.id})`),height:"100%",...s},M__namespace.default.createElement("div",{className:p.root},M__namespace.default.createElement("div",{className:p.list},M__namespace.default.createElement(Ao,{items:e.map(m=>m.id)},a&&e.map((m,h)=>M__namespace.default.createElement(wo,{index:h,sortableId:m.id,openUpdateDialog:false,showPreviewOnClick:false,key:m.id,screenshot:m,forceShowMenu:true,enableUpdate:true,draggable:i,storyData:t,pauseDeleteImageDiffResult:c.pauseDeleteImageDiffResult,onClick:u,selected:a.id===m.id,imageDiffResult:c.imageDiffResults.find(S=>S.screenshotId===m.id)})))),M__namespace.default.createElement("div",{className:p.line}),d&&M__namespace.default.createElement(Po,{imageDiffResult:d}),n))};Hi.displayName="ScreenshotListPreviewDialog";var qr=e=>{let{onClose:t,updating:o,target:r,onLoad:n}=e,{loading:i,storyData:s}=kc(r,n),[a,l]=M.useState(false),c=He(),{updateScreenshot:p}=Ur(),u=M.useCallback(async()=>{l(true);try{let f=c.screenshots.reduce((d,m)=>{let h=c.imageDiffResults.find(S=>S.screenshotId===m.id);if(!h)throw new Error(`Unable to find image diff result for '${m.title}' screenshot.`);return d.push(p(h)),d},[]);await Promise.all(f),v.success("Successfully updated.",{duration:1/0,id:"story-screenshot-preview:updated"});}catch(f){v.error(f.message);}l(false);},[c,p]);return M__namespace.default.useEffect(()=>(vo(true),()=>{vo(false),ic();}),[]),M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(E,{open:i||a}),!i&&M__namespace.default.createElement(Hi,{title:o?"Following screenshots will be saved, would you like to continue?":void 0,screenshots:c.screenshots,onClose:t,open:true,storyData:s||{filePath:"",id:"",name:"",parent:""},draggable:r==="story"&&!a,footerActions:o?()=>M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(material.Button,{onClick:t,color:"primary"},"No"),M__namespace.default.createElement(material.Button,{onClick:u,color:"primary",autoFocus:true},"Yes")):void 0},M__namespace.default.createElement(E,{open:a})))};qr.displayName="StoryScreenshotPreview";var Kc=M__namespace.default.memo(qr);function Vi(){let[e,t]=M.useState(false),o="screenshot-panel",{runDiffTest:r,updateInf:n}=Nt(o,"story"),{screenshotLoaderInProgress:i}=cc(),{deleteInProgress:s,deleteStoryScreenshots:a}=lc(),l=He(),{testStoryScreenShots:c,imageDiffTestInProgress:p}=zt(),u=M.useCallback(()=>{t(!e);},[e]),f=l.screenshots&&l.screenshots.length>0;M.useEffect(()=>{vo(e);},[e]);let d=M__namespace.default.useCallback(()=>{c("story");},[c]);return M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(E,{open:i||p||s||n.reqBy!==void 0}),M__namespace.default.createElement(Ri,{onUpdateClick:r,title:"Story Screenshots",onTestClick:d,onPreviewClick:u,hasScreenShot:f,onDelete:a}),M__namespace.default.createElement(zi,null),e&&M__namespace.default.createElement(qr,{onClose:u,target:"story"}))}Vi.displayName="ScreenshotPanel";var Ki=({showPanel:e})=>{let[t,o]=M__namespace.default.useState(false),{updateInf:r,handleClose:n,setIsLoadingFinish:i}=Nt(""),s=M__namespace.default.useCallback(()=>{o(true),i(true);},[i]),a=M__namespace.default.useCallback(()=>{n(),o(false);},[n]);return M__namespace.default.createElement(Ie,null,e&&!t&&M__namespace.default.createElement(Vi,null),r.reqBy&&M__namespace.default.createElement(Kc,{onClose:a,updating:true,target:r.target??"story",onLoad:s}))};Ki.displayName="ScreenshotMain";function Wc(){let e=managerApi.useStorybookState(),[t,o]=M.useState();return M.useEffect(()=>{let r=tl(window.location.host,e.storyId),n=Object.keys(e.customQueryParams);if(n.length>0){let i=n.map(s=>{let a=e.customQueryParams[s];return `${s}=${a}`});r+=`&${i.join("&")}`;}o(r);},[e.customQueryParams,e.storyId]),t}var Tg=D(Dd__default.default),Pg=y(()=>({content:{padding:5},root:{padding:5,width:450},title:{display:"flex",fontSize:20,justifyContent:"space-between",padding:5}}),{name:"OptionPopover"}),Co=({title:e,Icon:t,children:o,width:r,active:n})=>{let[i,s]=M.useState(),a=Pg(),l=M.useCallback(p=>{s(p.target);},[]),c=M.useCallback(()=>{s(void 0);},[]);return M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(material.Popover,{open:!!i,anchorEl:i,onClose:c,style:{margin:20},anchorOrigin:{horizontal:"center",vertical:"top"},transformOrigin:{horizontal:"right",vertical:"bottom"}},M__namespace.default.createElement("div",{className:a.root,style:{width:r}},M__namespace.default.createElement("div",{className:a.title},M__namespace.default.createElement("span",null,e),M__namespace.default.createElement(material.IconButton,{size:"small",onClick:c},M__namespace.default.createElement(Tg,null))),M__namespace.default.createElement(material.Divider,null),M__namespace.default.createElement("div",null,o))),M__namespace.default.createElement(components.IconButton,{onClick:l,active:n},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:"Browser Options"},M__namespace.default.createElement(t,null))))};Co.displayName="OptionPopover";var kg=D(Cg__default.default),Mo=({browserType:e})=>{let{setBrowserOptions:t,browserOptions:o,hasOption:r,setBrowserDeviceOptions:n}=G(e),[i,s]=M.useState(false),a=M.useCallback(c=>{t(e,c);},[e,t]),l=M.useCallback(c=>{n(e,c),s(true);},[e,n]);return M.useEffect(()=>{i&&s(false);},[i]),o?M__namespace.default.createElement(Co,{title:"Browser Options",Icon:kg,active:r},!i&&M__namespace.default.createElement(Xr,{onSave:a,schemaName:"browser-options",defaultData:o&&o[e],FooterComponent:M__namespace.default.createElement(hi,{onDeviceSelect:l})})):null};Mo.displayName="BrowserOptions";var Lg=D(Eg__default.default),Ng=D(Og__default.default),Fg=D(Bg__default.default),_g=y(e=>{let{palette:t}=e;return {label:{textTransform:"uppercase"},root:{alignItems:"center",backgroundColor:t.divider,color:t.text.secondary,display:"flex",flexWrap:"nowrap",fontSize:14,height:30,justifyContent:"space-between",minHeight:"auto",paddingLeft:10,paddingRight:10,textAlign:"right"},toolbarPanels:{"& button":{alignItems:"center",display:"flex",height:30,marginLeft:6,marginTop:0},"& svg:not(.browser-loader)":{width:17},alignItems:"center",display:"flex"}}}),ji=e=>{let{browserType:t,onSave:o,showSaveButton:r,loading:n,onRefresh:i,onFullScreen:s}=e,a=_g();return M__namespace.default.createElement("div",{className:a.root},M__namespace.default.createElement("div",{className:a.toolbarPanels},M__namespace.default.createElement("label",{className:a.label},t),n&&M__namespace.default.createElement(material.CircularProgress,{classes:{svg:"browser-loader"},style:{marginLeft:10},size:15})),M__namespace.default.createElement("div",{className:a.toolbarPanels},r&&M__namespace.default.createElement(components.IconButton,{onClick:o},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:"Save screenshot"},M__namespace.default.createElement(Fg,null))),M__namespace.default.createElement(components.IconButton,{onClick:i},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:"Refresh"},M__namespace.default.createElement(Ng,null))),t!=="storybook"&&M__namespace.default.createElement(Mo,{browserType:t}),M__namespace.default.createElement(components.IconButton,{onClick:s},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:"Full screen"},M__namespace.default.createElement(Lg,null)))))};ji.displayName="ScreenShotViewToolbar";var $i=(e,t,o=.1)=>e==="dark"?styles.lighten(t,o):styles.darken(t,o);var Ug=y(e=>{let t=e.palette.mode==="light"?styles.lighten:styles.darken,{palette:o}=e,{background:r}=o;return {card:{"& .os-scrollbar":{opacity:1,visibility:"visible !important",zIndex:10},"& .os-scrollbar-track":{"& .os-scrollbar-handle":{backgroundColor:$i(o.mode,r.paper,.6)},backgroundColor:"transparent",visibility:"visible !important"},overflow:"hidden",position:"relative",width:"100%",zIndex:10,backgroundColor:t(r.default,.1)},container:{alignItems:"center",height:"100%",position:"relative",width:"100%",border:`3px solid ${o.divider}`,borderTop:0},errorContainer:{overflow:"auto"},editMode:{"& $fakeBorder":{borderColor:t(e.palette.warning.main,.5)},backgroundColor:t(e.palette.warning.main,.6)},fakeBorder:{border:`10px solid ${$i(o.mode,r.paper,.1)}`,borderTop:0,bottom:0,left:0,pointerEvents:"none",position:"absolute",right:0,top:0,zIndex:5},iframe:{width:"100%"},image:{},innerContainer:{width:"100%"}}},{name:"ScreenshotView"}),Yr=e=>{let{browserType:t,url:o,height:r,refresh:n,onRefreshEnd:i,onSave:s,onScreenshotDataChange:a}=e,{isEditing:l}=Ve(),[c,p]=M.useState(false),u=Ug(),{getBrowserOptions:f}=G(),d=f(t),{loading:m,screenshot:h,getSnapshot:S,error:b}=Fc(t,d);M.useEffect(()=>{!n||m||(S(),i?.());},[S,m,i,n]);let x=r-30,O=t==="storybook",w=!!(h&&h.base64)&&t!=="storybook",I=M.useCallback(()=>{p(!c);},[c]),C=b||h?.error,L=M.useCallback(()=>{t==="storybook"||!h?.base64||s?.(t);},[t,s,h]);return M.useEffect(()=>{if(!(!a||t==="storybook")){if(!h?.base64){a(t,void 0);return}a(t,{base64:h.base64,browserOptions:d});}},[d,t,a,h]),M__namespace.default.createElement("div",{className:Mr__default.default(u.card,{[u.editMode]:l(t)})},M__namespace.default.createElement(ji,{browserType:t,onSave:L,loading:m,onRefresh:S,showSaveButton:w,onFullScreen:I}),M__namespace.default.createElement("div",{className:u.container,style:{height:x,overflow:O?"hidden":"auto"}},t!=="storybook"?M__namespace.default.createElement("div",{className:u.innerContainer},h&&h.base64&&!C?M__namespace.default.createElement("img",{className:u.image,src:`data:image/gif;base64,${h.base64}`}):M__namespace.default.createElement(M__namespace.default.Fragment,null,C&&M__namespace.default.createElement("div",{className:u.errorContainer},M__namespace.default.createElement(ei,{message:C})))):M__namespace.default.createElement("iframe",{src:o,className:u.iframe,style:{height:x},frameBorder:"0"})),M__namespace.default.createElement(ve,{open:c,width:"100%",height:"100%",onClose:I,title:`${material.capitalize(t)} screenshot`},h&&c&&h.base64&&M__namespace.default.createElement(Io,{imgSrcString:h.base64})))};Yr.displayName="ScreenshotView";var Xg=y(e=>({overlay:{backgroundColor:"transparent",border:`1px solid ${e.palette.primary.main}`,bottom:0,cursor:"crosshair !important",left:0,position:"absolute",right:0,top:0,zIndex:100}}),{name:"SelectorOverlay"}),qi=M.forwardRef((e,t)=>{let o=Xg();return M__namespace.default.createElement("div",{...e,className:Mr__default.default(o.overlay),ref:t})});qi.displayName="IframeOverlay";var Xi=zustand.create()(middleware.devtools(e=>({clipping:false,start:()=>{e(()=>({clipping:true}));},stop:()=>{e(()=>({clipping:false}));},toggleClippingState:()=>{e(t=>({clipping:!t.clipping}));}}),{name:"clipper-store"})),Yi=()=>{let{clipping:e,stop:t}=Xi(),{addonState:o,setAddonState:r}=de(),{setBrowserOptions:n,browserOptions:i}=G(),s=o.clippingWarningDismissed??false,{setScreenshotOptions:a,screenshotOptions:l}=$(),c=M__namespace.default.useRef(null),p=qc(),u=M__namespace.default.useCallback(f=>{if(!c.current||!p)return;let d=al(p),{height:m,width:h,top:S,left:b}=f.rect,x=p.contentDocument??p.contentWindow?.document,O=x?Math.max(x.body?.scrollHeight||0,x.body?.offsetHeight||0,x.documentElement.scrollHeight,x.documentElement.offsetHeight,x.documentElement.clientHeight):p.getBoundingClientRect().height,w=p.getBoundingClientRect(),I=p.contentWindow?.innerWidth??w.width,C=p.contentWindow?.innerHeight??w.height,L=x?.documentElement?.clientWidth??w.width,z=x?.documentElement?.clientHeight??w.height,H=Math.min(w.width,L),Se=Math.min(w.height,z),ee=w.left+H,ye=w.top+Se,Te=H?I/H:1,W=Se?C/Se:1,le=Number.isFinite(Te)&&Te>0?Te:1,Oe=Number.isFinite(W)&&W>0?W:1,An=b+h,Ho=S+m,Vo=Math.max(b,w.left),Qt=Math.max(S,w.top),Ko=Math.min(An,ee),Wo=Math.min(Ho,ye),St=Math.max(0,Ko-Vo),Go=Math.max(0,Wo-Qt);if(St===0||Go===0){t();return}n("all",{...i.all||{},viewport:{height:Math.round(O),width:Math.round(I)}});let Uo={left:d.scrollLeft+(Vo-w.left)*le,top:d.scrollTop+(Qt-w.top)*Oe};a({...l,clip:{height:Math.ceil(Go*Oe),width:Math.ceil(St*le),x:Math.floor(Uo.left),y:Math.floor(Uo.top)}}),t(),s||v.custom(({dismiss:jo})=>M__namespace.default.createElement(Pr,{variant:"info",onClose:jo},M__namespace.default.createElement(si,{style:{fontSize:14}},"Clipping may differ from the Storybook preview when browser zoom is not 100%, OS display scaling (DPI) is different, fonts or line height differ, text wraps differently, the preview is resized or transformed, or scrollbar behavior differs from the Playwright viewport."),M__namespace.default.createElement("div",{style:{display:"flex",justifyContent:"flex-start",marginTop:8}},M__namespace.default.createElement(components.IconButton,{type:"button",onClick:()=>{r({...o,clippingWarningDismissed:true}),jo();}},"Do Not Show Again"))));},[o,i.all,p,s,l,n,a,r,t]);return Wt(void 0,f=>{f.code==="Escape"&&t();}),e?M__namespace.default.createElement(qi,{ref:c},M__namespace.default.createElement(Jg__default.default,{dragContainer:c.current,hitRate:100,selectByClick:true,selectFromInside:true,ratio:0,onSelectEnd:u})):null};Yi.displayName="Clipper";var Ji=()=>{let{clipping:e,toggleClippingState:t}=Xi(),o=M__namespace.default.useCallback(()=>{t();},[t]);return M__namespace.default.createElement(components.IconButton,{active:e,onClick:o},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:e?"Stop Clipping":"Start Clipping"},M__namespace.default.createElement("svg",{className:"MuiSvgIcon-root",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24",style:{height:20,transform:"rotate(180deg)",width:20,fill:"currentColor"}},M__namespace.default.createElement("path",{d:"M17 5h-2V3h2v2zm-2 16h2v-2.59L19.59 21 21 19.59 18.41 17H21v-2h-6v6zm4-12h2V7h-2v2zm0 4h2v-2h-2v2zm-8 8h2v-2h-2v2zM7 5h2V3H7v2zM3 17h2v-2H3v2zm2 4v-2H3c0 1.1.9 2 2 2zM19 3v2h2c0-1.1-.9-2-2-2zm-8 2h2V3h-2v2zM3 9h2V7H3v2zm4 12h2v-2H7v2zm-4-8h2v-2H3v2zm0-8h2V3c-1.1 0-2 .9-2 2z"}))))};Ji.displayName="ClipperButton";var Xc=e=>M__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",version:"1.1",viewBox:"2 -1 38 38",enableBackground:"new 0 0 129 129",height:22,fill:"currentColor",...e},M__namespace.createElement("path",{d:"M12 9.984l3.984 4.031h-3v6h-1.969v-6h-3zM18.984 3.984q0.844 0 1.43 0.586t0.586 1.43v12q0 0.797-0.609 1.406t-1.406 0.609h-3.984v-2.016h3.984v-9.984h-13.969v9.984h3.984v2.016h-3.984q-0.844 0-1.43-0.586t-0.586-1.43v-12q0-0.844 0.586-1.43t1.43-0.586h13.969z"}),M__namespace.createElement("path",{xmlns:"http://www.w3.org/2000/svg",d:"M0 0h24v24H0z",fill:"none"}));var Yc=e=>M__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",version:"1.1",viewBox:"-4 -2 38 38",enableBackground:"new 0 0 129 129",height:22,fill:"currentColor",...e},M__namespace.createElement("path",{d:"M8.071 13.954l-4.579-7.931c2.932-3.671 7.445-6.023 12.508-6.023 5.857 0 10.978 3.148 13.767 7.844h-13.055c-0.235-0.020-0.472-0.031-0.711-0.031-3.809 0-7.018 2.614-7.929 6.142zM21.728 10.156h9.171c0.711 1.81 1.101 3.781 1.101 5.844 0 8.776-7.066 15.9-15.818 15.998l6.544-11.334c0.921-1.324 1.462-2.932 1.462-4.664 0-2.287-0.943-4.357-2.459-5.844zM10.188 16c0-3.205 2.607-5.813 5.813-5.813s5.813 2.607 5.813 5.813c0 3.205-2.608 5.813-5.813 5.813s-5.813-2.608-5.813-5.813zM18.193 23.889l-4.581 7.934c-7.704-1.153-13.613-7.797-13.613-15.822 0-2.851 0.746-5.526 2.053-7.845l6.532 11.314c1.308 2.785 4.14 4.718 7.415 4.718 0.759 0 1.495-0.104 2.193-0.299z"}),M__namespace.createElement("path",{xmlns:"http://www.w3.org/2000/svg",d:"M0 0h24v24H0z",fill:"none"}));var Jc=e=>M__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",version:"1.1",viewBox:"-4 -2 38 38",enableBackground:"new 0 0 129 129",height:22,fill:"currentColor",...e},M__namespace.createElement("path",{d:"M31.954 10.442l-0.371 2.377c0 0-0.53-4.402-1.179-6.047-0.995-2.521-1.438-2.501-1.441-2.498 0.667 1.694 0.546 2.604 0.546 2.604s-1.181-3.219-4.303-4.243c-3.459-1.134-5.33-0.824-5.547-0.765-0.033-0-0.064-0-0.095-0 0.026 0.002 0.050 0.005 0.076 0.007-0.001 0.001-0.003 0.001-0.003 0.002 0.014 0.017 3.822 0.666 4.497 1.594 0 0-1.617 0-3.227 0.464-0.073 0.021 5.923 0.749 7.148 6.74 0 0-0.657-1.371-1.47-1.604 0.535 1.626 0.397 4.712-0.112 6.245-0.066 0.197-0.133-0.853-1.135-1.305 0.321 2.301-0.019 5.952-1.616 6.957-0.124 0.078 1.001-3.603 0.226-2.18-4.46 6.838-9.731 3.155-12.101 1.535 1.215 0.264 3.52-0.041 4.541-0.8 0.001-0.001 0.002-0.002 0.004-0.003 1.108-0.758 1.765-1.311 2.354-1.18s0.982-0.46 0.524-0.985c-0.459-0.526-1.572-1.249-3.079-0.855-1.063 0.278-2.379 1.454-4.389 0.264-1.543-0.914-1.688-1.673-1.702-2.199 0.038-0.186 0.086-0.361 0.143-0.52 0.178-0.496 0.716-0.646 1.015-0.764 0.508 0.087 0.946 0.246 1.405 0.481 0.006-0.153 0.008-0.356-0.001-0.586 0.044-0.088 0.017-0.352-0.054-0.674-0.041-0.322-0.107-0.655-0.211-0.959 0-0 0.001-0 0.001-0 0.002-0.001 0.003-0.001 0.005-0.002s0.005-0.004 0.007-0.006c0-0.001 0.001-0.001 0.001-0.002 0.003-0.004 0.005-0.008 0.006-0.015 0.032-0.144 0.376-0.423 0.804-0.722 0.383-0.268 0.834-0.553 1.19-0.774 0.314-0.195 0.554-0.34 0.605-0.378 0.019-0.015 0.042-0.032 0.068-0.051 0.005-0.004 0.009-0.007 0.014-0.011 0.003-0.002 0.006-0.005 0.009-0.007 0.169-0.135 0.421-0.389 0.474-0.924 0-0.001 0-0.002 0-0.004 0.002-0.016 0.003-0.032 0.004-0.048 0.001-0.011 0.002-0.023 0.002-0.034 0-0.009 0.001-0.018 0.001-0.027 0.001-0.021 0.002-0.043 0.002-0.065 0-0.001 0-0.002 0-0.004 0.001-0.052-0-0.106-0.003-0.163-0.002-0.032-0.004-0.060-0.009-0.086-0-0.001-0.001-0.003-0.001-0.004-0.001-0.003-0.001-0.005-0.002-0.008-0.001-0.005-0.002-0.009-0.004-0.013-0-0.001-0-0.001-0.001-0.001-0.002-0.005-0.004-0.010-0.005-0.014-0-0-0-0-0-0.001-0.055-0.128-0.26-0.177-1.108-0.191-0.001-0-0.002-0-0.002-0v0c-0.346-0.006-0.798-0.006-1.391-0.004-1.039 0.004-1.613-1.016-1.797-1.41 0.251-1.389 0.977-2.379 2.17-3.051 0.023-0.013 0.018-0.023-0.009-0.031 0.233-0.141-2.82-0.004-4.225 1.782-1.247-0.31-2.333-0.289-3.269-0.069-0.18-0.005-0.404-0.027-0.67-0.083-0.623-0.564-1.514-1.606-1.562-2.85 0 0-0.003 0.002-0.008 0.006-0.001-0.012-0.002-0.024-0.002-0.036 0 0-1.897 1.458-1.613 5.434-0.001 0.064-0.002 0.125-0.004 0.184-0.514 0.696-0.768 1.282-0.787 1.411-0.455 0.926-0.917 2.32-1.292 4.437 0 0 0.263-0.833 0.79-1.777-0.388 1.188-0.693 3.036-0.514 5.808 0 0 0.047-0.615 0.215-1.5 0.131 1.719 0.704 3.841 2.152 6.337 2.78 4.791 7.052 7.211 11.775 7.582 0.839 0.069 1.689 0.071 2.544 0.006 0.079-0.006 0.157-0.011 0.236-0.018 0.968-0.068 1.942-0.214 2.914-0.449 13.287-3.212 11.842-19.256 11.842-19.256z"}));var Zc=e=>M__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",version:"1.1",viewBox:"-4 -2 38 38",enableBackground:"new 0 0 129 129",height:22,fill:"currentColor",...e},M__namespace.createElement("path",{d:"M16 0c-8.838 0-16 7.162-16 16s7.162 16 16 16 16-7.163 16-16-7.163-16-16-16zM29.95 14.775l-0.031-0.331c0.006 0.113 0.019 0.219 0.031 0.331zM27.762 8.4l-0.225-0.338c0.075 0.113 0.15 0.225 0.225 0.338zM26.894 7.206l-0.137-0.169c0.050 0.056 0.094 0.112 0.137 0.169zM24.956 5.237l-0.169-0.138c0.063 0.050 0.113 0.094 0.169 0.138zM23.938 4.463l-0.337-0.225c0.113 0.075 0.225 0.15 0.337 0.225zM17.556 2.087l-0.337-0.031c0.113 0.006 0.225 0.019 0.337 0.031zM14.775 2.050l-0.338 0.031c0.113-0.006 0.225-0.019 0.338-0.031zM8.4 4.237l-0.338 0.225c0.113-0.075 0.225-0.15 0.338-0.225zM7.206 5.106l-0.162 0.131c0.056-0.044 0.106-0.088 0.162-0.131zM5.237 7.044l-0.138 0.169c0.050-0.056 0.094-0.112 0.138-0.169zM4.463 8.063l-0.225 0.338c0.075-0.113 0.15-0.225 0.225-0.338zM2.087 14.444l-0.031 0.338c0.006-0.113 0.019-0.225 0.031-0.338zM2.050 17.225l0.031 0.337c-0.006-0.113-0.019-0.225-0.031-0.337zM4.237 23.594l0.225 0.337c-0.075-0.106-0.15-0.219-0.225-0.337zM4.5 23.988l2.494-1.669-0.275-0.419-2.494 1.669c-1.131-1.756-1.875-3.775-2.125-5.95l1.494-0.15-0.050-0.5-1.494 0.15c-0.025-0.288-0.038-0.581-0.044-0.875h3v-0.5h-3c0.006-0.294 0.019-0.581 0.044-0.875l1.494 0.144 0.050-0.5-1.494-0.144c0.25-2.175 1-4.194 2.131-5.95l2.494 1.669 0.275-0.419-2.5-1.656c0.169-0.237 0.338-0.475 0.519-0.7l1.156 0.95 0.319-0.388-1.156-0.95c0.188-0.225 0.388-0.438 0.588-0.65l2.119 2.119 0.356-0.356-2.119-2.119c0.213-0.2 0.425-0.4 0.644-0.588l0.95 1.162 0.387-0.319-0.95-1.156c0.231-0.181 0.463-0.356 0.7-0.525l1.669 2.494 0.419-0.275-1.669-2.494c1.756-1.131 3.775-1.875 5.95-2.125l0.15 1.494 0.5-0.050-0.15-1.494c0.287-0.025 0.581-0.038 0.875-0.044v3h0.5v-3c0.294 0.006 0.581 0.019 0.875 0.044l-0.144 1.494 0.5 0.050 0.144-1.494c2.175 0.25 4.194 1 5.95 2.131l-1.669 2.494 0.419 0.275 1.669-2.494c0.238 0.169 0.475 0.338 0.7 0.519l-0.95 1.156 0.387 0.319 0.95-1.156c0.225 0.188 0.438 0.388 0.65 0.588l-0.8 0.781-10.938 7.294-7.294 10.937-0.781 0.781c-0.2-0.212-0.4-0.425-0.588-0.644l1.156-0.95-0.319-0.387-1.156 0.95c-0.181-0.225-0.35-0.462-0.519-0.7zM5.237 24.956c-0.044-0.056-0.088-0.106-0.131-0.163l0.131 0.163zM7.044 26.762l0.162 0.131c-0.056-0.044-0.106-0.087-0.162-0.131zM8.063 27.531l0.338 0.225c-0.113-0.069-0.225-0.144-0.338-0.225zM14.444 29.913l0.338 0.031c-0.113-0.006-0.225-0.019-0.338-0.031zM17.225 29.95l0.331-0.031c-0.113 0.006-0.219 0.019-0.331 0.031zM23.6 27.762l0.337-0.225c-0.113 0.075-0.225 0.15-0.337 0.225zM24.794 26.894l0.169-0.137c-0.056 0.050-0.113 0.094-0.169 0.137zM25.887 25.913l0.025-0.025c-0.006 0.006-0.019 0.019-0.025 0.025zM26.762 24.956l0.137-0.169c-0.050 0.056-0.094 0.113-0.137 0.169zM26.981 24.688l-1.156-0.95-0.319 0.387 1.156 0.95c-0.188 0.225-0.387 0.438-0.587 0.65l-2.119-2.119-0.356 0.356 2.119 2.119c-0.212 0.2-0.425 0.4-0.644 0.587l-0.95-1.163-0.387 0.319 0.95 1.156c-0.231 0.181-0.462 0.356-0.7 0.525l-1.669-2.494-0.419 0.275 1.669 2.494c-1.756 1.131-3.775 1.875-5.95 2.125l-0.15-1.494-0.5 0.050 0.15 1.494c-0.288 0.025-0.581 0.038-0.875 0.044v-3h-0.5v3c-0.294-0.006-0.581-0.019-0.875-0.044l0.144-1.494-0.5-0.050-0.144 1.494c-2.175-0.25-4.194-1-5.95-2.131l1.669-2.494-0.419-0.275-1.656 2.494c-0.237-0.169-0.475-0.337-0.7-0.519l0.95-1.156-0.388-0.319-0.95 1.156c-0.225-0.188-0.438-0.387-0.65-0.587l0.787-0.781 10.937-7.294 7.294-10.938 0.781-0.781c0.2 0.213 0.4 0.425 0.587 0.644l-1.156 0.95 0.319 0.387 1.156-0.95c0.181 0.231 0.356 0.463 0.525 0.7l-2.494 1.669 0.275 0.419 2.494-1.669c1.131 1.756 1.875 3.775 2.125 5.95l-1.494 0.15 0.050 0.5 1.494-0.15c0.025 0.287 0.038 0.581 0.044 0.875h-3v0.5h3c-0.006 0.294-0.019 0.581-0.044 0.875l-1.494-0.144-0.050 0.5 1.494 0.144c-0.25 2.175-1 4.194-2.131 5.95l-2.494-1.669-0.275 0.419 2.494 1.669c-0.163 0.225-0.337 0.456-0.519 0.688zM29.95 17.219c-0.012 0.113-0.019 0.225-0.031 0.337l0.031-0.337zM27.762 23.6c-0.075 0.113-0.15 0.225-0.225 0.337l0.225-0.337z"}),M__namespace.createElement("path",{d:"M13.517 2.221l0.585 2.942-0.49 0.098-0.585-2.942 0.49-0.098z"}),M__namespace.createElement("path",{d:"M18.489 29.78l-0.585-2.942 0.49-0.098 0.585 2.942-0.49 0.098z"}),M__namespace.createElement("path",{d:"M12.176 2.528l0.436 1.435-0.478 0.145-0.436-1.435 0.478-0.145z"}),M__namespace.createElement("path",{d:"M19.826 29.465l-0.436-1.435 0.478-0.145 0.436 1.435-0.478 0.145z"}),M__namespace.createElement("path",{d:"M10.875 2.972l1.148 2.772-0.462 0.191-1.148-2.772 0.462-0.191z"}),M__namespace.createElement("path",{d:"M21.129 29.030l-1.148-2.772 0.462-0.191 1.148 2.772-0.462 0.191z"}),M__namespace.createElement("path",{d:"M9.176 3.771l0.441-0.236 0.707 1.323-0.441 0.236-0.707-1.323z"}),M__namespace.createElement("path",{d:"M22.816 28.228l-0.441 0.236-0.707-1.323 0.441-0.236 0.707 1.323z"}),M__namespace.createElement("path",{d:"M3.769 9.182l1.323 0.707-0.236 0.441-1.323-0.707 0.236-0.441z"}),M__namespace.createElement("path",{d:"M28.226 22.819l-1.323-0.707 0.236-0.441 1.323 0.707-0.236 0.441z"}),M__namespace.createElement("path",{d:"M5.744 12.019l-2.772-1.148 0.191-0.462 2.772 1.148-0.191 0.462z"}),M__namespace.createElement("path",{d:"M26.26 19.978l2.772 1.148-0.191 0.462-2.772-1.148 0.191-0.462z"}),M__namespace.createElement("path",{d:"M2.673 11.7l1.436 0.435-0.145 0.479-1.436-0.435 0.145-0.479z"}),M__namespace.createElement("path",{d:"M29.322 20.302l-1.436-0.435 0.145-0.479 1.436 0.435-0.145 0.479z"}),M__namespace.createElement("path",{d:"M2.315 13.024l2.942 0.585-0.098 0.49-2.942-0.585 0.098-0.49z"}),M__namespace.createElement("path",{d:"M29.679 18.976l-2.942-0.585 0.098-0.49 2.942 0.585-0.098 0.49z"}),M__namespace.createElement("path",{d:"M2.218 18.486l2.942-0.585 0.098 0.49-2.942 0.585-0.098-0.49z"}),M__namespace.createElement("path",{d:"M29.776 13.513l-2.942 0.585-0.098-0.49 2.942-0.585 0.098 0.49z"}),M__namespace.createElement("path",{d:"M2.53 19.829l1.435-0.436 0.145 0.478-1.435 0.436-0.145-0.478z"}),M__namespace.createElement("path",{d:"M29.468 12.178l-1.435 0.436-0.145-0.478 1.435-0.436 0.145 0.478z"}),M__namespace.createElement("path",{d:"M3.161 21.591l-0.191-0.462 2.772-1.148 0.191 0.462-2.772 1.148z"}),M__namespace.createElement("path",{d:"M28.837 10.413l0.191 0.462-2.772 1.148-0.191-0.462 2.772-1.148z"}),M__namespace.createElement("path",{d:"M3.776 22.821l-0.236-0.441 1.323-0.707 0.236 0.441-1.323 0.707z"}),M__namespace.createElement("path",{d:"M28.233 9.181l0.236 0.441-1.323 0.707-0.236-0.441 1.323-0.707z"}),M__namespace.createElement("path",{d:"M9.621 28.464l-0.441-0.236 0.707-1.323 0.441 0.236-0.707 1.323z"}),M__namespace.createElement("path",{d:"M22.377 3.534l0.441 0.236-0.707 1.323-0.441-0.236 0.707-1.323z"}),M__namespace.createElement("path",{d:"M10.415 28.837l1.148-2.772 0.462 0.191-1.148 2.772-0.462-0.191z"}),M__namespace.createElement("path",{d:"M21.59 3.16l-1.148 2.772-0.462-0.191 1.148-2.772 0.462 0.191z"}),M__namespace.createElement("path",{d:"M12.176 29.47l-0.478-0.145 0.435-1.435 0.478 0.145-0.435 1.435z"}),M__namespace.createElement("path",{d:"M19.823 2.528l0.479 0.145-0.435 1.436-0.479-0.145 0.435-1.436z"}),M__namespace.createElement("path",{d:"M13.515 29.776l-0.49-0.098 0.585-2.942 0.49 0.098-0.585 2.942z"}),M__namespace.createElement("path",{d:"M18.485 2.218l0.49 0.098-0.585 2.942-0.49-0.098 0.585-2.942z"}),M__namespace.createElement("path",{xmlns:"http://www.w3.org/2000/svg",d:"M0 0h24v24H0z",fill:"none"}));var xo=M.memo(e=>{let{browserType:t,...o}=e;switch(t){case "chromium":return M__namespace.default.createElement(Yc,{...o});case "firefox":return M__namespace.default.createElement(Jc,{...o});case "webkit":return M__namespace.default.createElement(Zc,{...o});default:return M__namespace.default.createElement(Xc,{...o})}});xo.displayName="BrowserIcon";var ts=e=>{let{browserType:t,onClick:o,active:r}=e,n=M.useCallback(()=>{o(t);},[t,o]);return M__namespace.default.createElement(components.IconButton,{onClick:n,active:r,title:material.capitalize(t)},M__namespace.default.createElement(xo,{browserType:t}))};ts.displayName="BrowserIconButton";var fS=D(uS__default.default),os=()=>{let{setBrowserOptions:e,browserOptions:t}=G(),{setScreenshotOptions:o,screenshotOptions:r}=$(),n=M__namespace.default.useCallback(()=>{let i=Pe();if(!i)return;let s=il(i);s&&(e("all",{...t.all,viewport:{height:Math.round(s.height),width:Math.round(s.width)}}),r&&r.clip!==void 0&&o({...r,clip:void 0}));},[t,r,e,o]);return M__namespace.default.createElement(components.IconButton,{onClick:n,"aria-label":"Match browser viewport to iframe content"},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:"Match browser viewport to iframe content"},M__namespace.default.createElement(fS,null)))};os.displayName="ResizeBrowserToIframeContent";var gS=D(mS__default.default),rs=()=>{let{setBrowserOptions:e,browserOptions:t}=G(),{setScreenshotOptions:o,screenshotOptions:r}=$(),n=M__namespace.default.useCallback(()=>{let i=Pe();if(!i)return;let s=i.getBoundingClientRect();e("all",{...t.all,viewport:{height:Math.round(s.height),width:Math.round(s.width)}}),r&&r.clip!==void 0&&o({...r,clip:void 0});},[t,r,e,o]);return M__namespace.default.createElement(components.IconButton,{onClick:n,"aria-label":"Match browser viewport to preview"},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:"Match browser viewport to preview"},M__namespace.default.createElement(gS,null)))};rs.displayName="ResizeBrowserToPreview";var bS=D(yS__default.default);function ns(){let{setBrowserOptions:e}=G(),{setScreenshotOptions:t}=$(),o=M__namespace.default.useCallback(()=>{e("all",{}),t({});},[e,t]);return M__namespace.default.createElement(components.IconButton,{onClick:o},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:"Reset Settings"},M__namespace.default.createElement(bS,{style:{marginTop:4,width:"20px"}})))}ns.displayName="ResetSettings";var TS=D(wS__default.default),is=()=>{let{setScreenshotOptions:e,screenshotOptions:t}=$(),o=M.useCallback(n=>{e(n);},[e]),r=M.useMemo(()=>t&&Object.keys(t).length>0,[t]);return M__namespace.default.createElement(Co,{title:"Screenshot Options",Icon:TS,active:r},M__namespace.default.createElement(Xr,{onSave:o,schemaName:"screenshot-options",defaultData:t,excludeProps:["path"]}))};is.displayName="ScreenshotOptions";var DS=D(PS__default.default),ES=D(CS__default.default),OS=D(MS__default.default),BS=D(Bg__default.default),ss=e=>{let{browserTypes:t,toggleBrowser:o,activeBrowsers:r,onCLose:n,onRefresh:i,isVertical:s,onSave:a}=e,{setBrowserOptions:l,browserOptions:c}=G(),p=M.useCallback(()=>{let u=c.all&&c.all.cursor;l("all",{...c.all,cursor:u?void 0:true});},[c,l]);return M__namespace.default.createElement(nt,{border:s?void 0:["top"]},M__namespace.default.createElement("div",{className:"left"},t.map(u=>M__namespace.default.createElement(ts,{key:u,browserType:u,onClick:o,active:r.find(f=>f===u)!==void 0}))),M__namespace.default.createElement("div",{className:"right"},M__namespace.default.createElement(components.IconButton,{className:"cursor-button",onClick:p,active:c.all&&c.all.cursor},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:c.all&&c.all.cursor?"Hide cursor":"Show cursor"},M__namespace.default.createElement(ES,{style:{transform:"rotate(-80deg)"}}))),M__namespace.default.createElement(Ji,null),M__namespace.default.createElement(rs,null),M__namespace.default.createElement(os,null),M__namespace.default.createElement(components.IconButton,{onClick:a},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:"Save screenshots"},M__namespace.default.createElement(BS,null))),M__namespace.default.createElement(components.IconButton,{onClick:i},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:"Refresh"},M__namespace.default.createElement(OS,null))),M__namespace.default.createElement(ns,null),M__namespace.default.createElement(is,null),M__namespace.default.createElement(Mo,{browserType:"all"}),M__namespace.default.createElement(components.IconButton,{onClick:n},M__namespace.default.createElement(material.Tooltip,{placement:"top",title:"Close panel"},M__namespace.default.createElement(DS,null)))))};ss.displayName="Toolbar";var NS=100,ru=2,FS=2,nu=(e,t)=>{let[o,r]=reactUse.useMeasure(),n=M.useMemo(()=>`calc(${NS/(e||t||1)}% - ${FS}px)`,[t,e]);return {itemHeight:M.useMemo(()=>e===1?r.height/(t||1):e===ru?r.height/ru:r.height,[t,e,r.height]),ref:o,width:n}};var iu=e=>{let[t,o]=M.useState(false),r=M.useRef({}),{generateTitle:n,hasGenerator:i}=Cc(null),{getUpdatingScreenshotTitle:s,inProgress:a,saveScreenShot:l}=Oc(),c=M.useCallback((m,h)=>{if(!h){delete r.current[m];return}r.current[m]=h;},[]),p=M.useCallback(async(m,h)=>{o(true);try{for(let S of h){let b=r.current[S];b&&await l(S,m,b.base64,b.browserOptions);}}finally{o(false);}},[l]),u=M.useCallback(m=>{if(!m.length)return;let h=m.length>1?"Screenshots Title":"Screenshot Title";It.show({onGenerateContent:i?n:void 0,onSave:S=>{p(S,m);},required:true,title:h,value:s()});},[n,s,i,p]),f=M.useCallback(()=>{u(e);},[e,u]),d=M.useCallback(m=>{u([m]);},[u]);return {isSaving:t||a,requestSaveAll:f,requestSaveOne:d,setScreenshotData:c}};var HS=y(e=>({error:{color:"red",marginTop:"10%",padding:30,textAlign:"center"},list:{display:"flex",height:"100%",position:"relative",width:"100%"},listItem:{marginBottom:2,marginLeft:1,marginRight:1},listWrap:{flexFlow:" row wrap"},preview:{boxShadow:`${e.palette.divider} 0 1px 0 0 inset`,height:"100%",overflow:"hidden",paddingTop:2,width:"100%"},root:{display:"flex",flexDirection:"column",height:"100%"},vertical:{borderLeft:`1px solid ${e.palette.divider}`}})),Eo=e=>{let{showStorybook:t,column:o,onClose:r,viewPanel:n}=e,{activeBrowsers:i,toggleBrowser:s,browserTypes:a,refreshingBrowsers:l,clearBrowserRefresh:c,refreshBrowsers:p}=Gr(n),u=HS(),f=Wc(),{itemHeight:d,ref:m,width:h}=nu(o,i.length),{isSaving:S,requestSaveAll:b,requestSaveOne:x,setScreenshotData:O}=iu(i),w=M.useCallback(()=>{p(i);},[i,p]);return M__namespace.default.createElement("div",{className:Mr__default.default(u.root,{[u.vertical]:o===1})},M__namespace.default.createElement(ss,{browserTypes:a,activeBrowsers:i,toggleBrowser:s,onCLose:r,onRefresh:w,onSave:b,isVertical:o===1}),M__namespace.default.createElement("div",{className:u.preview},i&&i.length>0&&M__namespace.default.createElement("div",{ref:m,className:Mr__default.default(u.list,{[u.listWrap]:o!==void 0})},t&&M__namespace.default.createElement("div",{className:u.listItem,style:{width:h}},M__namespace.default.createElement(Yr,{browserType:"storybook",url:f,height:d})),i.map(I=>M__namespace.default.createElement("div",{key:I,className:u.listItem,style:{width:h}},M__namespace.default.createElement(Yr,{browserType:I,height:d,refresh:l.includes(I),onSave:x,onRefreshEnd:()=>{c(I);},onScreenshotDataChange:O}))))),M__namespace.default.createElement(E,{open:S}))};Eo.displayName="ScreenshotListView";var KS=y(e=>({appBar:{backgroundColor:e.palette.divider,boxShadow:"none"},closeIconAbsolute:{position:"absolute",right:30,top:30},container:{height:"100%"},dialogPaper:{height:"100%",maxHeight:"100%",maxWidth:"100%",minHeight:"100%",minWidth:"100%",overflow:"hidden"},toolbar:{minHeight:"auto"},toolbarRight:{display:"flex",justifyContent:"flex-end",width:"100%"}})),as=e=>{let{onClose:t,open:o}=e,r=KS();return M__namespace.default.createElement(fo,null,M__namespace.default.createElement(VS__default.default,{onClose:t,"aria-labelledby":"simple-dialog-title",open:o,hideBackdrop:true,classes:{paper:r.dialogPaper}},M__namespace.default.createElement("div",{className:r.container},M__namespace.default.createElement(Eo,{showStorybook:true,column:2,onClose:t,viewPanel:"dialog"}))))};as.displayName="PreviewDialog";var US=y(()=>({alert:{padding:"0px 16px"},icon:{alignSelf:"center"},message:{flex:1},messageWrapper:{alignSelf:"center"},root:{alignSelf:"center",display:"flex",justifyContent:"space-between",width:"100%"}}),{name:"EditScreenshotAlert"}),ls=()=>{let{editScreenshotState:e,clearScreenshotEdit:t}=Ve(),o=US();return e?M__namespace.default.createElement(material.Alert,{classes:{icon:o.icon,message:o.message,root:o.alert},severity:"warning"},M__namespace.default.createElement("div",{className:o.root},M__namespace.default.createElement("div",{className:o.messageWrapper},`Editing '${e.screenshotData.title}' screenshot (${e.screenshotData.browserType}).`),M__namespace.default.createElement("div",null,M__namespace.default.createElement(material.Button,{size:"small",color:"inherit",onClick:t},"Cancel")))):null};ls.displayName="EditScreenshotAlert";function au(e,t){return e&&e.placement&&e.placement!=="auto"?e.placement==="bottom":t!=="bottom"}var De="playwright-addon",lu=`${De}/action-panel`,Ut=`${De}/screenshot-panel`,cu=`${De}/tool`,uu=`${De}/toast`,pu=`${De}/preview-panel`;var an=" (This action loaded from screenshot actions, its temporary and will be removed)";var jS="storybook-root",cs=`html>body>#${jS}`;var fu="html>body>#root",$S=8;function du(e){return typeof e.querySelector=="function"}function qS(e){if(du(e)){if(e.querySelector(fu))return fu;if(e.querySelector(cs))return cs}}function mu(e,t){if(!du(t))return e;let o=qS(t);if(!o)return e;let r=t.querySelector(o);if(!r)return e;for(let n=1;n<=$S;n+=1){let i=`html>body>div:nth-child(${n})`;if(!e.includes(i))continue;let s=t.querySelector(i);if(s&&s===r)return e.replace(i,o)}return e}var ey=y(e=>({hidden:{display:"none",pointerEvents:"none"},info:{bottom:0,color:e.palette.primary.main,fontSize:14,left:2,pointerEvents:"none",position:"absolute"},overlay:{backgroundColor:"transparent",bottom:0,cursor:"crosshair !important",left:0,position:"absolute",right:0,top:0,zIndex:100},preview:{border:`1px solid ${e.palette.primary.main}`,position:"absolute"}}),{name:"SelectorOverlay"}),ty=["id"];function yu(e){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(e):e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}function oy(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}function ry(e,t){let o=t&&t.length>0?t:ty;for(let r of o){let n=r.trim();if(!n)continue;if(n.toLowerCase()==="id"){if(e.id)return `#${yu(e.id)}`;if(!e.hasAttribute("id"))continue;return "[id]"}if(!e.hasAttribute(n))continue;let s=e.getAttribute(n);if(s==null)continue;let a=yu(n);return s===""?`[${a}]`:`[${a}="${oy(s)}"]`}return ""}var us={height:"100%",left:0,right:0,width:"100%"},ps=e=>{let{iframe:t}=e,{stopSelector:o,selectorManager:r,setSelectorData:n}=jt(),[i,s]=M.useState(),a=ey(),l=M.useRef(null),c=r.type==="id-selector",p=r.type==="selector"||c,[u,f]=M.useState({rect:us}),{elX:d,elY:m}=reactUse.useMouseHovered(l,{bound:true,whenHovered:true});return reactUse.useKey("Escape",o,void 0,[f,o]),reactUse.useThrottleFn((h,S)=>{if(t&&t.contentWindow){let b=t.contentWindow.document,x=b.elementFromPoint(h,S);if(x)if(c)f({rect:x.getBoundingClientRect(),selector:ry(x,r.selectorAttributeNames)});else {let O=mu(selectorPath.getSelectorPath(x,{minify:true}),b);x.tagName==="HTML"?f({rect:us,selector:O}):f({rect:x.getBoundingClientRect(),selector:O});}else f({...u,rect:void 0});}},150,[d,m]),M.useEffect(()=>{if(i){let h=l.current?l.current.contains(i):false;o(),n({path:h?u.selector:void 0,x:Math.round(d),y:Math.round(m)});}},[d,m,n,i,u.selector,o]),M.useEffect(()=>{let h=x=>{s(x.target);},S=document.createElement("STYLE");S.innerHTML=`html, body {
|
|
15
15
|
cursor: crosshair !important;
|
|
16
16
|
`;let{body:b}=document;return document.head.appendChild(S),b.addEventListener("mouseup",h),()=>{b.style.cursor="inherit",b.removeEventListener("mouseup",h),document.head.removeChild(S);}},[]),M__namespace.default.createElement("div",{ref:l,className:Mr__default.default(a.overlay)},r&&u&&u.rect&&M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement("div",{className:Mr__default.default(a.preview,"selector-preview"),style:p?{height:u.rect.height,left:u.rect.left,top:u.rect.top,width:u.rect.width}:us}),M__namespace.default.createElement("div",{className:a.info},M__namespace.default.createElement("div",null,`X: ${d}`),M__namespace.default.createElement("div",null,`Y: ${m}`),M__namespace.default.createElement("div",null,u.selector))))};ps.displayName="SelectorOverlay";var fs=M.memo(e=>{let{children:t}=e,{selectorManager:o}=jt(),r=M.useRef(null),[n,i]=M.useState();M.useEffect(()=>{r.current&&i(r.current.querySelector("iframe")||void 0);},[]);let s=o&&o.start;return M__namespace.default.createElement("div",{ref:r,style:{height:"100%"}},t,s&&M__namespace.default.createElement(ps,{iframe:n}))});fs.displayName="Selector";var py=y(()=>({horizontal:{"& $preview":{position:"relative"}},iframeContainer:{height:"100%",position:"relative"},interactive:{pointerEvents:"auto"},notInteractive:{pointerEvents:"none"},preview:{display:"flex",flexFlow:"column",height:"100%",position:"relative",width:"100%"},root:{height:"100%",position:"relative",width:"100%"},snapshotPanel:{"& > span":{display:"none"},height:"100%",width:"100%"},splitPane:{"&:hover":{backgroundColor:"rgb(2, 156, 253)",transition:"background-color 0.3s ease"},backgroundColor:"transparent"},vertical:{"& $preview":{position:"relative"}}}),{name:"Preview"}),xu=3,fy=e=>{let{children:t}=e,{addonState:o,setAddonState:r}=de(),n=managerApi.useStorybookState(),i=py(),s=au(o,n.layout.panelPosition),a=M.useCallback(d=>{r({...o,previewPanelSize:d});},[o,r]),l=M.useCallback(()=>{r({...o,previewPanelEnabled:false});},[o,r]);if(!o||!o.previewPanelEnabled)return M__namespace.default.createElement(M__namespace.default.Fragment,null,t);let c=0,p=M__namespace.default.createElement(reactSplitPane.Pane,{key:"preview",minSize:50,size:o&&o.previewPanelSize||"30%",className:Mr__default.default("preview-main",i.preview)},M__namespace.default.createElement("div",{className:i.iframeContainer},M__namespace.default.createElement(fs,null,t)),M__namespace.default.createElement(Yi,null),M__namespace.default.createElement(ls,null)),u=M__namespace.default.createElement(reactSplitPane.Pane,{key:"screenshot",minSize:50,className:Mr__default.default(i.snapshotPanel)},M__namespace.default.createElement(components.Separator,null),o&&o.previewPanelEnabled&&M__namespace.default.createElement(Eo,{column:s?void 0:1,onClose:l,viewPanel:"main"})),f=[p,u];return M__namespace.default.createElement("div",{id:"preview-container",className:Mr__default.default(i.root)},M__namespace.default.createElement(reactSplitPane.SplitPane,{direction:s?"vertical":"horizontal",onResize:d=>a(d[c]),dividerClassName:Mr__default.default(i.splitPane),dividerStyle:{...s?{height:xu}:{width:xu}}},f))},ds=e=>M__namespace.default.createElement(Ie,null,M__namespace.default.createElement(fy,{...e}));ds.displayName="Preview";var hy=y(e=>({notFound:{"& > div":{"& > b":{color:e.palette.error.main},"& > p":{margin:0},fontSize:14},border:`1px solid ${e.palette.error.main}`,marginBottom:2,marginTop:2,pointerEvents:"none",userSelect:"text"}}),{name:"ImageDiff"}),ms=e=>{let{imageDiff:t,onClick:o}=e,r=managerApi.useStorybookApi(),n=hy(),{storyId:i}=t,s=i?r.getData(i):void 0,a=M.useCallback(()=>{i&&(o(),r.selectStory(i),r.setSelectedPanel(Ut));},[r,o,i]);return s?M__namespace.default.createElement(components.ListItem,{onClick:a,title:`${s.parent}--${s.name}`}):M__namespace.default.createElement(components.ListItem,{className:n.notFound,title:"Unable to locate story!"},M__namespace.default.createElement("div",null,M__namespace.default.createElement("b",null,"Unable to locate story!"),M__namespace.default.createElement("p",null,M__namespace.default.createElement("b",null,"ID:")," ",e.imageDiff.storyId),M__namespace.default.createElement("p",null,M__namespace.default.createElement("b",null,"File:")," ",e.imageDiff.filePath)))};ms.displayName="ImageDiffMenuItem";var wy=y(e=>({button:{overflow:"visible !important"},imageDiffBadge:{"& span":{fontSize:".6rem",height:14,minWidth:15,padding:"0 4px"},position:"absolute",right:-2,top:5,zIndex:1},successIcon:{color:e.palette.primary.main,position:"absolute",right:-10,top:-4}}),{name:"ImageDiff"}),cn=e=>{let{target:t,storyData:o}=e,r=wy({classes:e.classes}),{imageDiffResult:n}=Mc(),{testStoryScreenShots:i,imageDiffTestInProgress:s}=zt(),a=t==="file"&&o?n.filter(m=>m.filePath?Tr(m.filePath,o.filePath):false):n,l=a.filter(m=>m.pass===false),c=l.length>0,p=M.useCallback(async()=>{if(c)return;let m=await i(t);if(!Array.isArray(m))return;m.find(S=>!S.pass)||v.success("All screenshot tests are passed successfully.",{id:"image-diff:all-passed"});},[c,t,i]),u=M.useCallback(()=>{t==="file"?a.forEach(m=>{m.screenshotId&&Hr(m.screenshotId);}):_t([]);},[a,t]),f=t==="file"&&o?`Run diff test for all stories in '${o.filePath}' file.`:"Run diff test for all stories",d=M__namespace.default.createElement(components.IconButton,{title:f,className:r.button,onClick:p,style:{position:"relative"},disabled:s},c&&M__namespace.default.createElement(material.Badge,{badgeContent:l.length,color:"secondary",className:r.imageDiffBadge,overlap:"rectangular"}),M__namespace.default.createElement(icons.ContrastIcon,null),M__namespace.default.createElement(E,{position:"absolute",open:s,progressSize:15}));return c?M__namespace.default.createElement(components.WithTooltip,{closeOnOutsideClick:true,placement:"bottom",trigger:"click",tooltip:({onHide:m})=>M__namespace.default.createElement("div",{style:{maxHeight:"60vh",overflowY:"auto"},onMouseDown:h=>h.stopPropagation()},M__namespace.default.createElement(components.ListItem,{title:"Clear results",onClick:()=>{u(),m();}}),l.filter((h,S,b)=>S===b.findIndex(x=>x.storyId===h.storyId)).map(h=>M__namespace.default.createElement(ms,{key:`${h.storyId||""}${h.screenshotId||""}`,imageDiff:h,onClick:m})))},d):d};cn.displayName="ImageDiff";var hs=100;function Pu(){let e=managerApi.useStorybookApi(),t=T(),{addonState:o,setAddonState:r}=de();return ()=>{r({...o,placement:"auto",previewPanelEnabled:true,previewPanelSize:hs}),e.emit(coreEvents.RESET_STORY_ARGS,{storyId:t?.id}),ct(),t?.id&&Bt(t.id);}}var un=({target:e})=>{let t=`tool-${e}`,{runDiffTest:o,updateInf:r}=Nt(t,e),n=e=="file"?"Update current story file screenshots":"Update all screen shots";return M__namespace.default.createElement(components.IconButton,{title:n,onClick:o,style:{position:"relative"},disabled:!!r.inProgress},M__namespace.default.createElement(icons.RefreshIcon,null),M__namespace.default.createElement(E,{position:"absolute",open:r.reqBy===t&&!!r.inProgress,progressSize:15}))};un.displayName="ScreenshotUpdateIcon";var Ny=y(()=>({asterisk:{height:2,left:-6,margin:0,position:"relative",top:1,width:1},button:{position:"relative"},progress:{left:-3,pointerEvents:"none",position:"absolute",top:7,zIndex:1}})),Fy=()=>{let[e,t]=M.useState(false),[o,r]=M.useState(false),{setAddonState:n,addonState:i}=de(),s=T(),a=Pu(),l=Ny(),c=i&&i.previewPanelEnabled,p=i?i.placement:"auto",u=()=>{t(true);},f=()=>{t(false);},d=M.useCallback(()=>{n({...i,previewPanelEnabled:!c});},[i,c,n]),m=M.useCallback(h=>{n({...i,placement:h,previewPanelSize:hs});},[i,n]);return M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(components.Separator,null),M__namespace.default.createElement(components.WithTooltip,{placement:"bottom",trigger:"click",closeOnOutsideClick:true,tooltip:({onHide:h})=>M__namespace.default.createElement("div",{onMouseDown:S=>S.stopPropagation()},M__namespace.default.createElement(components.TooltipLinkList,{links:[{icon:M__namespace.default.createElement(icons.WrenchIcon,null),id:"fix-screenshot-file-name",onClick:()=>{r(true),h();},title:"Fix screenshot file name"},{icon:M__namespace.default.createElement(icons.ShareAltIcon,null),id:"full-screen",onClick:()=>{u(),h();},title:"Full screen view"},{icon:i?.previewPanelEnabled?M__namespace.default.createElement(icons.EyeCloseIcon,null):M__namespace.default.createElement(icons.EyeIcon,null),id:"panel-toggle",onClick:()=>{d();},title:i?.previewPanelEnabled?"Hide Preview Panel":"Show Preview Panel"},{content:M__namespace.default.createElement(components.WithTooltip,{trigger:"click",placement:"right-start",closeOnOutsideClick:true,tooltip:()=>M__namespace.default.createElement("div",{onMouseDown:S=>S.stopPropagation()},M__namespace.default.createElement(components.TooltipLinkList,{links:[{icon:M__namespace.default.createElement(icons.SidebarAltIcon,null),id:"right",onClick:()=>{m("right");},title:"Right"},{icon:M__namespace.default.createElement(icons.BottomBarIcon,null),id:"bottom",onClick:()=>{m("bottom");},title:"Bottom"},{icon:M__namespace.default.createElement(icons.SyncIcon,null),id:"auto",onClick:()=>{m("auto");},title:"Auto"}]}))},M__namespace.default.createElement(components.ListItem,{title:"Preview Panel Placement",icon:p==="right"?M__namespace.default.createElement(icons.SidebarAltIcon,null):p==="bottom"?M__namespace.default.createElement(icons.BottomBarIcon,null):M__namespace.default.createElement(icons.SyncIcon,null),right:M__namespace.default.createElement(icons.ChevronRightIcon,null)})),id:"position",title:"Position"},{icon:M__namespace.default.createElement(icons.RefreshIcon,null),id:"reset",onClick:()=>{a(),h();},title:"Reset Settings"}]}))},M__namespace.default.createElement(components.IconButton,{"aria-label":"Open menu",title:"Open menu"},M__namespace.default.createElement(icons.BrowserIcon,null))),s&&M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(components.Separator,null),M__namespace.default.createElement(cn,{classes:{button:l.button},storyData:s,target:"all"}),M__namespace.default.createElement(un,{target:"all"}),M__namespace.default.createElement("span",{className:l.asterisk},"*"),M__namespace.default.createElement(components.Separator,null),M__namespace.default.createElement(cn,{classes:{button:l.button},storyData:s,target:"file"}),M__namespace.default.createElement(un,{target:"file"}),M__namespace.default.createElement("span",{className:l.asterisk},"*")),o&&M__namespace.default.createElement(Kt,{open:o,onClose:()=>r(false)}),e&&M__namespace.default.createElement(as,{open:e,onClose:f}))},ys=()=>M__namespace.default.createElement(Ie,null,M__namespace.default.createElement(Fy,null));ys.displayName="Tool";function Ry(e){if(e)return e.reduce((t,o)=>(t[o]=o,t),{})}function Hy(e,t){if(t!==void 0)return t;switch(e){case "boolean":return false;case "number":return "";case "options":return [];default:return ""}}function Bu(e){return ii(e)}var Vy=({onChange:e,knob:t})=>{let o=s=>{e(s);},r=s=>{let a=t.type==="boolean"?s.currentTarget.checked:t.type==="number"?Bu(s.currentTarget.value):s.currentTarget.value;e(a);},n=s=>{e(s.currentTarget.value);},i=s=>{let a=t.type==="number"?Bu(s.currentTarget.value):s.currentTarget.value;e(a);};if(t.type==="boolean")return M__namespace.default.createElement(ho,{checked:!!t.value,onClick:()=>{},onChange:o});if(t.type==="number")return M__namespace.default.createElement(components.Form.Input,{onChange:r,type:"number",value:t.value});if(t.type==="select"&&Array.isArray(t.options))return M__namespace.default.createElement(components.Form.Select,{onChange:n,value:t.value},t.options.map(s=>M__namespace.default.createElement("option",{key:s,value:s},s)));if(t.type==="options"&&t.options&&typeof t.options=="object"){let s=t.options;return M__namespace.default.createElement(components.Form.Select,{onChange:n,value:t.value},Object.entries(s).map(([a,l])=>M__namespace.default.createElement("option",{key:a,value:l},a)))}return M__namespace.default.createElement(components.Form.Textarea,{onChange:i,value:t.value||""})};function Ky(e){return Vy}function fn(e){let{label:t,type:o,onChange:r,value:n,options:i,display:s}=e,[a,l]=M.useState(()=>({defaultValue:n,name:t,options:o==="select"?i:i?Ry(i):void 0,optionsObj:{display:s},type:o,value:Hy(o,n)})),c=Ky(),p=M.useCallback(u=>{l({...a,value:u}),r(u);},[a,r]);return {Control:c,handleChange:p,knob:a,setKnob:l}}function Lu(){let e=M__namespace.default.useRef(null),[t,o]=M__namespace.default.useState(),r=M__namespace.default.useCallback(i=>{o(e.current||i.currentTarget);},[]),n=M__namespace.default.useCallback(()=>{o(void 0);},[]);return {anchorEl:t,anchorElRef:e,clearAnchorEl:n,setAnchorEl:r}}function Fu(e,t=false){let[o,r]=M.useState(false),n=M.useCallback(({key:s})=>{o||s===e&&r(true);},[o,e]),i=M.useCallback(({key:s})=>{s===e&&r(false);},[e]);return Wt(n,i,t),o}function qc(){let e=M.useRef(void 0);return e.current||(e.current=Pe()||void 0),M.useEffect(()=>()=>{e.current=void 0;},[]),e.current}function jt(){let e=$l(),t=M.useCallback(n=>{let{onData:i,onStop:s,selectorAttributeNames:a,type:l}=n;wi({onData:i,onStop:s,selectorAttributeNames:a,start:true,type:l});},[]),o=M.useCallback(()=>{e.onStop&&e.onStop(),wi({onData:void 0,onStop:void 0,start:false});},[e]),r=M.useCallback(n=>{e.onData&&e.onData(n);},[e]);return {selectorManager:e,setSelectorData:r,startSelector:t,stopSelector:o}}var Io=e=>{let{imgSrcString:t,diffDirection:o}=e,r=Fu("Control"),n=M.useRef(),[i,s]=M.useState(false);return M.useEffect(()=>{n.current!==t&&s(true),n.current=t;},[t]),M__namespace.default.useEffect(()=>{i&&s(false);},[i]),!t||i?null:M__namespace.default.createElement(reactMapInteraction.MapInteraction,{defaultScale:1,disableZoom:!r},({translation:a,scale:l})=>{let c=`translate(${a.x}px, ${a.y}px) scale(${l})`;return M__namespace.default.createElement("div",{style:{MozUserSelect:"none",WebkitUserSelect:"none",cursor:"all-scroll",height:"100%",msTouchAction:"none",msUserSelect:"none",position:"relative",touchAction:"none",width:"100%"}},M__namespace.default.createElement("div",{style:{display:"inline-block",transform:c,transformOrigin:"0 0 "}},M__namespace.default.createElement("img",{style:{width:o==="horizontal"?"100%":void 0},src:t.startsWith("data:image")?t:`data:image/gif;base64,${t}`})))})};Io.displayName="ImagePreview";var e1=y(()=>({preview:{flexGrow:1,margin:5,overflow:"auto"},root:{display:"flex",flexFlow:"column",height:"100%",overflow:"hidden",position:"relative",width:"100%"}}),{name:"ImageDiffPreview"});var Po=e=>{let{imageDiffResult:t,activeTab:o}=e,r=o==="imageDiff"||t.error!==void 0,[n,i]=M__namespace.default.useState(r?1:0),[s,a]=M__namespace.default.useState(r),l=e1(),p=(t.pass||!s?t.newScreenshot:t.imgSrcString)||"",u=At(t),f=M.useCallback((d,m)=>{i(m),a(!s);},[s]);return M__namespace.default.createElement("div",{className:l.root},!t.pass&&M__namespace.default.createElement(M__namespace.default.Fragment,null,M__namespace.default.createElement(material.Tabs,{textColor:"primary",value:n,variant:"fullWidth",onChange:f,indicatorColor:"primary"},M__namespace.default.createElement(material.Tab,{label:"New screen shot"}),M__namespace.default.createElement(material.Tab,{label:"Screenshot image diff"})),M__namespace.default.createElement(material.Divider,null)),u&&n===1&&M__namespace.default.createElement(material.Alert,{severity:"error"},u.split(`
|
|
17
17
|
`).map((d,m)=>M__namespace.default.createElement("div",{key:m},d))),M__namespace.default.createElement("div",{className:l.preview},M__namespace.default.createElement(Io,{imgSrcString:p,diffDirection:t.diffDirection})))};Po.displayName="ImageDiffPreview";var ut=e=>{let{imageDiffResult:t,activeTab:o,...r}=e;return M__namespace.default.createElement(ve,{width:"100%",height:"100%",...r},M__namespace.default.createElement(Po,{imageDiffResult:t,activeTab:o}))};ut.displayName="ImageDiffPreviewDialog";var Ru=e=>{let{title:t,result:o,onClose:r,browserType:n,...i}=e,s=t||o&&o.oldScreenShotTitle;return M__namespace.default.useEffect(()=>{o&&o.added&&v.success(`Screenshot ${`${n?` for '${n}'`:""}`} saved successfully.`,{duration:5e3,onAutoClose:r,onDismiss:r});},[n,r,o]),M__namespace.default.useEffect(()=>{if(o){if(o.pass){v.success(`Testing existing screenshot were successful, no change has been detected.${s?`
|