@easy-editor/materials-dashboard-text 0.0.10 → 0.0.11

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../shared/src/types.ts","../src/constants.ts","../src/component.tsx","../src/configure.ts","../src/snippets.ts","../src/meta.ts"],"sourcesContent":["/**\n * Material Groups\n * 物料分组常量\n */\nexport const MaterialGroup = {\n /** 内置 */\n INNER: 'inner',\n /** 基础 */\n BASIC: 'basic',\n /** 图表 */\n CHART: 'chart',\n /** 数据展示 */\n DATA: 'data',\n /** 交互 */\n INTERACTION: 'interaction',\n} as const\n\n/**\n * Material Group Type\n */\nexport type MaterialGroupType = (typeof MaterialGroup)[keyof typeof MaterialGroup]\n","/**\n * 物料常量配置\n * 统一管理全局变量名等配置,确保 meta.ts 和 rollup.config.js 使用相同的值\n */\n\n/**\n * UMD 全局变量基础名称\n * 用于构建:\n * - 元数据:${GLOBAL_NAME}Meta (例如: EasyEditorMaterialsTextMeta)\n * - 组件:${GLOBAL_NAME}Component (例如: EasyEditorMaterialsTextComponent)\n * - 完整构建:${GLOBAL_NAME} (例如: EasyEditorMaterialsText)\n */\nexport const COMPONENT_NAME = 'EasyEditorMaterialsText'\n\n/**\n * 包名\n */\nexport const PACKAGE_NAME = '@easy-editor/materials-dashboard-text'\n","import type { CSSProperties, Ref } from 'react'\n\ninterface TextProps {\n ref?: Ref<HTMLDivElement>\n text?: string\n fontSize?: number | string\n color?: string\n fontWeight?: string | number\n textAlign?: 'left' | 'center' | 'right' | 'justify'\n lineHeight?: number | string\n className?: string\n style?: CSSProperties\n}\n\nconst Text = (props: TextProps) => {\n const {\n ref,\n text = 'Text',\n fontSize = 14,\n color = '#ffffff',\n fontWeight = 'normal',\n textAlign = 'left',\n lineHeight = 1.5,\n className = '',\n style: externalStyle,\n } = props\n\n const internalStyle: CSSProperties = {\n width: '100%',\n height: '100%',\n fontSize: typeof fontSize === 'number' ? `${fontSize}px` : fontSize,\n color,\n fontWeight,\n textAlign,\n lineHeight,\n wordBreak: 'break-word',\n whiteSpace: 'pre-wrap',\n }\n\n const mergedStyle = { ...internalStyle, ...externalStyle }\n\n return (\n <div className={className} ref={ref} style={mergedStyle}>\n {text}\n </div>\n )\n}\n\nexport default Text\n","import type { Configure } from '@easy-editor/core'\nimport Text from './component'\n\nconst configure: Configure = {\n props: [\n {\n type: 'group',\n title: '功能',\n setter: 'TabSetter',\n items: [\n {\n type: 'group',\n key: 'basic',\n title: '基本',\n items: [\n {\n name: 'id',\n title: 'ID',\n setter: 'NodeIdSetter',\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 name: 'text',\n title: '文本内容',\n setter: 'StringSetter',\n },\n {\n type: 'group',\n title: '字体样式',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n name: 'fontSize',\n title: '字体大小',\n setter: 'NumberSetter',\n extraProps: {\n defaultValue: 14,\n },\n },\n {\n name: 'color',\n title: '文字颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: '#000000',\n },\n },\n {\n name: 'lineHeight',\n title: '行高',\n setter: 'NumberSetter',\n extraProps: {\n defaultValue: 1.5,\n },\n },\n ],\n },\n ],\n },\n {\n type: 'group',\n key: 'advanced',\n title: '高级',\n items: [\n {\n type: 'group',\n title: '高级设置',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n title: '显隐',\n setter: 'SwitchSetter',\n extraProps: {\n supportVariable: true,\n getValue(target) {\n return target.getExtraPropValue('condition')\n },\n setValue(target, value: boolean) {\n target.setExtraPropValue('condition', value)\n },\n },\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n component: {},\n supports: {},\n advanced: {\n view: Text,\n },\n}\n\nexport default configure\n","import type { Snippet } from '@easy-editor/core'\nimport { COMPONENT_NAME } from './constants'\n\nconst snippets: Snippet[] = [\n {\n title: 'Text',\n screenshot: 'https://img.alicdn.com/imgextra/i3/O1CN01n5wpxc1bi862KuXFz_!!6000000003498-55-tps-50-50.svg',\n schema: {\n componentName: COMPONENT_NAME,\n props: {\n text: 'Text Text Text',\n fontSize: 14,\n color: '#ffffff',\n textAlign: 'left',\n },\n $dashboard: {\n rect: {\n width: 120,\n height: 40,\n },\n },\n },\n },\n {\n title: 'Heading',\n screenshot: 'https://img.alicdn.com/imgextra/i3/O1CN01n5wpxc1bi862KuXFz_!!6000000003498-55-tps-50-50.svg',\n schema: {\n componentName: COMPONENT_NAME,\n props: {\n text: 'Heading',\n fontSize: 24,\n color: '#ffffff',\n fontWeight: 'bold',\n textAlign: 'center',\n },\n $dashboard: {\n rect: {\n width: 200,\n height: 50,\n },\n },\n },\n },\n]\n\nexport default snippets\n","import 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'\n\nconst meta: ComponentMetadata = {\n componentName: COMPONENT_NAME,\n title: 'Text',\n group: MaterialGroup.BASIC,\n devMode: 'proCode',\n npm: {\n package: PACKAGE_NAME,\n version: 'latest',\n globalName: COMPONENT_NAME,\n componentName: COMPONENT_NAME,\n },\n snippets,\n configure,\n}\n\nexport default meta\n"],"names":["MaterialGroup","INNER","BASIC","COMPONENT_NAME","PACKAGE_NAME","Text","props","ref","text","fontSize","color","fontWeight","textAlign","lineHeight","className","style","externalStyle","internalStyle","width","height","wordBreak","whiteSpace","mergedStyle","_jsx","children","configure","type","title","setter","items","key","name","extraProps","getValue","target","getExtraPropValue","setValue","value","setExtraPropValue","componentName","icon","defaultValue","supportVariable","component","supports","advanced","view","snippets","screenshot","schema","$dashboard","rect","meta","group","devMode","npm","package","version","globalName"],"mappings":"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"}
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/configure.ts","../src/constants.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 * Text 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 TextAlign = 'left' | 'center' | 'right'\nexport type VerticalAlign = 'top' | 'middle' | 'bottom'\n\nexport interface TextProps {\n ref?: Ref<HTMLDivElement>\n /** 文本内容 */\n content?: string\n /** 字体大小 */\n fontSize?: number\n /** 字体粗细 */\n fontWeight?: number | 'normal' | 'bold'\n /** 字体家族 */\n fontFamily?: string\n /** 颜色 */\n color?: string\n /** 水平对齐 */\n textAlign?: TextAlign\n /** 垂直对齐 */\n verticalAlign?: VerticalAlign\n /** 行高 */\n lineHeight?: number\n /** 字间距 */\n letterSpacing?: number\n /** 是否为链接 */\n isLink?: boolean\n /** 链接地址 */\n href?: string\n /** 链接打开方式 */\n target?: '_self' | '_blank'\n /** 下划线 */\n underline?: boolean\n /** 发光效果 */\n glowEnable?: boolean\n /** 发光颜色 */\n glowColor?: string\n /** 发光强度 */\n glowIntensity?: number\n /** 显隐控制 */\n condition?: boolean\n /** 外部样式 */\n style?: CSSProperties\n}\n\nconst getAlignClass = (align: TextAlign): string => {\n switch (align) {\n case 'left':\n return styles.alignLeft\n case 'center':\n return styles.alignCenter\n case 'right':\n return styles.alignRight\n default:\n return styles.alignLeft\n }\n}\n\nconst getValignClass = (align: VerticalAlign): string => {\n switch (align) {\n case 'top':\n return styles.valignTop\n case 'middle':\n return styles.valignMiddle\n case 'bottom':\n return styles.valignBottom\n default:\n return styles.valignMiddle\n }\n}\n\nexport const Text: React.FC<TextProps> = ({\n ref,\n content = '文本内容',\n fontSize = 16,\n fontWeight = 'normal',\n fontFamily = 'inherit',\n color = '#ffffff',\n textAlign = 'left',\n verticalAlign = 'middle',\n lineHeight = 1.5,\n letterSpacing = 0,\n isLink = false,\n href = '',\n target = '_blank',\n underline = false,\n glowEnable = false,\n glowColor = '#00d4ff',\n glowIntensity = 1,\n style: externalStyle,\n}) => {\n // 计算发光效果\n const textShadow = glowEnable\n ? `0 0 ${10 * glowIntensity}px ${glowColor}, 0 0 ${20 * glowIntensity}px ${glowColor}, 0 0 ${30 * glowIntensity}px ${glowColor}`\n : undefined\n\n const textStyle: CSSProperties = {\n fontSize,\n fontWeight,\n fontFamily,\n color,\n lineHeight,\n letterSpacing,\n textShadow,\n }\n\n const containerClass = cn(styles.container, getAlignClass(textAlign), getValignClass(verticalAlign))\n\n const textClass = cn(styles.text, isLink && styles.link, underline && styles.underline)\n\n // 链接模式\n if (isLink && href) {\n const relValue = target === '_blank' ? 'noopener noreferrer' : ''\n return (\n <div className={containerClass} ref={ref} style={externalStyle}>\n <a className={textClass} href={href} rel={relValue} style={textStyle} target={target}>\n {content}\n </a>\n </div>\n )\n }\n\n // 普通文本\n return (\n <div className={containerClass} ref={ref} style={externalStyle}>\n <span className={textClass} style={textStyle}>\n {content}\n </span>\n </div>\n )\n}\n\nexport default Text\n","/**\n * Text Configure\n * 文本组件配置\n */\n\nimport type { Configure } from '@easy-editor/core'\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: 'content',\n title: '文本内容',\n setter: 'TextAreaSetter',\n extraProps: {\n defaultValue: '文本内容',\n },\n },\n {\n name: 'isLink',\n title: '作为链接',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: false,\n },\n },\n {\n name: 'href',\n title: '链接地址',\n setter: 'StringSetter',\n },\n {\n name: 'target',\n title: '打开方式',\n setter: {\n componentName: 'SelectSetter',\n props: {\n options: [\n { label: '新窗口', value: '_blank' },\n { label: '当前窗口', value: '_self' },\n ],\n },\n },\n extraProps: {\n defaultValue: '_blank',\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: 'fontSize',\n title: '字体大小',\n setter: 'NumberSetter',\n extraProps: {\n defaultValue: 16,\n },\n },\n {\n name: 'fontWeight',\n title: '字体粗细',\n setter: {\n componentName: 'SelectSetter',\n props: {\n options: [\n { label: '正常', value: 'normal' },\n { label: '粗体', value: 'bold' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'normal',\n },\n },\n {\n name: 'color',\n title: '颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: '#ffffff',\n },\n },\n {\n name: 'lineHeight',\n title: '行高',\n setter: 'NumberSetter',\n extraProps: {\n defaultValue: 1.5,\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: 'textAlign',\n title: '水平对齐',\n setter: {\n componentName: 'SegmentedSetter',\n props: {\n options: [\n { label: '左', value: 'left' },\n { label: '中', value: 'center' },\n { label: '右', value: 'right' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'left',\n },\n },\n {\n name: 'verticalAlign',\n title: '垂直对齐',\n setter: {\n componentName: 'SegmentedSetter',\n props: {\n options: [\n { label: '上', value: 'top' },\n { label: '中', value: 'middle' },\n { label: '下', value: 'bottom' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'middle',\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: 'underline',\n title: '下划线',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: false,\n },\n },\n {\n name: 'glowEnable',\n title: '发光效果',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: false,\n },\n },\n {\n name: 'glowColor',\n title: '发光颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: '#00d4ff',\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","/**\n * 物料常量配置\n * 统一管理全局变量名等配置,确保 meta.ts 和 rollup.config.js 使用相同的值\n */\n\n/**\n * UMD 全局变量基础名称\n * 用于构建:\n * - 元数据:${GLOBAL_NAME}Meta (例如: EasyEditorMaterialsTextMeta)\n * - 组件:${GLOBAL_NAME}Component (例如: EasyEditorMaterialsTextComponent)\n * - 完整构建:${GLOBAL_NAME} (例如: EasyEditorMaterialsText)\n */\nexport const COMPONENT_NAME = 'EasyEditorMaterialsText'\n\n/**\n * 包名\n */\nexport const PACKAGE_NAME = '@easy-editor/materials-dashboard-text'\n","/**\n * Text 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 content: '这是一段普通文本',\n fontSize: 16,\n color: '#ffffff',\n },\n $dashboard: {\n rect: {\n width: 120,\n height: 40,\n },\n },\n },\n },\n {\n title: '标题文本',\n screenshot: '',\n schema: {\n componentName: COMPONENT_NAME,\n props: {\n content: '标题文本',\n fontSize: 32,\n fontWeight: 'bold',\n color: '#ffffff',\n textAlign: 'center',\n },\n $dashboard: {\n rect: {\n width: 200,\n height: 60,\n },\n },\n },\n },\n {\n title: '发光标题',\n screenshot: '',\n schema: {\n componentName: COMPONENT_NAME,\n props: {\n content: '发光标题',\n fontSize: 36,\n fontWeight: 'bold',\n color: '#00d4ff',\n textAlign: 'center',\n glowEnable: true,\n glowColor: '#00d4ff',\n glowIntensity: 1.5,\n },\n $dashboard: {\n rect: {\n width: 240,\n height: 80,\n },\n },\n },\n },\n {\n title: '链接文本',\n screenshot: '',\n schema: {\n componentName: COMPONENT_NAME,\n props: {\n content: '点击跳转',\n fontSize: 16,\n color: '#00d4ff',\n isLink: true,\n href: 'https://easy-editor-docs.vercel.app/',\n target: '_blank',\n underline: true,\n },\n $dashboard: {\n rect: {\n width: 120,\n height: 40,\n },\n },\n },\n },\n]\n","/**\n * Text Meta\n * 文本组件元数据\n */\n\nimport type { ComponentMetadata } from '@easy-editor/core'\nimport { configure } from './configure'\nimport { snippets } from './snippets'\nimport { COMPONENT_NAME, PACKAGE_NAME } from './constants'\nimport { MaterialGroup } from '@easy-editor/materials-shared'\nimport pkg from '../package.json'\n\nexport const meta: ComponentMetadata = {\n componentName: COMPONENT_NAME,\n title: '文本',\n category: 'dashboard',\n group: MaterialGroup.BASIC,\n devMode: 'proCode',\n npm: {\n package: PACKAGE_NAME,\n version: pkg.version,\n globalName: COMPONENT_NAME,\n componentName: COMPONENT_NAME,\n },\n configure,\n snippets,\n}\n"],"names":["cn","inputs","clsx","MaterialGroup","INNER","BASIC","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","getAlignClass","align","styles","alignLeft","alignCenter","alignRight","getValignClass","valignTop","valignMiddle","valignBottom","Text","content","fontSize","fontWeight","fontFamily","color","textAlign","verticalAlign","lineHeight","letterSpacing","isLink","href","target","underline","glowEnable","glowColor","glowIntensity","externalStyle","textShadow","undefined","textStyle","containerClass","container","textClass","text","link","relValue","_jsx","className","children","rel","configure","props","title","setter","items","key","componentName","icon","name","extraProps","label","getValue","getExtraPropValue","setValue","value","setExtraPropValue","defaultValue","options","supportVariable","component","supports","advanced","COMPONENT_NAME","PACKAGE_NAME","snippets","screenshot","schema","$dashboard","rect","width","height","meta","category","group","devMode","npm","package","version","pkg","globalName"],"mappings":"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","x_google_ignoreList":[0,3]}
package/dist/index.js CHANGED
@@ -1,64 +1,165 @@
1
- /* @easy-editor/materials-dashboard-text v0.0.9 */
1
+ /* @easy-editor/materials-dashboard-text v0.0.10 */
2
2
  (function (global, factory) {
3
3
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react/jsx-runtime')) :
4
4
  typeof define === 'function' && define.amd ? define(['exports', 'react/jsx-runtime'], factory) :
5
5
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.EasyEditorMaterialsText = {}, global.jsxRuntime));
6
6
  })(this, (function (exports, jsxRuntime) { 'use strict';
7
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
+
8
14
  const MaterialGroup = {
9
15
  BASIC: 'basic'};
10
16
 
11
- const COMPONENT_NAME = 'EasyEditorMaterialsText';
12
- const PACKAGE_NAME = '@easy-editor/materials-dashboard-text';
17
+ function styleInject(css, ref) {
18
+ if (ref === void 0) ref = {};
19
+ var insertAt = ref.insertAt;
20
+ if (typeof document === 'undefined') {
21
+ return;
22
+ }
23
+ var head = document.head || document.getElementsByTagName('head')[0];
24
+ var style = document.createElement('style');
25
+ style.type = 'text/css';
26
+ if (insertAt === 'top') {
27
+ if (head.firstChild) {
28
+ head.insertBefore(style, head.firstChild);
29
+ } else {
30
+ head.appendChild(style);
31
+ }
32
+ } else {
33
+ head.appendChild(style);
34
+ }
35
+ if (style.styleSheet) {
36
+ style.styleSheet.cssText = css;
37
+ } else {
38
+ style.appendChild(document.createTextNode(css));
39
+ }
40
+ }
13
41
 
14
- const Text = props => {
15
- const {
16
- ref,
17
- text = 'Text',
18
- fontSize = 14,
19
- color = '#ffffff',
20
- fontWeight = 'normal',
21
- textAlign = 'left',
22
- lineHeight = 1.5,
23
- className = '',
24
- style: externalStyle
25
- } = props;
26
- const internalStyle = {
27
- width: '100%',
28
- height: '100%',
29
- fontSize: typeof fontSize === 'number' ? `${fontSize}px` : fontSize,
30
- color,
42
+ var css_248z = ".component-module__container___VbZSk{display:flex;height:100%;width:100%}.component-module__text___nFUOn{display:inline-block;word-break:break-word}.component-module__link___20asF{cursor:pointer;text-decoration:none;transition:opacity .2s ease}.component-module__link___20asF:hover{opacity:.8}.component-module__underline___0oAJz{text-decoration:underline}.component-module__alignLeft___IOvpO{justify-content:flex-start;text-align:left}.component-module__alignCenter___EIwIC{justify-content:center;text-align:center}.component-module__alignRight___p3ReL{justify-content:flex-end;text-align:right}.component-module__valignTop___-5DmK{align-items:flex-start}.component-module__valignMiddle___i0are{align-items:center}.component-module__valignBottom___97zzw{align-items:flex-end}";
43
+ var styles = {"container":"component-module__container___VbZSk","text":"component-module__text___nFUOn","link":"component-module__link___20asF","underline":"component-module__underline___0oAJz","alignLeft":"component-module__alignLeft___IOvpO","alignCenter":"component-module__alignCenter___EIwIC","alignRight":"component-module__alignRight___p3ReL","valignTop":"component-module__valignTop___-5DmK","valignMiddle":"component-module__valignMiddle___i0are","valignBottom":"component-module__valignBottom___97zzw"};
44
+ styleInject(css_248z);
45
+
46
+ /**
47
+ * Text Component
48
+ * 文本组件 - 支持普通文本、链接、标题、发光效果
49
+ */
50
+
51
+ const getAlignClass = align => {
52
+ switch (align) {
53
+ case 'left':
54
+ return styles.alignLeft;
55
+ case 'center':
56
+ return styles.alignCenter;
57
+ case 'right':
58
+ return styles.alignRight;
59
+ default:
60
+ return styles.alignLeft;
61
+ }
62
+ };
63
+ const getValignClass = align => {
64
+ switch (align) {
65
+ case 'top':
66
+ return styles.valignTop;
67
+ case 'middle':
68
+ return styles.valignMiddle;
69
+ case 'bottom':
70
+ return styles.valignBottom;
71
+ default:
72
+ return styles.valignMiddle;
73
+ }
74
+ };
75
+ const Text = ({
76
+ ref,
77
+ content = '文本内容',
78
+ fontSize = 16,
79
+ fontWeight = 'normal',
80
+ fontFamily = 'inherit',
81
+ color = '#ffffff',
82
+ textAlign = 'left',
83
+ verticalAlign = 'middle',
84
+ lineHeight = 1.5,
85
+ letterSpacing = 0,
86
+ isLink = false,
87
+ href = '',
88
+ target = '_blank',
89
+ underline = false,
90
+ glowEnable = false,
91
+ glowColor = '#00d4ff',
92
+ glowIntensity = 1,
93
+ style: externalStyle
94
+ }) => {
95
+ // 计算发光效果
96
+ const textShadow = glowEnable ? `0 0 ${10 * glowIntensity}px ${glowColor}, 0 0 ${20 * glowIntensity}px ${glowColor}, 0 0 ${30 * glowIntensity}px ${glowColor}` : undefined;
97
+ const textStyle = {
98
+ fontSize,
31
99
  fontWeight,
32
- textAlign,
100
+ fontFamily,
101
+ color,
33
102
  lineHeight,
34
- wordBreak: 'break-word',
35
- whiteSpace: 'pre-wrap'
36
- };
37
- const mergedStyle = {
38
- ...internalStyle,
39
- ...externalStyle
103
+ letterSpacing,
104
+ textShadow
40
105
  };
106
+ const containerClass = cn(styles.container, getAlignClass(textAlign), getValignClass(verticalAlign));
107
+ const textClass = cn(styles.text, isLink && styles.link, underline && styles.underline);
108
+
109
+ // 链接模式
110
+ if (isLink && href) {
111
+ const relValue = target === '_blank' ? 'noopener noreferrer' : '';
112
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
113
+ className: containerClass,
114
+ ref: ref,
115
+ style: externalStyle,
116
+ children: /*#__PURE__*/jsxRuntime.jsx("a", {
117
+ className: textClass,
118
+ href: href,
119
+ rel: relValue,
120
+ style: textStyle,
121
+ target: target,
122
+ children: content
123
+ })
124
+ });
125
+ }
126
+
127
+ // 普通文本
41
128
  return /*#__PURE__*/jsxRuntime.jsx("div", {
42
- className: className,
129
+ className: containerClass,
43
130
  ref: ref,
44
- style: mergedStyle,
45
- children: text
131
+ style: externalStyle,
132
+ children: /*#__PURE__*/jsxRuntime.jsx("span", {
133
+ className: textClass,
134
+ style: textStyle,
135
+ children: content
136
+ })
46
137
  });
47
138
  };
48
139
 
49
140
  const configure = {
50
141
  props: [{
51
142
  type: 'group',
52
- title: '功能',
143
+ title: '属性',
53
144
  setter: 'TabSetter',
54
145
  items: [{
55
146
  type: 'group',
56
- key: 'basic',
57
- title: '基本',
58
- items: [{
147
+ key: 'config',
148
+ title: '配置',
149
+ setter: {
150
+ componentName: 'CollapseSetter',
151
+ props: {
152
+ icon: false
153
+ }
154
+ },
155
+ items: [
156
+ {
59
157
  name: 'id',
60
158
  title: 'ID',
61
- setter: 'NodeIdSetter'
159
+ setter: 'NodeIdSetter',
160
+ extraProps: {
161
+ label: false
162
+ }
62
163
  }, {
63
164
  name: 'title',
64
165
  title: '标题',
@@ -93,13 +194,56 @@
93
194
  }
94
195
  }
95
196
  }]
96
- }, {
97
- name: 'text',
98
- title: '文本内容',
99
- setter: 'StringSetter'
197
+ },
198
+ {
199
+ type: 'group',
200
+ title: '内容',
201
+ setter: {
202
+ componentName: 'CollapseSetter',
203
+ props: {
204
+ icon: false
205
+ }
206
+ },
207
+ items: [{
208
+ name: 'content',
209
+ title: '文本内容',
210
+ setter: 'TextAreaSetter',
211
+ extraProps: {
212
+ defaultValue: '文本内容'
213
+ }
214
+ }, {
215
+ name: 'isLink',
216
+ title: '作为链接',
217
+ setter: 'SwitchSetter',
218
+ extraProps: {
219
+ defaultValue: false
220
+ }
221
+ }, {
222
+ name: 'href',
223
+ title: '链接地址',
224
+ setter: 'StringSetter'
225
+ }, {
226
+ name: 'target',
227
+ title: '打开方式',
228
+ setter: {
229
+ componentName: 'SelectSetter',
230
+ props: {
231
+ options: [{
232
+ label: '新窗口',
233
+ value: '_blank'
234
+ }, {
235
+ label: '当前窗口',
236
+ value: '_self'
237
+ }]
238
+ }
239
+ },
240
+ extraProps: {
241
+ defaultValue: '_blank'
242
+ }
243
+ }]
100
244
  }, {
101
245
  type: 'group',
102
- title: '字体样式',
246
+ title: '字体',
103
247
  setter: {
104
248
  componentName: 'CollapseSetter',
105
249
  props: {
@@ -111,14 +255,32 @@
111
255
  title: '字体大小',
112
256
  setter: 'NumberSetter',
113
257
  extraProps: {
114
- defaultValue: 14
258
+ defaultValue: 16
259
+ }
260
+ }, {
261
+ name: 'fontWeight',
262
+ title: '字体粗细',
263
+ setter: {
264
+ componentName: 'SelectSetter',
265
+ props: {
266
+ options: [{
267
+ label: '正常',
268
+ value: 'normal'
269
+ }, {
270
+ label: '粗体',
271
+ value: 'bold'
272
+ }]
273
+ }
274
+ },
275
+ extraProps: {
276
+ defaultValue: 'normal'
115
277
  }
116
278
  }, {
117
279
  name: 'color',
118
- title: '文字颜色',
280
+ title: '颜色',
119
281
  setter: 'ColorSetter',
120
282
  extraProps: {
121
- defaultValue: '#000000'
283
+ defaultValue: '#ffffff'
122
284
  }
123
285
  }, {
124
286
  name: 'lineHeight',
@@ -128,14 +290,9 @@
128
290
  defaultValue: 1.5
129
291
  }
130
292
  }]
131
- }]
132
- }, {
133
- type: 'group',
134
- key: 'advanced',
135
- title: '高级',
136
- items: [{
293
+ }, {
137
294
  type: 'group',
138
- title: '高级设置',
295
+ title: '对齐',
139
296
  setter: {
140
297
  componentName: 'CollapseSetter',
141
298
  props: {
@@ -143,38 +300,121 @@
143
300
  }
144
301
  },
145
302
  items: [{
146
- title: '显隐',
147
- setter: 'SwitchSetter',
303
+ name: 'textAlign',
304
+ title: '水平对齐',
305
+ setter: {
306
+ componentName: 'SegmentedSetter',
307
+ props: {
308
+ options: [{
309
+ label: '左',
310
+ value: 'left'
311
+ }, {
312
+ label: '中',
313
+ value: 'center'
314
+ }, {
315
+ label: '右',
316
+ value: 'right'
317
+ }]
318
+ }
319
+ },
148
320
  extraProps: {
149
- supportVariable: true,
150
- getValue(target) {
151
- return target.getExtraPropValue('condition');
152
- },
153
- setValue(target, value) {
154
- target.setExtraPropValue('condition', value);
321
+ defaultValue: 'left'
322
+ }
323
+ }, {
324
+ name: 'verticalAlign',
325
+ title: '垂直对齐',
326
+ setter: {
327
+ componentName: 'SegmentedSetter',
328
+ props: {
329
+ options: [{
330
+ label: '上',
331
+ value: 'top'
332
+ }, {
333
+ label: '中',
334
+ value: 'middle'
335
+ }, {
336
+ label: '下',
337
+ value: 'bottom'
338
+ }]
155
339
  }
340
+ },
341
+ extraProps: {
342
+ defaultValue: 'middle'
156
343
  }
157
344
  }]
345
+ }, {
346
+ type: 'group',
347
+ title: '效果',
348
+ setter: {
349
+ componentName: 'CollapseSetter',
350
+ props: {
351
+ icon: false
352
+ }
353
+ },
354
+ items: [{
355
+ name: 'underline',
356
+ title: '下划线',
357
+ setter: 'SwitchSetter',
358
+ extraProps: {
359
+ defaultValue: false
360
+ }
361
+ }, {
362
+ name: 'glowEnable',
363
+ title: '发光效果',
364
+ setter: 'SwitchSetter',
365
+ extraProps: {
366
+ defaultValue: false
367
+ }
368
+ }, {
369
+ name: 'glowColor',
370
+ title: '发光颜色',
371
+ setter: 'ColorSetter',
372
+ extraProps: {
373
+ defaultValue: '#00d4ff'
374
+ }
375
+ }]
376
+ }]
377
+ }, {
378
+ type: 'group',
379
+ key: 'data',
380
+ title: '数据',
381
+ items: [{
382
+ name: 'dataBinding',
383
+ title: '数据绑定',
384
+ setter: 'DataBindingSetter'
385
+ }]
386
+ }, {
387
+ type: 'group',
388
+ key: 'advanced',
389
+ title: '高级',
390
+ items: [{
391
+ name: 'condition',
392
+ title: '显隐控制',
393
+ setter: 'SwitchSetter',
394
+ extraProps: {
395
+ defaultValue: true,
396
+ supportVariable: true
397
+ }
158
398
  }]
159
399
  }]
160
400
  }],
161
401
  component: {},
162
402
  supports: {},
163
- advanced: {
164
- view: Text
165
- }
403
+ advanced: {}
166
404
  };
167
405
 
406
+ const COMPONENT_NAME = 'EasyEditorMaterialsText';
407
+ const PACKAGE_NAME = '@easy-editor/materials-dashboard-text';
408
+
168
409
  const snippets = [{
169
- title: 'Text',
170
- screenshot: 'https://img.alicdn.com/imgextra/i3/O1CN01n5wpxc1bi862KuXFz_!!6000000003498-55-tps-50-50.svg',
410
+ title: '普通文本',
411
+ screenshot: '',
171
412
  schema: {
172
413
  componentName: COMPONENT_NAME,
173
414
  props: {
174
- text: 'Text Text Text',
175
- fontSize: 14,
176
- color: '#ffffff',
177
- textAlign: 'left'
415
+ content: '这是一段普通文本',
416
+ fontSize: 16,
417
+ color: '#ffffff'
178
418
  },
179
419
  $dashboard: {
180
420
  rect: {
@@ -184,39 +424,87 @@
184
424
  }
185
425
  }
186
426
  }, {
187
- title: 'Heading',
188
- screenshot: 'https://img.alicdn.com/imgextra/i3/O1CN01n5wpxc1bi862KuXFz_!!6000000003498-55-tps-50-50.svg',
427
+ title: '标题文本',
428
+ screenshot: '',
189
429
  schema: {
190
430
  componentName: COMPONENT_NAME,
191
431
  props: {
192
- text: 'Heading',
193
- fontSize: 24,
194
- color: '#ffffff',
432
+ content: '标题文本',
433
+ fontSize: 32,
195
434
  fontWeight: 'bold',
435
+ color: '#ffffff',
196
436
  textAlign: 'center'
197
437
  },
198
438
  $dashboard: {
199
439
  rect: {
200
440
  width: 200,
201
- height: 50
441
+ height: 60
442
+ }
443
+ }
444
+ }
445
+ }, {
446
+ title: '发光标题',
447
+ screenshot: '',
448
+ schema: {
449
+ componentName: COMPONENT_NAME,
450
+ props: {
451
+ content: '发光标题',
452
+ fontSize: 36,
453
+ fontWeight: 'bold',
454
+ color: '#00d4ff',
455
+ textAlign: 'center',
456
+ glowEnable: true,
457
+ glowColor: '#00d4ff',
458
+ glowIntensity: 1.5
459
+ },
460
+ $dashboard: {
461
+ rect: {
462
+ width: 240,
463
+ height: 80
464
+ }
465
+ }
466
+ }
467
+ }, {
468
+ title: '链接文本',
469
+ screenshot: '',
470
+ schema: {
471
+ componentName: COMPONENT_NAME,
472
+ props: {
473
+ content: '点击跳转',
474
+ fontSize: 16,
475
+ color: '#00d4ff',
476
+ isLink: true,
477
+ href: 'https://easy-editor-docs.vercel.app/',
478
+ target: '_blank',
479
+ underline: true
480
+ },
481
+ $dashboard: {
482
+ rect: {
483
+ width: 120,
484
+ height: 40
202
485
  }
203
486
  }
204
487
  }
205
488
  }];
206
489
 
490
+ var version = "0.0.10";
491
+ var pkg = {
492
+ version: version};
493
+
207
494
  const meta = {
208
495
  componentName: COMPONENT_NAME,
209
- title: 'Text',
496
+ title: '文本',
497
+ category: 'dashboard',
210
498
  group: MaterialGroup.BASIC,
211
499
  devMode: 'proCode',
212
500
  npm: {
213
501
  package: PACKAGE_NAME,
214
- version: 'latest',
502
+ version: pkg.version,
215
503
  globalName: COMPONENT_NAME,
216
504
  componentName: COMPONENT_NAME
217
505
  },
218
- snippets,
219
- configure
506
+ configure,
507
+ snippets
220
508
  };
221
509
 
222
510
  exports.component = Text;