@easy-editor/materials-dashboard-image 0.0.2

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.
Files changed (45) hide show
  1. package/.vite/plugins/vite-plugin-external-deps.ts +224 -0
  2. package/.vite/plugins/vite-plugin-material-dev.ts +218 -0
  3. package/CHANGELOG.md +7 -0
  4. package/LICENSE +9 -0
  5. package/dist/component.esm.js +105 -0
  6. package/dist/component.esm.js.map +1 -0
  7. package/dist/component.js +114 -0
  8. package/dist/component.js.map +1 -0
  9. package/dist/component.min.js +2 -0
  10. package/dist/component.min.js.map +1 -0
  11. package/dist/index.cjs +427 -0
  12. package/dist/index.cjs.map +1 -0
  13. package/dist/index.esm.js +424 -0
  14. package/dist/index.esm.js.map +1 -0
  15. package/dist/index.js +432 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/index.min.js +2 -0
  18. package/dist/index.min.js.map +1 -0
  19. package/dist/meta.esm.js +323 -0
  20. package/dist/meta.esm.js.map +1 -0
  21. package/dist/meta.js +334 -0
  22. package/dist/meta.js.map +1 -0
  23. package/dist/meta.min.js +2 -0
  24. package/dist/meta.min.js.map +1 -0
  25. package/dist/src/component.d.ts +31 -0
  26. package/dist/src/configure.d.ts +7 -0
  27. package/dist/src/constants.d.ts +16 -0
  28. package/dist/src/index.d.ts +6 -0
  29. package/dist/src/meta.d.ts +7 -0
  30. package/dist/src/snippets.d.ts +7 -0
  31. package/package.json +67 -0
  32. package/rollup.config.js +222 -0
  33. package/src/assets/default.png +0 -0
  34. package/src/component.module.css +122 -0
  35. package/src/component.tsx +99 -0
  36. package/src/configure.ts +285 -0
  37. package/src/constants.ts +18 -0
  38. package/src/index.tsx +7 -0
  39. package/src/meta.ts +28 -0
  40. package/src/snippets.ts +49 -0
  41. package/src/type.d.ts +13 -0
  42. package/tsconfig.build.json +12 -0
  43. package/tsconfig.json +9 -0
  44. package/tsconfig.test.json +7 -0
  45. package/vite.config.ts +54 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../../../../shared/src/lib/utils.ts","../../../../shared/src/index.ts","../../../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js","../src/component.tsx","../src/constants.ts","../src/configure.ts","../src/snippets.ts","../src/meta.ts"],"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","/**\n * Shared types, components and utilities for EasyEditor materials\n * @package @easy-editor/materials-shared\n */\n\n// 物料分组常量\nexport const MaterialGroup = {\n /** 内置 */\n INNER: 'inner',\n /** 基础 */\n BASIC: 'basic',\n /** 图表 */\n CHART: 'chart',\n /** 数据展示 */\n DISPLAY: 'display',\n /** 媒体 */\n MEDIA: 'media',\n /** 交互 */\n INTERACTION: 'interaction',\n /** 地图 */\n MAP: 'map',\n} as const\n\nexport type MaterialGroup = (typeof MaterialGroup)[keyof typeof MaterialGroup]\n\n// 工具函数\nexport { cn } from './lib/utils'\n\nexport * from './types'\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","/**\n * 物料常量配置\n * 统一管理全局变量名等配置,确保 meta.ts 和 rollup.config.js 使用相同的值\n */\n\n/**\n * UMD 全局变量基础名称\n * 用于构建:\n * - 元数据:${GLOBAL_NAME}Meta (例如: EasyEditorMaterialsImageMeta)\n * - 组件:${GLOBAL_NAME}Component (例如: EasyEditorMaterialsImageComponent)\n * - 完整构建:${GLOBAL_NAME} (例如: EasyEditorMaterialsImage)\n */\nexport const COMPONENT_NAME = 'EasyEditorMaterialsImage'\n\n/**\n * 包名\n */\nexport const PACKAGE_NAME = '@easy-editor/materials-dashboard-image'\n","/**\n * Image Configure\n * 图片组件配置\n */\n\nimport type { Configure } from '@easy-editor/core'\nimport type { UploadValue } from '@easy-editor/materials-shared'\n\nexport const configure: Configure = {\n props: [\n {\n type: 'group',\n title: '属性',\n setter: 'TabSetter',\n items: [\n {\n type: 'group',\n key: 'config',\n title: '配置',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n // 基础配置\n {\n name: 'id',\n title: 'ID',\n setter: 'NodeIdSetter',\n extraProps: {\n // @ts-expect-error label is not a valid extra prop\n label: false,\n },\n },\n {\n name: 'title',\n title: '标题',\n setter: 'StringSetter',\n extraProps: {\n getValue(target) {\n return target.getExtraPropValue('title')\n },\n setValue(target, value) {\n target.setExtraPropValue('title', value)\n },\n },\n },\n {\n type: 'group',\n title: '基础属性',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n name: 'rect',\n title: '位置尺寸',\n setter: 'RectSetter',\n extraProps: {\n getValue(target) {\n return target.getExtraPropValue('$dashboard.rect')\n },\n setValue(target, value) {\n target.setExtraPropValue('$dashboard.rect', value)\n },\n },\n },\n ],\n },\n // 组件配置\n {\n type: 'group',\n title: '内容',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n name: '__upload',\n title: '上传',\n setter: {\n componentName: 'UploadSetter',\n props: {\n accept: '.jpg,.jpeg,.png,.gif,.svg',\n },\n },\n extraProps: {\n setValue(target, value: UploadValue) {\n if (value) {\n const { base64, raw } = value\n if (base64) {\n target.parent.setPropValue('src', base64)\n }\n if (raw?.width) {\n target.parent.setExtraPropValue('$dashboard.rect.width', raw.width)\n }\n if (raw?.height) {\n target.parent.setExtraPropValue('$dashboard.rect.height', raw.height)\n }\n } else {\n target.parent.clearPropValue('src')\n }\n },\n },\n },\n {\n name: 'src',\n title: '图片地址',\n setter: 'StringSetter',\n },\n {\n name: 'alt',\n title: '替代文本',\n setter: 'StringSetter',\n },\n ],\n },\n {\n type: 'group',\n title: '加载',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n name: 'lazyLoad',\n title: '懒加载',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: false,\n },\n },\n {\n name: 'lazyLoadThreshold',\n title: '懒加载阈值',\n setter: {\n componentName: 'SliderSetter',\n props: {\n min: 0,\n max: 500,\n step: 50,\n suffix: 'px',\n },\n },\n extraProps: {\n defaultValue: 100,\n },\n },\n {\n name: 'placeholder',\n title: '占位图',\n setter: 'StringSetter',\n },\n ],\n },\n {\n type: 'group',\n title: '样式',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n name: 'objectFit',\n title: '填充方式',\n setter: {\n componentName: 'SelectSetter',\n props: {\n options: [\n { label: '覆盖', value: 'cover' },\n { label: '包含', value: 'contain' },\n { label: '填充', value: 'fill' },\n { label: '无', value: 'none' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'cover',\n },\n },\n {\n name: 'borderRadius',\n title: '圆角',\n setter: 'NumberSetter',\n extraProps: {\n defaultValue: 0,\n },\n },\n {\n name: 'borderStyle',\n title: '边框样式',\n setter: {\n componentName: 'SelectSetter',\n props: {\n options: [\n { label: '无', value: 'none' },\n { label: '霓虹', value: 'neon' },\n { label: '渐变', value: 'gradient' },\n { label: '科技感', value: 'tech' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'none',\n },\n },\n {\n name: 'borderColor',\n title: '边框颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: '#00d4ff',\n },\n },\n {\n name: 'shadow',\n title: '启用阴影',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: false,\n },\n },\n {\n name: 'shadowColor',\n title: '阴影颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: 'rgba(0, 212, 255, 0.3)',\n },\n },\n ],\n },\n ],\n },\n {\n type: 'group',\n key: 'data',\n title: '数据',\n items: [\n {\n name: 'dataBinding',\n title: '数据绑定',\n setter: 'DataBindingSetter',\n },\n ],\n },\n {\n type: 'group',\n key: 'advanced',\n title: '高级',\n items: [\n {\n name: 'condition',\n title: '显隐控制',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n supportVariable: true,\n },\n },\n ],\n },\n ],\n },\n ],\n component: {},\n supports: {},\n advanced: {},\n}\n\nexport default configure\n","/**\n * Image Snippets\n * 图片组件代码片段\n */\n\nimport type { Snippet } from '@easy-editor/core'\nimport { COMPONENT_NAME } from './constants'\n\nexport const snippets: Snippet[] = [\n {\n title: '普通图片',\n screenshot: '',\n schema: {\n componentName: COMPONENT_NAME,\n props: {\n alt: '图片',\n objectFit: 'contain',\n borderRadius: 0,\n },\n $dashboard: {\n rect: {\n width: 200,\n height: 180,\n },\n },\n },\n },\n {\n title: '圆角图片',\n screenshot: '',\n schema: {\n componentName: COMPONENT_NAME,\n props: {\n alt: '圆角图片',\n objectFit: 'contain',\n borderRadius: 100,\n borderStyle: 'tech',\n },\n $dashboard: {\n rect: {\n width: 200,\n height: 200,\n },\n },\n },\n },\n]\n\nexport default snippets\n","/**\n * Image Meta\n * 图片组件元数据\n */\n\nimport type { ComponentMetadata } from '@easy-editor/core'\nimport { MaterialGroup } from '@easy-editor/materials-shared'\nimport { COMPONENT_NAME, PACKAGE_NAME } from './constants'\nimport configure from './configure'\nimport snippets from './snippets'\nimport pkg from '../package.json'\n\nexport const meta: ComponentMetadata = {\n componentName: COMPONENT_NAME,\n title: '图片',\n group: MaterialGroup.MEDIA,\n devMode: 'proCode',\n npm: {\n package: PACKAGE_NAME,\n version: pkg.version,\n globalName: COMPONENT_NAME,\n componentName: COMPONENT_NAME,\n },\n snippets,\n configure,\n}\n\nexport default meta\n"],"names":["cn","inputs","clsx","MaterialGroup","INNER","MEDIA","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","COMPONENT_NAME","PACKAGE_NAME","configure","props","title","setter","items","key","componentName","icon","name","extraProps","label","getValue","target","getExtraPropValue","setValue","value","setExtraPropValue","accept","base64","raw","parent","setPropValue","clearPropValue","defaultValue","min","max","step","suffix","options","supportVariable","component","supports","advanced","snippets","screenshot","schema","$dashboard","rect","meta","group","devMode","npm","package","version","pkg","globalName"],"mappings":"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","x_google_ignoreList":[0,3]}
