@texturehq/edges 5.21.0 → 5.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
- import*as Oe from'react';import Oe__default,{memo,createContext,forwardRef,useRef,useCallback,useEffect,useState,Component}from'react';import {Modal,Dialog,Form,Link,Button,ModalOverlay,composeRenderProps}from'react-aria-components';import {twMerge}from'tailwind-merge';import {jsxs,Fragment,jsx}from'react/jsx-runtime';import*as tt from'@phosphor-icons/react';var Mt=Object.defineProperty;var Et=(e,t,r)=>t in e?Mt(e,t,{enumerable:true,configurable:true,writable:true,value:r}):e[t]=r;var Be=(e,t,r)=>Et(e,typeof t!="symbol"?t+"":t,r);function Xe(e,t=false){let[r,o]=useState(t);return useEffect(()=>{if(typeof window>"u")return;let n=window.matchMedia(e);o(n.matches);let a=s=>{o(s.matches);};return n.addEventListener("change",a),()=>{n.removeEventListener("change",a);}},[e]),r}function ve(e=true){let[t,r]=useState(null);return useEffect(()=>{if(!e){r(null);return}let o=typeof window<"u"?window.visualViewport:null;if(!o)return;let n=()=>{let a=Math.max(0,window.innerHeight-o.height-(o.offsetTop??0));r({height:o.height,keyboardOffset:a});};return n(),o.addEventListener("resize",n),o.addEventListener("scroll",n),()=>{o.removeEventListener("resize",n),o.removeEventListener("scroll",n);}},[e]),t}function ye(...e){return e.filter(Boolean).join(" ")}var F={displayXl:"text-display-xl",displayLg:"text-display-lg",displayMd:"text-display-md",displaySm:"text-display-sm",headingXl:"text-heading-xl",headingLg:"text-heading-lg",headingMd:"text-heading-md",headingSm:"text-heading-sm",bodyLg:"text-body-lg",bodyMd:"text-body-md",bodySm:"text-body-sm",labelLg:"text-label-lg",labelMd:"text-label-md",labelSm:"text-label-sm",code:"text-code",agent:"text-agent"};function Qe(e,...t){return ye(F[e],...t)}function Ke(e=false){return `${e?"outline outline-1 outline-border-input data-[focus-visible]:outline-2 data-[focus-visible]:outline-action-default data-[focus-visible]:outline-offset-0 invalid:outline-2 invalid:outline-feedback-error-border group-invalid:outline-2 group-invalid:outline-feedback-error-border forced-colors:focus:outline-[Highlight] forced-colors:focus:outline-2 forced-colors:focus:outline-offset-2":"outline-none data-[focus-visible]:outline data-[focus-visible]:outline-2 data-[focus-visible]:outline-action-default data-[focus-visible]:outline-offset-0 invalid:outline-2 invalid:outline-feedback-error-border group-invalid:outline-2 group-invalid:outline-feedback-error-border forced-colors:focus:outline-[Highlight] forced-colors:focus:outline-2 forced-colors:focus:outline-offset-2"}`}var ee={sm:{text:"text-[length:var(--control-text-sm)]",height:"h-[var(--control-sm-height)]",padding:"px-[var(--control-padding-sm)]",paddingY:"py-[var(--control-gap-sm)]",gap:"gap-[var(--control-gap-sm)]"},md:{text:"text-[length:var(--control-text-md)]",height:"h-[var(--control-md-height)]",padding:"px-[var(--control-padding-md)]",paddingY:"py-[var(--control-gap-md)]",gap:"gap-[var(--control-gap-md)]"},lg:{text:"text-[length:var(--control-text-lg)]",height:"h-[var(--control-lg-height)]",padding:"px-[var(--control-padding-lg)]",paddingY:"py-[var(--control-gap-lg)]",gap:"gap-[var(--control-gap-lg)]"},xl:{text:"text-[length:var(--control-text-xl)]",height:"h-[var(--control-xl-height)]",padding:"px-[var(--control-padding-xl)]",paddingY:"py-[var(--control-gap-xl)]",gap:"gap-[var(--control-gap-xl)]"}};function g(e,t){let r=forwardRef(({size:o=24,color:n="currentColor",className:a,mirrored:s,alt:i,...l},c)=>{let p=!!i||"aria-label"in l;return jsx("svg",{ref:c,xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 256 256",fill:n,className:a,transform:s?"scale(-1, 1)":void 0,"aria-hidden":p?void 0:true,role:p?"img":void 0,"aria-label":i,...l,children:t})});return r.displayName=e,r}var we=()=>jsxs(Fragment,{children:[jsx("path",{d:"M12 128h44M200 128h44",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"}),jsx("circle",{cx:"76",cy:"128",r:"20",fill:"none",stroke:"currentColor",strokeWidth:"16"}),jsx("circle",{cx:"180",cy:"128",r:"20",fill:"none",stroke:"currentColor",strokeWidth:"16"})]}),Je=()=>jsx("path",{d:"M166 120 88 70",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"}),Ze=()=>jsx("path",{d:"M162 122 92 128",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"}),et=()=>jsxs(Fragment,{children:[jsx("path",{d:"M112 85.7 A32 32 0 1 1 144 85.7",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"}),jsx("circle",{cx:"128",cy:"58",r:"8",fill:"currentColor",stroke:"none"})]}),Wt=g("TextureRecloser",jsxs(Fragment,{children:[jsx("rect",{x:"36",y:"36",width:"184",height:"184",fill:"none",stroke:"currentColor",strokeWidth:"16"}),jsx("text",{x:"128",y:"126",textAnchor:"middle",dominantBaseline:"central",fontFamily:"ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif",fontSize:"140",fontWeight:"700",fill:"currentColor",stroke:"none",children:"R"})]})),Vt=g("TextureFuse",jsx("path",{d:"M20 128h72q18 -84 36 0q18 84 36 0h72",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round",strokeLinejoin:"round"})),$t=g("TextureBreaker",jsxs(Fragment,{children:[jsx("rect",{x:"36",y:"36",width:"184",height:"184",fill:"none",stroke:"currentColor",strokeWidth:"16"}),jsx("text",{x:"128",y:"126",textAnchor:"middle",dominantBaseline:"central",fontFamily:"ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif",fontSize:"140",fontWeight:"700",fill:"currentColor",stroke:"none",children:"B"})]})),Yt=g("TextureSource",jsxs(Fragment,{children:[jsx("path",{d:"M4 128h40M212 128h40",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"}),jsx("circle",{cx:"128",cy:"128",r:"84",fill:"none",stroke:"currentColor",strokeWidth:"16"}),jsx("path",{d:"M92 128q18 -84 36 0q18 84 36 0",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round",strokeLinejoin:"round"})]})),jt=g("TextureCapacitor",jsx(Fragment,{children:jsx("path",{d:"M4 128h106M146 128h106M110 72v112M146 72v112",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"})})),Ut=g("TextureRegulator",jsxs(Fragment,{children:[jsx("circle",{cx:"128",cy:"128",r:"92",fill:"none",stroke:"currentColor",strokeWidth:"16"}),jsx("text",{x:"128",y:"126",textAnchor:"middle",dominantBaseline:"central",fontFamily:"ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif",fontSize:"128",fontWeight:"700",fill:"currentColor",stroke:"none",children:"V"})]})),Gt=g("TextureSwitch",jsxs(Fragment,{children:[jsx(we,{}),jsx(Je,{})]})),qt=g("TextureSwitchClosed",jsxs(Fragment,{children:[jsx(we,{}),jsx(Ze,{})]})),Xt=g("TextureOpenPoint",jsxs(Fragment,{children:[jsx("path",{d:"M112 52 C 74 92, 74 164, 112 204",fill:"none",stroke:"currentColor",strokeWidth:"18",strokeLinecap:"round"}),jsx("path",{d:"M144 52 C 182 92, 182 164, 144 204",fill:"none",stroke:"currentColor",strokeWidth:"18",strokeLinecap:"round"})]})),Qt=g("TextureSectionalizerOpen",jsxs(Fragment,{children:[jsx(we,{}),jsx(Je,{}),jsx(et,{})]})),Kt=g("TextureSectionalizerClosed",jsxs(Fragment,{children:[jsx(we,{}),jsx(Ze,{}),jsx(et,{})]})),Jt=g("TextureTransformer",jsxs(Fragment,{children:[jsx("path",{d:"M40 64H88A22 22 0 0 1 88 108A22 22 0 0 1 88 152A22 22 0 0 1 88 196H40",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round",strokeLinejoin:"round"}),jsx("path",{d:"M216 64H168A22 22 0 0 0 168 108A22 22 0 0 0 168 152A22 22 0 0 0 168 196H216",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round",strokeLinejoin:"round"})]})),ie={1:[128],2:[110,146],3:[92,128,164]},Me=e=>jsx("path",{d:`M24 ${e}h208`,fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"},e),Ee=e=>jsx("path",{d:`M24 ${e}h208`,fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round",pathLength:100,strokeDasharray:"20 20"},e),Zt=g("TextureSinglePhaseOverheadLine",jsx(Fragment,{children:ie[1].map(Me)})),er=g("TextureTwoPhaseOverheadLine",jsx(Fragment,{children:ie[2].map(Me)})),tr=g("TextureThreePhaseOverheadLine",jsx(Fragment,{children:ie[3].map(Me)})),rr=g("TextureSinglePhaseUndergroundLine",jsx(Fragment,{children:ie[1].map(Ee)})),or=g("TextureTwoPhaseUndergroundLine",jsx(Fragment,{children:ie[2].map(Ee)})),nr=g("TextureThreePhaseUndergroundLine",jsx(Fragment,{children:ie[3].map(Ee)})),ar=g("TextureSupportStructure",jsx("circle",{cx:"128",cy:"128",r:"40",fill:"currentColor",stroke:"none"})),Ce={TextureRecloser:Wt,TextureFuse:Vt,TextureBreaker:$t,TextureSource:Yt,TextureCapacitor:jt,TextureRegulator:Ut,TextureSwitch:Gt,TextureSwitchClosed:qt,TextureOpenPoint:Xt,TextureSectionalizerOpen:Qt,TextureSectionalizerClosed:Kt,TextureTransformer:Jt,TextureSinglePhaseOverheadLine:Zt,TextureTwoPhaseOverheadLine:er,TextureThreePhaseOverheadLine:tr,TextureSinglePhaseUndergroundLine:rr,TextureTwoPhaseUndergroundLine:or,TextureThreePhaseUndergroundLine:nr,TextureSupportStructure:ar};if(process.env.NODE_ENV==="development")for(let e of Object.keys(Ce))e in tt&&console.error(`Custom icon "${e}" collides with a Phosphor icon of the same name. Rename it (use the "Texture" prefix) to keep the icon namespace unambiguous.`);var se={xs:16,sm:20,md:24,lg:32,xl:40,"2xl":48},D=memo(({name:e,size:t="md",color:r,weight:o="regular",className:n,ariaLabel:a,...s})=>{let i=Ce[e]??tt[e];if(!i)return process.env.NODE_ENV==="development"&&console.error(`Icon "${e}" not found in @phosphor-icons/react or the custom icon registry`),null;let l=typeof t=="string"&&t in se?se[t]:t,c=twMerge("inline-block flex-shrink-0",!r&&"text-current",n);return jsx(i,{...s,size:l,color:r,weight:o,className:c,"aria-label":a||`${e} icon`,"data-testid":`icon-${e}`})});D.displayName="Icon";var ir=memo(({variant:e="subtle",shape:t="square",containerSize:r,containerClassName:o,size:n="md",className:a,name:s,color:i,weight:l,ariaLabel:c,ref:p,...u})=>{let x=typeof n=="string"&&n in se?se[n]:n,C=r?typeof r=="string"&&r in se?se[r]:r:x*1.75,v=twMerge("inline-flex items-center justify-center flex-shrink-0",t==="circle"?"rounded-full":"rounded-lg",e==="subtle"&&"bg-background-muted",e==="solid"&&"bg-action-brand text-[color:var(--color-action-brand-text)]",e==="outline"&&"border-2 border-current",o);return jsx("div",{className:v,style:{width:C,height:C},children:jsx(D,{...u,name:s,size:n,color:i,weight:l,className:a,ariaLabel:c})})});ir.displayName="IconWithContainer";var dr="flex font-medium justify-center items-center gap-2 text-center transition rounded-[var(--control-border-radius)] whitespace-nowrap box-border",cr="bg-action-primary text-[color:var(--color-action-primary-text)] hover:bg-action-primary-hover forced-colors:bg-[ButtonText] forced-colors:text-[ButtonFace] border-2 border-transparent",ur={primary:cr,secondary:"bg-action-secondary text-[color:var(--color-action-secondary-text)] border-2 border-border-muted hover:bg-action-secondary-hover forced-colors:border-[ButtonBorder] forced-colors:bg-[ButtonFace] forced-colors:text-[ButtonText]",ghost:"border-none text-text-primary hover:bg-text-primary/5 forced-colors:text-[ButtonText] forced-colors:hover:bg-[ButtonFace]",destructive:"bg-transparent text-feedback-error-text border-2 border-border-muted hover:bg-feedback-error-background/50 forced-colors:border-[ButtonBorder] forced-colors:bg-[ButtonFace] forced-colors:text-[Mark]",link:"!text-action-primary hover:text-action-primary/90 hover:underline hover:decoration-2 hover:underline-offset-4",icon:"border-none text-text-primary hover:bg-background-hover hover:text-text-primary forced-colors:text-[ButtonText] forced-colors:hover:bg-[ButtonFace] p-1 flex-shrink-0 rounded-[var(--control-border-radius)]",unstyled:"bg-transparent"},at={full:"w-full",default:"w-fit"},pr="opacity-50 cursor-not-allowed pointer-events-none",fr="opacity-100 cursor-pointer",mr={"top-right":"-right-2 -top-2","top-left":"-left-2 -top-2","bottom-right":"-right-2 -bottom-2","bottom-left":"-left-2 -bottom-2"},hr={primary:"bg-action-primary text-[color:var(--color-action-primary-text)]",destructive:"bg-feedback-error-border text-text-inverse"};function gr(e){return !e||e==="default"||e==="brand"?"primary":e}function br(e){let{variant:t="primary",size:r="md",isDisabled:o,fullWidth:n=false,isLoading:a=false}=e,s=gr(t),i=s==="unstyled"?"":`${dr} ${ur[s]}`;s!=="unstyled"&&(i+=` ${ee[r].text} ${ee[r].height} ${ee[r].padding} ${ee[r].gap}`),o||a?i+=` ${pr}`:i+=` ${fr}`,n?i+=` ${at.full}`:i+=` ${at.default}`;let l=s==="primary"?"focus-visible:outline-action-primary":void 0;return [i,Ke(),l].filter(Boolean).join(" ")}function $(e){let{icon:t,children:r,isLoading:o=false,loadingText:n,loadingIndicator:a,size:s="md",iconPosition:i="left",iconWeight:l,href:c,className:p,badgeNumber:u,badgeVariant:x="primary",badgePosition:C="top-right",style:v,target:T,rel:B,...N}=e,m=t?jsx(D,{name:t,size:s,weight:l}):null,k=jsxs(Fragment,{children:[i==="left"&&m,typeof r=="function"?null:r,i==="right"&&m]}),R=jsxs("div",{className:"relative inline-flex items-center justify-center",children:[jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:a||jsx(D,{name:"CircleNotch",size:s,className:"animate-spin","aria-hidden":"true"})}),jsx("div",{className:"invisible","aria-hidden":"true",children:k}),n&&jsx("span",{className:"sr-only",role:"status","aria-live":"polite",children:n})]}),y=(u??0)>0,P=twMerge(br(e),p),U=c?{href:c,target:T,rel:B,...N}:{};if(c){let{onPress:O,onPressStart:E,onPressEnd:ce,onPressChange:G,onPressUp:oe,onAuxClick:ue,onContextMenu:ne,onDoubleClick:W,...H}=N;Object.assign(U,H);}let M=c?jsx(Link,{...U,...o&&{"aria-busy":true},style:y?void 0:v,className:P,children:o?R:typeof r=="function"?(function(O){return jsxs(Fragment,{children:[i==="left"&&m,r(O),i==="right"&&m]})}):k}):jsx(Button,{...N,...o&&{"aria-busy":true},style:y?void 0:v,className:P,children:o?R:typeof r=="function"?(function(O){return jsxs(Fragment,{children:[i==="left"&&m,r(O),i==="right"&&m]})}):k});return y?jsxs("div",{className:twMerge("relative flex",p),style:v,children:[M,jsx("span",{className:`absolute ${mr[C]} flex h-5 w-5 items-center justify-center rounded-full ${hr[x]} text-xs font-medium`,"aria-label":`${u} items`,children:u})]}):M}function Ae({action:e,defaultVariant:t,defaultSize:r="lg"}){let o=!!e.formId;return jsx($,{type:o?"submit":"button",form:o?e.formId:void 0,size:e.size||r,variant:e.variant||t,onPress:o?void 0:e.onPress,isLoading:e.isLoading,isDisabled:e.isDisabled,children:e.label})}function X({primaryAction:e,secondaryAction:t,tertiaryAction:r,footerContent:o}){let n=e||t||r;return !n&&!o?null:jsxs("div",{className:`flex w-full flex-col items-center justify-center border-t p-4 ${o?"h-28":""}`,children:[o&&jsx("div",{className:"flex h-10 justify-center",children:o}),n&&jsxs("div",{className:"flex w-full items-center justify-between gap-3",children:[jsx("div",{children:r&&jsx(Ae,{action:r,defaultVariant:"destructive"})}),jsxs("div",{className:"flex items-center gap-3",children:[t&&jsx(Ae,{action:t,defaultVariant:"secondary"}),e&&jsx(Ae,{action:e,defaultVariant:"primary"})]})]})]})}var xr={heading:{sm:F.headingSm,md:F.headingMd,lg:F.headingLg,xl:F.headingXl},display:{sm:F.displaySm,md:F.displayMd,lg:F.displayLg,xl:F.displayXl}},vr={page:"h-16 leading-[62px]"};function te({tag:e="h1",variant:t="heading",size:r="lg",height:o,className:n="",children:a}){let s=r==="xs"?"sm":r,i=xr[t][s],l=o?vr[o]:"";return jsx(e,{className:ye(i,"text-text-primary",l,n),children:a})}var I=({title:e,onClose:t,hideCloseIcon:r=false,titleAlign:o="left",hasBackArrow:n=false,onBack:a,headerContent:s})=>jsxs("div",{className:twMerge("relative flex h-16 w-full flex-shrink-0 items-center justify-between border-b px-6",e&&"border-b",o==="center"?"justify-center":""),children:[n&&jsx($,{variant:"icon",onPress:a,className:"absolute left-6","aria-label":"Go back",children:jsx(D,{name:"CaretLeft","data-testid":"back-arrow"})}),s||jsxs(Fragment,{children:[e&&jsx(te,{size:"xs",children:e}),t&&!r&&jsx($,{variant:"icon",onPress:t,"aria-label":"Close dialog",children:jsx(D,{name:"X","data-testid":"close-button"})})]})]});var kr=createContext(false);createContext(null);function lt({children:e}){return jsx(kr.Provider,{value:true,children:e})}var L=({width:e,height:t,variant:r="rect",animation:o="pulse",gradient:n=false,flex:a=false,stack:s,responsive:i,delay:l=0,adjustAnimationSpeedBasedOnWidth:c=false,ariaLabel:p,className:u,"data-testid":x})=>{let[C,v]=useState(l===0);if(useEffect(()=>{if(l>0){let y=setTimeout(()=>v(true),l);return ()=>clearTimeout(y)}},[l]),!C)return null;let T=n?"bg-gradient-to-r from-[var(--color-skeleton-base)] via-[var(--color-skeleton-highlight)] to-[var(--color-skeleton-base)]":"bg-[var(--color-skeleton-base)]",B=c&&e?(()=>{let y=typeof e=="number"?e:parseFloat(String(e));return isNaN(y)?"":`animation-duration-[${Math.max(.8,y/100)}s]`})():"",N=o==="pulse"?`animate-pulse ${B}`:o==="wave"?`relative overflow-hidden before:absolute before:inset-0 before:bg-gradient-to-r before:from-transparent before:via-[var(--color-skeleton-wave)] before:to-transparent before:animate-wave ${B}`:"",m="rounded-sm";r==="circle"&&(m="rounded-full"),r==="text"&&(m="h-4 w-full rounded-sm");let k=a?"flex-1 min-w-0":"",R=i?Object.entries(i).map(([y,P])=>`${y}:w-[${P}]`).join(" "):"";return s?jsx("div",{className:"space-y-2","data-testid":x,children:s.map((y,P)=>jsx("div",{className:twMerge(T,N,m,k,R,u),style:{width:y,height:t}},P))}):jsx("div",{className:twMerge(T,N,m,k,R,u),style:{width:e,height:t},role:"presentation","aria-hidden":!p,"aria-label":p??void 0,"data-testid":x})};var Tr={outlined:"bg-background-surface border border-border-default",elevated:"bg-background-surface border-0 shadow-md",filled:"bg-background-muted border-0",ghost:"bg-transparent border-0 shadow-none"},Sr="rounded-lg",We={square:"aspect-square",video:"aspect-video",wide:"aspect-[2/1]",auto:""},Ir={start:"justify-start",end:"justify-end",center:"justify-center",between:"justify-between"};function ct(e){return Oe__default.Children.toArray(e).some(t=>Oe__default.isValidElement(t)?t.type===Oe__default.Fragment?ct(t.props.children):t.type===Ve&&!!t.props.title:false)}function Y({variant:e="outlined",className:t,children:r,isLoading:o=false,layout:n="default"}){let a=ct(r)?jsx(lt,{children:r}):r;return jsx("div",{className:twMerge("w-full overflow-hidden",Tr[e],Sr,n==="flex"&&"flex flex-col",t),"data-testid":"card",children:o?jsx(L,{width:"100%",height:"100%",className:"rounded-none"}):a})}function Ve({title:e,subtitle:t,actions:r,leading:o,className:n,isLoading:a=false}){return a?jsxs("div",{className:twMerge("p-6 pb-4",n),children:[jsxs("div",{className:"flex justify-between items-start mb-1",children:[jsx(L,{width:120,height:20}),jsx(L,{width:24,height:24})]}),t&&jsx(L,{width:200,height:16})]}):!e&&!t&&!r&&!o?null:jsx("div",{className:twMerge("p-6 pb-4",n),children:jsxs("div",{className:"flex justify-between items-start gap-4",children:[o&&jsx("div",{className:"flex-shrink-0",children:o}),jsxs("div",{className:"min-w-0 flex-1",children:[e&&jsx("div",{className:"mb-1",children:typeof e=="string"?jsx(te,{tag:"h3",size:"sm",className:"text-text-primary",children:e}):e}),t&&jsx("div",{className:Qe("bodySm","text-text-secondary"),children:t})]}),r&&jsx("div",{className:"flex-shrink-0",children:r})]})})}function ut({src:e,alt:t,aspectRatio:r="auto",className:o,children:n,isLoading:a=false}){return a?jsx("div",{className:twMerge("bg-background-muted",We[r],o),children:jsx(L,{width:"100%",height:"100%"})}):n?jsx("div",{className:twMerge("overflow-hidden",We[r],o),children:n}):e?jsx("div",{className:twMerge("overflow-hidden",We[r],o),children:jsx("img",{src:e,alt:t||"",className:"w-full h-full object-cover",loading:"lazy"})}):null}function pt({className:e,children:t,isLoading:r=false,fill:o=false,style:n}){let s=e?.match(/p(?:t|b|l|r|x|y)?-(?:\d+(?:\.\d+)?|px|\[.+?\])/)?"":"px-6 py-4";return r?jsx("div",{className:twMerge(s,o&&"flex-1 flex flex-col min-h-0",e),style:n,children:jsxs("div",{className:"space-y-2",children:[jsx(L,{width:"100%",height:16}),jsx(L,{width:"80%",height:16}),jsx(L,{width:"60%",height:16})]})}):t?jsx("div",{className:twMerge(s,"text-text-primary",o&&"flex-1 flex flex-col min-h-0",e),style:n,children:t}):null}function ft({className:e,children:t,align:r="end",isLoading:o=false}){return o?jsxs("div",{className:twMerge("px-6 py-4 flex gap-2 justify-end",e),children:[jsx(L,{width:80,height:32}),jsx(L,{width:60,height:32})]}):t?jsx("div",{className:twMerge("px-6 py-4 flex items-center gap-2",Ir[r],e),children:t}):null}Y.Header=Ve;Y.Media=ut;Y.Content=pt;Y.Footer=ft;var _=class extends Component{constructor(){super(...arguments);Be(this,"state",{hasError:false});Be(this,"handleRetry",()=>{this.setState({hasError:false,error:void 0}),typeof window<"u"&&window.location.reload();});}static getDerivedStateFromError(r){return {hasError:true,error:r}}componentDidCatch(r,o){console.error("Error Boundary caught an error:",r,o);}render(){return this.state.hasError?this.props.fallback?this.props.fallback:jsxs(Y,{children:[this.props.title&&jsx(Y.Header,{title:this.props.title}),jsx(Y.Content,{children:jsxs("div",{className:"flex flex-col items-center justify-center gap-4","data-testid":"error-boundary",children:[jsx("p",{className:"text-feedback-error-text",children:this.state.error?.message||"Something went wrong"}),jsx("button",{className:"rounded bg-action-default px-4 py-2 text-[color:var(--color-action-default-text)] hover:bg-action-default-hover",onClick:this.handleRetry,children:"Retry"})]})})]}):this.props.children}};function Q({transparent:e=false,className:t,children:r,...o}){return jsx(ModalOverlay,{...o,className:composeRenderProps(t,(n,a)=>twMerge("fixed inset-0 z-50","outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0",e?"bg-transparent":["bg-gradient-to-br from-background-modal/20 via-background-modal/15 to-background-modal/20","backdrop-blur-[2px]","supports-[backdrop-filter]:bg-background-modal/15"].join(" "),a.isEntering&&["animate-in fade-in","duration-300 ease-out"].join(" "),a.isExiting&&["animate-out fade-out","duration-200 ease-in"].join(" "),n)),children:r})}var Ar=.3,_r=.5;function Re({children:e,title:t,headerContent:r,titleAlign:o="left",hideCloseIcon:n=false,hasBackArrow:a=false,onBack:s,isOpen:i,onClose:l,isDismissable:c=true,transparentOverlay:p=false,primaryAction:u,secondaryAction:x,footerContent:C,maxHeight:v="80vh",height:T,maxWidth:B="640px",contentPadding:N=true,showHandle:m=true,animationVariant:k="scale",className:R}){let[y,P]=useState(false),[U,M]=useState(0),[O,E]=useState(false),ce=ve(i),G=ce?.height??null,oe=ce?.keyboardOffset??0,ue=useRef(null),ne=useRef(null),W=useRef(null),H=useRef({isDragging:false,startY:0,startTime:0,pointerId:null});useEffect(()=>{if(i){let h=setTimeout(()=>{P(true),setTimeout(()=>P(false),600);},400);return ()=>clearTimeout(h)}},[i]),useEffect(()=>{i||(M(0),E(false),H.current={isDragging:false,startY:0,startTime:0,pointerId:null});},[i]),useEffect(()=>{let h=ne.current;if(!h||!i)return;let V=null,ae=me=>{let Z=me.target;Z&&["INPUT","TEXTAREA","SELECT"].includes(Z.tagName)&&(V&&clearTimeout(V),V=setTimeout(()=>{Z.scrollIntoView({block:"nearest",behavior:"smooth"});},320));};return h.addEventListener("focusin",ae),()=>{h.removeEventListener("focusin",ae),V&&clearTimeout(V);}},[i]);let K=useCallback(h=>{c&&(h.pointerType!=="touch"&&h.pointerType!=="pen"||(W.current&&(clearTimeout(W.current),W.current=null),H.current={isDragging:true,startY:h.clientY,startTime:Date.now(),pointerId:h.pointerId},E(false),h.currentTarget.setPointerCapture(h.pointerId)));},[c]),J=useCallback(h=>{let{isDragging:V,startY:ae,pointerId:me}=H.current;if(!V||h.pointerId!==me)return;let Z=h.clientY-ae;M(Math.max(0,Z));},[]),pe=useCallback(h=>{let{isDragging:V,startY:ae,startTime:me,pointerId:Z}=H.current;if(!V||h.pointerId!==Z)return;let Le=h.clientY-ae,Dt=Date.now()-me,Lt=Le/Dt;H.current={isDragging:false,startY:0,startTime:0,pointerId:null};let Bt=(ue.current?.getBoundingClientRect().height??0)*Ar;(Le>Bt||Lt>_r&&Le>50)&&c?(l?.(),M(0)):(E(true),M(0),W.current=setTimeout(()=>{E(false),W.current=null;},200));},[c,l]);if(!i)return null;let De=t||r,fe=u||x||C;return jsx(_,{children:jsx(Q,{isOpen:i,onOpenChange:h=>{h||l?.();},isDismissable:c,transparent:p,style:{paddingBottom:oe>0?`${oe}px`:void 0,transition:"padding-bottom 0.25s ease-out"},className:"flex items-end justify-center p-0 sm:p-4",children:jsx(Modal,{className:"w-full max-w-full p-0 sm:p-2 outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0",isDismissable:c,children:jsx("div",{ref:ue,className:twMerge("w-full",O&&"transition-transform duration-200"),style:{transform:U>0?`translateY(${U}px)`:void 0},children:jsxs(Dialog,{className:twMerge("relative flex w-full flex-col overflow-hidden","bg-background-surface","shadow-2xl shadow-black/30 dark:shadow-black/60","border-t border-x border-border-default/40","outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0 focus:shadow-none","origin-bottom",k==="scale"?"animate-[tray-enter-scale_400ms_cubic-bezier(0.32,0.72,0,1)]":"animate-[tray-enter_400ms_cubic-bezier(0.32,0.72,0,1)]",k==="scale"?"data-[exiting]:animate-[tray-exit-scale_250ms_cubic-bezier(0.32,0,0.67,0)]":"data-[exiting]:animate-[tray-exit_250ms_cubic-bezier(0.32,0,0.67,0)]",R),style:{maxWidth:B,...T?{height:T}:{maxHeight:/\d/.test(v)?G!==null?`min(${v}, ${Math.max(G-8,0)}px, 100dvh)`:`min(${v}, 100dvh)`:v}},children:[m&&jsx("div",{className:"absolute top-0 left-0 right-0 h-8 z-10 flex justify-center items-start pt-2 touch-none cursor-grab active:cursor-grabbing",onPointerDown:K,onPointerMove:J,onPointerUp:pe,onPointerCancel:pe,children:jsx("div",{className:twMerge("h-1 w-12 rounded-full bg-border-muted transition-all duration-300","hover:bg-border-default hover:w-16",y&&"animate-[handle-wiggle_0.6s_ease-in-out]")})}),De&&(a?jsx(I,{title:t,headerContent:r,titleAlign:o,hideCloseIcon:n||!l,hasBackArrow:true,onBack:s??(()=>{}),onClose:l||(()=>{})}):jsx(I,{title:t,headerContent:r,titleAlign:o,hideCloseIcon:n||!l,onClose:l||(()=>{})})),jsx("div",{ref:ne,className:twMerge("flex-1 min-h-0 overflow-y-auto overscroll-contain",N?"p-4":"p-0"),children:e}),fe&&jsx(X,{primaryAction:u,secondaryAction:x,footerContent:C})]})})})})})}Re.displayName="Tray";function Ge({isOpen:e,onClose:t,title:r,headerContent:o,titleAlign:n="left",hideCloseIcon:a=false,hasBackArrow:s=false,onBack:i,children:l,primaryAction:c,secondaryAction:p,tertiaryAction:u,footerContent:x,transparentOverlay:C=false,maxWidth:v="600px",minWidth:T="400px",maxHeight:B="85vh",height:N,mobileMaxHeight:m="90vh",mobileHeight:k,contentPadding:R=true,className:y}){let P=Xe("(max-width: 767px)"),U=ve(P&&e===void 0),M=U?.height??null,O=U?.keyboardOffset??0,E=useRef(null),ce=useCallback(()=>{E.current&&E.current.scrollTop!==0&&(E.current.scrollTop=0);},[]),G=useRef(null),oe=useRef(null);useEffect(()=>{let K=oe.current;if(!K||!P)return;let J=null,pe=De=>{let fe=De.target;fe&&["INPUT","TEXTAREA","SELECT"].includes(fe.tagName)&&(J&&clearTimeout(J),J=setTimeout(()=>{fe.scrollIntoView({block:"nearest",behavior:"smooth"});},320));};return K.addEventListener("focusin",pe),()=>{K.removeEventListener("focusin",pe),J&&clearTimeout(J);}},[P]);let ue=useCallback(()=>{G.current&&G.current.scrollTop!==0&&(G.current.scrollTop=0);},[]);if(e===false)return null;let ne=r||o,W=c||p||u||x,H=e!==void 0;return P?H?jsx(Re,{isOpen:e,onClose:t,title:r,headerContent:o,titleAlign:n,hideCloseIcon:a,hasBackArrow:s,onBack:i,primaryAction:c,secondaryAction:p,footerContent:x,transparentOverlay:C,maxHeight:m,height:k,maxWidth:v,contentPadding:R,showHandle:true,animationVariant:"scale",className:y,children:l}):jsx(_,{children:jsx(Q,{isDismissable:true,transparent:C,style:{paddingBottom:O>0?`${O}px`:void 0,transition:"padding-bottom 0.25s ease-out"},className:"flex items-end justify-center",children:jsx(Modal,{className:"w-full p-0 outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0",children:jsxs(Dialog,{ref:E,onScroll:ce,className:twMerge("relative flex w-full flex-col","bg-background-surface","shadow-2xl shadow-black/20","border-t border-x border-border-default/40","rounded-t-xl","overflow-hidden","animate-in slide-in-from-bottom","duration-300 ease-out","data-[exiting]:animate-out data-[exiting]:slide-out-to-bottom","data-[exiting]:duration-200 data-[exiting]:ease-in",y),style:{...k?{height:k}:{maxHeight:/\d/.test(m)?M!==null?`min(${m}, ${Math.max(M-8,0)}px, 100dvh)`:`min(${m}, 100dvh)`:m}},children:[jsx("div",{className:"flex justify-center pt-2",children:jsx("div",{className:"h-1.5 w-12 rounded-full bg-border-muted"})}),ne&&(s?jsx(I,{title:r,headerContent:o,titleAlign:n,hideCloseIcon:a||!t,hasBackArrow:true,onBack:i,onClose:t||(()=>{})}):jsx(I,{title:r,headerContent:o,titleAlign:n,hideCloseIcon:a||!t,onClose:t||(()=>{})})),jsx("div",{ref:oe,className:twMerge("flex-1 min-h-0 overflow-y-auto overscroll-contain",R?"px-6 py-6":"p-0"),children:l}),W&&jsx(X,{primaryAction:c,secondaryAction:p,tertiaryAction:u,footerContent:x})]})})})}):jsx(_,{children:jsx(Q,{...H?{isOpen:e,onOpenChange:K=>{!K&&t&&t();}}:{},isDismissable:true,transparent:C,className:"flex items-center justify-center",children:jsx(Modal,{className:"w-full p-4 outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0",style:{maxWidth:v},children:jsxs(Dialog,{ref:G,onScroll:ue,className:twMerge("relative flex w-full flex-col","bg-background-surface","shadow-2xl shadow-black/20","border border-border-default/50","rounded-md","overflow-hidden","outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0","animate-in fade-in zoom-in-96 slide-in-from-bottom-2","duration-300 ease-out","data-[exiting]:animate-out data-[exiting]:fade-out data-[exiting]:zoom-out-95","data-[exiting]:duration-200 data-[exiting]:ease-in",y),style:{minWidth:T,...N?{height:N}:{maxHeight:B}},children:[ne&&(s?jsx(I,{title:r,headerContent:o,titleAlign:n,hideCloseIcon:a||!t,hasBackArrow:true,onBack:i,onClose:t||(()=>{})}):jsx(I,{title:r,headerContent:o,titleAlign:n,hideCloseIcon:a||!t,onClose:t||(()=>{})})),jsx("div",{className:twMerge("flex-1 min-h-0 overflow-y-auto",R?"px-6 py-6":"p-0"),children:l}),W&&jsx(X,{primaryAction:c,secondaryAction:p,tertiaryAction:u,footerContent:x})]})})})})}function be(e){return jsx(Form,{validationBehavior:"aria",...e,className:twMerge("flex flex-col gap-6",e.className)})}function Wa({formId:e="dialog-form",onSubmit:t,primaryLabel:r="Save",secondaryLabel:o="Cancel",onCancel:n,primaryVariant:a,secondaryVariant:s="secondary",children:i,title:l,...c}){return jsx(Ge,{title:l,primaryAction:{label:r,onPress:()=>{let u=document.getElementById(e);u&&u.requestSubmit();},variant:a},secondaryAction:n?{label:o,onPress:n,variant:s}:void 0,...c,children:jsx(be,{id:e,onSubmit:t,children:i})})}function Se({children:e,title:t,headerContent:r,titleAlign:o="left",hideCloseIcon:n=false,hasBackArrow:a=false,onBack:s,isOpen:i,slideInFrom:l="right",transparentOverlay:c=false,onClose:p,className:u,primaryAction:x,secondaryAction:C,tertiaryAction:v,footerContent:T,contentPadding:B=true,maxWidth:N="400px"}){if(!i)return null;let m=t||r,k=x||C||v||T;return jsx(_,{children:jsx(Q,{isOpen:i,onOpenChange:R=>!R&&p?.(),isDismissable:true,transparent:c,children:jsx(Modal,{className:"outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0",children:jsxs(Dialog,{className:twMerge("fixed top-0 bottom-0 flex flex-col bg-background-surface shadow-xl overflow-hidden",l==="right"?"right-0":"left-0",l==="right"?"animate-in slide-in-from-right duration-300 ease-out":"animate-in slide-in-from-left duration-300 ease-out","data-[exiting]:animate-out",l==="right"?"data-[exiting]:slide-out-to-right":"data-[exiting]:slide-out-to-left","data-[exiting]:duration-200 data-[exiting]:ease-in","outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-action-default focus-visible:outline-offset-0",u),style:{maxWidth:N,width:"100%"},children:[m&&(a&&s?jsx(I,{title:t,headerContent:r,titleAlign:o,hideCloseIcon:n,hasBackArrow:true,onBack:s,onClose:p}):jsx(I,{title:t,headerContent:r,titleAlign:o,hideCloseIcon:n,onClose:p})),jsx("div",{className:twMerge("flex-1 overflow-y-auto overscroll-contain",B?"px-6 py-6":"p-0"),children:e}),k&&jsx(X,{primaryAction:x,secondaryAction:C,tertiaryAction:v,footerContent:T})]})})})})}Se.displayName="Drawer";function ri({formId:e="drawer-form",onSubmit:t,primaryLabel:r="Save",secondaryLabel:o="Cancel",onCancel:n,primaryVariant:a,secondaryVariant:s="secondary",children:i,...l}){return jsx(Se,{primaryAction:{label:r,onPress:()=>{let p=document.getElementById(e);p&&p.requestSubmit();},variant:a},secondaryAction:n?{label:o,onPress:n,variant:s}:void 0,...l,children:jsx(be,{id:e,onSubmit:t,className:"mt-2",children:i})})}function ii({align:e="end",className:t,...r}){return jsx("div",{...r,className:twMerge("flex gap-2",e==="start"?"justify-start":e==="between"?"justify-between":"justify-end",t)})}var Qr={sm:"gap-2",md:"gap-4",lg:"gap-6"};function Kr(e){if(!e)return "";let t=e.base?`grid-cols-${e.base}`:"",r=e.md?`md:grid-cols-${e.md}`:"",o=e.lg?`lg:grid-cols-${e.lg}`:"";return [t,r,o].filter(Boolean).join(" ")}function ci({cols:e={base:1},gap:t="lg",className:r,...o}){return jsx("div",{...o,className:twMerge("grid",Kr(e),Qr[t],r)})}var eo=Oe__default.forwardRef(({children:e,className:t},r)=>jsx("div",{ref:r,className:twMerge("relative w-full",t),children:e}));eo.displayName="InputWrapper";function kt({size:e="md",className:t,children:r,...o}){return jsx("div",{...o,className:twMerge("leading-[2.25] text-text-secondary",ee[e].text,t),children:r})}function Ci({title:e,description:t,showDivider:r,className:o,children:n,...a}){return jsxs("section",{...a,className:twMerge("flex flex-col",o),children:[(e||t)&&jsxs("div",{className:"flex flex-col gap-1 mb-6",children:[typeof e=="string"?jsx(te,{tag:"h3",size:"sm",children:e}):e,t?jsx(kt,{size:"lg",children:t}):null]}),jsx("div",{className:"flex flex-col gap-6",children:n}),r&&jsx("hr",{className:"mt-2 border-border-muted"})]})}function ki(){return jsx("hr",{className:"border-border-muted"})}function Si({steps:e,currentStepId:t,onStepClick:r,className:o}){let n=e.findIndex(a=>a.id===t);return jsx("nav",{"aria-label":"Progress",className:twMerge("w-full",o),children:jsx("div",{className:"relative mb-12",children:jsx("ol",{className:"relative flex items-start justify-between",children:e.map((a,s)=>{let i=a.id===t,l=s<n,c=r&&(l||i);return jsxs("li",{className:"relative flex flex-col items-center",style:{flex:`1 1 ${100/e.length}%`},children:[jsx("button",{type:"button",disabled:!c,onClick:()=>c&&r?.(a.id),className:twMerge("relative z-10 flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-full border-2 transition-colors bg-background-body",l&&"border-action-primary bg-action-primary text-text-inverse hover:bg-action-primary/90",i&&"border-action-primary bg-background-body text-action-primary",!l&&!i&&"border-border-default bg-background-body text-text-secondary",c&&"cursor-pointer",!c&&"cursor-default"),"aria-current":i?"step":void 0,children:l?jsx(D,{name:"Check",size:20,weight:"bold"}):jsx("span",{className:"text-sm font-semibold",children:s+1})}),s<e.length-1&&jsx("div",{className:"absolute top-5 h-0.5 transition-colors",style:{left:"50%",width:"100%",marginLeft:"20px",backgroundColor:s<n?"var(--color-action-primary)":"var(--color-border-default)"}}),jsxs("div",{className:"mt-3 flex flex-col items-center text-center w-32",children:[jsx("span",{className:twMerge("text-sm font-medium",i&&"text-text-default",l&&"text-text-primary",!i&&!l&&"text-text-secondary"),children:a.title}),a.description&&jsx("span",{className:"mt-1 text-xs text-text-secondary",children:a.description})]})]},a.id)})})})})}function Mi({formId:e,show:t,isSubmitting:r,onCancel:o,primaryLabel:n="Save changes",secondaryLabel:a="Cancel",className:s}){return t?jsx("div",{className:twMerge("fixed inset-x-0 bottom-0 z-40 border-t border-border-muted bg-background-surface/95 backdrop-blur supports-[backdrop-filter]:bg-background-surface/70",s),children:jsxs("div",{className:"mx-auto flex max-w-screen-lg items-center justify-between gap-3 p-3",children:[jsx("div",{className:"text-sm text-text-secondary",children:"You have unsaved changes"}),jsxs("div",{className:"flex gap-2",children:[jsx($,{variant:"secondary",onPress:o,children:a}),jsx($,{type:"submit",form:e,isDisabled:!!r,children:r?"Saving...":n})]})]})}):null}function Fi({when:e,message:t="You have unsaved changes. Leave anyway?"}){return Oe.useEffect(()=>{if(!e)return;let r=o=>(o.preventDefault(),o.returnValue=t,t);return window.addEventListener("beforeunload",r),()=>window.removeEventListener("beforeunload",r)},[e,t]),null}function _i({steps:e,initialStepId:t,canNavigate:r}){if(e.length===0)throw new Error("useWizard: steps array cannot be empty");let[o,n]=Oe.useState(t||e[0].id),a=e.findIndex(u=>u.id===o),s=a>0,i=a<e.length-1,l=async u=>u===o?true:r&&!await r(o,u)?false:(n(u),true);return {steps:e,currentStepId:o,setCurrentStepId:l,next:async()=>!i||a===-1?false:l(e[a+1].id),prev:async()=>!s||a===-1?false:l(e[a-1].id),hasNext:i,hasPrev:s,stepIndex:a}}
2
- export{Wa as DialogForm,ri as DrawerForm,ii as FormActions,ki as FormDivider,ci as FormGrid,Ci as FormSection,Si as FormStepper,Mi as SaveBar,Fi as UnsavedChangesPrompt,_i as useWizard};//# sourceMappingURL=index.js.map
1
+ import*as We from'react';import We__default,{memo,createContext,forwardRef,useRef,useCallback,useEffect,useState,Component}from'react';import {Modal,Dialog,Form,Link,Button,ModalOverlay,composeRenderProps}from'react-aria-components';import {twMerge}from'tailwind-merge';import {jsxs,Fragment,jsx}from'react/jsx-runtime';import*as tt from'@phosphor-icons/react';var Dt=Object.defineProperty;var Bt=(e,t,r)=>t in e?Dt(e,t,{enumerable:true,configurable:true,writable:true,value:r}):e[t]=r;var Ie=(e,t,r)=>Bt(e,typeof t!="symbol"?t+"":t,r);function Ze(e,t=false){let[r,o]=useState(t);return useEffect(()=>{if(typeof window>"u")return;let n=window.matchMedia(e);o(n.matches);let a=l=>{o(l.matches);};return n.addEventListener("change",a),()=>{n.removeEventListener("change",a);}},[e]),r}function ve(e=true){let[t,r]=useState(null);return useEffect(()=>{if(!e){r(null);return}let o=typeof window<"u"?window.visualViewport:null;if(!o)return;let n=()=>{let a=Math.max(0,window.innerHeight-o.height-(o.offsetTop??0));r({height:o.height,keyboardOffset:a});};return n(),o.addEventListener("resize",n),o.addEventListener("scroll",n),()=>{o.removeEventListener("resize",n),o.removeEventListener("scroll",n);}},[e]),t}function ye(...e){return e.filter(Boolean).join(" ")}var F={displayXl:"text-display-xl",displayLg:"text-display-lg",displayMd:"text-display-md",displaySm:"text-display-sm",headingXl:"text-heading-xl",headingLg:"text-heading-lg",headingMd:"text-heading-md",headingSm:"text-heading-sm",bodyLg:"text-body-lg",bodyMd:"text-body-md",bodySm:"text-body-sm",labelLg:"text-label-lg",labelMd:"text-label-md",labelSm:"text-label-sm",code:"text-code",agent:"text-agent"};function Xe(e,...t){return ye(F[e],...t)}function Qe(e=false){return `${e?"outline outline-1 outline-border-input data-[focus-visible]:outline-2 data-[focus-visible]:outline-action-default data-[focus-visible]:outline-offset-0 invalid:outline-2 invalid:outline-feedback-error-border group-invalid:outline-2 group-invalid:outline-feedback-error-border forced-colors:focus:outline-[Highlight] forced-colors:focus:outline-2 forced-colors:focus:outline-offset-2":"outline-none data-[focus-visible]:outline data-[focus-visible]:outline-2 data-[focus-visible]:outline-action-default data-[focus-visible]:outline-offset-0 invalid:outline-2 invalid:outline-feedback-error-border group-invalid:outline-2 group-invalid:outline-feedback-error-border forced-colors:focus:outline-[Highlight] forced-colors:focus:outline-2 forced-colors:focus:outline-offset-2"}`}var ee={sm:{text:"text-[length:var(--control-text-sm)]",height:"h-[var(--control-sm-height)]",padding:"px-[var(--control-padding-sm)]",paddingY:"py-[var(--control-gap-sm)]",gap:"gap-[var(--control-gap-sm)]"},md:{text:"text-[length:var(--control-text-md)]",height:"h-[var(--control-md-height)]",padding:"px-[var(--control-padding-md)]",paddingY:"py-[var(--control-gap-md)]",gap:"gap-[var(--control-gap-md)]"},lg:{text:"text-[length:var(--control-text-lg)]",height:"h-[var(--control-lg-height)]",padding:"px-[var(--control-padding-lg)]",paddingY:"py-[var(--control-gap-lg)]",gap:"gap-[var(--control-gap-lg)]"},xl:{text:"text-[length:var(--control-text-xl)]",height:"h-[var(--control-xl-height)]",padding:"px-[var(--control-padding-xl)]",paddingY:"py-[var(--control-gap-xl)]",gap:"gap-[var(--control-gap-xl)]"}};function p(e,t){let r=forwardRef(({size:o=24,color:n="currentColor",className:a,mirrored:l,alt:i,weight:d,...c},m)=>{let u=!!i||"aria-label"in c;return jsx("svg",{ref:m,xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 256 256",fill:n,color:n,className:a,transform:l?"scale(-1, 1)":void 0,"aria-hidden":u?void 0:true,role:u?"img":void 0,"aria-label":i,...c,children:t})});return r.displayName=e,r}var ke=()=>jsxs(Fragment,{children:[jsx("path",{d:"M12 128h44M200 128h44",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"}),jsx("circle",{cx:"76",cy:"128",r:"20",fill:"none",stroke:"currentColor",strokeWidth:"16"}),jsx("circle",{cx:"180",cy:"128",r:"20",fill:"none",stroke:"currentColor",strokeWidth:"16"})]}),Ke=()=>jsx("path",{d:"M166 120 88 70",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"}),Je=()=>jsx("path",{d:"M162 122 92 128",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"}),et=()=>jsxs(Fragment,{children:[jsx("path",{d:"M112 85.7 A32 32 0 1 1 144 85.7",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"}),jsx("circle",{cx:"128",cy:"58",r:"8",fill:"currentColor",stroke:"none"})]}),zt=p("TextureRecloser",jsxs(Fragment,{children:[jsx("rect",{x:"36",y:"36",width:"184",height:"184",fill:"none",stroke:"currentColor",strokeWidth:"16"}),jsx("text",{x:"128",y:"126",textAnchor:"middle",dominantBaseline:"central",fontFamily:"ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif",fontSize:"140",fontWeight:"700",fill:"currentColor",stroke:"none",children:"R"})]})),Ot=p("TextureFuse",jsx("path",{d:"M20 128h72q18 -84 36 0q18 84 36 0h72",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round",strokeLinejoin:"round"})),$t=p("TextureBreaker",jsxs(Fragment,{children:[jsx("rect",{x:"36",y:"36",width:"184",height:"184",fill:"none",stroke:"currentColor",strokeWidth:"16"}),jsx("text",{x:"128",y:"126",textAnchor:"middle",dominantBaseline:"central",fontFamily:"ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif",fontSize:"140",fontWeight:"700",fill:"currentColor",stroke:"none",children:"B"})]})),jt=p("TextureSource",jsxs(Fragment,{children:[jsx("path",{d:"M4 128h40M212 128h40",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"}),jsx("circle",{cx:"128",cy:"128",r:"84",fill:"none",stroke:"currentColor",strokeWidth:"16"}),jsx("path",{d:"M92 128q18 -84 36 0q18 84 36 0",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round",strokeLinejoin:"round"})]})),Yt=p("TextureCapacitor",jsx(Fragment,{children:jsx("path",{d:"M4 128h106M146 128h106M110 72v112M146 72v112",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"})})),Ut=p("TextureRegulator",jsxs(Fragment,{children:[jsx("circle",{cx:"128",cy:"128",r:"92",fill:"none",stroke:"currentColor",strokeWidth:"16"}),jsx("text",{x:"128",y:"126",textAnchor:"middle",dominantBaseline:"central",fontFamily:"ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif",fontSize:"128",fontWeight:"700",fill:"currentColor",stroke:"none",children:"V"})]})),Gt=p("TextureSwitch",jsxs(Fragment,{children:[jsx(ke,{}),jsx(Ke,{})]})),qt=p("TextureSwitchClosed",jsxs(Fragment,{children:[jsx(ke,{}),jsx(Je,{})]})),Zt=p("TextureOpenPoint",jsxs(Fragment,{children:[jsx("path",{d:"M112 52 C 74 92, 74 164, 112 204",fill:"none",stroke:"currentColor",strokeWidth:"18",strokeLinecap:"round"}),jsx("path",{d:"M144 52 C 182 92, 182 164, 144 204",fill:"none",stroke:"currentColor",strokeWidth:"18",strokeLinecap:"round"})]})),Xt=p("TextureSectionalizerOpen",jsxs(Fragment,{children:[jsx(ke,{}),jsx(Ke,{}),jsx(et,{})]})),Qt=p("TextureSectionalizerClosed",jsxs(Fragment,{children:[jsx(ke,{}),jsx(Je,{}),jsx(et,{})]})),Kt=p("TextureTransformer",jsxs(Fragment,{children:[jsx("path",{d:"M40 64H88A22 22 0 0 1 88 108A22 22 0 0 1 88 152A22 22 0 0 1 88 196H40",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round",strokeLinejoin:"round"}),jsx("path",{d:"M216 64H168A22 22 0 0 0 168 108A22 22 0 0 0 168 152A22 22 0 0 0 168 196H216",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round",strokeLinejoin:"round"})]})),ie={1:[128],2:[110,146],3:[92,128,164]},De=e=>jsx("path",{d:`M24 ${e}h208`,fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"},e),Be=e=>jsx("path",{d:`M24 ${e}h208`,fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round",pathLength:100,strokeDasharray:"20 20"},e),Jt=p("TextureSinglePhaseOverheadLine",jsx(Fragment,{children:ie[1].map(De)})),er=p("TextureTwoPhaseOverheadLine",jsx(Fragment,{children:ie[2].map(De)})),tr=p("TextureThreePhaseOverheadLine",jsx(Fragment,{children:ie[3].map(De)})),rr=p("TextureSinglePhaseUndergroundLine",jsx(Fragment,{children:ie[1].map(Be)})),or=p("TextureTwoPhaseUndergroundLine",jsx(Fragment,{children:ie[2].map(Be)})),nr=p("TextureThreePhaseUndergroundLine",jsx(Fragment,{children:ie[3].map(Be)})),ar=p("TextureSupportStructure",jsx("circle",{cx:"128",cy:"128",r:"40",fill:"currentColor",stroke:"none"})),ir=p("TextureExplore",jsxs("g",{fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"butt",strokeLinejoin:"miter",strokeMiterlimit:"2",children:[jsx("circle",{cx:"128",cy:"128",r:"96"}),jsx("path",{d:"M170.667 85.333 149.333 149.333 85.333 170.667 106.667 106.667Z M106.667 106.667 149.333 149.333"})]})),sr=p("TextureBoards",jsx("path",{d:"M32 21.333H106.667V128H32Z M149.333 21.333H224V85.333H149.333Z M32 170.667H106.667V234.667H32Z M149.333 128H224V234.667H149.333Z",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"butt",strokeLinejoin:"miter",strokeMiterlimit:"2"})),lr=p("TextureMonitors",jsx("path",{d:"M32 74.667H224 M42.667 202.667H106.667L170.667 117.333H224",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"butt",strokeLinejoin:"miter",strokeMiterlimit:"2"})),dr=p("TextureSurvey",jsx("path",{d:"M 32 74.667 V 32 H 74.667 M 181.333 32 H 224 V 74.667 M 224 181.333 V 224 H 181.333 M 74.667 224 H 32 V 181.333 M 74.667 128 H 96 M 160 128 H 181.333 M 128 74.667 V 96 M 128 160 V 181.333 M 96 128 A 32 32 0 1 0 160 128 A 32 32 0 1 0 96 128",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"butt",strokeLinejoin:"miter",strokeMiterlimit:"2"})),cr=p("TextureSeismic",jsx("path",{d:"M 32 55.36 H 224 M 21.333 162.027 H 53.333 L 74.667 119.36 L 96 204.693 L 117.333 98.027 L 138.667 183.36 L 160 140.693 L 181.333 162.027 H 234.667",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"butt",strokeLinejoin:"miter",strokeMiterlimit:"2"})),ur=p("TextureWaypoint",jsx("path",{d:"M 17.067 180.267 L 49.067 148.267 L 81.067 180.267 L 49.067 212.267 Z M 81.067 180.267 H 102.4 L 166.4 116.267 M 155.733 41.6 H 134.4 C 91.733 41.6 91.733 105.6 134.4 105.6 H 155.733 M 198.4 41.6 H 209.067 C 251.733 41.6 251.733 105.6 209.067 105.6 H 198.4 M 145.067 73.6 H 198.4",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"butt",strokeLinejoin:"miter",strokeMiterlimit:"2"})),pr=p("TextureTerrain",jsx("path",{d:"M 32 32 H 224 V 224 H 32 Z M 32 128 H 224 M 128 32 V 224 M 32 128 L 128 32 M 128 224 L 224 128",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"butt",strokeLinejoin:"miter",strokeMiterlimit:"2"})),fr=p("TextureMagma",jsx("path",{d:"M 32 226.667 V 162.667 C 32 88 128 130.667 128 56 V 34.667 H 224 M 85.333 226.667 V 194.667 C 85.333 130.667 181.333 173.333 181.333 98.667 V 88 H 224 M 138.667 226.667 C 138.667 184 224 194.667 224 141.333",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"butt",strokeLinejoin:"miter",strokeMiterlimit:"2"})),mr=p("TextureGround",jsx("path",{d:"M 32 80 L 128 32 L 224 80 V 176 L 128 224 L 32 176 Z M 32 80 L 85.333 106.667 M 170.667 106.667 L 224 80 M 128 170.667 V 224 M 85.333 106.667 L 128 85.333 L 170.667 106.667 V 149.333 L 128 170.667 L 85.333 149.333 Z M 85.333 106.667 L 128 128 L 170.667 106.667 M 128 128 V 170.667",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"butt",strokeLinejoin:"miter",strokeMiterlimit:"2"})),we={TextureSurvey:dr,TextureSeismic:cr,TextureWaypoint:ur,TextureTerrain:pr,TextureMagma:fr,TextureGround:mr,TextureExplore:ir,TextureBoards:sr,TextureMonitors:lr,TextureRecloser:zt,TextureFuse:Ot,TextureBreaker:$t,TextureSource:jt,TextureCapacitor:Yt,TextureRegulator:Ut,TextureSwitch:Gt,TextureSwitchClosed:qt,TextureOpenPoint:Zt,TextureSectionalizerOpen:Xt,TextureSectionalizerClosed:Qt,TextureTransformer:Kt,TextureSinglePhaseOverheadLine:Jt,TextureTwoPhaseOverheadLine:er,TextureThreePhaseOverheadLine:tr,TextureSinglePhaseUndergroundLine:rr,TextureTwoPhaseUndergroundLine:or,TextureThreePhaseUndergroundLine:nr,TextureSupportStructure:ar};if(process.env.NODE_ENV==="development")for(let e of Object.keys(we))e in tt&&console.error(`Custom icon "${e}" collides with a Phosphor icon of the same name. Rename it (use the "Texture" prefix) to keep the icon namespace unambiguous.`);var se={xs:16,sm:20,md:24,lg:32,xl:40,"2xl":48},L=memo(({name:e,size:t="md",color:r,weight:o="regular",className:n,ariaLabel:a,...l})=>{let i=we[e]??tt[e];if(!i)return process.env.NODE_ENV==="development"&&console.error(`Icon "${e}" not found in @phosphor-icons/react or the custom icon registry`),null;let d=typeof t=="string"&&t in se?se[t]:t,c=twMerge("inline-block flex-shrink-0",!r&&"text-current",n);return jsx(i,{...l,size:d,color:r,weight:o,className:c,"aria-label":a||`${e} icon`,"data-testid":`icon-${e}`})});L.displayName="Icon";var hr=memo(({variant:e="subtle",shape:t="square",containerSize:r,containerClassName:o,size:n="md",className:a,name:l,color:i,weight:d,ariaLabel:c,ref:m,...u})=>{let x=typeof n=="string"&&n in se?se[n]:n,w=r?typeof r=="string"&&r in se?se[r]:r:x*1.75,v=twMerge("inline-flex items-center justify-center flex-shrink-0",t==="circle"?"rounded-full":"rounded-lg",e==="subtle"&&"bg-background-muted",e==="solid"&&"bg-action-brand text-[color:var(--color-action-brand-text)]",e==="outline"&&"border-2 border-current",o);return jsx("div",{className:v,style:{width:w,height:w},children:jsx(L,{...u,name:l,size:n,color:i,weight:d,className:a,ariaLabel:c})})});hr.displayName="IconWithContainer";var xr="flex font-medium justify-center items-center gap-2 text-center transition rounded-[var(--control-border-radius)] whitespace-nowrap box-border",vr="bg-action-primary text-[color:var(--color-action-primary-text)] hover:bg-action-primary-hover forced-colors:bg-[ButtonText] forced-colors:text-[ButtonFace] border-2 border-transparent",yr={primary:vr,secondary:"bg-action-secondary text-[color:var(--color-action-secondary-text)] border-2 border-border-muted hover:bg-action-secondary-hover forced-colors:border-[ButtonBorder] forced-colors:bg-[ButtonFace] forced-colors:text-[ButtonText]",ghost:"border-none text-text-primary hover:bg-text-primary/5 forced-colors:text-[ButtonText] forced-colors:hover:bg-[ButtonFace]",destructive:"bg-transparent text-feedback-error-text border-2 border-border-muted hover:bg-feedback-error-background/50 forced-colors:border-[ButtonBorder] forced-colors:bg-[ButtonFace] forced-colors:text-[Mark]",link:"!text-action-primary hover:text-action-primary/90 hover:underline hover:decoration-2 hover:underline-offset-4",icon:"border-none text-text-primary hover:bg-background-hover hover:text-text-primary forced-colors:text-[ButtonText] forced-colors:hover:bg-[ButtonFace] p-1 flex-shrink-0 rounded-[var(--control-border-radius)]",unstyled:"bg-transparent"},at={full:"w-full",default:"w-fit"},kr="opacity-50 cursor-not-allowed pointer-events-none",wr="opacity-100 cursor-pointer",Cr={"top-right":"-right-2 -top-2","top-left":"-left-2 -top-2","bottom-right":"-right-2 -bottom-2","bottom-left":"-left-2 -bottom-2"},Pr={primary:"bg-action-primary text-[color:var(--color-action-primary-text)]",destructive:"bg-feedback-error-border text-text-inverse"};function Nr(e){return !e||e==="default"||e==="brand"?"primary":e}function Rr(e){let{variant:t="primary",size:r="md",isDisabled:o,fullWidth:n=false,isLoading:a=false}=e,l=Nr(t),i=l==="unstyled"?"":`${xr} ${yr[l]}`;l!=="unstyled"&&(i+=` ${ee[r].text} ${ee[r].height} ${ee[r].padding} ${ee[r].gap}`),o||a?i+=` ${kr}`:i+=` ${wr}`,n?i+=` ${at.full}`:i+=` ${at.default}`;let d=l==="primary"?"focus-visible:outline-action-primary":void 0;return [i,Qe(),d].filter(Boolean).join(" ")}function $(e){let{icon:t,children:r,isLoading:o=false,loadingText:n,loadingIndicator:a,size:l="md",iconPosition:i="left",iconWeight:d,href:c,className:m,badgeNumber:u,badgeVariant:x="primary",badgePosition:w="top-right",style:v,target:S,rel:I,...N}=e,h=t?jsx(L,{name:t,size:l,weight:d}):null,C=jsxs(Fragment,{children:[i==="left"&&h,typeof r=="function"?null:r,i==="right"&&h]}),R=jsxs("div",{className:"relative inline-flex items-center justify-center",children:[jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:a||jsx(L,{name:"CircleNotch",size:l,className:"animate-spin","aria-hidden":"true"})}),jsx("div",{className:"invisible","aria-hidden":"true",children:C}),n&&jsx("span",{className:"sr-only",role:"status","aria-live":"polite",children:n})]}),y=(u??0)>0,P=twMerge(Rr(e),m),U=c?{href:c,target:S,rel:I,...N}:{};if(c){let{onPress:W,onPressStart:B,onPressEnd:ce,onPressChange:G,onPressUp:oe,onAuxClick:ue,onContextMenu:ne,onDoubleClick:z,...E}=N;Object.assign(U,E);}let D=c?jsx(Link,{...U,...o&&{"aria-busy":true},style:y?void 0:v,className:P,children:o?R:typeof r=="function"?(function(W){return jsxs(Fragment,{children:[i==="left"&&h,r(W),i==="right"&&h]})}):C}):jsx(Button,{...N,...o&&{"aria-busy":true},style:y?void 0:v,className:P,children:o?R:typeof r=="function"?(function(W){return jsxs(Fragment,{children:[i==="left"&&h,r(W),i==="right"&&h]})}):C});return y?jsxs("div",{className:twMerge("relative flex",m),style:v,children:[D,jsx("span",{className:`absolute ${Cr[w]} flex h-5 w-5 items-center justify-center rounded-full ${Pr[x]} text-xs font-medium`,"aria-label":`${u} items`,children:u})]}):D}function Ae({action:e,defaultVariant:t,defaultSize:r="lg"}){let o=!!e.formId;return jsx($,{type:o?"submit":"button",form:o?e.formId:void 0,size:e.size||r,variant:e.variant||t,onPress:o?void 0:e.onPress,isLoading:e.isLoading,isDisabled:e.isDisabled,children:e.label})}function Z({primaryAction:e,secondaryAction:t,tertiaryAction:r,footerContent:o}){let n=e||t||r;return !n&&!o?null:jsxs("div",{className:`flex w-full flex-col items-center justify-center border-t p-4 ${o?"h-28":""}`,children:[o&&jsx("div",{className:"flex h-10 justify-center",children:o}),n&&jsxs("div",{className:"flex w-full items-center justify-between gap-3",children:[jsx("div",{children:r&&jsx(Ae,{action:r,defaultVariant:"destructive"})}),jsxs("div",{className:"flex items-center gap-3",children:[t&&jsx(Ae,{action:t,defaultVariant:"secondary"}),e&&jsx(Ae,{action:e,defaultVariant:"primary"})]})]})]})}var Tr={heading:{sm:F.headingSm,md:F.headingMd,lg:F.headingLg,xl:F.headingXl},display:{sm:F.displaySm,md:F.displayMd,lg:F.displayLg,xl:F.displayXl}},Sr={page:"h-16 leading-[62px]"};function te({tag:e="h1",variant:t="heading",size:r="lg",height:o,className:n="",children:a}){let l=r==="xs"?"sm":r,i=Tr[t][l],d=o?Sr[o]:"";return jsx(e,{className:ye(i,"text-text-primary",d,n),children:a})}var M=({title:e,onClose:t,hideCloseIcon:r=false,titleAlign:o="left",hasBackArrow:n=false,onBack:a,headerContent:l})=>jsxs("div",{className:twMerge("relative flex h-16 w-full flex-shrink-0 items-center justify-between border-b px-6",e&&"border-b",o==="center"?"justify-center":""),children:[n&&jsx($,{variant:"icon",onPress:a,className:"absolute left-6","aria-label":"Go back",children:jsx(L,{name:"CaretLeft","data-testid":"back-arrow"})}),l||jsxs(Fragment,{children:[e&&jsx(te,{size:"xs",children:e}),t&&!r&&jsx($,{variant:"icon",onPress:t,"aria-label":"Close dialog",children:jsx(L,{name:"X","data-testid":"close-button"})})]})]});var Ir=createContext(false);createContext(null);function lt({children:e}){return jsx(Ir.Provider,{value:true,children:e})}var H=({width:e,height:t,variant:r="rect",animation:o="pulse",gradient:n=false,flex:a=false,stack:l,responsive:i,delay:d=0,adjustAnimationSpeedBasedOnWidth:c=false,ariaLabel:m,className:u,"data-testid":x})=>{let[w,v]=useState(d===0);if(useEffect(()=>{if(d>0){let y=setTimeout(()=>v(true),d);return ()=>clearTimeout(y)}},[d]),!w)return null;let S=n?"bg-gradient-to-r from-[var(--color-skeleton-base)] via-[var(--color-skeleton-highlight)] to-[var(--color-skeleton-base)]":"bg-[var(--color-skeleton-base)]",I=c&&e?(()=>{let y=typeof e=="number"?e:parseFloat(String(e));return isNaN(y)?"":`animation-duration-[${Math.max(.8,y/100)}s]`})():"",N=o==="pulse"?`animate-pulse ${I}`:o==="wave"?`relative overflow-hidden before:absolute before:inset-0 before:bg-gradient-to-r before:from-transparent before:via-[var(--color-skeleton-wave)] before:to-transparent before:animate-wave ${I}`:"",h="rounded-sm";r==="circle"&&(h="rounded-full"),r==="text"&&(h="h-4 w-full rounded-sm");let C=a?"flex-1 min-w-0":"",R=i?Object.entries(i).map(([y,P])=>`${y}:w-[${P}]`).join(" "):"";return l?jsx("div",{className:"space-y-2","data-testid":x,children:l.map((y,P)=>jsx("div",{className:twMerge(S,N,h,C,R,u),style:{width:y,height:t}},P))}):jsx("div",{className:twMerge(S,N,h,C,R,u),style:{width:e,height:t},role:"presentation","aria-hidden":!m,"aria-label":m??void 0,"data-testid":x})};var Fr={outlined:"bg-background-surface border border-border-default",elevated:"bg-background-surface border-0 shadow-md",filled:"bg-background-muted border-0",ghost:"bg-transparent border-0 shadow-none"},Ar="rounded-lg",ze={square:"aspect-square",video:"aspect-video",wide:"aspect-[2/1]",auto:""},_r={start:"justify-start",end:"justify-end",center:"justify-center",between:"justify-between"};function ct(e){return We__default.Children.toArray(e).some(t=>We__default.isValidElement(t)?t.type===We__default.Fragment?ct(t.props.children):t.type===Oe&&!!t.props.title:false)}function j({variant:e="outlined",className:t,children:r,isLoading:o=false,layout:n="default"}){let a=ct(r)?jsx(lt,{children:r}):r;return jsx("div",{className:twMerge("w-full overflow-hidden",Fr[e],Ar,n==="flex"&&"flex flex-col",t),"data-testid":"card",children:o?jsx(H,{width:"100%",height:"100%",className:"rounded-none"}):a})}function Oe({title:e,subtitle:t,actions:r,leading:o,className:n,isLoading:a=false}){return a?jsxs("div",{className:twMerge("p-6 pb-4",n),children:[jsxs("div",{className:"flex justify-between items-start mb-1",children:[jsx(H,{width:120,height:20}),jsx(H,{width:24,height:24})]}),t&&jsx(H,{width:200,height:16})]}):!e&&!t&&!r&&!o?null:jsx("div",{className:twMerge("p-6 pb-4",n),children:jsxs("div",{className:"flex justify-between items-start gap-4",children:[o&&jsx("div",{className:"flex-shrink-0",children:o}),jsxs("div",{className:"min-w-0 flex-1",children:[e&&jsx("div",{className:"mb-1",children:typeof e=="string"?jsx(te,{tag:"h3",size:"sm",className:"text-text-primary",children:e}):e}),t&&jsx("div",{className:Xe("bodySm","text-text-secondary"),children:t})]}),r&&jsx("div",{className:"flex-shrink-0",children:r})]})})}function ut({src:e,alt:t,aspectRatio:r="auto",className:o,children:n,isLoading:a=false}){return a?jsx("div",{className:twMerge("bg-background-muted",ze[r],o),children:jsx(H,{width:"100%",height:"100%"})}):n?jsx("div",{className:twMerge("overflow-hidden",ze[r],o),children:n}):e?jsx("div",{className:twMerge("overflow-hidden",ze[r],o),children:jsx("img",{src:e,alt:t||"",className:"w-full h-full object-cover",loading:"lazy"})}):null}function pt({className:e,children:t,isLoading:r=false,fill:o=false,style:n}){let l=e?.match(/p(?:t|b|l|r|x|y)?-(?:\d+(?:\.\d+)?|px|\[.+?\])/)?"":"px-6 py-4";return r?jsx("div",{className:twMerge(l,o&&"flex-1 flex flex-col min-h-0",e),style:n,children:jsxs("div",{className:"space-y-2",children:[jsx(H,{width:"100%",height:16}),jsx(H,{width:"80%",height:16}),jsx(H,{width:"60%",height:16})]})}):t?jsx("div",{className:twMerge(l,"text-text-primary",o&&"flex-1 flex flex-col min-h-0",e),style:n,children:t}):null}function ft({className:e,children:t,align:r="end",isLoading:o=false}){return o?jsxs("div",{className:twMerge("px-6 py-4 flex gap-2 justify-end",e),children:[jsx(H,{width:80,height:32}),jsx(H,{width:60,height:32})]}):t?jsx("div",{className:twMerge("px-6 py-4 flex items-center gap-2",_r[r],e),children:t}):null}j.Header=Oe;j.Media=ut;j.Content=pt;j.Footer=ft;var _=class extends Component{constructor(){super(...arguments);Ie(this,"state",{hasError:false});Ie(this,"handleRetry",()=>{this.setState({hasError:false,error:void 0}),typeof window<"u"&&window.location.reload();});}static getDerivedStateFromError(r){return {hasError:true,error:r}}componentDidCatch(r,o){console.error("Error Boundary caught an error:",r,o);}render(){return this.state.hasError?this.props.fallback?this.props.fallback:jsxs(j,{children:[this.props.title&&jsx(j.Header,{title:this.props.title}),jsx(j.Content,{children:jsxs("div",{className:"flex flex-col items-center justify-center gap-4","data-testid":"error-boundary",children:[jsx("p",{className:"text-feedback-error-text",children:this.state.error?.message||"Something went wrong"}),jsx("button",{className:"rounded bg-action-default px-4 py-2 text-[color:var(--color-action-default-text)] hover:bg-action-default-hover",onClick:this.handleRetry,children:"Retry"})]})})]}):this.props.children}};function X({transparent:e=false,className:t,children:r,...o}){return jsx(ModalOverlay,{...o,className:composeRenderProps(t,(n,a)=>twMerge("fixed inset-0 z-50","outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0",e?"bg-transparent":["bg-gradient-to-br from-background-modal/20 via-background-modal/15 to-background-modal/20","backdrop-blur-[2px]","supports-[backdrop-filter]:bg-background-modal/15"].join(" "),a.isEntering&&["animate-in fade-in","duration-300 ease-out"].join(" "),a.isExiting&&["animate-out fade-out","duration-200 ease-in"].join(" "),n)),children:r})}var Ur=.3,Gr=.5;function Re({children:e,title:t,headerContent:r,titleAlign:o="left",hideCloseIcon:n=false,hasBackArrow:a=false,onBack:l,isOpen:i,onClose:d,isDismissable:c=true,transparentOverlay:m=false,primaryAction:u,secondaryAction:x,footerContent:w,maxHeight:v="80vh",height:S,maxWidth:I="640px",contentPadding:N=true,showHandle:h=true,animationVariant:C="scale",className:R}){let[y,P]=useState(false),[U,D]=useState(0),[W,B]=useState(false),ce=ve(i),G=ce?.height??null,oe=ce?.keyboardOffset??0,ue=useRef(null),ne=useRef(null),z=useRef(null),E=useRef({isDragging:false,startY:0,startTime:0,pointerId:null});useEffect(()=>{if(i){let g=setTimeout(()=>{P(true),setTimeout(()=>P(false),600);},400);return ()=>clearTimeout(g)}},[i]),useEffect(()=>{i||(D(0),B(false),E.current={isDragging:false,startY:0,startTime:0,pointerId:null});},[i]),useEffect(()=>{let g=ne.current;if(!g||!i)return;let O=null,ae=me=>{let J=me.target;J&&["INPUT","TEXTAREA","SELECT"].includes(J.tagName)&&(O&&clearTimeout(O),O=setTimeout(()=>{J.scrollIntoView({block:"nearest",behavior:"smooth"});},320));};return g.addEventListener("focusin",ae),()=>{g.removeEventListener("focusin",ae),O&&clearTimeout(O);}},[i]);let Q=useCallback(g=>{c&&(g.pointerType!=="touch"&&g.pointerType!=="pen"||(z.current&&(clearTimeout(z.current),z.current=null),E.current={isDragging:true,startY:g.clientY,startTime:Date.now(),pointerId:g.pointerId},B(false),g.currentTarget.setPointerCapture(g.pointerId)));},[c]),K=useCallback(g=>{let{isDragging:O,startY:ae,pointerId:me}=E.current;if(!O||g.pointerId!==me)return;let J=g.clientY-ae;D(Math.max(0,J));},[]),pe=useCallback(g=>{let{isDragging:O,startY:ae,startTime:me,pointerId:J}=E.current;if(!O||g.pointerId!==J)return;let He=g.clientY-ae,Lt=Date.now()-me,Ht=He/Lt;E.current={isDragging:false,startY:0,startTime:0,pointerId:null};let It=(ue.current?.getBoundingClientRect().height??0)*Ur;(He>It||Ht>Gr&&He>50)&&c?(d?.(),D(0)):(B(true),D(0),z.current=setTimeout(()=>{B(false),z.current=null;},200));},[c,d]);if(!i)return null;let Le=t||r,fe=u||x||w;return jsx(_,{children:jsx(X,{isOpen:i,onOpenChange:g=>{g||d?.();},isDismissable:c,transparent:m,style:{paddingBottom:oe>0?`${oe}px`:void 0,transition:"padding-bottom 0.25s ease-out"},className:"flex items-end justify-center p-0 sm:p-4",children:jsx(Modal,{className:"w-full max-w-full p-0 sm:p-2 outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0",isDismissable:c,children:jsx("div",{ref:ue,className:twMerge("w-full",W&&"transition-transform duration-200"),style:{transform:U>0?`translateY(${U}px)`:void 0},children:jsxs(Dialog,{className:twMerge("relative flex w-full flex-col overflow-hidden","bg-background-surface","shadow-2xl shadow-black/30 dark:shadow-black/60","border-t border-x border-border-default/40","outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0 focus:shadow-none","origin-bottom",C==="scale"?"animate-[tray-enter-scale_400ms_cubic-bezier(0.32,0.72,0,1)]":"animate-[tray-enter_400ms_cubic-bezier(0.32,0.72,0,1)]",C==="scale"?"data-[exiting]:animate-[tray-exit-scale_250ms_cubic-bezier(0.32,0,0.67,0)]":"data-[exiting]:animate-[tray-exit_250ms_cubic-bezier(0.32,0,0.67,0)]",R),style:{maxWidth:I,...S?{height:S}:{maxHeight:/\d/.test(v)?G!==null?`min(${v}, ${Math.max(G-8,0)}px, 100dvh)`:`min(${v}, 100dvh)`:v}},children:[h&&jsx("div",{className:"absolute top-0 left-0 right-0 h-8 z-10 flex justify-center items-start pt-2 touch-none cursor-grab active:cursor-grabbing",onPointerDown:Q,onPointerMove:K,onPointerUp:pe,onPointerCancel:pe,children:jsx("div",{className:twMerge("h-1 w-12 rounded-full bg-border-muted transition-all duration-300","hover:bg-border-default hover:w-16",y&&"animate-[handle-wiggle_0.6s_ease-in-out]")})}),Le&&(a?jsx(M,{title:t,headerContent:r,titleAlign:o,hideCloseIcon:n||!d,hasBackArrow:true,onBack:l??(()=>{}),onClose:d||(()=>{})}):jsx(M,{title:t,headerContent:r,titleAlign:o,hideCloseIcon:n||!d,onClose:d||(()=>{})})),jsx("div",{ref:ne,className:twMerge("flex-1 min-h-0 overflow-y-auto overscroll-contain",N?"p-4":"p-0"),children:e}),fe&&jsx(Z,{primaryAction:u,secondaryAction:x,footerContent:w})]})})})})})}Re.displayName="Tray";function Ge({isOpen:e,onClose:t,title:r,headerContent:o,titleAlign:n="left",hideCloseIcon:a=false,hasBackArrow:l=false,onBack:i,children:d,primaryAction:c,secondaryAction:m,tertiaryAction:u,footerContent:x,transparentOverlay:w=false,maxWidth:v="600px",minWidth:S="400px",maxHeight:I="85vh",height:N,mobileMaxHeight:h="90vh",mobileHeight:C,contentPadding:R=true,className:y}){let P=Ze("(max-width: 767px)"),U=ve(P&&e===void 0),D=U?.height??null,W=U?.keyboardOffset??0,B=useRef(null),ce=useCallback(()=>{B.current&&B.current.scrollTop!==0&&(B.current.scrollTop=0);},[]),G=useRef(null),oe=useRef(null);useEffect(()=>{let Q=oe.current;if(!Q||!P)return;let K=null,pe=Le=>{let fe=Le.target;fe&&["INPUT","TEXTAREA","SELECT"].includes(fe.tagName)&&(K&&clearTimeout(K),K=setTimeout(()=>{fe.scrollIntoView({block:"nearest",behavior:"smooth"});},320));};return Q.addEventListener("focusin",pe),()=>{Q.removeEventListener("focusin",pe),K&&clearTimeout(K);}},[P]);let ue=useCallback(()=>{G.current&&G.current.scrollTop!==0&&(G.current.scrollTop=0);},[]);if(e===false)return null;let ne=r||o,z=c||m||u||x,E=e!==void 0;return P?E?jsx(Re,{isOpen:e,onClose:t,title:r,headerContent:o,titleAlign:n,hideCloseIcon:a,hasBackArrow:l,onBack:i,primaryAction:c,secondaryAction:m,footerContent:x,transparentOverlay:w,maxHeight:h,height:C,maxWidth:v,contentPadding:R,showHandle:true,animationVariant:"scale",className:y,children:d}):jsx(_,{children:jsx(X,{isDismissable:true,transparent:w,style:{paddingBottom:W>0?`${W}px`:void 0,transition:"padding-bottom 0.25s ease-out"},className:"flex items-end justify-center",children:jsx(Modal,{className:"w-full p-0 outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0",children:jsxs(Dialog,{ref:B,onScroll:ce,className:twMerge("relative flex w-full flex-col","bg-background-surface","shadow-2xl shadow-black/20","border-t border-x border-border-default/40","rounded-t-xl","overflow-hidden","animate-in slide-in-from-bottom","duration-300 ease-out","data-[exiting]:animate-out data-[exiting]:slide-out-to-bottom","data-[exiting]:duration-200 data-[exiting]:ease-in",y),style:{...C?{height:C}:{maxHeight:/\d/.test(h)?D!==null?`min(${h}, ${Math.max(D-8,0)}px, 100dvh)`:`min(${h}, 100dvh)`:h}},children:[jsx("div",{className:"flex justify-center pt-2",children:jsx("div",{className:"h-1.5 w-12 rounded-full bg-border-muted"})}),ne&&(l?jsx(M,{title:r,headerContent:o,titleAlign:n,hideCloseIcon:a||!t,hasBackArrow:true,onBack:i,onClose:t||(()=>{})}):jsx(M,{title:r,headerContent:o,titleAlign:n,hideCloseIcon:a||!t,onClose:t||(()=>{})})),jsx("div",{ref:oe,className:twMerge("flex-1 min-h-0 overflow-y-auto overscroll-contain",R?"px-6 py-6":"p-0"),children:d}),z&&jsx(Z,{primaryAction:c,secondaryAction:m,tertiaryAction:u,footerContent:x})]})})})}):jsx(_,{children:jsx(X,{...E?{isOpen:e,onOpenChange:Q=>{!Q&&t&&t();}}:{},isDismissable:true,transparent:w,className:"flex items-center justify-center",children:jsx(Modal,{className:"w-full p-4 outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0",style:{maxWidth:v},children:jsxs(Dialog,{ref:G,onScroll:ue,className:twMerge("relative flex w-full flex-col","bg-background-surface","shadow-2xl shadow-black/20","border border-border-default/50","rounded-md","overflow-hidden","outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0","animate-in fade-in zoom-in-96 slide-in-from-bottom-2","duration-300 ease-out","data-[exiting]:animate-out data-[exiting]:fade-out data-[exiting]:zoom-out-95","data-[exiting]:duration-200 data-[exiting]:ease-in",y),style:{minWidth:S,...N?{height:N}:{maxHeight:I}},children:[ne&&(l?jsx(M,{title:r,headerContent:o,titleAlign:n,hideCloseIcon:a||!t,hasBackArrow:true,onBack:i,onClose:t||(()=>{})}):jsx(M,{title:r,headerContent:o,titleAlign:n,hideCloseIcon:a||!t,onClose:t||(()=>{})})),jsx("div",{className:twMerge("flex-1 min-h-0 overflow-y-auto",R?"px-6 py-6":"p-0"),children:d}),z&&jsx(Z,{primaryAction:c,secondaryAction:m,tertiaryAction:u,footerContent:x})]})})})})}function be(e){return jsx(Form,{validationBehavior:"aria",...e,className:twMerge("flex flex-col gap-6",e.className)})}function Xa({formId:e="dialog-form",onSubmit:t,primaryLabel:r="Save",secondaryLabel:o="Cancel",onCancel:n,primaryVariant:a,secondaryVariant:l="secondary",children:i,title:d,...c}){return jsx(Ge,{title:d,primaryAction:{label:r,onPress:()=>{let u=document.getElementById(e);u&&u.requestSubmit();},variant:a},secondaryAction:n?{label:o,onPress:n,variant:l}:void 0,...c,children:jsx(be,{id:e,onSubmit:t,children:i})})}function Se({children:e,title:t,headerContent:r,titleAlign:o="left",hideCloseIcon:n=false,hasBackArrow:a=false,onBack:l,isOpen:i,slideInFrom:d="right",transparentOverlay:c=false,onClose:m,className:u,primaryAction:x,secondaryAction:w,tertiaryAction:v,footerContent:S,contentPadding:I=true,maxWidth:N="400px"}){if(!i)return null;let h=t||r,C=x||w||v||S;return jsx(_,{children:jsx(X,{isOpen:i,onOpenChange:R=>!R&&m?.(),isDismissable:true,transparent:c,children:jsx(Modal,{className:"outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0",children:jsxs(Dialog,{className:twMerge("fixed top-0 bottom-0 flex flex-col bg-background-surface shadow-xl overflow-hidden",d==="right"?"right-0":"left-0",d==="right"?"animate-in slide-in-from-right duration-300 ease-out":"animate-in slide-in-from-left duration-300 ease-out","data-[exiting]:animate-out",d==="right"?"data-[exiting]:slide-out-to-right":"data-[exiting]:slide-out-to-left","data-[exiting]:duration-200 data-[exiting]:ease-in","outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-action-default focus-visible:outline-offset-0",u),style:{maxWidth:N,width:"100%"},children:[h&&(a&&l?jsx(M,{title:t,headerContent:r,titleAlign:o,hideCloseIcon:n,hasBackArrow:true,onBack:l,onClose:m}):jsx(M,{title:t,headerContent:r,titleAlign:o,hideCloseIcon:n,onClose:m})),jsx("div",{className:twMerge("flex-1 overflow-y-auto overscroll-contain",I?"px-6 py-6":"p-0"),children:e}),C&&jsx(Z,{primaryAction:x,secondaryAction:w,tertiaryAction:v,footerContent:S})]})})})})}Se.displayName="Drawer";function ui({formId:e="drawer-form",onSubmit:t,primaryLabel:r="Save",secondaryLabel:o="Cancel",onCancel:n,primaryVariant:a,secondaryVariant:l="secondary",children:i,...d}){return jsx(Se,{primaryAction:{label:r,onPress:()=>{let m=document.getElementById(e);m&&m.requestSubmit();},variant:a},secondaryAction:n?{label:o,onPress:n,variant:l}:void 0,...d,children:jsx(be,{id:e,onSubmit:t,className:"mt-2",children:i})})}function hi({align:e="end",className:t,...r}){return jsx("div",{...r,className:twMerge("flex gap-2",e==="start"?"justify-start":e==="between"?"justify-between":"justify-end",t)})}var ao={sm:"gap-2",md:"gap-4",lg:"gap-6"};function io(e){if(!e)return "";let t=e.base?`grid-cols-${e.base}`:"",r=e.md?`md:grid-cols-${e.md}`:"",o=e.lg?`lg:grid-cols-${e.lg}`:"";return [t,r,o].filter(Boolean).join(" ")}function vi({cols:e={base:1},gap:t="lg",className:r,...o}){return jsx("div",{...o,className:twMerge("grid",io(e),ao[t],r)})}var co=We__default.forwardRef(({children:e,className:t},r)=>jsx("div",{ref:r,className:twMerge("relative w-full",t),children:e}));co.displayName="InputWrapper";function Ct({size:e="md",className:t,children:r,...o}){return jsx("div",{...o,className:twMerge("leading-[2.25] text-text-secondary",ee[e].text,t),children:r})}function Hi({title:e,description:t,showDivider:r,className:o,children:n,...a}){return jsxs("section",{...a,className:twMerge("flex flex-col",o),children:[(e||t)&&jsxs("div",{className:"flex flex-col gap-1 mb-6",children:[typeof e=="string"?jsx(te,{tag:"h3",size:"sm",children:e}):e,t?jsx(Ct,{size:"lg",children:t}):null]}),jsx("div",{className:"flex flex-col gap-6",children:n}),r&&jsx("hr",{className:"mt-2 border-border-muted"})]})}function Ii(){return jsx("hr",{className:"border-border-muted"})}function Ai({steps:e,currentStepId:t,onStepClick:r,className:o}){let n=e.findIndex(a=>a.id===t);return jsx("nav",{"aria-label":"Progress",className:twMerge("w-full",o),children:jsx("div",{className:"relative mb-12",children:jsx("ol",{className:"relative flex items-start justify-between",children:e.map((a,l)=>{let i=a.id===t,d=l<n,c=r&&(d||i);return jsxs("li",{className:"relative flex flex-col items-center",style:{flex:`1 1 ${100/e.length}%`},children:[jsx("button",{type:"button",disabled:!c,onClick:()=>c&&r?.(a.id),className:twMerge("relative z-10 flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-full border-2 transition-colors bg-background-body",d&&"border-action-primary bg-action-primary text-text-inverse hover:bg-action-primary/90",i&&"border-action-primary bg-background-body text-action-primary",!d&&!i&&"border-border-default bg-background-body text-text-secondary",c&&"cursor-pointer",!c&&"cursor-default"),"aria-current":i?"step":void 0,children:d?jsx(L,{name:"Check",size:20,weight:"bold"}):jsx("span",{className:"text-sm font-semibold",children:l+1})}),l<e.length-1&&jsx("div",{className:"absolute top-5 h-0.5 transition-colors",style:{left:"50%",width:"100%",marginLeft:"20px",backgroundColor:l<n?"var(--color-action-primary)":"var(--color-border-default)"}}),jsxs("div",{className:"mt-3 flex flex-col items-center text-center w-32",children:[jsx("span",{className:twMerge("text-sm font-medium",i&&"text-text-default",d&&"text-text-primary",!i&&!d&&"text-text-secondary"),children:a.title}),a.description&&jsx("span",{className:"mt-1 text-xs text-text-secondary",children:a.description})]})]},a.id)})})})})}function Oi({formId:e,show:t,isSubmitting:r,onCancel:o,primaryLabel:n="Save changes",secondaryLabel:a="Cancel",className:l}){return t?jsx("div",{className:twMerge("fixed inset-x-0 bottom-0 z-40 border-t border-border-muted bg-background-surface/95 backdrop-blur supports-[backdrop-filter]:bg-background-surface/70",l),children:jsxs("div",{className:"mx-auto flex max-w-screen-lg items-center justify-between gap-3 p-3",children:[jsx("div",{className:"text-sm text-text-secondary",children:"You have unsaved changes"}),jsxs("div",{className:"flex gap-2",children:[jsx($,{variant:"secondary",onPress:o,children:a}),jsx($,{type:"submit",form:e,isDisabled:!!r,children:r?"Saving...":n})]})]})}):null}function Yi({when:e,message:t="You have unsaved changes. Leave anyway?"}){return We.useEffect(()=>{if(!e)return;let r=o=>(o.preventDefault(),o.returnValue=t,t);return window.addEventListener("beforeunload",r),()=>window.removeEventListener("beforeunload",r)},[e,t]),null}function Gi({steps:e,initialStepId:t,canNavigate:r}){if(e.length===0)throw new Error("useWizard: steps array cannot be empty");let[o,n]=We.useState(t||e[0].id),a=e.findIndex(u=>u.id===o),l=a>0,i=a<e.length-1,d=async u=>u===o?true:r&&!await r(o,u)?false:(n(u),true);return {steps:e,currentStepId:o,setCurrentStepId:d,next:async()=>!i||a===-1?false:d(e[a+1].id),prev:async()=>!l||a===-1?false:d(e[a-1].id),hasNext:i,hasPrev:l,stepIndex:a}}
2
+ export{Xa as DialogForm,ui as DrawerForm,hi as FormActions,Ii as FormDivider,vi as FormGrid,Hi as FormSection,Ai as FormStepper,Oi as SaveBar,Yi as UnsavedChangesPrompt,Gi as useWizard};//# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map