@easy-editor/materials-dashboard-image 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @easy-editor/materials-dashboard-image
2
2
 
3
+ ## 0.0.3
4
+
5
+ ### Patch Changes
6
+
7
+ - perf: configure & datasource
8
+ - Updated dependencies
9
+ - @easy-editor/materials-shared@0.0.1
10
+
3
11
  ## 0.0.2
4
12
 
5
13
  ### Patch Changes
@@ -1,2 +1 @@
1
- !function(M,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("react/jsx-runtime")):"function"==typeof define&&define.amd?define(["exports","react/jsx-runtime"],e):e((M="undefined"!=typeof globalThis?globalThis:M||self).EasyEditorMaterialsImageComponent={},M.jsxRuntime)}(this,function(M,e){"use strict";function L(M){var e,o,D="";if("string"==typeof M||"number"==typeof M)D+=M;else if("object"==typeof M)if(Array.isArray(M)){var t=M.length;for(e=0;e<t;e++)M[e]&&(o=L(M[e]))&&(D&&(D+=" "),D+=o)}else for(o in M)M[o]&&(D&&(D+=" "),D+=o);return D}function o(...M){return function(){for(var M,e,o=0,D="",t=arguments.length;o<t;o++)(M=arguments[o])&&(e=L(M))&&(D&&(D+=" "),D+=e);return D}(M)}var D="component-module__container___VbZSk",t="component-module__image___22LfU",N="component-module__imageCover___4nw5D",w="component-module__imageContain___qcwy7",j="component-module__imageFill___tNQDt",u="component-module__borderNeon___0oq37",A="component-module__borderGradient___-IDtx",n="component-module__borderTech___MnH27";!function(M,e){void 0===e&&(e={});var L=e.insertAt;if("undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],D=document.createElement("style");D.type="text/css","top"===L&&o.firstChild?o.insertBefore(D,o.firstChild):o.appendChild(D),D.styleSheet?D.styleSheet.cssText=M:D.appendChild(document.createTextNode(M))}}('.component-module__container___VbZSk{align-items:center;display:flex;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.component-module__image___22LfU{display:block;max-height:100%;max-width:100%}.component-module__imageCover___4nw5D{height:100%;object-fit:cover;width:100%}.component-module__imageContain___qcwy7{height:100%;object-fit:contain;width:100%}.component-module__imageFill___tNQDt{height:100%;object-fit:fill;width:100%}.component-module__iconWrapper___LgFH-{align-items:center;display:flex;justify-content:center}.component-module__borderNeon___0oq37{animation:component-module__neonPulse___noJMa 2s ease-in-out infinite;border:2px solid transparent}@keyframes component-module__neonPulse___noJMa{0%,to{box-shadow:0 0 5px currentColor,0 0 10px currentColor,0 0 20px currentColor}50%{box-shadow:0 0 10px currentColor,0 0 20px currentColor,0 0 40px currentColor}}.component-module__borderGradient___-IDtx{background-clip:padding-box;border:2px solid transparent;position:relative}.component-module__borderGradient___-IDtx:before{background:linear-gradient(135deg,var(--border-color-1),var(--border-color-2));border-radius:inherit;content:"";inset:-2px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;position:absolute}.component-module__borderTech___MnH27{border:1px solid rgba(0,200,255,.3);position:relative}.component-module__borderTech___MnH27:after,.component-module__borderTech___MnH27:before{border:2px solid #00d4ff;content:"";height:20px;position:absolute;width:20px}.component-module__borderTech___MnH27:before{border-bottom:none;border-right:none;left:-2px;top:-2px}.component-module__borderTech___MnH27:after{border-left:none;border-top:none;bottom:-2px;right:-2px}');const i=M=>{switch(M){case"cover":return N;case"contain":return w;case"fill":return j;default:return""}},C=M=>{switch(M){case"neon":return u;case"gradient":return A;case"tech":return n;default:return""}},c=({ref:M,src:L="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNzAgNjAiIHdpZHRoPSI3MCIgaGVpZ2h0PSI2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGRlZnMgaWQ9IlN2Z2pzRGVmczEwMDEiPjwvZGVmcz4NCiAgPGcNCiAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjYwNDgwNDY3OTI2Mjc2NTIsMCwwLDAuNjA0ODA0Njc5MjYyNzY1MiwtMC4wMDAwMTg0MDMxMDAyOTc2NjgwNzYsLTAuMDAwNDk0ODEwODgwODczMjQ1OSkiDQogICAgZmlsbD0iI2ZmZiINCiAgPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNOTUuMTA4LDg0LjEyNWMtMC40ODQsMC0wLjk1NS0wLjI1Mi0xLjIxNi0wLjcwMUw2NS44NDksMzQuNzljLTAuMzg2LTAuNjcxLTAuMTU1LTEuNTI4LDAuNTE2LTEuOTE3ICBjMC42NzMtMC4zODYsMS41MjctMC4xNTYsMS45MTYsMC41MTVsMjguMDQzLDQ4LjYzNGMwLjM4NiwwLjY3LDAuMTU2LDEuNTI3LTAuNTE1LDEuOTE2Qzk1LjU4Nyw4NC4wNjQsOTUuMzQ2LDg0LjEyNSw5NS4xMDgsODQuMTI1ICB6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDEuNDAzYy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMUw0Ny4wMTEsMC43MTYgIGMwLjI1MS0wLjQzMywwLjcxNC0wLjcwMSwxLjIxNS0wLjcwMWgxOS4yM2MwLjc3NSwwLDEuNDAyLDAuNjI3LDEuNDAyLDEuNDAyYzAsMC43NzQtMC42MjcsMS40MDEtMS40MDIsMS40MDFINDkuMDM3TDMuODI4LDgxLjMyMSAgaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGggeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBkPSJNNDguODkyLDM0LjA4OSI+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNNzYuOTM4LDg0LjEyNUgxLjQwM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDczLjEwOUw1Ni43NjYsNTAuNTU0ICBjLTAuMzg2LTAuNjctMC4xNTYtMS41MjcsMC41MTUtMS45MTZjMC42NzEtMC4zODYsMS41MjgtMC4xNTYsMS45MTcsMC41MTVsMTguOTU2LDMyLjg3YzAuMjQ5LDAuNDM1LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDNzcuOTAxLDgzLjg1Niw3Ny40MzksODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik0yOC43MDcsMTAwLjAwMUgxMC43NmMtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMWMwLTAuNzc1LDAuNjI3LTEuNDAyLDEuNDAyLTEuNDAyaDE3Ljk0NiAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDJDMzAuMTA4LDk5LjM3NCwyOS40ODEsMTAwLjAwMSwyOC43MDcsMTAwLjAwMXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTc2LjkzOCw4NC4xMjVIMS40MDNjLTAuNTAxLDAtMC45NjQtMC4yNjktMS4yMTMtMC43MDFjLTAuMjUyLTAuNDMzLTAuMjUyLTAuOTY3LTAuMDAzLTEuNDAxbDE4Ljk1NC0zMi44NyAgYzAuMzg5LTAuNjcxLDEuMjQtMC45MDEsMS45MTctMC41MTVjMC42NzEsMC4zODksMC45MDEsMS4yNDYsMC41MTUsMS45MTZMMy44MjgsODEuMzIxaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM3OC4zMzksODMuNDk4LDc3LjcxMiw4NC4xMjUsNzYuOTM4LDg0LjEyNXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwNC4yMzYsMTAwLjAwMUgyOC43MDdjLTAuNzc1LDAtMS40MDItMC42MjctMS40MDItMS40MDFjMC0wLjc3NSwwLjYyNy0xLjQwMiwxLjQwMi0xLjQwMmg3My4xMDRMODQuMDY3LDY2LjQzNCAgYy0wLjM4Ni0wLjY3MS0wLjE1Ni0xLjUyOCwwLjUxNS0xLjkxN2MwLjY3MS0wLjM4MywxLjUyNy0wLjE1OCwxLjkxNiwwLjUxNWwxOC45NTQsMzIuODY3YzAuMjQ5LDAuNDM2LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDMTA1LjIsOTkuNzMyLDEwNC43MzcsMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDIwLjYzM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDU2LjMwNSAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik02Ny40MzIsNjcuNjQ0aC0zNy4zNGMtMC41MDEsMC0wLjk2NC0wLjI2Ni0xLjIxMy0wLjcwMWMtMC4yNTItMC40MzMtMC4yNTItMC45NjctMC4wMDMtMS40MDFsMzcuMzQtNjQuODM5ICBjMC4zODYtMC42NzEsMS4yNC0wLjkwMSwxLjkxNy0wLjUxNWMwLjY3LDAuMzg2LDAuOSwxLjI0MywwLjUxNSwxLjkxN0wzMi41MTcsNjQuODRoMzQuOTE1YzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTY3LjQzMiw2Ny42NDRINDguNTQ0Yy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMWwxOC41MTktMzIuMTU1ICBjMC4zODktMC42NzEsMS4yNC0wLjkwMSwxLjkxNi0wLjUxNWMwLjY3MSwwLjM4NiwwLjksMS4yNDMsMC41MTUsMS45MTdMNTAuOTcsNjQuODRoMTYuNDYyYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwLjc2LDEwMC4wMDFjLTAuNDc5LDAtMC45NDctMC4yNDYtMS4yMDgtMC42OUwwLjE5NSw4My40MzVjLTAuMzk0LTAuNjY4LTAuMTcyLTEuNTI0LDAuNDk2LTEuOTE5ICBjMC42NjUtMC4zOTIsMS41MjUtMC4xNzMsMS45MTksMC40OTVsOS4zNTgsMTUuODc3YzAuMzk0LDAuNjY4LDAuMTcyLDEuNTI3LTAuNDk2LDEuOTE5ICBDMTEuMjQ4LDk5LjkzOCwxMS4wMDQsMTAwLjAwMSwxMC43NiwxMDAuMDAxeiINCiAgICA+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNMTA0LjIzNiwxMDAuMDAxYy0wLjI2LDAtMC41MjEtMC4wNzEtMC43NTMtMC4yMTljLTAuNjUxLTAuNDE2LTAuODQ2LTEuMjgxLTAuNDMtMS45MzZsOS42NDUtMTUuMTU5TDY3LjQ1Nyw0LjIyMyAgTDMxLjMzMiw2Ni45NTZjLTAuMzkyLDAuNjcxLTEuMjQzLDAuODk2LTEuOTE3LDAuNTE1Yy0wLjY3MS0wLjM4Ni0wLjkwMS0xLjI0My0wLjUxNS0xLjkxNmwzNy4zNC02NC44MzkgIGMwLjUwNC0wLjg2NSwxLjkyOC0wLjg2NSwyLjQzMiwwbDQ2Ljg4MSw4MS4zMDdjMC4yNjEsMC40NTEsMC4yNDcsMS4wMTMtMC4wMzIsMS40NTNsLTEwLjEwMywxNS44NzYgIEMxMDUuMTUsOTkuNzcxLDEwNC42OTksMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogIDwvZz4NCjwvc3ZnPg0K",alt:N="",objectFit:w="cover",borderRadius:j=0,borderStyle:u="none",borderColor:A="#00d4ff",shadow:n=!1,shadowColor:c="rgba(0, 212, 255, 0.3)",style:g})=>{const I={borderRadius:j,color:A,boxShadow:n?`0 4px 20px ${c}`:void 0,...g};return e.jsx("div",{className:o(D,C(u)),ref:M,style:I,children:e.jsx("img",{alt:N,className:o(t,i(w)),draggable:!1,height:"100%",src:L,width:"100%"})})};M.Image=c,M.default=c,Object.defineProperty(M,"__esModule",{value:!0})});
2
- //# sourceMappingURL=component.min.js.map
1
+ !function(M,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("react"),require("react/jsx-runtime")):"function"==typeof define&&define.amd?define(["exports","react","react/jsx-runtime"],e):e((M="undefined"!=typeof globalThis?globalThis:M||self).EasyEditorMaterialsImageComponent={},M.React,M.jsxRuntime)}(this,function(M,e,t){"use strict";function o(...M){const e=[];for(const t of M)if(t)if("string"==typeof t||"number"==typeof t)e.push(String(t));else if(Array.isArray(t)){const M=o(...t);M&&e.push(M)}else if("object"==typeof t)for(const[M,o]of Object.entries(t))o&&e.push(M);return e.join(" ")}const L=(M,e,t)=>({type:"group",title:M,setter:{componentName:"CollapseSetter",props:{icon:!1,...t}},items:e});L("基础配置",[{name:"title",title:"标题",setter:"StringSetter",extraProps:{getValue:M=>M.getExtraPropValue("title"),setValue(M,e){M.setExtraPropValue("title",e)}}},{name:"rect",title:"位置尺寸",setter:"RectSetter",extraProps:{getValue:M=>M.getExtraPropValue("$dashboard.rect"),setValue(M,e){M.setExtraPropValue("$dashboard.rect",e)}}},{name:"rotation",title:"旋转角度",setter:{componentName:"SliderSetter",props:{min:0,max:360,suffix:"°"}},extraProps:{defaultValue:0}},{name:"opacity",title:"不透明度",setter:{componentName:"SliderSetter",props:{min:0,max:100,suffix:"%"}},extraProps:{defaultValue:100}},{name:"background",title:"背景颜色",setter:"ColorSetter",extraProps:{defaultValue:"transparent"}}]);const D=[{title:"点击事件",children:[{label:"点击",value:"onClick",description:"鼠标点击时触发"},{label:"双击",value:"onDoubleClick",description:"鼠标双击时触发"}]},{title:"鼠标事件",children:[{label:"鼠标进入",value:"onMouseEnter",description:"鼠标进入时触发"},{label:"鼠标离开",value:"onMouseLeave",description:"鼠标离开时触发"}]}];((M=D)=>{L("事件绑定",[{name:"events",title:"事件",setter:{componentName:"EventSetter",props:{events:M}},extraProps:{label:!1}}])})(),L("高级配置",[{title:"条件渲染",setter:"SwitchSetter",extraProps:{supportVariable:!0,getValue:M=>M.getNode().getExtraPropValue("condition"),setValue(M,e){M.getNode().setExtraProp("condition",e)}}}]);var u="component-module__container___VbZSk",n="component-module__image___22LfU",i="component-module__imageCover___4nw5D",N="component-module__imageContain___qcwy7",r="component-module__imageFill___tNQDt",c="component-module__borderNeon___0oq37",w="component-module__borderGradient___-IDtx",j="component-module__borderTech___MnH27";!function(M,e){void 0===e&&(e={});var t=e.insertAt;if("undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],L=document.createElement("style");L.type="text/css","top"===t&&o.firstChild?o.insertBefore(L,o.firstChild):o.appendChild(L),L.styleSheet?L.styleSheet.cssText=M:L.appendChild(document.createTextNode(M))}}('.component-module__container___VbZSk{align-items:center;display:flex;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.component-module__image___22LfU{display:block;max-height:100%;max-width:100%}.component-module__imageCover___4nw5D{height:100%;object-fit:cover;width:100%}.component-module__imageContain___qcwy7{height:100%;object-fit:contain;width:100%}.component-module__imageFill___tNQDt{height:100%;object-fit:fill;width:100%}.component-module__iconWrapper___LgFH-{align-items:center;display:flex;justify-content:center}.component-module__borderNeon___0oq37{animation:component-module__neonPulse___noJMa 2s ease-in-out infinite;border:2px solid transparent}@keyframes component-module__neonPulse___noJMa{0%,to{box-shadow:0 0 5px currentColor,0 0 10px currentColor,0 0 20px currentColor}50%{box-shadow:0 0 10px currentColor,0 0 20px currentColor,0 0 40px currentColor}}.component-module__borderGradient___-IDtx{background-clip:padding-box;border:2px solid transparent;position:relative}.component-module__borderGradient___-IDtx:before{background:linear-gradient(135deg,var(--border-color-1),var(--border-color-2));border-radius:inherit;content:"";inset:-2px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;position:absolute}.component-module__borderTech___MnH27{border:1px solid rgba(0,200,255,.3);position:relative}.component-module__borderTech___MnH27:after,.component-module__borderTech___MnH27:before{border:2px solid #00d4ff;content:"";height:20px;position:absolute;width:20px}.component-module__borderTech___MnH27:before{border-bottom:none;border-right:none;left:-2px;top:-2px}.component-module__borderTech___MnH27:after{border-left:none;border-top:none;bottom:-2px;right:-2px}');const s=M=>{switch(M){case"cover":return i;case"contain":return N;case"fill":return r;default:return""}},A=M=>{switch(M){case"neon":return c;case"gradient":return w;case"tech":return j;default:return""}},C=({ref:M,src:e="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNzAgNjAiIHdpZHRoPSI3MCIgaGVpZ2h0PSI2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGRlZnMgaWQ9IlN2Z2pzRGVmczEwMDEiPjwvZGVmcz4NCiAgPGcNCiAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjYwNDgwNDY3OTI2Mjc2NTIsMCwwLDAuNjA0ODA0Njc5MjYyNzY1MiwtMC4wMDAwMTg0MDMxMDAyOTc2NjgwNzYsLTAuMDAwNDk0ODEwODgwODczMjQ1OSkiDQogICAgZmlsbD0iI2ZmZiINCiAgPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNOTUuMTA4LDg0LjEyNWMtMC40ODQsMC0wLjk1NS0wLjI1Mi0xLjIxNi0wLjcwMUw2NS44NDksMzQuNzljLTAuMzg2LTAuNjcxLTAuMTU1LTEuNTI4LDAuNTE2LTEuOTE3ICBjMC42NzMtMC4zODYsMS41MjctMC4xNTYsMS45MTYsMC41MTVsMjguMDQzLDQ4LjYzNGMwLjM4NiwwLjY3LDAuMTU2LDEuNTI3LTAuNTE1LDEuOTE2Qzk1LjU4Nyw4NC4wNjQsOTUuMzQ2LDg0LjEyNSw5NS4xMDgsODQuMTI1ICB6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDEuNDAzYy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMUw0Ny4wMTEsMC43MTYgIGMwLjI1MS0wLjQzMywwLjcxNC0wLjcwMSwxLjIxNS0wLjcwMWgxOS4yM2MwLjc3NSwwLDEuNDAyLDAuNjI3LDEuNDAyLDEuNDAyYzAsMC43NzQtMC42MjcsMS40MDEtMS40MDIsMS40MDFINDkuMDM3TDMuODI4LDgxLjMyMSAgaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGggeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBkPSJNNDguODkyLDM0LjA4OSI+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNNzYuOTM4LDg0LjEyNUgxLjQwM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDczLjEwOUw1Ni43NjYsNTAuNTU0ICBjLTAuMzg2LTAuNjctMC4xNTYtMS41MjcsMC41MTUtMS45MTZjMC42NzEtMC4zODYsMS41MjgtMC4xNTYsMS45MTcsMC41MTVsMTguOTU2LDMyLjg3YzAuMjQ5LDAuNDM1LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDNzcuOTAxLDgzLjg1Niw3Ny40MzksODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik0yOC43MDcsMTAwLjAwMUgxMC43NmMtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMWMwLTAuNzc1LDAuNjI3LTEuNDAyLDEuNDAyLTEuNDAyaDE3Ljk0NiAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDJDMzAuMTA4LDk5LjM3NCwyOS40ODEsMTAwLjAwMSwyOC43MDcsMTAwLjAwMXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTc2LjkzOCw4NC4xMjVIMS40MDNjLTAuNTAxLDAtMC45NjQtMC4yNjktMS4yMTMtMC43MDFjLTAuMjUyLTAuNDMzLTAuMjUyLTAuOTY3LTAuMDAzLTEuNDAxbDE4Ljk1NC0zMi44NyAgYzAuMzg5LTAuNjcxLDEuMjQtMC45MDEsMS45MTctMC41MTVjMC42NzEsMC4zODksMC45MDEsMS4yNDYsMC41MTUsMS45MTZMMy44MjgsODEuMzIxaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM3OC4zMzksODMuNDk4LDc3LjcxMiw4NC4xMjUsNzYuOTM4LDg0LjEyNXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwNC4yMzYsMTAwLjAwMUgyOC43MDdjLTAuNzc1LDAtMS40MDItMC42MjctMS40MDItMS40MDFjMC0wLjc3NSwwLjYyNy0xLjQwMiwxLjQwMi0xLjQwMmg3My4xMDRMODQuMDY3LDY2LjQzNCAgYy0wLjM4Ni0wLjY3MS0wLjE1Ni0xLjUyOCwwLjUxNS0xLjkxN2MwLjY3MS0wLjM4MywxLjUyNy0wLjE1OCwxLjkxNiwwLjUxNWwxOC45NTQsMzIuODY3YzAuMjQ5LDAuNDM2LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDMTA1LjIsOTkuNzMyLDEwNC43MzcsMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDIwLjYzM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDU2LjMwNSAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik02Ny40MzIsNjcuNjQ0aC0zNy4zNGMtMC41MDEsMC0wLjk2NC0wLjI2Ni0xLjIxMy0wLjcwMWMtMC4yNTItMC40MzMtMC4yNTItMC45NjctMC4wMDMtMS40MDFsMzcuMzQtNjQuODM5ICBjMC4zODYtMC42NzEsMS4yNC0wLjkwMSwxLjkxNy0wLjUxNWMwLjY3LDAuMzg2LDAuOSwxLjI0MywwLjUxNSwxLjkxN0wzMi41MTcsNjQuODRoMzQuOTE1YzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTY3LjQzMiw2Ny42NDRINDguNTQ0Yy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMWwxOC41MTktMzIuMTU1ICBjMC4zODktMC42NzEsMS4yNC0wLjkwMSwxLjkxNi0wLjUxNWMwLjY3MSwwLjM4NiwwLjksMS4yNDMsMC41MTUsMS45MTdMNTAuOTcsNjQuODRoMTYuNDYyYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwLjc2LDEwMC4wMDFjLTAuNDc5LDAtMC45NDctMC4yNDYtMS4yMDgtMC42OUwwLjE5NSw4My40MzVjLTAuMzk0LTAuNjY4LTAuMTcyLTEuNTI0LDAuNDk2LTEuOTE5ICBjMC42NjUtMC4zOTIsMS41MjUtMC4xNzMsMS45MTksMC40OTVsOS4zNTgsMTUuODc3YzAuMzk0LDAuNjY4LDAuMTcyLDEuNTI3LTAuNDk2LDEuOTE5ICBDMTEuMjQ4LDk5LjkzOCwxMS4wMDQsMTAwLjAwMSwxMC43NiwxMDAuMDAxeiINCiAgICA+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNMTA0LjIzNiwxMDAuMDAxYy0wLjI2LDAtMC41MjEtMC4wNzEtMC43NTMtMC4yMTljLTAuNjUxLTAuNDE2LTAuODQ2LTEuMjgxLTAuNDMtMS45MzZsOS42NDUtMTUuMTU5TDY3LjQ1Nyw0LjIyMyAgTDMxLjMzMiw2Ni45NTZjLTAuMzkyLDAuNjcxLTEuMjQzLDAuODk2LTEuOTE3LDAuNTE1Yy0wLjY3MS0wLjM4Ni0wLjkwMS0xLjI0My0wLjUxNS0xLjkxNmwzNy4zNC02NC44MzkgIGMwLjUwNC0wLjg2NSwxLjkyOC0wLjg2NSwyLjQzMiwwbDQ2Ljg4MSw4MS4zMDdjMC4yNjEsMC40NTEsMC4yNDcsMS4wMTMtMC4wMzIsMS40NTNsLTEwLjEwMywxNS44NzYgIEMxMDUuMTUsOTkuNzcxLDEwNC42OTksMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogIDwvZz4NCjwvc3ZnPg0K",alt:L="",objectFit:D="cover",borderRadius:i=0,borderStyle:N="none",borderColor:r="#00d4ff",shadow:c=!1,shadowColor:w="rgba(0, 212, 255, 0.3)",style:j})=>{const C={borderRadius:i,color:r,boxShadow:c?`0 4px 20px ${w}`:void 0,...j};return t.jsx("div",{className:o(u,A(N)),ref:M,style:C,children:t.jsx("img",{alt:L,className:o(n,s(D)),draggable:!1,height:"100%",src:e,width:"100%"})})};M.Image=C,M.default=C,Object.defineProperty(M,"__esModule",{value:!0})});
package/dist/index.min.js CHANGED
@@ -1,2 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react/jsx-runtime")):"function"==typeof define&&define.amd?define(["exports","react/jsx-runtime"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).EasyEditorMaterialsImage={},e.jsxRuntime)}(this,function(e,t){"use strict";function M(e){var t,o,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e)){var n=e.length;for(t=0;t<n;t++)e[t]&&(o=M(e[t]))&&(r&&(r+=" "),r+=o)}else for(o in e)e[o]&&(r&&(r+=" "),r+=o);return r}function o(...e){return function(){for(var e,t,o=0,r="",n=arguments.length;o<n;o++)(e=arguments[o])&&(t=M(e))&&(r&&(r+=" "),r+=t);return r}(e)}var r="component-module__container___VbZSk",n="component-module__image___22LfU",i="component-module__imageCover___4nw5D",a="component-module__imageContain___qcwy7",s="component-module__imageFill___tNQDt",u="component-module__borderNeon___0oq37",L="component-module__borderGradient___-IDtx",D="component-module__borderTech___MnH27";!function(e,t){void 0===t&&(t={});var M=t.insertAt;if("undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===M&&o.firstChild?o.insertBefore(r,o.firstChild):o.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}('.component-module__container___VbZSk{align-items:center;display:flex;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.component-module__image___22LfU{display:block;max-height:100%;max-width:100%}.component-module__imageCover___4nw5D{height:100%;object-fit:cover;width:100%}.component-module__imageContain___qcwy7{height:100%;object-fit:contain;width:100%}.component-module__imageFill___tNQDt{height:100%;object-fit:fill;width:100%}.component-module__iconWrapper___LgFH-{align-items:center;display:flex;justify-content:center}.component-module__borderNeon___0oq37{animation:component-module__neonPulse___noJMa 2s ease-in-out infinite;border:2px solid transparent}@keyframes component-module__neonPulse___noJMa{0%,to{box-shadow:0 0 5px currentColor,0 0 10px currentColor,0 0 20px currentColor}50%{box-shadow:0 0 10px currentColor,0 0 20px currentColor,0 0 40px currentColor}}.component-module__borderGradient___-IDtx{background-clip:padding-box;border:2px solid transparent;position:relative}.component-module__borderGradient___-IDtx:before{background:linear-gradient(135deg,var(--border-color-1),var(--border-color-2));border-radius:inherit;content:"";inset:-2px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;position:absolute}.component-module__borderTech___MnH27{border:1px solid rgba(0,200,255,.3);position:relative}.component-module__borderTech___MnH27:after,.component-module__borderTech___MnH27:before{border:2px solid #00d4ff;content:"";height:20px;position:absolute;width:20px}.component-module__borderTech___MnH27:before{border-bottom:none;border-right:none;left:-2px;top:-2px}.component-module__borderTech___MnH27:after{border-left:none;border-top:none;bottom:-2px;right:-2px}');const c=e=>{switch(e){case"cover":return i;case"contain":return a;case"fill":return s;default:return""}},N=e=>{switch(e){case"neon":return u;case"gradient":return L;case"tech":return D;default:return""}},w="EasyEditorMaterialsImage";const g={componentName:w,title:"图片",group:"media",devMode:"proCode",npm:{package:"@easy-editor/materials-dashboard-image",version:"0.0.1",globalName:w,componentName:w},snippets:[{title:"普通图片",screenshot:"",schema:{componentName:w,props:{alt:"图片",objectFit:"contain",borderRadius:0},$dashboard:{rect:{width:200,height:180}}}},{title:"圆角图片",screenshot:"",schema:{componentName:w,props:{alt:"圆角图片",objectFit:"contain",borderRadius:100,borderStyle:"tech"},$dashboard:{rect:{width:200,height:200}}}}],configure:{props:[{type:"group",title:"属性",setter:"TabSetter",items:[{type:"group",key:"config",title:"配置",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"id",title:"ID",setter:"NodeIdSetter",extraProps:{label:!1}},{name:"title",title:"标题",setter:"StringSetter",extraProps:{getValue:e=>e.getExtraPropValue("title"),setValue(e,t){e.setExtraPropValue("title",t)}}},{type:"group",title:"基础属性",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"rect",title:"位置尺寸",setter:"RectSetter",extraProps:{getValue:e=>e.getExtraPropValue("$dashboard.rect"),setValue(e,t){e.setExtraPropValue("$dashboard.rect",t)}}}]},{type:"group",title:"内容",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"__upload",title:"上传",setter:{componentName:"UploadSetter",props:{accept:".jpg,.jpeg,.png,.gif,.svg"}},extraProps:{setValue(e,t){if(t){const{base64:M,raw:o}=t;M&&e.parent.setPropValue("src",M),o?.width&&e.parent.setExtraPropValue("$dashboard.rect.width",o.width),o?.height&&e.parent.setExtraPropValue("$dashboard.rect.height",o.height)}else e.parent.clearPropValue("src")}}},{name:"src",title:"图片地址",setter:"StringSetter"},{name:"alt",title:"替代文本",setter:"StringSetter"}]},{type:"group",title:"加载",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"lazyLoad",title:"懒加载",setter:"SwitchSetter",extraProps:{defaultValue:!1}},{name:"lazyLoadThreshold",title:"懒加载阈值",setter:{componentName:"SliderSetter",props:{min:0,max:500,step:50,suffix:"px"}},extraProps:{defaultValue:100}},{name:"placeholder",title:"占位图",setter:"StringSetter"}]},{type:"group",title:"样式",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"objectFit",title:"填充方式",setter:{componentName:"SelectSetter",props:{options:[{label:"覆盖",value:"cover"},{label:"包含",value:"contain"},{label:"填充",value:"fill"},{label:"无",value:"none"}]}},extraProps:{defaultValue:"cover"}},{name:"borderRadius",title:"圆角",setter:"NumberSetter",extraProps:{defaultValue:0}},{name:"borderStyle",title:"边框样式",setter:{componentName:"SelectSetter",props:{options:[{label:"无",value:"none"},{label:"霓虹",value:"neon"},{label:"渐变",value:"gradient"},{label:"科技感",value:"tech"}]}},extraProps:{defaultValue:"none"}},{name:"borderColor",title:"边框颜色",setter:"ColorSetter",extraProps:{defaultValue:"#00d4ff"}},{name:"shadow",title:"启用阴影",setter:"SwitchSetter",extraProps:{defaultValue:!1}},{name:"shadowColor",title:"阴影颜色",setter:"ColorSetter",extraProps:{defaultValue:"rgba(0, 212, 255, 0.3)"}}]}]},{type:"group",key:"data",title:"数据",items:[{name:"dataBinding",title:"数据绑定",setter:"DataBindingSetter"}]},{type:"group",key:"advanced",title:"高级",items:[{name:"condition",title:"显隐控制",setter:"SwitchSetter",extraProps:{defaultValue:!0,supportVariable:!0}}]}]}],component:{},supports:{},advanced:{}}};e.component=({ref:e,src:M="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNzAgNjAiIHdpZHRoPSI3MCIgaGVpZ2h0PSI2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGRlZnMgaWQ9IlN2Z2pzRGVmczEwMDEiPjwvZGVmcz4NCiAgPGcNCiAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjYwNDgwNDY3OTI2Mjc2NTIsMCwwLDAuNjA0ODA0Njc5MjYyNzY1MiwtMC4wMDAwMTg0MDMxMDAyOTc2NjgwNzYsLTAuMDAwNDk0ODEwODgwODczMjQ1OSkiDQogICAgZmlsbD0iI2ZmZiINCiAgPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNOTUuMTA4LDg0LjEyNWMtMC40ODQsMC0wLjk1NS0wLjI1Mi0xLjIxNi0wLjcwMUw2NS44NDksMzQuNzljLTAuMzg2LTAuNjcxLTAuMTU1LTEuNTI4LDAuNTE2LTEuOTE3ICBjMC42NzMtMC4zODYsMS41MjctMC4xNTYsMS45MTYsMC41MTVsMjguMDQzLDQ4LjYzNGMwLjM4NiwwLjY3LDAuMTU2LDEuNTI3LTAuNTE1LDEuOTE2Qzk1LjU4Nyw4NC4wNjQsOTUuMzQ2LDg0LjEyNSw5NS4xMDgsODQuMTI1ICB6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDEuNDAzYy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMUw0Ny4wMTEsMC43MTYgIGMwLjI1MS0wLjQzMywwLjcxNC0wLjcwMSwxLjIxNS0wLjcwMWgxOS4yM2MwLjc3NSwwLDEuNDAyLDAuNjI3LDEuNDAyLDEuNDAyYzAsMC43NzQtMC42MjcsMS40MDEtMS40MDIsMS40MDFINDkuMDM3TDMuODI4LDgxLjMyMSAgaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGggeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBkPSJNNDguODkyLDM0LjA4OSI+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNNzYuOTM4LDg0LjEyNUgxLjQwM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDczLjEwOUw1Ni43NjYsNTAuNTU0ICBjLTAuMzg2LTAuNjctMC4xNTYtMS41MjcsMC41MTUtMS45MTZjMC42NzEtMC4zODYsMS41MjgtMC4xNTYsMS45MTcsMC41MTVsMTguOTU2LDMyLjg3YzAuMjQ5LDAuNDM1LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDNzcuOTAxLDgzLjg1Niw3Ny40MzksODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik0yOC43MDcsMTAwLjAwMUgxMC43NmMtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMWMwLTAuNzc1LDAuNjI3LTEuNDAyLDEuNDAyLTEuNDAyaDE3Ljk0NiAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDJDMzAuMTA4LDk5LjM3NCwyOS40ODEsMTAwLjAwMSwyOC43MDcsMTAwLjAwMXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTc2LjkzOCw4NC4xMjVIMS40MDNjLTAuNTAxLDAtMC45NjQtMC4yNjktMS4yMTMtMC43MDFjLTAuMjUyLTAuNDMzLTAuMjUyLTAuOTY3LTAuMDAzLTEuNDAxbDE4Ljk1NC0zMi44NyAgYzAuMzg5LTAuNjcxLDEuMjQtMC45MDEsMS45MTctMC41MTVjMC42NzEsMC4zODksMC45MDEsMS4yNDYsMC41MTUsMS45MTZMMy44MjgsODEuMzIxaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM3OC4zMzksODMuNDk4LDc3LjcxMiw4NC4xMjUsNzYuOTM4LDg0LjEyNXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwNC4yMzYsMTAwLjAwMUgyOC43MDdjLTAuNzc1LDAtMS40MDItMC42MjctMS40MDItMS40MDFjMC0wLjc3NSwwLjYyNy0xLjQwMiwxLjQwMi0xLjQwMmg3My4xMDRMODQuMDY3LDY2LjQzNCAgYy0wLjM4Ni0wLjY3MS0wLjE1Ni0xLjUyOCwwLjUxNS0xLjkxN2MwLjY3MS0wLjM4MywxLjUyNy0wLjE1OCwxLjkxNiwwLjUxNWwxOC45NTQsMzIuODY3YzAuMjQ5LDAuNDM2LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDMTA1LjIsOTkuNzMyLDEwNC43MzcsMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDIwLjYzM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDU2LjMwNSAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik02Ny40MzIsNjcuNjQ0aC0zNy4zNGMtMC41MDEsMC0wLjk2NC0wLjI2Ni0xLjIxMy0wLjcwMWMtMC4yNTItMC40MzMtMC4yNTItMC45NjctMC4wMDMtMS40MDFsMzcuMzQtNjQuODM5ICBjMC4zODYtMC42NzEsMS4yNC0wLjkwMSwxLjkxNy0wLjUxNWMwLjY3LDAuMzg2LDAuOSwxLjI0MywwLjUxNSwxLjkxN0wzMi41MTcsNjQuODRoMzQuOTE1YzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTY3LjQzMiw2Ny42NDRINDguNTQ0Yy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMWwxOC41MTktMzIuMTU1ICBjMC4zODktMC42NzEsMS4yNC0wLjkwMSwxLjkxNi0wLjUxNWMwLjY3MSwwLjM4NiwwLjksMS4yNDMsMC41MTUsMS45MTdMNTAuOTcsNjQuODRoMTYuNDYyYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwLjc2LDEwMC4wMDFjLTAuNDc5LDAtMC45NDctMC4yNDYtMS4yMDgtMC42OUwwLjE5NSw4My40MzVjLTAuMzk0LTAuNjY4LTAuMTcyLTEuNTI0LDAuNDk2LTEuOTE5ICBjMC42NjUtMC4zOTIsMS41MjUtMC4xNzMsMS45MTksMC40OTVsOS4zNTgsMTUuODc3YzAuMzk0LDAuNjY4LDAuMTcyLDEuNTI3LTAuNDk2LDEuOTE5ICBDMTEuMjQ4LDk5LjkzOCwxMS4wMDQsMTAwLjAwMSwxMC43NiwxMDAuMDAxeiINCiAgICA+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNMTA0LjIzNiwxMDAuMDAxYy0wLjI2LDAtMC41MjEtMC4wNzEtMC43NTMtMC4yMTljLTAuNjUxLTAuNDE2LTAuODQ2LTEuMjgxLTAuNDMtMS45MzZsOS42NDUtMTUuMTU5TDY3LjQ1Nyw0LjIyMyAgTDMxLjMzMiw2Ni45NTZjLTAuMzkyLDAuNjcxLTEuMjQzLDAuODk2LTEuOTE3LDAuNTE1Yy0wLjY3MS0wLjM4Ni0wLjkwMS0xLjI0My0wLjUxNS0xLjkxNmwzNy4zNC02NC44MzkgIGMwLjUwNC0wLjg2NSwxLjkyOC0wLjg2NSwyLjQzMiwwbDQ2Ljg4MSw4MS4zMDdjMC4yNjEsMC40NTEsMC4yNDcsMS4wMTMtMC4wMzIsMS40NTNsLTEwLjEwMywxNS44NzYgIEMxMDUuMTUsOTkuNzcxLDEwNC42OTksMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogIDwvZz4NCjwvc3ZnPg0K",alt:i="",objectFit:a="cover",borderRadius:s=0,borderStyle:u="none",borderColor:L="#00d4ff",shadow:D=!1,shadowColor:w="rgba(0, 212, 255, 0.3)",style:g})=>{const j={borderRadius:s,color:L,boxShadow:D?`0 4px 20px ${w}`:void 0,...g};return t.jsx("div",{className:o(r,N(u)),ref:e,style:j,children:t.jsx("img",{alt:i,className:o(n,c(a)),draggable:!1,height:"100%",src:M,width:"100%"})})},e.meta=g});
2
- //# sourceMappingURL=index.min.js.map
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("react/jsx-runtime")):"function"==typeof define&&define.amd?define(["exports","react","react/jsx-runtime"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).EasyEditorMaterialsImage={},e.React,e.jsxRuntime)}(this,function(e,t,M){"use strict";function o(...e){const t=[];for(const M of e)if(M)if("string"==typeof M||"number"==typeof M)t.push(String(M));else if(Array.isArray(M)){const e=o(...M);e&&t.push(e)}else if("object"==typeof M)for(const[e,o]of Object.entries(M))o&&t.push(e);return t.join(" ")}const r=(e,t,M)=>({type:"group",title:e,setter:{componentName:"CollapseSetter",props:{icon:!1,...M}},items:t}),n={name:"nodeInfo",title:"节点信息",setter:"NodeInfoSetter",extraProps:{label:!1}},i=r("基础配置",[{name:"title",title:"标题",setter:"StringSetter",extraProps:{getValue:e=>e.getExtraPropValue("title"),setValue(e,t){e.setExtraPropValue("title",t)}}},{name:"rect",title:"位置尺寸",setter:"RectSetter",extraProps:{getValue:e=>e.getExtraPropValue("$dashboard.rect"),setValue(e,t){e.setExtraPropValue("$dashboard.rect",t)}}},{name:"rotation",title:"旋转角度",setter:{componentName:"SliderSetter",props:{min:0,max:360,suffix:"°"}},extraProps:{defaultValue:0}},{name:"opacity",title:"不透明度",setter:{componentName:"SliderSetter",props:{min:0,max:100,suffix:"%"}},extraProps:{defaultValue:100}},{name:"background",title:"背景颜色",setter:"ColorSetter",extraProps:{defaultValue:"transparent"}}]),a=[{title:"点击事件",children:[{label:"点击",value:"onClick",description:"鼠标点击时触发"},{label:"双击",value:"onDoubleClick",description:"鼠标双击时触发"}]},{title:"鼠标事件",children:[{label:"鼠标进入",value:"onMouseEnter",description:"鼠标进入时触发"},{label:"鼠标离开",value:"onMouseLeave",description:"鼠标离开时触发"}]}],s=((e=a)=>r("事件绑定",[{name:"events",title:"事件",setter:{componentName:"EventSetter",props:{events:e}},extraProps:{label:!1}}]))(),u=r("高级配置",[{title:"条件渲染",setter:"SwitchSetter",extraProps:{supportVariable:!0,getValue:e=>e.getNode().getExtraPropValue("condition"),setValue(e,t){e.getNode().setExtraProp("condition",t)}}}]);var c="component-module__container___VbZSk",L="component-module__image___22LfU",D="component-module__imageCover___4nw5D",N="component-module__imageContain___qcwy7",l="component-module__imageFill___tNQDt",d="component-module__borderNeon___0oq37",w="component-module__borderGradient___-IDtx",g="component-module__borderTech___MnH27";!function(e,t){void 0===t&&(t={});var M=t.insertAt;if("undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===M&&o.firstChild?o.insertBefore(r,o.firstChild):o.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}('.component-module__container___VbZSk{align-items:center;display:flex;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.component-module__image___22LfU{display:block;max-height:100%;max-width:100%}.component-module__imageCover___4nw5D{height:100%;object-fit:cover;width:100%}.component-module__imageContain___qcwy7{height:100%;object-fit:contain;width:100%}.component-module__imageFill___tNQDt{height:100%;object-fit:fill;width:100%}.component-module__iconWrapper___LgFH-{align-items:center;display:flex;justify-content:center}.component-module__borderNeon___0oq37{animation:component-module__neonPulse___noJMa 2s ease-in-out infinite;border:2px solid transparent}@keyframes component-module__neonPulse___noJMa{0%,to{box-shadow:0 0 5px currentColor,0 0 10px currentColor,0 0 20px currentColor}50%{box-shadow:0 0 10px currentColor,0 0 20px currentColor,0 0 40px currentColor}}.component-module__borderGradient___-IDtx{background-clip:padding-box;border:2px solid transparent;position:relative}.component-module__borderGradient___-IDtx:before{background:linear-gradient(135deg,var(--border-color-1),var(--border-color-2));border-radius:inherit;content:"";inset:-2px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;position:absolute}.component-module__borderTech___MnH27{border:1px solid rgba(0,200,255,.3);position:relative}.component-module__borderTech___MnH27:after,.component-module__borderTech___MnH27:before{border:2px solid #00d4ff;content:"";height:20px;position:absolute;width:20px}.component-module__borderTech___MnH27:before{border-bottom:none;border-right:none;left:-2px;top:-2px}.component-module__borderTech___MnH27:after{border-left:none;border-top:none;bottom:-2px;right:-2px}');const j=e=>{switch(e){case"cover":return D;case"contain":return N;case"fill":return l;default:return""}},A=e=>{switch(e){case"neon":return d;case"gradient":return w;case"tech":return g;default:return""}},C="EasyEditorMaterialsImage",p=(e=>({props:[{type:"group",title:"属性",setter:"TabSetter",items:[{type:"group",key:"config",title:"配置",items:[n,i,e]},{type:"group",key:"advanced",title:"高级",items:[n,s,u]}]}],component:{},supports:{},advanced:{}}))(r("组件配置",[{type:"group",title:"组件配置",setter:"SubTabSetter",items:[{type:"group",key:"content",title:"内容",items:[{name:"__upload",title:"上传",setter:{componentName:"UploadSetter",props:{accept:".jpg,.jpeg,.png,.gif,.svg"}},extraProps:{setValue(e,t){if(t){const{base64:M,raw:o}=t;M&&e.parent.setPropValue("src",M),o?.width&&e.parent.setExtraPropValue("$dashboard.rect.width",o.width),o?.height&&e.parent.setExtraPropValue("$dashboard.rect.height",o.height)}else e.parent.clearPropValue("src")}}},{name:"src",title:"图片地址",setter:"StringSetter"},{name:"alt",title:"替代文本",setter:"StringSetter"}]},{type:"group",key:"loading",title:"加载",items:[{name:"lazyLoad",title:"懒加载",setter:"SwitchSetter",extraProps:{defaultValue:!1}},{name:"lazyLoadThreshold",title:"懒加载阈值",setter:{componentName:"SliderSetter",props:{min:0,max:500,step:50,suffix:"px"}},extraProps:{defaultValue:100}},{name:"placeholder",title:"占位图",setter:"StringSetter"}]},{type:"group",key:"style",title:"样式",items:[{name:"objectFit",title:"填充方式",setter:{componentName:"SelectSetter",props:{options:[{label:"覆盖",value:"cover"},{label:"包含",value:"contain"},{label:"填充",value:"fill"},{label:"无",value:"none"}]}},extraProps:{defaultValue:"cover"}},{name:"borderRadius",title:"圆角",setter:"NumberSetter",extraProps:{defaultValue:0}},{name:"borderStyle",title:"边框样式",setter:{componentName:"SelectSetter",props:{options:[{label:"无",value:"none"},{label:"霓虹",value:"neon"},{label:"渐变",value:"gradient"},{label:"科技感",value:"tech"}]}},extraProps:{defaultValue:"none"}},{name:"borderColor",title:"边框颜色",setter:"ColorSetter",extraProps:{defaultValue:"#00d4ff"}},{name:"shadow",title:"启用阴影",setter:"SwitchSetter",extraProps:{defaultValue:!1}},{name:"shadowColor",title:"阴影颜色",setter:"ColorSetter",extraProps:{defaultValue:"rgba(0, 212, 255, 0.3)"}}]}]}],{padding:"6px 16px 12px"}));const I={componentName:C,title:"图片",group:"media",devMode:"proCode",npm:{package:"@easy-editor/materials-dashboard-image",version:"0.0.3",globalName:C,componentName:C},snippets:[{title:"普通图片",screenshot:"",schema:{componentName:C,title:"普通图片",props:{alt:"图片",objectFit:"contain",borderRadius:0,rotation:0,opacity:100,background:"transparent"},$dashboard:{rect:{width:200,height:180}}}},{title:"圆角图片",screenshot:"",schema:{componentName:C,title:"圆角图片",props:{alt:"圆角图片",objectFit:"contain",borderRadius:100,borderStyle:"tech",rotation:0,opacity:100,background:"transparent"},$dashboard:{rect:{width:200,height:200}}}}],configure:p};e.component=({ref:e,src:t="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNzAgNjAiIHdpZHRoPSI3MCIgaGVpZ2h0PSI2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGRlZnMgaWQ9IlN2Z2pzRGVmczEwMDEiPjwvZGVmcz4NCiAgPGcNCiAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjYwNDgwNDY3OTI2Mjc2NTIsMCwwLDAuNjA0ODA0Njc5MjYyNzY1MiwtMC4wMDAwMTg0MDMxMDAyOTc2NjgwNzYsLTAuMDAwNDk0ODEwODgwODczMjQ1OSkiDQogICAgZmlsbD0iI2ZmZiINCiAgPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNOTUuMTA4LDg0LjEyNWMtMC40ODQsMC0wLjk1NS0wLjI1Mi0xLjIxNi0wLjcwMUw2NS44NDksMzQuNzljLTAuMzg2LTAuNjcxLTAuMTU1LTEuNTI4LDAuNTE2LTEuOTE3ICBjMC42NzMtMC4zODYsMS41MjctMC4xNTYsMS45MTYsMC41MTVsMjguMDQzLDQ4LjYzNGMwLjM4NiwwLjY3LDAuMTU2LDEuNTI3LTAuNTE1LDEuOTE2Qzk1LjU4Nyw4NC4wNjQsOTUuMzQ2LDg0LjEyNSw5NS4xMDgsODQuMTI1ICB6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDEuNDAzYy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMUw0Ny4wMTEsMC43MTYgIGMwLjI1MS0wLjQzMywwLjcxNC0wLjcwMSwxLjIxNS0wLjcwMWgxOS4yM2MwLjc3NSwwLDEuNDAyLDAuNjI3LDEuNDAyLDEuNDAyYzAsMC43NzQtMC42MjcsMS40MDEtMS40MDIsMS40MDFINDkuMDM3TDMuODI4LDgxLjMyMSAgaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGggeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBkPSJNNDguODkyLDM0LjA4OSI+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNNzYuOTM4LDg0LjEyNUgxLjQwM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDczLjEwOUw1Ni43NjYsNTAuNTU0ICBjLTAuMzg2LTAuNjctMC4xNTYtMS41MjcsMC41MTUtMS45MTZjMC42NzEtMC4zODYsMS41MjgtMC4xNTYsMS45MTcsMC41MTVsMTguOTU2LDMyLjg3YzAuMjQ5LDAuNDM1LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDNzcuOTAxLDgzLjg1Niw3Ny40MzksODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik0yOC43MDcsMTAwLjAwMUgxMC43NmMtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMWMwLTAuNzc1LDAuNjI3LTEuNDAyLDEuNDAyLTEuNDAyaDE3Ljk0NiAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDJDMzAuMTA4LDk5LjM3NCwyOS40ODEsMTAwLjAwMSwyOC43MDcsMTAwLjAwMXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTc2LjkzOCw4NC4xMjVIMS40MDNjLTAuNTAxLDAtMC45NjQtMC4yNjktMS4yMTMtMC43MDFjLTAuMjUyLTAuNDMzLTAuMjUyLTAuOTY3LTAuMDAzLTEuNDAxbDE4Ljk1NC0zMi44NyAgYzAuMzg5LTAuNjcxLDEuMjQtMC45MDEsMS45MTctMC41MTVjMC42NzEsMC4zODksMC45MDEsMS4yNDYsMC41MTUsMS45MTZMMy44MjgsODEuMzIxaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM3OC4zMzksODMuNDk4LDc3LjcxMiw4NC4xMjUsNzYuOTM4LDg0LjEyNXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwNC4yMzYsMTAwLjAwMUgyOC43MDdjLTAuNzc1LDAtMS40MDItMC42MjctMS40MDItMS40MDFjMC0wLjc3NSwwLjYyNy0xLjQwMiwxLjQwMi0xLjQwMmg3My4xMDRMODQuMDY3LDY2LjQzNCAgYy0wLjM4Ni0wLjY3MS0wLjE1Ni0xLjUyOCwwLjUxNS0xLjkxN2MwLjY3MS0wLjM4MywxLjUyNy0wLjE1OCwxLjkxNiwwLjUxNWwxOC45NTQsMzIuODY3YzAuMjQ5LDAuNDM2LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDMTA1LjIsOTkuNzMyLDEwNC43MzcsMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDIwLjYzM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDU2LjMwNSAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik02Ny40MzIsNjcuNjQ0aC0zNy4zNGMtMC41MDEsMC0wLjk2NC0wLjI2Ni0xLjIxMy0wLjcwMWMtMC4yNTItMC40MzMtMC4yNTItMC45NjctMC4wMDMtMS40MDFsMzcuMzQtNjQuODM5ICBjMC4zODYtMC42NzEsMS4yNC0wLjkwMSwxLjkxNy0wLjUxNWMwLjY3LDAuMzg2LDAuOSwxLjI0MywwLjUxNSwxLjkxN0wzMi41MTcsNjQuODRoMzQuOTE1YzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTY3LjQzMiw2Ny42NDRINDguNTQ0Yy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMWwxOC41MTktMzIuMTU1ICBjMC4zODktMC42NzEsMS4yNC0wLjkwMSwxLjkxNi0wLjUxNWMwLjY3MSwwLjM4NiwwLjksMS4yNDMsMC41MTUsMS45MTdMNTAuOTcsNjQuODRoMTYuNDYyYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwLjc2LDEwMC4wMDFjLTAuNDc5LDAtMC45NDctMC4yNDYtMS4yMDgtMC42OUwwLjE5NSw4My40MzVjLTAuMzk0LTAuNjY4LTAuMTcyLTEuNTI0LDAuNDk2LTEuOTE5ICBjMC42NjUtMC4zOTIsMS41MjUtMC4xNzMsMS45MTksMC40OTVsOS4zNTgsMTUuODc3YzAuMzk0LDAuNjY4LDAuMTcyLDEuNTI3LTAuNDk2LDEuOTE5ICBDMTEuMjQ4LDk5LjkzOCwxMS4wMDQsMTAwLjAwMSwxMC43NiwxMDAuMDAxeiINCiAgICA+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNMTA0LjIzNiwxMDAuMDAxYy0wLjI2LDAtMC41MjEtMC4wNzEtMC43NTMtMC4yMTljLTAuNjUxLTAuNDE2LTAuODQ2LTEuMjgxLTAuNDMtMS45MzZsOS42NDUtMTUuMTU5TDY3LjQ1Nyw0LjIyMyAgTDMxLjMzMiw2Ni45NTZjLTAuMzkyLDAuNjcxLTEuMjQzLDAuODk2LTEuOTE3LDAuNTE1Yy0wLjY3MS0wLjM4Ni0wLjkwMS0xLjI0My0wLjUxNS0xLjkxNmwzNy4zNC02NC44MzkgIGMwLjUwNC0wLjg2NSwxLjkyOC0wLjg2NSwyLjQzMiwwbDQ2Ljg4MSw4MS4zMDdjMC4yNjEsMC40NTEsMC4yNDcsMS4wMTMtMC4wMzIsMS40NTNsLTEwLjEwMywxNS44NzYgIEMxMDUuMTUsOTkuNzcxLDEwNC42OTksMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogIDwvZz4NCjwvc3ZnPg0K",alt:r="",objectFit:n="cover",borderRadius:i=0,borderStyle:a="none",borderColor:s="#00d4ff",shadow:u=!1,shadowColor:D="rgba(0, 212, 255, 0.3)",style:N})=>{const l={borderRadius:i,color:s,boxShadow:u?`0 4px 20px ${D}`:void 0,...N};return M.jsx("div",{className:o(c,A(a)),ref:e,style:l,children:M.jsx("img",{alt:r,className:o(L,j(n)),draggable:!1,height:"100%",src:t,width:"100%"})})},e.meta=I});
package/dist/meta.min.js CHANGED
@@ -1,2 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).EasyEditorMaterialsImageMeta={})}(this,function(e){"use strict";const t="EasyEditorMaterialsImage";const a={componentName:t,title:"图片",group:"media",devMode:"proCode",npm:{package:"@easy-editor/materials-dashboard-image",version:"0.0.1",globalName:t,componentName:t},snippets:[{title:"普通图片",screenshot:"",schema:{componentName:t,props:{alt:"图片",objectFit:"contain",borderRadius:0},$dashboard:{rect:{width:200,height:180}}}},{title:"圆角图片",screenshot:"",schema:{componentName:t,props:{alt:"圆角图片",objectFit:"contain",borderRadius:100,borderStyle:"tech"},$dashboard:{rect:{width:200,height:200}}}}],configure:{props:[{type:"group",title:"属性",setter:"TabSetter",items:[{type:"group",key:"config",title:"配置",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"id",title:"ID",setter:"NodeIdSetter",extraProps:{label:!1}},{name:"title",title:"标题",setter:"StringSetter",extraProps:{getValue:e=>e.getExtraPropValue("title"),setValue(e,t){e.setExtraPropValue("title",t)}}},{type:"group",title:"基础属性",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"rect",title:"位置尺寸",setter:"RectSetter",extraProps:{getValue:e=>e.getExtraPropValue("$dashboard.rect"),setValue(e,t){e.setExtraPropValue("$dashboard.rect",t)}}}]},{type:"group",title:"内容",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"__upload",title:"上传",setter:{componentName:"UploadSetter",props:{accept:".jpg,.jpeg,.png,.gif,.svg"}},extraProps:{setValue(e,t){if(t){const{base64:a,raw:r}=t;a&&e.parent.setPropValue("src",a),r?.width&&e.parent.setExtraPropValue("$dashboard.rect.width",r.width),r?.height&&e.parent.setExtraPropValue("$dashboard.rect.height",r.height)}else e.parent.clearPropValue("src")}}},{name:"src",title:"图片地址",setter:"StringSetter"},{name:"alt",title:"替代文本",setter:"StringSetter"}]},{type:"group",title:"加载",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"lazyLoad",title:"懒加载",setter:"SwitchSetter",extraProps:{defaultValue:!1}},{name:"lazyLoadThreshold",title:"懒加载阈值",setter:{componentName:"SliderSetter",props:{min:0,max:500,step:50,suffix:"px"}},extraProps:{defaultValue:100}},{name:"placeholder",title:"占位图",setter:"StringSetter"}]},{type:"group",title:"样式",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"objectFit",title:"填充方式",setter:{componentName:"SelectSetter",props:{options:[{label:"覆盖",value:"cover"},{label:"包含",value:"contain"},{label:"填充",value:"fill"},{label:"无",value:"none"}]}},extraProps:{defaultValue:"cover"}},{name:"borderRadius",title:"圆角",setter:"NumberSetter",extraProps:{defaultValue:0}},{name:"borderStyle",title:"边框样式",setter:{componentName:"SelectSetter",props:{options:[{label:"无",value:"none"},{label:"霓虹",value:"neon"},{label:"渐变",value:"gradient"},{label:"科技感",value:"tech"}]}},extraProps:{defaultValue:"none"}},{name:"borderColor",title:"边框颜色",setter:"ColorSetter",extraProps:{defaultValue:"#00d4ff"}},{name:"shadow",title:"启用阴影",setter:"SwitchSetter",extraProps:{defaultValue:!1}},{name:"shadowColor",title:"阴影颜色",setter:"ColorSetter",extraProps:{defaultValue:"rgba(0, 212, 255, 0.3)"}}]}]},{type:"group",key:"data",title:"数据",items:[{name:"dataBinding",title:"数据绑定",setter:"DataBindingSetter"}]},{type:"group",key:"advanced",title:"高级",items:[{name:"condition",title:"显隐控制",setter:"SwitchSetter",extraProps:{defaultValue:!0,supportVariable:!0}}]}]}],component:{},supports:{},advanced:{}}};e.default=a,e.meta=a,Object.defineProperty(e,"__esModule",{value:!0})});
2
- //# sourceMappingURL=meta.min.js.map
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).EasyEditorMaterialsImageMeta={})}(this,function(e){"use strict";const t=(e,t,a)=>({type:"group",title:e,setter:{componentName:"CollapseSetter",props:{icon:!1,...a}},items:t}),a={name:"nodeInfo",title:"节点信息",setter:"NodeInfoSetter",extraProps:{label:!1}},r=t("基础配置",[{name:"title",title:"标题",setter:"StringSetter",extraProps:{getValue:e=>e.getExtraPropValue("title"),setValue(e,t){e.setExtraPropValue("title",t)}}},{name:"rect",title:"位置尺寸",setter:"RectSetter",extraProps:{getValue:e=>e.getExtraPropValue("$dashboard.rect"),setValue(e,t){e.setExtraPropValue("$dashboard.rect",t)}}},{name:"rotation",title:"旋转角度",setter:{componentName:"SliderSetter",props:{min:0,max:360,suffix:"°"}},extraProps:{defaultValue:0}},{name:"opacity",title:"不透明度",setter:{componentName:"SliderSetter",props:{min:0,max:100,suffix:"%"}},extraProps:{defaultValue:100}},{name:"background",title:"背景颜色",setter:"ColorSetter",extraProps:{defaultValue:"transparent"}}]),o=[{title:"点击事件",children:[{label:"点击",value:"onClick",description:"鼠标点击时触发"},{label:"双击",value:"onDoubleClick",description:"鼠标双击时触发"}]},{title:"鼠标事件",children:[{label:"鼠标进入",value:"onMouseEnter",description:"鼠标进入时触发"},{label:"鼠标离开",value:"onMouseLeave",description:"鼠标离开时触发"}]}],l=((e=o)=>t("事件绑定",[{name:"events",title:"事件",setter:{componentName:"EventSetter",props:{events:e}},extraProps:{label:!1}}]))(),i=t("高级配置",[{title:"条件渲染",setter:"SwitchSetter",extraProps:{supportVariable:!0,getValue:e=>e.getNode().getExtraPropValue("condition"),setValue(e,t){e.getNode().setExtraProp("condition",t)}}}]),n="EasyEditorMaterialsImage",s=(e=>({props:[{type:"group",title:"属性",setter:"TabSetter",items:[{type:"group",key:"config",title:"配置",items:[a,r,e]},{type:"group",key:"advanced",title:"高级",items:[a,l,i]}]}],component:{},supports:{},advanced:{}}))(t("组件配置",[{type:"group",title:"组件配置",setter:"SubTabSetter",items:[{type:"group",key:"content",title:"内容",items:[{name:"__upload",title:"上传",setter:{componentName:"UploadSetter",props:{accept:".jpg,.jpeg,.png,.gif,.svg"}},extraProps:{setValue(e,t){if(t){const{base64:a,raw:r}=t;a&&e.parent.setPropValue("src",a),r?.width&&e.parent.setExtraPropValue("$dashboard.rect.width",r.width),r?.height&&e.parent.setExtraPropValue("$dashboard.rect.height",r.height)}else e.parent.clearPropValue("src")}}},{name:"src",title:"图片地址",setter:"StringSetter"},{name:"alt",title:"替代文本",setter:"StringSetter"}]},{type:"group",key:"loading",title:"加载",items:[{name:"lazyLoad",title:"懒加载",setter:"SwitchSetter",extraProps:{defaultValue:!1}},{name:"lazyLoadThreshold",title:"懒加载阈值",setter:{componentName:"SliderSetter",props:{min:0,max:500,step:50,suffix:"px"}},extraProps:{defaultValue:100}},{name:"placeholder",title:"占位图",setter:"StringSetter"}]},{type:"group",key:"style",title:"样式",items:[{name:"objectFit",title:"填充方式",setter:{componentName:"SelectSetter",props:{options:[{label:"覆盖",value:"cover"},{label:"包含",value:"contain"},{label:"填充",value:"fill"},{label:"无",value:"none"}]}},extraProps:{defaultValue:"cover"}},{name:"borderRadius",title:"圆角",setter:"NumberSetter",extraProps:{defaultValue:0}},{name:"borderStyle",title:"边框样式",setter:{componentName:"SelectSetter",props:{options:[{label:"无",value:"none"},{label:"霓虹",value:"neon"},{label:"渐变",value:"gradient"},{label:"科技感",value:"tech"}]}},extraProps:{defaultValue:"none"}},{name:"borderColor",title:"边框颜色",setter:"ColorSetter",extraProps:{defaultValue:"#00d4ff"}},{name:"shadow",title:"启用阴影",setter:"SwitchSetter",extraProps:{defaultValue:!1}},{name:"shadowColor",title:"阴影颜色",setter:"ColorSetter",extraProps:{defaultValue:"rgba(0, 212, 255, 0.3)"}}]}]}],{padding:"6px 16px 12px"}));const p={componentName:n,title:"图片",group:"media",devMode:"proCode",npm:{package:"@easy-editor/materials-dashboard-image",version:"0.0.3",globalName:n,componentName:n},snippets:[{title:"普通图片",screenshot:"",schema:{componentName:n,title:"普通图片",props:{alt:"图片",objectFit:"contain",borderRadius:0,rotation:0,opacity:100,background:"transparent"},$dashboard:{rect:{width:200,height:180}}}},{title:"圆角图片",screenshot:"",schema:{componentName:n,title:"圆角图片",props:{alt:"圆角图片",objectFit:"contain",borderRadius:100,borderStyle:"tech",rotation:0,opacity:100,background:"transparent"},$dashboard:{rect:{width:200,height:200}}}}],configure:s};e.meta=p});
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @easy-editor/easypack configuration
3
+ * @type {import('@easy-editor/easypack').EasypackConfig}
4
+ */
5
+ export default {
6
+ preset: 'material',
7
+ dev: {
8
+ port: 5001,
9
+ },
10
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easy-editor/materials-dashboard-image",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "Image component for EasyEditor dashboard",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -48,19 +48,15 @@
48
48
  },
