velloo 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/canvas/assets/index-CnyI3aig.js +29 -0
  2. package/canvas/assets/index-GNLd0pCG.css +2 -0
  3. package/canvas/assets/lucide-all-CH8LmVh0.js +1 -0
  4. package/canvas/index.html +2 -2
  5. package/{chunk-j7tzbt3d.js → chunk-08mjtg1e.js} +1 -1
  6. package/{chunk-afe25dpr.js → chunk-1gkeepkm.js} +1 -1
  7. package/{chunk-5ma8zbty.js → chunk-1td6z6ey.js} +1 -1
  8. package/{chunk-wkqrb2tz.js → chunk-2ba6edh8.js} +1 -1
  9. package/chunk-2q561dec.js +2 -0
  10. package/chunk-2web93qz.js +2 -0
  11. package/{chunk-6ytv1v2r.js → chunk-3trkmgfr.js} +1 -1
  12. package/chunk-52m26hh4.js +3 -0
  13. package/{chunk-3ffs39e8.js → chunk-56vfy0db.js} +1 -1
  14. package/{chunk-qpv28z8d.js → chunk-56z5xd5b.js} +1 -1
  15. package/{chunk-d4r0myxr.js → chunk-63y5gdzw.js} +1 -1
  16. package/{chunk-5y9hem1j.js → chunk-6813v926.js} +257 -3
  17. package/{chunk-hr3gbak5.js → chunk-69qb8p8s.js} +1 -1
  18. package/chunk-74yxy75r.js +3 -0
  19. package/{chunk-4pkw6d9n.js → chunk-8cj4swpr.js} +5 -5
  20. package/chunk-8grzf8q1.js +2 -0
  21. package/chunk-8vam2893.js +3 -0
  22. package/{chunk-675tr675.js → chunk-8vgpffn7.js} +1 -1
  23. package/{chunk-z78c1kf8.js → chunk-96qhpth5.js} +1 -1
  24. package/{chunk-tw4kw4ps.js → chunk-ab8fga32.js} +1 -1
  25. package/{chunk-asvdqkdp.js → chunk-azeqkms7.js} +1 -1
  26. package/{chunk-df557bn4.js → chunk-bc7pkjcn.js} +1 -1
  27. package/{chunk-1h3gqy7w.js → chunk-c4spp880.js} +1 -1
  28. package/{chunk-ngbqd7kb.js → chunk-chtv0yj6.js} +184 -103
  29. package/{chunk-xzkczmgg.js → chunk-dar6wbf2.js} +1 -1
  30. package/{chunk-ryga3ny1.js → chunk-e2btp1wd.js} +1 -1
  31. package/{chunk-rd65xm6r.js → chunk-eqjtq673.js} +1 -1
  32. package/{chunk-vrvkvb0v.js → chunk-esb7n55g.js} +3 -3
  33. package/chunk-ey65err5.js +5 -0
  34. package/{chunk-cqt1dpxd.js → chunk-ff0jfn0v.js} +1 -1
  35. package/chunk-ff2vt7cz.js +12 -0
  36. package/{chunk-f45p6kcb.js → chunk-g185gx8a.js} +1 -1
  37. package/{chunk-d9kx7v12.js → chunk-h85hv05d.js} +1 -1
  38. package/{chunk-vryadew3.js → chunk-hf4adxe0.js} +2 -2
  39. package/{chunk-edgwx026.js → chunk-hjc5eg5c.js} +1 -1
  40. package/{chunk-gn9wcc1b.js → chunk-hsfpbjpc.js} +1 -1
  41. package/{chunk-4sjvdakg.js → chunk-jsvkqae2.js} +1 -1
  42. package/{chunk-b3x80jc1.js → chunk-k423dkjz.js} +1 -1
  43. package/{chunk-0wqxb8r9.js → chunk-mfch0b0t.js} +1 -1
  44. package/{chunk-cdqah1hy.js → chunk-nx09zqgs.js} +1 -1
  45. package/chunk-p93x4pn2.js +3 -0
  46. package/{chunk-ahm4zd56.js → chunk-pxaxgkaq.js} +1 -1
  47. package/{chunk-5f0xv80x.js → chunk-qwccndcd.js} +1 -1
  48. package/{chunk-33t0csxs.js → chunk-rjjc9vam.js} +1 -1
  49. package/{chunk-0wafc9aw.js → chunk-rk238m15.js} +1 -1
  50. package/chunk-t2x3mztc.js +2 -0
  51. package/{chunk-42bj6r30.js → chunk-t6qr2ay9.js} +1 -1
  52. package/chunk-ta84ehgg.js +2 -0
  53. package/chunk-tac2wvc7.js +2 -0
  54. package/chunk-tbd6wn3q.js +6 -0
  55. package/chunk-w2naqxqt.js +2 -0
  56. package/chunk-wfhv9jg4.js +2 -0
  57. package/chunk-wnj432fw.js +3 -0
  58. package/chunk-x02z2ccm.js +2 -0
  59. package/{chunk-a16mz9zf.js → chunk-xtwx2p9g.js} +1 -1
  60. package/chunk-yfvc8d2g.js +716 -0
  61. package/chunk-z73q4dq9.js +2 -0
  62. package/{chunk-ycrddh47.js → chunk-ztsckexy.js} +2 -2
  63. package/cli.js +1 -1
  64. package/package.json +1 -1
  65. package/pkgs/helpers/src/descriptors.ts +1 -0
  66. package/pkgs/helpers/src/index.ts +7 -4
  67. package/pkgs/helpers/src/lowering.ts +0 -24
  68. package/pkgs/helpers/src/primitive-classes.tsx +43 -0
  69. package/pkgs/provider-antd/src/intro.ts +3 -3
  70. package/pkgs/provider-antd/src/manifest.ts +478 -57
  71. package/pkgs/provider-antd/src/registry.ts +8 -5
  72. package/pkgs/provider-antd/src/render-pass.ts +10 -4
  73. package/pkgs/provider-antd/src/reset-css.d.ts +5 -0
  74. package/pkgs/provider-antd/src/theme.ts +54 -11
  75. package/pkgs/provider-chakra/src/manifest.ts +5 -1
  76. package/pkgs/provider-mui/src/index.ts +4 -2
  77. package/pkgs/provider-mui/src/manifest.ts +10 -1
  78. package/pkgs/provider-mui/src/render-pass.ts +15 -1
  79. package/pkgs/provider-mui/src/theme.ts +10 -4
  80. package/pkgs/provider-none/src/components.tsx +15 -50
  81. package/pkgs/provider-none/src/manifest.ts +1 -0
  82. package/pkgs/schema/src/annotation.ts +6 -3
  83. package/pkgs/schema/src/comment.ts +10 -1
  84. package/pkgs/schema/src/index.ts +13 -1
  85. package/pkgs/schema/src/node-identity.ts +92 -0
  86. package/pkgs/schema/src/node.ts +13 -4
  87. package/pkgs/schema/src/theme.ts +6 -1
  88. package/pkgs/schema/src/typeset.ts +24 -17
  89. package/pkgs/shadcn-snapshot/dist/manifest.json +1 -0
  90. package/pkgs/shadcn-snapshot/src/components/ui/alert.tsx +2 -4
  91. package/pkgs/shadcn-snapshot/src/components/ui/aspect-ratio.tsx +2 -3
  92. package/pkgs/shadcn-snapshot/src/components/ui/attachment.tsx +3 -4
  93. package/pkgs/shadcn-snapshot/src/components/ui/avatar.tsx +2 -4
  94. package/pkgs/shadcn-snapshot/src/components/ui/badge.tsx +2 -4
  95. package/pkgs/shadcn-snapshot/src/components/ui/breadcrumb.tsx +2 -4
  96. package/pkgs/shadcn-snapshot/src/components/ui/bubble.tsx +2 -4
  97. package/pkgs/shadcn-snapshot/src/components/ui/button-group.tsx +3 -4
  98. package/pkgs/shadcn-snapshot/src/components/ui/button.tsx +2 -4
  99. package/pkgs/shadcn-snapshot/src/components/ui/card.tsx +2 -4
  100. package/pkgs/shadcn-snapshot/src/components/ui/carousel.tsx +3 -4
  101. package/pkgs/shadcn-snapshot/src/components/ui/chart.tsx +1 -1
  102. package/pkgs/shadcn-snapshot/src/components/ui/direction.tsx +2 -3
  103. package/pkgs/shadcn-snapshot/src/components/ui/empty.tsx +2 -4
  104. package/pkgs/shadcn-snapshot/src/components/ui/field.tsx +3 -4
  105. package/pkgs/shadcn-snapshot/src/components/ui/input-group.tsx +3 -4
  106. package/pkgs/shadcn-snapshot/src/components/ui/item.tsx +3 -4
  107. package/pkgs/shadcn-snapshot/src/components/ui/kbd.tsx +2 -3
  108. package/pkgs/shadcn-snapshot/src/components/ui/label.tsx +2 -4
  109. package/pkgs/shadcn-snapshot/src/components/ui/marker.tsx +2 -4
  110. package/pkgs/shadcn-snapshot/src/components/ui/message.tsx +2 -4
  111. package/pkgs/shadcn-snapshot/src/components/ui/native-select.tsx +2 -4
  112. package/pkgs/shadcn-snapshot/src/components/ui/navigation-menu.tsx +2 -4
  113. package/pkgs/shadcn-snapshot/src/components/ui/pagination.tsx +3 -4
  114. package/pkgs/shadcn-snapshot/src/components/ui/progress.tsx +2 -4
  115. package/pkgs/shadcn-snapshot/src/components/ui/radio-group.tsx +2 -4
  116. package/pkgs/shadcn-snapshot/src/components/ui/scroll-area.tsx +2 -4
  117. package/pkgs/shadcn-snapshot/src/components/ui/separator.tsx +2 -4
  118. package/pkgs/shadcn-snapshot/src/components/ui/skeleton.tsx +2 -3
  119. package/pkgs/shadcn-snapshot/src/components/ui/spinner.tsx +2 -3
  120. package/pkgs/shadcn-snapshot/src/components/ui/table.tsx +2 -4
  121. package/pkgs/shadcn-snapshot/src/components/ui/tabs.tsx +2 -4
  122. package/pkgs/shadcn-snapshot/src/components/ui/toggle.tsx +2 -4
  123. package/pkgs/shadcn-snapshot/src/shadcn-tailwind.css +1 -1
  124. package/pkgs/shadcn-snapshot/src/tailwind-entry.css +1 -1
  125. package/canvas/assets/index-BDBBHdHH.css +0 -2
  126. package/canvas/assets/index-QdsLJNY9.js +0 -29
  127. package/canvas/assets/lucide-all-R8DUyY-B.js +0 -1
  128. package/chunk-0rdf6trc.js +0 -2
  129. package/chunk-10hap8kc.js +0 -6
  130. package/chunk-18eqh3s1.js +0 -2
  131. package/chunk-19xyzep8.js +0 -2
  132. package/chunk-49w26e94.js +0 -5
  133. package/chunk-66qgm91k.js +0 -708
  134. package/chunk-6cgvzwec.js +0 -3
  135. package/chunk-75sc3adm.js +0 -2
  136. package/chunk-7cexzg71.js +0 -2
  137. package/chunk-98rann8t.js +0 -2
  138. package/chunk-emv1j50t.js +0 -2
  139. package/chunk-ewgdcgrk.js +0 -2
  140. package/chunk-mm8wv3bg.js +0 -3
  141. package/chunk-nkqtnwzz.js +0 -2
  142. package/chunk-q3kf8243.js +0 -3
  143. package/chunk-sb5h27w9.js +0 -3
  144. package/chunk-vgx47anc.js +0 -3
  145. package/chunk-w6f40y2x.js +0 -11
  146. package/chunk-we8hvy6e.js +0 -2
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{require_react_development}from"./chunk-ngbqd7kb.js";import{__toESM,__commonJS,__require}from"./chunk-2smsg2ct.js";var require_emotion_sheet_development_cjs=__commonJS(function(exports){Object.defineProperty(exports,"__esModule",{value:!0});var isDevelopment=!0;function sheetForTag(tag){if(tag.sheet)return tag.sheet;for(var i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].ownerNode===tag)return document.styleSheets[i];return}function createStyleElement(options){var tag=document.createElement("style");if(tag.setAttribute("data-emotion",options.key),options.nonce!==void 0)tag.setAttribute("nonce",options.nonce);return tag.appendChild(document.createTextNode("")),tag.setAttribute("data-s",""),tag}var StyleSheet=function(){function StyleSheet(options){var _this=this;this._insertTag=function(tag){var before;if(_this.tags.length===0)if(_this.insertionPoint)before=_this.insertionPoint.nextSibling;else if(_this.prepend)before=_this.container.firstChild;else before=_this.before;else before=_this.tags[_this.tags.length-1].nextSibling;_this.container.insertBefore(tag,before),_this.tags.push(tag)},this.isSpeedy=options.speedy===void 0?!isDevelopment:options.speedy,this.tags=[],this.ctr=0,this.nonce=options.nonce,this.key=options.key,this.container=options.container,this.prepend=options.prepend,this.insertionPoint=options.insertionPoint,this.before=null}var _proto=StyleSheet.prototype;return _proto.hydrate=function(nodes){nodes.forEach(this._insertTag)},_proto.insert=function(rule){if(this.ctr%(this.isSpeedy?65000:1)===0)this._insertTag(createStyleElement(this));var tag=this.tags[this.tags.length-1];{var isImportRule=rule.charCodeAt(0)===64&&rule.charCodeAt(1)===105;if(isImportRule&&this._alreadyInsertedOrderInsensitiveRule)console.error(`You're attempting to insert the following rule:
2
+ import{require_react_development}from"./chunk-chtv0yj6.js";import{__toESM,__commonJS,__require}from"./chunk-2smsg2ct.js";var require_emotion_sheet_development_cjs=__commonJS(function(exports){Object.defineProperty(exports,"__esModule",{value:!0});var isDevelopment=!0;function sheetForTag(tag){if(tag.sheet)return tag.sheet;for(var i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].ownerNode===tag)return document.styleSheets[i];return}function createStyleElement(options){var tag=document.createElement("style");if(tag.setAttribute("data-emotion",options.key),options.nonce!==void 0)tag.setAttribute("nonce",options.nonce);return tag.appendChild(document.createTextNode("")),tag.setAttribute("data-s",""),tag}var StyleSheet=function(){function StyleSheet(options){var _this=this;this._insertTag=function(tag){var before;if(_this.tags.length===0)if(_this.insertionPoint)before=_this.insertionPoint.nextSibling;else if(_this.prepend)before=_this.container.firstChild;else before=_this.before;else before=_this.tags[_this.tags.length-1].nextSibling;_this.container.insertBefore(tag,before),_this.tags.push(tag)},this.isSpeedy=options.speedy===void 0?!isDevelopment:options.speedy,this.tags=[],this.ctr=0,this.nonce=options.nonce,this.key=options.key,this.container=options.container,this.prepend=options.prepend,this.insertionPoint=options.insertionPoint,this.before=null}var _proto=StyleSheet.prototype;return _proto.hydrate=function(nodes){nodes.forEach(this._insertTag)},_proto.insert=function(rule){if(this.ctr%(this.isSpeedy?65000:1)===0)this._insertTag(createStyleElement(this));var tag=this.tags[this.tags.length-1];{var isImportRule=rule.charCodeAt(0)===64&&rule.charCodeAt(1)===105;if(isImportRule&&this._alreadyInsertedOrderInsensitiveRule)console.error(`You're attempting to insert the following rule:
3
3
  `+rule+"\n\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.");this._alreadyInsertedOrderInsensitiveRule=this._alreadyInsertedOrderInsensitiveRule||!isImportRule}if(this.isSpeedy){var sheet=sheetForTag(tag);try{sheet.insertRule(rule,sheet.cssRules.length)}catch(e){if(!/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule))console.error('There was a problem inserting the following rule: "'+rule+'"',e)}}else tag.appendChild(document.createTextNode(rule));this.ctr++},_proto.flush=function(){this.tags.forEach(function(tag){var _tag$parentNode;return(_tag$parentNode=tag.parentNode)==null?void 0:_tag$parentNode.removeChild(tag)}),this.tags=[],this.ctr=0,this._alreadyInsertedOrderInsensitiveRule=!1},StyleSheet}();exports.StyleSheet=StyleSheet});var require_stylis=__commonJS(function(exports,module){(function(e,r){typeof exports==="object"&&typeof module<"u"?r(exports):typeof define==="function"&&define.amd?define(["exports"],r):(e=e||self,r(e.stylis={}))})(exports,function(e){var r="-ms-",a="-moz-",c="-webkit-",n="comm",t="rule",s="decl",i="@page",u="@media",o="@import",f="@charset",l="@viewport",p="@supports",h="@document",v="@namespace",d="@keyframes",b="@font-face",w="@counter-style",m="@font-feature-values",g="@layer",k=Math.abs,$=String.fromCharCode,x=Object.assign;function E(e,r){return M(e,0)^45?(((r<<2^M(e,0))<<2^M(e,1))<<2^M(e,2))<<2^M(e,3):0}function y(e){return e.trim()}function T(e,r){return(e=r.exec(e))?e[0]:e}function A(e,r,a){return e.replace(r,a)}function O(e,r){return e.indexOf(r)}function M(e,r){return e.charCodeAt(r)|0}function C(e,r,a){return e.slice(r,a)}function R(e){return e.length}function S(e){return e.length}function z(e,r){return r.push(e),e}function N(e,r){return e.map(r).join("")}e.line=1,e.column=1,e.length=0,e.position=0,e.character=0,e.characters="";function P(r,a,c,n,t,s,i){return{value:r,root:a,parent:c,type:n,props:t,children:s,line:e.line,column:e.column,length:i,return:""}}function j(e,r){return x(P("",null,null,"",null,null,0),e,{length:-e.length},r)}function U(){return e.character}function _(){if(e.character=e.position>0?M(e.characters,--e.position):0,e.column--,e.character===10)e.column=1,e.line--;return e.character}function F(){if(e.character=e.position<e.length?M(e.characters,e.position++):0,e.column++,e.character===10)e.column=1,e.line++;return e.character}function I(){return M(e.characters,e.position)}function L(){return e.position}function D(r,a){return C(e.characters,r,a)}function Y(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function K(r){return e.line=e.column=1,e.length=R(e.characters=r),e.position=0,[]}function V(r){return e.characters="",r}function W(r){return y(D(e.position-1,q(r===91?r+2:r===40?r+1:r)))}function B(e){return V(H(K(e)))}function G(r){while(e.character=I())if(e.character<33)F();else break;return Y(r)>2||Y(e.character)>3?"":" "}function H(r){while(F())switch(Y(e.character)){case 0:z(Q(e.position-1),r);break;case 2:z(W(e.character),r);break;default:z($(e.character),r)}return r}function Z(r,a){while(--a&&F())if(e.character<48||e.character>102||e.character>57&&e.character<65||e.character>70&&e.character<97)break;return D(r,L()+(a<6&&I()==32&&F()==32))}function q(r){while(F())switch(e.character){case r:return e.position;case 34:case 39:if(r!==34&&r!==39)q(e.character);break;case 40:if(r===41)q(r);break;case 92:F();break}return e.position}function J(r,a){while(F())if(r+e.character===57)break;else if(r+e.character===84&&I()===47)break;return"/*"+D(a,e.position-1)+"*"+$(r===47?r:F())}function Q(r){while(!Y(I()))F();return D(r,e.position)}function X(e){return V(ee("",null,null,null,[""],e=K(e),0,[0],e))}function ee(e,r,a,c,n,t,s,i,u){var o=0,f=0,l=s,p=0,h=0,v=0,d=1,b=1,w=1,m=0,g="",k=n,x=t,E=c,y=g;while(b)switch(v=m,m=F()){case 40:if(v!=108&&M(y,l-1)==58){if(O(y+=A(W(m),"&","&\f"),"&\f")!=-1)w=-1;break}case 34:case 39:case 91:y+=W(m);break;case 9:case 10:case 13:case 32:y+=G(v);break;case 92:y+=Z(L()-1,7);continue;case 47:switch(I()){case 42:case 47:z(ae(J(F(),L()),r,a),u);break;default:y+="/"}break;case 123*d:i[o++]=R(y)*w;case 125*d:case 59:case 0:switch(m){case 0:case 125:b=0;case 59+f:if(w==-1)y=A(y,/\f/g,"");if(h>0&&R(y)-l)z(h>32?ce(y+";",c,a,l-1):ce(A(y," ","")+";",c,a,l-2),u);break;case 59:y+=";";default:if(z(E=re(y,r,a,o,f,n,i,g,k=[],x=[],l),t),m===123)if(f===0)ee(y,r,E,E,k,t,l,i,x);else switch(p===99&&M(y,3)===110?100:p){case 100:case 108:case 109:case 115:ee(e,E,E,c&&z(re(e,E,E,0,0,n,i,g,n,k=[],l),x),n,x,l,i,c?k:x);break;default:ee(y,E,E,E,[""],x,0,i,x)}}o=f=h=0,d=w=1,g=y="",l=s;break;case 58:l=1+R(y),h=v;default:if(d<1){if(m==123)--d;else if(m==125&&d++==0&&_()==125)continue}switch(y+=$(m),m*d){case 38:w=f>0?1:(y+="\f",-1);break;case 44:i[o++]=(R(y)-1)*w,w=1;break;case 64:if(I()===45)y+=W(F());p=I(),f=l=R(g=y+=Q(L())),m++;break;case 45:if(v===45&&R(y)==2)d=0}}return t}function re(e,r,a,c,n,s,i,u,o,f,l){var p=n-1,h=n===0?s:[""],v=S(h);for(var d=0,b=0,w=0;d<c;++d)for(var m=0,g=C(e,p+1,p=k(b=i[d])),$=e;m<v;++m)if($=y(b>0?h[m]+" "+g:A(g,/&\f/g,h[m])))o[w++]=$;return P(e,r,a,n===0?t:u,o,f,l)}function ae(e,r,a){return P(e,r,a,n,$(U()),C(e,2,-2),0)}function ce(e,r,a,c){return P(e,r,a,s,C(e,0,c),C(e,c+1,-1),c)}function ne(e,n,t){switch(E(e,n)){case 5103:return c+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return c+e+e;case 4789:return a+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return c+e+a+e+r+e+e;case 5936:switch(M(e,n+11)){case 114:return c+e+r+A(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return c+e+r+A(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return c+e+r+A(e,/[svh]\w+-[tblr]{2}/,"lr")+e}case 6828:case 4268:case 2903:return c+e+r+e+e;case 6165:return c+e+r+"flex-"+e+e;case 5187:return c+e+A(e,/(\w+).+(:[^]+)/,c+"box-$1$2"+r+"flex-$1$2")+e;case 5443:return c+e+r+"flex-item-"+A(e,/flex-|-self/g,"")+(!T(e,/flex-|baseline/)?r+"grid-row-"+A(e,/flex-|-self/g,""):"")+e;case 4675:return c+e+r+"flex-line-pack"+A(e,/align-content|flex-|-self/g,"")+e;case 5548:return c+e+r+A(e,"shrink","negative")+e;case 5292:return c+e+r+A(e,"basis","preferred-size")+e;case 6060:return c+"box-"+A(e,"-grow","")+c+e+r+A(e,"grow","positive")+e;case 4554:return c+A(e,/([^-])(transform)/g,"$1"+c+"$2")+e;case 6187:return A(A(A(e,/(zoom-|grab)/,c+"$1"),/(image-set)/,c+"$1"),e,"")+e;case 5495:case 3959:return A(e,/(image-set\([^]*)/,c+"$1$`$1");case 4968:return A(A(e,/(.+:)(flex-)?(.*)/,c+"box-pack:$3"+r+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+c+e+e;case 4200:if(!T(e,/flex-|baseline/))return r+"grid-column-align"+C(e,n)+e;break;case 2592:case 3360:return r+A(e,"template-","")+e;case 4384:case 3616:if(t&&t.some(function(e,r){return n=r,T(e.props,/grid-\w+-end/)}))return~O(e+(t=t[n].value),"span")?e:r+A(e,"-start","")+e+r+"grid-row-span:"+(~O(t,"span")?T(t,/\d+/):+T(t,/\d+/)-+T(e,/\d+/))+";";return r+A(e,"-start","")+e;case 4896:case 4128:return t&&t.some(function(e){return T(e.props,/grid-\w+-start/)})?e:r+A(A(e,"-end","-span"),"span ","")+e;case 4095:case 3583:case 4068:case 2532:return A(e,/(.+)-inline(.+)/,c+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(R(e)-1-n>6)switch(M(e,n+1)){case 109:if(M(e,n+4)!==45)break;case 102:return A(e,/(.+:)(.+)-([^]+)/,"$1"+c+"$2-$3$1"+a+(M(e,n+3)==108?"$3":"$2-$3"))+e;case 115:return~O(e,"stretch")?ne(A(e,"stretch","fill-available"),n,t)+e:e}break;case 5152:case 5920:return A(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(a,c,n,t,s,i,u){return r+c+":"+n+u+(t?r+c+"-span:"+(s?i:+i-+n)+u:"")+e});case 4949:if(M(e,n+6)===121)return A(e,":",":"+c)+e;break;case 6444:switch(M(e,M(e,14)===45?18:11)){case 120:return A(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+c+(M(e,14)===45?"inline-":"")+"box$3$1"+c+"$2$3$1"+r+"$2box$3")+e;case 100:return A(e,":",":"+r)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return A(e,"scroll-","scroll-snap-")+e}return e}function te(e,r){var a="",c=S(e);for(var n=0;n<c;n++)a+=r(e[n],n,e,r)||"";return a}function se(e,r,a,c){switch(e.type){case g:if(e.children.length)break;case o:case s:return e.return=e.return||e.value;case n:return"";case d:return e.return=e.value+"{"+te(e.children,c)+"}";case t:e.value=e.props.join(",")}return R(a=te(e.children,c))?e.return=e.value+"{"+a+"}":""}function ie(e){var r=S(e);return function(a,c,n,t){var s="";for(var i=0;i<r;i++)s+=e[i](a,c,n,t)||"";return s}}function ue(e){return function(r){if(!r.root){if(r=r.return)e(r)}}}function oe(e,n,i,u){if(e.length>-1){if(!e.return)switch(e.type){case s:e.return=ne(e.value,e.length,i);return;case d:return te([j(e,{value:A(e.value,"@","@"+c)})],u);case t:if(e.length)return N(e.props,function(n){switch(T(n,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return te([j(e,{props:[A(n,/:(read-\w+)/,":"+a+"$1")]})],u);case"::placeholder":return te([j(e,{props:[A(n,/:(plac\w+)/,":"+c+"input-$1")]}),j(e,{props:[A(n,/:(plac\w+)/,":"+a+"$1")]}),j(e,{props:[A(n,/:(plac\w+)/,r+"input-$1")]})],u)}return""})}}}function fe(e){switch(e.type){case t:e.props=e.props.map(function(r){return N(B(r),function(r,a,c){switch(M(r,0)){case 12:return C(r,1,R(r));case 0:case 40:case 43:case 62:case 126:return r;case 58:if(c[++a]==="global")c[a]="",c[++a]="\f"+C(c[a],a=1,-1);case 32:return a===1?"":r;default:switch(a){case 0:return e=r,S(c)>1?"":r;case(a=S(c)-1):case 2:return a===2?r+e+e:r+e;default:return r}}})})}}e.CHARSET=f,e.COMMENT=n,e.COUNTER_STYLE=w,e.DECLARATION=s,e.DOCUMENT=h,e.FONT_FACE=b,e.FONT_FEATURE_VALUES=m,e.IMPORT=o,e.KEYFRAMES=d,e.LAYER=g,e.MEDIA=u,e.MOZ=a,e.MS=r,e.NAMESPACE=v,e.PAGE=i,e.RULESET=t,e.SUPPORTS=p,e.VIEWPORT=l,e.WEBKIT=c,e.abs=k,e.alloc=K,e.append=z,e.assign=x,e.caret=L,e.char=U,e.charat=M,e.combine=N,e.comment=ae,e.commenter=J,e.compile=X,e.copy=j,e.dealloc=V,e.declaration=ce,e.delimit=W,e.delimiter=q,e.escaping=Z,e.from=$,e.hash=E,e.identifier=Q,e.indexof=O,e.match=T,e.middleware=ie,e.namespace=fe,e.next=F,e.node=P,e.parse=ee,e.peek=I,e.prefix=ne,e.prefixer=oe,e.prev=_,e.replace=A,e.ruleset=re,e.rulesheet=ue,e.serialize=te,e.sizeof=S,e.slice=D,e.stringify=se,e.strlen=R,e.substr=C,e.token=Y,e.tokenize=B,e.tokenizer=H,e.trim=y,e.whitespace=G,Object.defineProperty(e,"__esModule",{value:!0})})});var require_emotion_weak_memoize_cjs_dev=__commonJS(function(exports){Object.defineProperty(exports,"__esModule",{value:!0});var weakMemoize=function(func){var cache=new WeakMap;return function(arg){if(cache.has(arg))return cache.get(arg);var ret=func(arg);return cache.set(arg,ret),ret}};exports.default=weakMemoize});var require_emotion_memoize_cjs_dev=__commonJS(function(exports){Object.defineProperty(exports,"__esModule",{value:!0});function memoize(fn){var cache=Object.create(null);return function(arg){if(cache[arg]===void 0)cache[arg]=fn(arg);return cache[arg]}}exports.default=memoize});var require_emotion_cache_development_cjs=__commonJS(function(exports){Object.defineProperty(exports,"__esModule",{value:!0});var sheet=require_emotion_sheet_development_cjs(),stylis=require_stylis(),weakMemoize=require_emotion_weak_memoize_cjs_dev(),memoize=require_emotion_memoize_cjs_dev();function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var weakMemoize__default=_interopDefault(weakMemoize),memoize__default=_interopDefault(memoize),isBrowser=typeof document<"u",identifierWithPointTracking=function(begin,points,index){var previous=0,character=0;while(!0){if(previous=character,character=stylis.peek(),previous===38&&character===12)points[index]=1;if(stylis.token(character))break;stylis.next()}return stylis.slice(begin,stylis.position)},toRules=function(parsed,points){var index=-1,character=44;do switch(stylis.token(character)){case 0:if(character===38&&stylis.peek()===12)points[index]=1;parsed[index]+=identifierWithPointTracking(stylis.position-1,points,index);break;case 2:parsed[index]+=stylis.delimit(character);break;case 4:if(character===44){parsed[++index]=stylis.peek()===58?"&\f":"",points[index]=parsed[index].length;break}default:parsed[index]+=stylis.from(character)}while(character=stylis.next());return parsed},getRules=function(value,points){return stylis.dealloc(toRules(stylis.alloc(value),points))},fixedElements=new WeakMap,compat=function(element){if(element.type!=="rule"||!element.parent||element.length<1)return;var{value,parent}=element,isImplicitRule=element.column===parent.column&&element.line===parent.line;while(parent.type!=="rule")if(parent=parent.parent,!parent)return;if(element.props.length===1&&value.charCodeAt(0)!==58&&!fixedElements.get(parent))return;if(isImplicitRule)return;fixedElements.set(element,!0);var points=[],rules=getRules(value,points),parentRules=parent.props;for(var i=0,k=0;i<rules.length;i++)for(var j=0;j<parentRules.length;j++,k++)element.props[k]=points[i]?rules[i].replace(/&\f/g,parentRules[j]):parentRules[j]+" "+rules[i]},removeLabel=function(element){if(element.type==="decl"){var value=element.value;if(value.charCodeAt(0)===108&&value.charCodeAt(2)===98)element.return="",element.value=""}},ignoreFlag="emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason",isIgnoringComment=function(element){return element.type==="comm"&&element.children.indexOf(ignoreFlag)>-1},createUnsafeSelectorsAlarm=function(cache){return function(element,index,children){if(element.type!=="rule"||cache.compat)return;var unsafePseudoClasses=element.value.match(/(:first|:nth|:nth-last)-child/g);if(unsafePseudoClasses){var isNested=!!element.parent,commentContainer=isNested?element.parent.children:children;for(var i=commentContainer.length-1;i>=0;i--){var node=commentContainer[i];if(node.line<element.line)break;if(node.column<element.column){if(isIgnoringComment(node))return;break}}unsafePseudoClasses.forEach(function(unsafePseudoClass){console.error('The pseudo class "'+unsafePseudoClass+'" is potentially unsafe when doing server-side rendering. Try changing it to "'+unsafePseudoClass.split("-child")[0]+'-of-type".')})}}},isImportRule=function(element){return element.type.charCodeAt(1)===105&&element.type.charCodeAt(0)===64},isPrependedWithRegularRules=function(index,children){for(var i=index-1;i>=0;i--)if(!isImportRule(children[i]))return!0;return!1},nullifyElement=function(element){element.type="",element.value="",element.return="",element.children="",element.props=""},incorrectImportAlarm=function(element,index,children){if(!isImportRule(element))return;if(element.parent)console.error("`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles."),nullifyElement(element);else if(isPrependedWithRegularRules(index,children))console.error("`@import` rules can't be after other rules. Please put your `@import` rules before your other rules."),nullifyElement(element)};function prefix(value,length){switch(stylis.hash(value,length)){case 5103:return stylis.WEBKIT+"print-"+value+value;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return stylis.WEBKIT+value+value;case 5349:case 4246:case 4810:case 6968:case 2756:return stylis.WEBKIT+value+stylis.MOZ+value+stylis.MS+value+value;case 6828:case 4268:return stylis.WEBKIT+value+stylis.MS+value+value;case 6165:return stylis.WEBKIT+value+stylis.MS+"flex-"+value+value;case 5187:return stylis.WEBKIT+value+stylis.replace(value,/(\w+).+(:[^]+)/,stylis.WEBKIT+"box-$1$2"+stylis.MS+"flex-$1$2")+value;case 5443:return stylis.WEBKIT+value+stylis.MS+"flex-item-"+stylis.replace(value,/flex-|-self/,"")+value;case 4675:return stylis.WEBKIT+value+stylis.MS+"flex-line-pack"+stylis.replace(value,/align-content|flex-|-self/,"")+value;case 5548:return stylis.WEBKIT+value+stylis.MS+stylis.replace(value,"shrink","negative")+value;case 5292:return stylis.WEBKIT+value+stylis.MS+stylis.replace(value,"basis","preferred-size")+value;case 6060:return stylis.WEBKIT+"box-"+stylis.replace(value,"-grow","")+stylis.WEBKIT+value+stylis.MS+stylis.replace(value,"grow","positive")+value;case 4554:return stylis.WEBKIT+stylis.replace(value,/([^-])(transform)/g,"$1"+stylis.WEBKIT+"$2")+value;case 6187:return stylis.replace(stylis.replace(stylis.replace(value,/(zoom-|grab)/,stylis.WEBKIT+"$1"),/(image-set)/,stylis.WEBKIT+"$1"),value,"")+value;case 5495:case 3959:return stylis.replace(value,/(image-set\([^]*)/,stylis.WEBKIT+"$1$`$1");case 4968:return stylis.replace(stylis.replace(value,/(.+:)(flex-)?(.*)/,stylis.WEBKIT+"box-pack:$3"+stylis.MS+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+stylis.WEBKIT+value+value;case 4095:case 3583:case 4068:case 2532:return stylis.replace(value,/(.+)-inline(.+)/,stylis.WEBKIT+"$1$2")+value;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(stylis.strlen(value)-1-length>6)switch(stylis.charat(value,length+1)){case 109:if(stylis.charat(value,length+4)!==45)break;case 102:return stylis.replace(value,/(.+:)(.+)-([^]+)/,"$1"+stylis.WEBKIT+"$2-$3$1"+stylis.MOZ+(stylis.charat(value,length+3)==108?"$3":"$2-$3"))+value;case 115:return~stylis.indexof(value,"stretch")?prefix(stylis.replace(value,"stretch","fill-available"),length)+value:value}break;case 4949:if(stylis.charat(value,length+1)!==115)break;case 6444:switch(stylis.charat(value,stylis.strlen(value)-3-(~stylis.indexof(value,"!important")&&10))){case 107:return stylis.replace(value,":",":"+stylis.WEBKIT)+value;case 101:return stylis.replace(value,/(.+:)([^;!]+)(;|!.+)?/,"$1"+stylis.WEBKIT+(stylis.charat(value,14)===45?"inline-":"")+"box$3$1"+stylis.WEBKIT+"$2$3$1"+stylis.MS+"$2box$3")+value}break;case 5936:switch(stylis.charat(value,length+11)){case 114:return stylis.WEBKIT+value+stylis.MS+stylis.replace(value,/[svh]\w+-[tblr]{2}/,"tb")+value;case 108:return stylis.WEBKIT+value+stylis.MS+stylis.replace(value,/[svh]\w+-[tblr]{2}/,"tb-rl")+value;case 45:return stylis.WEBKIT+value+stylis.MS+stylis.replace(value,/[svh]\w+-[tblr]{2}/,"lr")+value}return stylis.WEBKIT+value+stylis.MS+value+value}return value}var prefixer=function(element,index,children,callback){if(element.length>-1){if(!element.return)switch(element.type){case stylis.DECLARATION:element.return=prefix(element.value,element.length);break;case stylis.KEYFRAMES:return stylis.serialize([stylis.copy(element,{value:stylis.replace(element.value,"@","@"+stylis.WEBKIT)})],callback);case stylis.RULESET:if(element.length)return stylis.combine(element.props,function(value){switch(stylis.match(value,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return stylis.serialize([stylis.copy(element,{props:[stylis.replace(value,/:(read-\w+)/,":"+stylis.MOZ+"$1")]})],callback);case"::placeholder":return stylis.serialize([stylis.copy(element,{props:[stylis.replace(value,/:(plac\w+)/,":"+stylis.WEBKIT+"input-$1")]}),stylis.copy(element,{props:[stylis.replace(value,/:(plac\w+)/,":"+stylis.MOZ+"$1")]}),stylis.copy(element,{props:[stylis.replace(value,/:(plac\w+)/,stylis.MS+"input-$1")]})],callback)}return""})}}},getServerStylisCache=isBrowser?void 0:weakMemoize__default.default(function(){return memoize__default.default(function(){return{}})}),defaultStylisPlugins=[prefixer],getSourceMap;sourceMapPattern=/\/\*#\ssourceMappingURL=data:application\/json;\S+\s+\*\//g,getSourceMap=function(styles){var matches=styles.match(sourceMapPattern);if(!matches)return;return matches[matches.length-1]};var sourceMapPattern,createCache=function(options){var key=options.key;if(!key)throw Error(`You have to configure \`key\` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.
4
4
  If multiple caches share the same key they might "fight" for each other's style elements.`);if(isBrowser&&key==="css"){var ssrStyles=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(ssrStyles,function(node){var dataEmotionAttribute=node.getAttribute("data-emotion");if(dataEmotionAttribute.indexOf(" ")===-1)return;document.head.appendChild(node),node.setAttribute("data-s","")})}var stylisPlugins=options.stylisPlugins||defaultStylisPlugins;if(/[^a-z-]/.test(key))throw Error('Emotion key must only contain lower case alphabetical characters and - but "'+key+'" was passed');var inserted={},container,nodesToHydrate=[];if(isBrowser)container=options.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+key+' "]'),function(node){var attrib=node.getAttribute("data-emotion").split(" ");for(var i=1;i<attrib.length;i++)inserted[attrib[i]]=!0;nodesToHydrate.push(node)});var _insert,omnipresentPlugins=[compat,removeLabel];if(omnipresentPlugins.push(createUnsafeSelectorsAlarm({get compat(){return cache.compat}}),incorrectImportAlarm),!getServerStylisCache){var currentSheet,finalizingPlugins=[stylis.stringify,function(element){if(!element.root){if(element.return)currentSheet.insert(element.return);else if(element.value&&element.type!==stylis.COMMENT)currentSheet.insert(element.value+"{}")}}],serializer=stylis.middleware(omnipresentPlugins.concat(stylisPlugins,finalizingPlugins)),stylis$1=function(styles){return stylis.serialize(stylis.compile(styles),serializer)};_insert=function(selector,serialized,sheet,shouldCache){if(currentSheet=sheet,getSourceMap){var sourceMap=getSourceMap(serialized.styles);if(sourceMap)currentSheet={insert:function(rule){sheet.insert(rule+sourceMap)}}}if(stylis$1(selector?selector+"{"+serialized.styles+"}":serialized.styles),shouldCache)cache.inserted[serialized.name]=!0}}else{var _finalizingPlugins=[stylis.stringify],_serializer=stylis.middleware(omnipresentPlugins.concat(stylisPlugins,_finalizingPlugins)),_stylis=function(styles){return stylis.serialize(stylis.compile(styles),_serializer)},serverStylisCache=getServerStylisCache(stylisPlugins)(key),getRules=function(selector,serialized){var name=serialized.name;if(serverStylisCache[name]===void 0)serverStylisCache[name]=_stylis(selector?selector+"{"+serialized.styles+"}":serialized.styles);return serverStylisCache[name]};_insert=function(selector,serialized,sheet,shouldCache){var name=serialized.name,rules=getRules(selector,serialized);if(cache.compat===void 0){if(shouldCache)cache.inserted[name]=!0;if(getSourceMap){var sourceMap=getSourceMap(serialized.styles);if(sourceMap)return rules+sourceMap}return rules}else if(shouldCache)cache.inserted[name]=rules;else return rules}}var cache={key,sheet:new sheet.StyleSheet({key,container,nonce:options.nonce,speedy:options.speedy,prepend:options.prepend,insertionPoint:options.insertionPoint}),nonce:options.nonce,inserted,registered:{},insert:_insert};return cache.sheet.hydrate(nodesToHydrate),cache};exports.default=createCache});var require_extends=__commonJS(function(exports,module){function _extends(){return module.exports=_extends=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)({}).hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},module.exports.__esModule=!0,module.exports.default=module.exports,_extends.apply(null,arguments)}module.exports=_extends,module.exports.__esModule=!0,module.exports.default=module.exports});var require_react_is_development=__commonJS(function(exports){(function(){var hasSymbol=typeof Symbol==="function"&&Symbol.for,REACT_ELEMENT_TYPE=hasSymbol?Symbol.for("react.element"):60103,REACT_PORTAL_TYPE=hasSymbol?Symbol.for("react.portal"):60106,REACT_FRAGMENT_TYPE=hasSymbol?Symbol.for("react.fragment"):60107,REACT_STRICT_MODE_TYPE=hasSymbol?Symbol.for("react.strict_mode"):60108,REACT_PROFILER_TYPE=hasSymbol?Symbol.for("react.profiler"):60114,REACT_PROVIDER_TYPE=hasSymbol?Symbol.for("react.provider"):60109,REACT_CONTEXT_TYPE=hasSymbol?Symbol.for("react.context"):60110,REACT_ASYNC_MODE_TYPE=hasSymbol?Symbol.for("react.async_mode"):60111,REACT_CONCURRENT_MODE_TYPE=hasSymbol?Symbol.for("react.concurrent_mode"):60111,REACT_FORWARD_REF_TYPE=hasSymbol?Symbol.for("react.forward_ref"):60112,REACT_SUSPENSE_TYPE=hasSymbol?Symbol.for("react.suspense"):60113,REACT_SUSPENSE_LIST_TYPE=hasSymbol?Symbol.for("react.suspense_list"):60120,REACT_MEMO_TYPE=hasSymbol?Symbol.for("react.memo"):60115,REACT_LAZY_TYPE=hasSymbol?Symbol.for("react.lazy"):60116,REACT_BLOCK_TYPE=hasSymbol?Symbol.for("react.block"):60121,REACT_FUNDAMENTAL_TYPE=hasSymbol?Symbol.for("react.fundamental"):60117,REACT_RESPONDER_TYPE=hasSymbol?Symbol.for("react.responder"):60118,REACT_SCOPE_TYPE=hasSymbol?Symbol.for("react.scope"):60119;function isValidElementType(type){return typeof type==="string"||typeof type==="function"||type===REACT_FRAGMENT_TYPE||type===REACT_CONCURRENT_MODE_TYPE||type===REACT_PROFILER_TYPE||type===REACT_STRICT_MODE_TYPE||type===REACT_SUSPENSE_TYPE||type===REACT_SUSPENSE_LIST_TYPE||typeof type==="object"&&type!==null&&(type.$$typeof===REACT_LAZY_TYPE||type.$$typeof===REACT_MEMO_TYPE||type.$$typeof===REACT_PROVIDER_TYPE||type.$$typeof===REACT_CONTEXT_TYPE||type.$$typeof===REACT_FORWARD_REF_TYPE||type.$$typeof===REACT_FUNDAMENTAL_TYPE||type.$$typeof===REACT_RESPONDER_TYPE||type.$$typeof===REACT_SCOPE_TYPE||type.$$typeof===REACT_BLOCK_TYPE)}function typeOf(object){if(typeof object==="object"&&object!==null){var $$typeof=object.$$typeof;switch($$typeof){case REACT_ELEMENT_TYPE:var type=object.type;switch(type){case REACT_ASYNC_MODE_TYPE:case REACT_CONCURRENT_MODE_TYPE:case REACT_FRAGMENT_TYPE:case REACT_PROFILER_TYPE:case REACT_STRICT_MODE_TYPE:case REACT_SUSPENSE_TYPE:return type;default:var $$typeofType=type&&type.$$typeof;switch($$typeofType){case REACT_CONTEXT_TYPE:case REACT_FORWARD_REF_TYPE:case REACT_LAZY_TYPE:case REACT_MEMO_TYPE:case REACT_PROVIDER_TYPE:return $$typeofType;default:return $$typeof}}case REACT_PORTAL_TYPE:return $$typeof}}return}var AsyncMode=REACT_ASYNC_MODE_TYPE,ConcurrentMode=REACT_CONCURRENT_MODE_TYPE,ContextConsumer=REACT_CONTEXT_TYPE,ContextProvider=REACT_PROVIDER_TYPE,Element=REACT_ELEMENT_TYPE,ForwardRef=REACT_FORWARD_REF_TYPE,Fragment=REACT_FRAGMENT_TYPE,Lazy=REACT_LAZY_TYPE,Memo=REACT_MEMO_TYPE,Portal=REACT_PORTAL_TYPE,Profiler=REACT_PROFILER_TYPE,StrictMode=REACT_STRICT_MODE_TYPE,Suspense=REACT_SUSPENSE_TYPE,hasWarnedAboutDeprecatedIsAsyncMode=!1;function isAsyncMode(object){if(!hasWarnedAboutDeprecatedIsAsyncMode)hasWarnedAboutDeprecatedIsAsyncMode=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.");return isConcurrentMode(object)||typeOf(object)===REACT_ASYNC_MODE_TYPE}function isConcurrentMode(object){return typeOf(object)===REACT_CONCURRENT_MODE_TYPE}function isContextConsumer(object){return typeOf(object)===REACT_CONTEXT_TYPE}function isContextProvider(object){return typeOf(object)===REACT_PROVIDER_TYPE}function isElement(object){return typeof object==="object"&&object!==null&&object.$$typeof===REACT_ELEMENT_TYPE}function isForwardRef(object){return typeOf(object)===REACT_FORWARD_REF_TYPE}function isFragment(object){return typeOf(object)===REACT_FRAGMENT_TYPE}function isLazy(object){return typeOf(object)===REACT_LAZY_TYPE}function isMemo(object){return typeOf(object)===REACT_MEMO_TYPE}function isPortal(object){return typeOf(object)===REACT_PORTAL_TYPE}function isProfiler(object){return typeOf(object)===REACT_PROFILER_TYPE}function isStrictMode(object){return typeOf(object)===REACT_STRICT_MODE_TYPE}function isSuspense(object){return typeOf(object)===REACT_SUSPENSE_TYPE}exports.AsyncMode=AsyncMode,exports.ConcurrentMode=ConcurrentMode,exports.ContextConsumer=ContextConsumer,exports.ContextProvider=ContextProvider,exports.Element=Element,exports.ForwardRef=ForwardRef,exports.Fragment=Fragment,exports.Lazy=Lazy,exports.Memo=Memo,exports.Portal=Portal,exports.Profiler=Profiler,exports.StrictMode=StrictMode,exports.Suspense=Suspense,exports.isAsyncMode=isAsyncMode,exports.isConcurrentMode=isConcurrentMode,exports.isContextConsumer=isContextConsumer,exports.isContextProvider=isContextProvider,exports.isElement=isElement,exports.isForwardRef=isForwardRef,exports.isFragment=isFragment,exports.isLazy=isLazy,exports.isMemo=isMemo,exports.isPortal=isPortal,exports.isProfiler=isProfiler,exports.isStrictMode=isStrictMode,exports.isSuspense=isSuspense,exports.isValidElementType=isValidElementType,exports.typeOf=typeOf})()});var require_hoist_non_react_statics_cjs=__commonJS(function(exports,module){var reactIs=__toESM(require_react_is_development()),REACT_STATICS={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},KNOWN_STATICS={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},FORWARD_REF_STATICS={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},MEMO_STATICS={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},TYPE_STATICS={};TYPE_STATICS[reactIs.ForwardRef]=FORWARD_REF_STATICS;TYPE_STATICS[reactIs.Memo]=MEMO_STATICS;function getStatics(component){if(reactIs.isMemo(component))return MEMO_STATICS;return TYPE_STATICS[component.$$typeof]||REACT_STATICS}var{defineProperty,getOwnPropertyNames,getOwnPropertySymbols,getOwnPropertyDescriptor,getPrototypeOf,prototype:objectPrototype}=Object;function hoistNonReactStatics(targetComponent,sourceComponent,blacklist){if(typeof sourceComponent!=="string"){if(objectPrototype){var inheritedComponent=getPrototypeOf(sourceComponent);if(inheritedComponent&&inheritedComponent!==objectPrototype)hoistNonReactStatics(targetComponent,inheritedComponent,blacklist)}var keys=getOwnPropertyNames(sourceComponent);if(getOwnPropertySymbols)keys=keys.concat(getOwnPropertySymbols(sourceComponent));var targetStatics=getStatics(targetComponent),sourceStatics=getStatics(sourceComponent);for(var i=0;i<keys.length;++i){var key=keys[i];if(!KNOWN_STATICS[key]&&!(blacklist&&blacklist[key])&&!(sourceStatics&&sourceStatics[key])&&!(targetStatics&&targetStatics[key])){var descriptor=getOwnPropertyDescriptor(sourceComponent,key);try{defineProperty(targetComponent,key,descriptor)}catch(e){}}}}return targetComponent}module.exports=hoistNonReactStatics});var require_emotion_react__isolated_hnrs_development_cjs=__commonJS(function(exports){Object.defineProperty(exports,"__esModule",{value:!0});var hoistNonReactStatics$1=require_hoist_non_react_statics_cjs();function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var hoistNonReactStatics__default=_interopDefault(hoistNonReactStatics$1),hoistNonReactStatics=function(targetComponent,sourceComponent){return hoistNonReactStatics__default.default(targetComponent,sourceComponent)};exports.default=hoistNonReactStatics});var require_emotion_utils_cjs=__commonJS(function(exports){Object.defineProperty(exports,"__esModule",{value:!0});var isBrowser=typeof document<"u";function getRegisteredStyles(registered,registeredStyles,classNames){var rawClassName="";return classNames.split(" ").forEach(function(className){if(registered[className]!==void 0)registeredStyles.push(registered[className]+";");else if(className)rawClassName+=className+" "}),rawClassName}var registerStyles=function(cache,serialized,isStringTag){var className=cache.key+"-"+serialized.name;if((isStringTag===!1||isBrowser===!1&&cache.compat!==void 0)&&cache.registered[className]===void 0)cache.registered[className]=serialized.styles},insertStyles=function(cache,serialized,isStringTag){registerStyles(cache,serialized,isStringTag);var className=cache.key+"-"+serialized.name;if(cache.inserted[serialized.name]===void 0){var stylesForSSR="",current=serialized;do{var maybeStyles=cache.insert(serialized===current?"."+className:"",current,cache.sheet,!0);if(!isBrowser&&maybeStyles!==void 0)stylesForSSR+=maybeStyles;current=current.next}while(current!==void 0);if(!isBrowser&&stylesForSSR.length!==0)return stylesForSSR}};exports.getRegisteredStyles=getRegisteredStyles;exports.insertStyles=insertStyles;exports.registerStyles=registerStyles});var require_emotion_hash_cjs_dev=__commonJS(function(exports){Object.defineProperty(exports,"__esModule",{value:!0});function murmur2(str){var h=0,k,i=0,len=str.length;for(;len>=4;++i,len-=4)k=str.charCodeAt(i)&255|(str.charCodeAt(++i)&255)<<8|(str.charCodeAt(++i)&255)<<16|(str.charCodeAt(++i)&255)<<24,k=(k&65535)*1540483477+((k>>>16)*59797<<16),k^=k>>>24,h=(k&65535)*1540483477+((k>>>16)*59797<<16)^(h&65535)*1540483477+((h>>>16)*59797<<16);switch(len){case 3:h^=(str.charCodeAt(i+2)&255)<<16;case 2:h^=(str.charCodeAt(i+1)&255)<<8;case 1:h^=str.charCodeAt(i)&255,h=(h&65535)*1540483477+((h>>>16)*59797<<16)}return h^=h>>>13,h=(h&65535)*1540483477+((h>>>16)*59797<<16),((h^h>>>15)>>>0).toString(36)}exports.default=murmur2});var require_emotion_unitless_cjs=__commonJS(function(exports){Object.defineProperty(exports,"__esModule",{value:!0});var unitlessKeys={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};exports.default=unitlessKeys});var require_emotion_serialize_development_cjs=__commonJS(function(exports){Object.defineProperty(exports,"__esModule",{value:!0});var hashString=require_emotion_hash_cjs_dev(),unitless=require_emotion_unitless_cjs(),memoize=require_emotion_memoize_cjs_dev();function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var hashString__default=_interopDefault(hashString),unitless__default=_interopDefault(unitless),memoize__default=_interopDefault(memoize),isDevelopment=!0,ILLEGAL_ESCAPE_SEQUENCE_ERROR=`You have illegal escape sequence in your template literal, most likely inside content's property value.
5
5
  Because you write your CSS inside a JavaScript string you actually have to do double escaping, so for example "content: '\\00d7';" should become "content: '\\\\00d7';".
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import"./chunk-4pkw6d9n.js";import{localDesignOf}from"./chunk-66qgm91k.js";import"./chunk-ngbqd7kb.js";import"./chunk-afe25dpr.js";import"./chunk-80fjfyha.js";import{AGENT_IDS,PROJECT_AGENT_IDS,GLOBAL_AGENT_IDS,resolveProjectRoot,MANUAL_AGENT_ID,manualSetupText,askAgentWiring,localDesignScopeProblem,connect}from"./chunk-33t0csxs.js";import"./chunk-42bj6r30.js";import{DesignFolderFormatError,assertFolderFormatCurrent}from"./chunk-asvdqkdp.js";import{fail}from"./chunk-s23gtejf.js";import{createProgress}from"./chunk-pjtg3wnm.js";import{DESIGN_ARG_DESCRIPTION,resolveDesign}from"./chunk-675tr675.js";import"./chunk-edgwx026.js";import{require_picocolors}from"./chunk-jrsknzjt.js";import{__toESM,defineCommand}from"./chunk-2smsg2ct.js";import{resolve}from"path";var import_picocolors=__toESM(require_picocolors(),1);var connect_default=defineCommand({meta:{name:"connect",description:"Wire the velloo MCP server into your AI coding agent's config"},args:{design:{type:"positional",required:!1,description:DESIGN_ARG_DESCRIPTION},agent:{type:"string",description:`Comma-separated agents: ${AGENT_IDS.join(", ")}, manual \u2014 print the config for any other agent (default ${PROJECT_AGENT_IDS.join(",")})`},projectRoot:{type:"string",description:"Where to write the config (default: the velloo.json root that registers the folder, else the nearest package.json above it)"},http:{type:"boolean",default:!1,description:"Wire the HTTP transport (agent dials a running server) instead of stdio"},mcpUrl:{type:"string",description:"MCP server URL for --http, as printed by `velloo mcp --http`"},skill:{type:"boolean",default:!0,description:"Install the velloo-design Claude Code skill into .claude/skills"}},async run({args}){let folder=await resolveDesign(args.design,"connect",{interactive:!0});try{assertFolderFormatCurrent(folder)}catch(err){if(!(err instanceof DesignFolderFormatError))throw err;console.log(import_picocolors.default.yellow(`\u26A0 ${err.message.slice(8)}`))}let interactive=Boolean(process.stdin.isTTY),agents,manual=!1,local=localDesignOf(folder)!==null;if(args.agent){agents=args.agent.split(",").map((s)=>s.trim()).filter(Boolean);let problem=localDesignScopeProblem(folder,agents);if(problem)fail("connect",problem)}else if(interactive){let wiring=await askAgentWiring({projectRoot:await resolveProjectRoot(folder),globalOnly:local});if(wiring===null)fail("connect","cancelled.");if(wiring.agents.length===0&&!wiring.manual){console.log(import_picocolors.default.dim("No agents selected \u2014 nothing wired."));return}manual=wiring.manual,agents=wiring.agents}else agents=local?GLOBAL_AGENT_IDS:PROJECT_AGENT_IDS;if(agents.includes(MANUAL_AGENT_ID))manual=!0,agents=agents.filter((id)=>id!==MANUAL_AGENT_ID);if(manual){console.log(""),console.log(import_picocolors.default.bold(" Manual MCP setup"));for(let line of manualSetupText().split(`
2
+ import{localDesignOf}from"./chunk-yfvc8d2g.js";import"./chunk-8cj4swpr.js";import"./chunk-chtv0yj6.js";import"./chunk-1gkeepkm.js";import"./chunk-80fjfyha.js";import{AGENT_IDS,PROJECT_AGENT_IDS,GLOBAL_AGENT_IDS,resolveProjectRoot,MANUAL_AGENT_ID,manualSetupText,askAgentWiring,localDesignScopeProblem,connect}from"./chunk-rjjc9vam.js";import"./chunk-t6qr2ay9.js";import{DesignFolderFormatError,assertFolderFormatCurrent}from"./chunk-azeqkms7.js";import{fail}from"./chunk-s23gtejf.js";import{createProgress}from"./chunk-pjtg3wnm.js";import{DESIGN_ARG_DESCRIPTION,resolveDesign}from"./chunk-8vgpffn7.js";import"./chunk-hjc5eg5c.js";import{require_picocolors}from"./chunk-jrsknzjt.js";import{__toESM,defineCommand}from"./chunk-2smsg2ct.js";import{resolve}from"path";var import_picocolors=__toESM(require_picocolors(),1);var connect_default=defineCommand({meta:{name:"connect",description:"Wire the velloo MCP server into your AI coding agent's config"},args:{design:{type:"positional",required:!1,description:DESIGN_ARG_DESCRIPTION},agent:{type:"string",description:`Comma-separated agents: ${AGENT_IDS.join(", ")}, manual \u2014 print the config for any other agent (default ${PROJECT_AGENT_IDS.join(",")})`},projectRoot:{type:"string",description:"Where to write the config (default: the velloo.json root that registers the folder, else the nearest package.json above it)"},http:{type:"boolean",default:!1,description:"Wire the HTTP transport (agent dials a running server) instead of stdio"},mcpUrl:{type:"string",description:"MCP server URL for --http, as printed by `velloo mcp --http`"},skill:{type:"boolean",default:!0,description:"Install the velloo-design Claude Code skill into .claude/skills"}},async run({args}){let folder=await resolveDesign(args.design,"connect",{interactive:!0});try{assertFolderFormatCurrent(folder)}catch(err){if(!(err instanceof DesignFolderFormatError))throw err;console.log(import_picocolors.default.yellow(`\u26A0 ${err.message.slice(8)}`))}let interactive=Boolean(process.stdin.isTTY),agents,manual=!1,local=localDesignOf(folder)!==null;if(args.agent){agents=args.agent.split(",").map((s)=>s.trim()).filter(Boolean);let problem=localDesignScopeProblem(folder,agents);if(problem)fail("connect",problem)}else if(interactive){let wiring=await askAgentWiring({projectRoot:await resolveProjectRoot(folder),globalOnly:local});if(wiring===null)fail("connect","cancelled.");if(wiring.agents.length===0&&!wiring.manual){console.log(import_picocolors.default.dim("No agents selected \u2014 nothing wired."));return}manual=wiring.manual,agents=wiring.agents}else agents=local?GLOBAL_AGENT_IDS:PROJECT_AGENT_IDS;if(agents.includes(MANUAL_AGENT_ID))manual=!0,agents=agents.filter((id)=>id!==MANUAL_AGENT_ID);if(manual){console.log(""),console.log(import_picocolors.default.bold(" Manual MCP setup"));for(let line of manualSetupText().split(`
3
3
  `))console.log(` ${line}`);console.log("")}if(agents.length===0)return;let progress=createProgress();progress.start("connecting agent");let result;try{result=await connect({designFolder:folder,agents,projectRoot:args.projectRoot?resolve(args.projectRoot):void 0,transport:args.http?"http":"stdio",mcpUrl:args.mcpUrl,installSkill:args.skill})}catch(error){throw progress.fail("agent connection failed"),error}if(result.unknownAgents.length>0)progress.fail("agent connection failed"),fail("connect",`unknown agent(s): ${result.unknownAgents.join(", ")}. Valid: ${AGENT_IDS.join(", ")}.`);progress.succeed("connected agent"),console.log(""),console.log(import_picocolors.default.green("\u2713 Connected velloo to your agent.")),console.log("");for(let c of result.configs)console.log(` ${c.action==="created"?"wrote ":"updated "} ${import_picocolors.default.cyan(c.path)}`);if(result.plugin)console.log(` plugin ${import_picocolors.default.cyan("velloo@velloo")} ${import_picocolors.default.dim(`(skills + commands + subagents \u2014 local marketplace at ${result.plugin.marketplaceDir})`)}`);for(let s of result.skills??[])console.log(` skill ${import_picocolors.default.cyan(s.path??s.name)}`);if(result.geminiExtension)console.log(` gemini ${import_picocolors.default.cyan(result.geminiExtension.dir)} ${result.geminiExtension.linked?import_picocolors.default.dim("(linked)"):import_picocolors.default.dim(`(link it: gemini extensions link ${result.geminiExtension.dir})`)}`);if(result.cursorRules?.installed&&result.cursorRules.path)console.log(` rule ${import_picocolors.default.cyan(result.cursorRules.path)}`);let designArg=args.design?` ${args.design}`:"";if(console.log(""),console.log(import_picocolors.default.bold(" Next")),result.transport==="http")console.log(` 1. ${import_picocolors.default.cyan(`velloo mcp --http${designArg}`)} ${import_picocolors.default.dim("\u2014 starts the MCP server your agent dials")}`),console.log(" 2. Restart your agent so it loads the new MCP config.");else console.log(` 1. Restart your agent so it loads the new MCP config ${import_picocolors.default.dim("\u2014 it starts velloo itself")}.`),console.log(` 2. ${import_picocolors.default.cyan(`velloo run${designArg}`)} ${import_picocolors.default.dim("\u2014 optional: open the canvas to watch")}`);console.log("")}});export{connect_default as default};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{fail}from"./chunk-s23gtejf.js";import"./chunk-cqt1dpxd.js";import{SHELLS,completionScript,commandSpecs,detectShell,installCompletions}from"./chunk-4sjvdakg.js";import{require_picocolors}from"./chunk-jrsknzjt.js";import{__toESM,defineCommand}from"./chunk-2smsg2ct.js";var import_picocolors=__toESM(require_picocolors(),1);var completions_default=defineCommand({meta:{name:"completions",description:"Shell TAB completions \u2014 print the script, or install it with --install"},args:{shell:{type:"positional",required:!1,description:`Shell: ${SHELLS.join(" | ")} (default: detected from $SHELL)`},install:{type:"boolean",default:!1,description:"Write the script + wire it into your shell (idempotent)"}},async run({args}){let shell=args.shell??detectShell();if(!shell||!SHELLS.includes(shell))fail("completions",`unsupported or undetected shell${args.shell?` "${args.shell}"`:""} \u2014 pass one of: ${SHELLS.join(", ")}.`);if(!args.install){console.log(completionScript(shell,await commandSpecs()));return}let r=await installCompletions(shell);if(console.log(""),console.log(import_picocolors.default.green(`\u2713 ${shell} completions installed.`)),console.log(` script ${import_picocolors.default.cyan(r.scriptPath)}`),r.rcPath)console.log(r.rcUpdated?` rc ${import_picocolors.default.cyan(r.rcPath)} ${import_picocolors.default.dim("(source line appended)")}`:` rc ${import_picocolors.default.cyan(r.rcPath)} ${import_picocolors.default.dim("(already wired)")}`);console.log(""),console.log(import_picocolors.default.dim(shell==="fish"?" New fish sessions pick it up automatically.":` Restart your shell (or \`source ${r.rcPath}\`) to activate TAB completion.`))}});export{completions_default as default};
2
+ import{fail}from"./chunk-s23gtejf.js";import"./chunk-ff0jfn0v.js";import{SHELLS,completionScript,commandSpecs,detectShell,installCompletions}from"./chunk-jsvkqae2.js";import{require_picocolors}from"./chunk-jrsknzjt.js";import{__toESM,defineCommand}from"./chunk-2smsg2ct.js";var import_picocolors=__toESM(require_picocolors(),1);var completions_default=defineCommand({meta:{name:"completions",description:"Shell TAB completions \u2014 print the script, or install it with --install"},args:{shell:{type:"positional",required:!1,description:`Shell: ${SHELLS.join(" | ")} (default: detected from $SHELL)`},install:{type:"boolean",default:!1,description:"Write the script + wire it into your shell (idempotent)"}},async run({args}){let shell=args.shell??detectShell();if(!shell||!SHELLS.includes(shell))fail("completions",`unsupported or undetected shell${args.shell?` "${args.shell}"`:""} \u2014 pass one of: ${SHELLS.join(", ")}.`);if(!args.install){console.log(completionScript(shell,await commandSpecs()));return}let r=await installCompletions(shell);if(console.log(""),console.log(import_picocolors.default.green(`\u2713 ${shell} completions installed.`)),console.log(` script ${import_picocolors.default.cyan(r.scriptPath)}`),r.rcPath)console.log(r.rcUpdated?` rc ${import_picocolors.default.cyan(r.rcPath)} ${import_picocolors.default.dim("(source line appended)")}`:` rc ${import_picocolors.default.cyan(r.rcPath)} ${import_picocolors.default.dim("(already wired)")}`);console.log(""),console.log(import_picocolors.default.dim(shell==="fish"?" New fish sessions pick it up automatically.":` Restart your shell (or \`source ${r.rcPath}\`) to activate TAB completion.`))}});export{completions_default as default};
@@ -1,6 +1,6 @@
1
1
  // @bun
2
- import{helpersRegistry,parse_default,formatRgb,SX_PROP,catalogFromManifest,helperSourcePath}from"./chunk-66qgm91k.js";import{require_react_is_development,require_object_assign,require_emotion_serialize_development_cjs,$_default,import_emotion_react_development_cjs,$_default2,$_default3}from"./chunk-xzkczmgg.js";import{resolveColors,DEFAULT_TYPESET_NAME,typesetScale}from"./chunk-4pkw6d9n.js";import{require_react_development,require_react_dom}from"./chunk-ngbqd7kb.js";import{__toESM,__commonJS}from"./chunk-2smsg2ct.js";import{MUI_VERSION}from"./chunk-mzhdrawd.js";import{_objectWithoutPropertiesLoose,_extends,_assertThisInitialized,_setPrototypeOf}from"./chunk-h6gchare.js";import{resolveProviderSrcDir}from"./chunk-v6c3h9ft.js";import{require_react_jsx_runtime_development}from"./chunk-qpv28z8d.js";var require_ReactPropTypesSecret=__commonJS(function(exports,module){var ReactPropTypesSecret="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";module.exports=ReactPropTypesSecret});var require_has=__commonJS(function(exports,module){module.exports=Function.call.bind(Object.prototype.hasOwnProperty)});var require_checkPropTypes=__commonJS(function(exports,module){var printWarning=function(){};ReactPropTypesSecret=require_ReactPropTypesSecret(),loggedTypeFailures={},has=require_has(),printWarning=function(text){var message="Warning: "+text;if(typeof console<"u")console.error(message);try{throw Error(message)}catch(x){}};var ReactPropTypesSecret,loggedTypeFailures,has;function checkPropTypes(typeSpecs,values,location,componentName,getStack){for(var typeSpecName in typeSpecs)if(has(typeSpecs,typeSpecName)){var error;try{if(typeof typeSpecs[typeSpecName]!=="function"){var err=Error((componentName||"React class")+": "+location+" type `"+typeSpecName+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof typeSpecs[typeSpecName]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw err.name="Invariant Violation",err}error=typeSpecs[typeSpecName](values,typeSpecName,componentName,location,null,ReactPropTypesSecret)}catch(ex){error=ex}if(error&&!(error instanceof Error))printWarning((componentName||"React class")+": type specification of "+location+" `"+typeSpecName+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof error+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).");if(error instanceof Error&&!(error.message in loggedTypeFailures)){loggedTypeFailures[error.message]=!0;var stack=getStack?getStack():"";printWarning("Failed "+location+" type: "+error.message+(stack!=null?stack:""))}}}checkPropTypes.resetWarningCache=function(){loggedTypeFailures={}};module.exports=checkPropTypes});var require_factoryWithTypeCheckers=__commonJS(function(exports,module){var ReactIs=__toESM(require_react_is_development()),assign=require_object_assign(),ReactPropTypesSecret=require_ReactPropTypesSecret(),has=require_has(),checkPropTypes=require_checkPropTypes(),printWarning=function(){};printWarning=function(text){var message="Warning: "+text;if(typeof console<"u")console.error(message);try{throw Error(message)}catch(x){}};function emptyFunctionThatReturnsNull(){return null}module.exports=function(isValidElement,throwOnDirectAccess){var ITERATOR_SYMBOL=typeof Symbol==="function"&&Symbol.iterator,FAUX_ITERATOR_SYMBOL="@@iterator";function getIteratorFn(maybeIterable){var iteratorFn=maybeIterable&&(ITERATOR_SYMBOL&&maybeIterable[ITERATOR_SYMBOL]||maybeIterable[FAUX_ITERATOR_SYMBOL]);if(typeof iteratorFn==="function")return iteratorFn}var ANONYMOUS="<<anonymous>>",ReactPropTypes={array:createPrimitiveTypeChecker("array"),bigint:createPrimitiveTypeChecker("bigint"),bool:createPrimitiveTypeChecker("boolean"),func:createPrimitiveTypeChecker("function"),number:createPrimitiveTypeChecker("number"),object:createPrimitiveTypeChecker("object"),string:createPrimitiveTypeChecker("string"),symbol:createPrimitiveTypeChecker("symbol"),any:createAnyTypeChecker(),arrayOf:createArrayOfTypeChecker,element:createElementTypeChecker(),elementType:createElementTypeTypeChecker(),instanceOf:createInstanceTypeChecker,node:createNodeChecker(),objectOf:createObjectOfTypeChecker,oneOf:createEnumTypeChecker,oneOfType:createUnionTypeChecker,shape:createShapeTypeChecker,exact:createStrictShapeTypeChecker};function is(x,y){if(x===y)return x!==0||1/x===1/y;else return x!==x&&y!==y}function PropTypeError(message,data){this.message=message,this.data=data&&typeof data==="object"?data:{},this.stack=""}PropTypeError.prototype=Error.prototype;function createChainableTypeChecker(validate){var manualPropTypeCallCache={},manualPropTypeWarningCount=0;function checkType(isRequired,props,propName,componentName,location,propFullName,secret){if(componentName=componentName||ANONYMOUS,propFullName=propFullName||propName,secret!==ReactPropTypesSecret){if(throwOnDirectAccess){var err=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw err.name="Invariant Violation",err}else if(typeof console<"u"){var cacheKey=componentName+":"+propName;if(!manualPropTypeCallCache[cacheKey]&&manualPropTypeWarningCount<3)printWarning("You are manually calling a React.PropTypes validation function for the `"+propFullName+"` prop on `"+componentName+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),manualPropTypeCallCache[cacheKey]=!0,manualPropTypeWarningCount++}}if(props[propName]==null){if(isRequired){if(props[propName]===null)return new PropTypeError("The "+location+" `"+propFullName+"` is marked as required "+("in `"+componentName+"`, but its value is `null`."));return new PropTypeError("The "+location+" `"+propFullName+"` is marked as required in "+("`"+componentName+"`, but its value is `undefined`."))}return null}else return validate(props,propName,componentName,location,propFullName)}var chainedCheckType=checkType.bind(null,!1);return chainedCheckType.isRequired=checkType.bind(null,!0),chainedCheckType}function createPrimitiveTypeChecker(expectedType){function validate(props,propName,componentName,location,propFullName,secret){var propValue=props[propName],propType=getPropType(propValue);if(propType!==expectedType){var preciseType=getPreciseType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+preciseType+"` supplied to `"+componentName+"`, expected ")+("`"+expectedType+"`."),{expectedType})}return null}return createChainableTypeChecker(validate)}function createAnyTypeChecker(){return createChainableTypeChecker(emptyFunctionThatReturnsNull)}function createArrayOfTypeChecker(typeChecker){function validate(props,propName,componentName,location,propFullName){if(typeof typeChecker!=="function")return new PropTypeError("Property `"+propFullName+"` of component `"+componentName+"` has invalid PropType notation inside arrayOf.");var propValue=props[propName];if(!Array.isArray(propValue)){var propType=getPropType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected an array."))}for(var i=0;i<propValue.length;i++){var error=typeChecker(propValue,i,componentName,location,propFullName+"["+i+"]",ReactPropTypesSecret);if(error instanceof Error)return error}return null}return createChainableTypeChecker(validate)}function createElementTypeChecker(){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];if(!isValidElement(propValue)){var propType=getPropType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected a single ReactElement."))}return null}return createChainableTypeChecker(validate)}function createElementTypeTypeChecker(){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];if(!ReactIs.isValidElementType(propValue)){var propType=getPropType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected a single ReactElement type."))}return null}return createChainableTypeChecker(validate)}function createInstanceTypeChecker(expectedClass){function validate(props,propName,componentName,location,propFullName){if(!(props[propName]instanceof expectedClass)){var expectedClassName=expectedClass.name||ANONYMOUS,actualClassName=getClassName(props[propName]);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+actualClassName+"` supplied to `"+componentName+"`, expected ")+("instance of `"+expectedClassName+"`."))}return null}return createChainableTypeChecker(validate)}function createEnumTypeChecker(expectedValues){if(!Array.isArray(expectedValues)){if(arguments.length>1)printWarning("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).");else printWarning("Invalid argument supplied to oneOf, expected an array.");return emptyFunctionThatReturnsNull}function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];for(var i=0;i<expectedValues.length;i++)if(is(propValue,expectedValues[i]))return null;var valuesString=JSON.stringify(expectedValues,function(key,value){var type=getPreciseType(value);if(type==="symbol")return String(value);return value});return new PropTypeError("Invalid "+location+" `"+propFullName+"` of value `"+String(propValue)+"` "+("supplied to `"+componentName+"`, expected one of "+valuesString+"."))}return createChainableTypeChecker(validate)}function createObjectOfTypeChecker(typeChecker){function validate(props,propName,componentName,location,propFullName){if(typeof typeChecker!=="function")return new PropTypeError("Property `"+propFullName+"` of component `"+componentName+"` has invalid PropType notation inside objectOf.");var propValue=props[propName],propType=getPropType(propValue);if(propType!=="object")return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected an object."));for(var key in propValue)if(has(propValue,key)){var error=typeChecker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error instanceof Error)return error}return null}return createChainableTypeChecker(validate)}function createUnionTypeChecker(arrayOfTypeCheckers){if(!Array.isArray(arrayOfTypeCheckers))return printWarning("Invalid argument supplied to oneOfType, expected an instance of array."),emptyFunctionThatReturnsNull;for(var i=0;i<arrayOfTypeCheckers.length;i++){var checker=arrayOfTypeCheckers[i];if(typeof checker!=="function")return printWarning("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+getPostfixForTypeWarning(checker)+" at index "+i+"."),emptyFunctionThatReturnsNull}function validate(props,propName,componentName,location,propFullName){var expectedTypes=[];for(var i=0;i<arrayOfTypeCheckers.length;i++){var checker=arrayOfTypeCheckers[i],checkerResult=checker(props,propName,componentName,location,propFullName,ReactPropTypesSecret);if(checkerResult==null)return null;if(checkerResult.data&&has(checkerResult.data,"expectedType"))expectedTypes.push(checkerResult.data.expectedType)}var expectedTypesMessage=expectedTypes.length>0?", expected one of type ["+expectedTypes.join(", ")+"]":"";return new PropTypeError("Invalid "+location+" `"+propFullName+"` supplied to "+("`"+componentName+"`"+expectedTypesMessage+"."))}return createChainableTypeChecker(validate)}function createNodeChecker(){function validate(props,propName,componentName,location,propFullName){if(!isNode(props[propName]))return new PropTypeError("Invalid "+location+" `"+propFullName+"` supplied to "+("`"+componentName+"`, expected a ReactNode."));return null}return createChainableTypeChecker(validate)}function invalidValidatorError(componentName,location,propFullName,key,type){return new PropTypeError((componentName||"React class")+": "+location+" type `"+propFullName+"."+key+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+type+"`.")}function createShapeTypeChecker(shapeTypes){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName],propType=getPropType(propValue);if(propType!=="object")return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` "+("supplied to `"+componentName+"`, expected `object`."));for(var key in shapeTypes){var checker=shapeTypes[key];if(typeof checker!=="function")return invalidValidatorError(componentName,location,propFullName,key,getPreciseType(checker));var error=checker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error)return error}return null}return createChainableTypeChecker(validate)}function createStrictShapeTypeChecker(shapeTypes){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName],propType=getPropType(propValue);if(propType!=="object")return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` "+("supplied to `"+componentName+"`, expected `object`."));var allKeys=assign({},props[propName],shapeTypes);for(var key in allKeys){var checker=shapeTypes[key];if(has(shapeTypes,key)&&typeof checker!=="function")return invalidValidatorError(componentName,location,propFullName,key,getPreciseType(checker));if(!checker)return new PropTypeError("Invalid "+location+" `"+propFullName+"` key `"+key+"` supplied to `"+componentName+"`.\nBad object: "+JSON.stringify(props[propName],null," ")+`
3
- Valid keys: `+JSON.stringify(Object.keys(shapeTypes),null," "));var error=checker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error)return error}return null}return createChainableTypeChecker(validate)}function isNode(propValue){switch(typeof propValue){case"number":case"string":case"undefined":return!0;case"boolean":return!propValue;case"object":if(Array.isArray(propValue))return propValue.every(isNode);if(propValue===null||isValidElement(propValue))return!0;var iteratorFn=getIteratorFn(propValue);if(iteratorFn){var iterator=iteratorFn.call(propValue),step;if(iteratorFn!==propValue.entries){while(!(step=iterator.next()).done)if(!isNode(step.value))return!1}else while(!(step=iterator.next()).done){var entry=step.value;if(entry){if(!isNode(entry[1]))return!1}}}else return!1;return!0;default:return!1}}function isSymbol(propType,propValue){if(propType==="symbol")return!0;if(!propValue)return!1;if(propValue["@@toStringTag"]==="Symbol")return!0;if(typeof Symbol==="function"&&propValue instanceof Symbol)return!0;return!1}function getPropType(propValue){var propType=typeof propValue;if(Array.isArray(propValue))return"array";if(propValue instanceof RegExp)return"object";if(isSymbol(propType,propValue))return"symbol";return propType}function getPreciseType(propValue){if(typeof propValue>"u"||propValue===null)return""+propValue;var propType=getPropType(propValue);if(propType==="object"){if(propValue instanceof Date)return"date";else if(propValue instanceof RegExp)return"regexp"}return propType}function getPostfixForTypeWarning(value){var type=getPreciseType(value);switch(type){case"array":case"object":return"an "+type;case"boolean":case"date":case"regexp":return"a "+type;default:return type}}function getClassName(propValue){if(!propValue.constructor||!propValue.constructor.name)return ANONYMOUS;return propValue.constructor.name}return ReactPropTypes.checkPropTypes=checkPropTypes,ReactPropTypes.resetWarningCache=checkPropTypes.resetWarningCache,ReactPropTypes.PropTypes=ReactPropTypes,ReactPropTypes}});var require_prop_types=__commonJS(function(exports,module){var ReactIs=__toESM(require_react_is_development());throwOnDirectAccess=!0,module.exports=require_factoryWithTypeCheckers()(ReactIs.isElement,throwOnDirectAccess);var throwOnDirectAccess});var require_react_is_development2=__commonJS(function(exports){(function(){function typeOf(object){if(typeof object==="object"&&object!==null){var $$typeof=object.$$typeof;switch($$typeof){case REACT_ELEMENT_TYPE:switch(object=object.type,object){case REACT_FRAGMENT_TYPE:case REACT_PROFILER_TYPE:case REACT_STRICT_MODE_TYPE:case REACT_SUSPENSE_TYPE:case REACT_SUSPENSE_LIST_TYPE:case REACT_VIEW_TRANSITION_TYPE:return object;default:switch(object=object&&object.$$typeof,object){case REACT_CONTEXT_TYPE:case REACT_FORWARD_REF_TYPE:case REACT_LAZY_TYPE:case REACT_MEMO_TYPE:return object;case REACT_CONSUMER_TYPE:return object;default:return $$typeof}}case REACT_PORTAL_TYPE:return $$typeof}}}var REACT_ELEMENT_TYPE=Symbol.for("react.transitional.element"),REACT_PORTAL_TYPE=Symbol.for("react.portal"),REACT_FRAGMENT_TYPE=Symbol.for("react.fragment"),REACT_STRICT_MODE_TYPE=Symbol.for("react.strict_mode"),REACT_PROFILER_TYPE=Symbol.for("react.profiler"),REACT_CONSUMER_TYPE=Symbol.for("react.consumer"),REACT_CONTEXT_TYPE=Symbol.for("react.context"),REACT_FORWARD_REF_TYPE=Symbol.for("react.forward_ref"),REACT_SUSPENSE_TYPE=Symbol.for("react.suspense"),REACT_SUSPENSE_LIST_TYPE=Symbol.for("react.suspense_list"),REACT_MEMO_TYPE=Symbol.for("react.memo"),REACT_LAZY_TYPE=Symbol.for("react.lazy"),REACT_VIEW_TRANSITION_TYPE=Symbol.for("react.view_transition"),REACT_CLIENT_REFERENCE=Symbol.for("react.client.reference");exports.ContextConsumer=REACT_CONSUMER_TYPE,exports.ContextProvider=REACT_CONTEXT_TYPE,exports.Element=REACT_ELEMENT_TYPE,exports.ForwardRef=REACT_FORWARD_REF_TYPE,exports.Fragment=REACT_FRAGMENT_TYPE,exports.Lazy=REACT_LAZY_TYPE,exports.Memo=REACT_MEMO_TYPE,exports.Portal=REACT_PORTAL_TYPE,exports.Profiler=REACT_PROFILER_TYPE,exports.StrictMode=REACT_STRICT_MODE_TYPE,exports.Suspense=REACT_SUSPENSE_TYPE,exports.SuspenseList=REACT_SUSPENSE_LIST_TYPE,exports.isContextConsumer=function(object){return typeOf(object)===REACT_CONSUMER_TYPE},exports.isContextProvider=function(object){return typeOf(object)===REACT_CONTEXT_TYPE},exports.isElement=function(object){return typeof object==="object"&&object!==null&&object.$$typeof===REACT_ELEMENT_TYPE},exports.isForwardRef=function(object){return typeOf(object)===REACT_FORWARD_REF_TYPE},exports.isFragment=function(object){return typeOf(object)===REACT_FRAGMENT_TYPE},exports.isLazy=function(object){return typeOf(object)===REACT_LAZY_TYPE},exports.isMemo=function(object){return typeOf(object)===REACT_MEMO_TYPE},exports.isPortal=function(object){return typeOf(object)===REACT_PORTAL_TYPE},exports.isProfiler=function(object){return typeOf(object)===REACT_PROFILER_TYPE},exports.isStrictMode=function(object){return typeOf(object)===REACT_STRICT_MODE_TYPE},exports.isSuspense=function(object){return typeOf(object)===REACT_SUSPENSE_TYPE},exports.isSuspenseList=function(object){return typeOf(object)===REACT_SUSPENSE_LIST_TYPE},exports.isValidElementType=function(type){return typeof type==="string"||typeof type==="function"||type===REACT_FRAGMENT_TYPE||type===REACT_PROFILER_TYPE||type===REACT_STRICT_MODE_TYPE||type===REACT_SUSPENSE_TYPE||type===REACT_SUSPENSE_LIST_TYPE||typeof type==="object"&&type!==null&&(type.$$typeof===REACT_LAZY_TYPE||type.$$typeof===REACT_MEMO_TYPE||type.$$typeof===REACT_CONTEXT_TYPE||type.$$typeof===REACT_CONSUMER_TYPE||type.$$typeof===REACT_FORWARD_REF_TYPE||type.$$typeof===REACT_CLIENT_REFERENCE||type.getModuleId!==void 0)?!0:!1},exports.typeOf=typeOf})()});import{dirname,join}from"path";import{fileURLToPath}from"url";var MUI_INTRO=["**This folder targets Material UI.** Components are real MUI: `Box`/`Stack`/`Container`/`Paper` for layout, `Card`/`CardContent`/`CardHeader`/`CardActions`, `Typography` (ALL text \u2014 pick `variant` for the type scale), `Button`/`IconButton`, `TextField`, `Chip`, `Divider`, `Avatar`, `List`/`ListItem`, `Table*`, `Tabs`/`Tab`, `Alert`, `Tooltip`, and the overlay surface `Dialog`/`Menu`/`Popover`/`Drawer`/`Snackbar` (rendered open + inline in design mode). Call `list_components` for the full set and per-component `example` props.","",'**Style through `sx`.** `update_props { style: { display: "flex", alignItems: "center", gap: 2, p: 3, color: "primary.main" } }` \u2014 an object of MUI system props, where spacing is theme units (`p: 2` = 16px). It merges shallowly; an inner `null` drops a key, `style: null` clears. `emit_code` emits `<Component sx={{\u2026}} />` importing from `@mui/material`; `emit_theme` emits a `createTheme(...)` module. Tailwind utility diagnostics do not apply here \u2014 style via `sx` plus the shared theme tokens from `get_theme`, which project onto MUI.',""];var sx={name:"sx",type:"SxProps | undefined",optional:!0,control:"string"},children={name:"children",type:"ReactNode",optional:!0,control:"string"},enumProp=(name,values,defaultValue)=>({name,type:values.map((v)=>`"${v}"`).join(" | "),optional:!0,control:"enum",enumValues:values,defaultValue});function ui(id,props,notes,example){return{id,category:"ui",source:"mui",props:[...props,sx],designModeNotes:notes,example}}var className={name:"className",type:"string | undefined",optional:!0,control:"string"};function helper(id,props,notes,example){return{id,category:"ui",source:"velloo",props:[...props,className],designModeNotes:notes,example}}var MUI_MANIFEST=[ui("Box",[children],"Generic layout primitive; style via sx."),ui("Stack",[children,enumProp("direction",["row","column"],"column")],"Flex layout; set spacing via sx or the spacing prop."),ui("Container",[children,enumProp("maxWidth",["xs","sm","md","lg","xl"],"lg")],"Centers + max-widths content."),ui("Paper",[children,enumProp("variant",["elevation","outlined"],"elevation")]),ui("Card",[children,enumProp("variant",["elevation","outlined"],"elevation")]),ui("CardContent",[children]),ui("CardHeader",[{name:"title",type:"ReactNode",optional:!0,control:"string"},{name:"subheader",type:"ReactNode",optional:!0,control:"string"}]),ui("CardActions",[children]),ui("Button",[children,enumProp("variant",["text","outlined","contained"],"text"),enumProp("color",["primary","secondary","success","error","inherit"],"primary"),enumProp("size",["small","medium","large"],"medium")],"Action button.",{variant:"contained",color:"primary",children:"Submit"}),ui("Typography",[children,enumProp("variant",["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","caption","overline"],"body1"),enumProp("color",["text.primary","text.secondary","primary","error"])],"All text. Pick variant for the type scale; this is MUI's Heading + Text.",{variant:"h4",children:"Team analytics"}),ui("TextField",[enumProp("variant",["outlined","filled","standard"],"outlined"),{name:"label",type:"string",optional:!0,control:"string"},{name:"placeholder",type:"string",optional:!0,control:"string"}]),ui("Chip",[{name:"label",type:"ReactNode",optional:!0,control:"string"},enumProp("variant",["filled","outlined"],"filled"),enumProp("color",["default","primary","success","warning","error"],"default"),enumProp("size",["small","medium"],"medium")]),ui("Divider",[]),ui("Avatar",[children,{name:"src",type:"string",optional:!0,control:"string"}]),ui("LinearProgress",[{name:"value",type:"number",optional:!0,control:"number"},enumProp("variant",["determinate","indeterminate"],"indeterminate")]),ui("AppBar",[children,enumProp("position",["fixed","static","sticky"],"fixed"),enumProp("color",["primary","default","transparent","inherit"],"primary")]),ui("Toolbar",[children]),ui("IconButton",[children,enumProp("size",["small","medium","large"],"medium")]),ui("Link",[children,{name:"href",type:"string",optional:!0,control:"string"}]),ui("List",[children]),ui("ListItem",[children]),ui("ListItemText",[{name:"primary",type:"ReactNode",optional:!0,control:"string"},{name:"secondary",type:"ReactNode",optional:!0,control:"string"}]),ui("Table",[children]),ui("TableHead",[children]),ui("TableBody",[children]),ui("TableRow",[children]),ui("TableCell",[children,enumProp("align",["left","center","right"],"left")]),ui("Tabs",[children,{name:"value",type:"number | string",optional:!0,control:"string"}]),ui("Tab",[{name:"label",type:"ReactNode",optional:!0,control:"string"}]),ui("Badge",[children,{name:"badgeContent",type:"ReactNode",optional:!0,control:"string"}]),ui("Checkbox",[{name:"checked",type:"boolean",optional:!0,control:"boolean"}]),ui("Switch",[{name:"checked",type:"boolean",optional:!0,control:"boolean"}]),ui("Select",[children,enumProp("variant",["outlined","filled","standard"],"outlined")]),ui("MenuItem",[children,{name:"value",type:"string | number",optional:!0,control:"string"}]),ui("Tooltip",[children,{name:"title",type:"ReactNode",optional:!0,control:"string"}]),ui("Alert",[children,enumProp("severity",["success","info","warning","error"],"success")]),ui("Dialog",[children,enumProp("maxWidth",["xs","sm","md","lg","xl"],"sm")],"Modal dialog surface \u2014 renders open + inline in design mode. Fill it with DialogTitle / DialogContent / DialogActions.",{maxWidth:"sm"}),ui("DialogTitle",[children],"The dialog's heading row."),ui("DialogContent",[children],"The dialog's body."),ui("DialogContentText",[children],"Secondary text inside DialogContent."),ui("DialogActions",[children],"The dialog's button row (right-aligned)."),ui("Menu",[children],"A menu surface holding MenuItems \u2014 renders open + inline in design mode."),ui("Popover",[children],"A popover surface \u2014 renders open + inline in design mode."),ui("Drawer",[children],"A side panel \u2014 renders inline as a fixed-width column in design mode."),ui("Snackbar",[children,{name:"message",type:"ReactNode",optional:!0,control:"string"}],"A toast \u2014 renders inline as a dark pill in design mode. Use `message` or children.",{message:"Saved"}),helper("Icon",[{name:"name",type:"string",optional:!1,control:"icon"},{name:"size",type:"number",optional:!0,control:"number"}],"A lucide icon \u2014 MUI has no bundled icon set. Set the pixel `size` prop (not Tailwind). `name` is a lucide id (PascalCase or kebab). Emits a `lucide-react` import.",{name:"ArrowRight",size:20}),helper("Image",[{name:"src",type:"string",optional:!1,control:"string"},{name:"alt",type:"string",optional:!1,control:"string"}],"An image. Use velloo assets (`/assets/\u2026`) or a URL."),helper("Placeholder",[{name:"label",type:"string",optional:!0,control:"string"}],"A labeled placeholder box for imagery you haven't authored yet (avatars, hero shots)."),helper("SVG",[{name:"content",type:"string",optional:!1,control:"string"},{name:"viewBox",type:"string",optional:!1,control:"string"}],"Raw inline SVG markup."),helper("Layer",[children],"An absolutely-positioned overlay layer for stacked composition."),helper("Gradient",[{name:"from",type:"string",optional:!0,control:"color"}],"A gradient fill block."),helper("Prose",[children,{name:"preset",type:"string",optional:!0,control:"string"},{name:"as",type:"string",optional:!0,control:"string"}],"A long-form content region. Everything inside \u2014 Typography, headings, lists, quotes, code, tables \u2014 picks up the theme typeset's proportions and vertical rhythm automatically. `preset` selects a named typeset (see set_typeset). Reach for this for articles, docs, and marketing copy instead of setting sizes block by block.",{as:"article"})];var React49=__toESM(require_react_development()),import_prop_types26=__toESM(require_prop_types());import clsx13 from"clsx";function composeClasses(slots,getUtilityClass,classes=void 0){let output={};for(let slotName in slots){let slot=slots[slotName],buffer="",start=!0;for(let i=0;i<slot.length;i+=1){let value=slot[i];if(value){if(buffer+=(start===!0?"":" ")+getUtilityClass(value),start=!1,classes&&classes[value])buffer+=" "+classes[value]}}output[slotName]=buffer}return output}function clamp(val,min=Number.MIN_SAFE_INTEGER,max=Number.MAX_SAFE_INTEGER){return Math.max(min,Math.min(val,max))}var clamp_default=clamp;function clampWrapper(value,min=0,max=1){if(value<min||value>max)console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);return clamp_default(value,min,max)}function hexToRgb(color){color=color.slice(1);let re=new RegExp(`.{1,${color.length>=6?2:1}}`,"g"),colors=color.match(re);if(colors&&colors[0].length===1)colors=colors.map((n)=>n+n);if(color.length!==color.trim().length)console.error(`MUI: The color: "${color}" is invalid. Make sure the color input doesn't contain leading/trailing space.`);return colors?`rgb${colors.length===4?"a":""}(${colors.map((n,index)=>index<3?parseInt(n,16):Math.round(parseInt(n,16)/255*1000)/1000).join(", ")})`:""}function decomposeColor(color){if(color.type)return color;if(color.charAt(0)==="#")return decomposeColor(hexToRgb(color));let marker=color.indexOf("("),type=color.substring(0,marker);if(!["rgb","rgba","hsl","hsla","color"].includes(type))throw Error(`MUI: Unsupported \`${color}\` color.
2
+ import{helpersRegistry,parse_default,formatRgb,helperSourcePath}from"./chunk-yfvc8d2g.js";import{sanitizeCssTokenValue,resolveColors,DEFAULT_TYPESET_NAME,typesetScale}from"./chunk-8cj4swpr.js";import{require_react_is_development,require_object_assign,require_emotion_serialize_development_cjs,$_default,import_emotion_react_development_cjs,$_default2,$_default3}from"./chunk-dar6wbf2.js";import{SX_PROP,catalogFromManifest,require_react_development,require_react_dom}from"./chunk-chtv0yj6.js";import{__toESM,__commonJS}from"./chunk-2smsg2ct.js";import{MUI_VERSION}from"./chunk-mzhdrawd.js";import{_objectWithoutPropertiesLoose,_extends,_assertThisInitialized,_setPrototypeOf}from"./chunk-h6gchare.js";import{resolveProviderSrcDir}from"./chunk-v6c3h9ft.js";import{require_react_jsx_runtime_development}from"./chunk-56z5xd5b.js";var require_ReactPropTypesSecret=__commonJS(function(exports,module){var ReactPropTypesSecret="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";module.exports=ReactPropTypesSecret});var require_has=__commonJS(function(exports,module){module.exports=Function.call.bind(Object.prototype.hasOwnProperty)});var require_checkPropTypes=__commonJS(function(exports,module){var printWarning=function(){};ReactPropTypesSecret=require_ReactPropTypesSecret(),loggedTypeFailures={},has=require_has(),printWarning=function(text){var message="Warning: "+text;if(typeof console<"u")console.error(message);try{throw Error(message)}catch(x){}};var ReactPropTypesSecret,loggedTypeFailures,has;function checkPropTypes(typeSpecs,values,location,componentName,getStack){for(var typeSpecName in typeSpecs)if(has(typeSpecs,typeSpecName)){var error;try{if(typeof typeSpecs[typeSpecName]!=="function"){var err=Error((componentName||"React class")+": "+location+" type `"+typeSpecName+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof typeSpecs[typeSpecName]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw err.name="Invariant Violation",err}error=typeSpecs[typeSpecName](values,typeSpecName,componentName,location,null,ReactPropTypesSecret)}catch(ex){error=ex}if(error&&!(error instanceof Error))printWarning((componentName||"React class")+": type specification of "+location+" `"+typeSpecName+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof error+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).");if(error instanceof Error&&!(error.message in loggedTypeFailures)){loggedTypeFailures[error.message]=!0;var stack=getStack?getStack():"";printWarning("Failed "+location+" type: "+error.message+(stack!=null?stack:""))}}}checkPropTypes.resetWarningCache=function(){loggedTypeFailures={}};module.exports=checkPropTypes});var require_factoryWithTypeCheckers=__commonJS(function(exports,module){var ReactIs=__toESM(require_react_is_development()),assign=require_object_assign(),ReactPropTypesSecret=require_ReactPropTypesSecret(),has=require_has(),checkPropTypes=require_checkPropTypes(),printWarning=function(){};printWarning=function(text){var message="Warning: "+text;if(typeof console<"u")console.error(message);try{throw Error(message)}catch(x){}};function emptyFunctionThatReturnsNull(){return null}module.exports=function(isValidElement,throwOnDirectAccess){var ITERATOR_SYMBOL=typeof Symbol==="function"&&Symbol.iterator,FAUX_ITERATOR_SYMBOL="@@iterator";function getIteratorFn(maybeIterable){var iteratorFn=maybeIterable&&(ITERATOR_SYMBOL&&maybeIterable[ITERATOR_SYMBOL]||maybeIterable[FAUX_ITERATOR_SYMBOL]);if(typeof iteratorFn==="function")return iteratorFn}var ANONYMOUS="<<anonymous>>",ReactPropTypes={array:createPrimitiveTypeChecker("array"),bigint:createPrimitiveTypeChecker("bigint"),bool:createPrimitiveTypeChecker("boolean"),func:createPrimitiveTypeChecker("function"),number:createPrimitiveTypeChecker("number"),object:createPrimitiveTypeChecker("object"),string:createPrimitiveTypeChecker("string"),symbol:createPrimitiveTypeChecker("symbol"),any:createAnyTypeChecker(),arrayOf:createArrayOfTypeChecker,element:createElementTypeChecker(),elementType:createElementTypeTypeChecker(),instanceOf:createInstanceTypeChecker,node:createNodeChecker(),objectOf:createObjectOfTypeChecker,oneOf:createEnumTypeChecker,oneOfType:createUnionTypeChecker,shape:createShapeTypeChecker,exact:createStrictShapeTypeChecker};function is(x,y){if(x===y)return x!==0||1/x===1/y;else return x!==x&&y!==y}function PropTypeError(message,data){this.message=message,this.data=data&&typeof data==="object"?data:{},this.stack=""}PropTypeError.prototype=Error.prototype;function createChainableTypeChecker(validate){var manualPropTypeCallCache={},manualPropTypeWarningCount=0;function checkType(isRequired,props,propName,componentName,location,propFullName,secret){if(componentName=componentName||ANONYMOUS,propFullName=propFullName||propName,secret!==ReactPropTypesSecret){if(throwOnDirectAccess){var err=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw err.name="Invariant Violation",err}else if(typeof console<"u"){var cacheKey=componentName+":"+propName;if(!manualPropTypeCallCache[cacheKey]&&manualPropTypeWarningCount<3)printWarning("You are manually calling a React.PropTypes validation function for the `"+propFullName+"` prop on `"+componentName+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),manualPropTypeCallCache[cacheKey]=!0,manualPropTypeWarningCount++}}if(props[propName]==null){if(isRequired){if(props[propName]===null)return new PropTypeError("The "+location+" `"+propFullName+"` is marked as required "+("in `"+componentName+"`, but its value is `null`."));return new PropTypeError("The "+location+" `"+propFullName+"` is marked as required in "+("`"+componentName+"`, but its value is `undefined`."))}return null}else return validate(props,propName,componentName,location,propFullName)}var chainedCheckType=checkType.bind(null,!1);return chainedCheckType.isRequired=checkType.bind(null,!0),chainedCheckType}function createPrimitiveTypeChecker(expectedType){function validate(props,propName,componentName,location,propFullName,secret){var propValue=props[propName],propType=getPropType(propValue);if(propType!==expectedType){var preciseType=getPreciseType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+preciseType+"` supplied to `"+componentName+"`, expected ")+("`"+expectedType+"`."),{expectedType})}return null}return createChainableTypeChecker(validate)}function createAnyTypeChecker(){return createChainableTypeChecker(emptyFunctionThatReturnsNull)}function createArrayOfTypeChecker(typeChecker){function validate(props,propName,componentName,location,propFullName){if(typeof typeChecker!=="function")return new PropTypeError("Property `"+propFullName+"` of component `"+componentName+"` has invalid PropType notation inside arrayOf.");var propValue=props[propName];if(!Array.isArray(propValue)){var propType=getPropType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected an array."))}for(var i=0;i<propValue.length;i++){var error=typeChecker(propValue,i,componentName,location,propFullName+"["+i+"]",ReactPropTypesSecret);if(error instanceof Error)return error}return null}return createChainableTypeChecker(validate)}function createElementTypeChecker(){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];if(!isValidElement(propValue)){var propType=getPropType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected a single ReactElement."))}return null}return createChainableTypeChecker(validate)}function createElementTypeTypeChecker(){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];if(!ReactIs.isValidElementType(propValue)){var propType=getPropType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected a single ReactElement type."))}return null}return createChainableTypeChecker(validate)}function createInstanceTypeChecker(expectedClass){function validate(props,propName,componentName,location,propFullName){if(!(props[propName]instanceof expectedClass)){var expectedClassName=expectedClass.name||ANONYMOUS,actualClassName=getClassName(props[propName]);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+actualClassName+"` supplied to `"+componentName+"`, expected ")+("instance of `"+expectedClassName+"`."))}return null}return createChainableTypeChecker(validate)}function createEnumTypeChecker(expectedValues){if(!Array.isArray(expectedValues)){if(arguments.length>1)printWarning("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).");else printWarning("Invalid argument supplied to oneOf, expected an array.");return emptyFunctionThatReturnsNull}function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];for(var i=0;i<expectedValues.length;i++)if(is(propValue,expectedValues[i]))return null;var valuesString=JSON.stringify(expectedValues,function(key,value){var type=getPreciseType(value);if(type==="symbol")return String(value);return value});return new PropTypeError("Invalid "+location+" `"+propFullName+"` of value `"+String(propValue)+"` "+("supplied to `"+componentName+"`, expected one of "+valuesString+"."))}return createChainableTypeChecker(validate)}function createObjectOfTypeChecker(typeChecker){function validate(props,propName,componentName,location,propFullName){if(typeof typeChecker!=="function")return new PropTypeError("Property `"+propFullName+"` of component `"+componentName+"` has invalid PropType notation inside objectOf.");var propValue=props[propName],propType=getPropType(propValue);if(propType!=="object")return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected an object."));for(var key in propValue)if(has(propValue,key)){var error=typeChecker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error instanceof Error)return error}return null}return createChainableTypeChecker(validate)}function createUnionTypeChecker(arrayOfTypeCheckers){if(!Array.isArray(arrayOfTypeCheckers))return printWarning("Invalid argument supplied to oneOfType, expected an instance of array."),emptyFunctionThatReturnsNull;for(var i=0;i<arrayOfTypeCheckers.length;i++){var checker=arrayOfTypeCheckers[i];if(typeof checker!=="function")return printWarning("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+getPostfixForTypeWarning(checker)+" at index "+i+"."),emptyFunctionThatReturnsNull}function validate(props,propName,componentName,location,propFullName){var expectedTypes=[];for(var i=0;i<arrayOfTypeCheckers.length;i++){var checker=arrayOfTypeCheckers[i],checkerResult=checker(props,propName,componentName,location,propFullName,ReactPropTypesSecret);if(checkerResult==null)return null;if(checkerResult.data&&has(checkerResult.data,"expectedType"))expectedTypes.push(checkerResult.data.expectedType)}var expectedTypesMessage=expectedTypes.length>0?", expected one of type ["+expectedTypes.join(", ")+"]":"";return new PropTypeError("Invalid "+location+" `"+propFullName+"` supplied to "+("`"+componentName+"`"+expectedTypesMessage+"."))}return createChainableTypeChecker(validate)}function createNodeChecker(){function validate(props,propName,componentName,location,propFullName){if(!isNode(props[propName]))return new PropTypeError("Invalid "+location+" `"+propFullName+"` supplied to "+("`"+componentName+"`, expected a ReactNode."));return null}return createChainableTypeChecker(validate)}function invalidValidatorError(componentName,location,propFullName,key,type){return new PropTypeError((componentName||"React class")+": "+location+" type `"+propFullName+"."+key+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+type+"`.")}function createShapeTypeChecker(shapeTypes){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName],propType=getPropType(propValue);if(propType!=="object")return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` "+("supplied to `"+componentName+"`, expected `object`."));for(var key in shapeTypes){var checker=shapeTypes[key];if(typeof checker!=="function")return invalidValidatorError(componentName,location,propFullName,key,getPreciseType(checker));var error=checker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error)return error}return null}return createChainableTypeChecker(validate)}function createStrictShapeTypeChecker(shapeTypes){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName],propType=getPropType(propValue);if(propType!=="object")return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` "+("supplied to `"+componentName+"`, expected `object`."));var allKeys=assign({},props[propName],shapeTypes);for(var key in allKeys){var checker=shapeTypes[key];if(has(shapeTypes,key)&&typeof checker!=="function")return invalidValidatorError(componentName,location,propFullName,key,getPreciseType(checker));if(!checker)return new PropTypeError("Invalid "+location+" `"+propFullName+"` key `"+key+"` supplied to `"+componentName+"`.\nBad object: "+JSON.stringify(props[propName],null," ")+`
3
+ Valid keys: `+JSON.stringify(Object.keys(shapeTypes),null," "));var error=checker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error)return error}return null}return createChainableTypeChecker(validate)}function isNode(propValue){switch(typeof propValue){case"number":case"string":case"undefined":return!0;case"boolean":return!propValue;case"object":if(Array.isArray(propValue))return propValue.every(isNode);if(propValue===null||isValidElement(propValue))return!0;var iteratorFn=getIteratorFn(propValue);if(iteratorFn){var iterator=iteratorFn.call(propValue),step;if(iteratorFn!==propValue.entries){while(!(step=iterator.next()).done)if(!isNode(step.value))return!1}else while(!(step=iterator.next()).done){var entry=step.value;if(entry){if(!isNode(entry[1]))return!1}}}else return!1;return!0;default:return!1}}function isSymbol(propType,propValue){if(propType==="symbol")return!0;if(!propValue)return!1;if(propValue["@@toStringTag"]==="Symbol")return!0;if(typeof Symbol==="function"&&propValue instanceof Symbol)return!0;return!1}function getPropType(propValue){var propType=typeof propValue;if(Array.isArray(propValue))return"array";if(propValue instanceof RegExp)return"object";if(isSymbol(propType,propValue))return"symbol";return propType}function getPreciseType(propValue){if(typeof propValue>"u"||propValue===null)return""+propValue;var propType=getPropType(propValue);if(propType==="object"){if(propValue instanceof Date)return"date";else if(propValue instanceof RegExp)return"regexp"}return propType}function getPostfixForTypeWarning(value){var type=getPreciseType(value);switch(type){case"array":case"object":return"an "+type;case"boolean":case"date":case"regexp":return"a "+type;default:return type}}function getClassName(propValue){if(!propValue.constructor||!propValue.constructor.name)return ANONYMOUS;return propValue.constructor.name}return ReactPropTypes.checkPropTypes=checkPropTypes,ReactPropTypes.resetWarningCache=checkPropTypes.resetWarningCache,ReactPropTypes.PropTypes=ReactPropTypes,ReactPropTypes}});var require_prop_types=__commonJS(function(exports,module){var ReactIs=__toESM(require_react_is_development());throwOnDirectAccess=!0,module.exports=require_factoryWithTypeCheckers()(ReactIs.isElement,throwOnDirectAccess);var throwOnDirectAccess});var require_react_is_development2=__commonJS(function(exports){(function(){function typeOf(object){if(typeof object==="object"&&object!==null){var $$typeof=object.$$typeof;switch($$typeof){case REACT_ELEMENT_TYPE:switch(object=object.type,object){case REACT_FRAGMENT_TYPE:case REACT_PROFILER_TYPE:case REACT_STRICT_MODE_TYPE:case REACT_SUSPENSE_TYPE:case REACT_SUSPENSE_LIST_TYPE:case REACT_VIEW_TRANSITION_TYPE:return object;default:switch(object=object&&object.$$typeof,object){case REACT_CONTEXT_TYPE:case REACT_FORWARD_REF_TYPE:case REACT_LAZY_TYPE:case REACT_MEMO_TYPE:return object;case REACT_CONSUMER_TYPE:return object;default:return $$typeof}}case REACT_PORTAL_TYPE:return $$typeof}}}var REACT_ELEMENT_TYPE=Symbol.for("react.transitional.element"),REACT_PORTAL_TYPE=Symbol.for("react.portal"),REACT_FRAGMENT_TYPE=Symbol.for("react.fragment"),REACT_STRICT_MODE_TYPE=Symbol.for("react.strict_mode"),REACT_PROFILER_TYPE=Symbol.for("react.profiler"),REACT_CONSUMER_TYPE=Symbol.for("react.consumer"),REACT_CONTEXT_TYPE=Symbol.for("react.context"),REACT_FORWARD_REF_TYPE=Symbol.for("react.forward_ref"),REACT_SUSPENSE_TYPE=Symbol.for("react.suspense"),REACT_SUSPENSE_LIST_TYPE=Symbol.for("react.suspense_list"),REACT_MEMO_TYPE=Symbol.for("react.memo"),REACT_LAZY_TYPE=Symbol.for("react.lazy"),REACT_VIEW_TRANSITION_TYPE=Symbol.for("react.view_transition"),REACT_CLIENT_REFERENCE=Symbol.for("react.client.reference");exports.ContextConsumer=REACT_CONSUMER_TYPE,exports.ContextProvider=REACT_CONTEXT_TYPE,exports.Element=REACT_ELEMENT_TYPE,exports.ForwardRef=REACT_FORWARD_REF_TYPE,exports.Fragment=REACT_FRAGMENT_TYPE,exports.Lazy=REACT_LAZY_TYPE,exports.Memo=REACT_MEMO_TYPE,exports.Portal=REACT_PORTAL_TYPE,exports.Profiler=REACT_PROFILER_TYPE,exports.StrictMode=REACT_STRICT_MODE_TYPE,exports.Suspense=REACT_SUSPENSE_TYPE,exports.SuspenseList=REACT_SUSPENSE_LIST_TYPE,exports.isContextConsumer=function(object){return typeOf(object)===REACT_CONSUMER_TYPE},exports.isContextProvider=function(object){return typeOf(object)===REACT_CONTEXT_TYPE},exports.isElement=function(object){return typeof object==="object"&&object!==null&&object.$$typeof===REACT_ELEMENT_TYPE},exports.isForwardRef=function(object){return typeOf(object)===REACT_FORWARD_REF_TYPE},exports.isFragment=function(object){return typeOf(object)===REACT_FRAGMENT_TYPE},exports.isLazy=function(object){return typeOf(object)===REACT_LAZY_TYPE},exports.isMemo=function(object){return typeOf(object)===REACT_MEMO_TYPE},exports.isPortal=function(object){return typeOf(object)===REACT_PORTAL_TYPE},exports.isProfiler=function(object){return typeOf(object)===REACT_PROFILER_TYPE},exports.isStrictMode=function(object){return typeOf(object)===REACT_STRICT_MODE_TYPE},exports.isSuspense=function(object){return typeOf(object)===REACT_SUSPENSE_TYPE},exports.isSuspenseList=function(object){return typeOf(object)===REACT_SUSPENSE_LIST_TYPE},exports.isValidElementType=function(type){return typeof type==="string"||typeof type==="function"||type===REACT_FRAGMENT_TYPE||type===REACT_PROFILER_TYPE||type===REACT_STRICT_MODE_TYPE||type===REACT_SUSPENSE_TYPE||type===REACT_SUSPENSE_LIST_TYPE||typeof type==="object"&&type!==null&&(type.$$typeof===REACT_LAZY_TYPE||type.$$typeof===REACT_MEMO_TYPE||type.$$typeof===REACT_CONTEXT_TYPE||type.$$typeof===REACT_CONSUMER_TYPE||type.$$typeof===REACT_FORWARD_REF_TYPE||type.$$typeof===REACT_CLIENT_REFERENCE||type.getModuleId!==void 0)?!0:!1},exports.typeOf=typeOf})()});import{dirname,join}from"path";import{fileURLToPath}from"url";var MUI_INTRO=["**This folder targets Material UI.** Components are real MUI: `Box`/`Stack`/`Container`/`Paper` for layout, `Card`/`CardContent`/`CardHeader`/`CardActions`, `Typography` (ALL text \u2014 pick `variant` for the type scale), `Button`/`IconButton`, `TextField`, `Chip`, `Divider`, `Avatar`, `List`/`ListItem`, `Table*`, `Tabs`/`Tab`, `Alert`, `Tooltip`, and the overlay surface `Dialog`/`Menu`/`Popover`/`Drawer`/`Snackbar` (rendered open + inline in design mode). Call `list_components` for the full set and per-component `example` props.","",'**Style through `sx`.** `update_props { style: { display: "flex", alignItems: "center", gap: 2, p: 3, color: "primary.main" } }` \u2014 an object of MUI system props, where spacing is theme units (`p: 2` = 16px). It merges shallowly; an inner `null` drops a key, `style: null` clears. `emit_code` emits `<Component sx={{\u2026}} />` importing from `@mui/material`; `emit_theme` emits a `createTheme(...)` module. Tailwind utility diagnostics do not apply here \u2014 style via `sx` plus the shared theme tokens from `get_theme`, which project onto MUI.',""];var sx={name:"sx",type:"SxProps | undefined",optional:!0,control:"string"},children={name:"children",type:"ReactNode",optional:!0,control:"string"},enumProp=(name,values,defaultValue)=>({name,type:values.map((v)=>`"${v}"`).join(" | "),optional:!0,control:"enum",enumValues:values,defaultValue});function ui(id,props,notes,example){return{id,category:"ui",source:"mui",props:[...props,sx],designModeNotes:notes,example}}var className={name:"className",type:"string | undefined",optional:!0,control:"string"};function helper(id,props,notes,example){return{id,category:"ui",source:"velloo",props:[...props,className],designModeNotes:notes,example}}var MUI_MANIFEST=[ui("Box",[children,{name:"as",type:"string",optional:!0,control:"string",nativeName:"component"}],'Generic layout primitive; style via sx. `as` renders another HTML tag ("span", "section") and emits as MUI\'s `component`.'),ui("Stack",[children,enumProp("direction",["row","column"],"column")],"Flex layout; set spacing via sx or the spacing prop."),ui("Container",[children,enumProp("maxWidth",["xs","sm","md","lg","xl"],"lg")],"Centers + max-widths content."),ui("Paper",[children,enumProp("variant",["elevation","outlined"],"elevation")]),ui("Card",[children,enumProp("variant",["elevation","outlined"],"elevation")]),ui("CardContent",[children]),ui("CardHeader",[{name:"title",type:"ReactNode",optional:!0,control:"string"},{name:"subheader",type:"ReactNode",optional:!0,control:"string"}]),ui("CardActions",[children]),ui("Button",[children,enumProp("variant",["text","outlined","contained"],"text"),enumProp("color",["primary","secondary","success","error","inherit"],"primary"),enumProp("size",["small","medium","large"],"medium")],"Action button.",{variant:"contained",color:"primary",children:"Submit"}),ui("Typography",[children,enumProp("variant",["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","caption","overline"],"body1"),enumProp("color",["text.primary","text.secondary","primary","error"])],"All text. Pick variant for the type scale; this is MUI's Heading + Text.",{variant:"h4",children:"Team analytics"}),ui("TextField",[enumProp("variant",["outlined","filled","standard"],"outlined"),{name:"label",type:"string",optional:!0,control:"string"},{name:"placeholder",type:"string",optional:!0,control:"string"}]),ui("Chip",[{name:"label",type:"ReactNode",optional:!0,control:"string"},enumProp("variant",["filled","outlined"],"filled"),enumProp("color",["default","primary","success","warning","error"],"default"),enumProp("size",["small","medium"],"medium")]),ui("Divider",[]),ui("Avatar",[children,{name:"src",type:"string",optional:!0,control:"string"}]),ui("LinearProgress",[{name:"value",type:"number",optional:!0,control:"number"},enumProp("variant",["determinate","indeterminate"],"indeterminate")]),ui("AppBar",[children,enumProp("position",["fixed","static","sticky"],"fixed"),enumProp("color",["primary","default","transparent","inherit"],"primary")]),ui("Toolbar",[children]),ui("IconButton",[children,enumProp("size",["small","medium","large"],"medium")]),ui("Link",[children,{name:"href",type:"string",optional:!0,control:"string"}]),ui("List",[children]),ui("ListItem",[children]),ui("ListItemText",[{name:"primary",type:"ReactNode",optional:!0,control:"string"},{name:"secondary",type:"ReactNode",optional:!0,control:"string"}]),ui("Table",[children]),ui("TableHead",[children]),ui("TableBody",[children]),ui("TableRow",[children]),ui("TableCell",[children,enumProp("align",["left","center","right"],"left")]),ui("Tabs",[children,{name:"value",type:"number | string",optional:!0,control:"string"}]),ui("Tab",[{name:"label",type:"ReactNode",optional:!0,control:"string"}]),ui("Badge",[children,{name:"badgeContent",type:"ReactNode",optional:!0,control:"string"}]),ui("Checkbox",[{name:"checked",type:"boolean",optional:!0,control:"boolean"}]),ui("Switch",[{name:"checked",type:"boolean",optional:!0,control:"boolean"}]),ui("Select",[children,enumProp("variant",["outlined","filled","standard"],"outlined")]),ui("MenuItem",[children,{name:"value",type:"string | number",optional:!0,control:"string"}]),ui("Tooltip",[children,{name:"title",type:"ReactNode",optional:!0,control:"string"}]),ui("Alert",[children,enumProp("severity",["success","info","warning","error"],"success")]),ui("Dialog",[children,enumProp("maxWidth",["xs","sm","md","lg","xl"],"sm")],"Modal dialog surface \u2014 renders open + inline in design mode. Fill it with DialogTitle / DialogContent / DialogActions.",{maxWidth:"sm"}),ui("DialogTitle",[children],"The dialog's heading row."),ui("DialogContent",[children],"The dialog's body."),ui("DialogContentText",[children],"Secondary text inside DialogContent."),ui("DialogActions",[children],"The dialog's button row (right-aligned)."),ui("Menu",[children],"A menu surface holding MenuItems \u2014 renders open + inline in design mode."),ui("Popover",[children],"A popover surface \u2014 renders open + inline in design mode."),ui("Drawer",[children],"A side panel \u2014 renders inline as a fixed-width column in design mode."),ui("Snackbar",[children,{name:"message",type:"ReactNode",optional:!0,control:"string"}],"A toast \u2014 renders inline as a dark pill in design mode. Use `message` or children.",{message:"Saved"}),helper("Icon",[{name:"name",type:"string",optional:!1,control:"icon"},{name:"size",type:"number",optional:!0,control:"number"}],"A lucide icon \u2014 MUI has no bundled icon set. Set the pixel `size` prop (not Tailwind). `name` is a lucide id (PascalCase or kebab). Emits a `lucide-react` import.",{name:"ArrowRight",size:20}),helper("Image",[{name:"src",type:"string",optional:!1,control:"string"},{name:"alt",type:"string",optional:!1,control:"string"}],"An image. Use velloo assets (`/assets/\u2026`) or a URL."),helper("Placeholder",[{name:"label",type:"string",optional:!0,control:"string"}],"A labeled placeholder box for imagery you haven't authored yet (avatars, hero shots)."),helper("SVG",[{name:"content",type:"string",optional:!1,control:"string"},{name:"viewBox",type:"string",optional:!1,control:"string"}],"Raw inline SVG markup."),helper("Layer",[children],"An absolutely-positioned overlay layer for stacked composition."),helper("Gradient",[{name:"from",type:"string",optional:!0,control:"color"}],"A gradient fill block."),helper("Prose",[children,{name:"preset",type:"string",optional:!0,control:"string"},{name:"as",type:"string",optional:!0,control:"string"}],"A long-form content region. Everything inside \u2014 Typography, headings, lists, quotes, code, tables \u2014 picks up the theme typeset's proportions and vertical rhythm automatically. `preset` selects a named typeset (see set_typeset). Reach for this for articles, docs, and marketing copy instead of setting sizes block by block.",{as:"article"})];var React49=__toESM(require_react_development()),import_prop_types26=__toESM(require_prop_types());import clsx13 from"clsx";function composeClasses(slots,getUtilityClass,classes=void 0){let output={};for(let slotName in slots){let slot=slots[slotName],buffer="",start=!0;for(let i=0;i<slot.length;i+=1){let value=slot[i];if(value){if(buffer+=(start===!0?"":" ")+getUtilityClass(value),start=!1,classes&&classes[value])buffer+=" "+classes[value]}}output[slotName]=buffer}return output}function clamp(val,min=Number.MIN_SAFE_INTEGER,max=Number.MAX_SAFE_INTEGER){return Math.max(min,Math.min(val,max))}var clamp_default=clamp;function clampWrapper(value,min=0,max=1){if(value<min||value>max)console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);return clamp_default(value,min,max)}function hexToRgb(color){color=color.slice(1);let re=new RegExp(`.{1,${color.length>=6?2:1}}`,"g"),colors=color.match(re);if(colors&&colors[0].length===1)colors=colors.map((n)=>n+n);if(color.length!==color.trim().length)console.error(`MUI: The color: "${color}" is invalid. Make sure the color input doesn't contain leading/trailing space.`);return colors?`rgb${colors.length===4?"a":""}(${colors.map((n,index)=>index<3?parseInt(n,16):Math.round(parseInt(n,16)/255*1000)/1000).join(", ")})`:""}function decomposeColor(color){if(color.type)return color;if(color.charAt(0)==="#")return decomposeColor(hexToRgb(color));let marker=color.indexOf("("),type=color.substring(0,marker);if(!["rgb","rgba","hsl","hsla","color"].includes(type))throw Error(`MUI: Unsupported \`${color}\` color.
4
4
  The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().`);let values=color.substring(marker+1,color.length-1),colorSpace;if(type==="color"){if(values=values.split(" "),colorSpace=values.shift(),values.length===4&&values[3].charAt(0)==="/")values[3]=values[3].slice(1);if(!["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].includes(colorSpace))throw Error(`MUI: unsupported \`${colorSpace}\` color space.
5
5
  The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.`)}else values=values.split(",");return values=values.map((value)=>parseFloat(value)),{type,values,colorSpace}}var colorChannel=(color)=>{let decomposedColor=decomposeColor(color);return decomposedColor.values.slice(0,3).map((val,idx)=>decomposedColor.type.includes("hsl")&&idx!==0?`${val}%`:val).join(" ")},private_safeColorChannel=(color,warning)=>{try{return colorChannel(color)}catch(error){if(warning)console.warn(warning);return color}};function recomposeColor(color){let{type,colorSpace}=color,{values}=color;if(type.includes("rgb"))values=values.map((n,i)=>i<3?parseInt(n,10):n);else if(type.includes("hsl"))values[1]=`${values[1]}%`,values[2]=`${values[2]}%`;if(type.includes("color"))values=`${colorSpace} ${values.join(" ")}`;else values=`${values.join(", ")}`;return`${type}(${values})`}function hslToRgb(color){color=decomposeColor(color);let{values}=color,h=values[0],s=values[1]/100,l=values[2]/100,a=s*Math.min(l,1-l),f=(n,k=(n+h/30)%12)=>l-a*Math.max(Math.min(k-3,9-k,1),-1),type="rgb",rgb=[Math.round(f(0)*255),Math.round(f(8)*255),Math.round(f(4)*255)];if(color.type==="hsla")type+="a",rgb.push(values[3]);return recomposeColor({type,values:rgb})}function getLuminance(color){color=decomposeColor(color);let rgb=color.type==="hsl"||color.type==="hsla"?decomposeColor(hslToRgb(color)).values:color.values;return rgb=rgb.map((val)=>{if(color.type!=="color")val/=255;return val<=0.03928?val/12.92:((val+0.055)/1.055)**2.4}),Number((0.2126*rgb[0]+0.7152*rgb[1]+0.0722*rgb[2]).toFixed(3))}function getContrastRatio(foreground,background){let lumA=getLuminance(foreground),lumB=getLuminance(background);return(Math.max(lumA,lumB)+0.05)/(Math.min(lumA,lumB)+0.05)}function alpha(color,value){if(color=decomposeColor(color),value=clampWrapper(value),color.type==="rgb"||color.type==="hsl")color.type+="a";if(color.type==="color")color.values[3]=`/${value}`;else color.values[3]=value;return recomposeColor(color)}function private_safeAlpha(color,value,warning){try{return alpha(color,value)}catch(error){if(warning)console.warn(warning);return color}}function darken(color,coefficient){if(color=decomposeColor(color),coefficient=clampWrapper(coefficient),color.type.includes("hsl"))color.values[2]*=1-coefficient;else if(color.type.includes("rgb")||color.type.includes("color"))for(let i=0;i<3;i+=1)color.values[i]*=1-coefficient;return recomposeColor(color)}function private_safeDarken(color,coefficient,warning){try{return darken(color,coefficient)}catch(error){if(warning)console.warn(warning);return color}}function lighten(color,coefficient){if(color=decomposeColor(color),coefficient=clampWrapper(coefficient),color.type.includes("hsl"))color.values[2]+=(100-color.values[2])*coefficient;else if(color.type.includes("rgb"))for(let i=0;i<3;i+=1)color.values[i]+=(255-color.values[i])*coefficient;else if(color.type.includes("color"))for(let i=0;i<3;i+=1)color.values[i]+=(1-color.values[i])*coefficient;return recomposeColor(color)}function private_safeLighten(color,coefficient,warning){try{return lighten(color,coefficient)}catch(error){if(warning)console.warn(warning);return color}}function emphasize(color,coefficient=0.15){return getLuminance(color)>0.5?darken(color,coefficient):lighten(color,coefficient)}function private_safeEmphasize(color,coefficient,warning){try{return emphasize(color,coefficient)}catch(error){if(warning)console.warn(warning);return color}}var React27=__toESM(require_react_development());function capitalize(string){if(typeof string!=="string")throw Error("MUI: `capitalize(string)` expects a string argument.");return string.charAt(0).toUpperCase()+string.slice(1)}var React=__toESM(require_react_development()),import_react_is=__toESM(require_react_is_development2());function isPlainObject(item){if(typeof item!=="object"||item===null)return!1;let prototype=Object.getPrototypeOf(item);return(prototype===null||prototype===Object.prototype||Object.getPrototypeOf(prototype)===null)&&!(Symbol.toStringTag in item)&&!(Symbol.iterator in item)}function deepClone(source){if(React.isValidElement(source)||import_react_is.isValidElementType(source)||!isPlainObject(source))return source;let output={};return Object.keys(source).forEach((key)=>{output[key]=deepClone(source[key])}),output}function deepmerge(target,source,options={clone:!0}){let output=options.clone?{...target}:target;if(isPlainObject(target)&&isPlainObject(source))Object.keys(source).forEach((key)=>{if(React.isValidElement(source[key])||import_react_is.isValidElementType(source[key]))output[key]=source[key];else if(isPlainObject(source[key])&&Object.prototype.hasOwnProperty.call(target,key)&&isPlainObject(target[key]))output[key]=deepmerge(target[key],source[key],options);else if(options.clone)output[key]=isPlainObject(source[key])?deepClone(source[key]):source[key];else output[key]=source[key]});return output}function merge(acc,item){if(!item)return acc;return deepmerge(acc,item,{clone:!1})}var merge_default=merge;var import_prop_types=__toESM(require_prop_types()),responsivePropType=import_prop_types.default.oneOfType([import_prop_types.default.number,import_prop_types.default.string,import_prop_types.default.object,import_prop_types.default.array]),responsivePropType_default=responsivePropType;function sortContainerQueries(theme,css){if(!theme.containerQueries)return css;let sorted=Object.keys(css).filter((key)=>key.startsWith("@container")).sort((a,b)=>{let regex=/min-width:\s*([0-9.]+)/;return+(a.match(regex)?.[1]||0)-+(b.match(regex)?.[1]||0)});if(!sorted.length)return css;return sorted.reduce((acc,key)=>{let value=css[key];return delete acc[key],acc[key]=value,acc},{...css})}function isCqShorthand(breakpointKeys,value){return value==="@"||value.startsWith("@")&&(breakpointKeys.some((key)=>value.startsWith(`@${key}`))||!!value.match(/^@\d/))}function getContainerQuery(theme,shorthand){let matches=shorthand.match(/^@([^/]+)?\/?(.+)?$/);if(!matches)throw Error(`MUI: The provided shorthand ${`(${shorthand})`} is invalid. The format should be \`@<breakpoint | number>\` or \`@<breakpoint | number>/<container>\`.
6
6
  For example, \`@sm\` or \`@600\` or \`@40rem/sidebar\`.`);let[,containerQuery,containerName]=matches,value=Number.isNaN(+containerQuery)?containerQuery||0:+containerQuery;return theme.containerQueries(containerName).up(value)}function cssContainerQueries(themeInput){let toContainerQuery=(mediaQuery,name)=>mediaQuery.replace("@media",name?`@container ${name}`:"@container");function attachCq(node,name){node.up=(...args)=>toContainerQuery(themeInput.breakpoints.up(...args),name),node.down=(...args)=>toContainerQuery(themeInput.breakpoints.down(...args),name),node.between=(...args)=>toContainerQuery(themeInput.breakpoints.between(...args),name),node.only=(...args)=>toContainerQuery(themeInput.breakpoints.only(...args),name),node.not=(...args)=>{let result=toContainerQuery(themeInput.breakpoints.not(...args),name);if(result.includes("not all and"))return result.replace("not all and ","").replace("min-width:","width<").replace("max-width:","width>").replace("and","or");return result}}let node={},containerQueries=(name)=>(attachCq(node,name),node);return attachCq(containerQueries),{...themeInput,containerQueries}}var values={xs:0,sm:600,md:900,lg:1200,xl:1536},defaultBreakpoints={keys:["xs","sm","md","lg","xl"],up:(key)=>`@media (min-width:${values[key]}px)`},defaultContainerQueries={containerQueries:(containerName)=>({up:(key)=>{let result=typeof key==="number"?key:values[key]||key;if(typeof result==="number")result=`${result}px`;return containerName?`@container ${containerName} (min-width:${result})`:`@container (min-width:${result})`}})};function handleBreakpoints(props,propValue,styleFromPropValue){let theme=props.theme||{};if(Array.isArray(propValue)){let themeBreakpoints=theme.breakpoints||defaultBreakpoints;return propValue.reduce((acc,item,index)=>(acc[themeBreakpoints.up(themeBreakpoints.keys[index])]=styleFromPropValue(propValue[index]),acc),{})}if(typeof propValue==="object"){let themeBreakpoints=theme.breakpoints||defaultBreakpoints;return Object.keys(propValue).reduce((acc,breakpoint)=>{if(isCqShorthand(themeBreakpoints.keys,breakpoint)){let containerKey=getContainerQuery(theme.containerQueries?theme:defaultContainerQueries,breakpoint);if(containerKey)acc[containerKey]=styleFromPropValue(propValue[breakpoint],breakpoint)}else if(Object.keys(themeBreakpoints.values||values).includes(breakpoint)){let mediaKey=themeBreakpoints.up(breakpoint);acc[mediaKey]=styleFromPropValue(propValue[breakpoint],breakpoint)}else{let cssKey=breakpoint;acc[cssKey]=propValue[cssKey]}return acc},{})}return styleFromPropValue(propValue)}function createEmptyBreakpointObject(breakpointsInput={}){return breakpointsInput.keys?.reduce((acc,key)=>{let breakpointStyleKey=breakpointsInput.up(key);return acc[breakpointStyleKey]={},acc},{})||{}}function removeUnusedBreakpoints(breakpointKeys,style){return breakpointKeys.reduce((acc,key)=>{let breakpointOutput=acc[key];if(!breakpointOutput||Object.keys(breakpointOutput).length===0)delete acc[key];return acc},style)}function mergeBreakpointsInOrder(breakpointsInput,...styles){let emptyBreakpoints=createEmptyBreakpointObject(breakpointsInput),mergedOutput=[emptyBreakpoints,...styles].reduce((prev,next)=>deepmerge(prev,next),{});return removeUnusedBreakpoints(Object.keys(emptyBreakpoints),mergedOutput)}function computeBreakpointsBase(breakpointValues,themeBreakpoints){if(typeof breakpointValues!=="object")return{};let base={},breakpointsKeys=Object.keys(themeBreakpoints);if(Array.isArray(breakpointValues))breakpointsKeys.forEach((breakpoint,i)=>{if(i<breakpointValues.length)base[breakpoint]=!0});else breakpointsKeys.forEach((breakpoint)=>{if(breakpointValues[breakpoint]!=null)base[breakpoint]=!0});return base}function resolveBreakpointValues({values:breakpointValues,breakpoints:themeBreakpoints,base:customBase}){let base=customBase||computeBreakpointsBase(breakpointValues,themeBreakpoints),keys=Object.keys(base);if(keys.length===0)return breakpointValues;let previous;return keys.reduce((acc,breakpoint,i)=>{if(Array.isArray(breakpointValues))acc[breakpoint]=breakpointValues[i]!=null?breakpointValues[i]:breakpointValues[previous],previous=i;else if(typeof breakpointValues==="object")acc[breakpoint]=breakpointValues[breakpoint]!=null?breakpointValues[breakpoint]:breakpointValues[previous],previous=breakpoint;else acc[breakpoint]=breakpointValues;return acc},{})}function getPath(obj,path,checkVars=!0){if(!path||typeof path!=="string")return null;if(obj&&obj.vars&&checkVars){let val=`vars.${path}`.split(".").reduce((acc,item)=>acc&&acc[item]?acc[item]:null,obj);if(val!=null)return val}return path.split(".").reduce((acc,item)=>{if(acc&&acc[item]!=null)return acc[item];return null},obj)}function getStyleValue(themeMapping,transform,propValueFinal,userValue=propValueFinal){let value;if(typeof themeMapping==="function")value=themeMapping(propValueFinal);else if(Array.isArray(themeMapping))value=themeMapping[propValueFinal]||userValue;else value=getPath(themeMapping,propValueFinal)||userValue;if(transform)value=transform(value,userValue,themeMapping);return value}function style(options){let{prop,cssProperty=options.prop,themeKey,transform}=options,fn=(props)=>{if(props[prop]==null)return null;let propValue=props[prop],theme=props.theme,themeMapping=getPath(theme,themeKey)||{};return handleBreakpoints(props,propValue,(propValueFinal)=>{let value=getStyleValue(themeMapping,transform,propValueFinal);if(propValueFinal===value&&typeof propValueFinal==="string")value=getStyleValue(themeMapping,transform,`${prop}${propValueFinal==="default"?"":capitalize(propValueFinal)}`,propValueFinal);if(cssProperty===!1)return value;return{[cssProperty]:value}})};return fn.propTypes={[prop]:responsivePropType_default},fn.filterProps=[prop],fn}var style_default=style;function memoize(fn){let cache={};return(arg)=>{if(cache[arg]===void 0)cache[arg]=fn(arg);return cache[arg]}}var properties={m:"margin",p:"padding"},directions={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},aliases={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},getCssProperties=memoize((prop)=>{if(prop.length>2)if(aliases[prop])prop=aliases[prop];else return[prop];let[a,b]=prop.split(""),property=properties[a],direction=directions[b]||"";return Array.isArray(direction)?direction.map((dir)=>property+dir):[property+direction]}),marginKeys=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],paddingKeys=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"],spacingKeys=[...marginKeys,...paddingKeys];function createUnaryUnit(theme,themeKey,defaultValue,propName){let themeSpacing=getPath(theme,themeKey,!0)??defaultValue;if(typeof themeSpacing==="number"||typeof themeSpacing==="string")return(val)=>{if(typeof val==="string")return val;if(typeof val!=="number")console.error(`MUI: Expected ${propName} argument to be a number or a string, got ${val}.`);if(typeof themeSpacing==="string")return`calc(${val} * ${themeSpacing})`;return themeSpacing*val};if(Array.isArray(themeSpacing))return(val)=>{if(typeof val==="string")return val;let abs=Math.abs(val);if(!Number.isInteger(abs))console.error([`MUI: The \`theme.${themeKey}\` array type cannot be combined with non integer values.You should either use an integer value that can be used as index, or define the \`theme.${themeKey}\` as a number.`].join(`
