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.02 kB
import{i as e}from"./chunk-62oNxeRG.js";import{L as t,_ as n,g as r,m as i,v as a}from"./Box-zFhO8JOc.js";import{o}from"./i18n.store-BgO27SyP.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,h=e(o(),1),g=h.createContext(void 0);function _(){let e=h.useContext(g);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 v=Object.is;function y(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,!v(e[r],t[r])||!(r in t))return!1;for(let e in t)r+=1;return n===r}var b=[`ArrowRight`,`ArrowLeft`,`ArrowUp`,`ArrowDown`,`Home`,`End`];function x(e){let{activeItemId:t,getDefaultActiveItemId:n,orientation:i,isRtl:o=!1,isItemFocusable:s=F,wrap:c=!0}=e,[u,d]=h.useState(t),f=h.useRef(t),p=u;t!==f.current&&(f.current=t,t!==void 0&&t!==u&&(p=t,d(t)));let m=h.useRef(null),g=h.useRef(new Map),[_,v]=h.useState(0),x=h.useMemo(()=>M(g.current),[_]),S=C(p,x,s,n),w=h.useRef(S);w.current=S;let T=h.useCallback(()=>{let e=M(g.current);return k(e,C(w.current,e,s,n))},[n,s]),O=h.useCallback(()=>g.current,[]),A=r(e=>{y(g.current.get(e.id)??null,e)||(g.current.set(e.id,e),v(e=>e+1))}),P=r(e=>{g.current.delete(e)&&v(e=>e+1)}),I=r(e=>{d(e)}),L=h.useCallback(e=>w.current===e,[]),z=h.useCallback((e,t,n,r)=>{let i=D(N(g.current),e,t,n,r??s);return i?(i.element?.focus(),d(i.id),i):null},[s]),B=h.useCallback(e=>({onFocus:e=>{let t=N(g.current),n=j(t,e.target);n!==-1&&d(t[n].id)},onKeyDown:e=>{if(e.altKey||e.shiftKey||e.ctrlKey||e.metaKey||!b.includes(e.key))return;let t=i===`horizontal`?`ArrowLeft`:`ArrowUp`,n=i===`horizontal`?`ArrowRight`:`ArrowDown`;i===`horizontal`&&o&&(t=`ArrowRight`,n=`ArrowLeft`);let r=N(g.current),s=l(a(m.current)),u=s===m.current,d=E(r,s,w.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}z(d,f,c)},ref:R(e,e=>{m.current=e})}),[z,o,i,c]),V=h.useCallback(e=>{let t=N(g.current),n=l(a(m.current));return z(n===m.current?-1:E(t,n,w.current),`next`,!0,e)?.id??null},[z]);return h.useMemo(()=>({activeItemId:S,focusNext:V,getActiveItem:T,getContainerProps:B,getItemMap:O,isItemActive:L,registerItem:A,setActiveItemId:I,unregisterItem:P}),[S,V,T,B,O,L,A,I,P])}function S(e){let{activeItemId:n,registerItem:r,unregisterItem:a}=_(),o=h.useRef(null),s=h.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=h.useRef(s);c.current=s;let l=h.useCallback(t=>{if(o.current=t,t==null){queueMicrotask(()=>{o.current??a(e.id)});return}r({...c.current,element:t})},[e.id,r,a]),u=i(e.ref,l);return t(()=>{o.current&&r({...s,element:o.current})},[s,r]),t(()=>{let t=e.id;return()=>{a(t)}},[e.id,a]),{ref:u,tabIndex:n===e.id?0:-1}}function C(e,t,n,r){return e==null?T(t,n,r):w(e,t,n)}function w(e,t,n){let r=A(t,e);return r===-1?O(t,n):n(t[r])?t[r].id:D(t,r,`next`,!1,n)?.id??null}function T(e,t,n){let r=n?.(e);if(r!=null){let n=k(e,r);if(n&&t(n))return n.id}return O(e,t)}function E(e,t,n){if(t){let n=j(e,t);if(n!==-1)return n}return A(e,n)}function D(e,t,n,r,i){let a=e.length-1;if(a===-1)return null;let o=!1,s=P(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=P(s,a,n,r);else return t}return null}function O(e,t){return e.find(e=>t(e))?.id??null}function k(e,t){return t==null?null:e.find(e=>e.id===t)??null}function A(e,t){return t==null?-1:e.findIndex(e=>e.id===t)}function j(e,t){return t?e.findIndex(e=>e.element===t||e.element?.contains(t)):-1}function M(e){let t=Array.from(e.values());if(t.every(e=>e.element==null))return t;let n=t.filter(I).sort((e,t)=>L(e.element,t.element)),r=t.filter(e=>!I(e));return[...n,...r]}function N(e){return M(e).filter(I)}function P(e,t,n,r=!0){return n===`next`?e===t?r?0:-1:e+1:e===0?r?t:-1:e-1}function F(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 I(e){return e.element!=null&&e.element.isConnected}function L(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 R(...e){return t=>{e.forEach(e=>{n(e??null,t)})}}export{_ as a,f as c,c as d,s as f,g as i,d as l,S as n,m as o,x as r,p as s,F as t,u};