email-scribe
Version:
Email Scribe is a feature-rich, embeddable email editor (<320kb gzipped), designed for creating modular, email-safe designs. This semi-WYSIWYG editor allows you to build emails using pre-existing template modules, ensuring compatibility across various ema
31 lines (29 loc) • 780 kB
JavaScript
(function(be,N){typeof exports=="object"&&typeof module<"u"?N(exports,require("react"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react","react-dom"],N):(be=typeof globalThis<"u"?globalThis:be||self,N(be["email-scribe"]={},be.React,be.ReactDOM))})(this,function(be,N,Ve){"use strict";var toe=Object.defineProperty;var vP=be=>{throw TypeError(be)};var roe=(be,N,Ve)=>N in be?toe(be,N,{enumerable:!0,configurable:!0,writable:!0,value:Ve}):be[N]=Ve;var uo=(be,N,Ve)=>roe(be,typeof N!="symbol"?N+"":N,Ve),Sy=(be,N,Ve)=>N.has(be)||vP("Cannot "+Ve);var R=(be,N,Ve)=>(Sy(be,N,"read from private field"),Ve?Ve.call(be):N.get(be)),fe=(be,N,Ve)=>N.has(be)?vP("Cannot add the same private member more than once"):N instanceof WeakSet?N.add(be):N.set(be,Ve),oe=(be,N,Ve,Si)=>(Sy(be,N,"write to private field"),Si?Si.call(be,Ve):N.set(be,Ve),Ve),ye=(be,N,Ve)=>(Sy(be,N,"access private method"),Ve);var Ud=(be,N,Ve,Si)=>({set _(Rl){oe(be,N,Rl,Ve)},get _(){return R(be,N,Si)}});var eo,fi,Is,tP,Fs,hi,js,rP,to,nP,Ms,Ls,pr,Tt,Cl,ro,Rr,Dn,iP,nn,oP,on,It,no,sn,wi,sP,er,Tl,aP,et,pi,mi,Us,zs,gi,Bs,Ws,lP,qt,we,Pl,Ft,io,Vs,an,Al,qs,Hs,oo,so,yi,Ks,Re,Dl,xy,Ey,$y,Cy,Ty,Py,Ay,xP,cP,vi,bi,Ht,kn,On,zd,ky,uP;var Si=document.createElement("style");Si.textContent=`@import"https://fonts.googleapis.com/css2?family=Roboto:wght@100;200;300;400;500;700&family=Montserrat:wght@100;200;300;400;500;700&display=swap";.newsletterDesigner{--background: hsl(0, 0%, 100%);--foreground: hsl(0, 0%, 3.9%);--card: hsl(0, 0%, 97%);--card-foreground: hsl(0, 0%, 3.9%);--popover: hsl(0, 0%, 100%);--popover-foreground: hsl(0, 0%, 3.9%);--primary: hsl(204, 70%, 54%);--primary-foreground: hsl(204, 85.7%, 97.3%);--secondary: hsl(204, 0%, 96.1%);--secondary-foreground: hsl(204, 0%, 9%);--muted: hsl(204, 0%, 96.1%);--muted-foreground: hsl(204, 0%, 45.1%);--accent: hsl(204, 0%, 96.1%);--accent-foreground: hsl(204, 0%, 9%);--destructive: hsl(0, 84.2%, 60.2%);--destructive-foreground: hsl(0, 0%, 98%);--border: hsl(204, 0%, 89.8%);--input: hsl(204, 0%, 89.8%);--ring: hsl(204, 70%, 54%);--shadow: hsla(0, 0%, 0%, .2);--radius: .5rem}.newsletterDesigner[data-theme=dark]{--background: hsl(0, 0%, 3.9%);--foreground: hsl(0, 0%, 98%);--card: hsl(0, 0%, 6.9%);--card-foreground: hsl(0, 0%, 98%);--popover: hsl(0, 0%, 3.9%);--popover-foreground: hsl(0, 0%, 98%);--primary: hsl(204, 70%, 54%);--primary-foreground: hsl(204, 85.7%, 97.3%);--secondary: hsl(204, 0%, 14.9%);--secondary-foreground: hsl(0, 0%, 98%);--muted: hsl(204, 0%, 14.9%);--muted-foreground: hsl(204, 0%, 63.9%);--accent: hsl(204, 0%, 14.9%);--accent-foreground: hsl(0, 0%, 98%);--destructive: hsl(0, 62.8%, 30.6%);--destructive-foreground: hsl(0, 0%, 98%);--border: hsl(204, 0%, 14.9%);--input: hsl(204, 0%, 14.9%);--ring: hsl(204, 70%, 54%);--shadow: hsla(0, 0%, 100%, .3);--radius: .5rem}.newsletterDesigner .background-background,.newsletterDesigner .PreviewPanel{background-color:var(--background)}.newsletterDesigner .background-foreground{background-color:var(--foreground)}.newsletterDesigner .background-card,.newsletterDesigner .BlocksPanel{background-color:var(--card)}.newsletterDesigner .background-popover{background-color:var(--popover)}.newsletterDesigner .background-primary{background-color:var(--primary)}.newsletterDesigner .background-secondary{background-color:var(--secondary)}.newsletterDesigner .background-muted{background-color:var(--muted)}.newsletterDesigner .background-accent{background-color:var(--accent)}.newsletterDesigner .background-destructive{background-color:var(--destructive)}.newsletterDesigner .text-background{text-color:var(--background)}.newsletterDesigner .text-foreground{text-color:var(--foreground)}.newsletterDesigner .text-card{text-color:var(--card)}.newsletterDesigner .text-popover{text-color:var(--popover)}.newsletterDesigner .text-primary{text-color:var(--primary)}.newsletterDesigner .text-secondary{text-color:var(--secondary)}.newsletterDesigner .text-muted{text-color:var(--muted)}.newsletterDesigner .text-accent{text-color:var(--accent)}.newsletterDesigner .text-destructive{text-color:var(--destructive)}.newsletterDesigner .BlocksPanel{display:flex;flex-direction:column;gap:.5rem;height:150%;padding:1rem;justify-content:start;align-items:center;max-width:40rem;flex:4;min-width:24rem;border-bottom:1px solid var(--border)}@media (min-width: 768px){.newsletterDesigner .BlocksPanel{border-right:1px solid var(--border);height:100%}}.newsletterDesigner .BlocksPanel .blockSettingsButton{box-shadow:0 0 12px 6px var(--shadow)}.newsletterDesigner .BlocksPanel .blockSettingsButton:disabled{background-color:var(--muted-foreground);box-shadow:0 0;cursor:not-allowed}.newsletterDesigner .BlocksPanel .preset-manager-container{width:100%;position:relative;display:flex;flex-direction:column;gap:.5rem;border:1px solid var(--border);border-radius:var(--radius);align-items:center;padding:1.25rem .75rem .75rem}.newsletterDesigner .BlocksPanel .link-text{vertical-align:middle;background-color:transparent;border:none;flex:1;font-size:.8rem;color:var(--primary);width:100%;text-align:center;cursor:pointer}.newsletterDesigner .BlocksPanel .link-text:disabled{color:var(--muted-foreground);cursor:not-allowed}.newsletterDesigner .BlocksPanel .preset-manager-title{margin:0;line-height:.25rem;padding-top:0;padding-left:.35rem;padding-right:.35rem;position:absolute;background-color:var(--card);top:-.125rem;left:.5rem}.newsletterDesigner .BlocksPanel .preset-manager-buttons{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem}.newsletterDesigner .BlocksPanel .preset-manager-buttons>*{flex:1 1 calc(50% - .25rem);min-width:120px}.newsletterDesigner .BlocksPanel .import-button,.newsletterDesigner .BlocksPanel .load-button{display:flex;align-items:center;justify-content:center;gap:.5rem}.newsletterDesigner .BlocksPanel .PanelHeading{flex:1;font-size:1.35rem}@media (min-width: 768px){.newsletterDesigner .BlocksPanel .PanelHeading{font-size:1.5rem}}.newsletterDesigner .BlocksPanel .blocks{display:flex;flex-direction:column;border:1px solid var(--border);margin-bottom:.25rem;padding:.75rem;width:100%;height:100%;overflow-y:auto}.newsletterDesigner .BlocksPanel .blocks .ssrRibbon{transform:rotate(90deg);color:var(--foreground);padding:.125rem .25rem;font-size:14px;font-weight:300;text-transform:uppercase;letter-spacing:1px;text-shadow:0 0 .5rem var(--foreground)}.newsletterDesigner .BlocksPanel .blocks .ssrLabel{font-size:1.5rem;font-weight:300;margin-left:1rem;color:var(--foreground);text-shadow:0 0 .5rem var(--foreground)}.newsletterDesigner .BlocksPanel .blocks .collapsibleTrigger{display:flex;align-items:center;justify-content:space-between}.newsletterDesigner .BlocksPanel .blocks .collapsibleTrigger span{flex:1;font-size:1.5rem;font-weight:300;margin-left:1rem}.newsletterDesigner .BlocksPanel .BlockSelector .ScrollAreaViewport>div{display:flex!important;flex-direction:row!important;gap:1rem}.newsletterDesigner .BlockMetaClickable{transform:scale(1.5)}.newsletterDesigner .BlockMetaClickable:hover{box-shadow:0 4px 8px rgba(var(--foreground),.5);transform:scale(1.02)!important;transition:all .2s!important}.newsletterDesigner .BlockMetaClickable:focus{transform:scale(.98)!important}.newsletterDesigner .BlockMetaClickable:active{transform:scale(.98)!important}.newsletterDesigner .blockForm.disabled{opacity:.5}.newsletterDesigner .blockForm .panel-title{margin:.5rem}.newsletterDesigner .blockForm fieldset{padding:0;font-family:Poppins,Arial,Helvetica,sans-serif;display:flex;flex-direction:column;border:0!important;gap:1rem}.newsletterDesigner .blockForm fieldset .hidden{display:none}.newsletterDesigner .blockForm fieldset .field{display:flex;flex-direction:column}.newsletterDesigner .BlockMeta{background-color:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:0 0 5px var(--shadow);display:flex;flex-direction:column;max-width:200px;height:auto}.newsletterDesigner .BlockMeta .thumbnail{width:200px;height:auto;object-fit:contain;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}@media (min-width: 768px){.newsletterDesigner .BlockMeta .thumbnail{min-height:150px}}.newsletterDesigner .BlockMeta .label{font-size:1.4rem;text-align:center;font-weight:400;margin:.25rem .5rem;color:var(--foreground)}.newsletterDesigner .BlockMeta .description{font-size:.9rem;margin:0 1rem 1rem;flex-grow:1;max-height:100px}.newsletterDesigner .BlockMeta .tags{padding:1rem;display:flex;flex-wrap:wrap;gap:.5rem}.newsletterDesigner .BlockMeta .tags span{font-size:.8rem;font-weight:300;color:var(--muted-foreground);background-color:var(--secondary);padding:.2rem .5rem;border-radius:var(--radius)}.newsletterDesigner .text-danger{color:red;font-size:1.1rem;font-family:Montserrat,Helvetica Neue,Arial,sans-serif!important;font-weight:400!important}.newsletterDesigner .text-primary{color:var(--primary);font-size:1.4rem;font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-weight:300;text-shadow:0 0 .5rem var(--primary)}.newsletterDesigner .text-base{font-size:1.2rem;font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-weight:300}.newsletterDesigner .control-label{font-family:Montserrat,Helvetica Neue,Arial,sans-serif}.newsletterDesigner .FileUploadWidget .input-toggle{display:flex;margin-bottom:1rem}.newsletterDesigner .FileUploadWidget .input-toggle button{flex:1;padding:.5rem;background:var(--background);border:1px solid var(--border);color:var(--foreground);cursor:pointer;transition:all .2s ease}.newsletterDesigner .FileUploadWidget .input-toggle button:first-child{border-radius:var(--radius) 0 0 var(--radius)}.newsletterDesigner .FileUploadWidget .input-toggle button:last-child{border-radius:0 var(--radius) var(--radius) 0}.newsletterDesigner .FileUploadWidget .input-toggle button.active{background:var(--primary);color:var(--primary-foreground)}.newsletterDesigner .FileUploadWidget .urlBar{display:flex;gap:.5rem}.newsletterDesigner .FileUploadWidget .urlBar input[type=url]{flex:1;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius)}.newsletterDesigner .FileUploadWidget .urlBar button{padding:.5rem 1rem;background:var(--primary);color:var(--primary-foreground);border:none;border-radius:var(--radius);cursor:pointer}.newsletterDesigner .FileUploadWidget input[type=file]::-webkit-file-upload-button{display:none}.newsletterDesigner .FileUploadWidget input[type=file]:before{margin-right:.5rem;content:"Select files";display:inline-block;background:var(--background);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem 1rem;outline:none;white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:pointer;font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-weight:400;font-size:1rem;transition:all .2s ease}.newsletterDesigner .FileUploadWidget input[type=file]:hover:before{background:var(--secondary);border-color:color-mix(in srgb,var(--foreground) 90%,transparent)}.newsletterDesigner .FileUploadWidget input[type=file]:active:before{background:var(--card);transform:scale(.98)}.newsletterDesigner .FileUploadWidget input[type=file]:focus:before{border-color:2px dashed color-mix(in srgb,var(--primary) 90%,transparent);box-shadow:0 2px 4px rgba(var(--primary),10)}.newsletterDesigner .FileUploadWidget input[type=file]:focus+div{border:2px dashed var(--primary)!important;box-shadow:0 2px 4px rgba(var(--primary-rgb),.1)}.newsletterDesigner .FileUploadWidget input[type=file]:focus{border-color:1px solid var(--primary)}.newsletterDesigner .FileUploadWidget input[type=file]+div:hover{cursor:pointer;background:var(--accent)}.newsletterDesigner .FileUploadWidget .image-preview{display:flex;justify-content:center;align-items:center;margin:1rem;padding:1rem;border-radius:var(--radius);border:1px solid var(--border)}.newsletterDesigner .FileUploadWidget .image-preview:hover{cursor:pointer;background:var(--accent)}.newsletterDesigner input[type=text],.newsletterDesigner input[type=url],.newsletterDesigner textarea,.newsletterDesigner .editorInput{font-family:Montserrat,Helvetica Neue,Arial,sans-serif;border:1px solid var(--border);border-radius:.25rem;padding:.5rem;font-size:1rem;color:var(--foreground);background-color:var(--background);transition:all .2s ease}.newsletterDesigner input[type=text]:hover,.newsletterDesigner input[type=url]:hover,.newsletterDesigner textarea:hover,.newsletterDesigner .editorInput:hover{border-color:color-mix(in srgb,var(--foreground) 20%,var(--border));box-shadow:0 2px 4px rgba(var(--primary),.05)}.newsletterDesigner input[type=text]:focus,.newsletterDesigner input[type=url]:focus,.newsletterDesigner textarea:focus,.newsletterDesigner .editorInput:focus{outline:none;border-color:color-mix(in srgb,var(--foreground) 90%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--foreground) 10%,transparent)}.newsletterDesigner input[type=text]:disabled,.newsletterDesigner input[type=url]:disabled,.newsletterDesigner textarea:disabled,.newsletterDesigner .editorInput:disabled{background-color:var(--muted-background);color:var(--muted-foreground);cursor:not-allowed}.newsletterDesigner .editorInput{resize:vertical;min-height:8rem;border-top-left-radius:0;border-top-right-radius:0}.newsletterDesigner .editorInput:focus.editor-toolbar{border-color:color-mix(in srgb,var(--foreground) 90%,transparent)}.newsletterDesigner input[type=color]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:3rem;height:3rem;padding:0;border:1px solid var(--border);border-radius:50%;overflow:hidden;cursor:pointer;transition:all .2s ease}.newsletterDesigner input[type=color]:hover{transform:scale(1.05);box-shadow:0 2px 8px rgba(var(--primary),.2)}.newsletterDesigner input[type=color]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--background),0 0 0 6px var(--primary);transform:scale(1.1)}.newsletterDesigner input[type=color]::-webkit-color-swatch-wrapper{padding:0}.newsletterDesigner input[type=color]::-webkit-color-swatch{border:none;border-radius:50%;padding:0}.newsletterDesigner input[type=color]::-moz-color-swatch{border:none;border-radius:50%;padding:0}.newsletterDesigner .filteredBlockContainer:has(>div:empty){display:none!important}.newsletterDesigner .PreviewPanel{display:flex;flex-direction:column;height:100%;justify-content:center;align-items:start;width:100%;flex:1;flex-grow:9}.newsletterDesigner .PreviewPanelHeader{display:flex;width:100%;height:4.5rem;justify-content:space-between;padding-left:1rem;padding-right:1rem;align-items:center;border-bottom:1px solid var(--border)}.newsletterDesigner .PreviewPanelBody .PreviewPanelBodyScreen{border:1px solid var(--border)!important}.newsletterDesigner .BreakpointToggleGroup{display:flex;justify-content:center;align-items:center}.newsletterDesigner .BreakpointToggleGroup .active,.newsletterDesigner .BreakpointToggleGroup .active:hover{background-color:var(--foreground);color:var(--background)}.newsletterDesigner .button{display:inline-flex;align-items:center;justify-content:center;min-height:1.5rem;white-space:nowrap;border:var(--border) 1px solid;padding:.75rem;border-radius:var(--radius);text-align:center;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.newsletterDesigner .button:focus-visible{outline:none;box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring)}.newsletterDesigner .button:disabled{pointer-events:none;opacity:.5}.newsletterDesigner .button:active{transform:scale(.93)}.newsletterDesigner .button--default{background-color:var(--foreground);color:var(--background)}.newsletterDesigner .button--default:hover{background-color:color-mix(in srgb,var(--foreground) 80%,var(--background))}.newsletterDesigner .button--primary{background-color:var(--primary);color:var(--primary-foreground)}.newsletterDesigner .button--primary:hover{background-color:color-mix(in srgb,var(--primary) 80%,black)}.newsletterDesigner .button--destructive{background-color:var(--destructive);color:var(--destructive-foreground)}.newsletterDesigner .button--destructive:hover{background-color:color-mix(in srgb,var(--destructive) 80%,black)}.newsletterDesigner .button--outline{border:1px solid var(--input);background-color:var(--background);color:var(--foreground)}.newsletterDesigner .button--outline:hover{background-color:var(--accent);color:var(--accent-foreground)}.newsletterDesigner .button--secondary{background-color:var(--secondary);color:var(--secondary-foreground)}.newsletterDesigner .button--secondary:hover{background-color:color-mix(in srgb,var(--secondary) 80%,black)}.newsletterDesigner .button--ghost:hover{background-color:var(--accent);color:var(--accent-foreground)}.newsletterDesigner .button--link{color:var(--primary);text-decoration:underline;text-underline-offset:4px}.newsletterDesigner .button--link:hover{text-decoration:none}.newsletterDesigner .button--sm{height:2.25rem;padding:0 .75rem}.newsletterDesigner .button--md{height:2.5rem;padding:0 1rem}.newsletterDesigner .button--lg{height:2.75rem;padding:0 2rem}.newsletterDesigner .button--icon{height:2.5rem;width:2.5rem;padding:.5rem}.newsletterDesigner .CollapsibleRoot{width:100%}.newsletterDesigner .CollapsibleIconButton{font-family:inherit;border-radius:100%;padding:.35rem;height:2rem;width:2rem;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #0000001a}.newsletterDesigner .CollapsibleRepository{background-color:var(--background);border-radius:var(--radius);margin:.3rem 0;padding:.6rem 1rem;box-shadow:0 2px .6rem #0000001a}.newsletterDesigner .CollapsibleContent{overflow:hidden}.newsletterDesigner .CollapsibleContent[data-state=open]{animation:slideDown .3s ease-out}.newsletterDesigner .CollapsibleContent[data-state=closed]{animation:slideUp .3s ease-out}@keyframes slideDown{0%{height:0}to{height:var(--radix-collapsible-content-height)}}@keyframes slideUp{0%{height:var(--radix-collapsible-content-height)}to{height:0}}.newsletterDesigner .PopoverContent{border-radius:var(--radius);padding:20px;width:260px;background-color:var(--popover);border:1px solid var(--border);margin-top:.5rem;color:var(--popover-foreground);box-shadow:0 10px 38px -10px #16171859,0 10px 20px -15px #16171833;animation-duration:.4s;animation-timing-function:cubic-bezier(.16,1,.3,1);will-change:transform,opacity}.newsletterDesigner .PopoverContent:focus{box-shadow:0 10px 38px -10px #16171859,0 10px 20px -15px #16171833,0 0 0 2px var(--ring)}.newsletterDesigner .PopoverContent[data-state=open][data-side=top]{animation-name:slideDownAndFade}.newsletterDesigner .PopoverContent[data-state=open][data-side=right]{animation-name:slideLeftAndFade}.newsletterDesigner .PopoverContent[data-state=open][data-side=bottom]{animation-name:slideUpAndFade}.newsletterDesigner .PopoverContent[data-state=open][data-side=left]{animation-name:slideRightAndFade}.newsletterDesigner .PopoverArrow{fill:var(--popover)}.newsletterDesigner .PopoverClose{font-family:inherit;border-radius:100%;height:25px;width:25px;display:inline-flex;align-items:center;justify-content:center;color:var(--popover-foreground);position:absolute;top:5px;right:5px}.newsletterDesigner .PopoverClose:hover{background-color:var(--muted)}.newsletterDesigner .PopoverClose:focus{box-shadow:0 0 0 2px var(--ring)}@keyframes slideUpAndFade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes slideRightAndFade{0%{opacity:0;transform:translate(-2px)}to{opacity:1;transform:translate(0)}}@keyframes slideDownAndFade{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes slideLeftAndFade{0%{opacity:0;transform:translate(2px)}to{opacity:1;transform:translate(0)}}.newsletterDesigner .DialogOverlay{background-color:#00000080;position:fixed;top:0;right:0;bottom:0;left:0;animation:overlayShow .15s cubic-bezier(.16,1,.3,1)}.newsletterDesigner .DialogContent{background-color:var(--popover);border-radius:var(--radius);box-shadow:0 10px 38px -10px #16171859,0 10px 20px -15px #16171833;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90vw;max-width:450px;max-height:85vh;padding:25px;animation:contentShow .15s cubic-bezier(.16,1,.3,1);color:var(--popover-foreground);border:1px solid var(--border)}.newsletterDesigner .DialogContent:focus{outline:none}.newsletterDesigner .DialogHeader{display:flex;flex-direction:column;space-y:1.5;text-align:center}.newsletterDesigner .DialogFooter{display:flex;flex-direction:column-reverse;sm-flex-direction:row;sm-justify-content:flex-end;sm-space-x:2}.newsletterDesigner .DialogTitle{margin:0;font-weight:500;color:var(--popover-foreground);font-size:17px}.newsletterDesigner .DialogDescription{margin:10px 0 20px;color:var(--muted-foreground);font-size:15px;line-height:1.5}.newsletterDesigner .DialogClose{position:absolute;top:10px;right:10px}@keyframes overlayShow{0%{opacity:0}to{opacity:1}}@keyframes contentShow{0%{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.newsletterDesigner .ScrollAreaRoot{width:200px;height:225px;border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 10px var(--black-a7);--scrollbar-size: 10px}.newsletterDesigner .ScrollAreaViewport{width:100%;height:100%;border-radius:inherit}.newsletterDesigner .ScrollAreaViewport>div{display:flex!important;flex-direction:column}.newsletterDesigner .ScrollAreaViewport>div .field{display:flex;flex-direction:column}.newsletterDesigner .ScrollAreaScrollbar{display:flex;-webkit-user-select:none;user-select:none;touch-action:none;padding:2px;background:var(--muted);transition:background .16s ease-out}.newsletterDesigner .ScrollAreaScrollbar:hover{background:var(--muted-foreground)}.newsletterDesigner .ScrollAreaScrollbar.ScrollAreaScrollbarVertical{width:var(--scrollbar-size)}.newsletterDesigner .ScrollAreaScrollbar.ScrollAreaScrollbarHorizontal{flex-direction:column;height:var(--scrollbar-size)}.newsletterDesigner .ScrollAreaThumb{flex:1;background:var(--muted-foreground);border-radius:var(--scrollbar-size);position:relative}.newsletterDesigner .ScrollAreaThumb:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;min-width:44px;min-height:44px}.newsletterDesigner .ScrollAreaCorner{background:var(--muted-foreground)}.newsletterDesigner .rrLogo{color:var(--foreground);width:3rem;height:3rem}.newsletterDesigner .TagSelector{display:flex;flex-direction:column;gap:1rem;padding:1rem;background-color:var(--card);border-radius:var(--radius);box-shadow:0 2px 4px #0000001a}.newsletterDesigner .TagSelector .search-container{width:100%}.newsletterDesigner .TagSelector .search-container .search-input{width:100%;padding:.5rem;font-size:1rem;border:1px solid var(--border);border-radius:var(--radius);background-color:var(--background);color:var(--foreground);transition:all .2s ease}.newsletterDesigner .TagSelector .search-container .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}.newsletterDesigner .TagSelector .tags{display:flex;flex-wrap:wrap;gap:.5rem;max-height:5rem;overflow:visible}@media (min-width: 768px){.newsletterDesigner .TagSelector .tags{max-height:6rem}}.newsletterDesigner .TagSelector .tags .tag{font-size:.8rem;font-weight:300;color:var(--muted-foreground);background-color:var(--secondary);padding:.2rem .5rem;border-radius:var(--radius);cursor:pointer;transition:all .2s ease}.newsletterDesigner .TagSelector .tags .tag:hover{background-color:color-mix(in srgb,var(--primary) 60%,var(--background));color:var(--primary-foreground)}.newsletterDesigner .TagSelector .tags .tag.template{background-color:var(--accent);border:1px solid var(--primary);color:var(--accent-foreground)}.newsletterDesigner .TagSelector .tags .tag.active{background-color:var(--primary);color:var(--primary-foreground)}.newsletterDesigner .TagSelector .modules h4{font-size:1.2rem;margin-bottom:.5rem}.newsletterDesigner .TagSelector .modules .module{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background-color:var(--secondary);border-radius:var(--radius);margin-bottom:.5rem}.newsletterDesigner .TagSelector .modules .module span{font-size:.9rem}.newsletterDesigner .TagSelector .modules .module button{background-color:var(--destructive);color:var(--destructive-foreground);border:none;padding:.2rem .5rem;border-radius:var(--radius);cursor:pointer;transition:all .2s ease}.newsletterDesigner .TagSelector .modules .module button:hover{background-color:color-mix(in srgb,var(--destructive) 80%,black)}.newsletterDesigner .switch-container{display:flex;align-items:center}.newsletterDesigner .switch-label{font-size:.875rem;line-height:1.25rem;padding-right:.5rem;-webkit-user-select:none;user-select:none}.newsletterDesigner .switch-root{width:3rem;height:1.7rem;background-color:var(--background);border:1px solid var(--border);border-radius:9999px;position:relative;box-shadow:0 2px 10px var(--black-a7);-webkit-tap-highlight-color:rgba(0,0,0,0);transition:background-color .2s ease}.newsletterDesigner .switch-root:focus-visible{outline:none;box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring)}.newsletterDesigner .switch-root[data-state=checked]{background-color:var(--primary)}.newsletterDesigner .switch-thumb{display:block;width:21px;height:21px;background-color:var(--foreground);border-radius:9999px;box-shadow:0 2px 2px var(--black-a7);transition:transform .1s;transform:translate(-.25rem);will-change:transform}.newsletterDesigner .switch-thumb[data-state=checked]{background-color:var(--background);transform:translate(1rem)}.newsletterDesigner .toggle{all:unset;display:inline-flex;align-items:center;justify-content:center;height:1rem;width:1rem;padding:.5rem;border-radius:var(--radius);background-color:var(--background);color:var(--foreground);font-size:.1rem;line-height:1;transition:background-color .15s ease-in-out,color .15s ease-in-out,box-shadow .15s ease-in-out}.newsletterDesigner .toggle:hover{background-color:var(--accent)}.newsletterDesigner .toggle[data-state=on]{background-color:var(--foreground);color:var(--background)}.newsletterDesigner .toggle:focus-visible{outline:none;box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring)}.newsletterDesigner .toggle:disabled{pointer-events:none;opacity:.5}.newsletterDesigner .toggle:active{transform:scale(.93)}.newsletterDesigner .editor-text-bold{font-weight:700}.newsletterDesigner .editor-text-italic{font-style:italic}.newsletterDesigner .editor-text-underline{text-decoration:underline}.newsletterDesigner .editor-text-strikethrough{text-decoration:line-through}.newsletterDesigner .editor-text-underlineStrikethrough{text-decoration:underline line-through}.newsletterDesigner .editor-link{color:#216fdb;text-decoration:none}.newsletterDesigner .editor-toolbar{width:100%;padding:.25rem;border:1px solid var(--border);border-bottom:none;border-radius:var(--radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.newsletterDesigner code{resize:vertical;color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius)}.newsletterDesigner .codeEditorInput{font-family:Menlo,Consolas,Monaco,monospace;background-color:var(--card);color:var(--foreground);border-radius:var(--radius);width:100%;min-height:100px;max-height:80vh}.newsletterDesigner *,.newsletterDesigner *:before,.newsletterDesigner *:after{box-sizing:border-box}.newsletterDesigner{background-color:var(--background);color:var(--foreground);font-family:Roboto,Helvetica Neue,Arial,sans-serif;display:flex;height:100dvh;line-height:1.6;font-size:16px}.newsletterDesigner .container{display:flex;width:100%;max-width:100%;flex-direction:column}@media (min-width: 768px){.newsletterDesigner .container{flex-direction:row}}.newsletterDesigner .border-base{border-color:var(--border)}.newsletterDesigner .border-input{border-color:var(--input)}.newsletterDesigner .ring-base{--tw-ring-color: var(--ring)}.newsletterDesigner .rounded-base{border-radius:var(--radius)}.newsletterDesigner .hover\\:background-primary:hover{background-color:var(--primary)}.newsletterDesigner .hover\\:background-secondary:hover{background-color:var(--secondary)}.newsletterDesigner .hover\\:background-accent:hover{background-color:var(--accent)}.newsletterDesigner .hover\\:background-destructive:hover{background-color:var(--destructive)}.newsletterDesigner .focus\\:background-primary:focus{background-color:var(--primary)}.newsletterDesigner .focus\\:background-secondary:focus{background-color:var(--secondary)}.newsletterDesigner .focus\\:background-accent:focus{background-color:var(--accent)}.newsletterDesigner .focus\\:background-destructive:focus{background-color:var(--destructive)}.newsletterDesigner .active\\:background-primary:active{background-color:var(--primary)}.newsletterDesigner .active\\:background-secondary:active{background-color:var(--secondary)}.newsletterDesigner .active\\:background-accent:active{background-color:var(--accent)}.newsletterDesigner .active\\:background-destructive:active{background-color:var(--destructive)}.newsletterDesigner h1,.newsletterDesigner h2,.newsletterDesigner h3,.newsletterDesigner h4,.newsletterDesigner h5,.newsletterDesigner h6{font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-weight:300}.newsletterDesigner h1{font-size:2.5em}.newsletterDesigner h2{font-size:2.25em}.newsletterDesigner h3{font-size:2em}.newsletterDesigner h4{font-size:1.75em}.newsletterDesigner h5{font-size:1.5em}.newsletterDesigner h6{font-size:1.25em}.newsletterDesigner p,.newsletterDesigner ul,.newsletterDesigner ol{max-width:70ch}@media (min-width: 768px){.newsletterDesigner body{font-size:14px}.newsletterDesigner h1{font-size:2em}.newsletterDesigner h2{font-size:1.75em}.newsletterDesigner h3{font-size:1.5em}.newsletterDesigner h4{font-size:1.25em}.newsletterDesigner h5,.newsletterDesigner h6{font-size:1em}}.PlaygroundEditorTheme__textCode{background-color:var(--card);padding:1px .25rem;font-family:Menlo,Consolas,Monaco,monospace;font-size:94%}.PlaygroundEditorTheme__code{background-color:var(--card);font-family:Menlo,Consolas,Monaco,monospace;display:block;padding:8px 8px 8px 52px;line-height:1.53;font-size:13px;margin:0 0 8px;overflow-x:auto;position:relative;-moz-tab-size:2;tab-size:2;color:var(--foreground);min-width:max-content}.PlaygroundEditorTheme__code:before{content:attr(data-gutter);position:absolute;background-color:var(--muted);left:0;top:0;border-right:1px solid var(--border);padding:8px;color:var(--muted-foreground);white-space:pre-wrap;text-align:right;min-width:25px}.PlaygroundEditorTheme__nestedListItem:before,.PlaygroundEditorTheme__nestedListItem:after{display:none}.PlaygroundEditorTheme__tokenComment{color:var(--muted-foreground)}.PlaygroundEditorTheme__tokenPunctuation{color:var(--accent-foreground)}.PlaygroundEditorTheme__tokenProperty{color:var(--primary)}.PlaygroundEditorTheme__tokenSelector{color:var(--destructive)}.PlaygroundEditorTheme__tokenOperator{color:var(--primary)}.PlaygroundEditorTheme__tokenAttr{color:var(--secondary)}.PlaygroundEditorTheme__tokenVariable{color:var(--destructive)}.PlaygroundEditorTheme__tokenFunction{color:var(--primary)}
`,document.head.appendChild(Si);function Rl(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const $=Rl(N),Bd=Rl(Ve);var fo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ce(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function PP(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}),r}var Wd={exports:{}},Qs={};/**
* @license React
* react-jsx-runtime.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Oy;function AP(){if(Oy)return Qs;Oy=1;var e=N,t=Symbol.for("react.element"),r=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,i=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function s(a,l,c){var u,f={},d=null,h=null;c!==void 0&&(d=""+c),l.key!==void 0&&(d=""+l.key),l.ref!==void 0&&(h=l.ref);for(u in l)n.call(l,u)&&!o.hasOwnProperty(u)&&(f[u]=l[u]);if(a&&a.defaultProps)for(u in l=a.defaultProps,l)f[u]===void 0&&(f[u]=l[u]);return{$$typeof:t,type:a,key:d,ref:h,props:f,_owner:i.current}}return Qs.Fragment=r,Qs.jsx=s,Qs.jsxs=s,Qs}var Zs={};/**
* @license React
* react-jsx-runtime.development.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Ny;function kP(){return Ny||(Ny=1,process.env.NODE_ENV!=="production"&&function(){var e=N,t=Symbol.for("react.element"),r=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),a=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),u=Symbol.for("react.suspense_list"),f=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),h=Symbol.for("react.offscreen"),p=Symbol.iterator,g="@@iterator";function m(O){if(O===null||typeof O!="object")return null;var Y=p&&O[p]||O[g];return typeof Y=="function"?Y:null}var v=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function y(O){{for(var Y=arguments.length,te=new Array(Y>1?Y-1:0),pe=1;pe<Y;pe++)te[pe-1]=arguments[pe];b("error",O,te)}}function b(O,Y,te){{var pe=v.ReactDebugCurrentFrame,Ie=pe.getStackAddendum();Ie!==""&&(Y+="%s",te=te.concat([Ie]));var Ue=te.map(function(xe){return String(xe)});Ue.unshift("Warning: "+Y),Function.prototype.apply.call(console[O],console,Ue)}}var w=!1,S=!1,x=!1,C=!1,P=!1,E;E=Symbol.for("react.module.reference");function A(O){return!!(typeof O=="string"||typeof O=="function"||O===n||O===o||P||O===i||O===c||O===u||C||O===h||w||S||x||typeof O=="object"&&O!==null&&(O.$$typeof===d||O.$$typeof===f||O.$$typeof===s||O.$$typeof===a||O.$$typeof===l||O.$$typeof===E||O.getModuleId!==void 0))}function F(O,Y,te){var pe=O.displayName;if(pe)return pe;var Ie=Y.displayName||Y.name||"";return Ie!==""?te+"("+Ie+")":te}function M(O){return O.displayName||"Context"}function q(O){if(O==null)return null;if(typeof O.tag=="number"&&y("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof O=="function")return O.displayName||O.name||null;if(typeof O=="string")return O;switch(O){case n:return"Fragment";case r:return"Portal";case o:return"Profiler";case i:return"StrictMode";case c:return"Suspense";case u:return"SuspenseList"}if(typeof O=="object")switch(O.$$typeof){case a:var Y=O;return M(Y)+".Consumer";case s:var te=O;return M(te._context)+".Provider";case l:return F(O,O.render,"ForwardRef");case f:var pe=O.displayName||null;return pe!==null?pe:q(O.type)||"Memo";case d:{var Ie=O,Ue=Ie._payload,xe=Ie._init;try{return q(xe(Ue))}catch{return null}}}return null}var U=Object.assign,I=0,z,G,H,V,W,D,B;function j(){}j.__reactDisabledLog=!0;function T(){{if(I===0){z=console.log,G=console.info,H=console.warn,V=console.error,W=console.group,D=console.groupCollapsed,B=console.groupEnd;var O={configurable:!0,enumerable:!0,value:j,writable:!0};Object.defineProperties(console,{info:O,log:O,warn:O,error:O,group:O,groupCollapsed:O,groupEnd:O})}I++}}function k(){{if(I--,I===0){var O={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:U({},O,{value:z}),info:U({},O,{value:G}),warn:U({},O,{value:H}),error:U({},O,{value:V}),group:U({},O,{value:W}),groupCollapsed:U({},O,{value:D}),groupEnd:U({},O,{value:B})})}I<0&&y("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var L=v.ReactCurrentDispatcher,Q;function Z(O,Y,te){{if(Q===void 0)try{throw Error()}catch(Ie){var pe=Ie.stack.trim().match(/\n( *(at )?)/);Q=pe&&pe[1]||""}return`
`+Q+O}}var ue=!1,de;{var Se=typeof WeakMap=="function"?WeakMap:Map;de=new Se}function mt(O,Y){if(!O||ue)return"";{var te=de.get(O);if(te!==void 0)return te}var pe;ue=!0;var Ie=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var Ue;Ue=L.current,L.current=null,T();try{if(Y){var xe=function(){throw Error()};if(Object.defineProperty(xe.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(xe,[])}catch(Gt){pe=Gt}Reflect.construct(O,[],xe)}else{try{xe.call()}catch(Gt){pe=Gt}O.call(xe.prototype)}}else{try{throw Error()}catch(Gt){pe=Gt}O()}}catch(Gt){if(Gt&&pe&&typeof Gt.stack=="string"){for(var _e=Gt.stack.split(`
`),Mt=pe.stack.split(`
`),rt=_e.length-1,nt=Mt.length-1;rt>=1&&nt>=0&&_e[rt]!==Mt[nt];)nt--;for(;rt>=1&&nt>=0;rt--,nt--)if(_e[rt]!==Mt[nt]){if(rt!==1||nt!==1)do if(rt--,nt--,nt<0||_e[rt]!==Mt[nt]){var mr=`
`+_e[rt].replace(" at new "," at ");return O.displayName&&mr.includes("<anonymous>")&&(mr=mr.replace("<anonymous>",O.displayName)),typeof O=="function"&&de.set(O,mr),mr}while(rt>=1&&nt>=0);break}}}finally{ue=!1,L.current=Ue,k(),Error.prepareStackTrace=Ie}var Xs=O?O.displayName||O.name:"",co=Xs?Z(Xs):"";return typeof O=="function"&&de.set(O,co),co}function ct(O,Y,te){return mt(O,!1)}function se(O){var Y=O.prototype;return!!(Y&&Y.isReactComponent)}function Pt(O,Y,te){if(O==null)return"";if(typeof O=="function")return mt(O,se(O));if(typeof O=="string")return Z(O);switch(O){case c:return Z("Suspense");case u:return Z("SuspenseList")}if(typeof O=="object")switch(O.$$typeof){case l:return ct(O.render);case f:return Pt(O.type,Y,te);case d:{var pe=O,Ie=pe._payload,Ue=pe._init;try{return Pt(Ue(Ie),Y,te)}catch{}}}return""}var gt=Object.prototype.hasOwnProperty,Kt={},At=v.ReactDebugCurrentFrame;function jt(O){if(O){var Y=O._owner,te=Pt(O.type,O._source,Y?Y.type:null);At.setExtraStackFrame(te)}else At.setExtraStackFrame(null)}function ao(O,Y,te,pe,Ie){{var Ue=Function.call.bind(gt);for(var xe in O)if(Ue(O,xe)){var _e=void 0;try{if(typeof O[xe]!="function"){var Mt=Error((pe||"React class")+": "+te+" type `"+xe+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof O[xe]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw Mt.name="Invariant Violation",Mt}_e=O[xe](Y,xe,pe,te,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(rt){_e=rt}_e&&!(_e instanceof Error)&&(jt(Ie),y("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",pe||"React class",te,xe,typeof _e),jt(null)),_e instanceof Error&&!(_e.message in Kt)&&(Kt[_e.message]=!0,jt(Ie),y("Failed %s type: %s",te,_e.message),jt(null))}}}var Gs=Array.isArray;function lo(O){return Gs(O)}function kl(O){{var Y=typeof Symbol=="function"&&Symbol.toStringTag,te=Y&&O[Symbol.toStringTag]||O.constructor.name||"Object";return te}}function Ol(O){try{return Ys(O),!1}catch{return!0}}function Ys(O){return""+O}function _i(O){if(Ol(O))return y("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",kl(O)),Ys(O)}var Nn=v.ReactCurrentOwner,Md={key:!0,ref:!0,__self:!0,__source:!0},Nl,Ld,yy;yy={};function Mie(O){if(gt.call(O,"ref")){var Y=Object.getOwnPropertyDescriptor(O,"ref").get;if(Y&&Y.isReactWarning)return!1}return O.ref!==void 0}function Lie(O){if(gt.call(O,"key")){var Y=Object.getOwnPropertyDescriptor(O,"key").get;if(Y&&Y.isReactWarning)return!1}return O.key!==void 0}function Uie(O,Y){if(typeof O.ref=="string"&&Nn.current&&Y&&Nn.current.stateNode!==Y){var te=q(Nn.current.type);yy[te]||(y('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',q(Nn.current.type),O.ref),yy[te]=!0)}}function zie(O,Y){{var te=function(){Nl||(Nl=!0,y("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",Y))};te.isReactWarning=!0,Object.defineProperty(O,"key",{get:te,configurable:!0})}}function Bie(O,Y){{var te=function(){Ld||(Ld=!0,y("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",Y))};te.isReactWarning=!0,Object.defineProperty(O,"ref",{get:te,configurable:!0})}}var Wie=function(O,Y,te,pe,Ie,Ue,xe){var _e={$$typeof:t,type:O,key:Y,ref:te,props:xe,_owner:Ue};return _e._store={},Object.defineProperty(_e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(_e,"_self",{configurable:!1,enumerable:!1,writable:!1,value:pe}),Object.defineProperty(_e,"_source",{configurable:!1,enumerable:!1,writable:!1,value:Ie}),Object.freeze&&(Object.freeze(_e.props),Object.freeze(_e)),_e};function Vie(O,Y,te,pe,Ie){{var Ue,xe={},_e=null,Mt=null;te!==void 0&&(_i(te),_e=""+te),Lie(Y)&&(_i(Y.key),_e=""+Y.key),Mie(Y)&&(Mt=Y.ref,Uie(Y,Ie));for(Ue in Y)gt.call(Y,Ue)&&!Md.hasOwnProperty(Ue)&&(xe[Ue]=Y[Ue]);if(O&&O.defaultProps){var rt=O.defaultProps;for(Ue in rt)xe[Ue]===void 0&&(xe[Ue]=rt[Ue])}if(_e||Mt){var nt=typeof O=="function"?O.displayName||O.name||"Unknown":O;_e&&zie(xe,nt),Mt&&Bie(xe,nt)}return Wie(O,_e,Mt,Ie,pe,Nn.current,xe)}}var vy=v.ReactCurrentOwner,dP=v.ReactDebugCurrentFrame;function Js(O){if(O){var Y=O._owner,te=Pt(O.type,O._source,Y?Y.type:null);dP.setExtraStackFrame(te)}else dP.setExtraStackFrame(null)}var by;by=!1;function _y(O){return typeof O=="object"&&O!==null&&O.$$typeof===t}function fP(){{if(vy.current){var O=q(vy.current.type);if(O)return`
Check the render method of \``+O+"`."}return""}}function qie(O){return""}var hP={};function Hie(O){{var Y=fP();if(!Y){var te=typeof O=="string"?O:O.displayName||O.name;te&&(Y=`
Check the top-level render call using <`+te+">.")}return Y}}function pP(O,Y){{if(!O._store||O._store.validated||O.key!=null)return;O._store.validated=!0;var te=Hie(Y);if(hP[te])return;hP[te]=!0;var pe="";O&&O._owner&&O._owner!==vy.current&&(pe=" It was passed a child from "+q(O._owner.type)+"."),Js(O),y('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',te,pe),Js(null)}}function mP(O,Y){{if(typeof O!="object")return;if(lo(O))for(var te=0;te<O.length;te++){var pe=O[te];_y(pe)&&pP(pe,Y)}else if(_y(O))O._store&&(O._store.validated=!0);else if(O){var Ie=m(O);if(typeof Ie=="function"&&Ie!==O.entries)for(var Ue=Ie.call(O),xe;!(xe=Ue.next()).done;)_y(xe.value)&&pP(xe.value,Y)}}}function Kie(O){{var Y=O.type;if(Y==null||typeof Y=="string")return;var te;if(typeof Y=="function")te=Y.propTypes;else if(typeof Y=="object"&&(Y.$$typeof===l||Y.$$typeof===f))te=Y.propTypes;else return;if(te){var pe=q(Y);ao(te,O.props,"prop",pe,O)}else if(Y.PropTypes!==void 0&&!by){by=!0;var Ie=q(Y);y("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",Ie||"Unknown")}typeof Y.getDefaultProps=="function"&&!Y.getDefaultProps.isReactClassApproved&&y("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Gie(O){{for(var Y=Object.keys(O.props),te=0;te<Y.length;te++){var pe=Y[te];if(pe!=="children"&&pe!=="key"){Js(O),y("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",pe),Js(null);break}}O.ref!==null&&(Js(O),y("Invalid attribute `ref` supplied to `React.Fragment`."),Js(null))}}var gP={};function yP(O,Y,te,pe,Ie,Ue){{var xe=A(O);if(!xe){var _e="";(O===void 0||typeof O=="object"&&O!==null&&Object.keys(O).length===0)&&(_e+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var Mt=qie();Mt?_e+=Mt:_e+=fP();var rt;O===null?rt="null":lo(O)?rt="array":O!==void 0&&O.$$typeof===t?(rt="<"+(q(O.type)||"Unknown")+" />",_e=" Did you accidentally export a JSX literal instead of a component?"):rt=typeof O,y("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",rt,_e)}var nt=Vie(O,Y,te,Ie,Ue);if(nt==null)return nt;if(xe){var mr=Y.children;if(mr!==void 0)if(pe)if(lo(mr)){for(var Xs=0;Xs<mr.length;Xs++)mP(mr[Xs],O);Object.freeze&&Object.freeze(mr)}else y("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else mP(mr,O)}if(gt.call(Y,"key")){var co=q(O),Gt=Object.keys(Y).filter(function(eoe){return eoe!=="key"}),wy=Gt.length>0?"{key: someKey, "+Gt.join(": ..., ")+": ...}":"{key: someKey}";if(!gP[co+wy]){var Zie=Gt.length>0?"{"+Gt.join(": ..., ")+": ...}":"{}";y(`A props object containing a "key" prop is being spread into JSX:
let props = %s;
<%s {...props} />
React keys must be passed directly to JSX without using spread:
let props = %s;
<%s key={someKey} {...props} />`,wy,co,Zie,co),gP[co+wy]=!0}}return O===n?Gie(nt):Kie(nt),nt}}function Yie(O,Y,te){return yP(O,Y,te,!0)}function Jie(O,Y,te){return yP(O,Y,te,!1)}var Xie=Jie,Qie=Yie;Zs.Fragment=n,Zs.jsx=Xie,Zs.jsxs=Qie}()),Zs}process.env.NODE_ENV==="production"?Wd.exports=AP():Wd.exports=kP();var _=Wd.exports;function ze(e,t,{checkForDefaultPrevented:r=!0}={}){return function(i){if(e==null||e(i),r===!1||!i.defaultPrevented)return t==null?void 0:t(i)}}function ea(e,t=[]){let r=[];function n(o,s){const a=$.createContext(s),l=r.length;r=[...r,s];function c(f){const{scope:d,children:h,...p}=f,g=(d==null?void 0:d[e][l])||a,m=$.useMemo(()=>p,Object.values(p));return _.jsx(g.Provider,{value:m,children:h})}function u(f,d){const h=(d==null?void 0:d[e][l])||a,p=$.useContext(h);if(p)return p;if(s!==void 0)return s;throw new Error(`\`${f}\` must be used within \`${o}\``)}return c.displayName=o+"Provider",[c,u]}const i=()=>{const o=r.map(s=>$.createContext(s));return function(a){const l=(a==null?void 0:a[e])||o;return $.useMemo(()=>({[`__scope${e}`]:{...a,[e]:l}}),[a,l])}};return i.scopeName=e,[n,OP(i,...t)]}function OP(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(o){const s=n.reduce((a,{useScope:l,scopeName:c})=>{const f=l(o)[`__scope${c}`];return{...a,...f}},{});return $.useMemo(()=>({[`__scope${t.scopeName}`]:s}),[s])}};return r.scopeName=t.scopeName,r}function yt(e){const t=$.useRef(e);return $.useEffect(()=>{t.current=e}),$.useMemo(()=>(...r)=>{var n;return(n=t.current)==null?void 0:n.call(t,...r)},[])}function ta({prop:e,defaultProp:t,onChange:r=()=>{}}){const[n,i]=NP({defaultProp:t,onChange:r}),o=e!==void 0,s=o?e:n,a=yt(r),l=$.useCallback(c=>{if(o){const f=typeof c=="function"?c(e):c;f!==e&&a(f)}else i(c)},[o,e,i,a]);return[s,l]}function NP({defaultProp:e,onChange:t}){const r=$.useState(e),[n]=r,i=$.useRef(n),o=yt(t);return $.useEffect(()=>{i.current!==n&&(o(n),i.current=n)},[n,i,o]),r}var tr=globalThis!=null&&globalThis.document?$.useLayoutEffect:()=>{};function DP(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function Dy(...e){return t=>e.forEach(r=>DP(r,t))}function Je(...e){return $.useCallback(Dy(...e),e)}var Il=$.forwardRef((e,t)=>{const{children:r,...n}=e,i=$.Children.toArray(r),o=i.find(IP);if(o){const s=o.props.children,a=i.map(l=>l===o?$.Children.count(s)>1?$.Children.only(null):$.isValidElement(s)?s.props.children:null:l);return _.jsx(Vd,{...n,ref:t,children:$.isValidElement(s)?$.cloneElement(s,void 0,a):null})}return _.jsx(Vd,{...n,ref:t,children:r})});Il.displayName="Slot";var Vd=$.forwardRef((e,t)=>{const{children:r,...n}=e;if($.isValidElement(r)){const i=jP(r);return $.cloneElement(r,{...FP(n,r.props),ref:t?Dy(t,i):i})}return $.Children.count(r)>1?$.Children.only(null):null});Vd.displayName="SlotClone";var RP=({children:e})=>_.jsx(_.Fragment,{children:e});function IP(e){return $.isValidElement(e)&&e.type===RP}function FP(e,t){const r={...t};for(const n in t){const i=e[n],o=t[n];/^on[A-Z]/.test(n)?i&&o?r[n]=(...a)=>{o(...a),i(...a)}:i&&(r[n]=i):n==="style"?r[n]={...i,...o}:n==="className"&&(r[n]=[i,o].filter(Boolean).join(" "))}return{...e,...r}}function jP(e){var n,i;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var MP=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Fe=MP.reduce((e,t)=>{const r=$.forwardRef((n,i)=>{const{asChild:o,...s}=n,a=o?Il:t;