49
49
  "dependencies": {
50
50
  "lucide-react": "^0.513.0",
51
- "@easy-editor/materials-shared": "0.0.0"
51
+ "@easy-editor/materials-shared": "0.0.1"
52
52
  },
53
53
  "scripts": {
54
- "dev": "vite",
54
+ "dev": "easypack dev",
55
55
  "format": "biome format --write .",
56
56
  "lint": "biome check .",
57
57
  "build": "npm-run-all -nl build:*",
58
58
  "build:clean": "rimraf dist/",
59
- "build:js": "rollup -c",
60
- "build:types": "pnpm types",
61
- "types": "npm-run-all -nl types:*",
62
- "types:src": "tsc --project tsconfig.build.json",
63
- "test-types": "tsc --project tsconfig.test.json"
59
+ "build:js": "easypack build"
64
60
  },
65
61
  "module": "dist/index.esm.js",
66
62
  "unpkg": "dist/index.min.js"
package/src/component.tsx CHANGED
@@ -1,99 +1,98 @@
1
- /**
2
- * Image Component
3
- * 图片/图标/边框装饰组件
4
- */
5
-
6
- import type { CSSProperties, Ref } from 'react'
7
- import { cn } from '@easy-editor/materials-shared'
8
- import styles from './component.module.css'
9
-
10
- export type ObjectFit = 'cover' | 'contain' | 'fill' | 'none'
11
- export type BorderStyle = 'none' | 'neon' | 'gradient' | 'tech'
12
- export type DisplayMode = 'image' | 'icon'
13
-
14
- export interface ImageProps {
15
- ref?: Ref<HTMLDivElement>
16
- /** 图片地址 */
17
- src?: string
18
- /** 图片描述 */
19
- alt?: string
20
- /** 图片填充方式 */
21
- objectFit?: ObjectFit
22
- /** 圆角 */
23
- borderRadius?: number
24
- /** 边框样式 */
25
- borderStyle?: BorderStyle
26
- /** 边框颜色(霓虹/科技感边框) */
27
- borderColor?: string
28
- /** 阴影 */
29
- shadow?: boolean
30
- /** 阴影颜色 */
31
- shadowColor?: string
32
- /** 外部样式 */
33
- style?: CSSProperties
34
- }
35
-
36
- const DEFAULT_IMAGE =
37
- 'data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNzAgNjAiIHdpZHRoPSI3MCIgaGVpZ2h0PSI2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGRlZnMgaWQ9IlN2Z2pzRGVmczEwMDEiPjwvZGVmcz4NCiAgPGcNCiAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjYwNDgwNDY3OTI2Mjc2NTIsMCwwLDAuNjA0ODA0Njc5MjYyNzY1MiwtMC4wMDAwMTg0MDMxMDAyOTc2NjgwNzYsLTAuMDAwNDk0ODEwODgwODczMjQ1OSkiDQogICAgZmlsbD0iI2ZmZiINCiAgPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNOTUuMTA4LDg0LjEyNWMtMC40ODQsMC0wLjk1NS0wLjI1Mi0xLjIxNi0wLjcwMUw2NS44NDksMzQuNzljLTAuMzg2LTAuNjcxLTAuMTU1LTEuNTI4LDAuNTE2LTEuOTE3ICBjMC42NzMtMC4zODYsMS41MjctMC4xNTYsMS45MTYsMC41MTVsMjguMDQzLDQ4LjYzNGMwLjM4NiwwLjY3LDAuMTU2LDEuNTI3LTAuNTE1LDEuOTE2Qzk1LjU4Nyw4NC4wNjQsOTUuMzQ2LDg0LjEyNSw5NS4xMDgsODQuMTI1ICB6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDEuNDAzYy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMUw0Ny4wMTEsMC43MTYgIGMwLjI1MS0wLjQzMywwLjcxNC0wLjcwMSwxLjIxNS0wLjcwMWgxOS4yM2MwLjc3NSwwLDEuNDAyLDAuNjI3LDEuNDAyLDEuNDAyYzAsMC43NzQtMC42MjcsMS40MDEtMS40MDIsMS40MDFINDkuMDM3TDMuODI4LDgxLjMyMSAgaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGggeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBkPSJNNDguODkyLDM0LjA4OSI+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNNzYuOTM4LDg0LjEyNUgxLjQwM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDczLjEwOUw1Ni43NjYsNTAuNTU0ICBjLTAuMzg2LTAuNjctMC4xNTYtMS41MjcsMC41MTUtMS45MTZjMC42NzEtMC4zODYsMS41MjgtMC4xNTYsMS45MTcsMC41MTVsMTguOTU2LDMyLjg3YzAuMjQ5LDAuNDM1LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDNzcuOTAxLDgzLjg1Niw3Ny40MzksODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik0yOC43MDcsMTAwLjAwMUgxMC43NmMtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMWMwLTAuNzc1LDAuNjI3LTEuNDAyLDEuNDAyLTEuNDAyaDE3Ljk0NiAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDJDMzAuMTA4LDk5LjM3NCwyOS40ODEsMTAwLjAwMSwyOC43MDcsMTAwLjAwMXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTc2LjkzOCw4NC4xMjVIMS40MDNjLTAuNTAxLDAtMC45NjQtMC4yNjktMS4yMTMtMC43MDFjLTAuMjUyLTAuNDMzLTAuMjUyLTAuOTY3LTAuMDAzLTEuNDAxbDE4Ljk1NC0zMi44NyAgYzAuMzg5LTAuNjcxLDEuMjQtMC45MDEsMS45MTctMC41MTVjMC42NzEsMC4zODksMC45MDEsMS4yNDYsMC41MTUsMS45MTZMMy44MjgsODEuMzIxaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM3OC4zMzksODMuNDk4LDc3LjcxMiw4NC4xMjUsNzYuOTM4LDg0LjEyNXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwNC4yMzYsMTAwLjAwMUgyOC43MDdjLTAuNzc1LDAtMS40MDItMC42MjctMS40MDItMS40MDFjMC0wLjc3NSwwLjYyNy0xLjQwMiwxLjQwMi0xLjQwMmg3My4xMDRMODQuMDY3LDY2LjQzNCAgYy0wLjM4Ni0wLjY3MS0wLjE1Ni0xLjUyOCwwLjUxNS0xLjkxN2MwLjY3MS0wLjM4MywxLjUyNy0wLjE1OCwxLjkxNiwwLjUxNWwxOC45NTQsMzIuODY3YzAuMjQ5LDAuNDM2LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDMTA1LjIsOTkuNzMyLDEwNC43MzcsMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDIwLjYzM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDU2LjMwNSAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik02Ny40MzIsNjcuNjQ0aC0zNy4zNGMtMC41MDEsMC0wLjk2NC0wLjI2Ni0xLjIxMy0wLjcwMWMtMC4yNTItMC40MzMtMC4yNTItMC45NjctMC4wMDMtMS40MDFsMzcuMzQtNjQuODM5ICBjMC4zODYtMC42NzEsMS4yNC0wLjkwMSwxLjkxNy0wLjUxNWMwLjY3LDAuMzg2LDAuOSwxLjI0MywwLjUxNSwxLjkxN0wzMi41MTcsNjQuODRoMzQuOTE1YzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTY3LjQzMiw2Ny42NDRINDguNTQ0Yy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMWwxOC41MTktMzIuMTU1ICBjMC4zODktMC42NzEsMS4yNC0wLjkwMSwxLjkxNi0wLjUxNWMwLjY3MSwwLjM4NiwwLjksMS4yNDMsMC41MTUsMS45MTdMNTAuOTcsNjQuODRoMTYuNDYyYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwLjc2LDEwMC4wMDFjLTAuNDc5LDAtMC45NDctMC4yNDYtMS4yMDgtMC42OUwwLjE5NSw4My40MzVjLTAuMzk0LTAuNjY4LTAuMTcyLTEuNTI0LDAuNDk2LTEuOTE5ICBjMC42NjUtMC4zOTIsMS41MjUtMC4xNzMsMS45MTksMC40OTVsOS4zNTgsMTUuODc3YzAuMzk0LDAuNjY4LDAuMTcyLDEuNTI3LTAuNDk2LDEuOTE5ICBDMTEuMjQ4LDk5LjkzOCwxMS4wMDQsMTAwLjAwMSwxMC43NiwxMDAuMDAxeiINCiAgICA+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNMTA0LjIzNiwxMDAuMDAxYy0wLjI2LDAtMC41MjEtMC4wNzEtMC43NTMtMC4yMTljLTAuNjUxLTAuNDE2LTAuODQ2LTEuMjgxLTAuNDMtMS45MzZsOS42NDUtMTUuMTU5TDY3LjQ1Nyw0LjIyMyAgTDMxLjMzMiw2Ni45NTZjLTAuMzkyLDAuNjcxLTEuMjQzLDAuODk2LTEuOTE3LDAuNTE1Yy0wLjY3MS0wLjM4Ni0wLjkwMS0xLjI0My0wLjUxNS0xLjkxNmwzNy4zNC02NC44MzkgIGMwLjUwNC0wLjg2NSwxLjkyOC0wLjg2NSwyLjQzMiwwbDQ2Ljg4MSw4MS4zMDdjMC4yNjEsMC40NTEsMC4yNDcsMS4wMTMtMC4wMzIsMS40NTNsLTEwLjEwMywxNS44NzYgIEMxMDUuMTUsOTkuNzcxLDEwNC42OTksMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogIDwvZz4NCjwvc3ZnPg0K'
38
-
39
- const getObjectFitClass = (fit: ObjectFit): string => {
40
- switch (fit) {
41
- case 'cover':
42
- return styles.imageCover
43
- case 'contain':
44
- return styles.imageContain
45
- case 'fill':
46
- return styles.imageFill
47
- default:
48
- return ''
49
- }
50
- }
51
-
52
- const getBorderClass = (borderStyle: BorderStyle): string => {
53
- switch (borderStyle) {
54
- case 'neon':
55
- return styles.borderNeon
56
- case 'gradient':
57
- return styles.borderGradient
58
- case 'tech':
59
- return styles.borderTech
60
- default:
61
- return ''
62
- }
63
- }
64
-
65
- export const Image: React.FC<ImageProps> = ({
66
- ref,
67
- src = DEFAULT_IMAGE,
68
- alt = '',
69
- objectFit = 'cover',
70
- borderRadius = 0,
71
- borderStyle = 'none',
72
- borderColor = '#00d4ff',
73
- shadow = false,
74
- shadowColor = 'rgba(0, 212, 255, 0.3)',
75
- style: externalStyle,
76
- }) => {
77
- const containerStyle: CSSProperties = {
78
- borderRadius,
79
- color: borderColor,
80
- boxShadow: shadow ? `0 4px 20px ${shadowColor}` : undefined,
81
- ...externalStyle,
82
- } as CSSProperties
83
-
84
- // 图片模式
85
- return (
86
- <div className={cn(styles.container, getBorderClass(borderStyle))} ref={ref} style={containerStyle}>
87
- <img
88
- alt={alt}
89
- className={cn(styles.image, getObjectFitClass(objectFit))}
90
- draggable={false}
91
- height='100%'
92
- src={src}
93
- width='100%'
94
- />
95
- </div>
96
- )
97
- }
98
-
99
- export default Image
1
+ /**
2
+ * Image Component
3
+ * 图片/图标/边框装饰组件
4
+ */
5
+
6
+ import type { CSSProperties } from 'react'
7
+ import { cn, type MaterialComponet } from '@easy-editor/materials-shared'
8
+ import styles from './component.module.css'
9
+
10
+ export type ObjectFit = 'cover' | 'contain' | 'fill' | 'none'
11
+ export type BorderStyle = 'none' | 'neon' | 'gradient' | 'tech'
12
+ export type DisplayMode = 'image' | 'icon'
13
+
14
+ export interface ImageProps extends MaterialComponet {
15
+ /** 图片地址 */
16
+ src?: string
17
+ /** 图片描述 */
18
+ alt?: string
19
+ /** 图片填充方式 */
20
+ objectFit?: ObjectFit
21
+ /** 圆角 */
22
+ borderRadius?: number
23
+ /** 边框样式 */
24
+ borderStyle?: BorderStyle
25
+ /** 边框颜色(霓虹/科技感边框) */
26
+ borderColor?: string
27
+ /** 阴影 */
28
+ shadow?: boolean
29
+ /** 阴影颜色 */
30
+ shadowColor?: string
31
+ /** 外部样式 */
32
+ style?: CSSProperties
33
+ }
34
+
35
+ const DEFAULT_IMAGE =
36
+ 'data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNzAgNjAiIHdpZHRoPSI3MCIgaGVpZ2h0PSI2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGRlZnMgaWQ9IlN2Z2pzRGVmczEwMDEiPjwvZGVmcz4NCiAgPGcNCiAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjYwNDgwNDY3OTI2Mjc2NTIsMCwwLDAuNjA0ODA0Njc5MjYyNzY1MiwtMC4wMDAwMTg0MDMxMDAyOTc2NjgwNzYsLTAuMDAwNDk0ODEwODgwODczMjQ1OSkiDQogICAgZmlsbD0iI2ZmZiINCiAgPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNOTUuMTA4LDg0LjEyNWMtMC40ODQsMC0wLjk1NS0wLjI1Mi0xLjIxNi0wLjcwMUw2NS44NDksMzQuNzljLTAuMzg2LTAuNjcxLTAuMTU1LTEuNTI4LDAuNTE2LTEuOTE3ICBjMC42NzMtMC4zODYsMS41MjctMC4xNTYsMS45MTYsMC41MTVsMjguMDQzLDQ4LjYzNGMwLjM4NiwwLjY3LDAuMTU2LDEuNTI3LTAuNTE1LDEuOTE2Qzk1LjU4Nyw4NC4wNjQsOTUuMzQ2LDg0LjEyNSw5NS4xMDgsODQuMTI1ICB6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDEuNDAzYy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMUw0Ny4wMTEsMC43MTYgIGMwLjI1MS0wLjQzMywwLjcxNC0wLjcwMSwxLjIxNS0wLjcwMWgxOS4yM2MwLjc3NSwwLDEuNDAyLDAuNjI3LDEuNDAyLDEuNDAyYzAsMC43NzQtMC42MjcsMS40MDEtMS40MDIsMS40MDFINDkuMDM3TDMuODI4LDgxLjMyMSAgaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGggeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBkPSJNNDguODkyLDM0LjA4OSI+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNNzYuOTM4LDg0LjEyNUgxLjQwM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDczLjEwOUw1Ni43NjYsNTAuNTU0ICBjLTAuMzg2LTAuNjctMC4xNTYtMS41MjcsMC41MTUtMS45MTZjMC42NzEtMC4zODYsMS41MjgtMC4xNTYsMS45MTcsMC41MTVsMTguOTU2LDMyLjg3YzAuMjQ5LDAuNDM1LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDNzcuOTAxLDgzLjg1Niw3Ny40MzksODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik0yOC43MDcsMTAwLjAwMUgxMC43NmMtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMWMwLTAuNzc1LDAuNjI3LTEuNDAyLDEuNDAyLTEuNDAyaDE3Ljk0NiAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDJDMzAuMTA4LDk5LjM3NCwyOS40ODEsMTAwLjAwMSwyOC43MDcsMTAwLjAwMXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTc2LjkzOCw4NC4xMjVIMS40MDNjLTAuNTAxLDAtMC45NjQtMC4yNjktMS4yMTMtMC43MDFjLTAuMjUyLTAuNDMzLTAuMjUyLTAuOTY3LTAuMDAzLTEuNDAxbDE4Ljk1NC0zMi44NyAgYzAuMzg5LTAuNjcxLDEuMjQtMC45MDEsMS45MTctMC41MTVjMC42NzEsMC4zODksMC45MDEsMS4yNDYsMC41MTUsMS45MTZMMy44MjgsODEuMzIxaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM3OC4zMzksODMuNDk4LDc3LjcxMiw4NC4xMjUsNzYuOTM4LDg0LjEyNXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwNC4yMzYsMTAwLjAwMUgyOC43MDdjLTAuNzc1LDAtMS40MDItMC42MjctMS40MDItMS40MDFjMC0wLjc3NSwwLjYyNy0xLjQwMiwxLjQwMi0xLjQwMmg3My4xMDRMODQuMDY3LDY2LjQzNCAgYy0wLjM4Ni0wLjY3MS0wLjE1Ni0xLjUyOCwwLjUxNS0xLjkxN2MwLjY3MS0wLjM4MywxLjUyNy0wLjE1OCwxLjkxNiwwLjUxNWwxOC45NTQsMzIuODY3YzAuMjQ5LDAuNDM2LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDMTA1LjIsOTkuNzMyLDEwNC43MzcsMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDIwLjYzM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDU2LjMwNSAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik02Ny40MzIsNjcuNjQ0aC0zNy4zNGMtMC41MDEsMC0wLjk2NC0wLjI2Ni0xLjIxMy0wLjcwMWMtMC4yNTItMC40MzMtMC4yNTItMC45NjctMC4wMDMtMS40MDFsMzcuMzQtNjQuODM5ICBjMC4zODYtMC42NzEsMS4yNC0wLjkwMSwxLjkxNy0wLjUxNWMwLjY3LDAuMzg2LDAuOSwxLjI0MywwLjUxNSwxLjkxN0wzMi41MTcsNjQuODRoMzQuOTE1YzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTY3LjQzMiw2Ny42NDRINDguNTQ0Yy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMWwxOC41MTktMzIuMTU1ICBjMC4zODktMC42NzEsMS4yNC0wLjkwMSwxLjkxNi0wLjUxNWMwLjY3MSwwLjM4NiwwLjksMS4yNDMsMC41MTUsMS45MTdMNTAuOTcsNjQuODRoMTYuNDYyYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwLjc2LDEwMC4wMDFjLTAuNDc5LDAtMC45NDctMC4yNDYtMS4yMDgtMC42OUwwLjE5NSw4My40MzVjLTAuMzk0LTAuNjY4LTAuMTcyLTEuNTI0LDAuNDk2LTEuOTE5ICBjMC42NjUtMC4zOTIsMS41MjUtMC4xNzMsMS45MTksMC40OTVsOS4zNTgsMTUuODc3YzAuMzk0LDAuNjY4LDAuMTcyLDEuNTI3LTAuNDk2LDEuOTE5ICBDMTEuMjQ4LDk5LjkzOCwxMS4wMDQsMTAwLjAwMSwxMC43NiwxMDAuMDAxeiINCiAgICA+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNMTA0LjIzNiwxMDAuMDAxYy0wLjI2LDAtMC41MjEtMC4wNzEtMC43NTMtMC4yMTljLTAuNjUxLTAuNDE2LTAuODQ2LTEuMjgxLTAuNDMtMS45MzZsOS42NDUtMTUuMTU5TDY3LjQ1Nyw0LjIyMyAgTDMxLjMzMiw2Ni45NTZjLTAuMzkyLDAuNjcxLTEuMjQzLDAuODk2LTEuOTE3LDAuNTE1Yy0wLjY3MS0wLjM4Ni0wLjkwMS0xLjI0My0wLjUxNS0xLjkxNmwzNy4zNC02NC44MzkgIGMwLjUwNC0wLjg2NSwxLjkyOC0wLjg2NSwyLjQzMiwwbDQ2Ljg4MSw4MS4zMDdjMC4yNjEsMC40NTEsMC4yNDcsMS4wMTMtMC4wMzIsMS40NTNsLTEwLjEwMywxNS44NzYgIEMxMDUuMTUsOTkuNzcxLDEwNC42OTksMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogIDwvZz4NCjwvc3ZnPg0K'
37
+
38
+ const getObjectFitClass = (fit: ObjectFit): string => {
39
+ switch (fit) {
40
+ case 'cover':
41
+ return styles.imageCover
42
+ case 'contain':
43
+ return styles.imageContain
44
+ case 'fill':
45
+ return styles.imageFill
46
+ default:
47
+ return ''
48
+ }
49
+ }
50
+
51
+ const getBorderClass = (borderStyle: BorderStyle): string => {
52
+ switch (borderStyle) {
53
+ case 'neon':
54
+ return styles.borderNeon
55
+ case 'gradient':
56
+ return styles.borderGradient
57
+ case 'tech':
58
+ return styles.borderTech
59
+ default:
60
+ return ''
61
+ }
62
+ }
63
+
64
+ export const Image: React.FC<ImageProps> = ({
65
+ ref,
66
+ src = DEFAULT_IMAGE,
67
+ alt = '',
68
+ objectFit = 'cover',
69
+ borderRadius = 0,
70
+ borderStyle = 'none',
71
+ borderColor = '#00d4ff',
72
+ shadow = false,
73
+ shadowColor = 'rgba(0, 212, 255, 0.3)',
74
+ style: externalStyle,
75
+ }) => {
76
+ const containerStyle: CSSProperties = {
77
+ borderRadius,
78
+ color: borderColor,
79
+ boxShadow: shadow ? `0 4px 20px ${shadowColor}` : undefined,
80
+ ...externalStyle,
81
+ } as CSSProperties
82
+
83
+ // 图片模式
84
+ return (
85
+ <div className={cn(styles.container, getBorderClass(borderStyle))} ref={ref} style={containerStyle}>
86
+ <img
87
+ alt={alt}
88
+ className={cn(styles.image, getObjectFitClass(objectFit))}
89
+ draggable={false}
90
+ height='100%'
91
+ src={src}
92
+ width='100%'
93
+ />
94
+ </div>
95
+ )
96
+ }
97
+
98
+ export default Image