@tribepad/themis 1.9.4 → 1.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/elements/AlertDialog/index.js +1 -1
  3. package/dist/elements/AlertDialog/index.js.map +1 -1
  4. package/dist/elements/AlertDialog/index.mjs +1 -1
  5. package/dist/elements/AlertDialog/index.mjs.map +1 -1
  6. package/dist/elements/Breadcrumbs/index.js +1 -1
  7. package/dist/elements/Breadcrumbs/index.js.map +1 -1
  8. package/dist/elements/Breadcrumbs/index.mjs +1 -1
  9. package/dist/elements/Breadcrumbs/index.mjs.map +1 -1
  10. package/dist/elements/Button/index.js +1 -1
  11. package/dist/elements/Button/index.js.map +1 -1
  12. package/dist/elements/Button/index.mjs +1 -1
  13. package/dist/elements/Button/index.mjs.map +1 -1
  14. package/dist/elements/Card/index.js +1 -1
  15. package/dist/elements/Card/index.js.map +1 -1
  16. package/dist/elements/Card/index.mjs +1 -1
  17. package/dist/elements/Card/index.mjs.map +1 -1
  18. package/dist/elements/Carousel/Carousel.d.ts +8 -1
  19. package/dist/elements/Carousel/Carousel.d.ts.map +1 -1
  20. package/dist/elements/Carousel/LazyCarousel.d.ts +1 -1
  21. package/dist/elements/Carousel/LazyCarousel.d.ts.map +1 -1
  22. package/dist/elements/Carousel/index.js +1 -1
  23. package/dist/elements/Carousel/index.js.map +1 -1
  24. package/dist/elements/Carousel/index.mjs +1 -1
  25. package/dist/elements/Carousel/index.mjs.map +1 -1
  26. package/dist/elements/ChatInterface/ChatLiveRegions.d.ts +2 -2
  27. package/dist/elements/ChatInterface/ChatLiveRegions.d.ts.map +1 -1
  28. package/dist/elements/ChatInterface/ChatMessageBubble.d.ts +1 -1
  29. package/dist/elements/ChatInterface/ChatMessageBubble.d.ts.map +1 -1
  30. package/dist/elements/ChatInterface/ChatThinkingDisplay.d.ts +2 -2
  31. package/dist/elements/ChatInterface/ChatThinkingDisplay.d.ts.map +1 -1
  32. package/dist/elements/ChatInterface/ChatTypingIndicator.d.ts +2 -2
  33. package/dist/elements/ChatInterface/ChatTypingIndicator.d.ts.map +1 -1
  34. package/dist/elements/ChatInterface/index.js +1 -1
  35. package/dist/elements/ChatInterface/index.js.map +1 -1
  36. package/dist/elements/ChatInterface/index.mjs +1 -1
  37. package/dist/elements/ChatInterface/index.mjs.map +1 -1
  38. package/dist/elements/FeatureIcon/FeatureIcon.d.ts +3 -0
  39. package/dist/elements/FeatureIcon/FeatureIcon.d.ts.map +1 -0
  40. package/dist/elements/FeatureIcon/FeatureIcon.styles.d.ts +17 -0
  41. package/dist/elements/FeatureIcon/FeatureIcon.styles.d.ts.map +1 -0
  42. package/dist/elements/FeatureIcon/FeatureIcon.types.d.ts +137 -0
  43. package/dist/elements/FeatureIcon/FeatureIcon.types.d.ts.map +1 -0
  44. package/dist/elements/FeatureIcon/index.d.ts +25 -0
  45. package/dist/elements/FeatureIcon/index.d.ts.map +1 -0
  46. package/dist/elements/FeatureIcon/index.js +3 -0
  47. package/dist/elements/FeatureIcon/index.js.map +1 -0
  48. package/dist/elements/FeatureIcon/index.mjs +3 -0
  49. package/dist/elements/FeatureIcon/index.mjs.map +1 -0
  50. package/dist/elements/FileField/index.js +1 -1
  51. package/dist/elements/FileField/index.js.map +1 -1
  52. package/dist/elements/FileField/index.mjs +1 -1
  53. package/dist/elements/FileField/index.mjs.map +1 -1
  54. package/dist/elements/Filters/index.js +1 -1
  55. package/dist/elements/Filters/index.js.map +1 -1
  56. package/dist/elements/Filters/index.mjs +1 -1
  57. package/dist/elements/Filters/index.mjs.map +1 -1
  58. package/dist/elements/Modal/Modal.styles.d.ts +2 -2
  59. package/dist/elements/Modal/Modal.types.d.ts +2 -2
  60. package/dist/elements/NumberField/index.js +1 -1
  61. package/dist/elements/NumberField/index.js.map +1 -1
  62. package/dist/elements/NumberField/index.mjs +1 -1
  63. package/dist/elements/NumberField/index.mjs.map +1 -1
  64. package/dist/elements/PageTitle/index.js +1 -1
  65. package/dist/elements/PageTitle/index.js.map +1 -1
  66. package/dist/elements/PageTitle/index.mjs +1 -1
  67. package/dist/elements/PageTitle/index.mjs.map +1 -1
  68. package/dist/elements/Pagination/index.js +1 -1
  69. package/dist/elements/Pagination/index.js.map +1 -1
  70. package/dist/elements/Pagination/index.mjs +1 -1
  71. package/dist/elements/Pagination/index.mjs.map +1 -1
  72. package/dist/elements/Panel/Panel.d.ts +1 -1
  73. package/dist/elements/Panel/Panel.types.d.ts +2 -2
  74. package/dist/elements/PasswordField/index.js +1 -1
  75. package/dist/elements/PasswordField/index.js.map +1 -1
  76. package/dist/elements/PasswordField/index.mjs +1 -1
  77. package/dist/elements/PasswordField/index.mjs.map +1 -1
  78. package/dist/elements/Resizable/index.js +1 -1
  79. package/dist/elements/Resizable/index.js.map +1 -1
  80. package/dist/elements/Resizable/index.mjs +1 -1
  81. package/dist/elements/Resizable/index.mjs.map +1 -1
  82. package/dist/elements/SearchField/index.js +1 -1
  83. package/dist/elements/SearchField/index.js.map +1 -1
  84. package/dist/elements/SearchField/index.mjs +1 -1
  85. package/dist/elements/SearchField/index.mjs.map +1 -1
  86. package/dist/elements/Select/Select.d.ts +3 -3
  87. package/dist/elements/Select/Select.d.ts.map +1 -1
  88. package/dist/elements/Sidebar/Sidebar.styles.d.ts +1 -1
  89. package/dist/elements/Sidebar/Sidebar.styles.d.ts.map +1 -1
  90. package/dist/elements/Sidebar/Sidebar.types.d.ts +2 -2
  91. package/dist/elements/Sidebar/SidebarRail.d.ts.map +1 -1
  92. package/dist/elements/Sidebar/index.js +1 -1
  93. package/dist/elements/Sidebar/index.js.map +1 -1
  94. package/dist/elements/Sidebar/index.mjs +1 -1
  95. package/dist/elements/Sidebar/index.mjs.map +1 -1
  96. package/dist/elements/Table/index.js +1 -1
  97. package/dist/elements/Table/index.js.map +1 -1
  98. package/dist/elements/Table/index.mjs +1 -1
  99. package/dist/elements/Table/index.mjs.map +1 -1
  100. package/dist/elements/TextField/index.js +1 -1
  101. package/dist/elements/TextField/index.js.map +1 -1
  102. package/dist/elements/TextField/index.mjs +1 -1
  103. package/dist/elements/TextField/index.mjs.map +1 -1
  104. package/dist/elements/Timeline/index.js +1 -1
  105. package/dist/elements/Timeline/index.js.map +1 -1
  106. package/dist/elements/Timeline/index.mjs +1 -1
  107. package/dist/elements/Timeline/index.mjs.map +1 -1
  108. package/dist/elements/Toast/index.js +1 -1
  109. package/dist/elements/Toast/index.js.map +1 -1
  110. package/dist/elements/Toast/index.mjs +1 -1
  111. package/dist/elements/Toast/index.mjs.map +1 -1
  112. package/dist/elements/Wizard/index.js +1 -1
  113. package/dist/elements/Wizard/index.js.map +1 -1
  114. package/dist/elements/Wizard/index.mjs +1 -1
  115. package/dist/elements/Wizard/index.mjs.map +1 -1
  116. package/dist/elements/index.d.ts +2 -0
  117. package/dist/elements/index.d.ts.map +1 -1
  118. package/dist/elements/index.js +1 -1
  119. package/dist/elements/index.js.map +1 -1
  120. package/dist/elements/index.mjs +1 -1
  121. package/dist/elements/index.mjs.map +1 -1
  122. package/dist/index.js +2 -2
  123. package/dist/index.js.map +1 -1
  124. package/dist/index.mjs +2 -2
  125. package/dist/index.mjs.map +1 -1
  126. package/dist/styles/animations.css +15 -0
  127. package/package.json +16 -14
  128. package/src/elements/FeatureIcon/FeatureIcon.stories.tsx +164 -0
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import {createContext,forwardRef,memo,useId,Children,Activity,useState,useEffect,useRef,useCallback,useMemo,useContext,isValidElement}from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'class-variance-authority';import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {Loader2,Zap,Check,ArrowLeft,ArrowRight}from'lucide-react';import {Button}from'react-aria-components';import {z}from'zod';function v(...o){return twMerge(clsx(o))}var rt=createContext(null);function W(){let o=useContext(rt);if(!o)throw new Error("Wizard compound components must be used within <Wizard>");return o}var B=["motion-reduce:transition-none","motion-reduce:animate-none"],nt=["transition-colors","duration-200"];function G(...o){return o.flatMap(t=>Array.isArray(t)?[...t]:[t])}var ot=cva("flex min-h-0 flex-1 flex-col"),st=cva("flex min-h-0 flex-1 flex-col lg:flex-row"),dt=cva("flex min-w-0 flex-1 justify-center gap-8 overflow-y-auto bg-[var(--page-background)] p-6"),pt=cva("hidden w-56 shrink-0 pt-2 lg:block"),lt=cva("flex w-full max-w-2xl flex-col"),ct=cva("mt-3 text-center text-xs text-[var(--menu-muted)]"),ut=cva("hidden w-80 shrink-0 border-l border-[var(--border)] bg-[var(--accent-background)] p-6 xl:block"),mt=cva("flex flex-col gap-2"),ft=cva("text-xs font-semibold uppercase tracking-wide text-[var(--primary)]"),gt=cva("text-sm font-bold text-[var(--content-foreground)]"),xt=cva("mt-6 flex flex-col"),vt=cva("flex items-start"),zt=cva("flex w-11 shrink-0 flex-col items-center"),bt=cva(G("flex h-9 w-9 shrink-0 items-center justify-center rounded-full text-sm font-semibold",nt,B),{variants:{state:{completed:"bg-[var(--primary)] text-[var(--primary-foreground)] ring-4 ring-[var(--primary)]/25",current:"bg-[var(--primary)] text-[var(--primary-foreground)] ring-4 ring-[var(--primary)]/25",upcoming:"border border-[var(--border)] bg-[var(--content-background)] text-[var(--menu-muted)]"}},defaultVariants:{state:"upcoming"}}),St=cva(G("my-0.5 h-5 w-0.5",nt,B),{variants:{completed:{true:"bg-[var(--primary)]",false:"bg-[var(--border)]"}},defaultVariants:{completed:false}}),ht=cva("flex min-h-11 items-center pl-3"),wt=cva("flex flex-col justify-center"),Nt=cva("text-sm",{variants:{state:{completed:"font-medium text-[var(--content-foreground)]",current:"font-semibold text-[var(--content-foreground)]",upcoming:"text-[var(--menu-muted)]"}},defaultVariants:{state:"upcoming"}}),Wt=cva("text-xs text-[var(--content-foreground)]"),yt=cva("flex flex-col gap-6"),Lt=cva("flex items-start gap-4"),Vt=cva("flex h-12 w-12 shrink-0 items-center justify-center rounded-full bg-[var(--accent-background)] text-[var(--primary)]"),Ct=cva("text-lg font-bold text-[var(--content-foreground)] focus:outline-none"),Et=cva("mt-1 text-sm text-[var(--menu-muted)]"),$=cva("rounded-lg border border-[var(--border)] bg-[var(--content-background)] p-6 text-[var(--content-foreground)]"),Rt=cva("mt-4 flex items-center justify-between border-t border-[var(--border)] pt-4"),Tt=cva(""),Pt=cva("flex items-center gap-3"),It=cva("flex flex-col items-center gap-1.5 py-3 lg:hidden"),_t=cva("flex items-center justify-center gap-2"),At=cva(G("h-2 rounded-full transition-all duration-200",B),{variants:{state:{completed:"w-2 bg-[var(--primary)] opacity-60",current:"w-8 bg-[var(--primary)]",upcoming:"w-2 bg-[var(--border)]"}},defaultVariants:{state:"upcoming"}}),Ot=cva("text-xs font-medium text-[var(--menu-muted)]"),Dt=cva("text-[var(--content-foreground)]"),U=cva("sr-only");var F=forwardRef(function({children:t,stepper:c,preview:s,helpText:u,className:x,"data-testid":r="wizard-layout"},i){return jsxs("div",{ref:i,className:v(st(),x),"data-testid":r,children:[jsxs("div",{className:dt(),children:[c?jsx("nav",{className:pt(),"aria-label":"Wizard steps","data-testid":`${r}-stepper-slot`,children:c}):null,jsxs("div",{className:lt(),children:[t,u?jsx("p",{className:ct(),children:u}):null]})]}),s?jsx("aside",{className:ut(),"aria-hidden":"true","data-testid":`${r}-preview`,children:s}):null]})});F.displayName="Wizard.Layout";var qt=cva("inline-flex justify-center min-h-[44px] min-w-[44px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50",{variants:{fullWidth:{true:"w-full",false:""},inVerticalGroup:{true:"items-stretch",false:"items-center"}},defaultVariants:{fullWidth:false,inVerticalGroup:false}}),Xt=cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-normal ring-offset-background motion-safe:transition-transform motion-safe:duration-200 motion-safe:[transition-timing-function:cubic-bezier(0.34,1.56,0.64,1)] motion-reduce:transition-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 relative cursor-pointer",{variants:{variant:{default:"bg-[var(--primary-action)] text-[var(--primary-action-foreground)] shadow-md hover:bg-[var(--primary-action-hover)] hover:-translate-y-1",destructive:"bg-[var(--destructive-background)] text-[var(--destructive-foreground)] hover:bg-[var(--destructive-background-hover,var(--destructive-background))] motion-safe:hover:btn-warn-shake",outline:"border border-[var(--input-border)] bg-[var(--page-background)] hover:bg-[var(--input-border)]",secondary:"bg-[var(--secondary)] text-[var(--secondary-foreground)] hover:bg-[var(--secondary-hover,var(--secondary))]",ghost:"hover:bg-[var(--accent)] hover:text-[var(--accent-foreground)]",link:"text-[var(--text-link)] underline underline-offset-4 hover:bg-[var(--accent)] hover:text-[var(--text-link-hover)]"},fullWidth:{true:"w-full",false:""},visualSize:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3 text-xs",lg:"h-11 rounded-md px-6 text-base",icon:"h-10 w-10",dot:"h-5 w-5 rounded-full p-0 min-h-0 min-w-0"},paywall:{true:"!bg-[var(--paywall)] !text-[var(--paywall-foreground)] hover:!bg-[var(--paywall)]/90 !cursor-not-allowed !border-transparent",false:""}},defaultVariants:{variant:"default",visualSize:"default",paywall:false}});var Ht="data-[pressed]:scale-[0.97]";var Y="hc:data-[hovered]:outline hc:data-[hovered]:outline-2 hc:data-[hovered]:outline-foreground",j="hc:data-[pressed]:outline hc:data-[pressed]:outline-2 hc:data-[pressed]:outline-offset-1 hc:data-[pressed]:outline-foreground";var te=createContext(null);te.displayName="ButtonGroupContext";function ee(){return useContext(te)}var ae=createContext(null);ae.displayName="ButtonGroupItemContext";function re(){return useContext(ae)}cva("inline-flex items-center gap-0",{variants:{orientation:{horizontal:"flex-row",vertical:"flex-col w-full"}},defaultVariants:{orientation:"horizontal"}});var ie=cva("",{variants:{orientation:{horizontal:"min-w-[44px]",vertical:"flex min-h-[44px]"},position:{first:"",middle:"",last:"",only:""}},compoundVariants:[{orientation:"horizontal",position:"first",className:"rounded-r-none border-r-0"},{orientation:"horizontal",position:"middle",className:"rounded-none border-r-0"},{orientation:"horizontal",position:"last",className:"rounded-l-none"},{orientation:"vertical",position:"first",className:"rounded-b-none border-b-0"},{orientation:"vertical",position:"middle",className:"rounded-none border-b-0"},{orientation:"vertical",position:"last",className:"rounded-t-none"}],defaultVariants:{orientation:"horizontal",position:"only"}});cva("bg-[var(--border)]",{variants:{orientation:{horizontal:"w-px h-6 mx-1",vertical:"h-px w-full my-1"}},defaultVariants:{orientation:"horizontal"}});var I=memo(forwardRef(({className:o,buttonVisualClassName:t,variant:c,size:s,visualSize:u,fullWidth:x,loading:r=false,loadingText:i="Loading...",shortcut:z,children:m,isDisabled:f,paywall:p=false,paywallRedirect:g,paywallDescription:n,onPress:l,...d},b)=>{let w=useId(),S=ee(),y=re(),E=c??S?.variant??"default",V=s??S?.size,A=f??S?.isDisabled??false,R=S?.orientation==="vertical",T=x||R,O=y?ie({orientation:S?.orientation??"horizontal",position:y.position}):"",P=u??V??"default";return process.env.NODE_ENV!=="production"&&(P==="dot"||P==="icon")&&!d["aria-label"]&&!m&&console.warn('[Button] visualSize="dot" or "icon" requires aria-label when no visible text is provided (WCAG 1.1.1)'),jsx(Button,{ref:b,isDisabled:A||r||void 0,"aria-disabled":p?true:void 0,"aria-describedby":p?w:void 0,onPress:H=>{if(p){g&&window.open(g,"_blank","noopener,noreferrer");return}l?.(H);},className:v(qt({fullWidth:T,inVerticalGroup:R}),o),...d,children:H=>jsxs("span",{className:v(Xt({variant:E,visualSize:P,paywall:p,fullWidth:T}),O,t,Ht,"",Y,j),"data-pressed":H.isPressed||void 0,children:[r&&jsxs(Fragment,{children:[jsx(Loader2,{className:"motion-safe:animate-spin","aria-hidden":"true"}),jsx("span",{className:"sr-only","aria-live":"polite",children:i})]}),!r&&m,p&&jsx(Zap,{"data-testid":"zap-icon","aria-hidden":"true",className:"ml-1"}),p&&jsxs("span",{id:w,className:"sr-only",children:["Premium feature: ",n||"Upgrade required to access this feature"]}),H.isFocusVisible&&z&&jsx("kbd",{className:"ml-auto hidden text-xs opacity-60 lg:inline",children:z})]})})}));I.displayName="Button";var Z=forwardRef(function({sectionLabel:t,sectionNumber:c,totalSections:s,allowClickOnCompleted:u=true,className:x,"aria-label":r,"data-testid":i="wizard-stepper"},z){let{currentStepIndex:m,steps:f,onStepChange:p,isLoading:g}=W();return jsxs("div",{ref:z,className:v(mt(),x),"aria-label":r,"data-testid":i,children:[t&&c!==void 0&&s!==void 0?jsxs(Fragment,{children:[jsxs("p",{className:ft(),children:["Section ",c," of ",s]}),jsx("h2",{className:gt(),children:t})]}):null,jsx("ol",{className:xt(),children:f.map((n,l)=>{let d=l<m,b=l===m,w=d?"completed":b?"current":"upcoming",S=d&&u&&!g,y=l===f.length-1,E=bt({state:w}),V=jsx("span",{className:E,"aria-hidden":"true",children:d?jsx(Check,{className:"h-4 w-4"}):jsx("span",{children:l+1})});return jsx("li",{"data-testid":`${i}-item-${n.id}`,"aria-current":b?"step":void 0,children:jsxs("div",{className:vt(),children:[jsxs("div",{className:zt(),children:[S?jsx(I,{variant:"ghost",visualSize:"icon",buttonVisualClassName:"rounded-full","aria-label":`Go back to ${n.label}`,onPress:()=>p({index:l,id:n.id,label:n.label,reason:"jump"}),"data-testid":`${i}-button-${n.id}`,children:V}):jsx("span",{className:"flex h-11 w-11 items-center justify-center",children:V}),y?null:jsx("span",{className:St({completed:d}),"aria-hidden":"true"})]}),jsxs("div",{className:ht(),children:[jsxs("span",{className:wt(),children:[jsx("span",{className:Nt({state:w}),children:n.label}),b?jsx("span",{className:Wt(),children:"Current step"}):null]}),b?null:jsx("span",{className:"sr-only",children:d?"(completed)":"(upcoming)"})]})]})},n.id)})})]})});Z.displayName="Wizard.Stepper";var Te=Activity??function({children:t,mode:c}){return jsx("div",{"data-activity-mode":c,children:t})};function Pe(o){if(!isValidElement(o))return false;let t=o.type;return typeof t=="string"?false:t?.displayName==="Wizard.Step"}var X=forwardRef(function({children:t,className:c,"data-testid":s="wizard-content",preserveState:u=false},x){let{currentStepId:r,steps:i}=W(),z=Children.toArray(t).filter(Pe);if(process.env.NODE_ENV!=="production"){let f=z.map(l=>l.props.id),p=i.map(l=>l.id),g=p.filter(l=>!f.includes(l)),n=f.filter(l=>!p.includes(l));(g.length>0||n.length>0)&&console.warn("[Wizard] Wizard.Step children do not match `steps` descriptors. "+(g.length?`Missing steps: ${g.join(", ")}. `:"")+(n.length?`Unknown step ids: ${n.join(", ")}.`:""));}if(u)return jsx("div",{ref:x,className:v($(),c),"data-testid":s,children:z.map(f=>jsx(Te,{mode:f.props.id===r?"visible":"hidden",children:f},f.props.id))});let m=z.find(f=>f.props.id===r)??null;return jsx("div",{ref:x,className:v($(),c),"data-testid":s,children:m})});X.displayName="Wizard.Content";var Q=forwardRef(function({id:t,icon:c,children:s,className:u,"data-testid":x},r){let{steps:i,currentStepIndex:z,registerStepHeading:m,stepHeadingLevel:f}=W(),p=i.find(S=>S.id===t),g=p?.label??t,n=p?.description,l=useId(),d=useId(),b=x??`wizard-step-${t}`,w=f;return jsxs("section",{ref:r,className:v(yt(),u),"aria-labelledby":l,"aria-describedby":n?d:void 0,"data-testid":b,"data-wizard-step-id":t,"data-wizard-step-index":z,children:[jsxs("div",{className:Lt(),children:[c?jsx("span",{className:Vt(),"aria-hidden":"true",children:c}):null,jsxs("div",{children:[jsx(w,{id:l,ref:m,tabIndex:-1,className:Ct(),children:g}),n?jsx("p",{id:d,className:Et(),children:n}):null]})]}),jsx("div",{children:s})]})});Q.displayName="Wizard.Step";var M={back:"Back",skip:"Skip for now",next:"Next",start:"Next",finish:"Finish"};function k(o,t){return typeof o=="function"?o(t):o}var et=forwardRef(function({labels:t,showSkip:c=false,onBack:s,onNext:u,onSkip:x,className:r,"data-testid":i="wizard-navigation"},z){let{currentStepIndex:m,currentStepId:f,totalSteps:p,steps:g,isLoading:n,onStepChange:l}=W(),d={index:m,total:p,id:f},b={back:k(t?.back??M.back,d),skip:k(t?.skip??M.skip,d),next:k(t?.next??M.next,d),start:k(t?.start??t?.next??M.start,d),finish:k(t?.finish??M.finish,d)},w=m===0,S=m===p-1,y=m===p-2,E=!w&&!S,V=!S,A=c&&!w&&!S&&!y,R=w?b.start:y?b.finish:b.next,T=()=>{let h=Math.max(0,m-1);l({index:h,id:g[h]?.id??"",label:g[h]?.label??"",reason:"back"}),s?.();},O=()=>{let h=Math.min(p-1,m+1);l({index:h,id:g[h]?.id??"",label:g[h]?.label??"",reason:"next"}),u?.();},P=()=>{let h=Math.min(p-1,m+1);l({index:h,id:g[h]?.id??"",label:g[h]?.label??"",reason:"skip"}),x?.();};return jsxs("div",{ref:z,className:v(Rt(),r),"data-testid":i,children:[jsx("div",{className:Tt(),children:E?jsxs(I,{variant:"secondary",onPress:T,isDisabled:n,"data-testid":`${i}-back`,children:[jsx(ArrowLeft,{className:"mr-1 h-4 w-4 rtl:rotate-180","aria-hidden":"true"}),b.back]}):null}),jsxs("div",{className:Pt(),children:[A?jsx(I,{variant:"ghost",onPress:P,isDisabled:n,"data-testid":`${i}-skip`,children:b.skip}):null,V?jsxs(I,{variant:"default",onPress:O,isDisabled:n,loading:n,"data-testid":`${i}-next`,children:[R,y?null:jsx(ArrowRight,{className:"ml-1 h-4 w-4 rtl:rotate-180","aria-hidden":"true"})]}):null]})]})});et.displayName="Wizard.Navigation";var at=forwardRef(function({className:t,"data-testid":c="wizard-mobile-progress"},s){let{currentStepIndex:u,steps:x,totalSteps:r}=W(),i=x[u]?.label,z=i?`Step ${u+1} of ${r}: ${i}`:`Step ${u+1} of ${r}`;return jsxs("div",{ref:s,className:v(It(),t),role:"progressbar","aria-label":"Wizard progress","aria-valuemin":1,"aria-valuemax":r,"aria-valuenow":u+1,"aria-valuetext":z,"data-testid":c,children:[jsx("div",{className:_t(),children:x.map((m,f)=>{let p=f<u?"completed":f===u?"current":"upcoming";return jsx("span",{className:At({state:p}),"aria-hidden":"true","data-testid":`${c}-dot-${m.id}`},m.id)})}),i?jsxs("p",{className:Ot(),"aria-hidden":"true","data-testid":`${c}-caption`,children:["Step ",u+1," of ",r," \xB7 ",jsx("span",{className:Dt(),children:i})]}):null]})});at.displayName="Wizard.MobileProgress";var Be=(o,t)=>`Step ${o} of ${t}`,pe=forwardRef(function({children:t,currentStep:c,steps:s,onStepChange:u,isLoading:x=false,errors:r,announceTemplate:i=Be,stepHeadingLevel:z="h3",className:m,id:f,"aria-label":p,"aria-labelledby":g,"data-testid":n="wizard"},l){let d=Math.min(Math.max(c,0),Math.max(s.length-1,0)),b=s[d],w=b?.id??"",S=b?.label??"",[y,E]=useState("");useEffect(()=>{s.length!==0&&E(i(d+1,s.length,S));},[d,s.length,S,i]);let[V,A]=useState("");useEffect(()=>{if(!r||r.length===0){A("");return}A(r.join(". "));},[r]);let R=useRef(null),T=useRef(true),O=useCallback(h=>{R.current=h;},[]);useEffect(()=>{if(T.current){T.current=false;return}let h=requestAnimationFrame(()=>{R.current?.focus();});return ()=>cancelAnimationFrame(h)},[d]);let P=useMemo(()=>({currentStepIndex:d,currentStepId:w,steps:s,totalSteps:s.length,isLoading:x,errors:r??[],announceTemplate:i,stepHeadingLevel:z,onStepChange:u,registerStepHeading:O}),[d,w,s,x,r,i,z,u,O]);return jsx(rt.Provider,{value:P,children:jsxs("div",{ref:l,id:f,className:v(ot(),m),"aria-label":p,"aria-labelledby":g,"data-testid":n,"data-wizard-step":d,children:[t,jsx("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:U(),"data-testid":`${n}-live-polite`,children:y}),jsx("div",{role:"alert","aria-live":"assertive","aria-atomic":"true",className:U(),"data-testid":`${n}-live-assertive`,children:V})]})})});pe.displayName="Wizard";var Ge=Object.assign(pe,{Layout:F,Stepper:Z,Content:X,Step:Q,Navigation:et,MobileProgress:at});var C=z.object({className:z.string().optional(),children:z.any().optional(),id:z.string().optional(),"aria-label":z.string().optional(),"aria-labelledby":z.string().optional(),"aria-describedby":z.string().optional(),"aria-live":z.enum(["off","polite","assertive"]).optional(),"aria-hidden":z.boolean().optional(),"data-testid":z.string().optional()});var Ue=z.enum(["next","back","skip","jump"]),le=z.object({id:z.string().min(1),label:z.string().min(1),description:z.string().optional()}),Fe=z.enum(["h2","h3","h4","h5","h6"]),Ye=C.extend({children:z.custom(),currentStep:z.number().int().min(0),steps:z.array(le).min(1),onStepChange:z.custom(),isLoading:z.boolean().optional().default(false),errors:z.array(z.string()).optional(),announceTemplate:z.custom().optional(),stepHeadingLevel:Fe.optional().default("h3")}),je=C.extend({children:z.custom(),preview:z.custom().optional(),helpText:z.string().optional()}),Ze=C.extend({sectionLabel:z.string().optional(),sectionNumber:z.number().int().min(1).optional(),totalSections:z.number().int().min(1).optional(),allowClickOnCompleted:z.boolean().optional().default(true)}),qe=C.extend({id:z.string().min(1),children:z.custom(),icon:z.custom().optional()}),Xe=C.extend({children:z.custom(),preserveState:z.boolean().optional().default(false)}),Ke=C.extend({labels:z.custom().optional(),showSkip:z.boolean().optional().default(false),onBack:z.custom().optional(),onNext:z.custom().optional(),onSkip:z.custom().optional()}),Qe=C.extend({});export{Ge as Wizard,Ue as WizardChangeReasonSchema,X as WizardContent,Xe as WizardContentPropsSchema,F as WizardLayout,je as WizardLayoutPropsSchema,at as WizardMobileProgress,Qe as WizardMobileProgressPropsSchema,et as WizardNavigation,Ke as WizardNavigationPropsSchema,Ye as WizardPropsSchema,Q as WizardStep,le as WizardStepDescriptorSchema,qe as WizardStepPropsSchema,Z as WizardStepper,Ze as WizardStepperPropsSchema,W as useWizardContext,$ as wizardContentCardVariants,lt as wizardLayoutContentSlotVariants,ct as wizardLayoutHelpTextVariants,dt as wizardLayoutMainVariants,ut as wizardLayoutPreviewVariants,pt as wizardLayoutStepperSlotVariants,st as wizardLayoutVariants,U as wizardLiveRegionVariants,Dt as wizardMobileProgressCaptionTitleVariants,Ot as wizardMobileProgressCaptionVariants,It as wizardMobileProgressContainerVariants,_t as wizardMobileProgressDotRowVariants,At as wizardMobileProgressDotVariants,Tt as wizardNavigationLeftVariants,Pt as wizardNavigationRightVariants,Rt as wizardNavigationVariants,ot as wizardRootVariants,yt as wizardStepContainerVariants,Et as wizardStepDescriptionVariants,Lt as wizardStepHeaderRowVariants,Ct as wizardStepHeadingVariants,Vt as wizardStepIconVariants,bt as wizardStepperCircleVariants,St as wizardStepperConnectorVariants,mt as wizardStepperContainerVariants,Wt as wizardStepperCurrentSubtitleVariants,zt as wizardStepperIndicatorColumnVariants,vt as wizardStepperItemVariants,ht as wizardStepperLabelColumnVariants,Nt as wizardStepperLabelTextVariants,wt as wizardStepperLabelVariants,xt as wizardStepperListVariants,gt as wizardStepperSectionHeadingVariants,ft as wizardStepperSectionLabelVariants};//# sourceMappingURL=index.mjs.map
2
+ import {createContext,forwardRef,memo,useId,Children,Activity,useState,useEffect,useRef,useCallback,useMemo,useContext,isValidElement}from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'class-variance-authority';import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {Loader2,Zap,Check,ArrowLeft,ArrowRight}from'lucide-react';import {Button}from'react-aria-components';import {z}from'zod';function v(...o){return twMerge(clsx(o))}var rt=createContext(null);function W(){let o=useContext(rt);if(!o)throw new Error("Wizard compound components must be used within <Wizard>");return o}var B=["motion-reduce:transition-none","motion-reduce:animate-none"],nt=["transition-colors","duration-200"];function G(...o){return o.flatMap(t=>Array.isArray(t)?[...t]:[t])}var ot=cva("flex min-h-0 flex-1 flex-col"),st=cva("flex min-h-0 flex-1 flex-col lg:flex-row"),dt=cva("flex min-w-0 flex-1 justify-center gap-8 overflow-y-auto bg-[var(--page-background)] p-6"),pt=cva("hidden w-56 shrink-0 pt-2 lg:block"),lt=cva("flex w-full max-w-2xl flex-col"),ct=cva("mt-3 text-center text-xs text-[var(--menu-muted)]"),ut=cva("hidden w-80 shrink-0 border-l border-[var(--border)] bg-[var(--accent-background)] p-6 xl:block"),mt=cva("flex flex-col gap-2"),ft=cva("text-xs font-semibold uppercase tracking-wide text-[var(--primary)]"),gt=cva("text-sm font-bold text-[var(--content-foreground)]"),xt=cva("mt-6 flex flex-col"),vt=cva("flex items-start"),zt=cva("flex w-11 shrink-0 flex-col items-center"),bt=cva(G("flex h-9 w-9 shrink-0 items-center justify-center rounded-full text-sm font-semibold",nt,B),{variants:{state:{completed:"bg-[var(--primary)] text-[var(--primary-foreground)] ring-4 ring-[var(--primary)]/25",current:"bg-[var(--primary)] text-[var(--primary-foreground)] ring-4 ring-[var(--primary)]/25",upcoming:"border border-[var(--border)] bg-[var(--content-background)] text-[var(--menu-muted)]"}},defaultVariants:{state:"upcoming"}}),St=cva(G("my-0.5 h-5 w-0.5",nt,B),{variants:{completed:{true:"bg-[var(--primary)]",false:"bg-[var(--border)]"}},defaultVariants:{completed:false}}),ht=cva("flex min-h-11 items-center pl-3"),wt=cva("flex flex-col justify-center"),Nt=cva("text-sm",{variants:{state:{completed:"font-medium text-[var(--content-foreground)]",current:"font-semibold text-[var(--content-foreground)]",upcoming:"text-[var(--menu-muted)]"}},defaultVariants:{state:"upcoming"}}),Wt=cva("text-xs text-[var(--content-foreground)]"),yt=cva("flex flex-col gap-6"),Lt=cva("flex items-start gap-4"),Vt=cva("flex h-12 w-12 shrink-0 items-center justify-center rounded-full bg-[var(--accent-background)] text-[var(--primary)]"),Ct=cva("text-lg font-bold text-[var(--content-foreground)] focus:outline-none"),Et=cva("mt-1 text-sm text-[var(--menu-muted)]"),$=cva("rounded-lg border border-[var(--border)] bg-[var(--content-background)] p-6 text-[var(--content-foreground)]"),Rt=cva("mt-4 flex items-center justify-between border-t border-[var(--border)] pt-4"),Tt=cva(""),Pt=cva("flex items-center gap-3"),It=cva("flex flex-col items-center gap-1.5 py-3 lg:hidden"),_t=cva("flex items-center justify-center gap-2"),At=cva(G("h-2 rounded-full transition-all duration-200",B),{variants:{state:{completed:"w-2 bg-[var(--primary)] opacity-60",current:"w-8 bg-[var(--primary)]",upcoming:"w-2 bg-[var(--border)]"}},defaultVariants:{state:"upcoming"}}),Ot=cva("text-xs font-medium text-[var(--menu-muted)]"),Dt=cva("text-[var(--content-foreground)]"),U=cva("sr-only");var F=forwardRef(function({children:t,stepper:c,preview:s,helpText:u,className:x,"data-testid":r="wizard-layout"},i){return jsxs("div",{ref:i,className:v(st(),x),"data-testid":r,children:[jsxs("div",{className:dt(),children:[c?jsx("nav",{className:pt(),"aria-label":"Wizard steps","data-testid":`${r}-stepper-slot`,children:c}):null,jsxs("div",{className:lt(),children:[t,u?jsx("p",{className:ct(),children:u}):null]})]}),s?jsx("aside",{className:ut(),"aria-hidden":"true","data-testid":`${r}-preview`,children:s}):null]})});F.displayName="Wizard.Layout";var qt=cva("inline-flex justify-center min-h-[44px] min-w-[44px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50",{variants:{fullWidth:{true:"w-full",false:""},inVerticalGroup:{true:"items-stretch",false:"items-center"}},defaultVariants:{fullWidth:false,inVerticalGroup:false}}),Xt=cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-normal ring-offset-background motion-safe:transition-transform motion-safe:duration-200 motion-safe:[transition-timing-function:cubic-bezier(0.34,1.56,0.64,1)] motion-reduce:transition-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 relative cursor-pointer",{variants:{variant:{default:"bg-[var(--primary-action)] text-[var(--primary-action-foreground)] shadow-md hover:bg-[var(--primary-action-hover)] hover:-translate-y-1",destructive:"bg-[var(--destructive-background)] text-[var(--destructive-foreground)] hover:bg-[var(--destructive-background-hover,var(--destructive-background))] motion-safe:hover:btn-warn-shake",outline:"border border-[var(--input-border)] bg-[var(--content-background)] hover:bg-[var(--accent-background)]/50",secondary:"bg-[var(--secondary)] text-[var(--secondary-foreground)] hover:bg-[var(--secondary-hover,var(--secondary))]",ghost:"hover:bg-[var(--accent)] hover:text-[var(--accent-foreground)]",link:"text-[var(--text-link)] underline underline-offset-4 hover:bg-[var(--accent)] hover:text-[var(--text-link-hover)]"},fullWidth:{true:"w-full",false:""},visualSize:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3 text-xs",lg:"h-11 rounded-md px-6 text-base",icon:"h-10 w-10",dot:"h-5 w-5 rounded-full p-0 min-h-0 min-w-0"},paywall:{true:"!bg-[var(--paywall)] !text-[var(--paywall-foreground)] hover:!bg-[var(--paywall)]/90 !cursor-not-allowed !border-transparent",false:""}},defaultVariants:{variant:"default",visualSize:"default",paywall:false}});var Ht="data-[pressed]:scale-[0.97]";var Y="hc:data-[hovered]:outline hc:data-[hovered]:outline-2 hc:data-[hovered]:outline-foreground",j="hc:data-[pressed]:outline hc:data-[pressed]:outline-2 hc:data-[pressed]:outline-offset-1 hc:data-[pressed]:outline-foreground";var te=createContext(null);te.displayName="ButtonGroupContext";function ee(){return useContext(te)}var ae=createContext(null);ae.displayName="ButtonGroupItemContext";function re(){return useContext(ae)}cva("inline-flex items-center gap-0",{variants:{orientation:{horizontal:"flex-row",vertical:"flex-col w-full"}},defaultVariants:{orientation:"horizontal"}});var ie=cva("",{variants:{orientation:{horizontal:"min-w-[44px]",vertical:"flex min-h-[44px]"},position:{first:"",middle:"",last:"",only:""}},compoundVariants:[{orientation:"horizontal",position:"first",className:"rounded-r-none border-r-0"},{orientation:"horizontal",position:"middle",className:"rounded-none border-r-0"},{orientation:"horizontal",position:"last",className:"rounded-l-none"},{orientation:"vertical",position:"first",className:"rounded-b-none border-b-0"},{orientation:"vertical",position:"middle",className:"rounded-none border-b-0"},{orientation:"vertical",position:"last",className:"rounded-t-none"}],defaultVariants:{orientation:"horizontal",position:"only"}});cva("bg-[var(--border)]",{variants:{orientation:{horizontal:"w-px h-6 mx-1",vertical:"h-px w-full my-1"}},defaultVariants:{orientation:"horizontal"}});var I=memo(forwardRef(({className:o,buttonVisualClassName:t,variant:c,size:s,visualSize:u,fullWidth:x,loading:r=false,loadingText:i="Loading...",shortcut:z,children:m,isDisabled:f,paywall:p=false,paywallRedirect:g,paywallDescription:n,onPress:l,...d},b)=>{let w=useId(),S=ee(),y=re(),E=c??S?.variant??"default",V=s??S?.size,A=f??S?.isDisabled??false,R=S?.orientation==="vertical",T=x||R,O=y?ie({orientation:S?.orientation??"horizontal",position:y.position}):"",P=u??V??"default";return process.env.NODE_ENV!=="production"&&(P==="dot"||P==="icon")&&!d["aria-label"]&&!m&&console.warn('[Button] visualSize="dot" or "icon" requires aria-label when no visible text is provided (WCAG 1.1.1)'),jsx(Button,{ref:b,isDisabled:A||r||void 0,"aria-disabled":p?true:void 0,"aria-describedby":p?w:void 0,onPress:H=>{if(p){g&&window.open(g,"_blank","noopener,noreferrer");return}l?.(H);},className:v(qt({fullWidth:T,inVerticalGroup:R}),o),...d,children:H=>jsxs("span",{className:v(Xt({variant:E,visualSize:P,paywall:p,fullWidth:T}),O,t,Ht,"",Y,j),"data-pressed":H.isPressed||void 0,children:[r&&jsxs(Fragment,{children:[jsx(Loader2,{className:"motion-safe:animate-spin","aria-hidden":"true"}),jsx("span",{className:"sr-only","aria-live":"polite",children:i})]}),!r&&m,p&&jsx(Zap,{"data-testid":"zap-icon","aria-hidden":"true",className:"ml-1"}),p&&jsxs("span",{id:w,className:"sr-only",children:["Premium feature: ",n||"Upgrade required to access this feature"]}),H.isFocusVisible&&z&&jsx("kbd",{className:"ml-auto hidden text-xs opacity-60 lg:inline",children:z})]})})}));I.displayName="Button";var Z=forwardRef(function({sectionLabel:t,sectionNumber:c,totalSections:s,allowClickOnCompleted:u=true,className:x,"aria-label":r,"data-testid":i="wizard-stepper"},z){let{currentStepIndex:m,steps:f,onStepChange:p,isLoading:g}=W();return jsxs("div",{ref:z,className:v(mt(),x),"aria-label":r,"data-testid":i,children:[t&&c!==void 0&&s!==void 0?jsxs(Fragment,{children:[jsxs("p",{className:ft(),children:["Section ",c," of ",s]}),jsx("h2",{className:gt(),children:t})]}):null,jsx("ol",{className:xt(),children:f.map((n,l)=>{let d=l<m,b=l===m,w=d?"completed":b?"current":"upcoming",S=d&&u&&!g,y=l===f.length-1,E=bt({state:w}),V=jsx("span",{className:E,"aria-hidden":"true",children:d?jsx(Check,{className:"h-4 w-4"}):jsx("span",{children:l+1})});return jsx("li",{"data-testid":`${i}-item-${n.id}`,"aria-current":b?"step":void 0,children:jsxs("div",{className:vt(),children:[jsxs("div",{className:zt(),children:[S?jsx(I,{variant:"ghost",visualSize:"icon",buttonVisualClassName:"rounded-full","aria-label":`Go back to ${n.label}`,onPress:()=>p({index:l,id:n.id,label:n.label,reason:"jump"}),"data-testid":`${i}-button-${n.id}`,children:V}):jsx("span",{className:"flex h-11 w-11 items-center justify-center",children:V}),y?null:jsx("span",{className:St({completed:d}),"aria-hidden":"true"})]}),jsxs("div",{className:ht(),children:[jsxs("span",{className:wt(),children:[jsx("span",{className:Nt({state:w}),children:n.label}),b?jsx("span",{className:Wt(),children:"Current step"}):null]}),b?null:jsx("span",{className:"sr-only",children:d?"(completed)":"(upcoming)"})]})]})},n.id)})})]})});Z.displayName="Wizard.Stepper";var Te=Activity??function({children:t,mode:c}){return jsx("div",{"data-activity-mode":c,children:t})};function Pe(o){if(!isValidElement(o))return false;let t=o.type;return typeof t=="string"?false:t?.displayName==="Wizard.Step"}var X=forwardRef(function({children:t,className:c,"data-testid":s="wizard-content",preserveState:u=false},x){let{currentStepId:r,steps:i}=W(),z=Children.toArray(t).filter(Pe);if(process.env.NODE_ENV!=="production"){let f=z.map(l=>l.props.id),p=i.map(l=>l.id),g=p.filter(l=>!f.includes(l)),n=f.filter(l=>!p.includes(l));(g.length>0||n.length>0)&&console.warn("[Wizard] Wizard.Step children do not match `steps` descriptors. "+(g.length?`Missing steps: ${g.join(", ")}. `:"")+(n.length?`Unknown step ids: ${n.join(", ")}.`:""));}if(u)return jsx("div",{ref:x,className:v($(),c),"data-testid":s,children:z.map(f=>jsx(Te,{mode:f.props.id===r?"visible":"hidden",children:f},f.props.id))});let m=z.find(f=>f.props.id===r)??null;return jsx("div",{ref:x,className:v($(),c),"data-testid":s,children:m})});X.displayName="Wizard.Content";var Q=forwardRef(function({id:t,icon:c,children:s,className:u,"data-testid":x},r){let{steps:i,currentStepIndex:z,registerStepHeading:m,stepHeadingLevel:f}=W(),p=i.find(S=>S.id===t),g=p?.label??t,n=p?.description,l=useId(),d=useId(),b=x??`wizard-step-${t}`,w=f;return jsxs("section",{ref:r,className:v(yt(),u),"aria-labelledby":l,"aria-describedby":n?d:void 0,"data-testid":b,"data-wizard-step-id":t,"data-wizard-step-index":z,children:[jsxs("div",{className:Lt(),children:[c?jsx("span",{className:Vt(),"aria-hidden":"true",children:c}):null,jsxs("div",{children:[jsx(w,{id:l,ref:m,tabIndex:-1,className:Ct(),children:g}),n?jsx("p",{id:d,className:Et(),children:n}):null]})]}),jsx("div",{children:s})]})});Q.displayName="Wizard.Step";var M={back:"Back",skip:"Skip for now",next:"Next",start:"Next",finish:"Finish"};function k(o,t){return typeof o=="function"?o(t):o}var et=forwardRef(function({labels:t,showSkip:c=false,onBack:s,onNext:u,onSkip:x,className:r,"data-testid":i="wizard-navigation"},z){let{currentStepIndex:m,currentStepId:f,totalSteps:p,steps:g,isLoading:n,onStepChange:l}=W(),d={index:m,total:p,id:f},b={back:k(t?.back??M.back,d),skip:k(t?.skip??M.skip,d),next:k(t?.next??M.next,d),start:k(t?.start??t?.next??M.start,d),finish:k(t?.finish??M.finish,d)},w=m===0,S=m===p-1,y=m===p-2,E=!w&&!S,V=!S,A=c&&!w&&!S&&!y,R=w?b.start:y?b.finish:b.next,T=()=>{let h=Math.max(0,m-1);l({index:h,id:g[h]?.id??"",label:g[h]?.label??"",reason:"back"}),s?.();},O=()=>{let h=Math.min(p-1,m+1);l({index:h,id:g[h]?.id??"",label:g[h]?.label??"",reason:"next"}),u?.();},P=()=>{let h=Math.min(p-1,m+1);l({index:h,id:g[h]?.id??"",label:g[h]?.label??"",reason:"skip"}),x?.();};return jsxs("div",{ref:z,className:v(Rt(),r),"data-testid":i,children:[jsx("div",{className:Tt(),children:E?jsxs(I,{variant:"secondary",onPress:T,isDisabled:n,"data-testid":`${i}-back`,children:[jsx(ArrowLeft,{className:"mr-1 h-4 w-4 rtl:rotate-180","aria-hidden":"true"}),b.back]}):null}),jsxs("div",{className:Pt(),children:[A?jsx(I,{variant:"ghost",onPress:P,isDisabled:n,"data-testid":`${i}-skip`,children:b.skip}):null,V?jsxs(I,{variant:"default",onPress:O,isDisabled:n,loading:n,"data-testid":`${i}-next`,children:[R,y?null:jsx(ArrowRight,{className:"ml-1 h-4 w-4 rtl:rotate-180","aria-hidden":"true"})]}):null]})]})});et.displayName="Wizard.Navigation";var at=forwardRef(function({className:t,"data-testid":c="wizard-mobile-progress"},s){let{currentStepIndex:u,steps:x,totalSteps:r}=W(),i=x[u]?.label,z=i?`Step ${u+1} of ${r}: ${i}`:`Step ${u+1} of ${r}`;return jsxs("div",{ref:s,className:v(It(),t),role:"progressbar","aria-label":"Wizard progress","aria-valuemin":1,"aria-valuemax":r,"aria-valuenow":u+1,"aria-valuetext":z,"data-testid":c,children:[jsx("div",{className:_t(),children:x.map((m,f)=>{let p=f<u?"completed":f===u?"current":"upcoming";return jsx("span",{className:At({state:p}),"aria-hidden":"true","data-testid":`${c}-dot-${m.id}`},m.id)})}),i?jsxs("p",{className:Ot(),"aria-hidden":"true","data-testid":`${c}-caption`,children:["Step ",u+1," of ",r," \xB7 ",jsx("span",{className:Dt(),children:i})]}):null]})});at.displayName="Wizard.MobileProgress";var Be=(o,t)=>`Step ${o} of ${t}`,pe=forwardRef(function({children:t,currentStep:c,steps:s,onStepChange:u,isLoading:x=false,errors:r,announceTemplate:i=Be,stepHeadingLevel:z="h3",className:m,id:f,"aria-label":p,"aria-labelledby":g,"data-testid":n="wizard"},l){let d=Math.min(Math.max(c,0),Math.max(s.length-1,0)),b=s[d],w=b?.id??"",S=b?.label??"",[y,E]=useState("");useEffect(()=>{s.length!==0&&E(i(d+1,s.length,S));},[d,s.length,S,i]);let[V,A]=useState("");useEffect(()=>{if(!r||r.length===0){A("");return}A(r.join(". "));},[r]);let R=useRef(null),T=useRef(true),O=useCallback(h=>{R.current=h;},[]);useEffect(()=>{if(T.current){T.current=false;return}let h=requestAnimationFrame(()=>{R.current?.focus();});return ()=>cancelAnimationFrame(h)},[d]);let P=useMemo(()=>({currentStepIndex:d,currentStepId:w,steps:s,totalSteps:s.length,isLoading:x,errors:r??[],announceTemplate:i,stepHeadingLevel:z,onStepChange:u,registerStepHeading:O}),[d,w,s,x,r,i,z,u,O]);return jsx(rt.Provider,{value:P,children:jsxs("div",{ref:l,id:f,className:v(ot(),m),"aria-label":p,"aria-labelledby":g,"data-testid":n,"data-wizard-step":d,children:[t,jsx("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:U(),"data-testid":`${n}-live-polite`,children:y}),jsx("div",{role:"alert","aria-live":"assertive","aria-atomic":"true",className:U(),"data-testid":`${n}-live-assertive`,children:V})]})})});pe.displayName="Wizard";var Ge=Object.assign(pe,{Layout:F,Stepper:Z,Content:X,Step:Q,Navigation:et,MobileProgress:at});var C=z.object({className:z.string().optional(),children:z.any().optional(),id:z.string().optional(),"aria-label":z.string().optional(),"aria-labelledby":z.string().optional(),"aria-describedby":z.string().optional(),"aria-live":z.enum(["off","polite","assertive"]).optional(),"aria-hidden":z.boolean().optional(),"data-testid":z.string().optional()});var Ue=z.enum(["next","back","skip","jump"]),le=z.object({id:z.string().min(1),label:z.string().min(1),description:z.string().optional()}),Fe=z.enum(["h2","h3","h4","h5","h6"]),Ye=C.extend({children:z.custom(),currentStep:z.number().int().min(0),steps:z.array(le).min(1),onStepChange:z.custom(),isLoading:z.boolean().optional().default(false),errors:z.array(z.string()).optional(),announceTemplate:z.custom().optional(),stepHeadingLevel:Fe.optional().default("h3")}),je=C.extend({children:z.custom(),preview:z.custom().optional(),helpText:z.string().optional()}),Ze=C.extend({sectionLabel:z.string().optional(),sectionNumber:z.number().int().min(1).optional(),totalSections:z.number().int().min(1).optional(),allowClickOnCompleted:z.boolean().optional().default(true)}),qe=C.extend({id:z.string().min(1),children:z.custom(),icon:z.custom().optional()}),Xe=C.extend({children:z.custom(),preserveState:z.boolean().optional().default(false)}),Ke=C.extend({labels:z.custom().optional(),showSkip:z.boolean().optional().default(false),onBack:z.custom().optional(),onNext:z.custom().optional(),onSkip:z.custom().optional()}),Qe=C.extend({});export{Ge as Wizard,Ue as WizardChangeReasonSchema,X as WizardContent,Xe as WizardContentPropsSchema,F as WizardLayout,je as WizardLayoutPropsSchema,at as WizardMobileProgress,Qe as WizardMobileProgressPropsSchema,et as WizardNavigation,Ke as WizardNavigationPropsSchema,Ye as WizardPropsSchema,Q as WizardStep,le as WizardStepDescriptorSchema,qe as WizardStepPropsSchema,Z as WizardStepper,Ze as WizardStepperPropsSchema,W as useWizardContext,$ as wizardContentCardVariants,lt as wizardLayoutContentSlotVariants,ct as wizardLayoutHelpTextVariants,dt as wizardLayoutMainVariants,ut as wizardLayoutPreviewVariants,pt as wizardLayoutStepperSlotVariants,st as wizardLayoutVariants,U as wizardLiveRegionVariants,Dt as wizardMobileProgressCaptionTitleVariants,Ot as wizardMobileProgressCaptionVariants,It as wizardMobileProgressContainerVariants,_t as wizardMobileProgressDotRowVariants,At as wizardMobileProgressDotVariants,Tt as wizardNavigationLeftVariants,Pt as wizardNavigationRightVariants,Rt as wizardNavigationVariants,ot as wizardRootVariants,yt as wizardStepContainerVariants,Et as wizardStepDescriptionVariants,Lt as wizardStepHeaderRowVariants,Ct as wizardStepHeadingVariants,Vt as wizardStepIconVariants,bt as wizardStepperCircleVariants,St as wizardStepperConnectorVariants,mt as wizardStepperContainerVariants,Wt as wizardStepperCurrentSubtitleVariants,zt as wizardStepperIndicatorColumnVariants,vt as wizardStepperItemVariants,ht as wizardStepperLabelColumnVariants,Nt as wizardStepperLabelTextVariants,wt as wizardStepperLabelVariants,xt as wizardStepperListVariants,gt as wizardStepperSectionHeadingVariants,ft as wizardStepperSectionLabelVariants};//# sourceMappingURL=index.mjs.map
3
3
  //# sourceMappingURL=index.mjs.map