snowy-designer
Version:
基于Epic-Designer-Pro版本的设计器,可视化开发页面表单
2 lines (1 loc) • 3.01 kB
JavaScript
;const e=require("vue");;/* empty css */require("radix-vue");require("clsx");require("tailwind-merge");require("lucide-vue-next");require("../../../../base-ui/src/shadch-ui/button/index.cjs");const x=require("../../../../base-ui/src/shadch-ui/input/Input.vue2.cjs");require("@vueuse/core");const V=require("../../../../base-ui/src/shadch-ui/select/EpSelect.vue2.cjs");require("../../../../base-ui/src/shadch-ui/toast/index.cjs");require("../../../../../hooks/src/store/index.cjs");require("lodash");require("../../../../../utils/src/manager/pluginManager.cjs");require("monaco-editor");require("../../../../../utils/src/request/index.cjs");require("vuedraggable");const g={class:"epic-input-size relative"},L={class:"top--1px text-muted-foreground absolute right-0 size-4 w-9"},k=e.defineComponent({__name:"index",props:{modelValue:{}},emits:["update:modelValue"],setup(f,{emit:_}){const h=f,q=_,c=e.ref(null),r=e.ref(),l=e.ref("px"),n=e.ref(!1),b=[{label:"px",value:"px"},{label:"%",value:"%"},{label:"vw",value:"vw"},{label:"vh",value:"vh"},{label:"rem",value:"rem"},{label:"em",value:"em"},{label:"pt",value:"pt"}];e.watch(()=>h.modelValue,u=>{if(!u){m();return}if(typeof u=="number"){r.value=String(u),l.value="px";return}const t=u.trim().match(/^(-?\d+(\.\d+)?)(px|%|vw|vh|rem|em|pt)?$/);if(!t){m();return}r.value=Number(t[1])<999999999999?t[1]:"999999999999",l.value=t[3]??"px"},{immediate:!0}),e.watch([r,l],()=>q("update:modelValue",r.value?r.value+l.value:void 0));let a=!1;function E(){var u;a||(n.value=!0,e.nextTick(()=>{var t;return(t=c.value)==null?void 0:t.$el.select()}),(u=c.value)==null||u.$el.addEventListener("blur",()=>n.value=!1,{once:!0}))}function d(u){a=!1;const t=u instanceof MouseEvent?u.clientX:u.touches[0].clientX,o=Number(r.value)||0;n.value=!1;const s=v=>{const p=(v instanceof MouseEvent?v.clientX:v.touches[0].clientX)-t;p!==0&&(r.value=String(o+p),a=!0)},i=()=>{document.removeEventListener("mousemove",s),document.removeEventListener("touchmove",s),document.removeEventListener("mouseup",i),document.removeEventListener("touchend",i),n.value=!1,setTimeout(()=>{a=!1},1)};document.addEventListener("mousemove",s),document.addEventListener("touchmove",s),document.addEventListener("mouseup",i),document.addEventListener("touchend",i)}function m(){r.value=void 0,l.value="px"}return(u,t)=>(e.openBlock(),e.createElementBlock("div",g,[e.createVNode(e.unref(x),{ref_key:"inputRef",ref:c,modelValue:r.value,"onUpdate:modelValue":t[0]||(t[0]=o=>r.value=o),type:"number",placeholder:"...",class:"pr-9"},null,8,["modelValue"]),n.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:"absolute left-0 top-0 h-full w-full cursor-ew-resize",onMousedown:d,onTouchstart:d,onClick:E},null,32)),e.createElementVNode("div",L,[e.createVNode(e.unref(V),{modelValue:l.value,"onUpdate:modelValue":t[1]||(t[1]=o=>l.value=o),options:b,"hide-select-icon":"",bordered:!1},null,8,["modelValue"])])]))}});module.exports=k;