@purpurds/tabs 6.3.0 → 6.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/LICENSE.txt CHANGED
@@ -1,5 +1,5 @@
1
1
  Name: @purpurds/icon
2
- Version: 6.2.0
2
+ Version: 6.3.1
3
3
  License: AGPL-3.0-only
4
4
  Private: false
5
5
 
package/dist/tabs.cjs.js CHANGED
@@ -1,10 +1,10 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),y=require("react");require("react-dom");function De(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const a=De(y);function qe(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ae={exports:{}};/*!
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),y=require("react");require("react-dom");function Le(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const a=Le(y);function Ve(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var se={exports:{}};/*!
2
2
  Copyright (c) 2018 Jed Watson.
3
3
  Licensed under the MIT License (MIT), see
4
4
  http://jedwatson.github.io/classnames
5
- */(function(e){(function(){var t={}.hasOwnProperty;function n(){for(var r="",i=0;i<arguments.length;i++){var c=arguments[i];c&&(r=s(r,o.call(this,c)))}return r}function o(r){if(typeof r=="string"||typeof r=="number")return this&&this[r]||r;if(typeof r!="object")return"";if(Array.isArray(r))return n.apply(this,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var i="";for(var c in r)t.call(r,c)&&r[c]&&(i=s(i,this&&this[c]||c));return i}function s(r,i){return i?r?r+" "+i:r+i:r}e.exports?(n.default=n,e.exports=n):window.classNames=n})()})(ae);var Le=ae.exports;const Ve=qe(Le),Ue={"purpur-icon":"_purpur-icon_8u1lq_1","purpur-icon--xxs":"_purpur-icon--xxs_8u1lq_4","purpur-icon--xs":"_purpur-icon--xs_8u1lq_8","purpur-icon--sm":"_purpur-icon--sm_8u1lq_12","purpur-icon--md":"_purpur-icon--md_8u1lq_16","purpur-icon--lg":"_purpur-icon--lg_8u1lq_20","purpur-icon--xl":"_purpur-icon--xl_8u1lq_24"},Be=Ve.bind(Ue),oe="purpur-icon",Ge="md",We=e=>e.filter(t=>Object.keys(t).length>=1).map(t=>`${t.name}="${t.value}"`).join(" "),ke=({content:e="",title:t}={})=>{const n=[{name:"xmlns",value:"http://www.w3.org/2000/svg"},{name:"fill",value:"currentColor"},{name:"viewBox",value:"0 0 24 24"},t?{name:"role",value:"img"}:{name:"aria-hidden",value:"true"}],o=t?`<title>${t}</title>`:"";return`<svg ${We(n)}>${o}${e}</svg>`},Ke=e=>e.replace(/<(\/?)svg([^>]*)>/g,"").trim(),ue=({["data-testid"]:e,svg:t,allyTitle:n,className:o,size:s=Ge,...r})=>{const i=ke({content:Ke(t.svg),title:n}),c=Be(o,oe,`${oe}--${s}`);return d.jsx("span",{"aria-label":n,className:c,"data-testid":e,dangerouslySetInnerHTML:{__html:i},...r})};ue.displayName="Icon";const ze={name:"chevron-left",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M16.175 3.905a.9.9 0 0 1-.08 1.27L8.36 12l7.736 6.825a.9.9 0 0 1-1.191 1.35l-8.5-7.5a.9.9 0 0 1 0-1.35l8.5-7.5a.9.9 0 0 1 1.27.08Z" clip-rule="evenodd"/></svg>',keywords:["chevron-left"],category:"utility"},Ye={name:"chevron-right",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M7.809 3.924a.9.9 0 0 0 .115 1.267L16.094 12l-8.17 6.809a.9.9 0 0 0 1.152 1.382l9-7.5a.9.9 0 0 0 0-1.382l-9-7.5a.9.9 0 0 0-1.267.115Z" clip-rule="evenodd"/></svg>',keywords:["chevron-right"],category:"utility"};function E(e,t,{checkForDefaultPrevented:n=!0}={}){return function(s){if(e==null||e(s),n===!1||!s.defaultPrevented)return t==null?void 0:t(s)}}function J(e,t=[]){let n=[];function o(r,i){const c=a.createContext(i),u=n.length;n=[...n,i];const l=f=>{var _;const{scope:g,children:h,...p}=f,C=((_=g==null?void 0:g[e])==null?void 0:_[u])||c,v=a.useMemo(()=>p,Object.values(p));return d.jsx(C.Provider,{value:v,children:h})};l.displayName=r+"Provider";function b(f,g){var C;const h=((C=g==null?void 0:g[e])==null?void 0:C[u])||c,p=a.useContext(h);if(p)return p;if(i!==void 0)return i;throw new Error(`\`${f}\` must be used within \`${r}\``)}return[l,b]}const s=()=>{const r=n.map(i=>a.createContext(i));return function(c){const u=(c==null?void 0:c[e])||r;return a.useMemo(()=>({[`__scope${e}`]:{...c,[e]:u}}),[c,u])}};return s.scopeName=e,[o,Ze(s,...t)]}function Ze(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const o=e.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(r){const i=o.reduce((c,{useScope:u,scopeName:l})=>{const f=u(r)[`__scope${l}`];return{...c,...f}},{});return a.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}function se(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function le(...e){return t=>{let n=!1;const o=e.map(s=>{const r=se(s,t);return!n&&typeof r=="function"&&(n=!0),r});if(n)return()=>{for(let s=0;s<o.length;s++){const r=o[s];typeof r=="function"?r():se(e[s],null)}}}}function U(...e){return a.useCallback(le(...e),e)}var B=a.forwardRef((e,t)=>{const{children:n,...o}=e,s=a.Children.toArray(n),r=s.find(Je);if(r){const i=r.props.children,c=s.map(u=>u===r?a.Children.count(i)>1?a.Children.only(null):a.isValidElement(i)?i.props.children:null:u);return d.jsx(Y,{...o,ref:t,children:a.isValidElement(i)?a.cloneElement(i,void 0,c):null})}return d.jsx(Y,{...o,ref:t,children:n})});B.displayName="Slot";var Y=a.forwardRef((e,t)=>{const{children:n,...o}=e;if(a.isValidElement(n)){const s=He(n),r=Qe(o,n.props);return n.type!==a.Fragment&&(r.ref=t?le(t,s):s),a.cloneElement(n,r)}return a.Children.count(n)>1?a.Children.only(null):null});Y.displayName="SlotClone";var Xe=({children:e})=>d.jsx(d.Fragment,{children:e});function Je(e){return a.isValidElement(e)&&e.type===Xe}function Qe(e,t){const n={...t};for(const o in t){const s=e[o],r=t[o];/^on[A-Z]/.test(o)?s&&r?n[o]=(...c)=>{r(...c),s(...c)}:s&&(n[o]=s):o==="style"?n[o]={...s,...r}:o==="className"&&(n[o]=[s,r].filter(Boolean).join(" "))}return{...e,...n}}function He(e){var o,s;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function et(e){const t=e+"CollectionProvider",[n,o]=J(t),[s,r]=n(t,{collectionRef:{current:null},itemMap:new Map}),i=h=>{const{scope:p,children:C}=h,v=y.useRef(null),_=y.useRef(new Map).current;return d.jsx(s,{scope:p,itemMap:_,collectionRef:v,children:C})};i.displayName=t;const c=e+"CollectionSlot",u=y.forwardRef((h,p)=>{const{scope:C,children:v}=h,_=r(c,C),w=U(p,_.collectionRef);return d.jsx(B,{ref:w,children:v})});u.displayName=c;const l=e+"CollectionItemSlot",b="data-radix-collection-item",f=y.forwardRef((h,p)=>{const{scope:C,children:v,..._}=h,w=y.useRef(null),A=U(p,w),N=r(l,C);return y.useEffect(()=>(N.itemMap.set(w,{ref:w,..._}),()=>void N.itemMap.delete(w))),d.jsx(B,{[b]:"",ref:A,children:v})});f.displayName=l;function g(h){const p=r(e+"CollectionConsumer",h);return y.useCallback(()=>{const v=p.collectionRef.current;if(!v)return[];const _=Array.from(v.querySelectorAll(`[${b}]`));return Array.from(p.itemMap.values()).sort((N,O)=>_.indexOf(N.ref.current)-_.indexOf(O.ref.current))},[p.collectionRef,p.itemMap])}return[{Provider:i,Slot:u,ItemSlot:f},g,o]}var Z=globalThis!=null&&globalThis.document?a.useLayoutEffect:()=>{},tt=a.useId||(()=>{}),nt=0;function de(e){const[t,n]=a.useState(tt());return Z(()=>{e||n(o=>o??String(nt++))},[e]),e||(t?`radix-${t}`:"")}var rt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],$=rt.reduce((e,t)=>{const n=a.forwardRef((o,s)=>{const{asChild:r,...i}=o,c=r?B:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(c,{...i,ref:s})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function Q(e){const t=a.useRef(e);return a.useEffect(()=>{t.current=e}),a.useMemo(()=>(...n)=>{var o;return(o=t.current)==null?void 0:o.call(t,...n)},[])}function fe({prop:e,defaultProp:t,onChange:n=()=>{}}){const[o,s]=ot({defaultProp:t,onChange:n}),r=e!==void 0,i=r?e:o,c=Q(n),u=a.useCallback(l=>{if(r){const f=typeof l=="function"?l(e):l;f!==e&&c(f)}else s(l)},[r,e,s,c]);return[i,u]}function ot({defaultProp:e,onChange:t}){const n=a.useState(e),[o]=n,s=a.useRef(o),r=Q(t);return a.useEffect(()=>{s.current!==o&&(r(o),s.current=o)},[o,s,r]),n}var st=a.createContext(void 0);function pe(e){const t=a.useContext(st);return e||t||"ltr"}var z="rovingFocusGroup.onEntryFocus",it={bubbles:!1,cancelable:!0},G="RovingFocusGroup",[X,me,ct]=et(G),[at,_e]=J(G,[ct]),[ut,lt]=at(G),be=a.forwardRef((e,t)=>d.jsx(X.Provider,{scope:e.__scopeRovingFocusGroup,children:d.jsx(X.Slot,{scope:e.__scopeRovingFocusGroup,children:d.jsx(dt,{...e,ref:t})})}));be.displayName=G;var dt=a.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:o,loop:s=!1,dir:r,currentTabStopId:i,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:u,onEntryFocus:l,preventScrollOnEntryFocus:b=!1,...f}=e,g=a.useRef(null),h=U(t,g),p=pe(r),[C=null,v]=fe({prop:i,defaultProp:c,onChange:u}),[_,w]=a.useState(!1),A=Q(l),N=me(n),O=a.useRef(!1),[D,q]=a.useState(0);return a.useEffect(()=>{const S=g.current;if(S)return S.addEventListener(z,A),()=>S.removeEventListener(z,A)},[A]),d.jsx(ut,{scope:n,orientation:o,dir:p,loop:s,currentTabStopId:C,onItemFocus:a.useCallback(S=>v(S),[v]),onItemShiftTab:a.useCallback(()=>w(!0),[]),onFocusableItemAdd:a.useCallback(()=>q(S=>S+1),[]),onFocusableItemRemove:a.useCallback(()=>q(S=>S-1),[]),children:d.jsx($.div,{tabIndex:_||D===0?-1:0,"data-orientation":o,...f,ref:h,style:{outline:"none",...e.style},onMouseDown:E(e.onMouseDown,()=>{O.current=!0}),onFocus:E(e.onFocus,S=>{const L=!O.current;if(S.target===S.currentTarget&&L&&!_){const j=new CustomEvent(z,it);if(S.currentTarget.dispatchEvent(j),!j.defaultPrevented){const M=N().filter(x=>x.focusable),W=M.find(x=>x.active),k=M.find(x=>x.id===C),m=[W,k,...M].filter(Boolean).map(x=>x.ref.current);he(m,b)}}O.current=!1}),onBlur:E(e.onBlur,()=>w(!1))})})}),ge="RovingFocusGroupItem",ve=a.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:o=!0,active:s=!1,tabStopId:r,...i}=e,c=de(),u=r||c,l=lt(ge,n),b=l.currentTabStopId===u,f=me(n),{onFocusableItemAdd:g,onFocusableItemRemove:h}=l;return a.useEffect(()=>{if(o)return g(),()=>h()},[o,g,h]),d.jsx(X.ItemSlot,{scope:n,id:u,focusable:o,active:s,children:d.jsx($.span,{tabIndex:b?0:-1,"data-orientation":l.orientation,...i,ref:t,onMouseDown:E(e.onMouseDown,p=>{o?l.onItemFocus(u):p.preventDefault()}),onFocus:E(e.onFocus,()=>l.onItemFocus(u)),onKeyDown:E(e.onKeyDown,p=>{if(p.key==="Tab"&&p.shiftKey){l.onItemShiftTab();return}if(p.target!==p.currentTarget)return;const C=mt(p,l.orientation,l.dir);if(C!==void 0){if(p.metaKey||p.ctrlKey||p.altKey||p.shiftKey)return;p.preventDefault();let _=f().filter(w=>w.focusable).map(w=>w.ref.current);if(C==="last")_.reverse();else if(C==="prev"||C==="next"){C==="prev"&&_.reverse();const w=_.indexOf(p.currentTarget);_=l.loop?_t(_,w+1):_.slice(w+1)}setTimeout(()=>he(_))}})})})});ve.displayName=ge;var ft={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function pt(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function mt(e,t,n){const o=pt(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(o))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(o)))return ft[o]}function he(e,t=!1){const n=document.activeElement;for(const o of e)if(o===n||(o.focus({preventScroll:t}),document.activeElement!==n))return}function _t(e,t){return e.map((n,o)=>e[(t+o)%e.length])}var bt=be,gt=ve;function vt(e,t){return a.useReducer((n,o)=>t[n][o]??n,e)}var ye=e=>{const{present:t,children:n}=e,o=ht(t),s=typeof n=="function"?n({present:o.isPresent}):a.Children.only(n),r=U(o.ref,yt(s));return typeof n=="function"||o.isPresent?a.cloneElement(s,{ref:r}):null};ye.displayName="Presence";function ht(e){const[t,n]=a.useState(),o=a.useRef({}),s=a.useRef(e),r=a.useRef("none"),i=e?"mounted":"unmounted",[c,u]=vt(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return a.useEffect(()=>{const l=V(o.current);r.current=c==="mounted"?l:"none"},[c]),Z(()=>{const l=o.current,b=s.current;if(b!==e){const g=r.current,h=V(l);e?u("MOUNT"):h==="none"||(l==null?void 0:l.display)==="none"?u("UNMOUNT"):u(b&&g!==h?"ANIMATION_OUT":"UNMOUNT"),s.current=e}},[e,u]),Z(()=>{if(t){let l;const b=t.ownerDocument.defaultView??window,f=h=>{const C=V(o.current).includes(h.animationName);if(h.target===t&&C&&(u("ANIMATION_END"),!s.current)){const v=t.style.animationFillMode;t.style.animationFillMode="forwards",l=b.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=v)})}},g=h=>{h.target===t&&(r.current=V(o.current))};return t.addEventListener("animationstart",g),t.addEventListener("animationcancel",f),t.addEventListener("animationend",f),()=>{b.clearTimeout(l),t.removeEventListener("animationstart",g),t.removeEventListener("animationcancel",f),t.removeEventListener("animationend",f)}}else u("ANIMATION_END")},[t,u]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:a.useCallback(l=>{l&&(o.current=getComputedStyle(l)),n(l)},[])}}function V(e){return(e==null?void 0:e.animationName)||"none"}function yt(e){var o,s;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var H="Tabs",[Ct,Lt]=J(H,[_e]),Ce=_e(),[xt,ee]=Ct(H),xe=a.forwardRef((e,t)=>{const{__scopeTabs:n,value:o,onValueChange:s,defaultValue:r,orientation:i="horizontal",dir:c,activationMode:u="automatic",...l}=e,b=pe(c),[f,g]=fe({prop:o,onChange:s,defaultProp:r});return d.jsx(xt,{scope:n,baseId:de(),value:f,onValueChange:g,orientation:i,dir:b,activationMode:u,children:d.jsx($.div,{dir:b,"data-orientation":i,...l,ref:t})})});xe.displayName=H;var we="TabsList",Se=a.forwardRef((e,t)=>{const{__scopeTabs:n,loop:o=!0,...s}=e,r=ee(we,n),i=Ce(n);return d.jsx(bt,{asChild:!0,...i,orientation:r.orientation,dir:r.dir,loop:o,children:d.jsx($.div,{role:"tablist","aria-orientation":r.orientation,...s,ref:t})})});Se.displayName=we;var Ie="TabsTrigger",Ne=a.forwardRef((e,t)=>{const{__scopeTabs:n,value:o,disabled:s=!1,...r}=e,i=ee(Ie,n),c=Ce(n),u=Ee(i.baseId,o),l=Ae(i.baseId,o),b=o===i.value;return d.jsx(gt,{asChild:!0,...c,focusable:!s,active:b,children:d.jsx($.button,{type:"button",role:"tab","aria-selected":b,"aria-controls":l,"data-state":b?"active":"inactive","data-disabled":s?"":void 0,disabled:s,id:u,...r,ref:t,onMouseDown:E(e.onMouseDown,f=>{!s&&f.button===0&&f.ctrlKey===!1?i.onValueChange(o):f.preventDefault()}),onKeyDown:E(e.onKeyDown,f=>{[" ","Enter"].includes(f.key)&&i.onValueChange(o)}),onFocus:E(e.onFocus,()=>{const f=i.activationMode!=="manual";!b&&!s&&f&&i.onValueChange(o)})})})});Ne.displayName=Ie;var Re="TabsContent",Te=a.forwardRef((e,t)=>{const{__scopeTabs:n,value:o,forceMount:s,children:r,...i}=e,c=ee(Re,n),u=Ee(c.baseId,o),l=Ae(c.baseId,o),b=o===c.value,f=a.useRef(b);return a.useEffect(()=>{const g=requestAnimationFrame(()=>f.current=!1);return()=>cancelAnimationFrame(g)},[]),d.jsx(ye,{present:s||b,children:({present:g})=>d.jsx($.div,{"data-state":b?"active":"inactive","data-orientation":c.orientation,role:"tabpanel","aria-labelledby":u,hidden:!g,id:l,tabIndex:0,...i,ref:t,style:{...e.style,animationDuration:f.current?"0s":void 0},children:g&&r})})});Te.displayName=Re;function Ee(e,t){return`${e}-trigger-${t}`}function Ae(e,t){return`${e}-content-${t}`}var wt=xe,St=Se,It=Ne,Nt=Te;function Rt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Oe={exports:{}};/*!
5
+ */var ie;function Be(){return ie||(ie=1,function(e){(function(){var t={}.hasOwnProperty;function n(){for(var r="",i=0;i<arguments.length;i++){var c=arguments[i];c&&(r=s(r,o.call(this,c)))}return r}function o(r){if(typeof r=="string"||typeof r=="number")return this&&this[r]||r;if(typeof r!="object")return"";if(Array.isArray(r))return n.apply(this,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var i="";for(var c in r)t.call(r,c)&&r[c]&&(i=s(i,this&&this[c]||c));return i}function s(r,i){return i?r?r+" "+i:r+i:r}e.exports?(n.default=n,e.exports=n):window.classNames=n})()}(se)),se.exports}var Ue=Be();const Ge=Ve(Ue),We={"purpur-icon":"_purpur-icon_8u1lq_1","purpur-icon--xxs":"_purpur-icon--xxs_8u1lq_4","purpur-icon--xs":"_purpur-icon--xs_8u1lq_8","purpur-icon--sm":"_purpur-icon--sm_8u1lq_12","purpur-icon--md":"_purpur-icon--md_8u1lq_16","purpur-icon--lg":"_purpur-icon--lg_8u1lq_20","purpur-icon--xl":"_purpur-icon--xl_8u1lq_24"},ke=Ge.bind(We),ce="purpur-icon",Ke="md",ze=e=>e.filter(t=>Object.keys(t).length>=1).map(t=>`${t.name}="${t.value}"`).join(" "),Ye=({content:e="",title:t}={})=>{const n=[{name:"xmlns",value:"http://www.w3.org/2000/svg"},{name:"fill",value:"currentColor"},{name:"viewBox",value:"0 0 24 24"},t?{name:"role",value:"img"}:{name:"aria-hidden",value:"true"}],o=t?`<title>${t}</title>`:"";return`<svg ${ze(n)}>${o}${e}</svg>`},Ze=e=>e.replace(/<(\/?)svg([^>]*)>/g,"").trim(),fe=({["data-testid"]:e,svg:t,allyTitle:n,className:o,size:s=Ke,...r})=>{const i=Ye({content:Ze(t.svg),title:n}),c=ke(o,ce,`${ce}--${s}`);return d.jsx("span",{"aria-label":n,className:c,"data-testid":e,dangerouslySetInnerHTML:{__html:i},...r})};fe.displayName="Icon";const Xe={name:"chevron-left",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M16.175 3.905a.9.9 0 0 1-.08 1.27L8.36 12l7.736 6.825a.9.9 0 0 1-1.191 1.35l-8.5-7.5a.9.9 0 0 1 0-1.35l8.5-7.5a.9.9 0 0 1 1.27.08Z" clip-rule="evenodd"/></svg>',keywords:["chevron-left"],category:"utility"},Je={name:"chevron-right",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M7.809 3.924a.9.9 0 0 0 .115 1.267L16.094 12l-8.17 6.809a.9.9 0 0 0 1.152 1.382l9-7.5a.9.9 0 0 0 0-1.382l-9-7.5a.9.9 0 0 0-1.267.115Z" clip-rule="evenodd"/></svg>',keywords:["chevron-right"],category:"utility"};function E(e,t,{checkForDefaultPrevented:n=!0}={}){return function(s){if(e==null||e(s),n===!1||!s.defaultPrevented)return t==null?void 0:t(s)}}function Q(e,t=[]){let n=[];function o(r,i){const c=a.createContext(i),u=n.length;n=[...n,i];const l=f=>{var v;const{scope:b,children:h,...p}=f,C=((v=b==null?void 0:b[e])==null?void 0:v[u])||c,g=a.useMemo(()=>p,Object.values(p));return d.jsx(C.Provider,{value:g,children:h})};l.displayName=r+"Provider";function _(f,b){var C;const h=((C=b==null?void 0:b[e])==null?void 0:C[u])||c,p=a.useContext(h);if(p)return p;if(i!==void 0)return i;throw new Error(`\`${f}\` must be used within \`${r}\``)}return[l,_]}const s=()=>{const r=n.map(i=>a.createContext(i));return function(c){const u=(c==null?void 0:c[e])||r;return a.useMemo(()=>({[`__scope${e}`]:{...c,[e]:u}}),[c,u])}};return s.scopeName=e,[o,Qe(s,...t)]}function Qe(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const o=e.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(r){const i=o.reduce((c,{useScope:u,scopeName:l})=>{const f=u(r)[`__scope${l}`];return{...c,...f}},{});return a.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}function ae(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function pe(...e){return t=>{let n=!1;const o=e.map(s=>{const r=ae(s,t);return!n&&typeof r=="function"&&(n=!0),r});if(n)return()=>{for(let s=0;s<o.length;s++){const r=o[s];typeof r=="function"?r():ae(e[s],null)}}}}function B(...e){return a.useCallback(pe(...e),e)}var U=a.forwardRef((e,t)=>{const{children:n,...o}=e,s=a.Children.toArray(n),r=s.find(et);if(r){const i=r.props.children,c=s.map(u=>u===r?a.Children.count(i)>1?a.Children.only(null):a.isValidElement(i)?i.props.children:null:u);return d.jsx(Z,{...o,ref:t,children:a.isValidElement(i)?a.cloneElement(i,void 0,c):null})}return d.jsx(Z,{...o,ref:t,children:n})});U.displayName="Slot";var Z=a.forwardRef((e,t)=>{const{children:n,...o}=e;if(a.isValidElement(n)){const s=nt(n),r=tt(o,n.props);return n.type!==a.Fragment&&(r.ref=t?pe(t,s):s),a.cloneElement(n,r)}return a.Children.count(n)>1?a.Children.only(null):null});Z.displayName="SlotClone";var He=({children:e})=>d.jsx(d.Fragment,{children:e});function et(e){return a.isValidElement(e)&&e.type===He}function tt(e,t){const n={...t};for(const o in t){const s=e[o],r=t[o];/^on[A-Z]/.test(o)?s&&r?n[o]=(...c)=>{r(...c),s(...c)}:s&&(n[o]=s):o==="style"?n[o]={...s,...r}:o==="className"&&(n[o]=[s,r].filter(Boolean).join(" "))}return{...e,...n}}function nt(e){var o,s;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function rt(e){const t=e+"CollectionProvider",[n,o]=Q(t),[s,r]=n(t,{collectionRef:{current:null},itemMap:new Map}),i=h=>{const{scope:p,children:C}=h,g=y.useRef(null),v=y.useRef(new Map).current;return d.jsx(s,{scope:p,itemMap:v,collectionRef:g,children:C})};i.displayName=t;const c=e+"CollectionSlot",u=y.forwardRef((h,p)=>{const{scope:C,children:g}=h,v=r(c,C),w=B(p,v.collectionRef);return d.jsx(U,{ref:w,children:g})});u.displayName=c;const l=e+"CollectionItemSlot",_="data-radix-collection-item",f=y.forwardRef((h,p)=>{const{scope:C,children:g,...v}=h,w=y.useRef(null),A=B(p,w),N=r(l,C);return y.useEffect(()=>(N.itemMap.set(w,{ref:w,...v}),()=>void N.itemMap.delete(w))),d.jsx(U,{[_]:"",ref:A,children:g})});f.displayName=l;function b(h){const p=r(e+"CollectionConsumer",h);return y.useCallback(()=>{const g=p.collectionRef.current;if(!g)return[];const v=Array.from(g.querySelectorAll(`[${_}]`));return Array.from(p.itemMap.values()).sort((N,O)=>v.indexOf(N.ref.current)-v.indexOf(O.ref.current))},[p.collectionRef,p.itemMap])}return[{Provider:i,Slot:u,ItemSlot:f},b,o]}var X=globalThis!=null&&globalThis.document?a.useLayoutEffect:()=>{},ot=a.useId||(()=>{}),st=0;function me(e){const[t,n]=a.useState(ot());return X(()=>{n(o=>o??String(st++))},[e]),t?`radix-${t}`:""}var it=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],$=it.reduce((e,t)=>{const n=a.forwardRef((o,s)=>{const{asChild:r,...i}=o,c=r?U:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(c,{...i,ref:s})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function H(e){const t=a.useRef(e);return a.useEffect(()=>{t.current=e}),a.useMemo(()=>(...n)=>{var o;return(o=t.current)==null?void 0:o.call(t,...n)},[])}function ve({prop:e,defaultProp:t,onChange:n=()=>{}}){const[o,s]=ct({defaultProp:t,onChange:n}),r=e!==void 0,i=r?e:o,c=H(n),u=a.useCallback(l=>{if(r){const f=typeof l=="function"?l(e):l;f!==e&&c(f)}else s(l)},[r,e,s,c]);return[i,u]}function ct({defaultProp:e,onChange:t}){const n=a.useState(e),[o]=n,s=a.useRef(o),r=H(t);return a.useEffect(()=>{s.current!==o&&(r(o),s.current=o)},[o,s,r]),n}var at=a.createContext(void 0);function _e(e){const t=a.useContext(at);return e||t||"ltr"}var z="rovingFocusGroup.onEntryFocus",ut={bubbles:!1,cancelable:!0},G="RovingFocusGroup",[J,be,lt]=rt(G),[dt,ge]=Q(G,[lt]),[ft,pt]=dt(G),he=a.forwardRef((e,t)=>d.jsx(J.Provider,{scope:e.__scopeRovingFocusGroup,children:d.jsx(J.Slot,{scope:e.__scopeRovingFocusGroup,children:d.jsx(mt,{...e,ref:t})})}));he.displayName=G;var mt=a.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:o,loop:s=!1,dir:r,currentTabStopId:i,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:u,onEntryFocus:l,preventScrollOnEntryFocus:_=!1,...f}=e,b=a.useRef(null),h=B(t,b),p=_e(r),[C=null,g]=ve({prop:i,defaultProp:c,onChange:u}),[v,w]=a.useState(!1),A=H(l),N=be(n),O=a.useRef(!1),[D,q]=a.useState(0);return a.useEffect(()=>{const I=b.current;if(I)return I.addEventListener(z,A),()=>I.removeEventListener(z,A)},[A]),d.jsx(ft,{scope:n,orientation:o,dir:p,loop:s,currentTabStopId:C,onItemFocus:a.useCallback(I=>g(I),[g]),onItemShiftTab:a.useCallback(()=>w(!0),[]),onFocusableItemAdd:a.useCallback(()=>q(I=>I+1),[]),onFocusableItemRemove:a.useCallback(()=>q(I=>I-1),[]),children:d.jsx($.div,{tabIndex:v||D===0?-1:0,"data-orientation":o,...f,ref:h,style:{outline:"none",...e.style},onMouseDown:E(e.onMouseDown,()=>{O.current=!0}),onFocus:E(e.onFocus,I=>{const L=!O.current;if(I.target===I.currentTarget&&L&&!v){const j=new CustomEvent(z,ut);if(I.currentTarget.dispatchEvent(j),!j.defaultPrevented){const M=N().filter(x=>x.focusable),W=M.find(x=>x.active),k=M.find(x=>x.id===C),m=[W,k,...M].filter(Boolean).map(x=>x.ref.current);xe(m,_)}}O.current=!1}),onBlur:E(e.onBlur,()=>w(!1))})})}),ye="RovingFocusGroupItem",Ce=a.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:o=!0,active:s=!1,tabStopId:r,...i}=e,c=me(),u=r||c,l=pt(ye,n),_=l.currentTabStopId===u,f=be(n),{onFocusableItemAdd:b,onFocusableItemRemove:h}=l;return a.useEffect(()=>{if(o)return b(),()=>h()},[o,b,h]),d.jsx(J.ItemSlot,{scope:n,id:u,focusable:o,active:s,children:d.jsx($.span,{tabIndex:_?0:-1,"data-orientation":l.orientation,...i,ref:t,onMouseDown:E(e.onMouseDown,p=>{o?l.onItemFocus(u):p.preventDefault()}),onFocus:E(e.onFocus,()=>l.onItemFocus(u)),onKeyDown:E(e.onKeyDown,p=>{if(p.key==="Tab"&&p.shiftKey){l.onItemShiftTab();return}if(p.target!==p.currentTarget)return;const C=bt(p,l.orientation,l.dir);if(C!==void 0){if(p.metaKey||p.ctrlKey||p.altKey||p.shiftKey)return;p.preventDefault();let v=f().filter(w=>w.focusable).map(w=>w.ref.current);if(C==="last")v.reverse();else if(C==="prev"||C==="next"){C==="prev"&&v.reverse();const w=v.indexOf(p.currentTarget);v=l.loop?gt(v,w+1):v.slice(w+1)}setTimeout(()=>xe(v))}})})})});Ce.displayName=ye;var vt={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function _t(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function bt(e,t,n){const o=_t(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(o))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(o)))return vt[o]}function xe(e,t=!1){const n=document.activeElement;for(const o of e)if(o===n||(o.focus({preventScroll:t}),document.activeElement!==n))return}function gt(e,t){return e.map((n,o)=>e[(t+o)%e.length])}var ht=he,yt=Ce;function Ct(e,t){return a.useReducer((n,o)=>t[n][o]??n,e)}var we=e=>{const{present:t,children:n}=e,o=xt(t),s=typeof n=="function"?n({present:o.isPresent}):a.Children.only(n),r=B(o.ref,wt(s));return typeof n=="function"||o.isPresent?a.cloneElement(s,{ref:r}):null};we.displayName="Presence";function xt(e){const[t,n]=a.useState(),o=a.useRef({}),s=a.useRef(e),r=a.useRef("none"),i=e?"mounted":"unmounted",[c,u]=Ct(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return a.useEffect(()=>{const l=V(o.current);r.current=c==="mounted"?l:"none"},[c]),X(()=>{const l=o.current,_=s.current;if(_!==e){const b=r.current,h=V(l);e?u("MOUNT"):h==="none"||(l==null?void 0:l.display)==="none"?u("UNMOUNT"):u(_&&b!==h?"ANIMATION_OUT":"UNMOUNT"),s.current=e}},[e,u]),X(()=>{if(t){let l;const _=t.ownerDocument.defaultView??window,f=h=>{const C=V(o.current).includes(h.animationName);if(h.target===t&&C&&(u("ANIMATION_END"),!s.current)){const g=t.style.animationFillMode;t.style.animationFillMode="forwards",l=_.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=g)})}},b=h=>{h.target===t&&(r.current=V(o.current))};return t.addEventListener("animationstart",b),t.addEventListener("animationcancel",f),t.addEventListener("animationend",f),()=>{_.clearTimeout(l),t.removeEventListener("animationstart",b),t.removeEventListener("animationcancel",f),t.removeEventListener("animationend",f)}}else u("ANIMATION_END")},[t,u]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:a.useCallback(l=>{l&&(o.current=getComputedStyle(l)),n(l)},[])}}function V(e){return(e==null?void 0:e.animationName)||"none"}function wt(e){var o,s;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var ee="Tabs",[It,Gt]=Q(ee,[ge]),Ie=ge(),[St,te]=It(ee),Se=a.forwardRef((e,t)=>{const{__scopeTabs:n,value:o,onValueChange:s,defaultValue:r,orientation:i="horizontal",dir:c,activationMode:u="automatic",...l}=e,_=_e(c),[f,b]=ve({prop:o,onChange:s,defaultProp:r});return d.jsx(St,{scope:n,baseId:me(),value:f,onValueChange:b,orientation:i,dir:_,activationMode:u,children:d.jsx($.div,{dir:_,"data-orientation":i,...l,ref:t})})});Se.displayName=ee;var Ne="TabsList",Re=a.forwardRef((e,t)=>{const{__scopeTabs:n,loop:o=!0,...s}=e,r=te(Ne,n),i=Ie(n);return d.jsx(ht,{asChild:!0,...i,orientation:r.orientation,dir:r.dir,loop:o,children:d.jsx($.div,{role:"tablist","aria-orientation":r.orientation,...s,ref:t})})});Re.displayName=Ne;var Te="TabsTrigger",Ee=a.forwardRef((e,t)=>{const{__scopeTabs:n,value:o,disabled:s=!1,...r}=e,i=te(Te,n),c=Ie(n),u=Me(i.baseId,o),l=Pe(i.baseId,o),_=o===i.value;return d.jsx(yt,{asChild:!0,...c,focusable:!s,active:_,children:d.jsx($.button,{type:"button",role:"tab","aria-selected":_,"aria-controls":l,"data-state":_?"active":"inactive","data-disabled":s?"":void 0,disabled:s,id:u,...r,ref:t,onMouseDown:E(e.onMouseDown,f=>{!s&&f.button===0&&f.ctrlKey===!1?i.onValueChange(o):f.preventDefault()}),onKeyDown:E(e.onKeyDown,f=>{[" ","Enter"].includes(f.key)&&i.onValueChange(o)}),onFocus:E(e.onFocus,()=>{const f=i.activationMode!=="manual";!_&&!s&&f&&i.onValueChange(o)})})})});Ee.displayName=Te;var Ae="TabsContent",Oe=a.forwardRef((e,t)=>{const{__scopeTabs:n,value:o,forceMount:s,children:r,...i}=e,c=te(Ae,n),u=Me(c.baseId,o),l=Pe(c.baseId,o),_=o===c.value,f=a.useRef(_);return a.useEffect(()=>{const b=requestAnimationFrame(()=>f.current=!1);return()=>cancelAnimationFrame(b)},[]),d.jsx(we,{present:s||_,children:({present:b})=>d.jsx($.div,{"data-state":_?"active":"inactive","data-orientation":c.orientation,role:"tabpanel","aria-labelledby":u,hidden:!b,id:l,tabIndex:0,...i,ref:t,style:{...e.style,animationDuration:f.current?"0s":void 0},children:b&&r})})});Oe.displayName=Ae;function Me(e,t){return`${e}-trigger-${t}`}function Pe(e,t){return`${e}-content-${t}`}var Nt=Se,Rt=Re,Tt=Ee,Et=Oe;function At(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Y={exports:{}};/*!
6
6
  Copyright (c) 2018 Jed Watson.
7
7
  Licensed under the MIT License (MIT), see
8
8
  http://jedwatson.github.io/classnames
9
- */(function(e){(function(){var t={}.hasOwnProperty;function n(){for(var r="",i=0;i<arguments.length;i++){var c=arguments[i];c&&(r=s(r,o.call(this,c)))}return r}function o(r){if(typeof r=="string"||typeof r=="number")return this&&this[r]||r;if(typeof r!="object")return"";if(Array.isArray(r))return n.apply(this,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var i="";for(var c in r)t.call(r,c)&&r[c]&&(i=s(i,this&&this[c]||c));return i}function s(r,i){return i?r?r+" "+i:r+i:r}e.exports?(n.default=n,e.exports=n):window.classNames=n})()})(Oe);var Tt=Oe.exports;const te=Rt(Tt),Et={"purpur-tab-content":"_purpur-tab-content_1ugbi_1","purpur-tab-content--force-mount":"_purpur-tab-content--force-mount_1ugbi_15"},At=te.bind(Et),ie="purpur-tab-content",Ot=y.forwardRef(({children:e,tabId:t,"data-testid":n,className:o,disableForceMount:s,...r},i)=>d.jsx(Nt,{ref:i,className:At([ie,o,{[`${ie}--force-mount`]:!s}]),"data-testid":n,value:t,forceMount:!s||void 0,...r,children:e})),Mt=e=>!!e&&y.isValidElement(e)&&!!e.props.name&&!!e.props.tabId,Pt={"purpur-tab-header":"_purpur-tab-header_18g3c_1","purpur-tab-header--contained":"_purpur-tab-header--contained_18g3c_33","purpur-tab-header--contained-negative":"_purpur-tab-header--contained-negative_18g3c_33","purpur-tab-header--line":"_purpur-tab-header--line_18g3c_36","purpur-tab-header--line-negative":"_purpur-tab-header--line-negative_18g3c_48"},jt=te.bind(Pt),ce="purpur-tab-header",Ft=y.forwardRef(({index:e,tabId:t,variant:n,negative:o,onFocus:s,"data-testid":r,children:i},c)=>d.jsx(It,{id:`${t}-trigger`,className:jt([ce,`${ce}--${n}${o?"-negative":""}`]),value:t,"data-testid":r,"data-index":e,ref:c,onFocus:s,children:i})),$t={"purpur-tabs__wrapper":"_purpur-tabs__wrapper_1dpqy_1","purpur-tabs__scroll-button":"_purpur-tabs__scroll-button_1dpqy_9","purpur-tabs__scroll-button--left":"_purpur-tabs__scroll-button--left_1dpqy_63","purpur-tabs__scroll-button--right":"_purpur-tabs__scroll-button--right_1dpqy_66","purpur-tabs__wrapper--scroll-end":"_purpur-tabs__wrapper--scroll-end_1dpqy_69","purpur-tabs__wrapper--scroll-start":"_purpur-tabs__wrapper--scroll-start_1dpqy_72","purpur-tabs--line":"_purpur-tabs--line_1dpqy_75","purpur-tabs--line-negative":"_purpur-tabs--line-negative_1dpqy_75","purpur-tabs__selected-border":"_purpur-tabs__selected-border_1dpqy_83","purpur-tabs--contained":"_purpur-tabs--contained_1dpqy_103","purpur-tabs__list":"_purpur-tabs__list_1dpqy_103","purpur-tabs--contained-negative":"_purpur-tabs--contained-negative_1dpqy_103","purpur-tabs__content-container":"_purpur-tabs__content-container_1dpqy_106","purpur-tabs--fullWidth":"_purpur-tabs--fullWidth_1dpqy_115"},Dt=["line","contained"],Me=e=>new CustomEvent("tabChangeDetail",{detail:{value:e}}),P=te.bind($t),I="purpur-tabs",qt=(e,t)=>{var u;if(typeof(e==null?void 0:e.getBoundingClientRect)!="function"||typeof(t==null?void 0:t.scroll)!="function")return;const n=e.getBoundingClientRect(),o=t.getBoundingClientRect(),s=t.clientWidth,r=parseInt((u=getComputedStyle(t).borderLeftWidth)==null?void 0:u.split("px")[0],10),i=o.left+(isNaN(r)?0:r);let c;n.right>o.right&&(c=n.left+t.scrollLeft,c=c+n.width-s+s*.1,c=c-i),n.left<o.left&&(c=n.left+t.scrollLeft,c=c-s*.1,c=c-i),c!==void 0&&t.scroll({left:c,behavior:"smooth"})},Pe=({children:e,variant:t="line",negative:n=!1,fullWidth:o=!1,onChange:s,className:r,defaultValue:i,"data-testid":c,value:u,...l})=>{const[b,f]=y.useState({}),[g,h]=y.useState(0),[p,C]=y.useState(0),v=y.Children.toArray(e).filter(Mt),_=y.useRef(null),w=y.useRef(new Array(v.length)),A=200,N=t==="line",O=P([I,`${I}--${t}${n?"-negative":""}`,{[`${I}--fullWidth`]:o},r]),D=y.Children.map(v,({props:{tabId:m}})=>m),q=()=>{const m=D.findIndex(x=>x===i);return m>=0?m:0};y.useEffect(()=>{u&&L(v.findIndex(m=>m.props.tabId===u))},[v,u]);const[S,L]=y.useState(q);if(new Set(D).size!==D.length)throw new Error("tabId must be unique");const j=(m,x)=>x||c?`${x||c}-${m}`:void 0,M=()=>{if(!N)return;const m=w.current[S];h((m==null?void 0:m.offsetLeft)||0),C((m==null?void 0:m.getBoundingClientRect().width)||0)},W=m=>{N&&!u&&L(v.findIndex(x=>x.props.tabId===m)),s==null||s(Me(m))},k=m=>{if(_!=null&&_.current){const{scrollLeft:x}=_.current,F=m==="left"?-200:A;_.current.scroll({left:x+F,behavior:"smooth"})}},K=({side:m})=>d.jsx("button",{className:P(`${I}__scroll-button`,`${I}__scroll-button--${m}`),onClick:()=>k(m),type:"button","aria-hidden":"true",tabIndex:-1,"data-testid":j("scroll-button"),children:d.jsx(ue,{svg:m==="left"?ze:Ye,size:"md"})});return y.useEffect(()=>(window.addEventListener("resize",M),()=>{window.removeEventListener("resize",M)}),[]),y.useEffect(()=>{M()},[S,o,v.length,t]),y.useEffect(()=>{const m=T=>{if(T.every(R=>R.isIntersecting)&&T.length===v.length){f({});return}T.forEach(R=>{const re=Number(R.target.getAttribute("data-index")),je=re===0,Fe=re===v.length-1;f($e=>({...$e,...je&&{[`${I}__wrapper--scroll-end`]:!R.isIntersecting},...Fe&&{[`${I}__wrapper--scroll-start`]:!R.isIntersecting}}))})},x=new IntersectionObserver(m,{threshold:[.99],root:_.current}),F=w.current;return F.forEach(T=>x.observe(T)),()=>{F.forEach(T=>x.unobserve(T))}},[v.length]),d.jsx(wt,{defaultValue:i??v[0].props.tabId,onValueChange:W,"data-testid":c,className:O,value:u,...l,children:d.jsxs("div",{className:P(`${I}__container`),children:[d.jsxs("div",{className:P([`${I}__wrapper`,b]),children:[d.jsxs(St,{ref:m=>{_.current=m},className:P(`${I}__list`),children:[y.Children.map(v,(m,x)=>{const{name:F,tabId:T,"data-testid":ne}=m.props;return d.jsx(Ft,{"data-testid":j("header",ne),index:x,tabId:T,ref:R=>{R&&(w.current[x]=R)},onFocus:R=>{qt(R.target,_.current)},variant:t,negative:n,children:F})}),N&&d.jsx("div",{className:P(`${I}__selected-border`),style:{width:p,transform:`translateX(${g}px)`},"data-testid":j("selected-border")})]}),d.jsx(K,{side:"left"}),d.jsx(K,{side:"right"})]}),d.jsx("div",{className:P(`${I}__content-container`),children:y.Children.map(v,m=>m)})]})})};Pe.Content=Ot;exports.Tabs=Pe;exports.createTabChangeDetailEvent=Me;exports.tabsVariants=Dt;
9
+ */var ue;function Ot(){return ue||(ue=1,function(e){(function(){var t={}.hasOwnProperty;function n(){for(var r="",i=0;i<arguments.length;i++){var c=arguments[i];c&&(r=s(r,o.call(this,c)))}return r}function o(r){if(typeof r=="string"||typeof r=="number")return this&&this[r]||r;if(typeof r!="object")return"";if(Array.isArray(r))return n.apply(this,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var i="";for(var c in r)t.call(r,c)&&r[c]&&(i=s(i,this&&this[c]||c));return i}function s(r,i){return i?r?r+" "+i:r+i:r}e.exports?(n.default=n,e.exports=n):window.classNames=n})()}(Y)),Y.exports}var Mt=Ot();const ne=At(Mt),Pt={"purpur-tab-content":"_purpur-tab-content_1ugbi_1","purpur-tab-content--force-mount":"_purpur-tab-content--force-mount_1ugbi_15"},jt=ne.bind(Pt),le="purpur-tab-content",Ft=y.forwardRef(({children:e,tabId:t,"data-testid":n,className:o,disableForceMount:s,...r},i)=>d.jsx(Et,{ref:i,className:jt([le,o,{[`${le}--force-mount`]:!s}]),"data-testid":n,value:t,forceMount:!s||void 0,...r,children:e})),$t=e=>!!e&&y.isValidElement(e)&&!!e.props.name&&!!e.props.tabId,Dt={"purpur-tab-header":"_purpur-tab-header_18g3c_1","purpur-tab-header--contained":"_purpur-tab-header--contained_18g3c_33","purpur-tab-header--contained-negative":"_purpur-tab-header--contained-negative_18g3c_33","purpur-tab-header--line":"_purpur-tab-header--line_18g3c_36","purpur-tab-header--line-negative":"_purpur-tab-header--line-negative_18g3c_48"},qt=ne.bind(Dt),de="purpur-tab-header",Lt=y.forwardRef(({index:e,tabId:t,variant:n,negative:o,onFocus:s,"data-testid":r,children:i},c)=>d.jsx(Tt,{id:`${t}-trigger`,className:qt([de,`${de}--${n}${o?"-negative":""}`]),value:t,"data-testid":r,"data-index":e,ref:c,onFocus:s,children:i})),Vt={"purpur-tabs__wrapper":"_purpur-tabs__wrapper_1dpqy_1","purpur-tabs__scroll-button":"_purpur-tabs__scroll-button_1dpqy_9","purpur-tabs__scroll-button--left":"_purpur-tabs__scroll-button--left_1dpqy_63","purpur-tabs__scroll-button--right":"_purpur-tabs__scroll-button--right_1dpqy_66","purpur-tabs__wrapper--scroll-end":"_purpur-tabs__wrapper--scroll-end_1dpqy_69","purpur-tabs__wrapper--scroll-start":"_purpur-tabs__wrapper--scroll-start_1dpqy_72","purpur-tabs--line":"_purpur-tabs--line_1dpqy_75","purpur-tabs--line-negative":"_purpur-tabs--line-negative_1dpqy_75","purpur-tabs__selected-border":"_purpur-tabs__selected-border_1dpqy_83","purpur-tabs--contained":"_purpur-tabs--contained_1dpqy_103","purpur-tabs__list":"_purpur-tabs__list_1dpqy_103","purpur-tabs--contained-negative":"_purpur-tabs--contained-negative_1dpqy_103","purpur-tabs__content-container":"_purpur-tabs__content-container_1dpqy_106","purpur-tabs--fullWidth":"_purpur-tabs--fullWidth_1dpqy_115"},Bt=["line","contained"],je=e=>new CustomEvent("tabChangeDetail",{detail:{value:e}}),P=ne.bind(Vt),S="purpur-tabs",Ut=(e,t)=>{var u;if(typeof(e==null?void 0:e.getBoundingClientRect)!="function"||typeof(t==null?void 0:t.scroll)!="function")return;const n=e.getBoundingClientRect(),o=t.getBoundingClientRect(),s=t.clientWidth,r=parseInt((u=getComputedStyle(t).borderLeftWidth)==null?void 0:u.split("px")[0],10),i=o.left+(isNaN(r)?0:r);let c;n.right>o.right&&(c=n.left+t.scrollLeft,c=c+n.width-s+s*.1,c=c-i),n.left<o.left&&(c=n.left+t.scrollLeft,c=c-s*.1,c=c-i),c!==void 0&&t.scroll({left:c,behavior:"smooth"})},Fe=({children:e,variant:t="line",negative:n=!1,fullWidth:o=!1,onChange:s,className:r,defaultValue:i,"data-testid":c,value:u,...l})=>{const[_,f]=y.useState({}),[b,h]=y.useState(0),[p,C]=y.useState(0),g=y.Children.toArray(e).filter($t),v=y.useRef(null),w=y.useRef(new Array(g.length)),A=200,N=t==="line",O=P([S,`${S}--${t}${n?"-negative":""}`,{[`${S}--fullWidth`]:o},r]),D=y.Children.map(g,({props:{tabId:m}})=>m),q=()=>{const m=D.findIndex(x=>x===i);return m>=0?m:0};y.useEffect(()=>{u&&L(g.findIndex(m=>m.props.tabId===u))},[g,u]);const[I,L]=y.useState(q);if(new Set(D).size!==D.length)throw new Error("tabId must be unique");const j=(m,x)=>x||c?`${x||c}-${m}`:void 0,M=()=>{if(!N)return;const m=w.current[I];h((m==null?void 0:m.offsetLeft)||0),C((m==null?void 0:m.getBoundingClientRect().width)||0)},W=m=>{N&&!u&&L(g.findIndex(x=>x.props.tabId===m)),s==null||s(je(m))},k=m=>{if(v!=null&&v.current){const{scrollLeft:x}=v.current,F=m==="left"?-200:A;v.current.scroll({left:x+F,behavior:"smooth"})}},K=({side:m})=>d.jsx("button",{className:P(`${S}__scroll-button`,`${S}__scroll-button--${m}`),onClick:()=>k(m),type:"button","aria-hidden":"true",tabIndex:-1,"data-testid":j("scroll-button"),children:d.jsx(fe,{svg:m==="left"?Xe:Je,size:"md"})});return y.useEffect(()=>(window.addEventListener("resize",M),()=>{window.removeEventListener("resize",M)}),[]),y.useEffect(()=>{M()},[I,o,g.length,t]),y.useEffect(()=>{const m=T=>{if(T.every(R=>R.isIntersecting)&&T.length===g.length){f({});return}T.forEach(R=>{const oe=Number(R.target.getAttribute("data-index")),$e=oe===0,De=oe===g.length-1;f(qe=>({...qe,...$e&&{[`${S}__wrapper--scroll-end`]:!R.isIntersecting},...De&&{[`${S}__wrapper--scroll-start`]:!R.isIntersecting}}))})},x=new IntersectionObserver(m,{threshold:[.99],root:v.current}),F=w.current;return F.forEach(T=>x.observe(T)),()=>{F.forEach(T=>x.unobserve(T))}},[g.length]),d.jsx(Nt,{defaultValue:i??g[0].props.tabId,onValueChange:W,"data-testid":c,className:O,value:u,...l,children:d.jsxs("div",{className:P(`${S}__container`),children:[d.jsxs("div",{className:P([`${S}__wrapper`,_]),children:[d.jsxs(Rt,{ref:m=>{v.current=m},className:P(`${S}__list`),children:[y.Children.map(g,(m,x)=>{const{name:F,tabId:T,"data-testid":re}=m.props;return d.jsx(Lt,{"data-testid":j("header",re),index:x,tabId:T,ref:R=>{R&&(w.current[x]=R)},onFocus:R=>{Ut(R.target,v.current)},variant:t,negative:n,children:F})}),N&&d.jsx("div",{className:P(`${S}__selected-border`),style:{width:p,transform:`translateX(${b}px)`},"data-testid":j("selected-border")})]}),d.jsx(K,{side:"left"}),d.jsx(K,{side:"right"})]}),d.jsx("div",{className:P(`${S}__content-container`),children:y.Children.map(g,m=>m)})]})})};Fe.Content=Ft;exports.Tabs=Fe;exports.createTabChangeDetailEvent=je;exports.tabsVariants=Bt;
10
10
  //# sourceMappingURL=tabs.cjs.js.map