UNPKG

@stanfordspezi/spezi-web-design-system

Version:

Stanford Biodesign Digital Health Spezi Web Design System

42 lines (36 loc) 16.7 kB
"use strict";const oe=require("react"),ye=require("./index-k79m3Yno.js"),ce=require("./index-4XkuMsix.js"),z=require("./index-hwV4SK1V.js"),ue=require("react/jsx-runtime"),Ee=require("react-dom"),Se=require("./index-Df0u7aLq.js"),C=require("./tslib.es6-UTo0M824.js");function we(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const c=we(oe);var D="focusScope.autoFocusOnMount",U="focusScope.autoFocusOnUnmount",G={bubbles:!1,cancelable:!0},Ce="FocusScope",ie=c.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:u,onUnmountAutoFocus:i,...l}=e,[a,S]=c.useState(null),b=z.useCallbackRef(u),g=z.useCallbackRef(i),f=c.useRef(null),v=ye.useComposedRefs(t,o=>S(o)),h=c.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;c.useEffect(()=>{if(r){let o=function(m){if(h.paused||!a)return;const p=m.target;a.contains(p)?f.current=p:k(f.current,{select:!0})},s=function(m){if(h.paused||!a)return;const p=m.relatedTarget;p!==null&&(a.contains(p)||k(f.current,{select:!0}))},d=function(m){if(document.activeElement===document.body)for(const y of m)y.removedNodes.length>0&&k(a)};document.addEventListener("focusin",o),document.addEventListener("focusout",s);const E=new MutationObserver(d);return a&&E.observe(a,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",o),document.removeEventListener("focusout",s),E.disconnect()}}},[r,a,h.paused]),c.useEffect(()=>{if(a){$.add(h);const o=document.activeElement;if(!a.contains(o)){const d=new CustomEvent(D,G);a.addEventListener(D,b),a.dispatchEvent(d),d.defaultPrevented||(Re(Me(le(a)),{select:!0}),document.activeElement===o&&k(a))}return()=>{a.removeEventListener(D,b),setTimeout(()=>{const d=new CustomEvent(U,G);a.addEventListener(U,g),a.dispatchEvent(d),d.defaultPrevented||k(o??document.body,{select:!0}),a.removeEventListener(U,g),$.remove(h)},0)}}},[a,b,g,h]);const w=c.useCallback(o=>{if(!n&&!r||h.paused)return;const s=o.key==="Tab"&&!o.altKey&&!o.ctrlKey&&!o.metaKey,d=document.activeElement;if(s&&d){const E=o.currentTarget,[m,p]=ke(E);m&&p?!o.shiftKey&&d===p?(o.preventDefault(),n&&k(m,{select:!0})):o.shiftKey&&d===m&&(o.preventDefault(),n&&k(p,{select:!0})):d===E&&o.preventDefault()}},[n,r,h.paused]);return ue.jsx(ce.Primitive.div,{tabIndex:-1,...l,ref:v,onKeyDown:w})});ie.displayName=Ce;function Re(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(k(r,{select:t}),document.activeElement!==n)return}function ke(e){const t=le(e),n=Z(t,e),r=Z(t.reverse(),e);return[n,r]}function le(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const u=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||u?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Z(e,t){for(const n of e)if(!Ae(n,{upTo:t}))return n}function Ae(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Te(e){return e instanceof HTMLInputElement&&"select"in e}function k(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Te(e)&&t&&e.select()}}var $=Pe();function Pe(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=Q(e,t),e.unshift(t)},remove(t){var n;e=Q(e,t),(n=e[0])==null||n.resume()}}}function Q(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Me(e){return e.filter(t=>t.tagName!=="A")}var Ne="Portal",se=c.forwardRef((e,t)=>{var a;const{container:n,...r}=e,[u,i]=c.useState(!1);Se.useLayoutEffect2(()=>i(!0),[]);const l=n||u&&((a=globalThis==null?void 0:globalThis.document)==null?void 0:a.body);return l?Ee.createPortal(ue.jsx(ce.Primitive.div,{...r,ref:t}),l):null});se.displayName=Ne;var j=0;function Fe(){c.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??J()),document.body.insertAdjacentElement("beforeend",e[1]??J()),j++,()=>{j===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),j--}},[])}function J(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var I="right-scroll-bar-position",W="width-before-scroll-bar",Le="with-scroll-bars-hidden",_e="--removed-body-scroll-bar-size";function K(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function Oe(e,t){var n=oe.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var u=n.value;u!==r&&(n.value=r,n.callback(r,u))}}}})[0];return n.callback=t,n.facade}var xe=typeof window<"u"?c.useLayoutEffect:c.useEffect,ee=new WeakMap;function Ie(e,t){var n=Oe(null,function(r){return e.forEach(function(u){return K(u,r)})});return xe(function(){var r=ee.get(n);if(r){var u=new Set(r),i=new Set(e),l=n.current;u.forEach(function(a){i.has(a)||K(a,null)}),i.forEach(function(a){u.has(a)||K(a,l)})}ee.set(n,e)},[e]),n}function We(e){return e}function Be(e,t){t===void 0&&(t=We);var n=[],r=!1,u={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(i){var l=t(i,r);return n.push(l),function(){n=n.filter(function(a){return a!==l})}},assignSyncMedium:function(i){for(r=!0;n.length;){var l=n;n=[],l.forEach(i)}n={push:function(a){return i(a)},filter:function(){return n}}},assignMedium:function(i){r=!0;var l=[];if(n.length){var a=n;n=[],a.forEach(i),l=n}var S=function(){var g=l;l=[],g.forEach(i)},b=function(){return Promise.resolve().then(S)};b(),n={push:function(g){l.push(g),b()},filter:function(g){return l=l.filter(g),n}}}};return u}function De(e){e===void 0&&(e={});var t=Be(null);return t.options=C.__assign({async:!0,ssr:!1},e),t}var fe=function(e){var t=e.sideCar,n=C.__rest(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return c.createElement(r,C.__assign({},n))};fe.isSideCarExport=!0;function Ue(e,t){return e.useMedium(t),fe}var de=De(),q=function(){},B=c.forwardRef(function(e,t){var n=c.useRef(null),r=c.useState({onScrollCapture:q,onWheelCapture:q,onTouchMoveCapture:q}),u=r[0],i=r[1],l=e.forwardProps,a=e.children,S=e.className,b=e.removeScrollBar,g=e.enabled,f=e.shards,v=e.sideCar,h=e.noRelative,w=e.noIsolation,o=e.inert,s=e.allowPinchZoom,d=e.as,E=d===void 0?"div":d,m=e.gapMode,p=C.__rest(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),y=v,A=Ie([n,t]),R=C.__assign(C.__assign({},p),u);return c.createElement(c.Fragment,null,g&&c.createElement(y,{sideCar:de,removeScrollBar:b,shards:f,noRelative:h,noIsolation:w,inert:o,setCallbacks:i,allowPinchZoom:!!s,lockRef:n,gapMode:m}),l?c.cloneElement(c.Children.only(a),C.__assign(C.__assign({},R),{ref:A})):c.createElement(E,C.__assign({},R,{className:S,ref:A}),a))});B.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};B.classNames={fullWidth:W,zeroRight:I};var je=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function Ke(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=je();return t&&e.setAttribute("nonce",t),e}function qe(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function He(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Ve=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Ke())&&(qe(t,n),He(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Xe=function(){var e=Ve();return function(t,n){c.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},ve=function(){var e=Xe(),t=function(n){var r=n.styles,u=n.dynamic;return e(r,u),null};return t},Ye={left:0,top:0,right:0,gap:0},H=function(e){return parseInt(e||"",10)||0},ze=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],u=t[e==="padding"?"paddingRight":"marginRight"];return[H(n),H(r),H(u)]},Ge=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Ye;var t=ze(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Ze=ve(),N="data-scroll-locked",$e=function(e,t,n,r){var u=e.left,i=e.top,l=e.right,a=e.gap;return n===void 0&&(n="margin"),` .`.concat(Le,` { overflow: hidden `).concat(r,`; padding-right: `).concat(a,"px ").concat(r,`; } body[`).concat(N,`] { overflow: hidden `).concat(r,`; overscroll-behavior: contain; `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` padding-left: `.concat(u,`px; padding-top: `).concat(i,`px; padding-right: `).concat(l,`px; margin-left:0; margin-top:0; margin-right: `).concat(a,"px ").concat(r,`; `),n==="padding"&&"padding-right: ".concat(a,"px ").concat(r,";")].filter(Boolean).join(""),` } .`).concat(I,` { right: `).concat(a,"px ").concat(r,`; } .`).concat(W,` { margin-right: `).concat(a,"px ").concat(r,`; } .`).concat(I," .").concat(I,` { right: 0 `).concat(r,`; } .`).concat(W," .").concat(W,` { margin-right: 0 `).concat(r,`; } body[`).concat(N,`] { `).concat(_e,": ").concat(a,`px; } `)},te=function(){var e=parseInt(document.body.getAttribute(N)||"0",10);return isFinite(e)?e:0},Qe=function(){c.useEffect(function(){return document.body.setAttribute(N,(te()+1).toString()),function(){var e=te()-1;e<=0?document.body.removeAttribute(N):document.body.setAttribute(N,e.toString())}},[])},Je=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,u=r===void 0?"margin":r;Qe();var i=c.useMemo(function(){return Ge(u)},[u]);return c.createElement(Ze,{styles:$e(i,!t,u,n?"":"!important")})},X=!1;if(typeof window<"u")try{var L=Object.defineProperty({},"passive",{get:function(){return X=!0,!0}});window.addEventListener("test",L,L),window.removeEventListener("test",L,L)}catch{X=!1}var T=X?{passive:!1}:!1,et=function(e){return e.tagName==="TEXTAREA"},he=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!et(e)&&n[t]==="visible")},tt=function(e){return he(e,"overflowY")},nt=function(e){return he(e,"overflowX")},ne=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var u=me(e,r);if(u){var i=ge(e,r),l=i[1],a=i[2];if(l>a)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},rt=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},at=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},me=function(e,t){return e==="v"?tt(t):nt(t)},ge=function(e,t){return e==="v"?rt(t):at(t)},ot=function(e,t){return e==="h"&&t==="rtl"?-1:1},ct=function(e,t,n,r,u){var i=ot(e,window.getComputedStyle(t).direction),l=i*r,a=n.target,S=t.contains(a),b=!1,g=l>0,f=0,v=0;do{var h=ge(e,a),w=h[0],o=h[1],s=h[2],d=o-s-i*w;(w||d)&&me(e,a)&&(f+=d,v+=w),a=a.parentNode.host||a.parentNode}while(!S&&a!==document.body||S&&(t.contains(a)||t===a));return(g&&Math.abs(f)<1||!g&&Math.abs(v)<1)&&(b=!0),b},_=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},re=function(e){return[e.deltaX,e.deltaY]},ae=function(e){return e&&"current"in e?e.current:e},ut=function(e,t){return e[0]===t[0]&&e[1]===t[1]},it=function(e){return` .block-interactivity-`.concat(e,` {pointer-events: none;} .allow-interactivity-`).concat(e,` {pointer-events: all;} `)},lt=0,P=[];function st(e){var t=c.useRef([]),n=c.useRef([0,0]),r=c.useRef(),u=c.useState(lt++)[0],i=c.useState(ve)[0],l=c.useRef(e);c.useEffect(function(){l.current=e},[e]),c.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(u));var o=C.__spreadArray([e.lockRef.current],(e.shards||[]).map(ae),!0).filter(Boolean);return o.forEach(function(s){return s.classList.add("allow-interactivity-".concat(u))}),function(){document.body.classList.remove("block-interactivity-".concat(u)),o.forEach(function(s){return s.classList.remove("allow-interactivity-".concat(u))})}}},[e.inert,e.lockRef.current,e.shards]);var a=c.useCallback(function(o,s){if("touches"in o&&o.touches.length===2||o.type==="wheel"&&o.ctrlKey)return!l.current.allowPinchZoom;var d=_(o),E=n.current,m="deltaX"in o?o.deltaX:E[0]-d[0],p="deltaY"in o?o.deltaY:E[1]-d[1],y,A=o.target,R=Math.abs(m)>Math.abs(p)?"h":"v";if("touches"in o&&R==="h"&&A.type==="range")return!1;var F=ne(R,A);if(!F)return!0;if(F?y=R:(y=R==="v"?"h":"v",F=ne(R,A)),!F)return!1;if(!r.current&&"changedTouches"in o&&(m||p)&&(r.current=y),!y)return!0;var Y=r.current||y;return ct(Y,s,o,Y==="h"?m:p)},[]),S=c.useCallback(function(o){var s=o;if(!(!P.length||P[P.length-1]!==i)){var d="deltaY"in s?re(s):_(s),E=t.current.filter(function(y){return y.name===s.type&&(y.target===s.target||s.target===y.shadowParent)&&ut(y.delta,d)})[0];if(E&&E.should){s.cancelable&&s.preventDefault();return}if(!E){var m=(l.current.shards||[]).map(ae).filter(Boolean).filter(function(y){return y.contains(s.target)}),p=m.length>0?a(s,m[0]):!l.current.noIsolation;p&&s.cancelable&&s.preventDefault()}}},[]),b=c.useCallback(function(o,s,d,E){var m={name:o,delta:s,target:d,should:E,shadowParent:ft(d)};t.current.push(m),setTimeout(function(){t.current=t.current.filter(function(p){return p!==m})},1)},[]),g=c.useCallback(function(o){n.current=_(o),r.current=void 0},[]),f=c.useCallback(function(o){b(o.type,re(o),o.target,a(o,e.lockRef.current))},[]),v=c.useCallback(function(o){b(o.type,_(o),o.target,a(o,e.lockRef.current))},[]);c.useEffect(function(){return P.push(i),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:v}),document.addEventListener("wheel",S,T),document.addEventListener("touchmove",S,T),document.addEventListener("touchstart",g,T),function(){P=P.filter(function(o){return o!==i}),document.removeEventListener("wheel",S,T),document.removeEventListener("touchmove",S,T),document.removeEventListener("touchstart",g,T)}},[]);var h=e.removeScrollBar,w=e.inert;return c.createElement(c.Fragment,null,w?c.createElement(i,{styles:it(u)}):null,h?c.createElement(Je,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function ft(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const dt=Ue(de,st);var pe=c.forwardRef(function(e,t){return c.createElement(B,C.__assign({},e,{ref:t,sideCar:dt}))});pe.classNames=B.classNames;var vt=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},M=new WeakMap,O=new WeakMap,x={},V=0,be=function(e){return e&&(e.host||be(e.parentNode))},ht=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=be(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},mt=function(e,t,n,r){var u=ht(t,Array.isArray(e)?e:[e]);x[n]||(x[n]=new WeakMap);var i=x[n],l=[],a=new Set,S=new Set(u),b=function(f){!f||a.has(f)||(a.add(f),b(f.parentNode))};u.forEach(b);var g=function(f){!f||S.has(f)||Array.prototype.forEach.call(f.children,function(v){if(a.has(v))g(v);else try{var h=v.getAttribute(r),w=h!==null&&h!=="false",o=(M.get(v)||0)+1,s=(i.get(v)||0)+1;M.set(v,o),i.set(v,s),l.push(v),o===1&&w&&O.set(v,!0),s===1&&v.setAttribute(n,"true"),w||v.setAttribute(r,"true")}catch(d){console.error("aria-hidden: cannot operate on ",v,d)}})};return g(t),a.clear(),V++,function(){l.forEach(function(f){var v=M.get(f)-1,h=i.get(f)-1;M.set(f,v),i.set(f,h),v||(O.has(f)||f.removeAttribute(r),O.delete(f)),h||f.removeAttribute(n)}),V--,V||(M=new WeakMap,M=new WeakMap,O=new WeakMap,x={})}},gt=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),u=vt(e);return u?(r.push.apply(r,Array.from(u.querySelectorAll("[aria-live], script"))),mt(r,u,n,"aria-hidden")):function(){return null}};exports.FocusScope=ie;exports.Portal=se;exports.ReactRemoveScroll=pe;exports.hideOthers=gt;exports.useFocusGuards=Fe;