@texturehq/edges 1.23.0 → 1.23.3

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.
@@ -393,6 +393,7 @@ type SideNavProps = {
393
393
  */
394
394
  declare const SideNav: React$1.FC<SideNavProps>;
395
395
 
396
+ type ColorMode = "system" | "light" | "dark";
396
397
  type TopNavProps = {
397
398
  rightContent?: React$1.ReactNode;
398
399
  showMobileMenu?: boolean;
@@ -400,6 +401,7 @@ type TopNavProps = {
400
401
  showColorModeSwitcher?: boolean;
401
402
  toggleTheme?: () => void;
402
403
  isDarkThemeEnabled?: boolean;
404
+ colorMode?: ColorMode;
403
405
  actions?: React$1.ReactNode;
404
406
  className?: string;
405
407
  mobileMenuId?: string;
@@ -417,7 +419,7 @@ type AppShellProps = {
417
419
  /** Structured nav for the left rail */
418
420
  sideNav: Omit<SideNavProps, "mobileMenuId" | "sidebarCollapseId">;
419
421
  /** Optional top bar slots & options */
420
- topNav?: Pick<TopNavProps, "rightContent" | "showMobileMenu" | "avatar" | "showColorModeSwitcher" | "toggleTheme" | "isDarkThemeEnabled" | "actions" | "className">;
422
+ topNav?: Pick<TopNavProps, "rightContent" | "showMobileMenu" | "avatar" | "showColorModeSwitcher" | "toggleTheme" | "isDarkThemeEnabled" | "colorMode" | "actions" | "className">;
421
423
  /** Main page content */
422
424
  children: React__default.ReactNode;
423
425
  /** Layout knobs */
@@ -1458,6 +1460,22 @@ interface StaticMapProps {
1458
1460
  * Additional CSS classes
1459
1461
  */
1460
1462
  className?: string;
1463
+ /**
1464
+ * Show expand button to open interactive fullscreen map
1465
+ * When enabled, shows a button in the top-right corner that opens
1466
+ * the map in an interactive dialog
1467
+ * @default false
1468
+ */
1469
+ showExpandToggle?: boolean;
1470
+ /**
1471
+ * Title for the expanded map dialog
1472
+ * @default "Explore map"
1473
+ */
1474
+ expandedMapTitle?: string;
1475
+ /**
1476
+ * Optional address or location label to show in expanded view
1477
+ */
1478
+ expandedMapAddressLabel?: string;
1461
1479
  }
1462
1480
  /**
1463
1481
  * StaticMap
@@ -1467,7 +1485,7 @@ interface StaticMapProps {
1467
1485
  *
1468
1486
  * Automatically adapts to light/dark mode using the global ColorModeProvider.
1469
1487
  */
1470
- declare function StaticMap({ width, height, initialViewState, isLoading, mapType, layers, mapboxAccessToken, showMarker, showAttribution, onLoad, className, }: StaticMapProps): react_jsx_runtime.JSX.Element;
1488
+ declare function StaticMap({ width, height, initialViewState, isLoading, mapType, layers, mapboxAccessToken, showMarker, showAttribution, onLoad, className, showExpandToggle, expandedMapTitle, expandedMapAddressLabel, }: StaticMapProps): react_jsx_runtime.JSX.Element;
1471
1489
 
1472
1490
  /**
1473
1491
  * Represents a geographic point with coordinates
@@ -1602,6 +1620,14 @@ interface EntityConfig {
1602
1620
  description?: string;
1603
1621
  }
1604
1622
  declare const ENTITY_CONFIG: {
1623
+ readonly app: {
1624
+ readonly icon: "AppWindow";
1625
+ readonly label: {
1626
+ readonly singular: "App";
1627
+ readonly plural: "Apps";
1628
+ };
1629
+ readonly description: "Workspace and integration apps";
1630
+ };
1605
1631
  readonly site: {
1606
1632
  readonly icon: "MapPin";
1607
1633
  readonly label: {
@@ -393,6 +393,7 @@ type SideNavProps = {
393
393
  */
394
394
  declare const SideNav: React$1.FC<SideNavProps>;
395
395
 
396
+ type ColorMode = "system" | "light" | "dark";
396
397
  type TopNavProps = {
397
398
  rightContent?: React$1.ReactNode;
398
399
  showMobileMenu?: boolean;
@@ -400,6 +401,7 @@ type TopNavProps = {
400
401
  showColorModeSwitcher?: boolean;
401
402
  toggleTheme?: () => void;
402
403
  isDarkThemeEnabled?: boolean;
404
+ colorMode?: ColorMode;
403
405
  actions?: React$1.ReactNode;
404
406
  className?: string;
405
407
  mobileMenuId?: string;
@@ -417,7 +419,7 @@ type AppShellProps = {
417
419
  /** Structured nav for the left rail */
418
420
  sideNav: Omit<SideNavProps, "mobileMenuId" | "sidebarCollapseId">;
419
421
  /** Optional top bar slots & options */
420
- topNav?: Pick<TopNavProps, "rightContent" | "showMobileMenu" | "avatar" | "showColorModeSwitcher" | "toggleTheme" | "isDarkThemeEnabled" | "actions" | "className">;
422
+ topNav?: Pick<TopNavProps, "rightContent" | "showMobileMenu" | "avatar" | "showColorModeSwitcher" | "toggleTheme" | "isDarkThemeEnabled" | "colorMode" | "actions" | "className">;
421
423
  /** Main page content */
422
424
  children: React__default.ReactNode;
423
425
  /** Layout knobs */
@@ -1458,6 +1460,22 @@ interface StaticMapProps {
1458
1460
  * Additional CSS classes
1459
1461
  */
1460
1462
  className?: string;
1463
+ /**
1464
+ * Show expand button to open interactive fullscreen map
1465
+ * When enabled, shows a button in the top-right corner that opens
1466
+ * the map in an interactive dialog
1467
+ * @default false
1468
+ */
1469
+ showExpandToggle?: boolean;
1470
+ /**
1471
+ * Title for the expanded map dialog
1472
+ * @default "Explore map"
1473
+ */
1474
+ expandedMapTitle?: string;
1475
+ /**
1476
+ * Optional address or location label to show in expanded view
1477
+ */
1478
+ expandedMapAddressLabel?: string;
1461
1479
  }
1462
1480
  /**
1463
1481
  * StaticMap
@@ -1467,7 +1485,7 @@ interface StaticMapProps {
1467
1485
  *
1468
1486
  * Automatically adapts to light/dark mode using the global ColorModeProvider.
1469
1487
  */
1470
- declare function StaticMap({ width, height, initialViewState, isLoading, mapType, layers, mapboxAccessToken, showMarker, showAttribution, onLoad, className, }: StaticMapProps): react_jsx_runtime.JSX.Element;
1488
+ declare function StaticMap({ width, height, initialViewState, isLoading, mapType, layers, mapboxAccessToken, showMarker, showAttribution, onLoad, className, showExpandToggle, expandedMapTitle, expandedMapAddressLabel, }: StaticMapProps): react_jsx_runtime.JSX.Element;
1471
1489
 
1472
1490
  /**
1473
1491
  * Represents a geographic point with coordinates
@@ -1602,6 +1620,14 @@ interface EntityConfig {
1602
1620
  description?: string;
1603
1621
  }
1604
1622
  declare const ENTITY_CONFIG: {
1623
+ readonly app: {
1624
+ readonly icon: "AppWindow";
1625
+ readonly label: {
1626
+ readonly singular: "App";
1627
+ readonly plural: "Apps";
1628
+ };
1629
+ readonly description: "Workspace and integration apps";
1630
+ };
1605
1631
  readonly site: {
1606
1632
  readonly icon: "MapPin";
1607
1633
  readonly label: {
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "1.23.0",
3
- "generatedAt": "2025-11-24T01:13:46.625Z",
2
+ "version": "1.23.3",
3
+ "generatedAt": "2025-11-27T15:41:27.559Z",
4
4
  "components": [
5
5
  {
6
6
  "name": "ActionCell",
@@ -1,2 +1,2 @@
1
- 'use strict';var reactAriaComponents=require('react-aria-components'),tailwindMerge=require('tailwind-merge'),Ee=require('react'),We=require('@phosphor-icons/react'),jsxRuntime=require('react/jsx-runtime');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var Ee__namespace=/*#__PURE__*/_interopNamespace(Ee);var We__namespace=/*#__PURE__*/_interopNamespace(We);var Te=Object.defineProperty;var Ae=(e,t,o)=>t in e?Te(e,t,{enumerable:true,configurable:true,writable:true,value:o}):e[t]=o;var oe=(e,t,o)=>Ae(e,typeof t!="symbol"?t+"":t,o);function ce(e,t=false){let[o,r]=Ee.useState(t);return Ee.useEffect(()=>{if(typeof window>"u")return;let a=window.matchMedia(e);r(a.matches);let n=s=>{r(s.matches);};return a.addEventListener("change",n),()=>{a.removeEventListener("change",n);}},[e]),o}function pe(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 _={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)]"}};var O={xs:16,sm:20,md:24,lg:32,xl:40,"2xl":48},R=Ee.memo(({name:e,size:t="md",color:o,weight:r="regular",className:a,ariaLabel:n,...s})=>{let i=We__namespace[e];if(!i)return process.env.NODE_ENV==="development"&&console.error(`Icon "${e}" not found in @phosphor-icons/react`),null;let l=typeof t=="string"&&t in O?O[t]:t,d=tailwindMerge.twMerge("inline-block flex-shrink-0",!o&&"text-current",a);return jsxRuntime.jsx(i,{...s,size:l,color:o,weight:r,className:d,"aria-label":n||`${e} icon`,"data-testid":`icon-${e}`})});R.displayName="Icon";var me=Ee.memo(({variant:e="subtle",shape:t="square",containerSize:o,containerClassName:r,size:a="md",className:n,name:s,color:i,weight:l,ariaLabel:d,ref:u,...c})=>{let g=typeof a=="string"&&a in O?O[a]:a,x=o?typeof o=="string"&&o in O?O[o]:o:g*1.75,v=tailwindMerge.twMerge("inline-flex items-center justify-center flex-shrink-0",t==="circle"?"rounded-full":"rounded-lg",e==="subtle"&&"bg-gray-100 dark:bg-gray-800",e==="solid"&&"bg-brand text-white",e==="outline"&&"border-2 border-current",r);return jsxRuntime.jsx("div",{className:v,style:{width:x,height:x},children:jsxRuntime.jsx(R,{...c,name:s,size:a,color:i,weight:l,className:n,ariaLabel:d})})});me.displayName="IconWithContainer";var Ve="flex font-medium justify-center items-center gap-2 text-center transition rounded-[var(--control-border-radius)] whitespace-nowrap box-border",Ge={default:"bg-action-default text-[color:var(--color-action-default-text)] hover:bg-action-default-hover forced-colors:bg-[ButtonText] forced-colors:text-[ButtonFace] border-2 border-transparent",brand:"bg-action-brand text-[color:var(--color-action-brand-text)] hover:bg-action-brand-hover forced-colors:bg-[ButtonText] forced-colors:text-[ButtonFace] border-2 border-transparent",secondary:"bg-transparent text-text-body border-2 border-border-muted hover:bg-text-body/5 forced-colors:border-[ButtonBorder] forced-colors:bg-[ButtonFace] forced-colors:text-[ButtonText]",ghost:"border-none text-text-body hover:bg-text-body/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-brand hover:text-action-brand/90 hover:underline hover:decoration-2 hover:underline-offset-4",icon:"border-none text-text-body hover:bg-background-hover hover:text-text-heading forced-colors:text-[ButtonText] forced-colors:hover:bg-[ButtonFace] p-1 flex-shrink-0 rounded-[var(--control-border-radius)]",unstyled:"bg-transparent"},be={full:"w-full",default:"w-fit"},Ue="opacity-50 cursor-not-allowed pointer-events-none",qe="opacity-100 cursor-pointer",Ye={"top-right":"-right-2 -top-2","top-left":"-left-2 -top-2","bottom-right":"-right-2 -bottom-2","bottom-left":"-left-2 -bottom-2"},Qe={primary:"bg-action-brand text-white",destructive:"bg-action-destructive text-white"};function Xe(e){return e?e==="primary"?"brand":e:"default"}function Je(e){let{variant:t="default",size:o="md",isDisabled:r,fullWidth:a=false,isLoading:n=false}=e,s=Xe(t),i=s==="unstyled"?"":`${Ve} ${Ge[s]}`;s!=="unstyled"&&(i+=` ${_[o].text} ${_[o].height} ${_[o].padding} ${_[o].gap}`),r||n?i+=` ${Ue}`:i+=` ${qe}`,a?i+=` ${be.full}`:i+=` ${be.default}`;let l=s==="brand"?"focus-visible:outline-action-brand":void 0;return [i,pe(),l].filter(Boolean).join(" ")}function S(e){let{icon:t,children:o,isLoading:r=false,loadingText:a,loadingIndicator:n,size:s="md",iconPosition:i="left",iconWeight:l,href:d,className:u,badgeNumber:c,badgeVariant:g="primary",badgePosition:x="top-right",style:v,target:C,rel:k,...y}=e,m=t?jsxRuntime.jsx(R,{name:t,size:s,weight:l}):null,h=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[i==="left"&&m,typeof o=="function"?null:o,i==="right"&&m]}),P=jsxRuntime.jsxs("div",{className:"relative inline-flex items-center justify-center",children:[jsxRuntime.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:n||jsxRuntime.jsx(R,{name:"CircleNotch",size:s,className:"animate-spin","aria-hidden":"true"})}),jsxRuntime.jsx("div",{className:"invisible","aria-hidden":"true",children:h}),a&&jsxRuntime.jsx("span",{className:"sr-only",role:"status","aria-live":"polite",children:a})]}),f=(c??0)>0,N=tailwindMerge.twMerge(Je(e),u),A=d?{href:d,target:C,rel:k,...y}:{};if(d){let{onPress:B,onPressStart:Tt,onPressEnd:At,onPressChange:_t,onPressUp:$t,onAuxClick:Wt,onContextMenu:Ot,onDoubleClick:jt,...Le}=y;Object.assign(A,Le);}let V=d?jsxRuntime.jsx(reactAriaComponents.Link,{...A,...r&&{"aria-busy":true},style:f?void 0:v,className:N,children:r?P:typeof o=="function"?(function(B){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[i==="left"&&m,o(B),i==="right"&&m]})}):h}):jsxRuntime.jsx(reactAriaComponents.Button,{...y,...r&&{"aria-busy":true},style:f?void 0:v,className:N,children:r?P:typeof o=="function"?(function(B){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[i==="left"&&m,o(B),i==="right"&&m]})}):h});return f?jsxRuntime.jsxs("div",{className:tailwindMerge.twMerge("relative flex",u),style:v,children:[V,jsxRuntime.jsx("span",{className:`absolute ${Ye[x]} flex h-5 w-5 items-center justify-center rounded-full ${Qe[g]} text-xs font-medium`,"aria-label":`${c} items`,children:c})]}):V}function L({primaryAction:e,secondaryAction:t,footerContent:o}){let r=e||t;return !r&&!o?null:jsxRuntime.jsxs("div",{className:"flex h-28 w-full flex-col items-center justify-center border-t p-4",children:[o&&jsxRuntime.jsx("div",{className:"flex h-10 justify-center",children:o}),r&&jsxRuntime.jsxs("div",{className:"flex h-full w-full items-center justify-end gap-3",children:[t&&jsxRuntime.jsx(S,{size:t.size||"lg",variant:t.variant||"secondary",onPress:t.onPress,isLoading:t.isLoading,isDisabled:t.isDisabled,children:t.label}),e&&jsxRuntime.jsx(S,{size:e.size||"lg",variant:e.variant,onPress:e.onPress,isLoading:e.isLoading,isDisabled:e.isDisabled,children:e.label})]})]})}var Ze={xs:"text-lg font-semibold",sm:"text-xl font-semibold",md:"text-2xl font-semibold",lg:"text-3xl font-semibold",xl:"text-4xl font-semibold"},et={page:"h-16 leading-[62px]"};function $({tag:e="h1",size:t="lg",height:o,className:r="",children:a}){let n=Ze[t],s=o?et[o]:"";return jsxRuntime.jsx(e,{className:tailwindMerge.twMerge(n,s,r),children:a})}var w=({title:e,onClose:t,hideCloseIcon:o=false,titleAlign:r="left",hasBackArrow:a=false,onBack:n,headerContent:s})=>jsxRuntime.jsxs("div",{className:tailwindMerge.twMerge("relative flex h-16 w-full flex-shrink-0 items-center justify-between border-b px-6",e&&"border-b",r==="center"?"justify-center":""),children:[a&&jsxRuntime.jsx(S,{variant:"icon",onPress:n,className:"absolute left-6","aria-label":"Go back",children:jsxRuntime.jsx(R,{name:"CaretLeft","data-testid":"back-arrow"})}),s||jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e&&jsxRuntime.jsx($,{size:"xs",children:e}),t&&!o&&jsxRuntime.jsx(S,{variant:"icon",onPress:t,"aria-label":"Close dialog",children:jsxRuntime.jsx(R,{name:"X","data-testid":"close-button"})})]})]});var D=({width:e,height:t,variant:o="rect",animation:r="pulse",gradient:a=false,flex:n=false,stack:s,responsive:i,delay:l=0,adjustAnimationSpeedBasedOnWidth:d=false,ariaLabel:u,className:c,"data-testid":g})=>{let[x,v]=Ee.useState(l===0);if(Ee.useEffect(()=>{if(l>0){let f=setTimeout(()=>v(true),l);return ()=>clearTimeout(f)}},[l]),!x)return null;let C=a?"bg-gradient-to-r from-[var(--color-skeleton-base)] via-[var(--color-skeleton-highlight)] to-[var(--color-skeleton-base)]":"bg-[var(--color-skeleton-base)]",k=d&&e?(()=>{let f=typeof e=="number"?e:parseFloat(String(e));return isNaN(f)?"":`animation-duration-[${Math.max(.8,f/100)}s]`})():"",y=r==="pulse"?`animate-pulse ${k}`:r==="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 ${k}`:"",m="rounded-sm";o==="circle"&&(m="rounded-full"),o==="text"&&(m="h-4 w-full rounded-sm");let h=n?"flex-1 min-w-0":"",P=i?Object.entries(i).map(([f,N])=>`${f}:w-[${N}]`).join(" "):"";return s?jsxRuntime.jsx("div",{className:"space-y-2","data-testid":g,children:s.map((f,N)=>jsxRuntime.jsx("div",{className:tailwindMerge.twMerge(C,y,m,h,P,c),style:{width:f,height:t}},N))}):jsxRuntime.jsx("div",{className:tailwindMerge.twMerge(C,y,m,h,P,c),style:{width:e,height:t},role:"presentation","aria-hidden":!u,"aria-label":u??void 0,"data-testid":g})};var it={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"},st="rounded-lg",se={square:"aspect-square",video:"aspect-video",wide:"aspect-[2/1]",auto:""},lt={start:"justify-start",end:"justify-end",center:"justify-center",between:"justify-between"};function H({variant:e="outlined",className:t,children:o,isLoading:r=false}){return jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("w-full overflow-hidden",it[e],st,t),"data-testid":"card",children:r?jsxRuntime.jsx(D,{width:"100%",height:"100%",className:"rounded-none"}):o})}function ye({title:e,subtitle:t,actions:o,className:r,isLoading:a=false}){return a?jsxRuntime.jsxs("div",{className:tailwindMerge.twMerge("p-6 pb-4",r),children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-start mb-1",children:[jsxRuntime.jsx(D,{width:120,height:20}),jsxRuntime.jsx(D,{width:24,height:24})]}),t&&jsxRuntime.jsx(D,{width:200,height:16})]}):!e&&!t&&!o?null:jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("p-6 pb-4",r),children:jsxRuntime.jsxs("div",{className:"flex justify-between items-start gap-4",children:[jsxRuntime.jsxs("div",{className:"min-w-0 flex-1",children:[e&&jsxRuntime.jsx("div",{className:"mb-1",children:typeof e=="string"?jsxRuntime.jsx($,{tag:"h3",size:"sm",className:"text-text-heading",children:e}):e}),t&&jsxRuntime.jsx("div",{className:"text-sm text-text-muted",children:t})]}),o&&jsxRuntime.jsx("div",{className:"flex-shrink-0",children:o})]})})}function Pe({src:e,alt:t,aspectRatio:o="auto",className:r,children:a,isLoading:n=false}){return n?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("bg-background-muted",se[o],r),children:jsxRuntime.jsx(D,{width:"100%",height:"100%"})}):a?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("overflow-hidden",se[o],r),children:a}):e?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("overflow-hidden",se[o],r),children:jsxRuntime.jsx("img",{src:e,alt:t||"",className:"w-full h-full object-cover",loading:"lazy"})}):null}function Ne({className:e,children:t,isLoading:o=false}){let a=e?.match(/p(?:t|b|l|r|x|y)?-(?:\d+(?:\.\d+)?|px|\[.+?\])/)?"":"px-6 py-4";return o?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge(a,e),children:jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(D,{width:"100%",height:16}),jsxRuntime.jsx(D,{width:"80%",height:16}),jsxRuntime.jsx(D,{width:"60%",height:16})]})}):t?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("px-6 py-4 text-text-body",e),children:t}):null}function we({className:e,children:t,align:o="end",isLoading:r=false}){return r?jsxRuntime.jsxs("div",{className:tailwindMerge.twMerge("px-6 py-4 flex gap-2 justify-end",e),children:[jsxRuntime.jsx(D,{width:80,height:32}),jsxRuntime.jsx(D,{width:60,height:32})]}):t?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("px-6 py-4 flex items-center gap-2",lt[o],e),children:t}):null}H.Header=ye;H.Media=Pe;H.Content=Ne;H.Footer=we;var I=class extends Ee.Component{constructor(){super(...arguments);oe(this,"state",{hasError:false});oe(this,"handleRetry",()=>{this.setState({hasError:false,error:void 0}),typeof window<"u"&&window.location.reload();});}static getDerivedStateFromError(o){return {hasError:true,error:o}}componentDidCatch(o,r){console.error("Error Boundary caught an error:",o,r);}render(){return this.state.hasError?this.props.fallback?this.props.fallback:jsxRuntime.jsxs(H,{children:[this.props.title&&jsxRuntime.jsx(H.Header,{title:this.props.title}),jsxRuntime.jsx(H.Content,{children:jsxRuntime.jsxs("div",{className:"flex flex-col items-center justify-center gap-4","data-testid":"error-boundary",children:[jsxRuntime.jsx("p",{className:"text-red-500",children:this.state.error?.message||"Something went wrong"}),jsxRuntime.jsx("button",{className:"rounded bg-blue-500 px-4 py-2 text-white hover:bg-blue-600",onClick:this.handleRetry,children:"Retry"})]})})]}):this.props.children}};function T({transparent:e=false,className:t,children:o,...r}){return jsxRuntime.jsx(reactAriaComponents.ModalOverlay,{...r,className:reactAriaComponents.composeRenderProps(t,(a,n)=>tailwindMerge.twMerge("fixed inset-0 z-50",e?"bg-transparent":["bg-gradient-to-br from-black/20 via-black/15 to-black/20","backdrop-blur-[2px]","supports-[backdrop-filter]:bg-black/15"].join(" "),n.isEntering&&["animate-in fade-in","duration-300 ease-out"].join(" "),n.isExiting&&["animate-out fade-out","duration-200 ease-in"].join(" "),a)),children:o})}function X({children:e,title:t,headerContent:o,titleAlign:r="left",hideCloseIcon:a=false,hasBackArrow:n=false,onBack:s,isOpen:i,onClose:l,isDismissable:d=true,transparentOverlay:u=false,primaryAction:c,secondaryAction:g,footerContent:x,maxHeight:v="80vh",height:C,maxWidth:k="640px",contentPadding:y=true,showHandle:m=true,animationVariant:h="scale",className:P}){let[f,N]=Ee.useState(false);if(Ee.useEffect(()=>{if(i){let B=setTimeout(()=>{N(true),setTimeout(()=>N(false),600);},400);return ()=>clearTimeout(B)}},[i]),!i)return null;let A=t||o,V=c||g||x;return jsxRuntime.jsx(I,{children:jsxRuntime.jsx(T,{isOpen:i,onOpenChange:B=>{B||l?.();},isDismissable:d,transparent:u,className:"flex items-end justify-center p-0 sm:p-4",children:jsxRuntime.jsx(reactAriaComponents.Modal,{className:"w-full max-w-full p-0 sm:p-2",isDismissable:d,children:jsxRuntime.jsxs(reactAriaComponents.Dialog,{className:tailwindMerge.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",h==="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)]",h==="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)]",P),style:{maxWidth:k,...C?{height:C}:{maxHeight:v}},children:[m&&jsxRuntime.jsx("div",{className:"absolute top-2 left-1/2 -translate-x-1/2 z-10 flex justify-center",children:jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("h-1 w-12 rounded-full bg-border-muted transition-all duration-300","hover:bg-border-default hover:w-16",f&&"animate-[handle-wiggle_0.6s_ease-in-out]")})}),A&&(n?jsxRuntime.jsx(w,{title:t,headerContent:o,titleAlign:r,hideCloseIcon:a||!l,hasBackArrow:true,onBack:s??(()=>{}),onClose:l||(()=>{})}):jsxRuntime.jsx(w,{title:t,headerContent:o,titleAlign:r,hideCloseIcon:a||!l,onClose:l||(()=>{})})),jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("flex-1 min-h-0 overflow-y-auto overscroll-contain",y?"p-4":"p-0"),children:e}),V&&jsxRuntime.jsx(L,{primaryAction:c,secondaryAction:g,footerContent:x})]})})})})}X.displayName="Tray";function de({isOpen:e,onClose:t,title:o,headerContent:r,titleAlign:a="left",hideCloseIcon:n=false,hasBackArrow:s=false,onBack:i,children:l,primaryAction:d,secondaryAction:u,footerContent:c,transparentOverlay:g=false,maxWidth:x="600px",minWidth:v="400px",maxHeight:C="85vh",height:k,mobileMaxHeight:y="90vh",mobileHeight:m,contentPadding:h=true,className:P}){if(e===false)return null;let f=o||r,N=d||u||c,A=e!==void 0;return ce("(max-width: 767px)")?A?jsxRuntime.jsx(X,{isOpen:e,onClose:t,title:o,headerContent:r,titleAlign:a,hideCloseIcon:n,hasBackArrow:s,onBack:i,primaryAction:d,secondaryAction:u,footerContent:c,transparentOverlay:g,maxHeight:y,height:m,maxWidth:x,contentPadding:h,showHandle:true,animationVariant:"scale",className:P,children:l}):jsxRuntime.jsx(I,{children:jsxRuntime.jsx(T,{isDismissable:true,transparent:g,className:"flex items-end justify-center",children:jsxRuntime.jsx(reactAriaComponents.Modal,{className:"w-full max-w-fit p-0",children:jsxRuntime.jsxs(reactAriaComponents.Dialog,{className:tailwindMerge.twMerge("relative flex w-full flex-col","bg-background-surface dark:bg-gray-800","shadow-2xl shadow-black/20","border-t border-x border-border-default/40","max-h-[90vh]","rounded-none","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",P),style:{maxWidth:x,...m?{height:m}:{maxHeight:y}},children:[jsxRuntime.jsx("div",{className:"flex justify-center pt-2",children:jsxRuntime.jsx("div",{className:"h-1.5 w-12 rounded-full bg-border-muted"})}),f&&(s?jsxRuntime.jsx(w,{title:o,headerContent:r,titleAlign:a,hideCloseIcon:n||!t,hasBackArrow:true,onBack:i,onClose:t||(()=>{})}):jsxRuntime.jsx(w,{title:o,headerContent:r,titleAlign:a,hideCloseIcon:n||!t,onClose:t||(()=>{})})),jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("flex-1 min-h-0 overflow-y-auto overscroll-contain",h?"px-6 py-6":"p-0"),children:l}),N&&jsxRuntime.jsx(L,{primaryAction:d,secondaryAction:u,footerContent:c})]})})})}):jsxRuntime.jsx(I,{children:jsxRuntime.jsx(T,{...A?{isOpen:e,onOpenChange:B=>{!B&&t&&t();}}:{},isDismissable:true,transparent:g,className:"flex items-center justify-center",children:jsxRuntime.jsx(reactAriaComponents.Modal,{className:"w-full p-4",style:{maxWidth:x},children:jsxRuntime.jsxs(reactAriaComponents.Dialog,{className:tailwindMerge.twMerge("relative flex w-full flex-col","bg-background-surface dark:bg-gray-800","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",P),style:{minWidth:v,...k?{height:k}:{maxHeight:C}},children:[f&&(s?jsxRuntime.jsx(w,{title:o,headerContent:r,titleAlign:a,hideCloseIcon:n||!t,hasBackArrow:true,onBack:i,onClose:t||(()=>{})}):jsxRuntime.jsx(w,{title:o,headerContent:r,titleAlign:a,hideCloseIcon:n||!t,onClose:t||(()=>{})})),jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("flex-1 min-h-0 overflow-y-auto",h?"px-6 py-6":"p-0"),children:l}),N&&jsxRuntime.jsx(L,{primaryAction:d,secondaryAction:u,footerContent:c})]})})})})}function q(e){return jsxRuntime.jsx(reactAriaComponents.Form,{validationBehavior:"aria",...e,className:tailwindMerge.twMerge("flex flex-col gap-6",e.className)})}function Ur({formId:e="dialog-form",onSubmit:t,primaryLabel:o="Save",secondaryLabel:r="Cancel",onCancel:a,primaryVariant:n,secondaryVariant:s="secondary",children:i,title:l,...d}){return jsxRuntime.jsx(de,{title:l,primaryAction:{label:o,onPress:()=>{let c=document.getElementById(e);c&&c.requestSubmit();},variant:n},secondaryAction:a?{label:r,onPress:a,variant:s}:void 0,...d,children:jsxRuntime.jsx(q,{id:e,onSubmit:t,children:i})})}function K({children:e,title:t,headerContent:o,titleAlign:r="left",hideCloseIcon:a=false,hasBackArrow:n=false,onBack:s,isOpen:i,slideInFrom:l="right",transparentOverlay:d=false,onClose:u,className:c,primaryAction:g,secondaryAction:x,footerContent:v,contentPadding:C=true,maxWidth:k="400px"}){let[y,m]=Ee.useState(false);if(Ee.useEffect(()=>{if(i){let f=setTimeout(()=>m(true),10);return ()=>clearTimeout(f)}m(false);},[i]),!i)return null;let h=t||o,P=g||x||v;return jsxRuntime.jsx(I,{children:jsxRuntime.jsx(T,{isOpen:i,onOpenChange:f=>!f&&u?.(),isDismissable:true,transparent:d,children:jsxRuntime.jsx(reactAriaComponents.Modal,{className:"flex justify-end",isDismissable:true,children:jsxRuntime.jsxs(reactAriaComponents.Dialog,{className:tailwindMerge.twMerge("fixed bottom-0 top-0 z-50 flex w-full flex-col bg-background-surface shadow-xl duration-300 h-full min-h-0 overflow-hidden dark:bg-gray-800","outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-action-default focus-visible:outline-offset-0",y?l==="right"?"animate-in slide-in-from-right":"animate-in slide-in-from-left":"",c),style:{[l==="right"?"right":"left"]:0,maxWidth:k,transform:y?void 0:l==="right"?"translateX(100%)":"translateX(-100%)"},children:[h&&(n&&s?jsxRuntime.jsx(w,{title:t,headerContent:o,titleAlign:r,hideCloseIcon:a,hasBackArrow:true,onBack:s,onClose:u}):jsxRuntime.jsx(w,{title:t,headerContent:o,titleAlign:r,hideCloseIcon:a,onClose:u})),jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("flex-1 overflow-y-auto overscroll-contain",C?"px-6 py-6":"p-0"),children:e}),P&&jsxRuntime.jsx(L,{primaryAction:g,secondaryAction:x,footerContent:v})]})})})})}K.displayName="Drawer";function la({formId:e="drawer-form",onSubmit:t,primaryLabel:o="Save",secondaryLabel:r="Cancel",onCancel:a,primaryVariant:n,secondaryVariant:s="secondary",children:i,...l}){return jsxRuntime.jsx(K,{primaryAction:{label:o,onPress:()=>{let u=document.getElementById(e);u&&u.requestSubmit();},variant:n},secondaryAction:a?{label:r,onPress:a,variant:s}:void 0,...l,children:jsxRuntime.jsx(q,{id:e,onSubmit:t,className:"mt-2",children:i})})}function ua({align:e="end",className:t,...o}){return jsxRuntime.jsx("div",{...o,className:tailwindMerge.twMerge("flex gap-2",e==="start"?"justify-start":e==="between"?"justify-between":"justify-end",t)})}var Ft={sm:"gap-2",md:"gap-4",lg:"gap-6"};function It(e){if(!e)return "";let t=e.base?`grid-cols-${e.base}`:"",o=e.md?`md:grid-cols-${e.md}`:"",r=e.lg?`lg:grid-cols-${e.lg}`:"";return [t,o,r].filter(Boolean).join(" ")}function ba({cols:e={base:1},gap:t="lg",className:o,...r}){return jsxRuntime.jsx("div",{...r,className:tailwindMerge.twMerge("grid",It(e),Ft[t],o)})}function Ie({size:e="md",className:t,children:o,...r}){return jsxRuntime.jsx("div",{...r,className:tailwindMerge.twMerge("leading-[2.25] text-text-caption",_[e].text,t),children:o})}function Sa({title:e,description:t,showDivider:o,className:r,children:a,...n}){return jsxRuntime.jsxs("section",{...n,className:tailwindMerge.twMerge("flex flex-col",r),children:[(e||t)&&jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 mb-6",children:[typeof e=="string"?jsxRuntime.jsx($,{tag:"h3",size:"sm",children:e}):e,t?jsxRuntime.jsx(Ie,{size:"lg",children:t}):null]}),jsxRuntime.jsx("div",{className:"flex flex-col gap-6",children:a}),o&&jsxRuntime.jsx("hr",{className:"mt-2 border-border-muted"})]})}function Fa(){return jsxRuntime.jsx("hr",{className:"border-border-muted"})}function za({steps:e,currentStepId:t,onStepClick:o,className:r}){let a=e.findIndex(n=>n.id===t);return jsxRuntime.jsx("nav",{"aria-label":"Progress",className:tailwindMerge.twMerge("w-full",r),children:jsxRuntime.jsxs("div",{className:"relative mb-20",children:[jsxRuntime.jsxs("div",{className:"absolute top-5 left-0 right-0 flex items-center justify-between",children:[jsxRuntime.jsx("div",{className:"w-10 flex-shrink-0"}),e.slice(0,-1).map((n,s)=>jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("h-0.5 flex-1 transition-colors",s<a?"bg-action-default":"bg-border-default")},s)),jsxRuntime.jsx("div",{className:"w-10 flex-shrink-0"})]}),jsxRuntime.jsx("ol",{className:"relative flex items-start justify-between",children:e.map((n,s)=>{let i=n.id===t,l=s<a,d=o&&(l||i);return jsxRuntime.jsxs("li",{className:"flex flex-col items-center",children:[jsxRuntime.jsx("button",{type:"button",disabled:!d,onClick:()=>d&&o?.(n.id),className:tailwindMerge.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-default bg-action-default text-text-onPrimary hover:bg-action-default/90",i&&"border-action-default bg-background-body text-action-default",!l&&!i&&"border-border-default bg-background-body text-text-muted",d&&"cursor-pointer",!d&&"cursor-default"),"aria-current":i?"step":void 0,children:l?jsxRuntime.jsx(R,{name:"Check",size:20,weight:"bold"}):jsxRuntime.jsx("span",{className:"text-sm font-semibold",children:s+1})}),jsxRuntime.jsxs("div",{className:"mt-3 flex flex-col items-center text-center w-32",children:[jsxRuntime.jsx("span",{className:tailwindMerge.twMerge("text-sm font-medium",i&&"text-text-default",l&&"text-text-body",!i&&!l&&"text-text-muted"),children:n.title}),n.description&&jsxRuntime.jsx("span",{className:"mt-1 text-xs text-text-caption",children:n.description})]})]},n.id)})})]})})}function $a({formId:e,show:t,isSubmitting:o,onCancel:r,primaryLabel:a="Save changes",secondaryLabel:n="Cancel",className:s}){return t?jsxRuntime.jsx("div",{className:tailwindMerge.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:jsxRuntime.jsxs("div",{className:"mx-auto flex max-w-screen-lg items-center justify-between gap-3 p-3",children:[jsxRuntime.jsx("div",{className:"text-sm text-text-muted",children:"You have unsaved changes"}),jsxRuntime.jsxs("div",{className:"flex gap-2",children:[jsxRuntime.jsx(S,{variant:"secondary",onPress:r,children:n}),jsxRuntime.jsx(S,{type:"submit",form:e,isDisabled:!!o,children:o?"Saving...":a})]})]})}):null}function ja({when:e,message:t="You have unsaved changes. Leave anyway?"}){return Ee__namespace.useEffect(()=>{if(!e)return;let o=r=>(r.preventDefault(),r.returnValue=t,t);return window.addEventListener("beforeunload",o),()=>window.removeEventListener("beforeunload",o)},[e,t]),null}function Ga({steps:e,initialStepId:t,canNavigate:o}){if(e.length===0)throw new Error("useWizard: steps array cannot be empty");let[r,a]=Ee__namespace.useState(t||e[0].id),n=e.findIndex(c=>c.id===r),s=n>0,i=n<e.length-1,l=async c=>c===r?true:o&&!await o(r,c)?false:(a(c),true);return {steps:e,currentStepId:r,setCurrentStepId:l,next:async()=>!i||n===-1?false:l(e[n+1].id),prev:async()=>!s||n===-1?false:l(e[n-1].id),hasNext:i,hasPrev:s,stepIndex:n}}exports.DialogForm=Ur;exports.DrawerForm=la;exports.FormActions=ua;exports.FormDivider=Fa;exports.FormGrid=ba;exports.FormSection=Sa;exports.FormStepper=za;exports.SaveBar=$a;exports.UnsavedChangesPrompt=ja;exports.useWizard=Ga;//# sourceMappingURL=index.cjs.map
1
+ 'use strict';var reactAriaComponents=require('react-aria-components'),tailwindMerge=require('tailwind-merge'),Ee=require('react'),We=require('@phosphor-icons/react'),jsxRuntime=require('react/jsx-runtime');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var Ee__namespace=/*#__PURE__*/_interopNamespace(Ee);var We__namespace=/*#__PURE__*/_interopNamespace(We);var Te=Object.defineProperty;var Ae=(e,t,o)=>t in e?Te(e,t,{enumerable:true,configurable:true,writable:true,value:o}):e[t]=o;var oe=(e,t,o)=>Ae(e,typeof t!="symbol"?t+"":t,o);function ce(e,t=false){let[o,r]=Ee.useState(t);return Ee.useEffect(()=>{if(typeof window>"u")return;let a=window.matchMedia(e);r(a.matches);let n=s=>{r(s.matches);};return a.addEventListener("change",n),()=>{a.removeEventListener("change",n);}},[e]),o}function pe(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 _={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)]"}};var O={xs:16,sm:20,md:24,lg:32,xl:40,"2xl":48},R=Ee.memo(({name:e,size:t="md",color:o,weight:r="regular",className:a,ariaLabel:n,...s})=>{let i=We__namespace[e];if(!i)return process.env.NODE_ENV==="development"&&console.error(`Icon "${e}" not found in @phosphor-icons/react`),null;let l=typeof t=="string"&&t in O?O[t]:t,d=tailwindMerge.twMerge("inline-block flex-shrink-0",!o&&"text-current",a);return jsxRuntime.jsx(i,{...s,size:l,color:o,weight:r,className:d,"aria-label":n||`${e} icon`,"data-testid":`icon-${e}`})});R.displayName="Icon";var me=Ee.memo(({variant:e="subtle",shape:t="square",containerSize:o,containerClassName:r,size:a="md",className:n,name:s,color:i,weight:l,ariaLabel:d,ref:u,...c})=>{let g=typeof a=="string"&&a in O?O[a]:a,x=o?typeof o=="string"&&o in O?O[o]:o:g*1.75,v=tailwindMerge.twMerge("inline-flex items-center justify-center flex-shrink-0",t==="circle"?"rounded-full":"rounded-lg",e==="subtle"&&"bg-gray-100 dark:bg-gray-800",e==="solid"&&"bg-brand text-white",e==="outline"&&"border-2 border-current",r);return jsxRuntime.jsx("div",{className:v,style:{width:x,height:x},children:jsxRuntime.jsx(R,{...c,name:s,size:a,color:i,weight:l,className:n,ariaLabel:d})})});me.displayName="IconWithContainer";var Ve="flex font-medium justify-center items-center gap-2 text-center transition rounded-[var(--control-border-radius)] whitespace-nowrap box-border",Ge={default:"bg-action-default text-[color:var(--color-action-default-text)] hover:bg-action-default-hover forced-colors:bg-[ButtonText] forced-colors:text-[ButtonFace] border-2 border-transparent",brand:"bg-action-brand text-[color:var(--color-action-brand-text)] hover:bg-action-brand-hover forced-colors:bg-[ButtonText] forced-colors:text-[ButtonFace] border-2 border-transparent",secondary:"bg-transparent text-text-body border-2 border-border-muted hover:bg-text-body/5 forced-colors:border-[ButtonBorder] forced-colors:bg-[ButtonFace] forced-colors:text-[ButtonText]",ghost:"border-none text-text-body hover:bg-text-body/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-brand hover:text-action-brand/90 hover:underline hover:decoration-2 hover:underline-offset-4",icon:"border-none text-text-body hover:bg-background-hover hover:text-text-heading forced-colors:text-[ButtonText] forced-colors:hover:bg-[ButtonFace] p-1 flex-shrink-0 rounded-[var(--control-border-radius)]",unstyled:"bg-transparent"},be={full:"w-full",default:"w-fit"},Ue="opacity-50 cursor-not-allowed pointer-events-none",qe="opacity-100 cursor-pointer",Ye={"top-right":"-right-2 -top-2","top-left":"-left-2 -top-2","bottom-right":"-right-2 -bottom-2","bottom-left":"-left-2 -bottom-2"},Qe={primary:"bg-action-brand text-white",destructive:"bg-action-destructive text-white"};function Xe(e){return e?e==="primary"?"brand":e:"default"}function Je(e){let{variant:t="default",size:o="md",isDisabled:r,fullWidth:a=false,isLoading:n=false}=e,s=Xe(t),i=s==="unstyled"?"":`${Ve} ${Ge[s]}`;s!=="unstyled"&&(i+=` ${_[o].text} ${_[o].height} ${_[o].padding} ${_[o].gap}`),r||n?i+=` ${Ue}`:i+=` ${qe}`,a?i+=` ${be.full}`:i+=` ${be.default}`;let l=s==="brand"?"focus-visible:outline-action-brand":void 0;return [i,pe(),l].filter(Boolean).join(" ")}function S(e){let{icon:t,children:o,isLoading:r=false,loadingText:a,loadingIndicator:n,size:s="md",iconPosition:i="left",iconWeight:l,href:d,className:u,badgeNumber:c,badgeVariant:g="primary",badgePosition:x="top-right",style:v,target:C,rel:k,...y}=e,m=t?jsxRuntime.jsx(R,{name:t,size:s,weight:l}):null,h=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[i==="left"&&m,typeof o=="function"?null:o,i==="right"&&m]}),P=jsxRuntime.jsxs("div",{className:"relative inline-flex items-center justify-center",children:[jsxRuntime.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:n||jsxRuntime.jsx(R,{name:"CircleNotch",size:s,className:"animate-spin","aria-hidden":"true"})}),jsxRuntime.jsx("div",{className:"invisible","aria-hidden":"true",children:h}),a&&jsxRuntime.jsx("span",{className:"sr-only",role:"status","aria-live":"polite",children:a})]}),f=(c??0)>0,N=tailwindMerge.twMerge(Je(e),u),A=d?{href:d,target:C,rel:k,...y}:{};if(d){let{onPress:B,onPressStart:Tt,onPressEnd:At,onPressChange:_t,onPressUp:$t,onAuxClick:Wt,onContextMenu:Ot,onDoubleClick:jt,...Le}=y;Object.assign(A,Le);}let V=d?jsxRuntime.jsx(reactAriaComponents.Link,{...A,...r&&{"aria-busy":true},style:f?void 0:v,className:N,children:r?P:typeof o=="function"?(function(B){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[i==="left"&&m,o(B),i==="right"&&m]})}):h}):jsxRuntime.jsx(reactAriaComponents.Button,{...y,...r&&{"aria-busy":true},style:f?void 0:v,className:N,children:r?P:typeof o=="function"?(function(B){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[i==="left"&&m,o(B),i==="right"&&m]})}):h});return f?jsxRuntime.jsxs("div",{className:tailwindMerge.twMerge("relative flex",u),style:v,children:[V,jsxRuntime.jsx("span",{className:`absolute ${Ye[x]} flex h-5 w-5 items-center justify-center rounded-full ${Qe[g]} text-xs font-medium`,"aria-label":`${c} items`,children:c})]}):V}function L({primaryAction:e,secondaryAction:t,footerContent:o}){let r=e||t;return !r&&!o?null:jsxRuntime.jsxs("div",{className:"flex h-28 w-full flex-col items-center justify-center border-t p-4",children:[o&&jsxRuntime.jsx("div",{className:"flex h-10 justify-center",children:o}),r&&jsxRuntime.jsxs("div",{className:"flex h-full w-full items-center justify-end gap-3",children:[t&&jsxRuntime.jsx(S,{size:t.size||"lg",variant:t.variant||"secondary",onPress:t.onPress,isLoading:t.isLoading,isDisabled:t.isDisabled,children:t.label}),e&&jsxRuntime.jsx(S,{size:e.size||"lg",variant:e.variant,onPress:e.onPress,isLoading:e.isLoading,isDisabled:e.isDisabled,children:e.label})]})]})}var Ze={xs:"text-lg font-semibold",sm:"text-xl font-semibold",md:"text-2xl font-semibold",lg:"text-3xl font-semibold",xl:"text-4xl font-semibold"},et={page:"h-16 leading-[62px]"};function $({tag:e="h1",size:t="lg",height:o,className:r="",children:a}){let n=Ze[t],s=o?et[o]:"";return jsxRuntime.jsx(e,{className:tailwindMerge.twMerge(n,s,r),children:a})}var w=({title:e,onClose:t,hideCloseIcon:o=false,titleAlign:r="left",hasBackArrow:a=false,onBack:n,headerContent:s})=>jsxRuntime.jsxs("div",{className:tailwindMerge.twMerge("relative flex h-16 w-full flex-shrink-0 items-center justify-between border-b px-6",e&&"border-b",r==="center"?"justify-center":""),children:[a&&jsxRuntime.jsx(S,{variant:"icon",onPress:n,className:"absolute left-6","aria-label":"Go back",children:jsxRuntime.jsx(R,{name:"CaretLeft","data-testid":"back-arrow"})}),s||jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e&&jsxRuntime.jsx($,{size:"xs",children:e}),t&&!o&&jsxRuntime.jsx(S,{variant:"icon",onPress:t,"aria-label":"Close dialog",children:jsxRuntime.jsx(R,{name:"X","data-testid":"close-button"})})]})]});var D=({width:e,height:t,variant:o="rect",animation:r="pulse",gradient:a=false,flex:n=false,stack:s,responsive:i,delay:l=0,adjustAnimationSpeedBasedOnWidth:d=false,ariaLabel:u,className:c,"data-testid":g})=>{let[x,v]=Ee.useState(l===0);if(Ee.useEffect(()=>{if(l>0){let f=setTimeout(()=>v(true),l);return ()=>clearTimeout(f)}},[l]),!x)return null;let C=a?"bg-gradient-to-r from-[var(--color-skeleton-base)] via-[var(--color-skeleton-highlight)] to-[var(--color-skeleton-base)]":"bg-[var(--color-skeleton-base)]",k=d&&e?(()=>{let f=typeof e=="number"?e:parseFloat(String(e));return isNaN(f)?"":`animation-duration-[${Math.max(.8,f/100)}s]`})():"",y=r==="pulse"?`animate-pulse ${k}`:r==="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 ${k}`:"",m="rounded-sm";o==="circle"&&(m="rounded-full"),o==="text"&&(m="h-4 w-full rounded-sm");let h=n?"flex-1 min-w-0":"",P=i?Object.entries(i).map(([f,N])=>`${f}:w-[${N}]`).join(" "):"";return s?jsxRuntime.jsx("div",{className:"space-y-2","data-testid":g,children:s.map((f,N)=>jsxRuntime.jsx("div",{className:tailwindMerge.twMerge(C,y,m,h,P,c),style:{width:f,height:t}},N))}):jsxRuntime.jsx("div",{className:tailwindMerge.twMerge(C,y,m,h,P,c),style:{width:e,height:t},role:"presentation","aria-hidden":!u,"aria-label":u??void 0,"data-testid":g})};var it={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"},st="rounded-lg",se={square:"aspect-square",video:"aspect-video",wide:"aspect-[2/1]",auto:""},lt={start:"justify-start",end:"justify-end",center:"justify-center",between:"justify-between"};function H({variant:e="outlined",className:t,children:o,isLoading:r=false}){return jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("w-full overflow-hidden",it[e],st,t),"data-testid":"card",children:r?jsxRuntime.jsx(D,{width:"100%",height:"100%",className:"rounded-none"}):o})}function ye({title:e,subtitle:t,actions:o,className:r,isLoading:a=false}){return a?jsxRuntime.jsxs("div",{className:tailwindMerge.twMerge("p-6 pb-4",r),children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-start mb-1",children:[jsxRuntime.jsx(D,{width:120,height:20}),jsxRuntime.jsx(D,{width:24,height:24})]}),t&&jsxRuntime.jsx(D,{width:200,height:16})]}):!e&&!t&&!o?null:jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("p-6 pb-4",r),children:jsxRuntime.jsxs("div",{className:"flex justify-between items-start gap-4",children:[jsxRuntime.jsxs("div",{className:"min-w-0 flex-1",children:[e&&jsxRuntime.jsx("div",{className:"mb-1",children:typeof e=="string"?jsxRuntime.jsx($,{tag:"h3",size:"sm",className:"text-text-heading",children:e}):e}),t&&jsxRuntime.jsx("div",{className:"text-sm text-text-muted",children:t})]}),o&&jsxRuntime.jsx("div",{className:"flex-shrink-0",children:o})]})})}function Pe({src:e,alt:t,aspectRatio:o="auto",className:r,children:a,isLoading:n=false}){return n?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("bg-background-muted",se[o],r),children:jsxRuntime.jsx(D,{width:"100%",height:"100%"})}):a?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("overflow-hidden",se[o],r),children:a}):e?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("overflow-hidden",se[o],r),children:jsxRuntime.jsx("img",{src:e,alt:t||"",className:"w-full h-full object-cover",loading:"lazy"})}):null}function Ne({className:e,children:t,isLoading:o=false}){let a=e?.match(/p(?:t|b|l|r|x|y)?-(?:\d+(?:\.\d+)?|px|\[.+?\])/)?"":"px-6 py-4";return o?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge(a,e),children:jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(D,{width:"100%",height:16}),jsxRuntime.jsx(D,{width:"80%",height:16}),jsxRuntime.jsx(D,{width:"60%",height:16})]})}):t?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("px-6 py-4 text-text-body",e),children:t}):null}function we({className:e,children:t,align:o="end",isLoading:r=false}){return r?jsxRuntime.jsxs("div",{className:tailwindMerge.twMerge("px-6 py-4 flex gap-2 justify-end",e),children:[jsxRuntime.jsx(D,{width:80,height:32}),jsxRuntime.jsx(D,{width:60,height:32})]}):t?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("px-6 py-4 flex items-center gap-2",lt[o],e),children:t}):null}H.Header=ye;H.Media=Pe;H.Content=Ne;H.Footer=we;var I=class extends Ee.Component{constructor(){super(...arguments);oe(this,"state",{hasError:false});oe(this,"handleRetry",()=>{this.setState({hasError:false,error:void 0}),typeof window<"u"&&window.location.reload();});}static getDerivedStateFromError(o){return {hasError:true,error:o}}componentDidCatch(o,r){console.error("Error Boundary caught an error:",o,r);}render(){return this.state.hasError?this.props.fallback?this.props.fallback:jsxRuntime.jsxs(H,{children:[this.props.title&&jsxRuntime.jsx(H.Header,{title:this.props.title}),jsxRuntime.jsx(H.Content,{children:jsxRuntime.jsxs("div",{className:"flex flex-col items-center justify-center gap-4","data-testid":"error-boundary",children:[jsxRuntime.jsx("p",{className:"text-red-500",children:this.state.error?.message||"Something went wrong"}),jsxRuntime.jsx("button",{className:"rounded bg-blue-500 px-4 py-2 text-white hover:bg-blue-600",onClick:this.handleRetry,children:"Retry"})]})})]}):this.props.children}};function T({transparent:e=false,className:t,children:o,...r}){return jsxRuntime.jsx(reactAriaComponents.ModalOverlay,{...r,className:reactAriaComponents.composeRenderProps(t,(a,n)=>tailwindMerge.twMerge("fixed inset-0 z-50",e?"bg-transparent":["bg-gradient-to-br from-black/20 via-black/15 to-black/20","backdrop-blur-[2px]","supports-[backdrop-filter]:bg-black/15"].join(" "),n.isEntering&&["animate-in fade-in","duration-300 ease-out"].join(" "),n.isExiting&&["animate-out fade-out","duration-200 ease-in"].join(" "),a)),children:o})}function X({children:e,title:t,headerContent:o,titleAlign:r="left",hideCloseIcon:a=false,hasBackArrow:n=false,onBack:s,isOpen:i,onClose:l,isDismissable:d=true,transparentOverlay:u=false,primaryAction:c,secondaryAction:g,footerContent:x,maxHeight:v="80vh",height:C,maxWidth:k="640px",contentPadding:y=true,showHandle:m=true,animationVariant:h="scale",className:P}){let[f,N]=Ee.useState(false);if(Ee.useEffect(()=>{if(i){let B=setTimeout(()=>{N(true),setTimeout(()=>N(false),600);},400);return ()=>clearTimeout(B)}},[i]),!i)return null;let A=t||o,V=c||g||x;return jsxRuntime.jsx(I,{children:jsxRuntime.jsx(T,{isOpen:i,onOpenChange:B=>{B||l?.();},isDismissable:d,transparent:u,className:"flex items-end justify-center p-0 sm:p-4",children:jsxRuntime.jsx(reactAriaComponents.Modal,{className:"w-full max-w-full p-0 sm:p-2",isDismissable:d,children:jsxRuntime.jsxs(reactAriaComponents.Dialog,{className:tailwindMerge.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",h==="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)]",h==="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)]",P),style:{maxWidth:k,...C?{height:C}:{maxHeight:v}},children:[m&&jsxRuntime.jsx("div",{className:"absolute top-2 left-1/2 -translate-x-1/2 z-10 flex justify-center",children:jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("h-1 w-12 rounded-full bg-border-muted transition-all duration-300","hover:bg-border-default hover:w-16",f&&"animate-[handle-wiggle_0.6s_ease-in-out]")})}),A&&(n?jsxRuntime.jsx(w,{title:t,headerContent:o,titleAlign:r,hideCloseIcon:a||!l,hasBackArrow:true,onBack:s??(()=>{}),onClose:l||(()=>{})}):jsxRuntime.jsx(w,{title:t,headerContent:o,titleAlign:r,hideCloseIcon:a||!l,onClose:l||(()=>{})})),jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("flex-1 min-h-0 overflow-y-auto overscroll-contain",y?"p-4":"p-0"),children:e}),V&&jsxRuntime.jsx(L,{primaryAction:c,secondaryAction:g,footerContent:x})]})})})})}X.displayName="Tray";function de({isOpen:e,onClose:t,title:o,headerContent:r,titleAlign:a="left",hideCloseIcon:n=false,hasBackArrow:s=false,onBack:i,children:l,primaryAction:d,secondaryAction:u,footerContent:c,transparentOverlay:g=false,maxWidth:x="600px",minWidth:v="400px",maxHeight:C="85vh",height:k,mobileMaxHeight:y="90vh",mobileHeight:m,contentPadding:h=true,className:P}){if(e===false)return null;let f=o||r,N=d||u||c,A=e!==void 0;return ce("(max-width: 767px)")?A?jsxRuntime.jsx(X,{isOpen:e,onClose:t,title:o,headerContent:r,titleAlign:a,hideCloseIcon:n,hasBackArrow:s,onBack:i,primaryAction:d,secondaryAction:u,footerContent:c,transparentOverlay:g,maxHeight:y,height:m,maxWidth:x,contentPadding:h,showHandle:true,animationVariant:"scale",className:P,children:l}):jsxRuntime.jsx(I,{children:jsxRuntime.jsx(T,{isDismissable:true,transparent:g,className:"flex items-end justify-center",children:jsxRuntime.jsx(reactAriaComponents.Modal,{className:"w-full p-0",children:jsxRuntime.jsxs(reactAriaComponents.Dialog,{className:tailwindMerge.twMerge("relative flex w-full flex-col","bg-background-surface dark:bg-gray-800","shadow-2xl shadow-black/20","border-t border-x border-border-default/40","max-h-[90vh]","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",P),style:{...m?{height:m}:{maxHeight:y}},children:[jsxRuntime.jsx("div",{className:"flex justify-center pt-2",children:jsxRuntime.jsx("div",{className:"h-1.5 w-12 rounded-full bg-border-muted"})}),f&&(s?jsxRuntime.jsx(w,{title:o,headerContent:r,titleAlign:a,hideCloseIcon:n||!t,hasBackArrow:true,onBack:i,onClose:t||(()=>{})}):jsxRuntime.jsx(w,{title:o,headerContent:r,titleAlign:a,hideCloseIcon:n||!t,onClose:t||(()=>{})})),jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("flex-1 min-h-0 overflow-y-auto overscroll-contain",h?"px-6 py-6":"p-0"),children:l}),N&&jsxRuntime.jsx(L,{primaryAction:d,secondaryAction:u,footerContent:c})]})})})}):jsxRuntime.jsx(I,{children:jsxRuntime.jsx(T,{...A?{isOpen:e,onOpenChange:B=>{!B&&t&&t();}}:{},isDismissable:true,transparent:g,className:"flex items-center justify-center",children:jsxRuntime.jsx(reactAriaComponents.Modal,{className:"w-full p-4",style:{maxWidth:x},children:jsxRuntime.jsxs(reactAriaComponents.Dialog,{className:tailwindMerge.twMerge("relative flex w-full flex-col","bg-background-surface dark:bg-gray-800","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",P),style:{minWidth:v,...k?{height:k}:{maxHeight:C}},children:[f&&(s?jsxRuntime.jsx(w,{title:o,headerContent:r,titleAlign:a,hideCloseIcon:n||!t,hasBackArrow:true,onBack:i,onClose:t||(()=>{})}):jsxRuntime.jsx(w,{title:o,headerContent:r,titleAlign:a,hideCloseIcon:n||!t,onClose:t||(()=>{})})),jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("flex-1 min-h-0 overflow-y-auto",h?"px-6 py-6":"p-0"),children:l}),N&&jsxRuntime.jsx(L,{primaryAction:d,secondaryAction:u,footerContent:c})]})})})})}function q(e){return jsxRuntime.jsx(reactAriaComponents.Form,{validationBehavior:"aria",...e,className:tailwindMerge.twMerge("flex flex-col gap-6",e.className)})}function Ur({formId:e="dialog-form",onSubmit:t,primaryLabel:o="Save",secondaryLabel:r="Cancel",onCancel:a,primaryVariant:n,secondaryVariant:s="secondary",children:i,title:l,...d}){return jsxRuntime.jsx(de,{title:l,primaryAction:{label:o,onPress:()=>{let c=document.getElementById(e);c&&c.requestSubmit();},variant:n},secondaryAction:a?{label:r,onPress:a,variant:s}:void 0,...d,children:jsxRuntime.jsx(q,{id:e,onSubmit:t,children:i})})}function K({children:e,title:t,headerContent:o,titleAlign:r="left",hideCloseIcon:a=false,hasBackArrow:n=false,onBack:s,isOpen:i,slideInFrom:l="right",transparentOverlay:d=false,onClose:u,className:c,primaryAction:g,secondaryAction:x,footerContent:v,contentPadding:C=true,maxWidth:k="400px"}){let[y,m]=Ee.useState(false);if(Ee.useEffect(()=>{if(i){let f=setTimeout(()=>m(true),10);return ()=>clearTimeout(f)}m(false);},[i]),!i)return null;let h=t||o,P=g||x||v;return jsxRuntime.jsx(I,{children:jsxRuntime.jsx(T,{isOpen:i,onOpenChange:f=>!f&&u?.(),isDismissable:true,transparent:d,children:jsxRuntime.jsx(reactAriaComponents.Modal,{className:"flex justify-end",isDismissable:true,children:jsxRuntime.jsxs(reactAriaComponents.Dialog,{className:tailwindMerge.twMerge("fixed bottom-0 top-0 z-50 flex w-full flex-col bg-background-surface shadow-xl duration-300 h-full min-h-0 overflow-hidden dark:bg-gray-800","outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-action-default focus-visible:outline-offset-0",y?l==="right"?"animate-in slide-in-from-right":"animate-in slide-in-from-left":"",c),style:{[l==="right"?"right":"left"]:0,maxWidth:k,transform:y?void 0:l==="right"?"translateX(100%)":"translateX(-100%)"},children:[h&&(n&&s?jsxRuntime.jsx(w,{title:t,headerContent:o,titleAlign:r,hideCloseIcon:a,hasBackArrow:true,onBack:s,onClose:u}):jsxRuntime.jsx(w,{title:t,headerContent:o,titleAlign:r,hideCloseIcon:a,onClose:u})),jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("flex-1 overflow-y-auto overscroll-contain",C?"px-6 py-6":"p-0"),children:e}),P&&jsxRuntime.jsx(L,{primaryAction:g,secondaryAction:x,footerContent:v})]})})})})}K.displayName="Drawer";function la({formId:e="drawer-form",onSubmit:t,primaryLabel:o="Save",secondaryLabel:r="Cancel",onCancel:a,primaryVariant:n,secondaryVariant:s="secondary",children:i,...l}){return jsxRuntime.jsx(K,{primaryAction:{label:o,onPress:()=>{let u=document.getElementById(e);u&&u.requestSubmit();},variant:n},secondaryAction:a?{label:r,onPress:a,variant:s}:void 0,...l,children:jsxRuntime.jsx(q,{id:e,onSubmit:t,className:"mt-2",children:i})})}function ua({align:e="end",className:t,...o}){return jsxRuntime.jsx("div",{...o,className:tailwindMerge.twMerge("flex gap-2",e==="start"?"justify-start":e==="between"?"justify-between":"justify-end",t)})}var Ft={sm:"gap-2",md:"gap-4",lg:"gap-6"};function It(e){if(!e)return "";let t=e.base?`grid-cols-${e.base}`:"",o=e.md?`md:grid-cols-${e.md}`:"",r=e.lg?`lg:grid-cols-${e.lg}`:"";return [t,o,r].filter(Boolean).join(" ")}function ba({cols:e={base:1},gap:t="lg",className:o,...r}){return jsxRuntime.jsx("div",{...r,className:tailwindMerge.twMerge("grid",It(e),Ft[t],o)})}function Ie({size:e="md",className:t,children:o,...r}){return jsxRuntime.jsx("div",{...r,className:tailwindMerge.twMerge("leading-[2.25] text-text-caption",_[e].text,t),children:o})}function Sa({title:e,description:t,showDivider:o,className:r,children:a,...n}){return jsxRuntime.jsxs("section",{...n,className:tailwindMerge.twMerge("flex flex-col",r),children:[(e||t)&&jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 mb-6",children:[typeof e=="string"?jsxRuntime.jsx($,{tag:"h3",size:"sm",children:e}):e,t?jsxRuntime.jsx(Ie,{size:"lg",children:t}):null]}),jsxRuntime.jsx("div",{className:"flex flex-col gap-6",children:a}),o&&jsxRuntime.jsx("hr",{className:"mt-2 border-border-muted"})]})}function Fa(){return jsxRuntime.jsx("hr",{className:"border-border-muted"})}function za({steps:e,currentStepId:t,onStepClick:o,className:r}){let a=e.findIndex(n=>n.id===t);return jsxRuntime.jsx("nav",{"aria-label":"Progress",className:tailwindMerge.twMerge("w-full",r),children:jsxRuntime.jsxs("div",{className:"relative mb-20",children:[jsxRuntime.jsxs("div",{className:"absolute top-5 left-0 right-0 flex items-center justify-between",children:[jsxRuntime.jsx("div",{className:"w-10 flex-shrink-0"}),e.slice(0,-1).map((n,s)=>jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("h-0.5 flex-1 transition-colors",s<a?"bg-action-default":"bg-border-default")},s)),jsxRuntime.jsx("div",{className:"w-10 flex-shrink-0"})]}),jsxRuntime.jsx("ol",{className:"relative flex items-start justify-between",children:e.map((n,s)=>{let i=n.id===t,l=s<a,d=o&&(l||i);return jsxRuntime.jsxs("li",{className:"flex flex-col items-center",children:[jsxRuntime.jsx("button",{type:"button",disabled:!d,onClick:()=>d&&o?.(n.id),className:tailwindMerge.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-default bg-action-default text-text-onPrimary hover:bg-action-default/90",i&&"border-action-default bg-background-body text-action-default",!l&&!i&&"border-border-default bg-background-body text-text-muted",d&&"cursor-pointer",!d&&"cursor-default"),"aria-current":i?"step":void 0,children:l?jsxRuntime.jsx(R,{name:"Check",size:20,weight:"bold"}):jsxRuntime.jsx("span",{className:"text-sm font-semibold",children:s+1})}),jsxRuntime.jsxs("div",{className:"mt-3 flex flex-col items-center text-center w-32",children:[jsxRuntime.jsx("span",{className:tailwindMerge.twMerge("text-sm font-medium",i&&"text-text-default",l&&"text-text-body",!i&&!l&&"text-text-muted"),children:n.title}),n.description&&jsxRuntime.jsx("span",{className:"mt-1 text-xs text-text-caption",children:n.description})]})]},n.id)})})]})})}function $a({formId:e,show:t,isSubmitting:o,onCancel:r,primaryLabel:a="Save changes",secondaryLabel:n="Cancel",className:s}){return t?jsxRuntime.jsx("div",{className:tailwindMerge.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:jsxRuntime.jsxs("div",{className:"mx-auto flex max-w-screen-lg items-center justify-between gap-3 p-3",children:[jsxRuntime.jsx("div",{className:"text-sm text-text-muted",children:"You have unsaved changes"}),jsxRuntime.jsxs("div",{className:"flex gap-2",children:[jsxRuntime.jsx(S,{variant:"secondary",onPress:r,children:n}),jsxRuntime.jsx(S,{type:"submit",form:e,isDisabled:!!o,children:o?"Saving...":a})]})]})}):null}function ja({when:e,message:t="You have unsaved changes. Leave anyway?"}){return Ee__namespace.useEffect(()=>{if(!e)return;let o=r=>(r.preventDefault(),r.returnValue=t,t);return window.addEventListener("beforeunload",o),()=>window.removeEventListener("beforeunload",o)},[e,t]),null}function Ga({steps:e,initialStepId:t,canNavigate:o}){if(e.length===0)throw new Error("useWizard: steps array cannot be empty");let[r,a]=Ee__namespace.useState(t||e[0].id),n=e.findIndex(c=>c.id===r),s=n>0,i=n<e.length-1,l=async c=>c===r?true:o&&!await o(r,c)?false:(a(c),true);return {steps:e,currentStepId:r,setCurrentStepId:l,next:async()=>!i||n===-1?false:l(e[n+1].id),prev:async()=>!s||n===-1?false:l(e[n-1].id),hasNext:i,hasPrev:s,stepIndex:n}}exports.DialogForm=Ur;exports.DrawerForm=la;exports.FormActions=ua;exports.FormDivider=Fa;exports.FormGrid=ba;exports.FormSection=Sa;exports.FormStepper=za;exports.SaveBar=$a;exports.UnsavedChangesPrompt=ja;exports.useWizard=Ga;//# sourceMappingURL=index.cjs.map
2
2
  //# sourceMappingURL=index.cjs.map