@sps-woodland/product-bar 8.2.1 → 8.3.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/lib/index.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const p=require("react"),y=require("@sps-woodland/core"),z=require("@spscommerce/utils"),Ke=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function De(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const te=Ke(p),b=De(p);function Te(e){var t,r,a="";if(typeof e=="string"||typeof e=="number")a+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(r=Te(e[t]))&&(a&&(a+=" "),a+=r);else for(t in e)e[t]&&(a&&(a+=" "),a+=t);return a}function Fe(){for(var e,t,r=0,a="";r<arguments.length;)(e=arguments[r++])&&(t=Te(e))&&(a&&(a+=" "),a+=t);return a}const he=typeof window<"u"?te.default.useLayoutEffect:()=>{};let le=new Map;function Ne(e,t){if(e===t)return e;let r=le.get(e);if(r)return r(t),t;let a=le.get(t);return a?(a(e),e):t}function _e(...e){return(...t)=>{for(let r of e)typeof r=="function"&&r(...t)}}function K(...e){let t={...e[0]};for(let r=1;r<e.length;r++){let a=e[r];for(let s in a){let l=t[s],u=a[s];typeof l=="function"&&typeof u=="function"&&s[0]==="o"&&s[1]==="n"&&s.charCodeAt(2)>=65&&s.charCodeAt(2)<=90?t[s]=_e(l,u):(s==="className"||s==="UNSAFE_className")&&typeof l=="string"&&typeof u=="string"?t[s]=Fe(l,u):s==="id"&&l&&u?t.id=Ne(l,u):t[s]=u!==void 0?u:l}}return t}const Ae=new Set(["id"]),Re=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),ze=/^(data-.*)$/;function Ie(e,t={}){let{labelable:r,propNames:a}=t,s={};for(const l in e)Object.prototype.hasOwnProperty.call(e,l)&&(Ae.has(l)||r&&Re.has(l)||(a==null?void 0:a.has(l))||ze.test(l))&&(s[l]=e[l]);return s}function M(e){if(He())e.focus({preventScroll:!0});else{let t=Ue(e);e.focus(),Ge(t)}}let A=null;function He(){if(A==null){A=!1;try{var e=document.createElement("div");e.focus({get preventScroll(){return A=!0,!0}})}catch{}}return A}function Ue(e){for(var t=e.parentNode,r=[],a=document.scrollingElement||document.documentElement;t instanceof HTMLElement&&t!==a;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&r.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return a instanceof HTMLElement&&r.push({element:a,scrollTop:a.scrollTop,scrollLeft:a.scrollLeft}),r}function Ge(e){for(let{element:t,scrollTop:r,scrollLeft:a}of e)t.scrollTop=r,t.scrollLeft=a}let x=new Map,Y=new Set;function ue(){if(typeof window>"u")return;let e=r=>{let a=x.get(r.target);a||(a=new Set,x.set(r.target,a),r.target.addEventListener("transitioncancel",t)),a.add(r.propertyName)},t=r=>{let a=x.get(r.target);if(!!a&&(a.delete(r.propertyName),a.size===0&&(r.target.removeEventListener("transitioncancel",t),x.delete(r.target)),x.size===0)){for(let s of Y)s();Y.clear()}};document.body.addEventListener("transitionrun",e),document.body.addEventListener("transitionend",t)}typeof document<"u"&&(document.readyState!=="loading"?ue():document.addEventListener("DOMContentLoaded",ue));function Ee(e){requestAnimationFrame(()=>{x.size===0?e():Y.add(e)})}function je(){let e=p.useRef(new Map),t=p.useCallback((s,l,u,d)=>{let f=d!=null&&d.once?(...$)=>{e.current.delete(u),u(...$)}:u;e.current.set(u,{type:l,eventTarget:s,fn:f,options:d}),s.addEventListener(l,u,d)},[]),r=p.useCallback((s,l,u,d)=>{var f;let $=((f=e.current.get(u))===null||f===void 0?void 0:f.fn)||u;s.removeEventListener(l,$,d),e.current.delete(u)},[]),a=p.useCallback(()=>{e.current.forEach((s,l)=>{r(s.eventTarget,s.type,l,s.options)})},[r]);return p.useEffect(()=>a,[a]),{addGlobalListener:t,removeGlobalListener:r,removeAllGlobalListeners:a}}function Be(e,t){he(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref.current=null}},[e,t])}function Ve(e){var t;return typeof window>"u"||window.navigator==null?!1:((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.brands.some(r=>e.test(r.brand)))||e.test(window.navigator.userAgent)}function re(e){var t;return typeof window<"u"&&window.navigator!=null?e.test(((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.platform)||window.navigator.platform):!1}function we(){return re(/^Mac/i)}function We(){return re(/^iPhone/i)}function qe(){return re(/^iPad/i)||we()&&navigator.maxTouchPoints>1}function Se(){return We()||qe()}function Ye(){return Ve(/Android/i)}function X(e){return e.mozInputSource===0&&e.isTrusted?!0:Ye()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function Xe(e){return e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}function J(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}let O="default",Q="",I=new WeakMap;function de(e){Se()?(O==="default"&&(Q=document.documentElement.style.webkitUserSelect,document.documentElement.style.webkitUserSelect="none"),O="disabled"):(e instanceof HTMLElement||e instanceof SVGElement)&&(I.set(e,e.style.userSelect),e.style.userSelect="none")}function R(e){if(Se()){if(O!=="disabled")return;O="restoring",setTimeout(()=>{Ee(()=>{O==="restoring"&&(document.documentElement.style.webkitUserSelect==="none"&&(document.documentElement.style.webkitUserSelect=Q||""),Q="",O="default")})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&I.has(e)){let t=I.get(e);e.style.userSelect==="none"&&(e.style.userSelect=t),e.getAttribute("style")===""&&e.removeAttribute("style"),I.delete(e)}}const ke=te.default.createContext(null);ke.displayName="PressResponderContext";function Je(e){let t=p.useContext(ke);if(t){let{register:r,...a}=t;e=K(a,e),r()}return Be(t,e.ref),e}function Qe(e){let{onPress:t,onPressChange:r,onPressStart:a,onPressEnd:s,onPressUp:l,isDisabled:u,isPressed:d,preventFocusOnPress:f,shouldCancelOnPointerExit:$,allowTextSelectionOnPress:m,ref:G,...j}=Je(e),T=p.useRef(null);T.current={onPress:t,onPressChange:r,onPressStart:a,onPressEnd:s,onPressUp:l,isDisabled:u,shouldCancelOnPointerExit:$};let[V,D]=p.useState(!1),ie=p.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,ignoreClickAfterPress:!1,didFirePressStart:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null}),{addGlobalListener:w,removeAllGlobalListeners:k}=je(),xe=p.useMemo(()=>{let n=ie.current,E=(i,v)=>{let{onPressStart:o,onPressChange:c,isDisabled:_}=T.current;_||n.didFirePressStart||(o&&o({type:"pressstart",pointerType:v,target:i.currentTarget,shiftKey:i.shiftKey,metaKey:i.metaKey,ctrlKey:i.ctrlKey,altKey:i.altKey}),c&&c(!0),n.didFirePressStart=!0,D(!0))},P=(i,v,o=!0)=>{let{onPressEnd:c,onPressChange:_,onPress:ce,isDisabled:Oe}=T.current;!n.didFirePressStart||(n.ignoreClickAfterPress=!0,n.didFirePressStart=!1,c&&c({type:"pressend",pointerType:v,target:i.currentTarget,shiftKey:i.shiftKey,metaKey:i.metaKey,ctrlKey:i.ctrlKey,altKey:i.altKey}),_&&_(!1),D(!1),ce&&o&&!Oe&&ce({type:"press",pointerType:v,target:i.currentTarget,shiftKey:i.shiftKey,metaKey:i.metaKey,ctrlKey:i.ctrlKey,altKey:i.altKey}))},F=(i,v)=>{let{onPressUp:o,isDisabled:c}=T.current;c||o&&o({type:"pressup",pointerType:v,target:i.currentTarget,shiftKey:i.shiftKey,metaKey:i.metaKey,ctrlKey:i.ctrlKey,altKey:i.altKey})},B=i=>{n.isPressed&&(n.isOverTarget&&P(h(n.target,i),n.pointerType,!1),n.isPressed=!1,n.isOverTarget=!1,n.activePointerId=null,n.pointerType=null,k(),m||R(n.target))},g={onKeyDown(i){W(i.nativeEvent,i.currentTarget)&&i.currentTarget.contains(i.target)?(pe(i.target,i.key)&&i.preventDefault(),i.stopPropagation(),!n.isPressed&&!i.repeat&&(n.target=i.currentTarget,n.isPressed=!0,E(i,"keyboard"),w(document,"keyup",Me,!1))):i.key==="Enter"&&Z(i.currentTarget)&&i.stopPropagation()},onKeyUp(i){W(i.nativeEvent,i.currentTarget)&&!i.repeat&&i.currentTarget.contains(i.target)&&F(h(n.target,i),"keyboard")},onClick(i){i&&!i.currentTarget.contains(i.target)||i&&i.button===0&&(i.stopPropagation(),u&&i.preventDefault(),!n.ignoreClickAfterPress&&!n.ignoreEmulatedMouseEvents&&(n.pointerType==="virtual"||X(i.nativeEvent))&&(!u&&!f&&M(i.currentTarget),E(i,"virtual"),F(i,"virtual"),P(i,"virtual")),n.ignoreEmulatedMouseEvents=!1,n.ignoreClickAfterPress=!1)}},Me=i=>{if(n.isPressed&&W(i,n.target)){pe(i.target,i.key)&&i.preventDefault(),i.stopPropagation(),n.isPressed=!1;let v=i.target;P(h(n.target,i),"keyboard",n.target.contains(v)),k(),n.target instanceof HTMLElement&&n.target.contains(v)&&(Z(n.target)||n.target.getAttribute("role")==="link")&&n.target.click()}};if(typeof PointerEvent<"u"){g.onPointerDown=c=>{if(!(c.button!==0||!c.currentTarget.contains(c.target))){if(Xe(c.nativeEvent)){n.pointerType="virtual";return}q(c.currentTarget)&&c.preventDefault(),n.pointerType=c.pointerType,c.stopPropagation(),n.isPressed||(n.isPressed=!0,n.isOverTarget=!0,n.activePointerId=c.pointerId,n.target=c.currentTarget,!u&&!f&&M(c.currentTarget),m||de(n.target),E(c,n.pointerType),w(document,"pointermove",i,!1),w(document,"pointerup",v,!1),w(document,"pointercancel",o,!1))}},g.onMouseDown=c=>{!c.currentTarget.contains(c.target)||c.button===0&&(q(c.currentTarget)&&c.preventDefault(),c.stopPropagation())},g.onPointerUp=c=>{!c.currentTarget.contains(c.target)||n.pointerType==="virtual"||c.button===0&&L(c,c.currentTarget)&&F(c,n.pointerType||c.pointerType)};let i=c=>{c.pointerId===n.activePointerId&&(L(c,n.target)?n.isOverTarget||(n.isOverTarget=!0,E(h(n.target,c),n.pointerType)):n.isOverTarget&&(n.isOverTarget=!1,P(h(n.target,c),n.pointerType,!1),T.current.shouldCancelOnPointerExit&&B(c)))},v=c=>{c.pointerId===n.activePointerId&&n.isPressed&&c.button===0&&(L(c,n.target)?P(h(n.target,c),n.pointerType):n.isOverTarget&&P(h(n.target,c),n.pointerType,!1),n.isPressed=!1,n.isOverTarget=!1,n.activePointerId=null,n.pointerType=null,k(),m||R(n.target))},o=c=>{B(c)};g.onDragStart=c=>{!c.currentTarget.contains(c.target)||B(c)}}else{g.onMouseDown=o=>{o.button!==0||!o.currentTarget.contains(o.target)||(q(o.currentTarget)&&o.preventDefault(),o.stopPropagation(),!n.ignoreEmulatedMouseEvents&&(n.isPressed=!0,n.isOverTarget=!0,n.target=o.currentTarget,n.pointerType=X(o.nativeEvent)?"virtual":"mouse",!u&&!f&&M(o.currentTarget),E(o,n.pointerType),w(document,"mouseup",i,!1)))},g.onMouseEnter=o=>{!o.currentTarget.contains(o.target)||(o.stopPropagation(),n.isPressed&&!n.ignoreEmulatedMouseEvents&&(n.isOverTarget=!0,E(o,n.pointerType)))},g.onMouseLeave=o=>{!o.currentTarget.contains(o.target)||(o.stopPropagation(),n.isPressed&&!n.ignoreEmulatedMouseEvents&&(n.isOverTarget=!1,P(o,n.pointerType,!1),T.current.shouldCancelOnPointerExit&&B(o)))},g.onMouseUp=o=>{!o.currentTarget.contains(o.target)||!n.ignoreEmulatedMouseEvents&&o.button===0&&F(o,n.pointerType)};let i=o=>{if(o.button===0){if(n.isPressed=!1,k(),n.ignoreEmulatedMouseEvents){n.ignoreEmulatedMouseEvents=!1;return}L(o,n.target)?P(h(n.target,o),n.pointerType):n.isOverTarget&&P(h(n.target,o),n.pointerType,!1),n.isOverTarget=!1}};g.onTouchStart=o=>{if(!o.currentTarget.contains(o.target))return;o.stopPropagation();let c=Ze(o.nativeEvent);!c||(n.activePointerId=c.identifier,n.ignoreEmulatedMouseEvents=!0,n.isOverTarget=!0,n.isPressed=!0,n.target=o.currentTarget,n.pointerType="touch",!u&&!f&&M(o.currentTarget),m||de(n.target),E(o,n.pointerType),w(window,"scroll",v,!0))},g.onTouchMove=o=>{if(!o.currentTarget.contains(o.target)||(o.stopPropagation(),!n.isPressed))return;let c=fe(o.nativeEvent,n.activePointerId);c&&L(c,o.currentTarget)?n.isOverTarget||(n.isOverTarget=!0,E(o,n.pointerType)):n.isOverTarget&&(n.isOverTarget=!1,P(o,n.pointerType,!1),T.current.shouldCancelOnPointerExit&&B(o))},g.onTouchEnd=o=>{if(!o.currentTarget.contains(o.target)||(o.stopPropagation(),!n.isPressed))return;let c=fe(o.nativeEvent,n.activePointerId);c&&L(c,o.currentTarget)?(F(o,n.pointerType),P(o,n.pointerType)):n.isOverTarget&&P(o,n.pointerType,!1),n.isPressed=!1,n.activePointerId=null,n.isOverTarget=!1,n.ignoreEmulatedMouseEvents=!0,m||R(n.target),k()},g.onTouchCancel=o=>{!o.currentTarget.contains(o.target)||(o.stopPropagation(),n.isPressed&&B(o))};let v=o=>{n.isPressed&&o.target.contains(n.target)&&B({currentTarget:n.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})};g.onDragStart=o=>{!o.currentTarget.contains(o.target)||B(o)}}return g},[w,u,f,k,m]);return p.useEffect(()=>()=>{m||R(ie.current.target)},[m]),{isPressed:d||V,pressProps:K(j,xe)}}function Z(e){return e.tagName==="A"&&e.hasAttribute("href")}function W(e,t){const{key:r,code:a}=e,s=t,l=s.getAttribute("role");return(r==="Enter"||r===" "||r==="Spacebar"||a==="Space")&&!(s instanceof HTMLInputElement&&!Le(s,r)||s instanceof HTMLTextAreaElement||s.isContentEditable)&&(!Z(s)||l==="button"&&r!=="Enter")&&!(l==="link"&&r!=="Enter")}function Ze(e){const{targetTouches:t}=e;return t.length>0?t[0]:null}function fe(e,t){const r=e.changedTouches;for(let a=0;a<r.length;a++){const s=r[a];if(s.identifier===t)return s}return null}function h(e,t){return{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey}}function et(e){let t=e.width/2||e.radiusX||0,r=e.height/2||e.radiusY||0;return{top:e.clientY-r,right:e.clientX+t,bottom:e.clientY+r,left:e.clientX-t}}function tt(e,t){return!(e.left>t.right||t.left>e.right||e.top>t.bottom||t.top>e.bottom)}function L(e,t){let r=t.getBoundingClientRect(),a=et(e);return tt(r,a)}function q(e){return!(e instanceof HTMLElement)||!e.draggable}function pe(e,t){return e instanceof HTMLInputElement?!Le(e,t):e instanceof HTMLButtonElement?e.type!=="submit":!0}const rt=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function Le(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":rt.has(e.type)}class nt{isDefaultPrevented(){return this.nativeEvent.defaultPrevented}preventDefault(){this.defaultPrevented=!0,this.nativeEvent.preventDefault()}stopPropagation(){this.nativeEvent.stopPropagation(),this.isPropagationStopped=()=>!0}isPropagationStopped(){return!1}persist(){}constructor(t,r){this.nativeEvent=r,this.target=r.target,this.currentTarget=r.currentTarget,this.relatedTarget=r.relatedTarget,this.bubbles=r.bubbles,this.cancelable=r.cancelable,this.defaultPrevented=r.defaultPrevented,this.eventPhase=r.eventPhase,this.isTrusted=r.isTrusted,this.timeStamp=r.timeStamp,this.type=t}}function at(e){let t=p.useRef({isFocused:!1,onBlur:e,observer:null});return t.current.onBlur=e,he(()=>{const r=t.current;return()=>{r.observer&&(r.observer.disconnect(),r.observer=null)}},[]),p.useCallback(r=>{if(r.target instanceof HTMLButtonElement||r.target instanceof HTMLInputElement||r.target instanceof HTMLTextAreaElement||r.target instanceof HTMLSelectElement){t.current.isFocused=!0;let a=r.target,s=l=>{var u,d;t.current.isFocused=!1,a.disabled&&((d=(u=t.current).onBlur)===null||d===void 0||d.call(u,new nt("blur",l))),t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)};a.addEventListener("focusout",s,{once:!0}),t.current.observer=new MutationObserver(()=>{t.current.isFocused&&a.disabled&&(t.current.observer.disconnect(),a.dispatchEvent(new FocusEvent("blur")),a.dispatchEvent(new FocusEvent("focusout",{bubbles:!0})))}),t.current.observer.observe(a,{attributes:!0,attributeFilter:["disabled"]})}},[])}function ot(e){let{isDisabled:t,onFocus:r,onBlur:a,onFocusChange:s}=e;const l=p.useCallback(f=>{if(f.target===f.currentTarget)return a&&a(f),s&&s(!1),!0},[a,s]),u=at(l),d=p.useCallback(f=>{f.target===f.currentTarget&&(r&&r(f),s&&s(!0),u(f))},[s,r,u]);return{focusProps:{onFocus:!t&&(r||s||a)?d:void 0,onBlur:!t&&(a||s)?l:null}}}let N=null,st=new Set,be=!1,S=!1,ee=!1;function ne(e,t){for(let r of st)r(e,t)}function it(e){return!(e.metaKey||!we()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function ge(e){S=!0,it(e)&&(N="keyboard",ne("keyboard",e))}function C(e){N="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(S=!0,ne("pointer",e))}function ct(e){X(e)&&(S=!0,N="virtual")}function lt(e){e.target===window||e.target===document||(!S&&!ee&&(N="virtual",ne("virtual",e)),S=!1,ee=!1)}function ut(){S=!1,ee=!0}function ve(){if(typeof window>"u"||be)return;let e=HTMLElement.prototype.focus;HTMLElement.prototype.focus=function(){S=!0,e.apply(this,arguments)},document.addEventListener("keydown",ge,!0),document.addEventListener("keyup",ge,!0),document.addEventListener("click",ct,!0),window.addEventListener("focus",lt,!0),window.addEventListener("blur",ut,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",C,!0),document.addEventListener("pointermove",C,!0),document.addEventListener("pointerup",C,!0)):(document.addEventListener("mousedown",C,!0),document.addEventListener("mousemove",C,!0),document.addEventListener("mouseup",C,!0)),be=!0}typeof document<"u"&&(document.readyState!=="loading"?ve():document.addEventListener("DOMContentLoaded",ve));function dt(){return N}function me(e){if(!e)return;let t=!0;return r=>{let a={...r,preventDefault(){r.preventDefault()},isDefaultPrevented(){return r.isDefaultPrevented()},stopPropagation(){console.error("stopPropagation is now the default behavior for events in React Spectrum. You can use continuePropagation() to revert this behavior.")},continuePropagation(){t=!1}};e(a),t&&r.stopPropagation()}}function ft(e){return{keyboardProps:e.isDisabled?{}:{onKeyDown:me(e.onKeyDown),onKeyUp:me(e.onKeyUp)}}}function pt(e){if(dt()==="virtual"){let t=document.activeElement;Ee(()=>{document.activeElement===t&&document.contains(e)&&M(e)})}else M(e)}function bt(e,t){return t.some(r=>r.contains(e))}class ae{get size(){return this.fastMap.size}getTreeNode(t){return this.fastMap.get(t)}addTreeNode(t,r,a){let s=this.fastMap.get(r!=null?r:null),l=new Pe({scopeRef:t});s.addChild(l),l.parent=s,this.fastMap.set(t,l),a&&(l.nodeToRestore=a)}removeTreeNode(t){if(t===null)return;let r=this.fastMap.get(t),a=r.parent;for(let l of this.traverse())l!==r&&r.nodeToRestore&&l.nodeToRestore&&r.scopeRef.current&&bt(l.nodeToRestore,r.scopeRef.current)&&(l.nodeToRestore=r.nodeToRestore);let s=r.children;a.removeChild(r),s.length>0&&s.forEach(l=>a.addChild(l)),this.fastMap.delete(r.scopeRef)}*traverse(t=this.root){if(t.scopeRef!=null&&(yield t),t.children.length>0)for(let r of t.children)yield*this.traverse(r)}clone(){let t=new ae;for(let r of this.traverse())t.addTreeNode(r.scopeRef,r.parent.scopeRef,r.nodeToRestore);return t}constructor(){J(this,"fastMap",new Map),this.root=new Pe({scopeRef:null}),this.fastMap.set(null,this.root)}}class Pe{addChild(t){this.children.push(t),t.parent=this}removeChild(t){this.children.splice(this.children.indexOf(t),1),t.parent=void 0}constructor(t){J(this,"children",[]),J(this,"contain",!1),this.scopeRef=t.scopeRef}}new ae;let gt=te.default.createContext(null);function vt(e){let t=p.useContext(gt)||{};Be(t,e);let{ref:r,...a}=t;return a}function mt(e,t){let{focusProps:r}=ot(e),{keyboardProps:a}=ft(e),s=K(r,a),l=vt(t),u=e.isDisabled?{}:l,d=p.useRef(e.autoFocus);return p.useEffect(()=>{d.current&&t.current&&pt(t.current),d.current=!1},[t]),{focusableProps:K({...s,tabIndex:e.excludeFromTabOrder&&!e.isDisabled?-1:void 0},u)}}function Pt(e,t){let{elementType:r="a",onPress:a,onPressStart:s,onPressEnd:l,onClick:u,isDisabled:d,...f}=e,$;r!=="a"&&($={role:"link",tabIndex:d?void 0:0});let{focusableProps:m}=mt(e,t),{pressProps:G,isPressed:j}=Qe({onPress:a,onPressStart:s,onPressEnd:l,isDisabled:d,ref:t}),T=Ie(f,{labelable:!0}),V=K(m,G);return{isPressed:j,linkProps:K(T,{...V,...$,"aria-disabled":d||void 0,onClick:D=>{G.onClick(D),u&&(u(D),console.warn("onClick is deprecated, please use onPress"))}})}}function yt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ye(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function $e(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ye(Object(r),!0).forEach(function(a){yt(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ye(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}var $t=(e,t,r)=>{for(var a of Object.keys(e)){var s;if(e[a]!==((s=t[a])!==null&&s!==void 0?s:r[a]))return!1}return!0},Ce=e=>t=>{var r=e.defaultClassName,a=$e($e({},e.defaultVariants),t);for(var s in a){var l,u=(l=a[s])!==null&&l!==void 0?l:e.defaultVariants[s];if(u!=null){var d=u;typeof d=="boolean"&&(d=d===!0?"true":"false");var f=e.variantClassNames[s][d];f&&(r+=" "+f)}}for(var[$,m]of e.compoundVariants)$t($,a,e.defaultVariants)&&(r+=" "+m);return r},Tt=Ce({defaultClassName:"_1gzyg118",variantClassNames:{active:{true:"_1gzyg119",false:"_1gzyg11a"},disabled:{true:"_1gzyg11b",false:"_1gzyg11c"}},defaultVariants:{active:!1,disabled:!1},compoundVariants:[]}),ht=Ce({defaultClassName:"_1gzyg111",variantClassNames:{fullWidth:{true:"_1gzyg112",false:"_1gzyg113"}},defaultVariants:{fullWidth:!1},compoundVariants:[]}),Et="_1gzyg114",Bt="_1gzyg115",wt="_1gzyg116",St="_1gzyg110",kt="_1gzyg117",Lt="_1gzyg11e",Ct="_1gzyg11d";function H(e){var d;const t=b.useRef(null),{linkProps:r}=Pt(e,t),{active:a,...s}=e,l={...s,...r,ref:t,className:y.cl(Tt({active:a,disabled:!1}),e.className)},u=(d=e.as)!=null?d:e.href?"a":"span";return b.createElement(u,{...l},e.children)}y.Metadata.set(H,{name:"Product Bar Tab",props:{active:{type:"boolean",required:!0},href:{type:"string"}}});function U({children:e,className:t,name:r,logoSrc:a,...s}){return b.createElement(b.Fragment,null,b.createElement("a",{className:y.cl(Et,t),...s},a&&b.createElement("img",{className:Bt,src:a,"aria-hidden":"true",alt:`${r} Logo`}),r&&b.createElement("span",{className:wt},r)),b.createElement("span",{className:Ct}))}y.Metadata.set(U,{name:"ProductBarName",props:{name:{type:"string"},logoSrc:{type:"string"}}});function oe({fullWidth:e,children:t,className:r,...a}){const s=b.useRef(null),[l,u,d]=y.selectChildren(t,[{type:U},{type:H}]);return b.createElement("div",{className:y.cl(St,r),...a,ref:s},b.createElement("nav",{className:ht({fullWidth:e})},l,b.createElement("div",{className:Lt},u),b.createElement("div",{className:kt},b.createElement(y.PortalContext.Provider,{value:{parentElementRef:s,fixed:!0}},d))))}y.Metadata.set(oe,{name:"ProductBar",props:{fullWidth:{type:"boolean"}}});var xt="r7f8id0",Mt="r7f8id1";function se({channelId:e,className:t,...r}){const{t:a}=b.useContext(y.I18nContext);return b.createElement("a",{className:y.cl(xt,t),target:"_blank",rel:"noreferrer",href:`https://spscommerce.slack.com/archives/${e}`,...r},b.createElement(y.Icon,{className:Mt,icon:"conversation","aria-hidden":"true"}),b.createElement("span",null,a("design-system:slackLink.label")))}y.Metadata.set(se,{name:"Slack Link",props:{channelId:{type:"string",required:!0}}});const Ot={components:[oe,U,H],examples:{basic:{label:"Basic",description:"Product navigation bar",examples:{basic:{react:z.code`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const v=require("react"),w=require("@sps-woodland/core"),Q=require("@spscommerce/utils"),Ye=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function qe(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const fe=Ye(v),$=qe(v);function Oe(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(r=Oe(e[t]))&&(n&&(n+=" "),n+=r)}else for(r in e)e[r]&&(n&&(n+=" "),n+=r);return n}function Xe(){for(var e,t,r=0,n="",o=arguments.length;r<o;r++)(e=arguments[r])&&(t=Oe(e))&&(n&&(n+=" "),n+=t);return n}const pe=typeof document<"u"?fe.default.useLayoutEffect:()=>{};function N(e){const t=v.useRef(null);return pe(()=>{t.current=e},[e]),v.useCallback((...r)=>{const n=t.current;return n==null?void 0:n(...r)},[])}let ye=new Map;function Je(e,t){if(e===t)return e;let r=ye.get(e);if(r)return r(t),t;let n=ye.get(t);return n?(n(e),e):t}function _e(...e){return(...t)=>{for(let r of e)typeof r=="function"&&r(...t)}}const E=e=>{var t;return(t=e==null?void 0:e.ownerDocument)!==null&&t!==void 0?t:document},z=e=>e&&"window"in e&&e.window===e?e:E(e).defaultView||window;function R(...e){let t={...e[0]};for(let r=1;r<e.length;r++){let n=e[r];for(let o in n){let u=t[o],l=n[o];typeof u=="function"&&typeof l=="function"&&o[0]==="o"&&o[1]==="n"&&o.charCodeAt(2)>=65&&o.charCodeAt(2)<=90?t[o]=_e(u,l):(o==="className"||o==="UNSAFE_className")&&typeof u=="string"&&typeof l=="string"?t[o]=Xe(u,l):o==="id"&&u&&l?t.id=Je(u,l):t[o]=l!==void 0?l:u}}return t}const Qe=new Set(["id"]),Ze=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),et=new Set(["href","target","rel","download","ping","referrerPolicy"]),tt=/^(data-.*)$/;function rt(e,t={}){let{labelable:r,isLink:n,propNames:o}=t,u={};for(const l in e)Object.prototype.hasOwnProperty.call(e,l)&&(Qe.has(l)||r&&Ze.has(l)||n&&et.has(l)||(o==null?void 0:o.has(l))||tt.test(l))&&(u[l]=e[l]);return u}function M(e){if(nt())e.focus({preventScroll:!0});else{let t=at(e);e.focus(),ot(t)}}let Y=null;function nt(){if(Y==null){Y=!1;try{document.createElement("div").focus({get preventScroll(){return Y=!0,!0}})}catch{}}return Y}function at(e){let t=e.parentNode,r=[],n=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==n;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&r.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return n instanceof HTMLElement&&r.push({element:n,scrollTop:n.scrollTop,scrollLeft:n.scrollLeft}),r}function ot(e){for(let{element:t,scrollTop:r,scrollLeft:n}of e)t.scrollTop=r,t.scrollLeft=n}function te(e){var t;return typeof window>"u"||window.navigator==null?!1:((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.brands.some(r=>e.test(r.brand)))||e.test(window.navigator.userAgent)}function ve(e){var t;return typeof window<"u"&&window.navigator!=null?e.test(((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.platform)||window.navigator.platform):!1}function j(){return ve(/^Mac/i)}function st(){return ve(/^iPhone/i)}function Ke(){return ve(/^iPad/i)||j()&&navigator.maxTouchPoints>1}function Ae(){return st()||Ke()}function it(){return te(/AppleWebKit/i)&&!lt()}function lt(){return te(/Chrome/i)}function Ne(){return te(/Android/i)}function ct(){return te(/Firefox/i)}const ut=v.createContext({isNative:!0,open:vt});function dt(){return v.useContext(ut)}function ft(e,t){let r=e.getAttribute("target");return(!r||r==="_self")&&e.origin===location.origin&&!e.hasAttribute("download")&&!t.metaKey&&!t.ctrlKey&&!t.altKey&&!t.shiftKey}function I(e,t,r=!0){var n,o;let{metaKey:u,ctrlKey:l,altKey:d,shiftKey:p}=t;ct()&&((o=window.event)===null||o===void 0||(n=o.type)===null||n===void 0?void 0:n.startsWith("key"))&&e.target==="_blank"&&(j()?u=!0:l=!0);let y=it()&&j()&&!Ke()?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:u,ctrlKey:l,altKey:d,shiftKey:p}):new MouseEvent("click",{metaKey:u,ctrlKey:l,altKey:d,shiftKey:p,bubbles:!0,cancelable:!0});I.isOpening=r,M(e),e.dispatchEvent(y),I.isOpening=!1}I.isOpening=!1;function pt(e,t){if(e instanceof HTMLAnchorElement)t(e);else if(e.hasAttribute("data-href")){let r=document.createElement("a");r.href=e.getAttribute("data-href"),e.hasAttribute("data-target")&&(r.target=e.getAttribute("data-target")),e.hasAttribute("data-rel")&&(r.rel=e.getAttribute("data-rel")),e.hasAttribute("data-download")&&(r.download=e.getAttribute("data-download")),e.hasAttribute("data-ping")&&(r.ping=e.getAttribute("data-ping")),e.hasAttribute("data-referrer-policy")&&(r.referrerPolicy=e.getAttribute("data-referrer-policy")),e.appendChild(r),t(r),e.removeChild(r)}}function vt(e,t){pt(e,r=>I(r,t))}let D=new Map,le=new Set;function he(){if(typeof window>"u")return;function e(n){return"propertyName"in n}let t=n=>{if(!e(n)||!n.target)return;let o=D.get(n.target);o||(o=new Set,D.set(n.target,o),n.target.addEventListener("transitioncancel",r,{once:!0})),o.add(n.propertyName)},r=n=>{if(!e(n)||!n.target)return;let o=D.get(n.target);if(!!o&&(o.delete(n.propertyName),o.size===0&&(n.target.removeEventListener("transitioncancel",r),D.delete(n.target)),D.size===0)){for(let u of le)u();le.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",r)}typeof document<"u"&&(document.readyState!=="loading"?he():document.addEventListener("DOMContentLoaded",he));function De(e){requestAnimationFrame(()=>{D.size===0?e():le.add(e)})}function bt(){let e=v.useRef(new Map),t=v.useCallback((o,u,l,d)=>{let p=d!=null&&d.once?(...y)=>{e.current.delete(l),l(...y)}:l;e.current.set(l,{type:u,eventTarget:o,fn:p,options:d}),o.addEventListener(u,l,d)},[]),r=v.useCallback((o,u,l,d)=>{var p;let y=((p=e.current.get(l))===null||p===void 0?void 0:p.fn)||l;o.removeEventListener(u,y,d),e.current.delete(l)},[]),n=v.useCallback(()=>{e.current.forEach((o,u)=>{r(o.eventTarget,o.type,u,o.options)})},[r]);return v.useEffect(()=>n,[n]),{addGlobalListener:t,removeGlobalListener:r,removeAllGlobalListeners:n}}function Fe(e,t){pe(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}function ce(e){return e.mozInputSource===0&&e.isTrusted?!0:Ne()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function gt(e){return!Ne()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}function mt(e,t){return t.get?t.get.call(e):t.value}function ze(e,t,r){if(!t.has(e))throw new TypeError("attempted to "+r+" private field on non-instance");return t.get(e)}function $t(e,t){var r=ze(e,t,"get");return mt(e,r)}function Pt(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function yt(e,t,r){Pt(e,t),t.set(e,r)}function ht(e,t,r){if(t.set)t.set.call(e,r);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=r}}function Te(e,t,r){var n=ze(e,t,"set");return ht(e,n,r),r}let F="default",ue="",Z=new WeakMap;function Ee(e){if(Ae()){if(F==="default"){const t=E(e);ue=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}F="disabled"}else(e instanceof HTMLElement||e instanceof SVGElement)&&(Z.set(e,e.style.userSelect),e.style.userSelect="none")}function q(e){if(Ae()){if(F!=="disabled")return;F="restoring",setTimeout(()=>{De(()=>{if(F==="restoring"){const t=E(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=ue||""),ue="",F="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&Z.has(e)){let t=Z.get(e);e.style.userSelect==="none"&&(e.style.userSelect=t),e.getAttribute("style")===""&&e.removeAttribute("style"),Z.delete(e)}}const Re=fe.default.createContext({register:()=>{}});Re.displayName="PressResponderContext";function Tt(e){let t=v.useContext(Re);if(t){let{register:r,...n}=t;e=R(n,e),r()}return Fe(t,e.ref),e}var X=new WeakMap;class J{continuePropagation(){Te(this,X,!1)}get shouldStopPropagation(){return $t(this,X)}constructor(t,r,n){yt(this,X,{writable:!0,value:void 0}),Te(this,X,!0),this.type=t,this.pointerType=r,this.target=n.currentTarget,this.shiftKey=n.shiftKey,this.metaKey=n.metaKey,this.ctrlKey=n.ctrlKey,this.altKey=n.altKey}}const we=Symbol("linkClicked");function Et(e){let{onPress:t,onPressChange:r,onPressStart:n,onPressEnd:o,onPressUp:u,isDisabled:l,isPressed:d,preventFocusOnPress:p,shouldCancelOnPointerExit:y,allowTextSelectionOnPress:h,ref:W,...ae}=Tt(e),[oe,G]=v.useState(!1),S=v.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,ignoreClickAfterPress:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null}),{addGlobalListener:m,removeAllGlobalListeners:k}=bt(),L=N((a,f)=>{let B=S.current;if(l||B.didFirePressStart)return!1;let c=!0;if(B.isTriggeringEvent=!0,n){let b=new J("pressstart",f,a);n(b),c=b.shouldStopPropagation}return r&&r(!0),B.isTriggeringEvent=!1,B.didFirePressStart=!0,G(!0),c}),P=N((a,f,B=!0)=>{let c=S.current;if(!c.didFirePressStart)return!1;c.ignoreClickAfterPress=!0,c.didFirePressStart=!1,c.isTriggeringEvent=!0;let b=!0;if(o){let s=new J("pressend",f,a);o(s),b=s.shouldStopPropagation}if(r&&r(!1),G(!1),t&&B&&!l){let s=new J("press",f,a);t(s),b&&(b=s.shouldStopPropagation)}return c.isTriggeringEvent=!1,b}),_=N((a,f)=>{let B=S.current;if(l)return!1;if(u){B.isTriggeringEvent=!0;let c=new J("pressup",f,a);return u(c),B.isTriggeringEvent=!1,c.shouldStopPropagation}return!0}),C=N(a=>{let f=S.current;f.isPressed&&f.target&&(f.isOverTarget&&f.pointerType!=null&&P(x(f.target,a),f.pointerType,!1),f.isPressed=!1,f.isOverTarget=!1,f.activePointerId=null,f.pointerType=null,k(),h||q(f.target))}),V=N(a=>{y&&C(a)}),Ve=v.useMemo(()=>{let a=S.current,f={onKeyDown(c){if(se(c.nativeEvent,c.currentTarget)&&c.currentTarget.contains(c.target)){var b;ke(c.target,c.key)&&c.preventDefault();let s=!0;if(!a.isPressed&&!c.repeat){a.target=c.currentTarget,a.isPressed=!0,s=L(c,"keyboard");let i=c.currentTarget,g=K=>{se(K,i)&&!K.repeat&&i.contains(K.target)&&a.target&&_(x(a.target,K),"keyboard")};m(E(c.currentTarget),"keyup",_e(g,B),!0)}s&&c.stopPropagation(),c.metaKey&&j()&&((b=a.metaKeyEvents)===null||b===void 0||b.set(c.key,c.nativeEvent))}else c.key==="Meta"&&(a.metaKeyEvents=new Map)},onClick(c){if(!(c&&!c.currentTarget.contains(c.target))&&c&&c.button===0&&!a.isTriggeringEvent&&!I.isOpening){let b=!0;if(l&&c.preventDefault(),!a.ignoreClickAfterPress&&!a.ignoreEmulatedMouseEvents&&!a.isPressed&&(a.pointerType==="virtual"||ce(c.nativeEvent))){!l&&!p&&M(c.currentTarget);let s=L(c,"virtual"),i=_(c,"virtual"),g=P(c,"virtual");b=s&&i&&g}a.ignoreEmulatedMouseEvents=!1,a.ignoreClickAfterPress=!1,b&&c.stopPropagation()}}},B=c=>{var b;if(a.isPressed&&a.target&&se(c,a.target)){var s;ke(c.target,c.key)&&c.preventDefault();let g=c.target;P(x(a.target,c),"keyboard",a.target.contains(g)),k(),c.key!=="Enter"&&be(a.target)&&a.target.contains(g)&&!c[we]&&(c[we]=!0,I(a.target,c,!1)),a.isPressed=!1,(s=a.metaKeyEvents)===null||s===void 0||s.delete(c.key)}else if(c.key==="Meta"&&((b=a.metaKeyEvents)===null||b===void 0?void 0:b.size)){var i;let g=a.metaKeyEvents;a.metaKeyEvents=void 0;for(let K of g.values())(i=a.target)===null||i===void 0||i.dispatchEvent(new KeyboardEvent("keyup",K))}};if(typeof PointerEvent<"u"){f.onPointerDown=i=>{if(i.button!==0||!i.currentTarget.contains(i.target))return;if(gt(i.nativeEvent)){a.pointerType="virtual";return}ie(i.currentTarget)&&i.preventDefault(),a.pointerType=i.pointerType;let g=!0;a.isPressed||(a.isPressed=!0,a.isOverTarget=!0,a.activePointerId=i.pointerId,a.target=i.currentTarget,!l&&!p&&M(i.currentTarget),h||Ee(a.target),g=L(i,a.pointerType),m(E(i.currentTarget),"pointermove",c,!1),m(E(i.currentTarget),"pointerup",b,!1),m(E(i.currentTarget),"pointercancel",s,!1)),g&&i.stopPropagation()},f.onMouseDown=i=>{!i.currentTarget.contains(i.target)||i.button===0&&(ie(i.currentTarget)&&i.preventDefault(),i.stopPropagation())},f.onPointerUp=i=>{!i.currentTarget.contains(i.target)||a.pointerType==="virtual"||i.button===0&&A(i,i.currentTarget)&&_(i,a.pointerType||i.pointerType)};let c=i=>{i.pointerId===a.activePointerId&&(a.target&&A(i,a.target)?!a.isOverTarget&&a.pointerType!=null&&(a.isOverTarget=!0,L(x(a.target,i),a.pointerType)):a.target&&a.isOverTarget&&a.pointerType!=null&&(a.isOverTarget=!1,P(x(a.target,i),a.pointerType,!1),V(i)))},b=i=>{i.pointerId===a.activePointerId&&a.isPressed&&i.button===0&&a.target&&(A(i,a.target)&&a.pointerType!=null?P(x(a.target,i),a.pointerType):a.isOverTarget&&a.pointerType!=null&&P(x(a.target,i),a.pointerType,!1),a.isPressed=!1,a.isOverTarget=!1,a.activePointerId=null,a.pointerType=null,k(),h||q(a.target))},s=i=>{C(i)};f.onDragStart=i=>{!i.currentTarget.contains(i.target)||C(i)}}else{f.onMouseDown=s=>{if(s.button!==0||!s.currentTarget.contains(s.target))return;if(ie(s.currentTarget)&&s.preventDefault(),a.ignoreEmulatedMouseEvents){s.stopPropagation();return}a.isPressed=!0,a.isOverTarget=!0,a.target=s.currentTarget,a.pointerType=ce(s.nativeEvent)?"virtual":"mouse",!l&&!p&&M(s.currentTarget),L(s,a.pointerType)&&s.stopPropagation(),m(E(s.currentTarget),"mouseup",c,!1)},f.onMouseEnter=s=>{if(!s.currentTarget.contains(s.target))return;let i=!0;a.isPressed&&!a.ignoreEmulatedMouseEvents&&a.pointerType!=null&&(a.isOverTarget=!0,i=L(s,a.pointerType)),i&&s.stopPropagation()},f.onMouseLeave=s=>{if(!s.currentTarget.contains(s.target))return;let i=!0;a.isPressed&&!a.ignoreEmulatedMouseEvents&&a.pointerType!=null&&(a.isOverTarget=!1,i=P(s,a.pointerType,!1),V(s)),i&&s.stopPropagation()},f.onMouseUp=s=>{!s.currentTarget.contains(s.target)||!a.ignoreEmulatedMouseEvents&&s.button===0&&_(s,a.pointerType||"mouse")};let c=s=>{if(s.button===0){if(a.isPressed=!1,k(),a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.target&&A(s,a.target)&&a.pointerType!=null?P(x(a.target,s),a.pointerType):a.target&&a.isOverTarget&&a.pointerType!=null&&P(x(a.target,s),a.pointerType,!1),a.isOverTarget=!1}};f.onTouchStart=s=>{if(!s.currentTarget.contains(s.target))return;let i=wt(s.nativeEvent);if(!i)return;a.activePointerId=i.identifier,a.ignoreEmulatedMouseEvents=!0,a.isOverTarget=!0,a.isPressed=!0,a.target=s.currentTarget,a.pointerType="touch",!l&&!p&&M(s.currentTarget),h||Ee(a.target),L(s,a.pointerType)&&s.stopPropagation(),m(z(s.currentTarget),"scroll",b,!0)},f.onTouchMove=s=>{if(!s.currentTarget.contains(s.target))return;if(!a.isPressed){s.stopPropagation();return}let i=Be(s.nativeEvent,a.activePointerId),g=!0;i&&A(i,s.currentTarget)?!a.isOverTarget&&a.pointerType!=null&&(a.isOverTarget=!0,g=L(s,a.pointerType)):a.isOverTarget&&a.pointerType!=null&&(a.isOverTarget=!1,g=P(s,a.pointerType,!1),V(s)),g&&s.stopPropagation()},f.onTouchEnd=s=>{if(!s.currentTarget.contains(s.target))return;if(!a.isPressed){s.stopPropagation();return}let i=Be(s.nativeEvent,a.activePointerId),g=!0;i&&A(i,s.currentTarget)&&a.pointerType!=null?(_(s,a.pointerType),g=P(s,a.pointerType)):a.isOverTarget&&a.pointerType!=null&&(g=P(s,a.pointerType,!1)),g&&s.stopPropagation(),a.isPressed=!1,a.activePointerId=null,a.isOverTarget=!1,a.ignoreEmulatedMouseEvents=!0,a.target&&!h&&q(a.target),k()},f.onTouchCancel=s=>{!s.currentTarget.contains(s.target)||(s.stopPropagation(),a.isPressed&&C(s))};let b=s=>{a.isPressed&&s.target.contains(a.target)&&C({currentTarget:a.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})};f.onDragStart=s=>{!s.currentTarget.contains(s.target)||C(s)}}return f},[m,l,p,k,h,C,V,P,L,_]);return v.useEffect(()=>()=>{var a;h||q((a=S.current.target)!==null&&a!==void 0?a:void 0)},[h]),{isPressed:d||oe,pressProps:R(ae,Ve)}}function be(e){return e.tagName==="A"&&e.hasAttribute("href")}function se(e,t){const{key:r,code:n}=e,o=t,u=o.getAttribute("role");return(r==="Enter"||r===" "||r==="Spacebar"||n==="Space")&&!(o instanceof z(o).HTMLInputElement&&!Ie(o,r)||o instanceof z(o).HTMLTextAreaElement||o.isContentEditable)&&!((u==="link"||!u&&be(o))&&r!=="Enter")}function wt(e){const{targetTouches:t}=e;return t.length>0?t[0]:null}function Be(e,t){const r=e.changedTouches;for(let n=0;n<r.length;n++){const o=r[n];if(o.identifier===t)return o}return null}function x(e,t){return{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey}}function Bt(e){let t=0,r=0;return e.width!==void 0?t=e.width/2:e.radiusX!==void 0&&(t=e.radiusX),e.height!==void 0?r=e.height/2:e.radiusY!==void 0&&(r=e.radiusY),{top:e.clientY-r,right:e.clientX+t,bottom:e.clientY+r,left:e.clientX-t}}function kt(e,t){return!(e.left>t.right||t.left>e.right||e.top>t.bottom||t.top>e.bottom)}function A(e,t){let r=t.getBoundingClientRect(),n=Bt(e);return kt(r,n)}function ie(e){return!(e instanceof HTMLElement)||!e.hasAttribute("draggable")}function ke(e,t){return e instanceof HTMLInputElement?!Ie(e,t):e instanceof HTMLButtonElement?e.type!=="submit"&&e.type!=="reset":!be(e)}const St=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function Ie(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":St.has(e.type)}class Lt{isDefaultPrevented(){return this.nativeEvent.defaultPrevented}preventDefault(){this.defaultPrevented=!0,this.nativeEvent.preventDefault()}stopPropagation(){this.nativeEvent.stopPropagation(),this.isPropagationStopped=()=>!0}isPropagationStopped(){return!1}persist(){}constructor(t,r){this.nativeEvent=r,this.target=r.target,this.currentTarget=r.currentTarget,this.relatedTarget=r.relatedTarget,this.bubbles=r.bubbles,this.cancelable=r.cancelable,this.defaultPrevented=r.defaultPrevented,this.eventPhase=r.eventPhase,this.isTrusted=r.isTrusted,this.timeStamp=r.timeStamp,this.type=t}}function xt(e){let t=v.useRef({isFocused:!1,observer:null});pe(()=>{const n=t.current;return()=>{n.observer&&(n.observer.disconnect(),n.observer=null)}},[]);let r=N(n=>{e==null||e(n)});return v.useCallback(n=>{if(n.target instanceof HTMLButtonElement||n.target instanceof HTMLInputElement||n.target instanceof HTMLTextAreaElement||n.target instanceof HTMLSelectElement){t.current.isFocused=!0;let o=n.target,u=l=>{t.current.isFocused=!1,o.disabled&&r(new Lt("blur",l)),t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)};o.addEventListener("focusout",u,{once:!0}),t.current.observer=new MutationObserver(()=>{if(t.current.isFocused&&o.disabled){var l;(l=t.current.observer)===null||l===void 0||l.disconnect();let d=o===document.activeElement?null:document.activeElement;o.dispatchEvent(new FocusEvent("blur",{relatedTarget:d})),o.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:d}))}}),t.current.observer.observe(o,{attributes:!0,attributeFilter:["disabled"]})}},[r])}function Ct(e){let{isDisabled:t,onFocus:r,onBlur:n,onFocusChange:o}=e;const u=v.useCallback(p=>{if(p.target===p.currentTarget)return n&&n(p),o&&o(!1),!0},[n,o]),l=xt(u),d=v.useCallback(p=>{p.target===p.currentTarget&&document.activeElement===p.target&&(r&&r(p),o&&o(!0),l(p))},[o,r,l]);return{focusProps:{onFocus:!t&&(r||o||n)?d:void 0,onBlur:!t&&(n||o)?u:void 0}}}let U=null,Mt=new Set,H=new Map,O=!1,de=!1;function ge(e,t){for(let r of Mt)r(e,t)}function Ot(e){return!(e.metaKey||!j()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function ee(e){O=!0,Ot(e)&&(U="keyboard",ge("keyboard",e))}function T(e){U="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(O=!0,ge("pointer",e))}function He(e){ce(e)&&(O=!0,U="virtual")}function je(e){e.target===window||e.target===document||(!O&&!de&&(U="virtual",ge("virtual",e)),O=!1,de=!1)}function Ue(){O=!1,de=!0}function Se(e){if(typeof window>"u"||H.get(z(e)))return;const t=z(e),r=E(e);let n=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(){O=!0,n.apply(this,arguments)},r.addEventListener("keydown",ee,!0),r.addEventListener("keyup",ee,!0),r.addEventListener("click",He,!0),t.addEventListener("focus",je,!0),t.addEventListener("blur",Ue,!1),typeof PointerEvent<"u"?(r.addEventListener("pointerdown",T,!0),r.addEventListener("pointermove",T,!0),r.addEventListener("pointerup",T,!0)):(r.addEventListener("mousedown",T,!0),r.addEventListener("mousemove",T,!0),r.addEventListener("mouseup",T,!0)),t.addEventListener("beforeunload",()=>{We(e)},{once:!0}),H.set(t,{focus:n})}const We=(e,t)=>{const r=z(e),n=E(e);t&&n.removeEventListener("DOMContentLoaded",t),H.has(r)&&(r.HTMLElement.prototype.focus=H.get(r).focus,n.removeEventListener("keydown",ee,!0),n.removeEventListener("keyup",ee,!0),n.removeEventListener("click",He,!0),r.removeEventListener("focus",je,!0),r.removeEventListener("blur",Ue,!1),typeof PointerEvent<"u"?(n.removeEventListener("pointerdown",T,!0),n.removeEventListener("pointermove",T,!0),n.removeEventListener("pointerup",T,!0)):(n.removeEventListener("mousedown",T,!0),n.removeEventListener("mousemove",T,!0),n.removeEventListener("mouseup",T,!0)),H.delete(r))};function _t(e){const t=E(e);let r;return t.readyState!=="loading"?Se(e):(r=()=>{Se(e)},t.addEventListener("DOMContentLoaded",r)),()=>We(e,r)}typeof document<"u"&&_t();function Kt(){return U}function Le(e){if(!e)return;let t=!0;return r=>{let n={...r,preventDefault(){r.preventDefault()},isDefaultPrevented(){return r.isDefaultPrevented()},stopPropagation(){console.error("stopPropagation is now the default behavior for events in React Spectrum. You can use continuePropagation() to revert this behavior.")},continuePropagation(){t=!1}};e(n),t&&r.stopPropagation()}}function At(e){return{keyboardProps:e.isDisabled?{}:{onKeyDown:Le(e.onKeyDown),onKeyUp:Le(e.onKeyUp)}}}function Nt(e){const t=E(e);if(Kt()==="virtual"){let r=t.activeElement;De(()=>{t.activeElement===r&&e.isConnected&&M(e)})}else M(e)}function Dt(e,t){return!e||!t?!1:t.some(r=>r.contains(e))}class me{get size(){return this.fastMap.size}getTreeNode(t){return this.fastMap.get(t)}addTreeNode(t,r,n){let o=this.fastMap.get(r!=null?r:null);if(!o)return;let u=new xe({scopeRef:t});o.addChild(u),u.parent=o,this.fastMap.set(t,u),n&&(u.nodeToRestore=n)}addNode(t){this.fastMap.set(t.scopeRef,t)}removeTreeNode(t){if(t===null)return;let r=this.fastMap.get(t);if(!r)return;let n=r.parent;for(let u of this.traverse())u!==r&&r.nodeToRestore&&u.nodeToRestore&&r.scopeRef&&r.scopeRef.current&&Dt(u.nodeToRestore,r.scopeRef.current)&&(u.nodeToRestore=r.nodeToRestore);let o=r.children;n&&(n.removeChild(r),o.size>0&&o.forEach(u=>n&&n.addChild(u))),this.fastMap.delete(r.scopeRef)}*traverse(t=this.root){if(t.scopeRef!=null&&(yield t),t.children.size>0)for(let r of t.children)yield*this.traverse(r)}clone(){var t;let r=new me;var n;for(let o of this.traverse())r.addTreeNode(o.scopeRef,(n=(t=o.parent)===null||t===void 0?void 0:t.scopeRef)!==null&&n!==void 0?n:null,o.nodeToRestore);return r}constructor(){this.fastMap=new Map,this.root=new xe({scopeRef:null}),this.fastMap.set(null,this.root)}}class xe{addChild(t){this.children.add(t),t.parent=this}removeChild(t){this.children.delete(t),t.parent=void 0}constructor(t){this.children=new Set,this.contain=!1,this.scopeRef=t.scopeRef}}new me;let Ft=fe.default.createContext(null);function zt(e){let t=v.useContext(Ft)||{};Fe(t,e);let{ref:r,...n}=t;return n}function Rt(e,t){let{focusProps:r}=Ct(e),{keyboardProps:n}=At(e),o=R(r,n),u=zt(t),l=e.isDisabled?{}:u,d=v.useRef(e.autoFocus);return v.useEffect(()=>{d.current&&t.current&&Nt(t.current),d.current=!1},[t]),{focusableProps:R({...o,tabIndex:e.excludeFromTabOrder&&!e.isDisabled?-1:void 0},l)}}function It(e,t){let{elementType:r="a",onPress:n,onPressStart:o,onPressEnd:u,onClick:l,isDisabled:d,...p}=e,y={};r!=="a"&&(y={role:"link",tabIndex:d?void 0:0});let{focusableProps:h}=Rt(e,t),{pressProps:W,isPressed:ae}=Et({onPress:n,onPressStart:o,onPressEnd:u,isDisabled:d,ref:t}),oe=rt(p,{labelable:!0,isLink:r==="a"}),G=R(h,W),S=dt();return{isPressed:ae,linkProps:R(oe,{...G,...y,"aria-disabled":d||void 0,"aria-current":e["aria-current"],onClick:m=>{var k;(k=W.onClick)===null||k===void 0||k.call(W,m),l&&(l(m),console.warn("onClick is deprecated, please use onPress")),!S.isNative&&m.currentTarget instanceof HTMLAnchorElement&&m.currentTarget.href&&!m.isDefaultPrevented()&&ft(m.currentTarget,m)&&(m.preventDefault(),S.open(m.currentTarget,m))}})}}function Ht(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ce(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Me(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ce(Object(r),!0).forEach(function(n){Ht(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ce(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var jt=(e,t,r)=>{for(var n of Object.keys(e)){var o;if(e[n]!==((o=t[n])!==null&&o!==void 0?o:r[n]))return!1}return!0},Ge=e=>t=>{var r=e.defaultClassName,n=Me(Me({},e.defaultVariants),t);for(var o in n){var u,l=(u=n[o])!==null&&u!==void 0?u:e.defaultVariants[o];if(l!=null){var d=l;typeof d=="boolean"&&(d=d===!0?"true":"false");var p=e.variantClassNames[o][d];p&&(r+=" "+p)}}for(var[y,h]of e.compoundVariants)jt(y,n,e.defaultVariants)&&(r+=" "+h);return r},Ut=Ge({defaultClassName:"_1gzyg118",variantClassNames:{active:{true:"_1gzyg119",false:"_1gzyg11a"},disabled:{true:"_1gzyg11b",false:"_1gzyg11c"}},defaultVariants:{active:!1,disabled:!1},compoundVariants:[]}),Wt=Ge({defaultClassName:"_1gzyg111",variantClassNames:{fullWidth:{true:"_1gzyg112",false:"_1gzyg113"}},defaultVariants:{fullWidth:!1},compoundVariants:[]}),Gt="_1gzyg114",Vt="_1gzyg115",Yt="_1gzyg116",qt="_1gzyg110",Xt="_1gzyg117",Jt="_1gzyg11e",Qt="_1gzyg11d";function re(e){var d;const t=$.useRef(null),{linkProps:r}=It(e,t),{active:n,...o}=e,u={...o,...r,ref:t,className:w.cl(Ut({active:n,disabled:!1}),e.className)},l=(d=e.as)!=null?d:e.href?"a":"span";return $.createElement(l,{...u},e.children)}w.Metadata.set(re,{name:"Product Bar Tab",props:{active:{type:"boolean",required:!0},href:{type:"string"}}});function ne({children:e,className:t,name:r,logoSrc:n,...o}){return $.createElement($.Fragment,null,$.createElement("a",{className:w.cl(Gt,t),...o},n&&$.createElement("img",{className:Vt,src:n,"aria-hidden":"true",alt:`${r} Logo`}),r&&$.createElement("span",{className:Yt},r)),$.createElement("span",{className:Qt}))}w.Metadata.set(ne,{name:"ProductBarName",props:{name:{type:"string"},logoSrc:{type:"string"}}});function $e({fullWidth:e,children:t,className:r,...n}){const o=$.useRef(null),[u,l,d]=w.selectChildren(t,[{type:ne},{type:re}]);return $.createElement("div",{className:w.cl(qt,r),...n,ref:o},$.createElement("nav",{className:Wt({fullWidth:e})},u,$.createElement("div",{className:Jt},l),$.createElement("div",{className:Xt},$.createElement(w.PortalContext.Provider,{value:{parentElementRef:o,fixed:!0}},d))))}w.Metadata.set($e,{name:"ProductBar",props:{fullWidth:{type:"boolean"}}});var Zt="r7f8id0",er="r7f8id1";function Pe({channelId:e,className:t,...r}){const{t:n}=$.useContext(w.I18nContext);return $.createElement("a",{className:w.cl(Zt,t),target:"_blank",rel:"noreferrer",href:`https://spscommerce.slack.com/archives/${e}`,...r},$.createElement(w.Icon,{className:er,icon:"conversation","aria-hidden":"true"}),$.createElement("span",null,n("design-system:slackLink.label")))}w.Metadata.set(Pe,{name:"Slack Link",props:{channelId:{type:"string",required:!0}}});const tr={components:[$e,ne,re],examples:{basic:{label:"Basic",description:"Product navigation bar",examples:{basic:{react:Q.code`
2
2
  import { ProductBar, ProductBarName, ProductBarTab } from "@sps-woodland/product-bar";
3
3
  import { Button } from "@sps-woodland/buttons";
4
4
 
@@ -45,7 +45,7 @@
45
45
  </ProductBar>
46
46
  )
47
47
  }
48
- `}}},action:{label:"Action",examples:{basic:{react:z.code`
48
+ `}}},action:{label:"Action",examples:{basic:{react:Q.code`
49
49
  import { ProductBar, ProductBarName, ProductBarTab } from "@sps-woodland/product-bar";
50
50
  import { Button } from "@sps-woodland/buttons";
51
51
 
@@ -93,7 +93,7 @@
93
93
  </ProductBar>
94
94
  )
95
95
  }
96
- `}}},link:{label:"Link",examples:{basic:{react:z.code`
96
+ `}}},link:{label:"Link",examples:{basic:{react:Q.code`
97
97
  import { ProductBar, ProductBarName, ProductBarTab } from "@sps-woodland/product-bar";
98
98
  import { Button } from "@sps-woodland/buttons";
99
99
 
@@ -141,7 +141,7 @@
141
141
  </ProductBar>
142
142
  )
143
143
  }
144
- `}}}}},Kt={components:[se],examples:{basic:{examples:{basic:{react:z.code`
144
+ `}}}}},rr={components:[Pe],examples:{basic:{examples:{basic:{react:Q.code`
145
145
  import { SlackLink } from "@sps-woodland/slack-link";
146
146
  import { ProductBar } from "@sps-woodland/product-bar";
147
147
 
@@ -156,4 +156,4 @@
156
156
  ><SlackLink channelId="CELEGDK4Y" /></ProductBar>
157
157
  );
158
158
  }
159
- `}}}}},Dt={"Product Bar":Ot,"Slack Link":Kt};exports.MANIFEST=Dt;exports.ProductBar=oe;exports.ProductBarName=U;exports.ProductBarTab=H;exports.SlackLink=se;
159
+ `}}}}},nr={"Product Bar":tr,"Slack Link":rr};exports.MANIFEST=nr;exports.ProductBar=$e;exports.ProductBarName=ne;exports.ProductBarTab=re;exports.SlackLink=Pe;