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.64 kB
"use strict";const t=require("react/jsx-runtime"),s=require("react"),S=require("./utils/InspectMaterial.cjs"),I=require("../../components/content.cjs"),g=require("../../utils.cjs");function y(e){const o=e.step!==void 0?e.step:.01,d=s.useRef(null),h=s.useRef(null),v=s.useRef(null),R=s.useRef(null),x=s.useRef(null),[j]=s.useState(e.value),[r,C]=s.useState(e.value.offset[0]),[c,b]=s.useState(e.value.offset[1]),[u,p]=s.useState(e.value.repeat[0]),[l,k]=s.useState(e.value.repeat[1]);function i(a,f,n,X,Y){if(e.onChange!==void 0){const q=e.prop!==void 0?e.prop:e.title;e.onChange(q,{src:a,offset:[f,n],repeat:[X,Y]})}}function m(a){const f=d.current.src,n=a.target.value;switch(a.target){case h.current:C(n),i(f,n,c,u,l);break;case v.current:b(n),i(f,r,n,u,l);break;case R.current:p(n),i(f,r,c,n,l);break;case x.current:k(n),i(f,r,c,u,n);break}}return t.jsxs("div",{className:"imageField",children:[t.jsx("img",{alt:e.title,ref:d,onClick:()=>{S.uploadLocalImage().then(a=>{d.current.src=a,i(a,r,c,u,l)})},src:j.src.length>0?j.src:I.noImage}),t.jsxs("div",{className:"fields",children:[t.jsxs("div",{children:[t.jsx("span",{children:"Offset:"}),t.jsx("input",{ref:h,type:"number",value:r,step:o,name:g.randomID(),onChange:m}),t.jsx("input",{ref:v,type:"number",value:c,step:o,name:g.randomID(),onChange:m})]}),t.jsxs("div",{children:[t.jsx("span",{children:"Repeat:"}),t.jsx("input",{ref:R,type:"number",value:u,step:o,name:g.randomID(),onChange:m}),t.jsx("input",{ref:x,type:"number",value:l,step:o,name:g.randomID(),onChange:m})]}),t.jsx("button",{onClick:()=>{i("",r,c,u,l),d.current.src=I.noImage},children:"Clear"})]})]})}module.exports=y;