Files
monisuo/monisuo-admin/dist/assets/RovingFocusItem-BIHcXQd-.js
2026-04-21 08:12:17 +08:00

1 line
1.8 KiB
JavaScript

import{B as e,D as t,E as n,G as r,H as i,L as a,S as o,Tt as s,b as c,it as l,z as u}from"./iconify-DYZHDLa8.js";import{_ as d}from"./Teleport-BIYegdAM.js";import{r as f}from"./button-BuRmTYve.js";import{o as p}from"./PopperContent-BqlvlxQe.js";import{a as m,i as h,n as g,r as _}from"./RovingFocusGroup-DF8fLFe7.js";var v=t({__name:`RovingFocusItem`,props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(t){let v=t,y=g(),b=d(),x=c(()=>v.tabStopId||b),S=c(()=>y.currentTabStopId.value===x.value),{getItems:C,CollectionItem:w}=p();u(()=>{v.focusable&&y.onFocusableItemAdd()}),e(()=>{v.focusable&&y.onFocusableItemRemove()});function T(e){if(e.key===`Tab`&&e.shiftKey){y.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=h(e,y.orientation.value,y.dir.value);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||!v.allowShiftKey&&e.shiftKey)return;e.preventDefault();let n=[...C().map(e=>e.ref).filter(e=>e.dataset.disabled!==``)];if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=y.loop.value?m(n,r+1):n.slice(r+1)}a(()=>_(n))}}return(e,t)=>(i(),o(s(w),null,{default:l(()=>[n(s(f),{tabindex:S.value?0:-1,"data-orientation":s(y).orientation.value,"data-active":e.active?``:void 0,"data-disabled":e.focusable?void 0:``,as:e.as,"as-child":e.asChild,onMousedown:t[0]||=t=>{e.focusable?s(y).onItemFocus(x.value):t.preventDefault()},onFocus:t[1]||=e=>s(y).onItemFocus(x.value),onKeydown:T},{default:l(()=>[r(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`data-active`,`data-disabled`,`as`,`as-child`])]),_:3}))}});export{v as t};