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.36 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react/jsx-runtime"),d=require("react"),f=e=>{const[n,i]=d.useState(e.options[e.index]),l=()=>{e.onToggle(!e.open)},a=t=>{t!==n&&(e.onSelect(t),i(t)),e.onToggle(!1)},c=e.open?`${e.options.length*31-1}px`:"0px";return o.jsxs("div",{className:`dropdown ${e.up===!0?"up":""}`,children:[o.jsx("div",{className:"dropdown-toggle",onClick:l,children:`${e.title}: ${n}`}),o.jsx("ul",{className:"dropdown-menu",style:{height:c},children:e.options.map(t=>o.jsx("li",{onClick:()=>a(t),children:t},t))})]})},h=d.forwardRef(function(n,i){const l=["Renderer","Depth","Normals","UVs","Wireframe"],[a,c]=d.useState("Renderer"),[t,S]=d.useState(!1),[m,x]=d.useState(!1),[r,u]=d.useState(!1);return o.jsxs("div",{className:`CameraWindow ${n.name}`,children:[o.jsx("div",{ref:i,className:"clickable",onClick:()=>{r&&u(!1)}}),o.jsxs("div",{className:"options",children:[n.camera!==null&&o.jsx(f,{title:"Camera",index:n.options.indexOf(n.camera.name),open:r,options:n.options,onSelect:n.onSelectCamera,onToggle:s=>{s&&m&&x(!1),u(s)},up:!0}),o.jsx(f,{title:"Mode",index:l.indexOf(a),open:m,options:l,onSelect:s=>{if(s===a)return;const g=s;n.onSelectRenderMode(g),c(g)},onToggle:s=>{s&&r&&u(!1),t&&S(!1),x(s)},up:!0})]})]})});exports.Dropdown=f;exports.default=h;