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.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react/jsx-runtime"),m=require("three"),I=require("../InspectorGroup.cjs"),d=require("../../utils.cjs");function p(e){switch(e){case"color":return"Color";case"intensity":return"Intensity";case"decay":return"Decay";case"distance":return"Distance";case"angle":return"Angle";case"penumbra":return"Penumbra";case"groundColor":return"Ground Color";case"width":return"Width";case"height":return"Height"}return e}function C(e,n){function l(){return`${n.name}_light`}const a=localStorage.getItem(l()),g=a!==null?a==="open":!1;function f(t){localStorage.setItem(l(),t?"open":"closed")}const c=[];if(e.lightInfo!==void 0)for(const t in e.lightInfo){const o=e.lightInfo[t];o!==void 0&&(o.isColor!==void 0?c.push({title:p(t),prop:t,type:"color",value:o,onChange:(r,u)=>{const i=new m.Color(u);n.updateObject(e.uuid,r,i);const s=n.getScene(e.uuid);if(s!==null){const h=s.getObjectByProperty("uuid",e.uuid);d.setItemProps(h,r,i)}}}):c.push({title:p(t),prop:t,type:typeof o,value:o,step:typeof o=="number"?.01:void 0,onChange:(r,u)=>{n.updateObject(e.uuid,r,u);const i=n.getScene(e.uuid);if(i!==null){const s=i.getObjectByProperty("uuid",e.uuid);d.setItemProps(s,r,u)}}}))}return y.jsx(I,{three:n,title:"Light",items:c,expanded:g,onToggle:t=>{f(t)}})}exports.InspectLight=C;