2 lines
16 KiB
JavaScript
2 lines
16 KiB
JavaScript
|
import{_ as e,d as o,f as n,r as t,j as l,p as r,o as a,g as i,aD as d,b as s,h as u,F as c,bu as p,aK as f,bv as v,D as m,bw as g,bb as b,m as w,e as h,w as y,O as I,bh as E,bi as C,i as _,a3 as F,bx as T,Z as S,by as R,c as x,ah as k,bz as B,K as O,n as D,ai as $,E as K,bA as M,an as L,bf as P,al as N,a as A,u as G,Y as z,aa as H,B as Y,aw as j,k as J,ag as U,l as q,q as V,R as W,a6 as Z,bB as Q,bC as X,a0 as ee,bD as oe,v as ne,s as te}from"./index.Dp_uSW6y.js";var le=e(o({inheritAttrs:!1}),[["render",function(e,o,t,l,r,a){return n(e.$slots,"default")}],["__file","collection.vue"]]);var re=e(o({name:"ElCollectionItem",inheritAttrs:!1}),[["render",function(e,o,t,l,r,a){return n(e.$slots,"default")}],["__file","collection-item.vue"]]);const ae="data-el-collection-item",ie=e=>{const o=`El${e}Collection`,n=`${o}Item`,s=Symbol(o),u=Symbol(n),c={...le,name:o,setup(){const e=t(),o=new Map;r(s,{itemMap:o,getItems:()=>{const n=i(e);if(!n)return[];const t=Array.from(n.querySelectorAll(`[${ae}]`));return[...o.values()].sort(((e,o)=>t.indexOf(e.ref)-t.indexOf(o.ref)))},collectionRef:e})}},p={...re,name:n,setup(e,{attrs:o}){const n=t(),c=l(s,void 0);r(u,{collectionItemRef:n}),a((()=>{const e=i(n);e&&c.itemMap.set(e,{ref:e,...o})})),d((()=>{const e=i(n);c.itemMap.delete(e)}))}};return{COLLECTION_INJECTION_KEY:s,COLLECTION_ITEM_INJECTION_KEY:u,ElCollection:c,ElCollectionItem:p}},de=s({style:{type:u([String,Array,Object])},currentTabId:{type:u(String)},defaultCurrentTabId:String,loop:Boolean,dir:{type:String,values:["ltr","rtl"],default:"ltr"},orientation:{type:u(String)},onBlur:Function,onFocus:Function,onMousedown:Function}),{ElCollection:se,ElCollectionItem:ue,COLLECTION_INJECTION_KEY:ce,COLLECTION_ITEM_INJECTION_KEY:pe}=ie("RovingFocusGroup"),fe=Symbol("elRovingFocusGroup"),ve=Symbol("elRovingFocusGroupItem"),me={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"},ge=e=>{const{activeElement:o}=document;for(const n of e){if(n===o)return;if(n.focus(),o!==document.activeElement)return}},be="currentTabIdChange",we="rovingFocusGroup.entryFocus",he={bubbles:!1,cancelable:!0},ye=o({name:"ElRovingFocusGroupImpl",inheritAttrs:!1,props:de,emits:[be,"entryFocus"],setup(e,{emit:o}){var n;const a=t(null!=(n=e.currentTabId||e.defaultCurrentTabId)?n:null),d=t(!1),s=t(!1),u=t(),{getItems:b}=l(ce,void 0),w=c((()=>[{outline:"none"},e.style])),h=p((o=>{var n;null==(n=e.onMousedown)||n.call(e,o)}),(()=>{s.value=!0})),y=p((o=>{var n;null==(n=e.onFocus)||n.call(e,o)}),(e=>{const o=!i(s),{target:n,currentTarget:t}=e;if(n===t&&o&&!i(d)){const e=new Event(we,he);if(null==t||t.dispatchEvent(e),!e.defaultPrevented){const e=b().filter((e=>e.focusable)),o=[e.find((e=>e.active)),e.find((e=>e.id===i(a))),...e].filter(Boolean).map((e=>e.ref));ge(o)}}s.value=!1})),I=p((o=>{var n;null==(n=e.onBlur)||n.call(e,o)}),(()=>{d.value=!1}));r(fe,{currentTabbedId:v(a),loop:f(e,"loop"),tabIndex:c((()=>i(d)?-1:0)),rovingFocusGroupRef:u,rovingFocusGroupRootStyle:w,orientation:f(e,"orientation"),dir:f(e,"dir"),onItemFocus:e=>{o(be,e)},onItemShiftTab:()=>{d.value=!0},onBlur:I,onFocus:y,onMousedown:h}),m((()=>e.currentTabId),(e=>{a.value=null!=e?e:null})),g(u,we,((...e)=>{o("entryFocus",...e)}))}});var Ie=e(o({name:"ElRovingFocusGroup",components:{ElFocusGroupCollection:se,ElRovingFocusGroupImpl:e(ye,[["render",function(e,o,t,l,r,a){return n(e.$slots,"default")}],["__file","roving-focus-group-impl.vue"]])}}),[["render",function(e,o,t,l,r,a){const i=b("el-roving-focus-group-impl"),d=b("el-focus-group-collection");return h(),w(d,null,{default:y((()=>[I(i,E(C(e.$attrs)),{default:y((()=>[n(e.$slots,"default")])),_:3},16)])),_:3})}],["__file","roving-focus-group.vue"]]);const Ee=s({trigger:R.trigger,triggerKeys:{type:u(Array),default:()=>[S.enter,S.numpadEnter,S.space,S.down]},effect:{...F.effect,default:"light"},type:{type:u(String)},placement:{type:u(String),default:"bottom"},popperOptions:{type:u(Object),default:()=>({})},id:String,size:{type:String,default:""},splitButton:Boolean,hideOnClick:{type:Boolean,de
|