UNPKG

@tomorrowevening/hermes

Version:

An extendable set of Web Tools controlled via a separate window for non-intereference with content.

2 lines (1 loc) 823 B
"use strict";const r=require("react/jsx-runtime"),l=require("react"),f=require("./NavButton.cjs"),j=require("./DraggableItem.cjs");function I(s){const[u,c]=l.useState(!1),[n,d]=l.useState(s.options),[o,a]=l.useState(null),g=e=>{s.onDragComplete(e),d(e)},m=e=>{const t=[...n];t.splice(e,1),g(t)},D=e=>{a(e)},x=e=>{if(o===e||o===null)return;const t=[...n],b=t.splice(o,1)[0];t.splice(e,0,b),a(e),d(t)},p=()=>{s.onDragComplete(n),a(null)};let i="dropdown draggable";return s.subdropdown&&(i+=" subdropdown"),r.jsxs("div",{className:i,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),children:[r.jsx(f,{title:s.title}),r.jsx("ul",{className:"reorder-list",style:{display:u?"block":"none"},children:n.map((e,t)=>r.jsx(j,{title:e,index:t,draggingIndex:o,onDelete:m,onDragStart:D,onDragOver:x,onDragEnd:p},e))})]})}module.exports=I;