@@ -241,4 +241,4 @@ To suppress this warning, you need to explicitly provide the \`palette.${key}Cha
241
241
  `))}return null}),children:import_prop_types84.default.oneOfType([import_prop_types84.default.node,import_prop_types84.default.func]),container:import_prop_types84.default.oneOfType([HTMLElementType,import_prop_types84.default.func]),direction:import_prop_types84.default.oneOf(["ltr","rtl"]),disablePortal:import_prop_types84.default.bool,keepMounted:import_prop_types84.default.bool,modifiers:import_prop_types84.default.arrayOf(import_prop_types84.default.shape({data:import_prop_types84.default.object,effect:import_prop_types84.default.func,enabled:import_prop_types84.default.bool,fn:import_prop_types84.default.func,name:import_prop_types84.default.any,options:import_prop_types84.default.object,phase:import_prop_types84.default.oneOf(["afterMain","afterRead","afterWrite","beforeMain","beforeRead","beforeWrite","main","read","write"]),requires:import_prop_types84.default.arrayOf(import_prop_types84.default.string),requiresIfExists:import_prop_types84.default.arrayOf(import_prop_types84.default.string)})),open:import_prop_types84.default.bool.isRequired,placement:import_prop_types84.default.oneOf(["auto-end","auto-start","auto","bottom-end","bottom-start","bottom","left-end","left-start","left","right-end","right-start","right","top-end","top-start","top"]),popperOptions:import_prop_types84.default.shape({modifiers:import_prop_types84.default.array,onFirstUpdate:import_prop_types84.default.func,placement:import_prop_types84.default.oneOf(["auto-end","auto-start","auto","bottom-end","bottom-start","bottom","left-end","left-start","left","right-end","right-start","right","top-end","top-start","top"]),strategy:import_prop_types84.default.oneOf(["absolute","fixed"])}),popperRef:refType_default,slotProps:import_prop_types84.default.shape({root:import_prop_types84.default.oneOfType([import_prop_types84.default.func,import_prop_types84.default.object])}),slots:import_prop_types84.default.shape({root:import_prop_types84.default.elementType}),transition:import_prop_types84.default.bool};var BasePopper_default=Popper;var import_jsx_runtime96=__toESM(require_react_jsx_runtime_development()),PopperRoot=styled_default2(BasePopper_default,{name:"MuiPopper",slot:"Root",overridesResolver:(props,styles)=>styles.root})({}),Popper2=React125.forwardRef(function(inProps,ref){let isRtl=useRtl(),props=useDefaultProps2({props:inProps,name:"MuiPopper"}),{anchorEl,component,components,componentsProps,container,disablePortal,keepMounted,modifiers,open,placement,popperOptions,popperRef,transition,slots,slotProps,...other}=props,RootComponent=slots?.root??components?.Root,otherProps={anchorEl,container,disablePortal,keepMounted,modifiers,open,placement,popperOptions,popperRef,transition,...other};return import_jsx_runtime96.jsx(PopperRoot,{as:component,direction:isRtl?"rtl":"ltr",slots:{root:RootComponent},slotProps:slotProps??componentsProps,...otherProps,ref})});Popper2.propTypes={anchorEl:import_prop_types85.default.oneOfType([HTMLElementType,import_prop_types85.default.object,import_prop_types85.default.func]),children:import_prop_types85.default.oneOfType([import_prop_types85.default.node,import_prop_types85.default.func]),component:import_prop_types85.default.elementType,components:import_prop_types85.default.shape({Root:import_prop_types85.default.elementType}),componentsProps:import_prop_types85.default.shape({root:import_prop_types85.default.oneOfType([import_prop_types85.default.func,import_prop_types85.default.object])}),container:import_prop_types85.default.oneOfType([HTMLElementType,import_prop_types85.default.func]),disablePortal:import_prop_types85.default.bool,keepMounted:import_prop_types85.default.bool,modifiers:import_prop_types85.default.arrayOf(import_prop_types85.default.shape({data:import_prop_types85.default.object,effect:import_prop_types85.default.func,enabled:import_prop_types85.default.bool,fn:import_prop_types85.default.func,name:import_prop_types85.default.any,options:import_prop_types85.default.object,phase:import_prop_types85.default.oneOf(["afterMain","afterRead","afterWrite","beforeMain","beforeRead","beforeWrite","main","read","write"]),requires:import_prop_types85.default.arrayOf(import_prop_types85.default.string),requiresIfExists:import_prop_types85.default.arrayOf(import_prop_types85.default.string)})),open:import_prop_types85.default.bool.isRequired,placement:import_prop_types85.default.oneOf(["auto-end","auto-start","auto","bottom-end","bottom-start","bottom","left-end","left-start","left","right-end","right-start","right","top-end","top-start","top"]),popperOptions:import_prop_types85.default.shape({modifiers:import_prop_types85.default.array,onFirstUpdate:import_prop_types85.default.func,placement:import_prop_types85.default.oneOf(["auto-end","auto-start","auto","bottom-end","bottom-start","bottom","left-end","left-start","left","right-end","right-start","right","top-end","top-start","top"]),strategy:import_prop_types85.default.oneOf(["absolute","fixed"])}),popperRef:refType_default,slotProps:import_prop_types85.default.shape({root:import_prop_types85.default.oneOfType([import_prop_types85.default.func,import_prop_types85.default.object])}),slots:import_prop_types85.default.shape({root:import_prop_types85.default.elementType}),sx:import_prop_types85.default.oneOfType([import_prop_types85.default.arrayOf(import_prop_types85.default.oneOfType([import_prop_types85.default.func,import_prop_types85.default.object,import_prop_types85.default.bool])),import_prop_types85.default.func,import_prop_types85.default.object]),transition:import_prop_types85.default.bool};var Popper_default=Popper2;function getTooltipUtilityClass(slot){return generateUtilityClass("MuiTooltip",slot)}var tooltipClasses=generateUtilityClasses("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"]),tooltipClasses_default=tooltipClasses;var import_jsx_runtime97=__toESM(require_react_jsx_runtime_development());function round3(value){return Math.round(value*1e5)/1e5}var useUtilityClasses55=(ownerState)=>{let{classes,disableInteractive,arrow,touch,placement}=ownerState,slots={popper:["popper",!disableInteractive&&"popperInteractive",arrow&&"popperArrow"],tooltip:["tooltip",arrow&&"tooltipArrow",touch&&"touch",`tooltipPlacement${capitalize_default(placement.split("-")[0])}`],arrow:["arrow"]};return composeClasses(slots,getTooltipUtilityClass,classes)},TooltipPopper=styled_default2(Popper_default,{name:"MuiTooltip",slot:"Popper",overridesResolver:(props,styles)=>{let{ownerState}=props;return[styles.popper,!ownerState.disableInteractive&&styles.popperInteractive,ownerState.arrow&&styles.popperArrow,!ownerState.open&&styles.popperClose]}})(memoTheme_default(({theme})=>({zIndex:(theme.vars||theme).zIndex.tooltip,pointerEvents:"none",variants:[{props:({ownerState})=>!ownerState.disableInteractive,style:{pointerEvents:"auto"}},{props:({open})=>!open,style:{pointerEvents:"none"}},{props:({ownerState})=>ownerState.arrow,style:{[`&[data-popper-placement*="bottom"] .${tooltipClasses_default.arrow}`]:{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}},[`&[data-popper-placement*="top"] .${tooltipClasses_default.arrow}`]:{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}},[`&[data-popper-placement*="right"] .${tooltipClasses_default.arrow}`]:{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}},[`&[data-popper-placement*="left"] .${tooltipClasses_default.arrow}`]:{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}}}},{props:({ownerState})=>ownerState.arrow&&!ownerState.isRtl,style:{[`&[data-popper-placement*="right"] .${tooltipClasses_default.arrow}`]:{left:0,marginLeft:"-0.71em"}}},{props:({ownerState})=>ownerState.arrow&&!!ownerState.isRtl,style:{[`&[data-popper-placement*="right"] .${tooltipClasses_default.arrow}`]:{right:0,marginRight:"-0.71em"}}},{props:({ownerState})=>ownerState.arrow&&!ownerState.isRtl,style:{[`&[data-popper-placement*="left"] .${tooltipClasses_default.arrow}`]:{right:0,marginRight:"-0.71em"}}},{props:({ownerState})=>ownerState.arrow&&!!ownerState.isRtl,style:{[`&[data-popper-placement*="left"] .${tooltipClasses_default.arrow}`]:{left:0,marginLeft:"-0.71em"}}}]}))),TooltipTooltip=styled_default2("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:(props,styles)=>{let{ownerState}=props;return[styles.tooltip,ownerState.touch&&styles.touch,ownerState.arrow&&styles.tooltipArrow,styles[`tooltipPlacement${capitalize_default(ownerState.placement.split("-")[0])}`]]}})(memoTheme_default(({theme})=>({backgroundColor:theme.vars?theme.vars.palette.Tooltip.bg:alpha(theme.palette.grey[700],0.92),borderRadius:(theme.vars||theme).shape.borderRadius,color:(theme.vars||theme).palette.common.white,fontFamily:theme.typography.fontFamily,padding:"4px 8px",fontSize:theme.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:theme.typography.fontWeightMedium,[`.${tooltipClasses_default.popper}[data-popper-placement*="left"] &`]:{transformOrigin:"right center"},[`.${tooltipClasses_default.popper}[data-popper-placement*="right"] &`]:{transformOrigin:"left center"},[`.${tooltipClasses_default.popper}[data-popper-placement*="top"] &`]:{transformOrigin:"center bottom",marginBottom:"14px"},[`.${tooltipClasses_default.popper}[data-popper-placement*="bottom"] &`]:{transformOrigin:"center top",marginTop:"14px"},variants:[{props:({ownerState})=>ownerState.arrow,style:{position:"relative",margin:0}},{props:({ownerState})=>ownerState.touch,style:{padding:"8px 16px",fontSize:theme.typography.pxToRem(14),lineHeight:`${round3(1.1428571428571428)}em`,fontWeight:theme.typography.fontWeightRegular}},{props:({ownerState})=>!ownerState.isRtl,style:{[`.${tooltipClasses_default.popper}[data-popper-placement*="left"] &`]:{marginRight:"14px"},[`.${tooltipClasses_default.popper}[data-popper-placement*="right"] &`]:{marginLeft:"14px"}}},{props:({ownerState})=>!ownerState.isRtl&&ownerState.touch,style:{[`.${tooltipClasses_default.popper}[data-popper-placement*="left"] &`]:{marginRight:"24px"},[`.${tooltipClasses_default.popper}[data-popper-placement*="right"] &`]:{marginLeft:"24px"}}},{props:({ownerState})=>!!ownerState.isRtl,style:{[`.${tooltipClasses_default.popper}[data-popper-placement*="left"] &`]:{marginLeft:"14px"},[`.${tooltipClasses_default.popper}[data-popper-placement*="right"] &`]:{marginRight:"14px"}}},{props:({ownerState})=>!!ownerState.isRtl&&ownerState.touch,style:{[`.${tooltipClasses_default.popper}[data-popper-placement*="left"] &`]:{marginLeft:"24px"},[`.${tooltipClasses_default.popper}[data-popper-placement*="right"] &`]:{marginRight:"24px"}}},{props:({ownerState})=>ownerState.touch,style:{[`.${tooltipClasses_default.popper}[data-popper-placement*="top"] &`]:{marginBottom:"24px"}}},{props:({ownerState})=>ownerState.touch,style:{[`.${tooltipClasses_default.popper}[data-popper-placement*="bottom"] &`]:{marginTop:"24px"}}}]}))),TooltipArrow=styled_default2("span",{name:"MuiTooltip",slot:"Arrow",overridesResolver:(props,styles)=>styles.arrow})(memoTheme_default(({theme})=>({overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:theme.vars?theme.vars.palette.Tooltip.bg:alpha(theme.palette.grey[700],0.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}}))),hystersisOpen=!1,hystersisTimer=new Timeout2,cursorPosition={x:0,y:0};function composeEventHandler(handler,eventHandler){return(event,...params)=>{if(eventHandler)eventHandler(event,...params);handler(event,...params)}}var Tooltip=React126.forwardRef(function(inProps,ref){let props=useDefaultProps2({props:inProps,name:"MuiTooltip"}),{arrow=!1,children:childrenProp,classes:classesProp,components={},componentsProps={},describeChild=!1,disableFocusListener=!1,disableHoverListener=!1,disableInteractive:disableInteractiveProp=!1,disableTouchListener=!1,enterDelay=100,enterNextDelay=0,enterTouchDelay=700,followCursor=!1,id:idProp,leaveDelay=0,leaveTouchDelay=1500,onClose,onOpen,open:openProp,placement="bottom",PopperComponent:PopperComponentProp,PopperProps={},slotProps={},slots={},title,TransitionComponent:TransitionComponentProp,TransitionProps,...other}=props,children=React126.isValidElement(childrenProp)?childrenProp:import_jsx_runtime97.jsx("span",{children:childrenProp}),theme=useTheme5(),isRtl=useRtl(),[childNode,setChildNode]=React126.useState(),[arrowRef,setArrowRef]=React126.useState(null),ignoreNonTouchEvents=React126.useRef(!1),disableInteractive=disableInteractiveProp||followCursor,closeTimer=useTimeout(),enterTimer=useTimeout(),leaveTimer=useTimeout(),touchTimer=useTimeout(),[openState,setOpenState]=useControlled_default({controlled:openProp,default:!1,name:"Tooltip",state:"open"}),open=openState;{let{current:isControlled}=React126.useRef(openProp!==void 0);React126.useEffect(()=>{if(childNode&&childNode.disabled&&!isControlled&&title!==""&&childNode.tagName.toLowerCase()==="button")console.warn(["MUI: You are providing a disabled `button` child to the Tooltip component.","A disabled element does not fire events.","Tooltip needs to listen to the child element's events to display the title.","","Add a simple wrapper element, such as a `span`."].join(`
242
242
  `))},[title,childNode,isControlled])}let id=useId_default(idProp),prevUserSelect=React126.useRef(),stopTouchInteraction=useEventCallback_default2(()=>{if(prevUserSelect.current!==void 0)document.body.style.WebkitUserSelect=prevUserSelect.current,prevUserSelect.current=void 0;touchTimer.clear()});React126.useEffect(()=>stopTouchInteraction,[stopTouchInteraction]);let handleOpen=(event)=>{if(hystersisTimer.clear(),hystersisOpen=!0,setOpenState(!0),onOpen&&!open)onOpen(event)},handleClose=useEventCallback_default2((event)=>{if(hystersisTimer.start(800+leaveDelay,()=>{hystersisOpen=!1}),setOpenState(!1),onClose&&open)onClose(event);closeTimer.start(theme.transitions.duration.shortest,()=>{ignoreNonTouchEvents.current=!1})}),handleMouseOver=(event)=>{if(ignoreNonTouchEvents.current&&event.type!=="touchstart")return;if(childNode)childNode.removeAttribute("title");if(enterTimer.clear(),leaveTimer.clear(),enterDelay||hystersisOpen&&enterNextDelay)enterTimer.start(hystersisOpen?enterNextDelay:enterDelay,()=>{handleOpen(event)});else handleOpen(event)},handleMouseLeave=(event)=>{enterTimer.clear(),leaveTimer.start(leaveDelay,()=>{handleClose(event)})},[,setChildIsFocusVisible]=React126.useState(!1),handleBlur=(event)=>{if(!isFocusVisible(event.target))setChildIsFocusVisible(!1),handleMouseLeave(event)},handleFocus=(event)=>{if(!childNode)setChildNode(event.currentTarget);if(isFocusVisible(event.target))setChildIsFocusVisible(!0),handleMouseOver(event)},detectTouchStart=(event)=>{ignoreNonTouchEvents.current=!0;let childrenProps=children.props;if(childrenProps.onTouchStart)childrenProps.onTouchStart(event)},handleTouchStart=(event)=>{detectTouchStart(event),leaveTimer.clear(),closeTimer.clear(),stopTouchInteraction(),prevUserSelect.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",touchTimer.start(enterTouchDelay,()=>{document.body.style.WebkitUserSelect=prevUserSelect.current,handleMouseOver(event)})},handleTouchEnd=(event)=>{if(children.props.onTouchEnd)children.props.onTouchEnd(event);stopTouchInteraction(),leaveTimer.start(leaveTouchDelay,()=>{handleClose(event)})};React126.useEffect(()=>{if(!open)return;function handleKeyDown(nativeEvent){if(nativeEvent.key==="Escape")handleClose(nativeEvent)}return document.addEventListener("keydown",handleKeyDown),()=>{document.removeEventListener("keydown",handleKeyDown)}},[handleClose,open]);let handleRef=useForkRef_default(getReactElementRef(children),setChildNode,ref);if(!title&&title!==0)open=!1;let popperRef=React126.useRef(),handleMouseMove=(event)=>{let childrenProps=children.props;if(childrenProps.onMouseMove)childrenProps.onMouseMove(event);if(cursorPosition={x:event.clientX,y:event.clientY},popperRef.current)popperRef.current.update()},nameOrDescProps={},titleIsString=typeof title==="string";if(describeChild)nameOrDescProps.title=!open&&titleIsString&&!disableHoverListener?title:null,nameOrDescProps["aria-describedby"]=open?id:null;else nameOrDescProps["aria-label"]=titleIsString?title:null,nameOrDescProps["aria-labelledby"]=open&&!titleIsString?id:null;let childrenProps={...nameOrDescProps,...other,...children.props,className:clsx55(other.className,children.props.className),onTouchStart:detectTouchStart,ref:handleRef,...followCursor?{onMouseMove:handleMouseMove}:{}};childrenProps["data-mui-internal-clone-element"]=!0,React126.useEffect(()=>{if(childNode&&!childNode.getAttribute("data-mui-internal-clone-element"))console.error(["MUI: The `children` component of the Tooltip is not forwarding its props correctly.","Please make sure that props are spread on the same element that the ref is applied to."].join(`
243
243
  `))},[childNode]);let interactiveWrapperListeners={};if(!disableTouchListener)childrenProps.onTouchStart=handleTouchStart,childrenProps.onTouchEnd=handleTouchEnd;if(!disableHoverListener){if(childrenProps.onMouseOver=composeEventHandler(handleMouseOver,childrenProps.onMouseOver),childrenProps.onMouseLeave=composeEventHandler(handleMouseLeave,childrenProps.onMouseLeave),!disableInteractive)interactiveWrapperListeners.onMouseOver=handleMouseOver,interactiveWrapperListeners.onMouseLeave=handleMouseLeave}if(!disableFocusListener){if(childrenProps.onFocus=composeEventHandler(handleFocus,childrenProps.onFocus),childrenProps.onBlur=composeEventHandler(handleBlur,childrenProps.onBlur),!disableInteractive)interactiveWrapperListeners.onFocus=handleFocus,interactiveWrapperListeners.onBlur=handleBlur}if(children.props.title)console.error(["MUI: You have provided a `title` prop to the child of <Tooltip />.",`Remove this title prop \`${children.props.title}\` or the Tooltip component.`].join(`
244
- `));let ownerState={...props,isRtl,arrow,disableInteractive,placement,PopperComponentProp,touch:ignoreNonTouchEvents.current},resolvedPopperProps=typeof slotProps.popper==="function"?slotProps.popper(ownerState):slotProps.popper,popperOptions=React126.useMemo(()=>{let tooltipModifiers=[{name:"arrow",enabled:Boolean(arrowRef),options:{element:arrowRef,padding:4}}];if(PopperProps.popperOptions?.modifiers)tooltipModifiers=tooltipModifiers.concat(PopperProps.popperOptions.modifiers);if(resolvedPopperProps?.popperOptions?.modifiers)tooltipModifiers=tooltipModifiers.concat(resolvedPopperProps.popperOptions.modifiers);return{...PopperProps.popperOptions,...resolvedPopperProps?.popperOptions,modifiers:tooltipModifiers}},[arrowRef,PopperProps.popperOptions,resolvedPopperProps?.popperOptions]),classes=useUtilityClasses55(ownerState),resolvedTransitionProps=typeof slotProps.transition==="function"?slotProps.transition(ownerState):slotProps.transition,externalForwardedProps={slots:{popper:components.Popper,transition:components.Transition??TransitionComponentProp,tooltip:components.Tooltip,arrow:components.Arrow,...slots},slotProps:{arrow:slotProps.arrow??componentsProps.arrow,popper:{...PopperProps,...resolvedPopperProps??componentsProps.popper},tooltip:slotProps.tooltip??componentsProps.tooltip,transition:{...TransitionProps,...resolvedTransitionProps??componentsProps.transition}}},[PopperSlot,popperSlotProps]=useSlot("popper",{elementType:TooltipPopper,externalForwardedProps,ownerState,className:clsx55(classes.popper,PopperProps?.className)}),[TransitionSlot,transitionSlotProps]=useSlot("transition",{elementType:Grow_default,externalForwardedProps,ownerState}),[TooltipSlot,tooltipSlotProps]=useSlot("tooltip",{elementType:TooltipTooltip,className:classes.tooltip,externalForwardedProps,ownerState}),[ArrowSlot,arrowSlotProps]=useSlot("arrow",{elementType:TooltipArrow,className:classes.arrow,externalForwardedProps,ownerState,ref:setArrowRef});return import_jsx_runtime97.jsxs(React126.Fragment,{children:[React126.cloneElement(children,childrenProps),import_jsx_runtime97.jsx(PopperSlot,{as:PopperComponentProp??Popper_default,placement,anchorEl:followCursor?{getBoundingClientRect:()=>({top:cursorPosition.y,left:cursorPosition.x,right:cursorPosition.x,bottom:cursorPosition.y,width:0,height:0})}:childNode,popperRef,open:childNode?open:!1,id,transition:!0,...interactiveWrapperListeners,...popperSlotProps,popperOptions,children:({TransitionProps:TransitionPropsInner})=>import_jsx_runtime97.jsx(TransitionSlot,{timeout:theme.transitions.duration.shorter,...TransitionPropsInner,...transitionSlotProps,children:import_jsx_runtime97.jsxs(TooltipSlot,{...tooltipSlotProps,children:[title,arrow?import_jsx_runtime97.jsx(ArrowSlot,{...arrowSlotProps}):null]})})})]})});Tooltip.propTypes={arrow:import_prop_types86.default.bool,children:elementAcceptingRef_default.isRequired,classes:import_prop_types86.default.object,className:import_prop_types86.default.string,components:import_prop_types86.default.shape({Arrow:import_prop_types86.default.elementType,Popper:import_prop_types86.default.elementType,Tooltip:import_prop_types86.default.elementType,Transition:import_prop_types86.default.elementType}),componentsProps:import_prop_types86.default.shape({arrow:import_prop_types86.default.object,popper:import_prop_types86.default.object,tooltip:import_prop_types86.default.object,transition:import_prop_types86.default.object}),describeChild:import_prop_types86.default.bool,disableFocusListener:import_prop_types86.default.bool,disableHoverListener:import_prop_types86.default.bool,disableInteractive:import_prop_types86.default.bool,disableTouchListener:import_prop_types86.default.bool,enterDelay:import_prop_types86.default.number,enterNextDelay:import_prop_types86.default.number,enterTouchDelay:import_prop_types86.default.number,followCursor:import_prop_types86.default.bool,id:import_prop_types86.default.string,leaveDelay:import_prop_types86.default.number,leaveTouchDelay:import_prop_types86.default.number,onClose:import_prop_types86.default.func,onOpen:import_prop_types86.default.func,open:import_prop_types86.default.bool,placement:import_prop_types86.default.oneOf(["auto-end","auto-start","auto","bottom-end","bottom-start","bottom","left-end","left-start","left","right-end","right-start","right","top-end","top-start","top"]),PopperComponent:import_prop_types86.default.elementType,PopperProps:import_prop_types86.default.object,slotProps:import_prop_types86.default.shape({arrow:import_prop_types86.default.oneOfType([import_prop_types86.default.func,import_prop_types86.default.object]),popper:import_prop_types86.default.oneOfType([import_prop_types86.default.func,import_prop_types86.default.object]),tooltip:import_prop_types86.default.oneOfType([import_prop_types86.default.func,import_prop_types86.default.object]),transition:import_prop_types86.default.oneOfType([import_prop_types86.default.func,import_prop_types86.default.object])}),slots:import_prop_types86.default.shape({arrow:import_prop_types86.default.elementType,popper:import_prop_types86.default.elementType,tooltip:import_prop_types86.default.elementType,transition:import_prop_types86.default.elementType}),sx:import_prop_types86.default.oneOfType([import_prop_types86.default.arrayOf(import_prop_types86.default.oneOfType([import_prop_types86.default.func,import_prop_types86.default.object,import_prop_types86.default.bool])),import_prop_types86.default.func,import_prop_types86.default.object]),title:import_prop_types86.default.node,TransitionComponent:import_prop_types86.default.elementType,TransitionProps:import_prop_types86.default.object};var Tooltip_default=Tooltip;var React127=__toESM(require_react_development()),import_prop_types87=__toESM(require_prop_types());import clsx56 from"clsx";function getDialogActionsUtilityClass(slot){return generateUtilityClass("MuiDialogActions",slot)}var dialogActionsClasses=generateUtilityClasses("MuiDialogActions",["root","spacing"]);var import_jsx_runtime98=__toESM(require_react_jsx_runtime_development()),useUtilityClasses56=(ownerState)=>{let{classes,disableSpacing}=ownerState;return composeClasses({root:["root",!disableSpacing&&"spacing"]},getDialogActionsUtilityClass,classes)},DialogActionsRoot=styled_default2("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:(props,styles)=>{let{ownerState}=props;return[styles.root,!ownerState.disableSpacing&&styles.spacing]}})({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto",variants:[{props:({ownerState})=>!ownerState.disableSpacing,style:{"& > :not(style) ~ :not(style)":{marginLeft:8}}}]}),DialogActions=React127.forwardRef(function(inProps,ref){let props=useDefaultProps2({props:inProps,name:"MuiDialogActions"}),{className,disableSpacing=!1,...other}=props,ownerState={...props,disableSpacing},classes=useUtilityClasses56(ownerState);return import_jsx_runtime98.jsx(DialogActionsRoot,{className:clsx56(classes.root,className),ownerState,ref,...other})});DialogActions.propTypes={children:import_prop_types87.default.node,classes:import_prop_types87.default.object,className:import_prop_types87.default.string,disableSpacing:import_prop_types87.default.bool,sx:import_prop_types87.default.oneOfType([import_prop_types87.default.arrayOf(import_prop_types87.default.oneOfType([import_prop_types87.default.func,import_prop_types87.default.object,import_prop_types87.default.bool])),import_prop_types87.default.func,import_prop_types87.default.object])};var DialogActions_default=DialogActions;var React128=__toESM(require_react_development()),import_prop_types88=__toESM(require_prop_types());import clsx57 from"clsx";function getDialogContentUtilityClass(slot){return generateUtilityClass("MuiDialogContent",slot)}var dialogContentClasses=generateUtilityClasses("MuiDialogContent",["root","dividers"]);function getDialogTitleUtilityClass(slot){return generateUtilityClass("MuiDialogTitle",slot)}var dialogTitleClasses=generateUtilityClasses("MuiDialogTitle",["root"]),dialogTitleClasses_default=dialogTitleClasses;var import_jsx_runtime99=__toESM(require_react_jsx_runtime_development()),useUtilityClasses57=(ownerState)=>{let{classes,dividers}=ownerState;return composeClasses({root:["root",dividers&&"dividers"]},getDialogContentUtilityClass,classes)},DialogContentRoot=styled_default2("div",{name:"MuiDialogContent",slot:"Root",overridesResolver:(props,styles)=>{let{ownerState}=props;return[styles.root,ownerState.dividers&&styles.dividers]}})(memoTheme_default(({theme})=>({flex:"1 1 auto",WebkitOverflowScrolling:"touch",overflowY:"auto",padding:"20px 24px",variants:[{props:({ownerState})=>ownerState.dividers,style:{padding:"16px 24px",borderTop:`1px solid ${(theme.vars||theme).palette.divider}`,borderBottom:`1px solid ${(theme.vars||theme).palette.divider}`}},{props:({ownerState})=>!ownerState.dividers,style:{[`.${dialogTitleClasses_default.root} + &`]:{paddingTop:0}}}]}))),DialogContent=React128.forwardRef(function(inProps,ref){let props=useDefaultProps2({props:inProps,name:"MuiDialogContent"}),{className,dividers=!1,...other}=props,ownerState={...props,dividers},classes=useUtilityClasses57(ownerState);return import_jsx_runtime99.jsx(DialogContentRoot,{className:clsx57(classes.root,className),ownerState,ref,...other})});DialogContent.propTypes={children:import_prop_types88.default.node,classes:import_prop_types88.default.object,className:import_prop_types88.default.string,dividers:import_prop_types88.default.bool,sx:import_prop_types88.default.oneOfType([import_prop_types88.default.arrayOf(import_prop_types88.default.oneOfType([import_prop_types88.default.func,import_prop_types88.default.object,import_prop_types88.default.bool])),import_prop_types88.default.func,import_prop_types88.default.object])};var DialogContent_default=DialogContent;var React129=__toESM(require_react_development()),import_prop_types89=__toESM(require_prop_types());import clsx58 from"clsx";function getDialogContentTextUtilityClass(slot){return generateUtilityClass("MuiDialogContentText",slot)}var dialogContentTextClasses=generateUtilityClasses("MuiDialogContentText",["root"]);var import_jsx_runtime100=__toESM(require_react_jsx_runtime_development()),useUtilityClasses58=(ownerState)=>{let{classes}=ownerState,composedClasses=composeClasses({root:["root"]},getDialogContentTextUtilityClass,classes);return{...classes,...composedClasses}},DialogContentTextRoot=styled_default2(Typography_default,{shouldForwardProp:(prop)=>rootShouldForwardProp_default(prop)||prop==="classes",name:"MuiDialogContentText",slot:"Root",overridesResolver:(props,styles)=>styles.root})({}),DialogContentText=React129.forwardRef(function(inProps,ref){let props=useDefaultProps2({props:inProps,name:"MuiDialogContentText"}),{children,className,...ownerState}=props,classes=useUtilityClasses58(ownerState);return import_jsx_runtime100.jsx(DialogContentTextRoot,{component:"p",variant:"body1",color:"textSecondary",ref,ownerState,className:clsx58(classes.root,className),...props,classes})});DialogContentText.propTypes={children:import_prop_types89.default.node,classes:import_prop_types89.default.object,className:import_prop_types89.default.string,sx:import_prop_types89.default.oneOfType([import_prop_types89.default.arrayOf(import_prop_types89.default.oneOfType([import_prop_types89.default.func,import_prop_types89.default.object,import_prop_types89.default.bool])),import_prop_types89.default.func,import_prop_types89.default.object])};var DialogContentText_default=DialogContentText;var React131=__toESM(require_react_development()),import_prop_types90=__toESM(require_prop_types());import clsx59 from"clsx";var React130=__toESM(require_react_development()),DialogContext=React130.createContext({});DialogContext.displayName="DialogContext";var DialogContext_default=DialogContext;var import_jsx_runtime101=__toESM(require_react_jsx_runtime_development()),useUtilityClasses59=(ownerState)=>{let{classes}=ownerState;return composeClasses({root:["root"]},getDialogTitleUtilityClass,classes)},DialogTitleRoot=styled_default2(Typography_default,{name:"MuiDialogTitle",slot:"Root",overridesResolver:(props,styles)=>styles.root})({padding:"16px 24px",flex:"0 0 auto"}),DialogTitle=React131.forwardRef(function(inProps,ref){let props=useDefaultProps2({props:inProps,name:"MuiDialogTitle"}),{className,id:idProp,...other}=props,ownerState=props,classes=useUtilityClasses59(ownerState),{titleId=idProp}=React131.useContext(DialogContext_default);return import_jsx_runtime101.jsx(DialogTitleRoot,{component:"h2",className:clsx59(classes.root,className),ownerState,ref,variant:"h6",id:idProp??titleId,...other})});DialogTitle.propTypes={children:import_prop_types90.default.node,classes:import_prop_types90.default.object,className:import_prop_types90.default.string,id:import_prop_types90.default.string,sx:import_prop_types90.default.oneOfType([import_prop_types90.default.arrayOf(import_prop_types90.default.oneOfType([import_prop_types90.default.func,import_prop_types90.default.object,import_prop_types90.default.bool])),import_prop_types90.default.func,import_prop_types90.default.object])};var DialogTitle_default=DialogTitle;var import_react7=__toESM(require_react_development(),1);function chrome(props){let className=typeof props.className==="string"?props.className:void 0,nodePath=props["data-node-path"];return{...className!==void 0?{className}:{},...typeof nodePath==="string"?{"data-node-path":nodePath}:{}}}function mergeSx(base,sx){return sx&&typeof sx==="object"&&!Array.isArray(sx)?{...base,...sx}:base}var DIALOG_WIDTH={xs:360,sm:480,md:600,lg:800,xl:960};function Dialog(props){let width=typeof props.maxWidth==="string"?DIALOG_WIDTH[props.maxWidth]??600:600;return import_react7.createElement(Paper_default,{...chrome(props),elevation:8,sx:mergeSx({width:"100%",maxWidth:width,mx:"auto",my:2,borderRadius:2,overflow:"hidden"},props.sx)},props.children)}function Menu2(props){return import_react7.createElement(Paper_default,{...chrome(props),elevation:3,sx:mergeSx({display:"inline-block",minWidth:180,py:1,borderRadius:1.5},props.sx)},props.children)}function Popover3(props){return import_react7.createElement(Paper_default,{...chrome(props),elevation:3,sx:mergeSx({display:"inline-block",p:2,borderRadius:1.5},props.sx)},props.children)}function Drawer(props){return import_react7.createElement(Paper_default,{...chrome(props),elevation:2,square:!0,sx:mergeSx({width:280,height:"100%",p:2},props.sx)},props.children)}function Snackbar(props){let body=props.message!==void 0?props.message:props.children;return import_react7.createElement(Box_default,{...chrome(props),sx:mergeSx({display:"inline-flex",alignItems:"center",px:2,py:1.25,bgcolor:"grey.900",color:"common.white",borderRadius:1,fontSize:14},props.sx)},body)}var REUSED_HELPER_IDS=["Icon","Image","Placeholder","SVG","Layer","Gradient","Prose"],registry={Alert:Alert_default,AppBar:AppBar_default,Avatar:Avatar_default,Badge:Badge_default,Box:Box_default,Button:Button_default,Card:Card_default,CardActions:CardActions_default,CardContent:CardContent_default,CardHeader:CardHeader_default,Checkbox:Checkbox_default,Chip:Chip_default,Container:Container_default,Dialog,DialogActions:DialogActions_default,DialogContent:DialogContent_default,DialogContentText:DialogContentText_default,DialogTitle:DialogTitle_default,Divider:Divider_default,Drawer,IconButton:IconButton_default,LinearProgress:LinearProgress_default,Link:Link_default,List:List_default,ListItem:ListItem_default,ListItemText:ListItemText_default,Menu:Menu2,MenuItem:MenuItem_default,Paper:Paper_default,Popover:Popover3,Select:Select_default,Snackbar,Stack:Stack_default,Switch:Switch_default,Tab:Tab_default,Table:Table_default,TableBody:TableBody_default,TableCell:TableCell_default,TableHead:TableHead_default,TableRow:TableRow_default,Tabs:Tabs_default,TextField:TextField_default,Toolbar:Toolbar_default,Tooltip:Tooltip_default,Typography:Typography_default,...helpersRegistry(REUSED_HELPER_IDS)};var import_react9=__toESM(require_react_development(),1);function muiColor(css){let s=css.trim();if(/^(#|rgb|hsl)/i.test(s))return s;return formatRgb(parse_default(s))??s}function base(slot,fallback){if(typeof slot==="string")return muiColor(slot);if(slot&&typeof slot==="object"&&typeof slot.DEFAULT==="string")return muiColor(slot.DEFAULT);return muiColor(fallback)}function fg(slot,fallback){if(slot&&typeof slot==="object"&&typeof slot.foreground==="string")return muiColor(slot.foreground);return muiColor(fallback)}function radiusPx(theme){let md=theme.radius?.md;if(typeof md==="number")return md;if(typeof md==="string"){let n=Number.parseFloat(md);return Number.isFinite(n)?md.includes("rem")?n*16:n:8}return 8}function muiThemeOptions(theme,dark=!1){let c=resolveColors(theme,dark);return{palette:{mode:dark?"dark":"light",primary:{main:base(c.primary,"#4f46e5"),contrastText:fg(c.primary,"#ffffff")},secondary:{main:base(c.secondary,"#64748b"),contrastText:fg(c.secondary,"#ffffff")},error:{main:base(c.destructive,"#dc2626"),contrastText:fg(c.destructive,"#ffffff")},background:{default:muiColor(c.background),paper:base(c.card,c.background)},text:{primary:muiColor(c.foreground),secondary:base(c.muted,c.foreground)},divider:c.border?muiColor(c.border):"rgba(0,0,0,0.12)"},shape:{borderRadius:radiusPx(theme)},typography:muiTypography(theme)}}function muiTypography(theme){let typography=theme.typography,typeset=typography.typesets?.[DEFAULT_TYPESET_NAME],scale=typesetScale(typeset,{...typography.fontFamily?{fontFamily:typography.fontFamily}:{}}),bodyFamily=scale.body.fontFamily??typography.fontFamily?.sans??"system-ui, -apple-system, sans-serif",variant=(role)=>{let r=scale[role];return{...r.fontFamily&&r.fontFamily!==bodyFamily?{fontFamily:r.fontFamily}:{},fontSize:`${r.fontSize}px`,lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,fontWeight:r.fontWeight}};return{fontFamily:bodyFamily,fontSize:scale.body.fontSize,h1:variant("h1"),h2:variant("h2"),h3:variant("h3"),h4:variant("h4"),h5:variant("h5"),h6:variant("h6"),subtitle1:variant("lead"),subtitle2:variant("small"),body1:variant("body"),body2:variant("caption"),caption:variant("caption")}}function muiThemeFrom(theme,dark=!1){return createTheme2(muiThemeOptions(theme,dark))}function makeRenderPass(theme,dark=!1){let cache=$_default2({key:"vmui",prepend:!0}),server=$_default3(cache),muiTheme=muiThemeFrom(theme,dark);return{wrap:(element)=>import_react9.createElement(import_emotion_react_development_cjs.CacheProvider,{value:cache},import_react9.createElement(ThemeProvider4,{theme:muiTheme},element)),css:(html)=>server.extractCriticalToChunks(html).styles.map((s)=>s.css).join("")}}var here=dirname(fileURLToPath(import.meta.url)),srcDir=resolveProviderSrcDir(here,"provider-mui",process.env.VELLOO_MUI_SRC);function createProvider(){let overlayIds=["Dialog","Menu","Popover","Drawer","Snackbar"];return{id:"mui",version:MUI_VERSION,label:"Material UI v6",componentsDir:srcDir,styleEntryPath:join(srcDir,"tailwind-entry.css"),registry,loadManifest:async()=>MUI_MANIFEST,catalog:async()=>catalogFromManifest(MUI_MANIFEST.filter((c)=>c.source==="mui"),{importPath:"@mui/material"}),styleChannel:SX_PROP,styleChannels:["sx"],mcpIntro:()=>[...MUI_INTRO],renderPass:(theme,dark)=>makeRenderPass(theme,dark??!1),codegenModule:"@mui/material",themeToNative:(theme,dark)=>muiThemeOptions(theme,dark),themeModule:{importLines:['import { createTheme } from "@mui/material/styles";'],factory:"createTheme",defaultPath:"theme.ts"},ownedModules:{packages:["@mui/material"]},canvasBundleSpec:{components:(ids)=>ids.flatMap((id)=>{let descriptor=MUI_MANIFEST.find((entry)=>entry.id===id);if(!descriptor)return[];if(descriptor.source==="velloo"){let path=helperSourcePath(id);return path?[{id,sources:[{importPath:path,exportName:id,fidelity:"fallback",note:"Velloo helper used alongside the host framework."}]}]:[]}return[{id,sources:[{importPath:`@mui/material/${id}`,exportName:id,fidelity:overlayIds.includes(id)?"adapted":"exact",...overlayIds.includes(id)?{note:"Real MUI surface rendered through an inline canvas overlay shim."}:{}}]}]}),overlayIds,styleRuntime:{kind:"emotion",cacheKey:"vmui",stylesModule:"@mui/material/styles"}}}}export{createProvider};
244
+ `));let ownerState={...props,isRtl,arrow,disableInteractive,placement,PopperComponentProp,touch:ignoreNonTouchEvents.current},resolvedPopperProps=typeof slotProps.popper==="function"?slotProps.popper(ownerState):slotProps.popper,popperOptions=React126.useMemo(()=>{let tooltipModifiers=[{name:"arrow",enabled:Boolean(arrowRef),options:{element:arrowRef,padding:4}}];if(PopperProps.popperOptions?.modifiers)tooltipModifiers=tooltipModifiers.concat(PopperProps.popperOptions.modifiers);if(resolvedPopperProps?.popperOptions?.modifiers)tooltipModifiers=tooltipModifiers.concat(resolvedPopperProps.popperOptions.modifiers);return{...PopperProps.popperOptions,...resolvedPopperProps?.popperOptions,modifiers:tooltipModifiers}},[arrowRef,PopperProps.popperOptions,resolvedPopperProps?.popperOptions]),classes=useUtilityClasses55(ownerState),resolvedTransitionProps=typeof slotProps.transition==="function"?slotProps.transition(ownerState):slotProps.transition,externalForwardedProps={slots:{popper:components.Popper,transition:components.Transition??TransitionComponentProp,tooltip:components.Tooltip,arrow:components.Arrow,...slots},slotProps:{arrow:slotProps.arrow??componentsProps.arrow,popper:{...PopperProps,...resolvedPopperProps??componentsProps.popper},tooltip:slotProps.tooltip??componentsProps.tooltip,transition:{...TransitionProps,...resolvedTransitionProps??componentsProps.transition}}},[PopperSlot,popperSlotProps]=useSlot("popper",{elementType:TooltipPopper,externalForwardedProps,ownerState,className:clsx55(classes.popper,PopperProps?.className)}),[TransitionSlot,transitionSlotProps]=useSlot("transition",{elementType:Grow_default,externalForwardedProps,ownerState}),[TooltipSlot,tooltipSlotProps]=useSlot("tooltip",{elementType:TooltipTooltip,className:classes.tooltip,externalForwardedProps,ownerState}),[ArrowSlot,arrowSlotProps]=useSlot("arrow",{elementType:TooltipArrow,className:classes.arrow,externalForwardedProps,ownerState,ref:setArrowRef});return import_jsx_runtime97.jsxs(React126.Fragment,{children:[React126.cloneElement(children,childrenProps),import_jsx_runtime97.jsx(PopperSlot,{as:PopperComponentProp??Popper_default,placement,anchorEl:followCursor?{getBoundingClientRect:()=>({top:cursorPosition.y,left:cursorPosition.x,right:cursorPosition.x,bottom:cursorPosition.y,width:0,height:0})}:childNode,popperRef,open:childNode?open:!1,id,transition:!0,...interactiveWrapperListeners,...popperSlotProps,popperOptions,children:({TransitionProps:TransitionPropsInner})=>import_jsx_runtime97.jsx(TransitionSlot,{timeout:theme.transitions.duration.shorter,...TransitionPropsInner,...transitionSlotProps,children:import_jsx_runtime97.jsxs(TooltipSlot,{...tooltipSlotProps,children:[title,arrow?import_jsx_runtime97.jsx(ArrowSlot,{...arrowSlotProps}):null]})})})]})});Tooltip.propTypes={arrow:import_prop_types86.default.bool,children:elementAcceptingRef_default.isRequired,classes:import_prop_types86.default.object,className:import_prop_types86.default.string,components:import_prop_types86.default.shape({Arrow:import_prop_types86.default.elementType,Popper:import_prop_types86.default.elementType,Tooltip:import_prop_types86.default.elementType,Transition:import_prop_types86.default.elementType}),componentsProps:import_prop_types86.default.shape({arrow:import_prop_types86.default.object,popper:import_prop_types86.default.object,tooltip:import_prop_types86.default.object,transition:import_prop_types86.default.object}),describeChild:import_prop_types86.default.bool,disableFocusListener:import_prop_types86.default.bool,disableHoverListener:import_prop_types86.default.bool,disableInteractive:import_prop_types86.default.bool,disableTouchListener:import_prop_types86.default.bool,enterDelay:import_prop_types86.default.number,enterNextDelay:import_prop_types86.default.number,enterTouchDelay:import_prop_types86.default.number,followCursor:import_prop_types86.default.bool,id:import_prop_types86.default.string,leaveDelay:import_prop_types86.default.number,leaveTouchDelay:import_prop_types86.default.number,onClose:import_prop_types86.default.func,onOpen:import_prop_types86.default.func,open:import_prop_types86.default.bool,placement:import_prop_types86.default.oneOf(["auto-end","auto-start","auto","bottom-end","bottom-start","bottom","left-end","left-start","left","right-end","right-start","right","top-end","top-start","top"]),PopperComponent:import_prop_types86.default.elementType,PopperProps:import_prop_types86.default.object,slotProps:import_prop_types86.default.shape({arrow:import_prop_types86.default.oneOfType([import_prop_types86.default.func,import_prop_types86.default.object]),popper:import_prop_types86.default.oneOfType([import_prop_types86.default.func,import_prop_types86.default.object]),tooltip:import_prop_types86.default.oneOfType([import_prop_types86.default.func,import_prop_types86.default.object]),transition:import_prop_types86.default.oneOfType([import_prop_types86.default.func,import_prop_types86.default.object])}),slots:import_prop_types86.default.shape({arrow:import_prop_types86.default.elementType,popper:import_prop_types86.default.elementType,tooltip:import_prop_types86.default.elementType,transition:import_prop_types86.default.elementType}),sx:import_prop_types86.default.oneOfType([import_prop_types86.default.arrayOf(import_prop_types86.default.oneOfType([import_prop_types86.default.func,import_prop_types86.default.object,import_prop_types86.default.bool])),import_prop_types86.default.func,import_prop_types86.default.object]),title:import_prop_types86.default.node,TransitionComponent:import_prop_types86.default.elementType,TransitionProps:import_prop_types86.default.object};var Tooltip_default=Tooltip;var React127=__toESM(require_react_development()),import_prop_types87=__toESM(require_prop_types());import clsx56 from"clsx";function getDialogActionsUtilityClass(slot){return generateUtilityClass("MuiDialogActions",slot)}var dialogActionsClasses=generateUtilityClasses("MuiDialogActions",["root","spacing"]);var import_jsx_runtime98=__toESM(require_react_jsx_runtime_development()),useUtilityClasses56=(ownerState)=>{let{classes,disableSpacing}=ownerState;return composeClasses({root:["root",!disableSpacing&&"spacing"]},getDialogActionsUtilityClass,classes)},DialogActionsRoot=styled_default2("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:(props,styles)=>{let{ownerState}=props;return[styles.root,!ownerState.disableSpacing&&styles.spacing]}})({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto",variants:[{props:({ownerState})=>!ownerState.disableSpacing,style:{"& > :not(style) ~ :not(style)":{marginLeft:8}}}]}),DialogActions=React127.forwardRef(function(inProps,ref){let props=useDefaultProps2({props:inProps,name:"MuiDialogActions"}),{className,disableSpacing=!1,...other}=props,ownerState={...props,disableSpacing},classes=useUtilityClasses56(ownerState);return import_jsx_runtime98.jsx(DialogActionsRoot,{className:clsx56(classes.root,className),ownerState,ref,...other})});DialogActions.propTypes={children:import_prop_types87.default.node,classes:import_prop_types87.default.object,className:import_prop_types87.default.string,disableSpacing:import_prop_types87.default.bool,sx:import_prop_types87.default.oneOfType([import_prop_types87.default.arrayOf(import_prop_types87.default.oneOfType([import_prop_types87.default.func,import_prop_types87.default.object,import_prop_types87.default.bool])),import_prop_types87.default.func,import_prop_types87.default.object])};var DialogActions_default=DialogActions;var React128=__toESM(require_react_development()),import_prop_types88=__toESM(require_prop_types());import clsx57 from"clsx";function getDialogContentUtilityClass(slot){return generateUtilityClass("MuiDialogContent",slot)}var dialogContentClasses=generateUtilityClasses("MuiDialogContent",["root","dividers"]);function getDialogTitleUtilityClass(slot){return generateUtilityClass("MuiDialogTitle",slot)}var dialogTitleClasses=generateUtilityClasses("MuiDialogTitle",["root"]),dialogTitleClasses_default=dialogTitleClasses;var import_jsx_runtime99=__toESM(require_react_jsx_runtime_development()),useUtilityClasses57=(ownerState)=>{let{classes,dividers}=ownerState;return composeClasses({root:["root",dividers&&"dividers"]},getDialogContentUtilityClass,classes)},DialogContentRoot=styled_default2("div",{name:"MuiDialogContent",slot:"Root",overridesResolver:(props,styles)=>{let{ownerState}=props;return[styles.root,ownerState.dividers&&styles.dividers]}})(memoTheme_default(({theme})=>({flex:"1 1 auto",WebkitOverflowScrolling:"touch",overflowY:"auto",padding:"20px 24px",variants:[{props:({ownerState})=>ownerState.dividers,style:{padding:"16px 24px",borderTop:`1px solid ${(theme.vars||theme).palette.divider}`,borderBottom:`1px solid ${(theme.vars||theme).palette.divider}`}},{props:({ownerState})=>!ownerState.dividers,style:{[`.${dialogTitleClasses_default.root} + &`]:{paddingTop:0}}}]}))),DialogContent=React128.forwardRef(function(inProps,ref){let props=useDefaultProps2({props:inProps,name:"MuiDialogContent"}),{className,dividers=!1,...other}=props,ownerState={...props,dividers},classes=useUtilityClasses57(ownerState);return import_jsx_runtime99.jsx(DialogContentRoot,{className:clsx57(classes.root,className),ownerState,ref,...other})});DialogContent.propTypes={children:import_prop_types88.default.node,classes:import_prop_types88.default.object,className:import_prop_types88.default.string,dividers:import_prop_types88.default.bool,sx:import_prop_types88.default.oneOfType([import_prop_types88.default.arrayOf(import_prop_types88.default.oneOfType([import_prop_types88.default.func,import_prop_types88.default.object,import_prop_types88.default.bool])),import_prop_types88.default.func,import_prop_types88.default.object])};var DialogContent_default=DialogContent;var React129=__toESM(require_react_development()),import_prop_types89=__toESM(require_prop_types());import clsx58 from"clsx";function getDialogContentTextUtilityClass(slot){return generateUtilityClass("MuiDialogContentText",slot)}var dialogContentTextClasses=generateUtilityClasses("MuiDialogContentText",["root"]);var import_jsx_runtime100=__toESM(require_react_jsx_runtime_development()),useUtilityClasses58=(ownerState)=>{let{classes}=ownerState,composedClasses=composeClasses({root:["root"]},getDialogContentTextUtilityClass,classes);return{...classes,...composedClasses}},DialogContentTextRoot=styled_default2(Typography_default,{shouldForwardProp:(prop)=>rootShouldForwardProp_default(prop)||prop==="classes",name:"MuiDialogContentText",slot:"Root",overridesResolver:(props,styles)=>styles.root})({}),DialogContentText=React129.forwardRef(function(inProps,ref){let props=useDefaultProps2({props:inProps,name:"MuiDialogContentText"}),{children,className,...ownerState}=props,classes=useUtilityClasses58(ownerState);return import_jsx_runtime100.jsx(DialogContentTextRoot,{component:"p",variant:"body1",color:"textSecondary",ref,ownerState,className:clsx58(classes.root,className),...props,classes})});DialogContentText.propTypes={children:import_prop_types89.default.node,classes:import_prop_types89.default.object,className:import_prop_types89.default.string,sx:import_prop_types89.default.oneOfType([import_prop_types89.default.arrayOf(import_prop_types89.default.oneOfType([import_prop_types89.default.func,import_prop_types89.default.object,import_prop_types89.default.bool])),import_prop_types89.default.func,import_prop_types89.default.object])};var DialogContentText_default=DialogContentText;var React131=__toESM(require_react_development()),import_prop_types90=__toESM(require_prop_types());import clsx59 from"clsx";var React130=__toESM(require_react_development()),DialogContext=React130.createContext({});DialogContext.displayName="DialogContext";var DialogContext_default=DialogContext;var import_jsx_runtime101=__toESM(require_react_jsx_runtime_development()),useUtilityClasses59=(ownerState)=>{let{classes}=ownerState;return composeClasses({root:["root"]},getDialogTitleUtilityClass,classes)},DialogTitleRoot=styled_default2(Typography_default,{name:"MuiDialogTitle",slot:"Root",overridesResolver:(props,styles)=>styles.root})({padding:"16px 24px",flex:"0 0 auto"}),DialogTitle=React131.forwardRef(function(inProps,ref){let props=useDefaultProps2({props:inProps,name:"MuiDialogTitle"}),{className,id:idProp,...other}=props,ownerState=props,classes=useUtilityClasses59(ownerState),{titleId=idProp}=React131.useContext(DialogContext_default);return import_jsx_runtime101.jsx(DialogTitleRoot,{component:"h2",className:clsx59(classes.root,className),ownerState,ref,variant:"h6",id:idProp??titleId,...other})});DialogTitle.propTypes={children:import_prop_types90.default.node,classes:import_prop_types90.default.object,className:import_prop_types90.default.string,id:import_prop_types90.default.string,sx:import_prop_types90.default.oneOfType([import_prop_types90.default.arrayOf(import_prop_types90.default.oneOfType([import_prop_types90.default.func,import_prop_types90.default.object,import_prop_types90.default.bool])),import_prop_types90.default.func,import_prop_types90.default.object])};var DialogTitle_default=DialogTitle;var import_react7=__toESM(require_react_development(),1);function chrome(props){let className=typeof props.className==="string"?props.className:void 0,nodePath=props["data-node-path"];return{...className!==void 0?{className}:{},...typeof nodePath==="string"?{"data-node-path":nodePath}:{}}}function mergeSx(base,sx){return sx&&typeof sx==="object"&&!Array.isArray(sx)?{...base,...sx}:base}var DIALOG_WIDTH={xs:360,sm:480,md:600,lg:800,xl:960};function Dialog(props){let width=typeof props.maxWidth==="string"?DIALOG_WIDTH[props.maxWidth]??600:600;return import_react7.createElement(Paper_default,{...chrome(props),elevation:8,sx:mergeSx({width:"100%",maxWidth:width,mx:"auto",my:2,borderRadius:2,overflow:"hidden"},props.sx)},props.children)}function Menu2(props){return import_react7.createElement(Paper_default,{...chrome(props),elevation:3,sx:mergeSx({display:"inline-block",minWidth:180,py:1,borderRadius:1.5},props.sx)},props.children)}function Popover3(props){return import_react7.createElement(Paper_default,{...chrome(props),elevation:3,sx:mergeSx({display:"inline-block",p:2,borderRadius:1.5},props.sx)},props.children)}function Drawer(props){return import_react7.createElement(Paper_default,{...chrome(props),elevation:2,square:!0,sx:mergeSx({width:280,height:"100%",p:2},props.sx)},props.children)}function Snackbar(props){let body=props.message!==void 0?props.message:props.children;return import_react7.createElement(Box_default,{...chrome(props),sx:mergeSx({display:"inline-flex",alignItems:"center",px:2,py:1.25,bgcolor:"grey.900",color:"common.white",borderRadius:1,fontSize:14},props.sx)},body)}var REUSED_HELPER_IDS=["Icon","Image","Placeholder","SVG","Layer","Gradient","Prose"],registry={Alert:Alert_default,AppBar:AppBar_default,Avatar:Avatar_default,Badge:Badge_default,Box:Box_default,Button:Button_default,Card:Card_default,CardActions:CardActions_default,CardContent:CardContent_default,CardHeader:CardHeader_default,Checkbox:Checkbox_default,Chip:Chip_default,Container:Container_default,Dialog,DialogActions:DialogActions_default,DialogContent:DialogContent_default,DialogContentText:DialogContentText_default,DialogTitle:DialogTitle_default,Divider:Divider_default,Drawer,IconButton:IconButton_default,LinearProgress:LinearProgress_default,Link:Link_default,List:List_default,ListItem:ListItem_default,ListItemText:ListItemText_default,Menu:Menu2,MenuItem:MenuItem_default,Paper:Paper_default,Popover:Popover3,Select:Select_default,Snackbar,Stack:Stack_default,Switch:Switch_default,Tab:Tab_default,Table:Table_default,TableBody:TableBody_default,TableCell:TableCell_default,TableHead:TableHead_default,TableRow:TableRow_default,Tabs:Tabs_default,TextField:TextField_default,Toolbar:Toolbar_default,Tooltip:Tooltip_default,Typography:Typography_default,...helpersRegistry(REUSED_HELPER_IDS)};var React132=__toESM(require_react_development()),import_prop_types91=__toESM(require_prop_types());var import_jsx_runtime102=__toESM(require_react_jsx_runtime_development()),isDynamicSupport=typeof globalCss({})==="function",html=(theme,enableColorScheme)=>({WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",boxSizing:"border-box",WebkitTextSizeAdjust:"100%",...enableColorScheme&&!theme.vars&&{colorScheme:theme.palette.mode}}),body=(theme)=>({color:(theme.vars||theme).palette.text.primary,...theme.typography.body1,backgroundColor:(theme.vars||theme).palette.background.default,"@media print":{backgroundColor:(theme.vars||theme).palette.common.white}}),styles5=(theme,enableColorScheme=!1)=>{let colorSchemeStyles={};if(enableColorScheme&&theme.colorSchemes&&typeof theme.getColorSchemeSelector==="function")Object.entries(theme.colorSchemes).forEach(([key,scheme])=>{let selector=theme.getColorSchemeSelector(key);if(selector.startsWith("@"))colorSchemeStyles[selector]={":root":{colorScheme:scheme.palette?.mode}};else colorSchemeStyles[selector.replace(/\s*&/,"")]={colorScheme:scheme.palette?.mode}});let defaultStyles={html:html(theme,enableColorScheme),"*, *::before, *::after":{boxSizing:"inherit"},"strong, b":{fontWeight:theme.typography.fontWeightBold},body:{margin:0,...body(theme),"&::backdrop":{backgroundColor:(theme.vars||theme).palette.background.default}},...colorSchemeStyles},themeOverrides=theme.components?.MuiCssBaseline?.styleOverrides;if(themeOverrides)defaultStyles=[defaultStyles,themeOverrides];return defaultStyles},SELECTOR="mui-ecs",staticStyles=(theme)=>{let result=styles5(theme,!1),baseStyles=Array.isArray(result)?result[0]:result;if(!theme.vars&&baseStyles)baseStyles.html[`:root:has(${SELECTOR})`]={colorScheme:theme.palette.mode};if(theme.colorSchemes)Object.entries(theme.colorSchemes).forEach(([key,scheme])=>{let selector=theme.getColorSchemeSelector(key);if(selector.startsWith("@"))baseStyles[selector]={[`:root:not(:has(.${SELECTOR}))`]:{colorScheme:scheme.palette?.mode}};else baseStyles[selector.replace(/\s*&/,"")]={[`&:not(:has(.${SELECTOR}))`]:{colorScheme:scheme.palette?.mode}}});return result},GlobalStyles5=globalCss(isDynamicSupport?({theme,enableColorScheme})=>styles5(theme,enableColorScheme):({theme})=>staticStyles(theme));function CssBaseline(inProps){let props=useDefaultProps2({props:inProps,name:"MuiCssBaseline"}),{children,enableColorScheme=!1}=props;return import_jsx_runtime102.jsxs(React132.Fragment,{children:[isDynamicSupport&&import_jsx_runtime102.jsx(GlobalStyles5,{enableColorScheme}),!isDynamicSupport&&!enableColorScheme&&import_jsx_runtime102.jsx("span",{className:SELECTOR,style:{display:"none"}}),children]})}CssBaseline.propTypes={children:import_prop_types91.default.node,enableColorScheme:import_prop_types91.default.bool};var CssBaseline_default=CssBaseline;var import_react9=__toESM(require_react_development(),1);function muiColor(css){let s=sanitizeCssTokenValue(css);if(/^(#|rgb|hsl)/i.test(s))return s;return formatRgb(parse_default(s))??s}function base(slot,fallback){if(typeof slot==="string")return muiColor(slot);if(slot&&typeof slot==="object"&&typeof slot.DEFAULT==="string")return muiColor(slot.DEFAULT);return muiColor(fallback)}function fg(slot,fallback){if(slot&&typeof slot==="object"&&typeof slot.foreground==="string")return muiColor(slot.foreground);return muiColor(fallback)}function radiusPx(theme){let md=theme.radius?.md;if(typeof md==="number")return md;if(typeof md==="string"){let n=Number.parseFloat(md);return Number.isFinite(n)?md.includes("rem")?n*16:n:8}return 8}function muiThemeOptions(theme,dark=!1){let c=resolveColors(theme,dark);return{palette:{mode:dark?"dark":"light",primary:{main:base(c.primary,"#4f46e5"),contrastText:fg(c.primary,"#ffffff")},secondary:{main:base(c.secondary,"#64748b"),contrastText:fg(c.secondary,"#ffffff")},error:{main:base(c.destructive,"#dc2626"),contrastText:fg(c.destructive,"#ffffff")},background:{default:muiColor(c.background),paper:base(c.card,c.background)},text:{primary:muiColor(c.foreground),secondary:base(c.muted,c.foreground)},divider:c.border?muiColor(c.border):"rgba(0,0,0,0.12)"},shape:{borderRadius:radiusPx(theme)},typography:muiTypography(theme)}}function muiTypography(theme){let typography=theme.typography,typeset=typography.typesets?.[DEFAULT_TYPESET_NAME],scale=typesetScale(typeset,{...typography.fontFamily?{fontFamily:typography.fontFamily}:{}}),bodyFamily=sanitizeCssTokenValue(scale.body.fontFamily??typography.fontFamily?.sans??"system-ui, -apple-system, sans-serif"),variant=(role)=>{let r=scale[role];return{...r.fontFamily&&sanitizeCssTokenValue(r.fontFamily)!==bodyFamily?{fontFamily:sanitizeCssTokenValue(r.fontFamily)}:{},fontSize:`${r.fontSize}px`,lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,fontWeight:r.fontWeight}};return{fontFamily:bodyFamily,fontSize:scale.body.fontSize,h1:variant("h1"),h2:variant("h2"),h3:variant("h3"),h4:variant("h4"),h5:variant("h5"),h6:variant("h6"),subtitle1:variant("lead"),subtitle2:variant("small"),body1:variant("body"),body2:variant("caption"),caption:variant("caption")}}function muiThemeFrom(theme,dark=!1){return createTheme2(muiThemeOptions(theme,dark))}function makeRenderPass(theme,dark=!1){let cache=$_default2({key:"vmui",prepend:!0}),server=$_default3(cache),muiTheme=muiThemeFrom(theme,dark);return{wrap:(element)=>import_react9.createElement(import_emotion_react_development_cjs.CacheProvider,{value:cache},import_react9.createElement(ThemeProvider4,{theme:muiTheme},import_react9.createElement(CssBaseline_default,{enableColorScheme:!0}),element)),css:(html)=>server.extractCriticalToChunks(html).styles.map((s)=>s.css).join("")}}var here=dirname(fileURLToPath(import.meta.url)),srcDir=resolveProviderSrcDir(here,"provider-mui",process.env.VELLOO_MUI_SRC);function createProvider(){let overlayIds=["Dialog","Menu","Popover","Drawer","Snackbar"];return{id:"mui",version:MUI_VERSION,label:"Material UI v6",componentsDir:srcDir,styleEntryPath:join(srcDir,"tailwind-entry.css"),registry,loadManifest:async()=>MUI_MANIFEST,catalog:async()=>catalogFromManifest(MUI_MANIFEST.filter((c)=>c.source==="mui"),{importPath:"@mui/material"}),styleChannel:SX_PROP,styleChannels:["sx"],mcpIntro:()=>[...MUI_INTRO],renderPass:(theme,dark)=>makeRenderPass(theme,dark??!1),codegenModule:"@mui/material",themeToNative:(theme,dark)=>muiThemeOptions(theme,dark),themeModule:{importLines:['import { createTheme } from "@mui/material/styles";'],factory:"createTheme",defaultPath:"theme.ts"},ownedModules:{packages:["@mui/material"]},canvasBundleSpec:{components:(ids)=>ids.flatMap((id)=>{let descriptor=MUI_MANIFEST.find((entry)=>entry.id===id);if(!descriptor)return[];if(descriptor.source==="velloo"){let path=helperSourcePath(id);return path?[{id,sources:[{importPath:path,exportName:id,fidelity:"exact",note:"Velloo helper, mounted beside the host framework's components."}]}]:[]}return[{id,sources:[{importPath:`@mui/material/${id}`,exportName:id,fidelity:overlayIds.includes(id)?"adapted":"exact",...overlayIds.includes(id)?{note:"Real MUI surface rendered through an inline canvas overlay shim."}:{}}]}]}),overlayIds,styleRuntime:{kind:"emotion",cacheKey:"vmui",stylesModule:"@mui/material/styles"}}}}export{createProvider};
@@ -0,0 +1,5 @@
1
+ // @bun
2
+ import{ok,err,PROTECTED_SHARES_UNAVAILABLE,PublishDestinationsResponseSchema,LinkResponseSchema,LinkAccessResponseSchema,VersionUploadResponseSchema,PublishedDesignsResponseSchema,TeamsResponseSchema,unreachable,protocolViolation,uploadRaceLost,readFailure,cloudFailure,httpFailureFrom,boardLimitFrom,describeBoardLimit,describeCloudError,cloudJson,cloudFetch}from"./chunk-1gkeepkm.js";import{prettifyError,string,number,boolean,array,object,strictObject,record,literal,AnnotationSchema,CanvasNoteSchema,BoardSchema,ExtensionSchema,ViewportPresetSchema,LibrarySchema,ScreenSchema,SnippetSchema,sanitizeSvgMarkup,ThemeSchema,ViewportSchema}from"./chunk-8cj4swpr.js";import{buildBoardComposite,MAX_CONCURRENT_RENDERS,renderScreen,captureScreenshot}from"./chunk-chtv0yj6.js";import{writeJsonAtomic,managedDesignId,localDesignOf,recordedDesignName,orderedBoards,activeBoards,registryForScreen,renderPassForScreen,hostStylesheetsForScreen,hostFilesFetch,storedHostSource,shipHostFiles,createCaptureMount}from"./chunk-yfvc8d2g.js";import{LIVE_BUNDLE_PATH,withAssetServer,createOneShotLiveBundler,buildLiveModule}from"./chunk-74yxy75r.js";import{checkCloudHealth}from"./chunk-hjc5eg5c.js";var VERSION_UPLOAD_TIMEOUT_MS=60000,VERSION_UPLOAD_RETRIES=1;async function listPublishDestinations(opts){let query=new URLSearchParams({folderId:opts.folderId});if(opts.teamId)query.set("teamId",opts.teamId);return cloudFetch(`${opts.baseUrl}/v1/publish-destinations?${query}`,PublishDestinationsResponseSchema,{operation:"listing publish destinations",token:opts.token})}async function uploadLinkBundle(opts){let{baseUrl,token,form}=opts,authorized={authorization:`Bearer ${token}`},createRes=await fetch(`${baseUrl}/v1/links`,{method:"POST",headers:authorized,body:JSON.stringify(opts.link)}).catch((error)=>error);if(!(createRes instanceof Response))return err(unreachable(createRes,{url:baseUrl}));if(createRes.status!==200&&createRes.status!==201)return err(await httpFailureFrom("link creation",createRes));let created=createRes.status===201,createdLink=await cloudJson(createRes,LinkResponseSchema,"link creation");if(!createdLink.ok)return createdLink;let link=createdLink.value;if(opts.link.publishMode==="new"&&!created)return err(protocolViolation("the cloud reused a link even though a new publish destination was requested"));if(opts.link.publishMode==="update"&&created)return await fetch(`${baseUrl}/v1/links/${link.slug}`,{method:"DELETE",headers:authorized}).catch(()=>{}),err(protocolViolation("the cloud created a link even though an existing destination was selected"));if(!created){let accessRes=await fetch(`${baseUrl}/v1/links/${link.slug}/access`,{method:"PUT",headers:{...authorized,"content-type":"application/json"},body:JSON.stringify({visibility:opts.link.visibility,password:opts.link.password??null,passwordExpiresAt:opts.link.password?opts.link.passwordExpiresAt??null:null,expectedVersionId:opts.link.expectedVersionId??null,...opts.link.audience?.length?{audience:opts.link.audience}:{},...opts.link.publicComments!==void 0?{publicComments:opts.link.publicComments}:{}})});if(!accessRes.ok)return err(await httpFailureFrom("privacy update",accessRes));let access=await cloudJson(accessRes,LinkAccessResponseSchema,"privacy update");if(!access.ok)return access;link={...link,...access.value}}if(form.append("publishMode",opts.link.publishMode),opts.link.expectedVersionId)form.append("expectedVersionId",opts.link.expectedVersionId);let attempt=await uploadVersionWithRetry({url:`${baseUrl}/v1/links/${link.slug}/versions`,headers:authorized,form,timeoutMs:opts.uploadTimeoutMs??VERSION_UPLOAD_TIMEOUT_MS,retries:opts.uploadRetries??VERSION_UPLOAD_RETRIES});if(!attempt.ok)return attempt;let upload=attempt.value,uploadRes=upload.response;if(uploadRes.status!==201){let{detail,code}=await readFailure(uploadRes);if(upload.transientFailures>0&&uploadRes.status===409&&/slot changed|already has a version/i.test(detail))return err(uploadRaceLost());if(created)await fetch(`${baseUrl}/v1/links/${link.slug}`,{method:"DELETE",headers:authorized}).catch(()=>{});return err(cloudFailure("upload",uploadRes.status,detail,code))}let parsed=await cloudJson(uploadRes,VersionUploadResponseSchema,"upload");if(!parsed.ok)return parsed;let uploaded=parsed.value;return ok({link:{slug:link.slug,visibility:link.visibility??opts.link.visibility,passwordProtected:link.passwordProtected??opts.link.password!=null,...link.audience!==void 0?{audience:link.audience}:{},...link.publicComments!==void 0?{publicComments:link.publicComments}:{}},created,files:uploaded.files,bytes:uploaded.bytes,shareUrl:uploaded.url.startsWith("http")?uploaded.url:`${baseUrl}${uploaded.url}`,...uploaded.tier!==void 0?{tier:uploaded.tier}:{},...uploaded.history!==void 0?{history:uploaded.history}:{}})}async function uploadVersionWithRetry(opts){let attempts=Math.max(1,Math.floor(opts.retries)+1),transientFailures=0,lastNetworkError="unknown network error",lastTimedOut=!1;for(let attempt=1;attempt<=attempts;attempt+=1){let controller=new AbortController,timedOut=!1,timer=setTimeout(()=>{timedOut=!0,controller.abort()},Math.max(1,opts.timeoutMs));try{let response=await fetch(opts.url,{method:"POST",headers:opts.headers,body:opts.form,signal:controller.signal});if(response.status<500||attempt===attempts)return ok({response,transientFailures});transientFailures+=1,await response.body?.cancel().catch(()=>{})}catch(error){if(transientFailures+=1,lastTimedOut=timedOut,lastNetworkError=error instanceof Error?error.message:String(error),attempt===attempts){let retried=attempts>1?` after ${attempts} attempts`:"";return err(timedOut?unreachable(`timed out after ${formatDuration(opts.timeoutMs)}${retried}`,{url:opts.url,timedOut:!0}):unreachable(`version upload${retried}: ${lastNetworkError}`,{url:opts.url}))}}finally{clearTimeout(timer)}}return err(lastTimedOut?unreachable(`timed out after ${formatDuration(opts.timeoutMs)}`,{url:opts.url,timedOut:!0}):unreachable(`version upload: ${lastNetworkError}`,{url:opts.url}))}function formatDuration(ms){return ms>=1000?`${Math.round(ms/1000)}s`:`${Math.max(1,Math.round(ms))}ms`}var cloudUnhealthy=(detail)=>({kind:"CloudUnhealthy",detail}),noScreens=(root)=>({kind:"NoScreens",root}),noBoardScreens=()=>({kind:"NoBoardScreens"}),bundleInvalid=(detail)=>({kind:"BundleInvalid",detail}),teamNotFound=(requested)=>({kind:"TeamNotFound",requested}),teamAmbiguous=(requested)=>({kind:"TeamAmbiguous",requested}),teamNotPublishable=(requested,reviewer)=>({kind:"TeamNotPublishable",requested,reviewer}),noPublishableTeam=(reviewer)=>({kind:"NoPublishableTeam",reviewer}),teamChoiceRequired=(names)=>({kind:"TeamChoiceRequired",names}),REVIEWERS_CANNOT_PUBLISH="reviewers can view and comment on boards, but not publish them \u2014 to publish, ask an owner or admin to make you a member",FREE_PLAN_OWNER_ONLY="on the Free plan only the organization owner publishes \u2014 ask the owner to renew, or leave the organization to publish on your own";function describePublishError(error){switch(error.kind){case"CloudUnhealthy":return error.detail;case"NoScreens":return`no screens found in ${error.root} \u2014 is this a velloo design folder?`;case"NoBoardScreens":return"the selected boards have no screens.";case"BundleInvalid":return`velloo built an invalid design bundle and did not upload it: ${error.detail}. This is a bug \u2014 please report it.`;case"TeamNotFound":return`no team named or identified by '${error.requested}'`;case"TeamAmbiguous":return`more than one team is named '${error.requested}'; pass its UUID`;case"TeamNotPublishable":return error.reviewer?REVIEWERS_CANNOT_PUBLISH:`you can't publish to '${error.requested}' \u2014 you can only publish to teams you're on`;case"NoPublishableTeam":return error.reviewer?REVIEWERS_CANNOT_PUBLISH:FREE_PLAN_OWNER_ONLY;case"TeamChoiceRequired":return`you can publish to more than one team \u2014 choose one (${error.names.join(", ")}) with --team`;case"HttpFailure":{if(error.status===403&&/protected shares/i.test(error.detail))return`${PROTECTED_SHARES_UNAVAILABLE}. Publish publicly, or upgrade your plan from your cloud's billing page`;let limit=boardLimitFrom(error);if(limit)return`${describeBoardLimit(limit)}. Run \`velloo publish list\` to see them, or upgrade your plan from your cloud's billing page`;return describeCloudError(error)}default:return describeCloudError(error)}}import{execFileSync}from"child_process";import{readFile}from"fs/promises";import{join}from"path";var DESIGN_BUNDLE_FORMAT=1,BundleScreenshotsSchema=object({cover:string().optional(),screens:record(string(),string()).optional(),boards:record(string(),string()).optional()}),DesignBundleMetaSchema=object({formatVersion:number().int().positive().optional(),title:string().optional(),screens:array(object({id:string(),name:string().optional()})).optional(),boards:array(object({id:string()})).optional(),screenshots:BundleScreenshotsSchema.optional()});var DesignBundleSchema=strictObject({formatVersion:literal(DESIGN_BUNDLE_FORMAT),title:string(),viewport:ViewportSchema,defaultLibrary:string(),libraries:record(string(),LibrarySchema),extensions:record(string(),ExtensionSchema),viewportPresets:array(ViewportPresetSchema),theme:ThemeSchema,themes:record(string(),ThemeSchema),customCss:string(),snippets:array(SnippetSchema),screens:array(ScreenSchema),boards:array(BoardSchema),annotations:record(string(),array(AnnotationSchema)),notes:record(string(),array(CanvasNoteSchema)),live:boolean(),snapshotCssPath:string(),bundlePath:string().optional(),hostStylesheets:array(string().regex(/^(?:assets\/host\/[A-Za-z0-9._@~+-][A-Za-z0-9._@~+/-]*\.css|https:\/\/\S+)$/)).optional(),screenshots:object({cover:string(),screens:record(string(),string()),boards:record(string(),string())}).optional()});import{homedir}from"os";import{delimiter,dirname,resolve}from"path";function designGitEnv(folder){let ceilings=[homedir()];if(managedDesignId(folder)||localDesignOf(folder))ceilings.push(dirname(resolve(folder)));let inherited=process.env.GIT_CEILING_DIRECTORIES;if(inherited)ceilings.push(inherited);return{...process.env,GIT_CEILING_DIRECTORIES:ceilings.join(delimiter)}}var MAX_SCREENSHOT_BYTES=4194304,MAX_SCREENSHOT_COUNT=120,DOWNSCALE_WIDTH=1280;function isBrowserMissing(err){return err instanceof Error&&err.name==="BrowserMissingError"}async function captureBundleScreenshots(opts){let{screens,boards,viewport,renderHtml,capture,warn,progress}=opts,selectedScreens=opts.screenIds?screens.filter((screen)=>opts.screenIds?.has(screen.id)):screens,selectedBoards=opts.boardIds?boards.filter((board)=>opts.boardIds?.has(board.id)):boards,manifest={cover:"",screens:{},boards:{}},total=selectedScreens.length+selectedBoards.filter((board)=>board.frames.length>0).length,done=0,advance=()=>{done+=1,progress?.(done,total)},shoot=async(html,vp,fullPage)=>{let png=await capture({html,viewport:vp,fullPage,deviceScaleFactor:1});if(png.byteLength>MAX_SCREENSHOT_BYTES&&DOWNSCALE_WIDTH<vp.w)png=await capture({html,viewport:vp,fullPage,deviceScaleFactor:DOWNSCALE_WIDTH/vp.w});return png.byteLength<=MAX_SCREENSHOT_BYTES?png:null},jobs=[];for(let screen of selectedScreens)jobs.push({run:async()=>{try{let png=await shoot(await renderHtml(screen),viewport,!0);if(!png)return warn(`screenshot of screen "${screen.id}" exceeds 4MB even downscaled \u2014 skipped`),null;return{kind:"screen",id:screen.id,path:`screenshots/${screen.id}.png`,bytes:png}}catch(err){if(isBrowserMissing(err))throw err;return warn(`screenshot of screen "${screen.id}" failed \u2014 skipped (${message(err)})`),null}finally{advance()}}});let screenById=new Map(screens.map((screen)=>[screen.id,screen]));for(let board of selectedBoards){if(board.frames.length===0)continue;jobs.push({run:async()=>{try{let framed=(await Promise.all(board.frames.map(async(frame)=>{let screen=screenById.get(frame.screen);return screen?{frame,html:await renderHtml(screen,board.theme,frame.scheme??"light")}:null}))).filter((entry)=>entry!==null);if(framed.length===0)return null;let composite=buildBoardComposite(framed),png=await shoot(composite.html,composite.viewport,!1);if(!png)return warn(`screenshot of board "${board.id}" exceeds 4MB even downscaled \u2014 skipped`),null;return{kind:"board",id:board.id,path:`screenshots/${board.id}.png`,bytes:png}}catch(err){if(isBrowserMissing(err))throw err;return warn(`screenshot of board "${board.id}" failed \u2014 skipped (${message(err)})`),null}finally{advance()}}})}let shotLimit=MAX_SCREENSHOT_COUNT-1,results=Array.from({length:jobs.length},()=>null),nextJob=0,completedShots=0,reservedShots=0,browserMissing=!1,worker=async()=>{while(!browserMissing&&nextJob<jobs.length&&completedShots+reservedShots<shotLimit){let index=nextJob++;reservedShots+=1;try{let shot=await jobs[index]?.run();if(shot)results[index]=shot,completedShots+=1}catch(err){if(isBrowserMissing(err))browserMissing=!0;else throw err}finally{reservedShots-=1}}},concurrency=Math.max(1,Math.min(MAX_CONCURRENT_RENDERS,Math.floor(opts.concurrency??MAX_CONCURRENT_RENDERS)));if(await Promise.all(Array.from({length:Math.min(concurrency,jobs.length)},worker)),browserMissing)return warn("no headless browser available \u2014 publishing without screenshots"),null;if(nextJob<jobs.length)warn(`screenshot limit (${MAX_SCREENSHOT_COUNT}) reached \u2014 remaining shots skipped`);let files=[];for(let shot of results){if(!shot)continue;if(files.push({path:shot.path,bytes:shot.bytes}),shot.kind==="screen")manifest.screens[shot.id]=shot.path;else manifest.boards[shot.id]=shot.path}let coverSource=selectedBoards.map((b)=>manifest.boards[b.id]).find((p)=>p!==void 0)??selectedScreens.map((s)=>manifest.screens[s.id]).find((p)=>p!==void 0);if(!coverSource)return null;let source=files.find((f)=>f.path===coverSource);if(!source)return null;return manifest.cover="screenshots/cover.png",files.push({path:manifest.cover,bytes:source.bytes}),{manifest,files}}function message(err){let msg=err instanceof Error?err.message:String(err);return msg.split(`
3
+ `)[0]??msg}var normalizedBoardIds=(boardIds)=>[...new Set(boardIds)].sort();function publishSlotMismatches(slot,current){let mismatches=[];if(!slot.context.contextKnown)mismatches.push("older publish has no board-selection context");if(!(current.candidateTeamIds?slot.teamId!==null&&current.candidateTeamIds.includes(slot.teamId):slot.teamId===current.teamId))mismatches.push("team differs");if(JSON.stringify(normalizedBoardIds(slot.context.boardIds))!==JSON.stringify(normalizedBoardIds(current.boardIds)))mismatches.push("board selection differs");if(slot.context.repo!==current.repo)mismatches.push("repository differs");else if(current.repo!==null){if(!slot.context.branch||!current.branch)mismatches.push("branch is unavailable");else if(slot.context.branch!==current.branch)mismatches.push("branch differs")}return mismatches}function recommendedPublishSlot(slots,current){return exactPublishSlots(slots,current)[0]??null}function exactPublishSlots(slots,current){return slots.filter((slot)=>publishSlotMismatches(slot,current).length===0).sort((left,right)=>publishedAt(right.lastPublishedAt)-publishedAt(left.lastPublishedAt))}var publishedAt=(value)=>{let parsed=value?Date.parse(value):Number.NaN;return Number.isFinite(parsed)?parsed:Number.NEGATIVE_INFINITY},PUBLISH_VIEWPORT={w:1440,h:900};function defaultPublishTitle(folderRoot){return`${recordedDesignName(folderRoot)??folderRoot.split("/").filter(Boolean).pop()} designs`}async function ensureFolderId(folder,existing,report){if(existing)return existing;let path=join(folder,".design","config.json"),raw=JSON.parse(await readFile(path,"utf8")),folderId=crypto.randomUUID();return await writeJsonAtomic(path,{...raw,folderId}),report({kind:"note",message:"assigned this folder a cloud id (.design/config.json folderId) \u2014 commit it so every clone finds the folder's share links."}),folderId}function reportProvenance(git,report){if(git.repo){report({kind:"info",message:git.branch?`source: ${git.repo} on ${git.branch}`:`source: ${git.repo} (detached HEAD \u2014 no branch recorded)`});return}report({kind:"info",message:git.branch?`source: branch ${git.branch} \u2014 no git remote, publishing without a repository`:"source: not a git repository \u2014 publishing without repository or branch"})}function gitProbe(folder){return{encoding:"utf8",stdio:["ignore","pipe","ignore"],env:designGitEnv(folder)}}function gitCommitSha(folder){try{let probe=gitProbe(folder);if(execFileSync("git",["-C",folder,"status","--porcelain"],probe).trim().length>0)return null;return execFileSync("git",["-C",folder,"rev-parse","HEAD"],probe).trim()}catch{return null}}function normalizeRemote(url){let rest=url.trim().replace(/\.git\/?$/,"");if(/^[./~]/.test(rest)||/^[a-z]:[\\/]/i.test(rest)||rest.startsWith("file://"))return null;let scp=/^(?:[\w.-]+@)?([\w.-]+):(?!\/\/)(.+)$/.exec(rest);if(scp?.[1]&&scp[2])return`${scp[1]}/${scp[2].replace(/^\/+/,"")}`;try{let parsed=new URL(rest.includes("://")?rest:`https://${rest}`);if(!parsed.hostname||!parsed.pathname||parsed.pathname==="/")return null;return`${parsed.hostname}${parsed.pathname.replace(/\/+$/,"")}`}catch{return null}}function gitContext(folder){let probe=gitProbe(folder),run=(args)=>{try{return execFileSync("git",["-C",folder,...args],probe).trim()||null}catch{return null}},branchRaw=run(["rev-parse","--abbrev-ref","HEAD"]),remote=run(["remote","get-url","origin"]);return{repo:remote?normalizeRemote(remote):null,branch:branchRaw==="HEAD"?null:branchRaw}}function publishableTeams(teams){return teams.filter((team)=>team.canPublish!==!1)}function resolvePublishTeam(teams,requested){if(teams.length===0)return requested?err(teamNotFound(requested)):ok({kind:"personal"});let reviewer=teams.some((team)=>team.role==="reviewer"),publishable=publishableTeams(teams);if(requested){let named=(candidates)=>candidates.filter((team)=>team.id===requested||team.name.toLowerCase()===requested.toLowerCase()),exact=named(publishable);if(exact.length>1)return err(teamAmbiguous(requested));let[team]=exact;if(team)return ok({kind:"team",team});return err(named(teams).length>0?teamNotPublishable(requested,reviewer):publishable.length===0?noPublishableTeam(reviewer):teamNotFound(requested))}let[only,...rest]=publishable;if(!only)return err(noPublishableTeam(reviewer));return rest.length===0?ok({kind:"team",team:only}):ok({kind:"choose",teams:publishable})}async function listTeams(baseUrl,token){let body=await cloudFetch(`${baseUrl}/v1/teams/mine`,TeamsResponseSchema,{operation:"listing teams",token});return body.ok?ok(body.value.teams):body}function selectBoards(design,boardIds){if(!boardIds||boardIds.length===0)return activeBoards(design).map(([,board])=>board);let wanted=new Set(boardIds);return orderedBoards(design).map(([,board])=>board).filter((board)=>wanted.has(board.id))}async function publishDesign(cloud,pipeline,request,report=()=>{}){let{folder:design}=pipeline,{root,config}=design;report({kind:"step",step:"check",message:"checking the cloud"});let health=await checkCloudHealth(cloud.baseUrl);if(health.status==="unreachable")return err(unreachable(health.reason,{url:cloud.baseUrl}));if(health.status==="unhealthy")return err(cloudUnhealthy(health.detail));if(design.screens.size===0)return err(noScreens(root));report({kind:"step",step:"select",message:"collecting boards"});let boards=selectBoards(design,request.boardIds),screenIds=Boolean(request.boardIds&&request.boardIds.length>0)?new Set(boards.flatMap((b)=>b.frames.map((f)=>f.screen))):null,screens=screenIds?[...design.screens.values()].filter((s)=>screenIds.has(s.id)):[...design.screens.values()];if(screens.length===0)return err(noBoardScreens());let viewport=request.viewport??PUBLISH_VIEWPORT,title=request.title?.trim()||defaultPublishTitle(root),form=new FormData,bundleFiles=0,bundleBytes=0,addFile=(path,data,type)=>{if(typeof data==="string"?data.length===0:data.byteLength===0)return report({kind:"warn",message:`skipped empty file: ${path}`}),!1;return form.append("file",new File([data],path,type?{type}:void 0)),bundleFiles+=1,bundleBytes+=typeof data==="string"?new TextEncoder().encode(data).byteLength:data.byteLength,!0},bundler=pipeline.liveBundler??createOneShotLiveBundler(root,config);report({kind:"step",step:"styles",message:"compiling styles"});let snapshotCss=await pipeline.snapshotCss(),live=!1,liveCode=null;if(bundler){report({kind:"step",step:"bundle",message:"bundling live components"});let bundle=await buildLiveModule(bundler);for(let message of bundle.warnings)report({kind:"warn",message});if(bundle.code!==null&&addFile("bundle.js",bundle.code,"text/javascript"))liveCode=bundle.code,live=!0}report({kind:"step",step:"capture",message:"capturing previews"});let mount=createCaptureMount(pipeline.folder,pipeline.providers,pipeline.defaultProvider,{onlyRepository:!0}),shots=await withAssetServer(root,liveCode,async(baseHref)=>{let htmlCache=new Map,renderHtml=async(screen,themeName,scheme="light")=>{let theme=(themeName?design.themes.get(themeName):void 0)??design.theme,key=`${screen.id}\x00${theme.name}\x00${scheme}`,cached=htmlCache.get(key);if(cached)return cached;let canvasBundle=await mount.forScreen(screen,theme,scheme==="dark"),rendering=renderScreen(screen,theme,{viewport,snapshotCss,registry:registryForScreen(screen,pipeline.providers,pipeline.defaultProvider,config.extensions??{}),renderPass:renderPassForScreen(screen,pipeline.providers,pipeline.defaultProvider,theme),snippets:design.snippets,customCss:design.customCss,dark:scheme==="dark",baseHref,...live?{liveBundleUrl:LIVE_BUNDLE_PATH}:{},...canvasBundle?{canvasBundle}:{},hostStylesheets:hostStylesheetsForScreen(screen,pipeline.providers,pipeline.defaultProvider,config.hostApp)}).then(({html})=>html);return htmlCache.set(key,rendering),rendering};return await captureBundleScreenshots({screens,boards,...request.screenshotSelection?{screenIds:request.screenshotSelection.screenIds,boardIds:request.screenshotSelection.boardIds}:{},viewport,renderHtml,capture:async(req)=>(await captureScreenshot({html:req.html,viewport:req.viewport,fullPage:req.fullPage,deviceScaleFactor:req.deviceScaleFactor})).png,warn:(message)=>report({kind:"warn",message}),progress:(done,total)=>report({kind:"capture",done,total})})},{bundle:mount.serve,host:hostFilesFetch(()=>root)});for(let f of shots?.files??[])addFile(f.path,f.bytes,"image/png");let host=Object.values(pipeline.providers).some((provider)=>provider.hostStylesheets)?await shipHostFiles({source:storedHostSource(root),stylesheets:config.hostApp?.stylesheets??[],screens,snippets:[...design.snippets.values()],warn:(message)=>report({kind:"warn",message})}):{screens,snippets:[...design.snippets.values()],files:[],stylesheets:[]};for(let f of host.files)addFile(f.path,f.bytes,f.type);let annotations=Object.fromEntries([...design.annotations].filter(([screenId,list])=>list.length>0&&screens.some((s)=>s.id===screenId))),notes=Object.fromEntries([...design.notes].filter(([boardId,list])=>list.length>0&&boards.some((b)=>b.id===boardId))),designDoc={formatVersion:DESIGN_BUNDLE_FORMAT,title,viewport,defaultLibrary:config.defaultLibrary,libraries:config.libraries,extensions:config.extensions??{},viewportPresets:config.viewportPresets??[],theme:design.theme,themes:Object.fromEntries(design.themes),customCss:design.customCss,snippets:host.snippets,screens:host.screens,boards,annotations,notes,live,snapshotCssPath:"snapshot.css",...live?{bundlePath:"bundle.js"}:{},...host.stylesheets.length>0?{hostStylesheets:host.stylesheets}:{},...shots?{screenshots:shots.manifest}:{}},validated=DesignBundleSchema.safeParse(designDoc);if(!validated.success)return err(bundleInvalid(prettifyError(validated.error)));addFile("design.json",JSON.stringify(designDoc),"application/json"),addFile("snapshot.css",snapshotCss||`/* this folder uses no CSS framework */
4
+ `,"text/css");let assetRefs=new Set,assetRe=/\/assets\/[A-Za-z0-9._@\-/]+/g;for(let source of[...host.screens,...host.snippets])for(let m of JSON.stringify(source).matchAll(assetRe))assetRefs.add(m[0]);for(let ref of assetRefs){if(ref.startsWith("/assets/host/"))continue;let rel=ref.replace(/^\//,"");try{let bytes=await readFile(join(root,rel));addFile(rel,/\.svg$/i.test(rel)?Buffer.from(sanitizeSvgMarkup(bytes.toString("utf8")),"utf8"):bytes)}catch{report({kind:"warn",message:`asset not found: ${rel}`})}}let commitSha=gitCommitSha(root);if(commitSha)form.append("commitSha",commitSha);let git=request.provenance??gitContext(root);if(reportProvenance(git,report),git.repo)form.append("gitRepo",git.repo);if(git.branch)form.append("gitBranch",git.branch);let folderId=await ensureFolderId(root,config.folderId,report);report({kind:"step",step:"upload",message:`uploading ${bundleFiles} file${bundleFiles===1?"":"s"} (${formatBytes(bundleBytes)})`});let uploaded=await uploadLinkBundle({baseUrl:cloud.baseUrl,token:cloud.token,link:{...request.destination.slug?{slug:request.destination.slug}:{},folderId,publishMode:request.destination.mode,...request.destination.mode==="update"?{expectedVersionId:request.destination.expectedVersionId}:{},title,visibility:request.visibility,...request.teamId?{teamId:request.teamId}:{},...request.audience?.length?{audience:request.audience}:{},...request.publicComments!==void 0?{publicComments:request.publicComments}:{},...request.password?{password:request.password}:{},...request.passwordExpiresAt?{passwordExpiresAt:request.passwordExpiresAt}:{}},form});if(!uploaded.ok)return uploaded;let upload=uploaded.value;return ok({shareUrl:upload.shareUrl,slug:upload.link.slug,visibility:upload.link.visibility,passwordProtected:upload.link.passwordProtected,...upload.link.audience!==void 0?{audience:upload.link.audience}:{},...upload.link.publicComments!==void 0?{publicComments:upload.link.publicComments}:{},files:upload.files,bytes:upload.bytes,screenshots:shots?.files.length??0,boards:boards.length,screens:screens.length,commitSha,created:upload.created,...upload.tier!==void 0?{tier:upload.tier}:{},...upload.history!==void 0?{history:upload.history}:{}})}function formatBytes(bytes){if(bytes>=1048576)return`${(bytes/1048576).toFixed(1)} MB`;if(bytes>=1024)return`${Math.round(bytes/1024)} KB`;return`${bytes} B`}function publishedDesignSubtitle(design){let published=design.lastPublishedAt?`Published ${design.lastPublishedAt}`:"Publish time unavailable",who=design.ownerEmail?.trim()||design.ownerName?.trim(),publisher=who?`by ${who}`:"publisher unavailable",repo=design.git?.repo?.trim(),branch=design.git?.branch?.trim(),source=repo?`repo ${repo}${branch?` (${branch})`:""}`:"repository unavailable";return`${published} \xB7 ${publisher} \xB7 ${source}`}async function listPublishedDesigns(opts){let body=await cloudFetch(`${opts.baseUrl}/v1/links`,PublishedDesignsResponseSchema,{operation:"listing published designs",token:opts.token});if(!body.ok)return body;return ok((body.value.links??[]).filter((link)=>link.published).map((link)=>({...link,url:link.url.startsWith("http")?link.url:`${opts.baseUrl}${link.url}`})))}async function unpublishDesign(opts){let res=await fetch(`${opts.baseUrl}/v1/links/${encodeURIComponent(opts.slug)}`,{method:"DELETE",headers:{authorization:`Bearer ${opts.token}`}}).catch((error)=>error);if(!(res instanceof Response))return err(unreachable(res,{url:opts.baseUrl}));if(!res.ok)return err(await httpFailureFrom("unpublishing the design",res));return ok(void 0)}
5
+ export{publishedDesignSubtitle,listPublishedDesigns,unpublishDesign,listPublishDestinations,designGitEnv,teamChoiceRequired,describePublishError,recommendedPublishSlot,exactPublishSlots,PUBLISH_VIEWPORT,gitContext,publishableTeams,resolvePublishTeam,listTeams,publishDesign};