@@ -0,0 +1,424 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+
3
+ 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}
4
+
5
+ function cn(...inputs) {
6
+ return clsx(inputs);
7
+ }
8
+
9
+ const MaterialGroup = {
10
+ MEDIA: 'media'};
11
+
12
+ function styleInject(css, ref) {
13
+ if (ref === void 0) ref = {};
14
+ var insertAt = ref.insertAt;
15
+ if (typeof document === 'undefined') {
16
+ return;
17
+ }
18
+ var head = document.head || document.getElementsByTagName('head')[0];
19
+ var style = document.createElement('style');
20
+ style.type = 'text/css';
21
+ if (insertAt === 'top') {
22
+ if (head.firstChild) {
23
+ head.insertBefore(style, head.firstChild);
24
+ } else {
25
+ head.appendChild(style);
26
+ }
27
+ } else {
28
+ head.appendChild(style);
29
+ }
30
+ if (style.styleSheet) {
31
+ style.styleSheet.cssText = css;
32
+ } else {
33
+ style.appendChild(document.createTextNode(css));
34
+ }
35
+ }
36
+
37
+ 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}";
38
+ 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"};
39
+ styleInject(css_248z);
40
+
41
+ /**
42
+ * Image Component
43
+ * 图片/图标/边框装饰组件
44
+ */
45
+
46
+ const DEFAULT_IMAGE = 'data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNzAgNjAiIHdpZHRoPSI3MCIgaGVpZ2h0PSI2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGRlZnMgaWQ9IlN2Z2pzRGVmczEwMDEiPjwvZGVmcz4NCiAgPGcNCiAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjYwNDgwNDY3OTI2Mjc2NTIsMCwwLDAuNjA0ODA0Njc5MjYyNzY1MiwtMC4wMDAwMTg0MDMxMDAyOTc2NjgwNzYsLTAuMDAwNDk0ODEwODgwODczMjQ1OSkiDQogICAgZmlsbD0iI2ZmZiINCiAgPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNOTUuMTA4LDg0LjEyNWMtMC40ODQsMC0wLjk1NS0wLjI1Mi0xLjIxNi0wLjcwMUw2NS44NDksMzQuNzljLTAuMzg2LTAuNjcxLTAuMTU1LTEuNTI4LDAuNTE2LTEuOTE3ICBjMC42NzMtMC4zODYsMS41MjctMC4xNTYsMS45MTYsMC41MTVsMjguMDQzLDQ4LjYzNGMwLjM4NiwwLjY3LDAuMTU2LDEuNTI3LTAuNTE1LDEuOTE2Qzk1LjU4Nyw4NC4wNjQsOTUuMzQ2LDg0LjEyNSw5NS4xMDgsODQuMTI1ICB6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDEuNDAzYy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMUw0Ny4wMTEsMC43MTYgIGMwLjI1MS0wLjQzMywwLjcxNC0wLjcwMSwxLjIxNS0wLjcwMWgxOS4yM2MwLjc3NSwwLDEuNDAyLDAuNjI3LDEuNDAyLDEuNDAyYzAsMC43NzQtMC42MjcsMS40MDEtMS40MDIsMS40MDFINDkuMDM3TDMuODI4LDgxLjMyMSAgaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGggeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBkPSJNNDguODkyLDM0LjA4OSI+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNNzYuOTM4LDg0LjEyNUgxLjQwM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDczLjEwOUw1Ni43NjYsNTAuNTU0ICBjLTAuMzg2LTAuNjctMC4xNTYtMS41MjcsMC41MTUtMS45MTZjMC42NzEtMC4zODYsMS41MjgtMC4xNTYsMS45MTcsMC41MTVsMTguOTU2LDMyLjg3YzAuMjQ5LDAuNDM1LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDNzcuOTAxLDgzLjg1Niw3Ny40MzksODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik0yOC43MDcsMTAwLjAwMUgxMC43NmMtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMWMwLTAuNzc1LDAuNjI3LTEuNDAyLDEuNDAyLTEuNDAyaDE3Ljk0NiAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDJDMzAuMTA4LDk5LjM3NCwyOS40ODEsMTAwLjAwMSwyOC43MDcsMTAwLjAwMXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTc2LjkzOCw4NC4xMjVIMS40MDNjLTAuNTAxLDAtMC45NjQtMC4yNjktMS4yMTMtMC43MDFjLTAuMjUyLTAuNDMzLTAuMjUyLTAuOTY3LTAuMDAzLTEuNDAxbDE4Ljk1NC0zMi44NyAgYzAuMzg5LTAuNjcxLDEuMjQtMC45MDEsMS45MTctMC41MTVjMC42NzEsMC4zODksMC45MDEsMS4yNDYsMC41MTUsMS45MTZMMy44MjgsODEuMzIxaDczLjExYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM3OC4zMzksODMuNDk4LDc3LjcxMiw4NC4xMjUsNzYuOTM4LDg0LjEyNXoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwNC4yMzYsMTAwLjAwMUgyOC43MDdjLTAuNzc1LDAtMS40MDItMC42MjctMS40MDItMS40MDFjMC0wLjc3NSwwLjYyNy0xLjQwMiwxLjQwMi0xLjQwMmg3My4xMDRMODQuMDY3LDY2LjQzNCAgYy0wLjM4Ni0wLjY3MS0wLjE1Ni0xLjUyOCwwLjUxNS0xLjkxN2MwLjY3MS0wLjM4MywxLjUyNy0wLjE1OCwxLjkxNiwwLjUxNWwxOC45NTQsMzIuODY3YzAuMjQ5LDAuNDM2LDAuMjQ5LDAuOTY5LTAuMDAzLDEuNDAxICBDMTA1LjIsOTkuNzMyLDEwNC43MzcsMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik03Ni45MzgsODQuMTI1SDIwLjYzM2MtMC43NzUsMC0xLjQwMi0wLjYyNy0xLjQwMi0xLjQwMmMwLTAuNzc0LDAuNjI3LTEuNDAxLDEuNDAyLTEuNDAxaDU2LjMwNSAgYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDFDNzguMzM5LDgzLjQ5OCw3Ny43MTIsODQuMTI1LDc2LjkzOCw4NC4xMjV6Ig0KICAgID48L3BhdGg+DQogICAgPHBhdGgNCiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgICAgIGQ9Ik02Ny40MzIsNjcuNjQ0aC0zNy4zNGMtMC41MDEsMC0wLjk2NC0wLjI2Ni0xLjIxMy0wLjcwMWMtMC4yNTItMC40MzMtMC4yNTItMC45NjctMC4wMDMtMS40MDFsMzcuMzQtNjQuODM5ICBjMC4zODYtMC42NzEsMS4yNC0wLjkwMSwxLjkxNy0wLjUxNWMwLjY3LDAuMzg2LDAuOSwxLjI0MywwLjUxNSwxLjkxN0wzMi41MTcsNjQuODRoMzQuOTE1YzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTY3LjQzMiw2Ny42NDRINDguNTQ0Yy0wLjUwMSwwLTAuOTY0LTAuMjY2LTEuMjEzLTAuNzAxYy0wLjI1Mi0wLjQzMy0wLjI1Mi0wLjk2Ny0wLjAwMy0xLjQwMWwxOC41MTktMzIuMTU1ICBjMC4zODktMC42NzEsMS4yNC0wLjkwMSwxLjkxNi0wLjUxNWMwLjY3MSwwLjM4NiwwLjksMS4yNDMsMC41MTUsMS45MTdMNTAuOTcsNjQuODRoMTYuNDYyYzAuNzc0LDAsMS40MDEsMC42MjcsMS40MDEsMS40MDEgIEM2OC44MzMsNjcuMDE3LDY4LjIwNyw2Ny42NDQsNjcuNDMyLDY3LjY0NHoiDQogICAgPjwvcGF0aD4NCiAgICA8cGF0aA0KICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgICAgZD0iTTEwLjc2LDEwMC4wMDFjLTAuNDc5LDAtMC45NDctMC4yNDYtMS4yMDgtMC42OUwwLjE5NSw4My40MzVjLTAuMzk0LTAuNjY4LTAuMTcyLTEuNTI0LDAuNDk2LTEuOTE5ICBjMC42NjUtMC4zOTIsMS41MjUtMC4xNzMsMS45MTksMC40OTVsOS4zNTgsMTUuODc3YzAuMzk0LDAuNjY4LDAuMTcyLDEuNTI3LTAuNDk2LDEuOTE5ICBDMTEuMjQ4LDk5LjkzOCwxMS4wMDQsMTAwLjAwMSwxMC43NiwxMDAuMDAxeiINCiAgICA+PC9wYXRoPg0KICAgIDxwYXRoDQogICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgICBkPSJNMTA0LjIzNiwxMDAuMDAxYy0wLjI2LDAtMC41MjEtMC4wNzEtMC43NTMtMC4yMTljLTAuNjUxLTAuNDE2LTAuODQ2LTEuMjgxLTAuNDMtMS45MzZsOS42NDUtMTUuMTU5TDY3LjQ1Nyw0LjIyMyAgTDMxLjMzMiw2Ni45NTZjLTAuMzkyLDAuNjcxLTEuMjQzLDAuODk2LTEuOTE3LDAuNTE1Yy0wLjY3MS0wLjM4Ni0wLjkwMS0xLjI0My0wLjUxNS0xLjkxNmwzNy4zNC02NC44MzkgIGMwLjUwNC0wLjg2NSwxLjkyOC0wLjg2NSwyLjQzMiwwbDQ2Ljg4MSw4MS4zMDdjMC4yNjEsMC40NTEsMC4yNDcsMS4wMTMtMC4wMzIsMS40NTNsLTEwLjEwMywxNS44NzYgIEMxMDUuMTUsOTkuNzcxLDEwNC42OTksMTAwLjAwMSwxMDQuMjM2LDEwMC4wMDF6Ig0KICAgID48L3BhdGg+DQogIDwvZz4NCjwvc3ZnPg0K';
47
+ const getObjectFitClass = fit => {
48
+ switch (fit) {
49
+ case 'cover':
50
+ return styles.imageCover;
51
+ case 'contain':
52
+ return styles.imageContain;
53
+ case 'fill':
54
+ return styles.imageFill;
55
+ default:
56
+ return '';
57
+ }
58
+ };
59
+ const getBorderClass = borderStyle => {
60
+ switch (borderStyle) {
61
+ case 'neon':
62
+ return styles.borderNeon;
63
+ case 'gradient':
64
+ return styles.borderGradient;
65
+ case 'tech':
66
+ return styles.borderTech;
67
+ default:
68
+ return '';
69
+ }
70
+ };
71
+ const Image = ({
72
+ ref,
73
+ src = DEFAULT_IMAGE,
74
+ alt = '',
75
+ objectFit = 'cover',
76
+ borderRadius = 0,
77
+ borderStyle = 'none',
78
+ borderColor = '#00d4ff',
79
+ shadow = false,
80
+ shadowColor = 'rgba(0, 212, 255, 0.3)',
81
+ style: externalStyle
82
+ }) => {
83
+ const containerStyle = {
84
+ borderRadius,
85
+ color: borderColor,
86
+ boxShadow: shadow ? `0 4px 20px ${shadowColor}` : undefined,
87
+ ...externalStyle
88
+ };
89
+
90
+ // 图片模式
91
+ return /*#__PURE__*/jsx("div", {
92
+ className: cn(styles.container, getBorderClass(borderStyle)),
93
+ ref: ref,
94
+ style: containerStyle,
95
+ children: /*#__PURE__*/jsx("img", {
96
+ alt: alt,
97
+ className: cn(styles.image, getObjectFitClass(objectFit)),
98
+ draggable: false,
99
+ height: "100%",
100
+ src: src,
101
+ width: "100%"
102
+ })
103
+ });
104
+ };
105
+
106
+ const COMPONENT_NAME = 'EasyEditorMaterialsImage';
107
+ const PACKAGE_NAME = '@easy-editor/materials-dashboard-image';
108
+
109
+ const configure = {
110
+ props: [{
111
+ type: 'group',
112
+ title: '属性',
113
+ setter: 'TabSetter',
114
+ items: [{
115
+ type: 'group',
116
+ key: 'config',
117
+ title: '配置',
118
+ setter: {
119
+ componentName: 'CollapseSetter',
120
+ props: {
121
+ icon: false
122
+ }
123
+ },
124
+ items: [
125
+ {
126
+ name: 'id',
127
+ title: 'ID',
128
+ setter: 'NodeIdSetter',
129
+ extraProps: {
130
+ label: false
131
+ }
132
+ }, {
133
+ name: 'title',
134
+ title: '标题',
135
+ setter: 'StringSetter',
136
+ extraProps: {
137
+ getValue(target) {
138
+ return target.getExtraPropValue('title');
139
+ },
140
+ setValue(target, value) {
141
+ target.setExtraPropValue('title', value);
142
+ }
143
+ }
144
+ }, {
145
+ type: 'group',
146
+ title: '基础属性',
147
+ setter: {
148
+ componentName: 'CollapseSetter',
149
+ props: {
150
+ icon: false
151
+ }
152
+ },
153
+ items: [{
154
+ name: 'rect',
155
+ title: '位置尺寸',
156
+ setter: 'RectSetter',
157
+ extraProps: {
158
+ getValue(target) {
159
+ return target.getExtraPropValue('$dashboard.rect');
160
+ },
161
+ setValue(target, value) {
162
+ target.setExtraPropValue('$dashboard.rect', value);
163
+ }
164
+ }
165
+ }]
166
+ },
167
+ {
168
+ type: 'group',
169
+ title: '内容',
170
+ setter: {
171
+ componentName: 'CollapseSetter',
172
+ props: {
173
+ icon: false
174
+ }
175
+ },
176
+ items: [{
177
+ name: '__upload',
178
+ title: '上传',
179
+ setter: {
180
+ componentName: 'UploadSetter',
181
+ props: {
182
+ accept: '.jpg,.jpeg,.png,.gif,.svg'
183
+ }
184
+ },
185
+ extraProps: {
186
+ setValue(target, value) {
187
+ if (value) {
188
+ const {
189
+ base64,
190
+ raw
191
+ } = value;
192
+ if (base64) {
193
+ target.parent.setPropValue('src', base64);
194
+ }
195
+ if (raw?.width) {
196
+ target.parent.setExtraPropValue('$dashboard.rect.width', raw.width);
197
+ }
198
+ if (raw?.height) {
199
+ target.parent.setExtraPropValue('$dashboard.rect.height', raw.height);
200
+ }
201
+ } else {
202
+ target.parent.clearPropValue('src');
203
+ }
204
+ }
205
+ }
206
+ }, {
207
+ name: 'src',
208
+ title: '图片地址',
209
+ setter: 'StringSetter'
210
+ }, {
211
+ name: 'alt',
212
+ title: '替代文本',
213
+ setter: 'StringSetter'
214
+ }]
215
+ }, {
216
+ type: 'group',
217
+ title: '加载',
218
+ setter: {
219
+ componentName: 'CollapseSetter',
220
+ props: {
221
+ icon: false
222
+ }
223
+ },
224
+ items: [{
225
+ name: 'lazyLoad',
226
+ title: '懒加载',
227
+ setter: 'SwitchSetter',
228
+ extraProps: {
229
+ defaultValue: false
230
+ }
231
+ }, {
232
+ name: 'lazyLoadThreshold',
233
+ title: '懒加载阈值',
234
+ setter: {
235
+ componentName: 'SliderSetter',
236
+ props: {
237
+ min: 0,
238
+ max: 500,
239
+ step: 50,
240
+ suffix: 'px'
241
+ }
242
+ },
243
+ extraProps: {
244
+ defaultValue: 100
245
+ }
246
+ }, {
247
+ name: 'placeholder',
248
+ title: '占位图',
249
+ setter: 'StringSetter'
250
+ }]
251
+ }, {
252
+ type: 'group',
253
+ title: '样式',
254
+ setter: {
255
+ componentName: 'CollapseSetter',
256
+ props: {
257
+ icon: false
258
+ }
259
+ },
260
+ items: [{
261
+ name: 'objectFit',
262
+ title: '填充方式',
263
+ setter: {
264
+ componentName: 'SelectSetter',
265
+ props: {
266
+ options: [{
267
+ label: '覆盖',
268
+ value: 'cover'
269
+ }, {
270
+ label: '包含',
271
+ value: 'contain'
272
+ }, {
273
+ label: '填充',
274
+ value: 'fill'
275
+ }, {
276
+ label: '无',
277
+ value: 'none'
278
+ }]
279
+ }
280
+ },
281
+ extraProps: {
282
+ defaultValue: 'cover'
283
+ }
284
+ }, {
285
+ name: 'borderRadius',
286
+ title: '圆角',
287
+ setter: 'NumberSetter',
288
+ extraProps: {
289
+ defaultValue: 0
290
+ }
291
+ }, {
292
+ name: 'borderStyle',
293
+ title: '边框样式',
294
+ setter: {
295
+ componentName: 'SelectSetter',
296
+ props: {
297
+ options: [{
298
+ label: '无',
299
+ value: 'none'
300
+ }, {
301
+ label: '霓虹',
302
+ value: 'neon'
303
+ }, {
304
+ label: '渐变',
305
+ value: 'gradient'
306
+ }, {
307
+ label: '科技感',
308
+ value: 'tech'
309
+ }]
310
+ }
311
+ },
312
+ extraProps: {
313
+ defaultValue: 'none'
314
+ }
315
+ }, {
316
+ name: 'borderColor',
317
+ title: '边框颜色',
318
+ setter: 'ColorSetter',
319
+ extraProps: {
320
+ defaultValue: '#00d4ff'
321
+ }
322
+ }, {
323
+ name: 'shadow',
324
+ title: '启用阴影',
325
+ setter: 'SwitchSetter',
326
+ extraProps: {
327
+ defaultValue: false
328
+ }
329
+ }, {
330
+ name: 'shadowColor',
331
+ title: '阴影颜色',
332
+ setter: 'ColorSetter',
333
+ extraProps: {
334
+ defaultValue: 'rgba(0, 212, 255, 0.3)'
335
+ }
336
+ }]
337
+ }]
338
+ }, {
339
+ type: 'group',
340
+ key: 'data',
341
+ title: '数据',
342
+ items: [{
343
+ name: 'dataBinding',
344
+ title: '数据绑定',
345
+ setter: 'DataBindingSetter'
346
+ }]
347
+ }, {
348
+ type: 'group',
349
+ key: 'advanced',
350
+ title: '高级',
351
+ items: [{
352
+ name: 'condition',
353
+ title: '显隐控制',
354
+ setter: 'SwitchSetter',
355
+ extraProps: {
356
+ defaultValue: true,
357
+ supportVariable: true
358
+ }
359
+ }]
360
+ }]
361
+ }],
362
+ component: {},
363
+ supports: {},
364
+ advanced: {}
365
+ };
366
+
367
+ const snippets = [{
368
+ title: '普通图片',
369
+ screenshot: '',
370
+ schema: {
371
+ componentName: COMPONENT_NAME,
372
+ props: {
373
+ alt: '图片',
374
+ objectFit: 'contain',
375
+ borderRadius: 0
376
+ },
377
+ $dashboard: {
378
+ rect: {
379
+ width: 200,
380
+ height: 180
381
+ }
382
+ }
383
+ }
384
+ }, {
385
+ title: '圆角图片',
386
+ screenshot: '',
387
+ schema: {
388
+ componentName: COMPONENT_NAME,
389
+ props: {
390
+ alt: '圆角图片',
391
+ objectFit: 'contain',
392
+ borderRadius: 100,
393
+ borderStyle: 'tech'
394
+ },
395
+ $dashboard: {
396
+ rect: {
397
+ width: 200,
398
+ height: 200
399
+ }
400
+ }
401
+ }
402
+ }];
403
+
404
+ var version = "0.0.1";
405
+ var pkg = {
406
+ version: version};
407
+
408
+ const meta = {
409
+ componentName: COMPONENT_NAME,
410
+ title: '图片',
411
+ group: MaterialGroup.MEDIA,
412
+ devMode: 'proCode',
413
+ npm: {
414
+ package: PACKAGE_NAME,
415
+ version: pkg.version,
416
+ globalName: COMPONENT_NAME,
417
+ componentName: COMPONENT_NAME
418
+ },
419
+ snippets,
420
+ configure
421
+ };
422
+
423
+ export { Image as component, meta };
424
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../../../../shared/src/lib/utils.ts","../../../../shared/src/index.ts","../../../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js","../src/component.tsx","../src/constants.ts","../src/configure.ts","../src/snippets.ts","../src/meta.ts"],"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","/**\n * Shared types, components and utilities for EasyEditor materials\n * @package @easy-editor/materials-shared\n */\n\n// 物料分组常量\nexport const MaterialGroup = {\n /** 内置 */\n INNER: 'inner',\n /** 基础 */\n BASIC: 'basic',\n /** 图表 */\n CHART: 'chart',\n /** 数据展示 */\n DISPLAY: 'display',\n /** 媒体 */\n MEDIA: 'media',\n /** 交互 */\n INTERACTION: 'interaction',\n /** 地图 */\n MAP: 'map',\n} as const\n\nexport type MaterialGroup = (typeof MaterialGroup)[keyof typeof MaterialGroup]\n\n// 工具函数\nexport { cn } from './lib/utils'\n\nexport * from './types'\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","/**\n * 物料常量配置\n * 统一管理全局变量名等配置,确保 meta.ts 和 rollup.config.js 使用相同的值\n */\n\n/**\n * UMD 全局变量基础名称\n * 用于构建:\n * - 元数据:${GLOBAL_NAME}Meta (例如: EasyEditorMaterialsImageMeta)\n * - 组件:${GLOBAL_NAME}Component (例如: EasyEditorMaterialsImageComponent)\n * - 完整构建:${GLOBAL_NAME} (例如: EasyEditorMaterialsImage)\n */\nexport const COMPONENT_NAME = 'EasyEditorMaterialsImage'\n\n/**\n * 包名\n */\nexport const PACKAGE_NAME = '@easy-editor/materials-dashboard-image'\n","/**\n * Image Configure\n * 图片组件配置\n */\n\nimport type { Configure } from '@easy-editor/core'\nimport type { UploadValue } from '@easy-editor/materials-shared'\n\nexport const configure: Configure = {\n props: [\n {\n type: 'group',\n title: '属性',\n setter: 'TabSetter',\n items: [\n {\n type: 'group',\n key: 'config',\n title: '配置',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n // 基础配置\n {\n name: 'id',\n title: 'ID',\n setter: 'NodeIdSetter',\n extraProps: {\n // @ts-expect-error label is not a valid extra prop\n label: false,\n },\n },\n {\n name: 'title',\n title: '标题',\n setter: 'StringSetter',\n extraProps: {\n getValue(target) {\n return target.getExtraPropValue('title')\n },\n setValue(target, value) {\n target.setExtraPropValue('title', value)\n },\n },\n },\n {\n type: 'group',\n title: '基础属性',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n name: 'rect',\n title: '位置尺寸',\n setter: 'RectSetter',\n extraProps: {\n getValue(target) {\n return target.getExtraPropValue('$dashboard.rect')\n },\n setValue(target, value) {\n target.setExtraPropValue('$dashboard.rect', value)\n },\n },\n },\n ],\n },\n // 组件配置\n {\n type: 'group',\n title: '内容',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n name: '__upload',\n title: '上传',\n setter: {\n componentName: 'UploadSetter',\n props: {\n accept: '.jpg,.jpeg,.png,.gif,.svg',\n },\n },\n extraProps: {\n setValue(target, value: UploadValue) {\n if (value) {\n const { base64, raw } = value\n if (base64) {\n target.parent.setPropValue('src', base64)\n }\n if (raw?.width) {\n target.parent.setExtraPropValue('$dashboard.rect.width', raw.width)\n }\n if (raw?.height) {\n target.parent.setExtraPropValue('$dashboard.rect.height', raw.height)\n }\n } else {\n target.parent.clearPropValue('src')\n }\n },\n },\n },\n {\n name: 'src',\n title: '图片地址',\n setter: 'StringSetter',\n },\n {\n name: 'alt',\n title: '替代文本',\n setter: 'StringSetter',\n },\n ],\n },\n {\n type: 'group',\n title: '加载',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n name: 'lazyLoad',\n title: '懒加载',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: false,\n },\n },\n {\n name: 'lazyLoadThreshold',\n title: '懒加载阈值',\n setter: {\n componentName: 'SliderSetter',\n props: {\n min: 0,\n max: 500,\n step: 50,\n suffix: 'px',\n },\n },\n extraProps: {\n defaultValue: 100,\n },\n },\n {\n name: 'placeholder',\n title: '占位图',\n setter: 'StringSetter',\n },\n ],\n },\n {\n type: 'group',\n title: '样式',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n name: 'objectFit',\n title: '填充方式',\n setter: {\n componentName: 'SelectSetter',\n props: {\n options: [\n { label: '覆盖', value: 'cover' },\n { label: '包含', value: 'contain' },\n { label: '填充', value: 'fill' },\n { label: '无', value: 'none' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'cover',\n },\n },\n {\n name: 'borderRadius',\n title: '圆角',\n setter: 'NumberSetter',\n extraProps: {\n defaultValue: 0,\n },\n },\n {\n name: 'borderStyle',\n title: '边框样式',\n setter: {\n componentName: 'SelectSetter',\n props: {\n options: [\n { label: '无', value: 'none' },\n { label: '霓虹', value: 'neon' },\n { label: '渐变', value: 'gradient' },\n { label: '科技感', value: 'tech' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'none',\n },\n },\n {\n name: 'borderColor',\n title: '边框颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: '#00d4ff',\n },\n },\n {\n name: 'shadow',\n title: '启用阴影',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: false,\n },\n },\n {\n name: 'shadowColor',\n title: '阴影颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: 'rgba(0, 212, 255, 0.3)',\n },\n },\n ],\n },\n ],\n },\n {\n type: 'group',\n key: 'data',\n title: '数据',\n items: [\n {\n name: 'dataBinding',\n title: '数据绑定',\n setter: 'DataBindingSetter',\n },\n ],\n },\n {\n type: 'group',\n key: 'advanced',\n title: '高级',\n items: [\n {\n name: 'condition',\n title: '显隐控制',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n supportVariable: true,\n },\n },\n ],\n },\n ],\n },\n ],\n component: {},\n supports: {},\n advanced: {},\n}\n\nexport default configure\n","/**\n * Image Snippets\n * 图片组件代码片段\n */\n\nimport type { Snippet } from '@easy-editor/core'\nimport { COMPONENT_NAME } from './constants'\n\nexport const snippets: Snippet[] = [\n {\n title: '普通图片',\n screenshot: '',\n schema: {\n componentName: COMPONENT_NAME,\n props: {\n alt: '图片',\n objectFit: 'contain',\n borderRadius: 0,\n },\n $dashboard: {\n rect: {\n width: 200,\n height: 180,\n },\n },\n },\n },\n {\n title: '圆角图片',\n screenshot: '',\n schema: {\n componentName: COMPONENT_NAME,\n props: {\n alt: '圆角图片',\n objectFit: 'contain',\n borderRadius: 100,\n borderStyle: 'tech',\n },\n $dashboard: {\n rect: {\n width: 200,\n height: 200,\n },\n },\n },\n },\n]\n\nexport default snippets\n","/**\n * Image Meta\n * 图片组件元数据\n */\n\nimport type { ComponentMetadata } from '@easy-editor/core'\nimport { MaterialGroup } from '@easy-editor/materials-shared'\nimport { COMPONENT_NAME, PACKAGE_NAME } from './constants'\nimport configure from './configure'\nimport snippets from './snippets'\nimport pkg from '../package.json'\n\nexport const meta: ComponentMetadata = {\n componentName: COMPONENT_NAME,\n title: '图片',\n group: MaterialGroup.MEDIA,\n devMode: 'proCode',\n npm: {\n package: PACKAGE_NAME,\n version: pkg.version,\n globalName: COMPONENT_NAME,\n componentName: COMPONENT_NAME,\n },\n snippets,\n configure,\n}\n\nexport default meta\n"],"names":["cn","inputs","clsx","MaterialGroup","INNER","MEDIA","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","COMPONENT_NAME","PACKAGE_NAME","configure","props","title","setter","items","key","componentName","icon","name","extraProps","label","getValue","target","getExtraPropValue","setValue","value","setExtraPropValue","accept","base64","raw","parent","setPropValue","clearPropValue","defaultValue","min","max","step","suffix","options","supportVariable","component","supports","advanced","snippets","screenshot","schema","$dashboard","rect","meta","group","devMode","npm","package","version","pkg","globalName"],"mappings":"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","x_google_ignoreList":[0,3]}