UNPKG

@tomorrowevening/hermes

Version:

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

2 lines (1 loc) 1.09 kB
"use strict";const i=require("react/jsx-runtime"),l=require("react"),r=require("../utils.cjs"),v=require("../../core/remote/RemoteThree.cjs");function b(e){const[n,o]=l.useState(e.open!==void 0?e.open:!1),[a,u]=l.useState(e.visible!==void 0?e.visible:!1),d=!n||e.children===void 0,h=()=>{e.three.dispatchEvent({type:v.ToolEvents.REMOVE_SCENE,value:e.scene})};return i.jsxs("div",{className:`accordion ${d?"hide":""}`,children:[i.jsxs("button",{className:"toggle",onClick:()=>{const s=!n;e.onToggle!==void 0&&e.onToggle(s),o(s)},children:[i.jsx("p",{className:`status ${n?"open":""}`,children:"Toggle"}),i.jsx("p",{className:"label",children:r.capitalize(e.label)})]}),e.onRefresh?i.jsxs(i.Fragment,{children:[i.jsx("button",{className:"visibility",style:{opacity:a?1:.25},onClick:()=>{const t=e.three.getScene(e.scene.uuid);if(t){const c=!t.visible;t.visible=c,u(c)}}}),i.jsx("button",{className:"refresh",onClick:e.onRefresh}),i.jsx("button",{className:"remove",onClick:h})]}):null,e.button,i.jsx("div",{className:n?"open":"",children:i.jsx("div",{children:e.children})})]})}module.exports=b;