@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/dist/component.js DELETED
@@ -1,114 +0,0 @@
1
- /* @easy-editor/materials-dashboard-image v0.0.1 (component) */
2
- (function (global, factory) {
3
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react/jsx-runtime')) :
4
- typeof define === 'function' && define.amd ? define(['exports', 'react/jsx-runtime'], factory) :
5
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.EasyEditorMaterialsImageComponent = {}, global.jsxRuntime));
6
- })(this, (function (exports, jsxRuntime) { 'use strict';
7
-
8
- function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
9
-
10
- function cn(...inputs) {
11
- return clsx(inputs);
12
- }
13
-
14
- function styleInject(css, ref) {
15
- if (ref === void 0) ref = {};
16
- var insertAt = ref.insertAt;
17
- if (typeof document === 'undefined') {
18
- return;
19
- }
20
- var head = document.head || document.getElementsByTagName('head')[0];
21
- var style = document.createElement('style');
22
- style.type = 'text/css';
23
- if (insertAt === 'top') {
24
- if (head.firstChild) {
25
- head.insertBefore(style, head.firstChild);
26
- } else {
27
- head.appendChild(style);
28
- }
29
- } else {
30
- head.appendChild(style);
31
- }
32
- if (style.styleSheet) {
33
- style.styleSheet.cssText = css;
34
- } else {
35
- style.appendChild(document.createTextNode(css));
36
- }
37
- }
38
-
39
- var css_248z = ".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}";
40
- var styles = {"container":"component-module__container___VbZSk","image":"component-module__image___22LfU","imageCover":"component-module__imageCover___4nw5D","imageContain":"component-module__imageContain___qcwy7","imageFill":"component-module__imageFill___tNQDt","borderNeon":"component-module__borderNeon___0oq37","borderGradient":"component-module__borderGradient___-IDtx","borderTech":"component-module__borderTech___MnH27"};
41
- styleInject(css_248z);
42
-
43
- /**
44
- * Image Component
45
- * 图片/图标/边框装饰组件
46
- */
47
-
48
- const DEFAULT_IMAGE = 'data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNzAgNjAiIHdpZHRoPSI3MCIgaGVpZ2h0PSI2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGRlZnMgaWQ9IlN2Z2pzRGVmczEwMDEiPjwvZGVmcz4NCiAgPGcNCiAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjYwNDgwNDY3OTI2Mjc2NTIsMCwwLDAuNjA0ODA0Njc5MjYyNzY1MiwtMC4wMDAwMTg0MDMxMDAyOTc2NjgwNzYsLTAuMDAwNDk0ODEwODgwODczMjQ1OSkiDQogICAgZmlsbD0iI2ZmZiINCiAgPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNOTUuMTA4LDg0LjEyNWMtMC40ODQsMC0wLjk1NS0wLjI1Mi0xLjIxNi0wLjcwMUw2NS44NDksMzQuNzljLTAuMzg2LTAuNjcxLTAuMTU1LTEuNTI4LDAuNTE2LTEuOTE3ICBjMC42NzMtMC4zODYsMS41MjctMC4xNTYsMS45MTYsMC41MTVsMjguMDQzLDQ4LjYzNGMwLjM4NiwwLjY3LDAuMTU2LDEuNTI3LTAuNTE1LDEuOTE2Qzk1LjU4Nyw4NC4wNjQsOTUuMzQ2LDg0LjEyNSw5NS4xMDgsODQuMTI1ICB6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDEuNDAzYy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMUw0Ny4wMTEsMC43MTYgIGMwLjI1MS0wLjQzMywwLjcxNC0wLjcwMSwxLjIxNS0wLjcwMWgxOS4yM2MwLjc3NSwwLDEuNDAyLDAuNjI3LDEuNDAyLDEuNDAyYzAsMC43NzQtMC42MjcsMS40MDEtMS40MDIsMS40MDFINDkuMDM3TDMuODI4LDgxLjMyMSAgaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGggeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBkPSJNNDguODkyLDM0LjA4OSI+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNNzYuOTM4LDg0LjEyNUgxLjQwM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDczLjEwOUw1Ni43NjYsNTAuNTU0ICBjLTAuMzg2LTAuNjctMC4xNTYtMS41MjcsMC41MTUtMS45MTZjMC42NzEtMC4zODYsMS41MjgtMC4xNTYsMS45MTcsMC41MTVsMTguOTU2LDMyLjg3YzAuMjQ5LDAuNDM1LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDNzcuOTAxLDgzLjg1Niw3Ny40MzksODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik0yOC43MDcsMTAwLjAwMUgxMC43NmMtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMWMwLTAuNzc1LDAuNjI3LTEuNDAyLDEuNDAyLTEuNDAyaDE3Ljk0NiAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDJDMzAuMTA4LDk5LjM3NCwyOS40ODEsMTAwLjAwMSwyOC43MDcsMTAwLjAwMXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTc2LjkzOCw4NC4xMjVIMS40MDNjLTAuNTAxLDAtMC45NjQtMC4yNjktMS4yMTMtMC43MDFjLTAuMjUyLTAuNDMzLTAuMjUyLTAuOTY3LTAuMDAzLTEuNDAxbDE4Ljk1NC0zMi44NyAgYzAuMzg5LTAuNjcxLDEuMjQtMC45MDEsMS45MTctMC41MTVjMC42NzEsMC4zODksMC45MDEsMS4yNDYsMC41MTUsMS45MTZMMy44MjgsODEuMzIxaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM3OC4zMzksODMuNDk4LDc3LjcxMiw4NC4xMjUsNzYuOTM4LDg0LjEyNXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwNC4yMzYsMTAwLjAwMUgyOC43MDdjLTAuNzc1LDAtMS40MDItMC42MjctMS40MDItMS40MDFjMC0wLjc3NSwwLjYyNy0xLjQwMiwxLjQwMi0xLjQwMmg3My4xMDRMODQuMDY3LDY2LjQzNCAgYy0wLjM4Ni0wLjY3MS0wLjE1Ni0xLjUyOCwwLjUxNS0xLjkxN2MwLjY3MS0wLjM4MywxLjUyNy0wLjE1OCwxLjkxNiwwLjUxNWwxOC45NTQsMzIuODY3YzAuMjQ5LDAuNDM2LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDMTA1LjIsOTkuNzMyLDEwNC43MzcsMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDIwLjYzM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDU2LjMwNSAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik02Ny40MzIsNjcuNjQ0aC0zNy4zNGMtMC41MDEsMC0wLjk2NC0wLjI2Ni0xLjIxMy0wLjcwMWMtMC4yNTItMC40MzMtMC4yNTItMC45NjctMC4wMDMtMS40MDFsMzcuMzQtNjQuODM5ICBjMC4zODYtMC42NzEsMS4yNC0wLjkwMSwxLjkxNy0wLjUxNWMwLjY3LDAuMzg2LDAuOSwxLjI0MywwLjUxNSwxLjkxN0wzMi41MTcsNjQuODRoMzQuOTE1YzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTY3LjQzMiw2Ny42NDRINDguNTQ0Yy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMWwxOC41MTktMzIuMTU1ICBjMC4zODktMC42NzEsMS4yNC0wLjkwMSwxLjkxNi0wLjUxNWMwLjY3MSwwLjM4NiwwLjksMS4yNDMsMC41MTUsMS45MTdMNTAuOTcsNjQuODRoMTYuNDYyYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwLjc2LDEwMC4wMDFjLTAuNDc5LDAtMC45NDctMC4yNDYtMS4yMDgtMC42OUwwLjE5NSw4My40MzVjLTAuMzk0LTAuNjY4LTAuMTcyLTEuNTI0LDAuNDk2LTEuOTE5ICBjMC42NjUtMC4zOTIsMS41MjUtMC4xNzMsMS45MTksMC40OTVsOS4zNTgsMTUuODc3YzAuMzk0LDAuNjY4LDAuMTcyLDEuNTI3LTAuNDk2LDEuOTE5ICBDMTEuMjQ4LDk5LjkzOCwxMS4wMDQsMTAwLjAwMSwxMC43NiwxMDAuMDAxeiINCiAgICA+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNMTA0LjIzNiwxMDAuMDAxYy0wLjI2LDAtMC41MjEtMC4wNzEtMC43NTMtMC4yMTljLTAuNjUxLTAuNDE2LTAuODQ2LTEuMjgxLTAuNDMtMS45MzZsOS42NDUtMTUuMTU5TDY3LjQ1Nyw0LjIyMyAgTDMxLjMzMiw2Ni45NTZjLTAuMzkyLDAuNjcxLTEuMjQzLDAuODk2LTEuOTE3LDAuNTE1Yy0wLjY3MS0wLjM4Ni0wLjkwMS0xLjI0My0wLjUxNS0xLjkxNmwzNy4zNC02NC44MzkgIGMwLjUwNC0wLjg2NSwxLjkyOC0wLjg2NSwyLjQzMiwwbDQ2Ljg4MSw4MS4zMDdjMC4yNjEsMC40NTEsMC4yNDcsMS4wMTMtMC4wMzIsMS40NTNsLTEwLjEwMywxNS44NzYgIEMxMDUuMTUsOTkuNzcxLDEwNC42OTksMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogIDwvZz4NCjwvc3ZnPg0K';
49
- const getObjectFitClass = fit => {
50
- switch (fit) {
51
- case 'cover':
52
- return styles.imageCover;
53
- case 'contain':
54
- return styles.imageContain;
55
- case 'fill':
56
- return styles.imageFill;
57
- default:
58
- return '';
59
- }
60
- };
61
- const getBorderClass = borderStyle => {
62
- switch (borderStyle) {
63
- case 'neon':
64
- return styles.borderNeon;
65
- case 'gradient':
66
- return styles.borderGradient;
67
- case 'tech':
68
- return styles.borderTech;
69
- default:
70
- return '';
71
- }
72
- };
73
- const Image = ({
74
- ref,
75
- src = DEFAULT_IMAGE,
76
- alt = '',
77
- objectFit = 'cover',
78
- borderRadius = 0,
79
- borderStyle = 'none',
80
- borderColor = '#00d4ff',
81
- shadow = false,
82
- shadowColor = 'rgba(0, 212, 255, 0.3)',
83
- style: externalStyle
84
- }) => {
85
- const containerStyle = {
86
- borderRadius,
87
- color: borderColor,
88
- boxShadow: shadow ? `0 4px 20px ${shadowColor}` : undefined,
89
- ...externalStyle
90
- };
91
-
92
- // 图片模式
93
- return /*#__PURE__*/jsxRuntime.jsx("div", {
94
- className: cn(styles.container, getBorderClass(borderStyle)),
95
- ref: ref,
96
- style: containerStyle,
97
- children: /*#__PURE__*/jsxRuntime.jsx("img", {
98
- alt: alt,
99
- className: cn(styles.image, getObjectFitClass(objectFit)),
100
- draggable: false,
101
- height: "100%",
102
- src: src,
103
- width: "100%"
104
- })
105
- });
106
- };
107
-
108
- exports.Image = Image;
109
- exports.default = Image;
110
-
111
- Object.defineProperty(exports, '__esModule', { value: true });
112
-
113
- }));
114
- //# sourceMappingURL=component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","sources":["../../../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../../../../shared/src/lib/utils.ts","../../../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js","../src/component.tsx"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { clsx, type ClassValue } from 'clsx'\n\nexport function cn(...inputs: ClassValue[]) {\n return clsx(inputs)\n}\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","/**\n * Image Component\n * 图片/图标/边框装饰组件\n */\n\nimport type { CSSProperties, Ref } from 'react'\nimport { cn } from '@easy-editor/materials-shared'\nimport styles from './component.module.css'\n\nexport type ObjectFit = 'cover' | 'contain' | 'fill' | 'none'\nexport type BorderStyle = 'none' | 'neon' | 'gradient' | 'tech'\nexport type DisplayMode = 'image' | 'icon'\n\nexport interface ImageProps {\n ref?: Ref<HTMLDivElement>\n /** 图片地址 */\n src?: string\n /** 图片描述 */\n alt?: string\n /** 图片填充方式 */\n objectFit?: ObjectFit\n /** 圆角 */\n borderRadius?: number\n /** 边框样式 */\n borderStyle?: BorderStyle\n /** 边框颜色(霓虹/科技感边框) */\n borderColor?: string\n /** 阴影 */\n shadow?: boolean\n /** 阴影颜色 */\n shadowColor?: string\n /** 外部样式 */\n style?: CSSProperties\n}\n\nconst DEFAULT_IMAGE =\n 'data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNzAgNjAiIHdpZHRoPSI3MCIgaGVpZ2h0PSI2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGRlZnMgaWQ9IlN2Z2pzRGVmczEwMDEiPjwvZGVmcz4NCiAgPGcNCiAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjYwNDgwNDY3OTI2Mjc2NTIsMCwwLDAuNjA0ODA0Njc5MjYyNzY1MiwtMC4wMDAwMTg0MDMxMDAyOTc2NjgwNzYsLTAuMDAwNDk0ODEwODgwODczMjQ1OSkiDQogICAgZmlsbD0iI2ZmZiINCiAgPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNOTUuMTA4LDg0LjEyNWMtMC40ODQsMC0wLjk1NS0wLjI1Mi0xLjIxNi0wLjcwMUw2NS44NDksMzQuNzljLTAuMzg2LTAuNjcxLTAuMTU1LTEuNTI4LDAuNTE2LTEuOTE3ICBjMC42NzMtMC4zODYsMS41MjctMC4xNTYsMS45MTYsMC41MTVsMjguMDQzLDQ4LjYzNGMwLjM4NiwwLjY3LDAuMTU2LDEuNTI3LTAuNTE1LDEuOTE2Qzk1LjU4Nyw4NC4wNjQsOTUuMzQ2LDg0LjEyNSw5NS4xMDgsODQuMTI1ICB6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDEuNDAzYy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMUw0Ny4wMTEsMC43MTYgIGMwLjI1MS0wLjQzMywwLjcxNC0wLjcwMSwxLjIxNS0wLjcwMWgxOS4yM2MwLjc3NSwwLDEuNDAyLDAuNjI3LDEuNDAyLDEuNDAyYzAsMC43NzQtMC42MjcsMS40MDEtMS40MDIsMS40MDFINDkuMDM3TDMuODI4LDgxLjMyMSAgaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGggeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBkPSJNNDguODkyLDM0LjA4OSI+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNNzYuOTM4LDg0LjEyNUgxLjQwM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDczLjEwOUw1Ni43NjYsNTAuNTU0ICBjLTAuMzg2LTAuNjctMC4xNTYtMS41MjcsMC41MTUtMS45MTZjMC42NzEtMC4zODYsMS41MjgtMC4xNTYsMS45MTcsMC41MTVsMTguOTU2LDMyLjg3YzAuMjQ5LDAuNDM1LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDNzcuOTAxLDgzLjg1Niw3Ny40MzksODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik0yOC43MDcsMTAwLjAwMUgxMC43NmMtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMWMwLTAuNzc1LDAuNjI3LTEuNDAyLDEuNDAyLTEuNDAyaDE3Ljk0NiAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDJDMzAuMTA4LDk5LjM3NCwyOS40ODEsMTAwLjAwMSwyOC43MDcsMTAwLjAwMXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTc2LjkzOCw4NC4xMjVIMS40MDNjLTAuNTAxLDAtMC45NjQtMC4yNjktMS4yMTMtMC43MDFjLTAuMjUyLTAuNDMzLTAuMjUyLTAuOTY3LTAuMDAzLTEuNDAxbDE4Ljk1NC0zMi44NyAgYzAuMzg5LTAuNjcxLDEuMjQtMC45MDEsMS45MTctMC41MTVjMC42NzEsMC4zODksMC45MDEsMS4yNDYsMC41MTUsMS45MTZMMy44MjgsODEuMzIxaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM3OC4zMzksODMuNDk4LDc3LjcxMiw4NC4xMjUsNzYuOTM4LDg0LjEyNXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwNC4yMzYsMTAwLjAwMUgyOC43MDdjLTAuNzc1LDAtMS40MDItMC42MjctMS40MDItMS40MDFjMC0wLjc3NSwwLjYyNy0xLjQwMiwxLjQwMi0xLjQwMmg3My4xMDRMODQuMDY3LDY2LjQzNCAgYy0wLjM4Ni0wLjY3MS0wLjE1Ni0xLjUyOCwwLjUxNS0xLjkxN2MwLjY3MS0wLjM4MywxLjUyNy0wLjE1OCwxLjkxNiwwLjUxNWwxOC45NTQsMzIuODY3YzAuMjQ5LDAuNDM2LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDMTA1LjIsOTkuNzMyLDEwNC43MzcsMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDIwLjYzM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDU2LjMwNSAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik02Ny40MzIsNjcuNjQ0aC0zNy4zNGMtMC41MDEsMC0wLjk2NC0wLjI2Ni0xLjIxMy0wLjcwMWMtMC4yNTItMC40MzMtMC4yNTItMC45NjctMC4wMDMtMS40MDFsMzcuMzQtNjQuODM5ICBjMC4zODYtMC42NzEsMS4yNC0wLjkwMSwxLjkxNy0wLjUxNWMwLjY3LDAuMzg2LDAuOSwxLjI0MywwLjUxNSwxLjkxN0wzMi41MTcsNjQuODRoMzQuOTE1YzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTY3LjQzMiw2Ny42NDRINDguNTQ0Yy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMWwxOC41MTktMzIuMTU1ICBjMC4zODktMC42NzEsMS4yNC0wLjkwMSwxLjkxNi0wLjUxNWMwLjY3MSwwLjM4NiwwLjksMS4yNDMsMC41MTUsMS45MTdMNTAuOTcsNjQuODRoMTYuNDYyYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwLjc2LDEwMC4wMDFjLTAuNDc5LDAtMC45NDctMC4yNDYtMS4yMDgtMC42OUwwLjE5NSw4My40MzVjLTAuMzk0LTAuNjY4LTAuMTcyLTEuNTI0LDAuNDk2LTEuOTE5ICBjMC42NjUtMC4zOTIsMS41MjUtMC4xNzMsMS45MTksMC40OTVsOS4zNTgsMTUuODc3YzAuMzk0LDAuNjY4LDAuMTcyLDEuNTI3LTAuNDk2LDEuOTE5ICBDMTEuMjQ4LDk5LjkzOCwxMS4wMDQsMTAwLjAwMSwxMC43NiwxMDAuMDAxeiINCiAgICA+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNMTA0LjIzNiwxMDAuMDAxYy0wLjI2LDAtMC41MjEtMC4wNzEtMC43NTMtMC4yMTljLTAuNjUxLTAuNDE2LTAuODQ2LTEuMjgxLTAuNDMtMS45MzZsOS42NDUtMTUuMTU5TDY3LjQ1Nyw0LjIyMyAgTDMxLjMzMiw2Ni45NTZjLTAuMzkyLDAuNjcxLTEuMjQzLDAuODk2LTEuOTE3LDAuNTE1Yy0wLjY3MS0wLjM4Ni0wLjkwMS0xLjI0My0wLjUxNS0xLjkxNmwzNy4zNC02NC44MzkgIGMwLjUwNC0wLjg2NSwxLjkyOC0wLjg2NSwyLjQzMiwwbDQ2Ljg4MSw4MS4zMDdjMC4yNjEsMC40NTEsMC4yNDcsMS4wMTMtMC4wMzIsMS40NTNsLTEwLjEwMywxNS44NzYgIEMxMDUuMTUsOTkuNzcxLDEwNC42OTksMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogIDwvZz4NCjwvc3ZnPg0K'\n\nconst getObjectFitClass = (fit: ObjectFit): string => {\n switch (fit) {\n case 'cover':\n return styles.imageCover\n case 'contain':\n return styles.imageContain\n case 'fill':\n return styles.imageFill\n default:\n return ''\n }\n}\n\nconst getBorderClass = (borderStyle: BorderStyle): string => {\n switch (borderStyle) {\n case 'neon':\n return styles.borderNeon\n case 'gradient':\n return styles.borderGradient\n case 'tech':\n return styles.borderTech\n default:\n return ''\n }\n}\n\nexport const Image: React.FC<ImageProps> = ({\n ref,\n src = DEFAULT_IMAGE,\n alt = '',\n objectFit = 'cover',\n borderRadius = 0,\n borderStyle = 'none',\n borderColor = '#00d4ff',\n shadow = false,\n shadowColor = 'rgba(0, 212, 255, 0.3)',\n style: externalStyle,\n}) => {\n const containerStyle: CSSProperties = {\n borderRadius,\n color: borderColor,\n boxShadow: shadow ? `0 4px 20px ${shadowColor}` : undefined,\n ...externalStyle,\n } as CSSProperties\n\n // 图片模式\n return (\n <div className={cn(styles.container, getBorderClass(borderStyle))} ref={ref} style={containerStyle}>\n <img\n alt={alt}\n className={cn(styles.image, getObjectFitClass(objectFit))}\n draggable={false}\n height='100%'\n src={src}\n width='100%'\n />\n </div>\n )\n}\n\nexport default Image\n"],"names":["cn","inputs","clsx","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","DEFAULT_IMAGE","getObjectFitClass","fit","styles","imageCover","imageContain","imageFill","getBorderClass","borderStyle","borderNeon","borderGradient","borderTech","Image","src","alt","objectFit","borderRadius","borderColor","shadow","shadowColor","externalStyle","containerStyle","color","boxShadow","undefined","_jsx","className","container","children","image","draggable","height","width"],"mappings":"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","x_google_ignoreList":[0,2]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.min.js","sources":["../../../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../../../../shared/src/lib/utils.ts","../../../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js","../src/component.tsx"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { clsx, type ClassValue } from 'clsx'\n\nexport function cn(...inputs: ClassValue[]) {\n return clsx(inputs)\n}\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","/**\n * Image Component\n * 图片/图标/边框装饰组件\n */\n\nimport type { CSSProperties, Ref } from 'react'\nimport { cn } from '@easy-editor/materials-shared'\nimport styles from './component.module.css'\n\nexport type ObjectFit = 'cover' | 'contain' | 'fill' | 'none'\nexport type BorderStyle = 'none' | 'neon' | 'gradient' | 'tech'\nexport type DisplayMode = 'image' | 'icon'\n\nexport interface ImageProps {\n ref?: Ref<HTMLDivElement>\n /** 图片地址 */\n src?: string\n /** 图片描述 */\n alt?: string\n /** 图片填充方式 */\n objectFit?: ObjectFit\n /** 圆角 */\n borderRadius?: number\n /** 边框样式 */\n borderStyle?: BorderStyle\n /** 边框颜色(霓虹/科技感边框) */\n borderColor?: string\n /** 阴影 */\n shadow?: boolean\n /** 阴影颜色 */\n shadowColor?: string\n /** 外部样式 */\n style?: CSSProperties\n}\n\nconst DEFAULT_IMAGE =\n 'data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNzAgNjAiIHdpZHRoPSI3MCIgaGVpZ2h0PSI2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGRlZnMgaWQ9IlN2Z2pzRGVmczEwMDEiPjwvZGVmcz4NCiAgPGcNCiAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjYwNDgwNDY3OTI2Mjc2NTIsMCwwLDAuNjA0ODA0Njc5MjYyNzY1MiwtMC4wMDAwMTg0MDMxMDAyOTc2NjgwNzYsLTAuMDAwNDk0ODEwODgwODczMjQ1OSkiDQogICAgZmlsbD0iI2ZmZiINCiAgPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNOTUuMTA4LDg0LjEyNWMtMC40ODQsMC0wLjk1NS0wLjI1Mi0xLjIxNi0wLjcwMUw2NS44NDksMzQuNzljLTAuMzg2LTAuNjcxLTAuMTU1LTEuNTI4LDAuNTE2LTEuOTE3ICBjMC42NzMtMC4zODYsMS41MjctMC4xNTYsMS45MTYsMC41MTVsMjguMDQzLDQ4LjYzNGMwLjM4NiwwLjY3LDAuMTU2LDEuNTI3LTAuNTE1LDEuOTE2Qzk1LjU4Nyw4NC4wNjQsOTUuMzQ2LDg0LjEyNSw5NS4xMDgsODQuMTI1ICB6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDEuNDAzYy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMUw0Ny4wMTEsMC43MTYgIGMwLjI1MS0wLjQzMywwLjcxNC0wLjcwMSwxLjIxNS0wLjcwMWgxOS4yM2MwLjc3NSwwLDEuNDAyLDAuNjI3LDEuNDAyLDEuNDAyYzAsMC43NzQtMC42MjcsMS40MDEtMS40MDIsMS40MDFINDkuMDM3TDMuODI4LDgxLjMyMSAgaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGggeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBkPSJNNDguODkyLDM0LjA4OSI+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNNzYuOTM4LDg0LjEyNUgxLjQwM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDczLjEwOUw1Ni43NjYsNTAuNTU0ICBjLTAuMzg2LTAuNjctMC4xNTYtMS41MjcsMC41MTUtMS45MTZjMC42NzEtMC4zODYsMS41MjgtMC4xNTYsMS45MTcsMC41MTVsMTguOTU2LDMyLjg3YzAuMjQ5LDAuNDM1LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDNzcuOTAxLDgzLjg1Niw3Ny40MzksODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik0yOC43MDcsMTAwLjAwMUgxMC43NmMtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMWMwLTAuNzc1LDAuNjI3LTEuNDAyLDEuNDAyLTEuNDAyaDE3Ljk0NiAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDJDMzAuMTA4LDk5LjM3NCwyOS40ODEsMTAwLjAwMSwyOC43MDcsMTAwLjAwMXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTc2LjkzOCw4NC4xMjVIMS40MDNjLTAuNTAxLDAtMC45NjQtMC4yNjktMS4yMTMtMC43MDFjLTAuMjUyLTAuNDMzLTAuMjUyLTAuOTY3LTAuMDAzLTEuNDAxbDE4Ljk1NC0zMi44NyAgYzAuMzg5LTAuNjcxLDEuMjQtMC45MDEsMS45MTctMC41MTVjMC42NzEsMC4zODksMC45MDEsMS4yNDYsMC41MTUsMS45MTZMMy44MjgsODEuMzIxaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM3OC4zMzksODMuNDk4LDc3LjcxMiw4NC4xMjUsNzYuOTM4LDg0LjEyNXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwNC4yMzYsMTAwLjAwMUgyOC43MDdjLTAuNzc1LDAtMS40MDItMC42MjctMS40MDItMS40MDFjMC0wLjc3NSwwLjYyNy0xLjQwMiwxLjQwMi0xLjQwMmg3My4xMDRMODQuMDY3LDY2LjQzNCAgYy0wLjM4Ni0wLjY3MS0wLjE1Ni0xLjUyOCwwLjUxNS0xLjkxN2MwLjY3MS0wLjM4MywxLjUyNy0wLjE1OCwxLjkxNiwwLjUxNWwxOC45NTQsMzIuODY3YzAuMjQ5LDAuNDM2LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDMTA1LjIsOTkuNzMyLDEwNC43MzcsMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDIwLjYzM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDU2LjMwNSAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik02Ny40MzIsNjcuNjQ0aC0zNy4zNGMtMC41MDEsMC0wLjk2NC0wLjI2Ni0xLjIxMy0wLjcwMWMtMC4yNTItMC40MzMtMC4yNTItMC45NjctMC4wMDMtMS40MDFsMzcuMzQtNjQuODM5ICBjMC4zODYtMC42NzEsMS4yNC0wLjkwMSwxLjkxNy0wLjUxNWMwLjY3LDAuMzg2LDAuOSwxLjI0MywwLjUxNSwxLjkxN0wzMi41MTcsNjQuODRoMzQuOTE1YzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTY3LjQzMiw2Ny42NDRINDguNTQ0Yy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMWwxOC41MTktMzIuMTU1ICBjMC4zODktMC42NzEsMS4yNC0wLjkwMSwxLjkxNi0wLjUxNWMwLjY3MSwwLjM4NiwwLjksMS4yNDMsMC41MTUsMS45MTdMNTAuOTcsNjQuODRoMTYuNDYyYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwLjc2LDEwMC4wMDFjLTAuNDc5LDAtMC45NDctMC4yNDYtMS4yMDgtMC42OUwwLjE5NSw4My40MzVjLTAuMzk0LTAuNjY4LTAuMTcyLTEuNTI0LDAuNDk2LTEuOTE5ICBjMC42NjUtMC4zOTIsMS41MjUtMC4xNzMsMS45MTksMC40OTVsOS4zNTgsMTUuODc3YzAuMzk0LDAuNjY4LDAuMTcyLDEuNTI3LTAuNDk2LDEuOTE5ICBDMTEuMjQ4LDk5LjkzOCwxMS4wMDQsMTAwLjAwMSwxMC43NiwxMDAuMDAxeiINCiAgICA+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNMTA0LjIzNiwxMDAuMDAxYy0wLjI2LDAtMC41MjEtMC4wNzEtMC43NTMtMC4yMTljLTAuNjUxLTAuNDE2LTAuODQ2LTEuMjgxLTAuNDMtMS45MzZsOS42NDUtMTUuMTU5TDY3LjQ1Nyw0LjIyMyAgTDMxLjMzMiw2Ni45NTZjLTAuMzkyLDAuNjcxLTEuMjQzLDAuODk2LTEuOTE3LDAuNTE1Yy0wLjY3MS0wLjM4Ni0wLjkwMS0xLjI0My0wLjUxNS0xLjkxNmwzNy4zNC02NC44MzkgIGMwLjUwNC0wLjg2NSwxLjkyOC0wLjg2NSwyLjQzMiwwbDQ2Ljg4MSw4MS4zMDdjMC4yNjEsMC40NTEsMC4yNDcsMS4wMTMtMC4wMzIsMS40NTNsLTEwLjEwMywxNS44NzYgIEMxMDUuMTUsOTkuNzcxLDEwNC42OTksMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogIDwvZz4NCjwvc3ZnPg0K'\n\nconst getObjectFitClass = (fit: ObjectFit): string => {\n switch (fit) {\n case 'cover':\n return styles.imageCover\n case 'contain':\n return styles.imageContain\n case 'fill':\n return styles.imageFill\n default:\n return ''\n }\n}\n\nconst getBorderClass = (borderStyle: BorderStyle): string => {\n switch (borderStyle) {\n case 'neon':\n return styles.borderNeon\n case 'gradient':\n return styles.borderGradient\n case 'tech':\n return styles.borderTech\n default:\n return ''\n }\n}\n\nexport const Image: React.FC<ImageProps> = ({\n ref,\n src = DEFAULT_IMAGE,\n alt = '',\n objectFit = 'cover',\n borderRadius = 0,\n borderStyle = 'none',\n borderColor = '#00d4ff',\n shadow = false,\n shadowColor = 'rgba(0, 212, 255, 0.3)',\n style: externalStyle,\n}) => {\n const containerStyle: CSSProperties = {\n borderRadius,\n color: borderColor,\n boxShadow: shadow ? `0 4px 20px ${shadowColor}` : undefined,\n ...externalStyle,\n } as CSSProperties\n\n // 图片模式\n return (\n <div className={cn(styles.container, getBorderClass(borderStyle))} ref={ref} style={containerStyle}>\n <img\n alt={alt}\n className={cn(styles.image, getObjectFitClass(objectFit))}\n draggable={false}\n height='100%'\n src={src}\n width='100%'\n />\n </div>\n )\n}\n\nexport default Image\n"],"names":["r","e","t","f","n","Array","isArray","o","length","cn","inputs","arguments","clsx","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","getObjectFitClass","fit","styles","getBorderClass","borderStyle","Image","src","alt","objectFit","borderRadius","borderColor","shadow","shadowColor","externalStyle","containerStyle","color","boxShadow","undefined","_jsx","className","children","draggable","height","width"],"mappings":"wUAAA,SAASA,EAAEC,GAAG,IAAIC,EAAEC,EAAEC,EAAE,GAAG,GAAG,iBAAiBH,GAAG,iBAAiBA,EAAEG,GAAGH,OAAO,GAAG,iBAAiBA,EAAE,GAAGI,MAAMC,QAAQL,GAAG,CAAC,IAAIM,EAAEN,EAAEO,OAAO,IAAIN,EAAE,EAAEA,EAAEK,EAAEL,IAAID,EAAEC,KAAKC,EAAEH,EAAEC,EAAEC,OAAOE,IAAIA,GAAG,KAAKA,GAAGD,EAAE,MAAM,IAAIA,KAAKF,EAAEA,EAAEE,KAAKC,IAAIA,GAAG,KAAKA,GAAGD,GAAG,OAAOC,CAAC,CCEzO,SAASK,KAAMC,GACpB,ODHsP,WAAgB,IAAI,IAAIT,EAAEC,EAAEC,EAAE,EAAEC,EAAE,GAAGG,EAAEI,UAAUH,OAAOL,EAAEI,EAAEJ,KAAKF,EAAEU,UAAUR,MAAMD,EAAEF,EAAEC,MAAMG,IAAIA,GAAG,KAAKA,GAAGF,GAAG,OAAOE,CAAC,CCGtWQ,CAAKF,EACd,6UCJA,SAAqBG,EAAKC,QACX,IAARA,IAAiBA,EAAM,CAAA,GAC5B,IAAIC,EAAWD,EAAIC,SAEnB,GAAgC,oBAAbC,SAAnB,CAEA,IAAIC,EAAOD,SAASC,MAAQD,SAASE,qBAAqB,QAAQ,GAC9DC,EAAQH,SAASI,cAAc,SACnCD,EAAME,KAAO,WAEI,QAAbN,GACEE,EAAKK,WACPL,EAAKM,aAAaJ,EAAOF,EAAKK,YAKhCL,EAAKO,YAAYL,GAGfA,EAAMM,WACRN,EAAMM,WAAWC,QAAUb,EAE3BM,EAAMK,YAAYR,SAASW,eAAed,GAnBW,CAqBzD,61DCUA,MAGMe,EAAqBC,IACzB,OAAQA,GACN,IAAK,QACH,OAAOC,EACT,IAAK,UACH,OAAOA,EACT,IAAK,OACH,OAAOA,EACT,QACE,MAAO,KAIPC,EAAkBC,IACtB,OAAQA,GACN,IAAK,OACH,OAAOF,EACT,IAAK,WACH,OAAOA,EACT,IAAK,OACH,OAAOA,EACT,QACE,MAAO,KAIAG,EAA8BA,EACzCnB,MACAoB,MA9BA,60KA+BAC,MAAM,GACNC,YAAY,QACZC,eAAe,EACfL,cAAc,OACdM,cAAc,UACdC,UAAS,EACTC,cAAc,yBACdrB,MAAOsB,MAEP,MAAMC,EAAgC,CACpCL,eACAM,MAAOL,EACPM,UAAWL,EAAS,cAAcC,SAAgBK,KAC/CJ,GAIL,OACEK,EAAAA,IAAA,MAAA,CAAKC,UAAWtC,EAAGqB,EAAkBC,EAAeC,IAAelB,IAAKA,EAAKK,MAAOuB,EAAeM,SACjGF,EAAAA,IAAA,MAAA,CACEX,IAAKA,EACLY,UAAWtC,EAAGqB,EAAcF,EAAkBQ,IAC9Ca,WAAW,EACXC,OAAO,OACPhB,IAAKA,EACLiB,MAAM","x_google_ignoreList":[0,2]}
package/dist/index.cjs DELETED
@@ -1,427 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
-
5
- function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
6
-
7
- function cn(...inputs) {
8
- return clsx(inputs);
9
- }
10
-
11
- const MaterialGroup = {
12
- MEDIA: 'media'};
13
-
14
- function styleInject(css, ref) {
15
- if (ref === void 0) ref = {};
16
- var insertAt = ref.insertAt;
17
- if (typeof document === 'undefined') {
18
- return;
19
- }
20
- var head = document.head || document.getElementsByTagName('head')[0];
21
- var style = document.createElement('style');
22
- style.type = 'text/css';
23
- if (insertAt === 'top') {
24
- if (head.firstChild) {
25
- head.insertBefore(style, head.firstChild);
26
- } else {
27
- head.appendChild(style);
28
- }
29
- } else {
30
- head.appendChild(style);
31
- }
32
- if (style.styleSheet) {
33
- style.styleSheet.cssText = css;
34
- } else {
35
- style.appendChild(document.createTextNode(css));
36
- }
37
- }
38
-
39
- var css_248z = ".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}";
40
- var styles = {"container":"component-module__container___VbZSk","image":"component-module__image___22LfU","imageCover":"component-module__imageCover___4nw5D","imageContain":"component-module__imageContain___qcwy7","imageFill":"component-module__imageFill___tNQDt","borderNeon":"component-module__borderNeon___0oq37","borderGradient":"component-module__borderGradient___-IDtx","borderTech":"component-module__borderTech___MnH27"};
41
- styleInject(css_248z);
42
-
43
- /**
44
- * Image Component
45
- * 图片/图标/边框装饰组件
46
- */
47
-
48
- const DEFAULT_IMAGE = 'data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNzAgNjAiIHdpZHRoPSI3MCIgaGVpZ2h0PSI2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGRlZnMgaWQ9IlN2Z2pzRGVmczEwMDEiPjwvZGVmcz4NCiAgPGcNCiAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjYwNDgwNDY3OTI2Mjc2NTIsMCwwLDAuNjA0ODA0Njc5MjYyNzY1MiwtMC4wMDAwMTg0MDMxMDAyOTc2NjgwNzYsLTAuMDAwNDk0ODEwODgwODczMjQ1OSkiDQogICAgZmlsbD0iI2ZmZiINCiAgPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNOTUuMTA4LDg0LjEyNWMtMC40ODQsMC0wLjk1NS0wLjI1Mi0xLjIxNi0wLjcwMUw2NS44NDksMzQuNzljLTAuMzg2LTAuNjcxLTAuMTU1LTEuNTI4LDAuNTE2LTEuOTE3ICBjMC42NzMtMC4zODYsMS41MjctMC4xNTYsMS45MTYsMC41MTVsMjguMDQzLDQ4LjYzNGMwLjM4NiwwLjY3LDAuMTU2LDEuNTI3LTAuNTE1LDEuOTE2Qzk1LjU4Nyw4NC4wNjQsOTUuMzQ2LDg0LjEyNSw5NS4xMDgsODQuMTI1ICB6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDEuNDAzYy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMUw0Ny4wMTEsMC43MTYgIGMwLjI1MS0wLjQzMywwLjcxNC0wLjcwMSwxLjIxNS0wLjcwMWgxOS4yM2MwLjc3NSwwLDEuNDAyLDAuNjI3LDEuNDAyLDEuNDAyYzAsMC43NzQtMC42MjcsMS40MDEtMS40MDIsMS40MDFINDkuMDM3TDMuODI4LDgxLjMyMSAgaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGggeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBkPSJNNDguODkyLDM0LjA4OSI+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNNzYuOTM4LDg0LjEyNUgxLjQwM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDczLjEwOUw1Ni43NjYsNTAuNTU0ICBjLTAuMzg2LTAuNjctMC4xNTYtMS41MjcsMC41MTUtMS45MTZjMC42NzEtMC4zODYsMS41MjgtMC4xNTYsMS45MTcsMC41MTVsMTguOTU2LDMyLjg3YzAuMjQ5LDAuNDM1LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDNzcuOTAxLDgzLjg1Niw3Ny40MzksODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik0yOC43MDcsMTAwLjAwMUgxMC43NmMtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMWMwLTAuNzc1LDAuNjI3LTEuNDAyLDEuNDAyLTEuNDAyaDE3Ljk0NiAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDJDMzAuMTA4LDk5LjM3NCwyOS40ODEsMTAwLjAwMSwyOC43MDcsMTAwLjAwMXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTc2LjkzOCw4NC4xMjVIMS40MDNjLTAuNTAxLDAtMC45NjQtMC4yNjktMS4yMTMtMC43MDFjLTAuMjUyLTAuNDMzLTAuMjUyLTAuOTY3LTAuMDAzLTEuNDAxbDE4Ljk1NC0zMi44NyAgYzAuMzg5LTAuNjcxLDEuMjQtMC45MDEsMS45MTctMC41MTVjMC42NzEsMC4zODksMC45MDEsMS4yNDYsMC41MTUsMS45MTZMMy44MjgsODEuMzIxaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM3OC4zMzksODMuNDk4LDc3LjcxMiw4NC4xMjUsNzYuOTM4LDg0LjEyNXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwNC4yMzYsMTAwLjAwMUgyOC43MDdjLTAuNzc1LDAtMS40MDItMC42MjctMS40MDItMS40MDFjMC0wLjc3NSwwLjYyNy0xLjQwMiwxLjQwMi0xLjQwMmg3My4xMDRMODQuMDY3LDY2LjQzNCAgYy0wLjM4Ni0wLjY3MS0wLjE1Ni0xLjUyOCwwLjUxNS0xLjkxN2MwLjY3MS0wLjM4MywxLjUyNy0wLjE1OCwxLjkxNiwwLjUxNWwxOC45NTQsMzIuODY3YzAuMjQ5LDAuNDM2LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDMTA1LjIsOTkuNzMyLDEwNC43MzcsMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDIwLjYzM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDU2LjMwNSAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik02Ny40MzIsNjcuNjQ0aC0zNy4zNGMtMC41MDEsMC0wLjk2NC0wLjI2Ni0xLjIxMy0wLjcwMWMtMC4yNTItMC40MzMtMC4yNTItMC45NjctMC4wMDMtMS40MDFsMzcuMzQtNjQuODM5ICBjMC4zODYtMC42NzEsMS4yNC0wLjkwMSwxLjkxNy0wLjUxNWMwLjY3LDAuMzg2LDAuOSwxLjI0MywwLjUxNSwxLjkxN0wzMi41MTcsNjQuODRoMzQuOTE1YzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTY3LjQzMiw2Ny42NDRINDguNTQ0Yy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMWwxOC41MTktMzIuMTU1ICBjMC4zODktMC42NzEsMS4yNC0wLjkwMSwxLjkxNi0wLjUxNWMwLjY3MSwwLjM4NiwwLjksMS4yNDMsMC41MTUsMS45MTdMNTAuOTcsNjQuODRoMTYuNDYyYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwLjc2LDEwMC4wMDFjLTAuNDc5LDAtMC45NDctMC4yNDYtMS4yMDgtMC42OUwwLjE5NSw4My40MzVjLTAuMzk0LTAuNjY4LTAuMTcyLTEuNTI0LDAuNDk2LTEuOTE5ICBjMC42NjUtMC4zOTIsMS41MjUtMC4xNzMsMS45MTksMC40OTVsOS4zNTgsMTUuODc3YzAuMzk0LDAuNjY4LDAuMTcyLDEuNTI3LTAuNDk2LDEuOTE5ICBDMTEuMjQ4LDk5LjkzOCwxMS4wMDQsMTAwLjAwMSwxMC43NiwxMDAuMDAxeiINCiAgICA+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNMTA0LjIzNiwxMDAuMDAxYy0wLjI2LDAtMC41MjEtMC4wNzEtMC43NTMtMC4yMTljLTAuNjUxLTAuNDE2LTAuODQ2LTEuMjgxLTAuNDMtMS45MzZsOS42NDUtMTUuMTU5TDY3LjQ1Nyw0LjIyMyAgTDMxLjMzMiw2Ni45NTZjLTAuMzkyLDAuNjcxLTEuMjQzLDAuODk2LTEuOTE3LDAuNTE1Yy0wLjY3MS0wLjM4Ni0wLjkwMS0xLjI0My0wLjUxNS0xLjkxNmwzNy4zNC02NC44MzkgIGMwLjUwNC0wLjg2NSwxLjkyOC0wLjg2NSwyLjQzMiwwbDQ2Ljg4MSw4MS4zMDdjMC4yNjEsMC40NTEsMC4yNDcsMS4wMTMtMC4wMzIsMS40NTNsLTEwLjEwMywxNS44NzYgIEMxMDUuMTUsOTkuNzcxLDEwNC42OTksMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogIDwvZz4NCjwvc3ZnPg0K';
49
- const getObjectFitClass = fit => {
50
- switch (fit) {
51
- case 'cover':
52
- return styles.imageCover;
53
- case 'contain':
54
- return styles.imageContain;
55
- case 'fill':
56
- return styles.imageFill;
57
- default:
58
- return '';
59
- }
60
- };
61
- const getBorderClass = borderStyle => {
62
- switch (borderStyle) {
63
- case 'neon':
64
- return styles.borderNeon;
65
- case 'gradient':
66
- return styles.borderGradient;
67
- case 'tech':
68
- return styles.borderTech;
69
- default:
70
- return '';
71
- }
72
- };
73
- const Image = ({
74
- ref,
75
- src = DEFAULT_IMAGE,
76
- alt = '',
77
- objectFit = 'cover',
78
- borderRadius = 0,
79
- borderStyle = 'none',
80
- borderColor = '#00d4ff',
81
- shadow = false,
82
- shadowColor = 'rgba(0, 212, 255, 0.3)',
83
- style: externalStyle
84
- }) => {
85
- const containerStyle = {
86
- borderRadius,
87
- color: borderColor,
88
- boxShadow: shadow ? `0 4px 20px ${shadowColor}` : undefined,
89
- ...externalStyle
90
- };
91
-
92
- // 图片模式
93
- return /*#__PURE__*/jsxRuntime.jsx("div", {
94
- className: cn(styles.container, getBorderClass(borderStyle)),
95
- ref: ref,
96
- style: containerStyle,
97
- children: /*#__PURE__*/jsxRuntime.jsx("img", {
98
- alt: alt,
99
- className: cn(styles.image, getObjectFitClass(objectFit)),
100
- draggable: false,
101
- height: "100%",
102
- src: src,
103
- width: "100%"
104
- })
105
- });
106
- };
107
-
108
- const COMPONENT_NAME = 'EasyEditorMaterialsImage';
109
- const PACKAGE_NAME = '@easy-editor/materials-dashboard-image';
110
-
111
- const configure = {
112
- props: [{
113
- type: 'group',
114
- title: '属性',
115
- setter: 'TabSetter',
116
- items: [{
117
- type: 'group',
118
- key: 'config',
119
- title: '配置',
120
- setter: {
121
- componentName: 'CollapseSetter',
122
- props: {
123
- icon: false
124
- }
125
- },
126
- items: [
127
- {
128
- name: 'id',
129
- title: 'ID',
130
- setter: 'NodeIdSetter',
131
- extraProps: {
132
- label: false
133
- }
134
- }, {
135
- name: 'title',
136
- title: '标题',
137
- setter: 'StringSetter',
138
- extraProps: {
139
- getValue(target) {
140
- return target.getExtraPropValue('title');
141
- },
142
- setValue(target, value) {
143
- target.setExtraPropValue('title', value);
144
- }
145
- }
146
- }, {
147
- type: 'group',
148
- title: '基础属性',
149
- setter: {
150
- componentName: 'CollapseSetter',
151
- props: {
152
- icon: false
153
- }
154
- },
155
- items: [{
156
- name: 'rect',
157
- title: '位置尺寸',
158
- setter: 'RectSetter',
159
- extraProps: {
160
- getValue(target) {
161
- return target.getExtraPropValue('$dashboard.rect');
162
- },
163
- setValue(target, value) {
164
- target.setExtraPropValue('$dashboard.rect', value);
165
- }
166
- }
167
- }]
168
- },
169
- {
170
- type: 'group',
171
- title: '内容',
172
- setter: {
173
- componentName: 'CollapseSetter',
174
- props: {
175
- icon: false
176
- }
177
- },
178
- items: [{
179
- name: '__upload',
180
- title: '上传',
181
- setter: {
182
- componentName: 'UploadSetter',
183
- props: {
184
- accept: '.jpg,.jpeg,.png,.gif,.svg'
185
- }
186
- },
187
- extraProps: {
188
- setValue(target, value) {
189
- if (value) {
190
- const {
191
- base64,
192
- raw
193
- } = value;
194
- if (base64) {
195
- target.parent.setPropValue('src', base64);
196
- }
197
- if (raw?.width) {
198
- target.parent.setExtraPropValue('$dashboard.rect.width', raw.width);
199
- }
200
- if (raw?.height) {
201
- target.parent.setExtraPropValue('$dashboard.rect.height', raw.height);
202
- }
203
- } else {
204
- target.parent.clearPropValue('src');
205
- }
206
- }
207
- }
208
- }, {
209
- name: 'src',
210
- title: '图片地址',
211
- setter: 'StringSetter'
212
- }, {
213
- name: 'alt',
214
- title: '替代文本',
215
- setter: 'StringSetter'
216
- }]
217
- }, {
218
- type: 'group',
219
- title: '加载',
220
- setter: {
221
- componentName: 'CollapseSetter',
222
- props: {
223
- icon: false
224
- }
225
- },
226
- items: [{
227
- name: 'lazyLoad',
228
- title: '懒加载',
229
- setter: 'SwitchSetter',
230
- extraProps: {
231
- defaultValue: false
232
- }
233
- }, {
234
- name: 'lazyLoadThreshold',
235
- title: '懒加载阈值',
236
- setter: {
237
- componentName: 'SliderSetter',
238
- props: {
239
- min: 0,
240
- max: 500,
241
- step: 50,
242
- suffix: 'px'
243
- }
244
- },
245
- extraProps: {
246
- defaultValue: 100
247
- }
248
- }, {
249
- name: 'placeholder',
250
- title: '占位图',
251
- setter: 'StringSetter'
252
- }]
253
- }, {
254
- type: 'group',
255
- title: '样式',
256
- setter: {
257
- componentName: 'CollapseSetter',
258
- props: {
259
- icon: false
260
- }
261
- },
262
- items: [{
263
- name: 'objectFit',
264
- title: '填充方式',
265
- setter: {
266
- componentName: 'SelectSetter',
267
- props: {
268
- options: [{
269
- label: '覆盖',
270
- value: 'cover'
271
- }, {
272
- label: '包含',
273
- value: 'contain'
274
- }, {
275
- label: '填充',
276
- value: 'fill'
277
- }, {
278
- label: '无',
279
- value: 'none'
280
- }]
281
- }
282
- },
283
- extraProps: {
284
- defaultValue: 'cover'
285
- }
286
- }, {
287
- name: 'borderRadius',
288
- title: '圆角',
289
- setter: 'NumberSetter',
290
- extraProps: {
291
- defaultValue: 0
292
- }
293
- }, {
294
- name: 'borderStyle',
295
- title: '边框样式',
296
- setter: {
297
- componentName: 'SelectSetter',
298
- props: {
299
- options: [{
300
- label: '无',
301
- value: 'none'
302
- }, {
303
- label: '霓虹',
304
- value: 'neon'
305
- }, {
306
- label: '渐变',
307
- value: 'gradient'
308
- }, {
309
- label: '科技感',
310
- value: 'tech'
311
- }]
312
- }
313
- },
314
- extraProps: {
315
- defaultValue: 'none'
316
- }
317
- }, {
318
- name: 'borderColor',
319
- title: '边框颜色',
320
- setter: 'ColorSetter',
321
- extraProps: {
322
- defaultValue: '#00d4ff'
323
- }
324
- }, {
325
- name: 'shadow',
326
- title: '启用阴影',
327
- setter: 'SwitchSetter',
328
- extraProps: {
329
- defaultValue: false
330
- }
331
- }, {
332
- name: 'shadowColor',
333
- title: '阴影颜色',
334
- setter: 'ColorSetter',
335
- extraProps: {
336
- defaultValue: 'rgba(0, 212, 255, 0.3)'
337
- }
338
- }]
339
- }]
340
- }, {
341
- type: 'group',
342
- key: 'data',
343
- title: '数据',
344
- items: [{
345
- name: 'dataBinding',
346
- title: '数据绑定',
347
- setter: 'DataBindingSetter'
348
- }]
349
- }, {
350
- type: 'group',
351
- key: 'advanced',
352
- title: '高级',
353
- items: [{
354
- name: 'condition',
355
- title: '显隐控制',
356
- setter: 'SwitchSetter',
357
- extraProps: {
358
- defaultValue: true,
359
- supportVariable: true
360
- }
361
- }]
362
- }]
363
- }],
364
- component: {},
365
- supports: {},
366
- advanced: {}
367
- };
368
-
369
- const snippets = [{
370
- title: '普通图片',
371
- screenshot: '',
372
- schema: {
373
- componentName: COMPONENT_NAME,
374
- props: {
375
- alt: '图片',
376
- objectFit: 'contain',
377
- borderRadius: 0
378
- },
379
- $dashboard: {
380
- rect: {
381
- width: 200,
382
- height: 180
383
- }
384
- }
385
- }
386
- }, {
387
- title: '圆角图片',
388
- screenshot: '',
389
- schema: {
390
- componentName: COMPONENT_NAME,
391
- props: {
392
- alt: '圆角图片',
393
- objectFit: 'contain',
394
- borderRadius: 100,
395
- borderStyle: 'tech'
396
- },
397
- $dashboard: {
398
- rect: {
399
- width: 200,
400
- height: 200
401
- }
402
- }
403
- }
404
- }];
405
-
406
- var version = "0.0.1";
407
- var pkg = {
408
- version: version};
409
-
410
- const meta = {
411
- componentName: COMPONENT_NAME,
412
- title: '图片',
413
- group: MaterialGroup.MEDIA,
414
- devMode: 'proCode',
415
- npm: {
416
- package: PACKAGE_NAME,
417
- version: pkg.version,
418
- globalName: COMPONENT_NAME,
419
- componentName: COMPONENT_NAME
420
- },
421
- snippets,
422
- configure
423
- };
424
-
425
- exports.component = Image;
426
- exports.meta = meta;
427
- //# sourceMappingURL=index.cjs.map