UNPKG

p3x-redis-ui-material

Version:

💿 P3X Redis UI triple frontend — Angular + React/MUI + Vue/Vuetify with 54 languages, 7 themes, Socket.IO, desktop notifications, and full feature parity

1 lines • 5.23 kB
import{i as e}from"./chunk-62oNxeRG.js";import{R as t,_ as n,h as r,v as i,y as a}from"./Box-BaSrhk2N.js";import{o}from"./i18n.store-DddRY7Ub.js";function s(e,t=166){let n;function r(...r){clearTimeout(n),n=setTimeout(()=>{e.apply(this,r)},t)}return r.clear=()=>{clearTimeout(n)},r}var c=s;function l(e){let t=e.activeElement;for(;t?.shadowRoot?.activeElement!=null;)t=t.shadowRoot.activeElement;return t}var u=l,d=a;function f(e){return a(e).defaultView||window}var p=f,m=t;function h(e,t){if(!e||!t)return!1;if(e.contains(t))return!0;let n=t.getRootNode?.();if(n&&n instanceof ShadowRoot){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode??n.host??null}}return!1}var g=h,_=e(o(),1),v=_.createContext(void 0);function y(){let e=_.useContext(v);if(e===void 0)throw Error(`MUI: RovingTabIndexContext is missing. Roving tab index items must be placed within a roving tab index provider.`);return e}var b=Object.is;function x(e,t){if(e===t)return!0;if(!(e instanceof Object)||!(t instanceof Object))return!1;let n=0,r=0;for(let r in e)if(n+=1,!b(e[r],t[r])||!(r in t))return!1;for(let e in t)r+=1;return n===r}var S=[`ArrowRight`,`ArrowLeft`,`ArrowUp`,`ArrowDown`,`Home`,`End`];function C(e){let{activeItemId:t,getDefaultActiveItemId:r,orientation:i,isRtl:o=!1,isItemFocusable:s=L,wrap:c=!0}=e,[u,d]=_.useState(t),f=_.useRef(t),p=u;t!==f.current&&(f.current=t,t!==void 0&&t!==u&&(p=t,d(t)));let m=_.useRef(null),h=_.useRef(new Map),[g,v]=_.useState(0),y=_.useMemo(()=>P(h.current),[g]),b=T(p,y,s,r),C=_.useRef(b);C.current=b;let w=_.useCallback(()=>{let e=P(h.current);return j(e,T(C.current,e,s,r))},[r,s]),E=_.useCallback(()=>h.current,[]),D=n(e=>{x(h.current.get(e.id)??null,e)||(h.current.set(e.id,e),v(e=>e+1))}),A=n(e=>{h.current.delete(e)&&v(e=>e+1)}),M=n(e=>{d(e)}),I=_.useCallback(e=>C.current===e,[]),R=_.useCallback((e,t,n,r)=>{let i=k(F(h.current),e,t,n,r??s);return i?(i.element?.focus(),d(i.id),i):null},[s]),z=_.useCallback(e=>({onFocus:e=>{let t=F(h.current),n=N(t,e.target);n!==-1&&d(t[n].id)},onKeyDown:e=>{if(e.altKey||e.shiftKey||e.ctrlKey||e.metaKey||!S.includes(e.key))return;let t=i===`horizontal`?`ArrowLeft`:`ArrowUp`,n=i===`horizontal`?`ArrowRight`:`ArrowDown`;i===`horizontal`&&o&&(t=`ArrowRight`,n=`ArrowLeft`);let r=F(h.current),s=l(a(m.current)),u=s===m.current,d=O(r,s,C.current),f=`next`;switch(e.key){case t:f=`previous`,e.preventDefault(),u&&(d=r.length);break;case n:e.preventDefault(),u&&(d=-1);break;case`Home`:e.preventDefault(),d=-1;break;case`End`:e.preventDefault(),f=`previous`,d=r.length;break;default:return}R(d,f,c)},ref:B(e,e=>{m.current=e})}),[R,o,i,c]),V=_.useCallback(e=>{let t=F(h.current),n=l(a(m.current));return R(n===m.current?-1:O(t,n,C.current),`next`,!0,e)?.id??null},[R]);return _.useMemo(()=>({activeItemId:b,focusNext:V,getActiveItem:w,getContainerProps:z,getItemMap:E,isItemActive:I,registerItem:D,setActiveItemId:M,unregisterItem:A}),[b,V,w,z,E,I,D,M,A])}function w(e){let{activeItemId:n,registerItem:i,unregisterItem:a}=y(),o=_.useRef(null),s=_.useMemo(()=>({disabled:e.disabled??!1,element:null,focusableWhenDisabled:e.focusableWhenDisabled??!1,id:e.id,selected:e.selected??!1,textValue:e.textValue}),[e.disabled,e.focusableWhenDisabled,e.id,e.selected,e.textValue]),c=_.useRef(s);c.current=s;let l=_.useCallback(t=>{if(o.current=t,t==null){queueMicrotask(()=>{o.current??a(e.id)});return}i({...c.current,element:t})},[e.id,i,a]),u=r(e.ref,l);return t(()=>{o.current&&i({...s,element:o.current})},[s,i]),t(()=>{let t=e.id;return()=>{a(t)}},[e.id,a]),{ref:u,tabIndex:n===e.id?0:-1}}function T(e,t,n,r){return e==null?D(t,n,r):E(e,t,n)}function E(e,t,n){let r=M(t,e);return r===-1?A(t,n):n(t[r])?t[r].id:k(t,r,`next`,!1,n)?.id??null}function D(e,t,n){let r=n?.(e);if(r!=null){let n=j(e,r);if(n&&t(n))return n.id}return A(e,t)}function O(e,t,n){if(t){let n=N(e,t);if(n!==-1)return n}return M(e,n)}function k(e,t,n,r,i){let a=e.length-1;if(a===-1)return null;let o=!1,s=I(t,a,n,r),c=s;for(;s!==-1;){if(s===c){if(o)return null;o=!0}let t=e[s];if(!t||!i(t))s=I(s,a,n,r);else return t}return null}function A(e,t){return e.find(e=>t(e))?.id??null}function j(e,t){return t==null?null:e.find(e=>e.id===t)??null}function M(e,t){return t==null?-1:e.findIndex(e=>e.id===t)}function N(e,t){return t?e.findIndex(e=>e.element===t||e.element?.contains(t)):-1}function P(e){let t=Array.from(e.values());if(t.every(e=>e.element==null))return t;let n=t.filter(R).sort((e,t)=>z(e.element,t.element)),r=t.filter(e=>!R(e));return[...n,...r]}function F(e){return P(e).filter(R)}function I(e,t,n,r=!0){return n===`next`?e===t?r?0:-1:e+1:e===0?r?t:-1:e-1}function L(e){return e.element?e.focusableWhenDisabled?!0:!e.disabled&&!e.element.hasAttribute(`disabled`)&&e.element.getAttribute(`aria-disabled`)!==`true`&&e.element.hasAttribute(`tabindex`):!1}function R(e){return e.element!=null&&e.element.isConnected}function z(e,t){if(e===t)return 0;let n=e.compareDocumentPosition(t);return n&Node.DOCUMENT_POSITION_FOLLOWING||n&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:n&Node.DOCUMENT_POSITION_PRECEDING||n&Node.DOCUMENT_POSITION_CONTAINS?1:0}function B(...e){return t=>{e.forEach(e=>{i(e??null,t)})}}export{y as a,m as c,d,u as f,v as i,p as l,s as m,w as n,g as o,c as p,C as r,h as s,L as t,f as u};