@easy-editor/materials-dashboard-number-flip 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 (44) 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 +167 -0
  6. package/dist/component.esm.js.map +1 -0
  7. package/dist/component.js +176 -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 +573 -0
  12. package/dist/index.cjs.map +1 -0
  13. package/dist/index.esm.js +570 -0
  14. package/dist/index.esm.js.map +1 -0
  15. package/dist/index.js +578 -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 +407 -0
  20. package/dist/meta.esm.js.map +1 -0
  21. package/dist/meta.js +418 -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 +43 -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 +65 -0
  32. package/rollup.config.js +222 -0
  33. package/src/component.module.css +56 -0
  34. package/src/component.tsx +179 -0
  35. package/src/configure.ts +342 -0
  36. package/src/constants.ts +18 -0
  37. package/src/index.tsx +7 -0
  38. package/src/meta.ts +28 -0
  39. package/src/snippets.ts +80 -0
  40. package/src/type.d.ts +8 -0
  41. package/tsconfig.build.json +12 -0
  42. package/tsconfig.json +9 -0
  43. package/tsconfig.test.json +7 -0
  44. package/vite.config.ts +54 -0
@@ -0,0 +1,2 @@
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react/jsx-runtime")):"function"==typeof define&&define.amd?define(["exports","react/jsx-runtime"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).EasyEditorMaterialsStatisticNumber={},e.jsxRuntime)}(this,function(e,t){"use strict";function o(e){var t,a,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e)){var l=e.length;for(t=0;t<l;t++)e[t]&&(a=o(e[t]))&&(r&&(r+=" "),r+=a)}else for(a in e)e[a]&&(r&&(r+=" "),r+=a);return r}function a(...e){return function(){for(var e,t,a=0,r="",l=arguments.length;a<l;a++)(e=arguments[a])&&(t=o(e))&&(r&&(r+=" "),r+=t);return r}(e)}var r="component-module__container___VbZSk",l="component-module__content___344U8",n="component-module__prefix___RIPOo",i="component-module__prefixDigital___Q-IGu",s="component-module__value___Fg70k",p="component-module__valueDigital___saOYz",m="component-module__suffix___9U3yv",u="component-module__suffixDigital___WiYn4",d="component-module__trend___fgbi4";!function(e,t){void 0===t&&(t={});var o=t.insertAt;if("undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===o&&a.firstChild?a.insertBefore(r,a.firstChild):a.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}(".component-module__container___VbZSk{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;gap:8px;height:100%;justify-content:center;width:100%}.component-module__content___344U8{align-items:baseline;display:flex;gap:4px}.component-module__prefix___RIPOo{font-weight:600;opacity:.8}.component-module__prefixDigital___Q-IGu{font-family:Courier New,Courier,monospace}.component-module__value___Fg70k{font-weight:700}.component-module__valueDigital___saOYz{font-family:Courier New,Courier,monospace;letter-spacing:.05em}.component-module__suffix___9U3yv{font-weight:500;margin-left:4px;opacity:.7}.component-module__suffixDigital___WiYn4{font-family:Courier New,Courier,monospace}.component-module__trend___fgbi4{align-items:center;display:flex;font-weight:500;gap:4px}");const c=({type:e,value:o,suffix:a,upColor:r,downColor:l,size:n})=>{let i="#8899aa";return"up"===e?i=r:"down"===e&&(i=l),t.jsxs("div",{className:d,style:{fontSize:.35*n},children:["flat"!==e&&t.jsxs("svg",{"aria-label":`Trend ${e}`,fill:"none",height:.3*n,role:"img",style:{transform:"down"===e?"rotate(180deg)":void 0},viewBox:"0 0 24 24",width:.3*n,children:[t.jsxs("title",{children:["Trend arrow ",e]}),t.jsx("path",{d:"M12 4L20 14H4L12 4Z",fill:i})]}),"flat"===e&&t.jsx("span",{style:{color:i,marginRight:4},children:"—"}),t.jsxs("span",{style:{color:i},children:[o,a]})]})},f="EasyEditorMaterialsNumberFlip";const _={componentName:f,title:"数字翻牌",group:"display",devMode:"proCode",npm:{package:"@easy-editor/materials-dashboard-number-flip",version:"0.0.1",globalName:f,componentName:f},snippets:[{title:"数字翻牌",screenshot:"",schema:{componentName:f,props:{value:1234567,decimals:0,separator:!0,fontSize:48,fontFamily:"digital",color:"#00d4ff",glowIntensity:.5},$dashboard:{rect:{width:280,height:80}}}},{title:"货币数字",screenshot:"",schema:{componentName:f,props:{value:99999.99,decimals:2,separator:!0,prefix:"$",fontSize:42,fontFamily:"digital",color:"#00ff88",glowIntensity:.6},$dashboard:{rect:{width:260,height:70}}}},{title:"百分比",screenshot:"",schema:{componentName:f,props:{value:87.5,decimals:1,separator:!1,suffix:"%",fontSize:56,fontFamily:"digital",color:"#ff6b6b",glowIntensity:.8},$dashboard:{rect:{width:200,height:90}}}}],configure:{props:[{type:"group",title:"属性",setter:"TabSetter",items:[{type:"group",key:"config",title:"配置",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"id",title:"ID",setter:"NodeIdSetter",extraProps:{label:!1}},{name:"title",title:"标题",setter:"StringSetter",extraProps:{getValue:e=>e.getExtraPropValue("title"),setValue(e,t){e.setExtraPropValue("title",t)}}},{type:"group",title:"基础属性",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"rect",title:"位置尺寸",setter:"RectSetter",extraProps:{getValue:e=>e.getExtraPropValue("$dashboard.rect"),setValue(e,t){e.setExtraPropValue("$dashboard.rect",t)}}}]},{type:"group",title:"数值",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"value",title:"数值",setter:"NumberSetter",extraProps:{defaultValue:0}},{name:"decimals",title:"小数位数",setter:"NumberSetter",extraProps:{defaultValue:0}},{name:"separator",title:"千分位分隔",setter:"SwitchSetter",extraProps:{defaultValue:!0}},{name:"prefix",title:"前缀",setter:"StringSetter"},{name:"suffix",title:"后缀",setter:"StringSetter"}]},{type:"group",title:"趋势",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"trendEnable",title:"显示趋势",setter:"SwitchSetter",extraProps:{defaultValue:!1}},{name:"trendValue",title:"趋势值",setter:"NumberSetter",extraProps:{defaultValue:0}},{name:"trendType",title:"趋势类型",setter:{componentName:"SegmentedSetter",props:{options:[{label:"上升",value:"up"},{label:"下降",value:"down"},{label:"持平",value:"flat"}]}},extraProps:{defaultValue:"up"}},{name:"trendSuffix",title:"趋势后缀",setter:"StringSetter",extraProps:{defaultValue:"%"}}]},{type:"group",title:"样式",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"fontSize",title:"字体大小",setter:"NumberSetter",extraProps:{defaultValue:48}},{name:"fontFamily",title:"字体类型",setter:{componentName:"SelectSetter",props:{options:[{label:"数码字体",value:"digital"},{label:"默认字体",value:"default"}]}},extraProps:{defaultValue:"digital"}},{name:"color",title:"颜色",setter:"ColorSetter",extraProps:{defaultValue:"#00d4ff"}},{name:"glowIntensity",title:"发光强度",setter:{componentName:"NumberSetter",props:{min:0,max:2,step:.1}},extraProps:{defaultValue:.5}}]}]},{type:"group",key:"data",title:"数据",items:[{name:"dataBinding",title:"数据绑定",setter:"DataBindingSetter"}]},{type:"group",key:"advanced",title:"高级",items:[{name:"condition",title:"显隐控制",setter:"SwitchSetter",extraProps:{defaultValue:!0,supportVariable:!0}},{type:"group",title:"动画",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"animationEnable",title:"启用动画",setter:"SwitchSetter",extraProps:{defaultValue:!0}},{name:"animationType",title:"动画类型",setter:{componentName:"SegmentedSetter",props:{options:[{label:"滚动",value:"scroll"},{label:"翻转",value:"flip"},{label:"渐变",value:"fade"}]}},extraProps:{defaultValue:"scroll"}},{name:"animationDuration",title:"动画时长",setter:{componentName:"SliderSetter",props:{min:0,max:3e3,step:100,suffix:"ms"}},extraProps:{defaultValue:1e3}},{name:"animationEasing",title:"缓动函数",setter:{componentName:"SelectSetter",props:{options:[{label:"线性",value:"linear"},{label:"缓入",value:"ease-in"},{label:"缓出",value:"ease-out"},{label:"缓入缓出",value:"ease-in-out"}]}},extraProps:{defaultValue:"ease-out"}}]}]}]}],component:{},supports:{},advanced:{}}};e.component=({ref:e,value:o=0,decimals:d=0,separator:f=!0,prefix:_="",suffix:x="",fontSize:g=48,fontFamily:y="digital",color:h="#00d4ff",glowIntensity:S=.5,trendEnable:b=!1,trendValue:v=0,trendType:N="up",trendSuffix:w="%",trendUpColor:V="#52c41a",trendDownColor:P="#ff4d4f",style:C})=>{const j="digital"===y,$=((e,t,o)=>{const a=e.toFixed(t);if(!o)return a;const[r,l]=a.split("."),n=r.replace(/\B(?=(\d{3})+(?!\d))/g,",");return l?`${n}.${l}`:n})(o,d,f),z=S>0?`0 0 ${10*S}px ${h}, 0 0 ${20*S}px ${h}40, 0 0 ${30*S}px ${h}20`:"none";return t.jsxs("div",{className:r,ref:e,style:C,children:[t.jsxs("div",{className:l,children:[_?t.jsx("span",{className:a(n,j&&i),style:{fontSize:.5*g+"px",color:h},children:_}):null,t.jsx("span",{className:a(s,j&&p),style:{fontSize:`${g}px`,color:h,textShadow:z},children:$}),x?t.jsx("span",{className:a(m,j&&u),style:{fontSize:.4*g+"px",color:h},children:x}):null]}),b?t.jsx(c,{downColor:P,size:g,suffix:w,type:N,upColor:V,value:v}):null]})},e.meta=_});
2
+ //# sourceMappingURL=index.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.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","../src/constants.ts","../src/meta.ts","../../../../shared/src/index.ts","../src/snippets.ts","../src/configure.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","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 * Number Flip Component\n * 数字翻牌组件 - 用于展示 KPI、统计数字等\n */\n\nimport type { CSSProperties, Ref } from 'react'\nimport { cn } from '@easy-editor/materials-shared'\nimport styles from './component.module.css'\n\nexport type TrendType = 'up' | 'down' | 'flat'\n\nexport interface NumberFlipProps {\n ref?: Ref<HTMLDivElement>\n /** 数值 */\n value?: number\n /** 小数位数 */\n decimals?: number\n /** 是否显示千分位分隔符 */\n separator?: boolean\n /** 前缀 */\n prefix?: string\n /** 后缀 */\n suffix?: string\n /** 字体大小 */\n fontSize?: number\n /** 字体类型 */\n fontFamily?: 'digital' | 'default'\n /** 颜色 */\n color?: string\n /** 发光强度 (0-2) */\n glowIntensity?: number\n /** 是否显示趋势 */\n trendEnable?: boolean\n /** 趋势值 */\n trendValue?: number\n /** 趋势类型 */\n trendType?: TrendType\n /** 趋势后缀 */\n trendSuffix?: string\n /** 趋势上升颜色 */\n trendUpColor?: string\n /** 趋势下降颜色 */\n trendDownColor?: string\n /** 外部样式 */\n style?: CSSProperties\n}\n\nconst formatNumber = (value: number, decimals: number, separator: boolean): string => {\n const fixed = value.toFixed(decimals)\n if (!separator) {\n return fixed\n }\n\n const [intPart, decPart] = fixed.split('.')\n const formattedInt = intPart.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')\n return decPart ? `${formattedInt}.${decPart}` : formattedInt\n}\n\nconst TrendIndicator: React.FC<{\n type: TrendType\n value: number\n suffix: string\n upColor: string\n downColor: string\n size: number\n}> = ({ type, value, suffix, upColor, downColor, size }) => {\n let color = '#8899aa'\n if (type === 'up') {\n color = upColor\n } else if (type === 'down') {\n color = downColor\n }\n\n return (\n <div className={styles.trend} style={{ fontSize: size * 0.35 }}>\n {type !== 'flat' && (\n <svg\n aria-label={`Trend ${type}`}\n fill='none'\n height={size * 0.3}\n role='img'\n style={{\n transform: type === 'down' ? 'rotate(180deg)' : undefined,\n }}\n viewBox='0 0 24 24'\n width={size * 0.3}\n >\n <title>Trend arrow {type}</title>\n <path d='M12 4L20 14H4L12 4Z' fill={color} />\n </svg>\n )}\n {type === 'flat' && <span style={{ color, marginRight: 4 }}>—</span>}\n <span style={{ color }}>\n {value}\n {suffix}\n </span>\n </div>\n )\n}\n\nexport const NumberFlip: React.FC<NumberFlipProps> = ({\n ref,\n value = 0,\n decimals = 0,\n separator = true,\n prefix = '',\n suffix = '',\n fontSize = 48,\n fontFamily = 'digital',\n color = '#00d4ff',\n glowIntensity = 0.5,\n trendEnable = false,\n trendValue = 0,\n trendType = 'up',\n trendSuffix = '%',\n trendUpColor = '#52c41a',\n trendDownColor = '#ff4d4f',\n style: externalStyle,\n}) => {\n const isDigital = fontFamily === 'digital'\n const formattedValue = formatNumber(value, decimals, separator)\n\n // 计算发光效果的 text-shadow\n const glowShadow =\n glowIntensity > 0\n ? `0 0 ${10 * glowIntensity}px ${color}, 0 0 ${20 * glowIntensity}px ${color}40, 0 0 ${30 * glowIntensity}px ${color}20`\n : 'none'\n\n return (\n <div className={styles.container} ref={ref} style={externalStyle}>\n <div className={styles.content}>\n {prefix ? (\n <span\n className={cn(styles.prefix, isDigital && styles.prefixDigital)}\n style={{\n fontSize: `${fontSize * 0.5}px`,\n color,\n }}\n >\n {prefix}\n </span>\n ) : null}\n <span\n className={cn(styles.value, isDigital && styles.valueDigital)}\n style={{\n fontSize: `${fontSize}px`,\n color,\n textShadow: glowShadow,\n }}\n >\n {formattedValue}\n </span>\n {suffix ? (\n <span\n className={cn(styles.suffix, isDigital && styles.suffixDigital)}\n style={{\n fontSize: `${fontSize * 0.4}px`,\n color,\n }}\n >\n {suffix}\n </span>\n ) : null}\n </div>\n {trendEnable ? (\n <TrendIndicator\n downColor={trendDownColor}\n size={fontSize}\n suffix={trendSuffix}\n type={trendType}\n upColor={trendUpColor}\n value={trendValue}\n />\n ) : null}\n </div>\n )\n}\n\nexport default NumberFlip\n","/**\n * 物料常量配置\n * 统一管理全局变量名等配置,确保 meta.ts 和 rollup.config.js 使用相同的值\n */\n\n/**\n * UMD 全局变量基础名称\n * 用于构建:\n * - 元数据:${GLOBAL_NAME}Meta (例如: EasyEditorMaterialsStatisticNumberMeta)\n * - 组件:${GLOBAL_NAME}Component (例如: EasyEditorMaterialsStatisticNumberComponent)\n * - 完整构建:${GLOBAL_NAME} (例如: EasyEditorMaterialsStatisticNumber)\n */\nexport const COMPONENT_NAME = 'EasyEditorMaterialsNumberFlip'\n\n/**\n * 包名\n */\nexport const PACKAGE_NAME = '@easy-editor/materials-dashboard-number-flip'\n","/**\n * Number Flip 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.DISPLAY,\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","/**\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","/**\n * Number Flip 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 value: 1_234_567,\n decimals: 0,\n separator: true,\n fontSize: 48,\n fontFamily: 'digital',\n color: '#00d4ff',\n glowIntensity: 0.5,\n },\n $dashboard: {\n rect: {\n width: 280,\n height: 80,\n },\n },\n },\n },\n {\n title: '货币数字',\n screenshot: '',\n schema: {\n componentName: COMPONENT_NAME,\n props: {\n value: 99_999.99,\n decimals: 2,\n separator: true,\n prefix: '$',\n fontSize: 42,\n fontFamily: 'digital',\n color: '#00ff88',\n glowIntensity: 0.6,\n },\n $dashboard: {\n rect: {\n width: 260,\n height: 70,\n },\n },\n },\n },\n {\n title: '百分比',\n screenshot: '',\n schema: {\n componentName: COMPONENT_NAME,\n props: {\n value: 87.5,\n decimals: 1,\n separator: false,\n suffix: '%',\n fontSize: 56,\n fontFamily: 'digital',\n color: '#ff6b6b',\n glowIntensity: 0.8,\n },\n $dashboard: {\n rect: {\n width: 200,\n height: 90,\n },\n },\n },\n },\n]\n\nexport default snippets\n","/**\n * Number Flip 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: 'value',\n title: '数值',\n setter: 'NumberSetter',\n extraProps: {\n defaultValue: 0,\n },\n },\n {\n name: 'decimals',\n title: '小数位数',\n setter: 'NumberSetter',\n extraProps: {\n defaultValue: 0,\n },\n },\n {\n name: 'separator',\n title: '千分位分隔',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n },\n },\n {\n name: 'prefix',\n title: '前缀',\n setter: 'StringSetter',\n },\n {\n name: 'suffix',\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: 'trendEnable',\n title: '显示趋势',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: false,\n },\n },\n {\n name: 'trendValue',\n title: '趋势值',\n setter: 'NumberSetter',\n extraProps: {\n defaultValue: 0,\n },\n },\n {\n name: 'trendType',\n title: '趋势类型',\n setter: {\n componentName: 'SegmentedSetter',\n props: {\n options: [\n { label: '上升', value: 'up' },\n { label: '下降', value: 'down' },\n { label: '持平', value: 'flat' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'up',\n },\n },\n {\n name: 'trendSuffix',\n title: '趋势后缀',\n setter: 'StringSetter',\n extraProps: {\n defaultValue: '%',\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: 48,\n },\n },\n {\n name: 'fontFamily',\n title: '字体类型',\n setter: {\n componentName: 'SelectSetter',\n props: {\n options: [\n { label: '数码字体', value: 'digital' },\n { label: '默认字体', value: 'default' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'digital',\n },\n },\n {\n name: 'color',\n title: '颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: '#00d4ff',\n },\n },\n {\n name: 'glowIntensity',\n title: '发光强度',\n setter: {\n componentName: 'NumberSetter',\n props: {\n min: 0,\n max: 2,\n step: 0.1,\n },\n },\n extraProps: {\n defaultValue: 0.5,\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 type: 'group',\n title: '动画',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n name: 'animationEnable',\n title: '启用动画',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n },\n },\n {\n name: 'animationType',\n title: '动画类型',\n setter: {\n componentName: 'SegmentedSetter',\n props: {\n options: [\n { label: '滚动', value: 'scroll' },\n { label: '翻转', value: 'flip' },\n { label: '渐变', value: 'fade' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'scroll',\n },\n },\n {\n name: 'animationDuration',\n title: '动画时长',\n setter: {\n componentName: 'SliderSetter',\n props: {\n min: 0,\n max: 3000,\n step: 100,\n suffix: 'ms',\n },\n },\n extraProps: {\n defaultValue: 1000,\n },\n },\n {\n name: 'animationEasing',\n title: '缓动函数',\n setter: {\n componentName: 'SelectSetter',\n props: {\n options: [\n { label: '线性', value: 'linear' },\n { label: '缓入', value: 'ease-in' },\n { label: '缓出', value: 'ease-out' },\n { label: '缓入缓出', value: 'ease-in-out' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'ease-out',\n },\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n component: {},\n supports: {},\n advanced: {},\n}\n\nexport default configure\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","TrendIndicator","value","suffix","upColor","downColor","size","color","_jsxs","className","styles","fontSize","children","fill","height","role","transform","undefined","viewBox","width","_jsx","d","marginRight","COMPONENT_NAME","meta","componentName","title","group","devMode","npm","package","version","globalName","snippets","screenshot","schema","props","decimals","separator","fontFamily","glowIntensity","$dashboard","rect","prefix","configure","setter","items","key","icon","name","extraProps","label","getValue","target","getExtraPropValue","setValue","setExtraPropValue","defaultValue","options","min","max","step","supportVariable","component","supports","advanced","NumberFlip","trendEnable","trendValue","trendType","trendSuffix","trendUpColor","trendDownColor","externalStyle","isDigital","formattedValue","formatNumber","fixed","toFixed","intPart","decPart","split","formattedInt","replace","glowShadow","textShadow"],"mappings":"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","x_google_ignoreList":[0,2]}
@@ -0,0 +1,407 @@
1
+ /* @easy-editor/materials-dashboard-statistic-number v0.0.1 (meta, esm) */
2
+ const MaterialGroup = {
3
+ DISPLAY: 'display'};
4
+
5
+ const COMPONENT_NAME = 'EasyEditorMaterialsNumberFlip';
6
+ const PACKAGE_NAME = '@easy-editor/materials-dashboard-number-flip';
7
+
8
+ const configure = {
9
+ props: [{
10
+ type: 'group',
11
+ title: '属性',
12
+ setter: 'TabSetter',
13
+ items: [{
14
+ type: 'group',
15
+ key: 'config',
16
+ title: '配置',
17
+ setter: {
18
+ componentName: 'CollapseSetter',
19
+ props: {
20
+ icon: false
21
+ }
22
+ },
23
+ items: [
24
+ {
25
+ name: 'id',
26
+ title: 'ID',
27
+ setter: 'NodeIdSetter',
28
+ extraProps: {
29
+ label: false
30
+ }
31
+ }, {
32
+ name: 'title',
33
+ title: '标题',
34
+ setter: 'StringSetter',
35
+ extraProps: {
36
+ getValue(target) {
37
+ return target.getExtraPropValue('title');
38
+ },
39
+ setValue(target, value) {
40
+ target.setExtraPropValue('title', value);
41
+ }
42
+ }
43
+ }, {
44
+ type: 'group',
45
+ title: '基础属性',
46
+ setter: {
47
+ componentName: 'CollapseSetter',
48
+ props: {
49
+ icon: false
50
+ }
51
+ },
52
+ items: [{
53
+ name: 'rect',
54
+ title: '位置尺寸',
55
+ setter: 'RectSetter',
56
+ extraProps: {
57
+ getValue(target) {
58
+ return target.getExtraPropValue('$dashboard.rect');
59
+ },
60
+ setValue(target, value) {
61
+ target.setExtraPropValue('$dashboard.rect', value);
62
+ }
63
+ }
64
+ }]
65
+ },
66
+ {
67
+ type: 'group',
68
+ title: '数值',
69
+ setter: {
70
+ componentName: 'CollapseSetter',
71
+ props: {
72
+ icon: false
73
+ }
74
+ },
75
+ items: [{
76
+ name: 'value',
77
+ title: '数值',
78
+ setter: 'NumberSetter',
79
+ extraProps: {
80
+ defaultValue: 0
81
+ }
82
+ }, {
83
+ name: 'decimals',
84
+ title: '小数位数',
85
+ setter: 'NumberSetter',
86
+ extraProps: {
87
+ defaultValue: 0
88
+ }
89
+ }, {
90
+ name: 'separator',
91
+ title: '千分位分隔',
92
+ setter: 'SwitchSetter',
93
+ extraProps: {
94
+ defaultValue: true
95
+ }
96
+ }, {
97
+ name: 'prefix',
98
+ title: '前缀',
99
+ setter: 'StringSetter'
100
+ }, {
101
+ name: 'suffix',
102
+ title: '后缀',
103
+ setter: 'StringSetter'
104
+ }]
105
+ }, {
106
+ type: 'group',
107
+ title: '趋势',
108
+ setter: {
109
+ componentName: 'CollapseSetter',
110
+ props: {
111
+ icon: false
112
+ }
113
+ },
114
+ items: [{
115
+ name: 'trendEnable',
116
+ title: '显示趋势',
117
+ setter: 'SwitchSetter',
118
+ extraProps: {
119
+ defaultValue: false
120
+ }
121
+ }, {
122
+ name: 'trendValue',
123
+ title: '趋势值',
124
+ setter: 'NumberSetter',
125
+ extraProps: {
126
+ defaultValue: 0
127
+ }
128
+ }, {
129
+ name: 'trendType',
130
+ title: '趋势类型',
131
+ setter: {
132
+ componentName: 'SegmentedSetter',
133
+ props: {
134
+ options: [{
135
+ label: '上升',
136
+ value: 'up'
137
+ }, {
138
+ label: '下降',
139
+ value: 'down'
140
+ }, {
141
+ label: '持平',
142
+ value: 'flat'
143
+ }]
144
+ }
145
+ },
146
+ extraProps: {
147
+ defaultValue: 'up'
148
+ }
149
+ }, {
150
+ name: 'trendSuffix',
151
+ title: '趋势后缀',
152
+ setter: 'StringSetter',
153
+ extraProps: {
154
+ defaultValue: '%'
155
+ }
156
+ }]
157
+ }, {
158
+ type: 'group',
159
+ title: '样式',
160
+ setter: {
161
+ componentName: 'CollapseSetter',
162
+ props: {
163
+ icon: false
164
+ }
165
+ },
166
+ items: [{
167
+ name: 'fontSize',
168
+ title: '字体大小',
169
+ setter: 'NumberSetter',
170
+ extraProps: {
171
+ defaultValue: 48
172
+ }
173
+ }, {
174
+ name: 'fontFamily',
175
+ title: '字体类型',
176
+ setter: {
177
+ componentName: 'SelectSetter',
178
+ props: {
179
+ options: [{
180
+ label: '数码字体',
181
+ value: 'digital'
182
+ }, {
183
+ label: '默认字体',
184
+ value: 'default'
185
+ }]
186
+ }
187
+ },
188
+ extraProps: {
189
+ defaultValue: 'digital'
190
+ }
191
+ }, {
192
+ name: 'color',
193
+ title: '颜色',
194
+ setter: 'ColorSetter',
195
+ extraProps: {
196
+ defaultValue: '#00d4ff'
197
+ }
198
+ }, {
199
+ name: 'glowIntensity',
200
+ title: '发光强度',
201
+ setter: {
202
+ componentName: 'NumberSetter',
203
+ props: {
204
+ min: 0,
205
+ max: 2,
206
+ step: 0.1
207
+ }
208
+ },
209
+ extraProps: {
210
+ defaultValue: 0.5
211
+ }
212
+ }]
213
+ }]
214
+ }, {
215
+ type: 'group',
216
+ key: 'data',
217
+ title: '数据',
218
+ items: [{
219
+ name: 'dataBinding',
220
+ title: '数据绑定',
221
+ setter: 'DataBindingSetter'
222
+ }]
223
+ }, {
224
+ type: 'group',
225
+ key: 'advanced',
226
+ title: '高级',
227
+ items: [{
228
+ name: 'condition',
229
+ title: '显隐控制',
230
+ setter: 'SwitchSetter',
231
+ extraProps: {
232
+ defaultValue: true,
233
+ supportVariable: true
234
+ }
235
+ }, {
236
+ type: 'group',
237
+ title: '动画',
238
+ setter: {
239
+ componentName: 'CollapseSetter',
240
+ props: {
241
+ icon: false
242
+ }
243
+ },
244
+ items: [{
245
+ name: 'animationEnable',
246
+ title: '启用动画',
247
+ setter: 'SwitchSetter',
248
+ extraProps: {
249
+ defaultValue: true
250
+ }
251
+ }, {
252
+ name: 'animationType',
253
+ title: '动画类型',
254
+ setter: {
255
+ componentName: 'SegmentedSetter',
256
+ props: {
257
+ options: [{
258
+ label: '滚动',
259
+ value: 'scroll'
260
+ }, {
261
+ label: '翻转',
262
+ value: 'flip'
263
+ }, {
264
+ label: '渐变',
265
+ value: 'fade'
266
+ }]
267
+ }
268
+ },
269
+ extraProps: {
270
+ defaultValue: 'scroll'
271
+ }
272
+ }, {
273
+ name: 'animationDuration',
274
+ title: '动画时长',
275
+ setter: {
276
+ componentName: 'SliderSetter',
277
+ props: {
278
+ min: 0,
279
+ max: 3000,
280
+ step: 100,
281
+ suffix: 'ms'
282
+ }
283
+ },
284
+ extraProps: {
285
+ defaultValue: 1000
286
+ }
287
+ }, {
288
+ name: 'animationEasing',
289
+ title: '缓动函数',
290
+ setter: {
291
+ componentName: 'SelectSetter',
292
+ props: {
293
+ options: [{
294
+ label: '线性',
295
+ value: 'linear'
296
+ }, {
297
+ label: '缓入',
298
+ value: 'ease-in'
299
+ }, {
300
+ label: '缓出',
301
+ value: 'ease-out'
302
+ }, {
303
+ label: '缓入缓出',
304
+ value: 'ease-in-out'
305
+ }]
306
+ }
307
+ },
308
+ extraProps: {
309
+ defaultValue: 'ease-out'
310
+ }
311
+ }]
312
+ }]
313
+ }]
314
+ }],
315
+ component: {},
316
+ supports: {},
317
+ advanced: {}
318
+ };
319
+
320
+ const snippets = [{
321
+ title: '数字翻牌',
322
+ screenshot: '',
323
+ schema: {
324
+ componentName: COMPONENT_NAME,
325
+ props: {
326
+ value: 1_234_567,
327
+ decimals: 0,
328
+ separator: true,
329
+ fontSize: 48,
330
+ fontFamily: 'digital',
331
+ color: '#00d4ff',
332
+ glowIntensity: 0.5
333
+ },
334
+ $dashboard: {
335
+ rect: {
336
+ width: 280,
337
+ height: 80
338
+ }
339
+ }
340
+ }
341
+ }, {
342
+ title: '货币数字',
343
+ screenshot: '',
344
+ schema: {
345
+ componentName: COMPONENT_NAME,
346
+ props: {
347
+ value: 99_999.99,
348
+ decimals: 2,
349
+ separator: true,
350
+ prefix: '$',
351
+ fontSize: 42,
352
+ fontFamily: 'digital',
353
+ color: '#00ff88',
354
+ glowIntensity: 0.6
355
+ },
356
+ $dashboard: {
357
+ rect: {
358
+ width: 260,
359
+ height: 70
360
+ }
361
+ }
362
+ }
363
+ }, {
364
+ title: '百分比',
365
+ screenshot: '',
366
+ schema: {
367
+ componentName: COMPONENT_NAME,
368
+ props: {
369
+ value: 87.5,
370
+ decimals: 1,
371
+ separator: false,
372
+ suffix: '%',
373
+ fontSize: 56,
374
+ fontFamily: 'digital',
375
+ color: '#ff6b6b',
376
+ glowIntensity: 0.8
377
+ },
378
+ $dashboard: {
379
+ rect: {
380
+ width: 200,
381
+ height: 90
382
+ }
383
+ }
384
+ }
385
+ }];
386
+
387
+ var version = "0.0.1";
388
+ var pkg = {
389
+ version: version};
390
+
391
+ const meta = {
392
+ componentName: COMPONENT_NAME,
393
+ title: '数字翻牌',
394
+ group: MaterialGroup.DISPLAY,
395
+ devMode: 'proCode',
396
+ npm: {
397
+ package: PACKAGE_NAME,
398
+ version: pkg.version,
399
+ globalName: COMPONENT_NAME,
400
+ componentName: COMPONENT_NAME
401
+ },
402
+ snippets,
403
+ configure
404
+ };
405
+
406
+ export { meta as default, meta };
407
+ //# sourceMappingURL=meta.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.esm.js","sources":["../../../../shared/src/index.ts","../src/constants.ts","../src/configure.ts","../src/snippets.ts","../src/meta.ts"],"sourcesContent":["/**\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","/**\n * 物料常量配置\n * 统一管理全局变量名等配置,确保 meta.ts 和 rollup.config.js 使用相同的值\n */\n\n/**\n * UMD 全局变量基础名称\n * 用于构建:\n * - 元数据:${GLOBAL_NAME}Meta (例如: EasyEditorMaterialsStatisticNumberMeta)\n * - 组件:${GLOBAL_NAME}Component (例如: EasyEditorMaterialsStatisticNumberComponent)\n * - 完整构建:${GLOBAL_NAME} (例如: EasyEditorMaterialsStatisticNumber)\n */\nexport const COMPONENT_NAME = 'EasyEditorMaterialsNumberFlip'\n\n/**\n * 包名\n */\nexport const PACKAGE_NAME = '@easy-editor/materials-dashboard-number-flip'\n","/**\n * Number Flip 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: 'value',\n title: '数值',\n setter: 'NumberSetter',\n extraProps: {\n defaultValue: 0,\n },\n },\n {\n name: 'decimals',\n title: '小数位数',\n setter: 'NumberSetter',\n extraProps: {\n defaultValue: 0,\n },\n },\n {\n name: 'separator',\n title: '千分位分隔',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n },\n },\n {\n name: 'prefix',\n title: '前缀',\n setter: 'StringSetter',\n },\n {\n name: 'suffix',\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: 'trendEnable',\n title: '显示趋势',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: false,\n },\n },\n {\n name: 'trendValue',\n title: '趋势值',\n setter: 'NumberSetter',\n extraProps: {\n defaultValue: 0,\n },\n },\n {\n name: 'trendType',\n title: '趋势类型',\n setter: {\n componentName: 'SegmentedSetter',\n props: {\n options: [\n { label: '上升', value: 'up' },\n { label: '下降', value: 'down' },\n { label: '持平', value: 'flat' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'up',\n },\n },\n {\n name: 'trendSuffix',\n title: '趋势后缀',\n setter: 'StringSetter',\n extraProps: {\n defaultValue: '%',\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: 48,\n },\n },\n {\n name: 'fontFamily',\n title: '字体类型',\n setter: {\n componentName: 'SelectSetter',\n props: {\n options: [\n { label: '数码字体', value: 'digital' },\n { label: '默认字体', value: 'default' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'digital',\n },\n },\n {\n name: 'color',\n title: '颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: '#00d4ff',\n },\n },\n {\n name: 'glowIntensity',\n title: '发光强度',\n setter: {\n componentName: 'NumberSetter',\n props: {\n min: 0,\n max: 2,\n step: 0.1,\n },\n },\n extraProps: {\n defaultValue: 0.5,\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 type: 'group',\n title: '动画',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n name: 'animationEnable',\n title: '启用动画',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n },\n },\n {\n name: 'animationType',\n title: '动画类型',\n setter: {\n componentName: 'SegmentedSetter',\n props: {\n options: [\n { label: '滚动', value: 'scroll' },\n { label: '翻转', value: 'flip' },\n { label: '渐变', value: 'fade' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'scroll',\n },\n },\n {\n name: 'animationDuration',\n title: '动画时长',\n setter: {\n componentName: 'SliderSetter',\n props: {\n min: 0,\n max: 3000,\n step: 100,\n suffix: 'ms',\n },\n },\n extraProps: {\n defaultValue: 1000,\n },\n },\n {\n name: 'animationEasing',\n title: '缓动函数',\n setter: {\n componentName: 'SelectSetter',\n props: {\n options: [\n { label: '线性', value: 'linear' },\n { label: '缓入', value: 'ease-in' },\n { label: '缓出', value: 'ease-out' },\n { label: '缓入缓出', value: 'ease-in-out' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'ease-out',\n },\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n component: {},\n supports: {},\n advanced: {},\n}\n\nexport default configure\n","/**\n * Number Flip 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 value: 1_234_567,\n decimals: 0,\n separator: true,\n fontSize: 48,\n fontFamily: 'digital',\n color: '#00d4ff',\n glowIntensity: 0.5,\n },\n $dashboard: {\n rect: {\n width: 280,\n height: 80,\n },\n },\n },\n },\n {\n title: '货币数字',\n screenshot: '',\n schema: {\n componentName: COMPONENT_NAME,\n props: {\n value: 99_999.99,\n decimals: 2,\n separator: true,\n prefix: '$',\n fontSize: 42,\n fontFamily: 'digital',\n color: '#00ff88',\n glowIntensity: 0.6,\n },\n $dashboard: {\n rect: {\n width: 260,\n height: 70,\n },\n },\n },\n },\n {\n title: '百分比',\n screenshot: '',\n schema: {\n componentName: COMPONENT_NAME,\n props: {\n value: 87.5,\n decimals: 1,\n separator: false,\n suffix: '%',\n fontSize: 56,\n fontFamily: 'digital',\n color: '#ff6b6b',\n glowIntensity: 0.8,\n },\n $dashboard: {\n rect: {\n width: 200,\n height: 90,\n },\n },\n },\n },\n]\n\nexport default snippets\n","/**\n * Number Flip 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.DISPLAY,\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":["MaterialGroup","INNER","DISPLAY","COMPONENT_NAME","PACKAGE_NAME","configure","props","type","title","setter","items","key","componentName","icon","name","extraProps","label","getValue","target","getExtraPropValue","setValue","value","setExtraPropValue","defaultValue","options","min","max","step","supportVariable","suffix","component","supports","advanced","snippets","screenshot","schema","decimals","separator","fontSize","fontFamily","color","glowIntensity","$dashboard","rect","width","height","prefix","meta","group","devMode","npm","package","version","pkg","globalName"],"mappings":";AAMO,MAAMA,aAAa,GAAG;AAE3BC,EAMAC,OAAO,EAAE,SAOX,CAAU;;ACTH,MAAMC,cAAc,GAAG,+BAA+B;AAKtD,MAAMC,YAAY,GAAG,8CAA8C;;ACVnE,MAAMC,SAAoB,GAAG;AAClCC,EAAAA,KAAK,EAAE,CACL;AACEC,IAAAA,IAAI,EAAE,OAAO;AACbC,IAAAA,KAAK,EAAE,IAAI;AACXC,IAAAA,MAAM,EAAE,WAAW;AACnBC,IAAAA,KAAK,EAAE,CACL;AACEH,MAAAA,IAAI,EAAE,OAAO;AACbI,MAAAA,GAAG,EAAE,QAAQ;AACbH,MAAAA,KAAK,EAAE,IAAI;AACXC,MAAAA,MAAM,EAAE;AACNG,QAAAA,aAAa,EAAE,gBAAgB;AAC/BN,QAAAA,KAAK,EAAE;AACLO,UAAAA,IAAI,EAAE;AACR;OACD;AACDH,MAAAA,KAAK,EAAE;AAEL,MAAA;AACEI,QAAAA,IAAI,EAAE,IAAI;AACVN,QAAAA,KAAK,EAAE,IAAI;AACXC,QAAAA,MAAM,EAAE,cAAc;AACtBM,QAAAA,UAAU,EAAE;AAEVC,UAAAA,KAAK,EAAE;AACT;AACF,OAAC,EACD;AACEF,QAAAA,IAAI,EAAE,OAAO;AACbN,QAAAA,KAAK,EAAE,IAAI;AACXC,QAAAA,MAAM,EAAE,cAAc;AACtBM,QAAAA,UAAU,EAAE;UACVE,QAAQA,CAACC,MAAM,EAAE;AACf,YAAA,OAAOA,MAAM,CAACC,iBAAiB,CAAC,OAAO,CAAC;UAC1C,CAAC;AACDC,UAAAA,QAAQA,CAACF,MAAM,EAAEG,KAAK,EAAE;AACtBH,YAAAA,MAAM,CAACI,iBAAiB,CAAC,OAAO,EAAED,KAAK,CAAC;AAC1C,UAAA;AACF;AACF,OAAC,EACD;AACEd,QAAAA,IAAI,EAAE,OAAO;AACbC,QAAAA,KAAK,EAAE,MAAM;AACbC,QAAAA,MAAM,EAAE;AACNG,UAAAA,aAAa,EAAE,gBAAgB;AAC/BN,UAAAA,KAAK,EAAE;AACLO,YAAAA,IAAI,EAAE;AACR;SACD;AACDH,QAAAA,KAAK,EAAE,CACL;AACEI,UAAAA,IAAI,EAAE,MAAM;AACZN,UAAAA,KAAK,EAAE,MAAM;AACbC,UAAAA,MAAM,EAAE,YAAY;AACpBM,UAAAA,UAAU,EAAE;YACVE,QAAQA,CAACC,MAAM,EAAE;AACf,cAAA,OAAOA,MAAM,CAACC,iBAAiB,CAAC,iBAAiB,CAAC;YACpD,CAAC;AACDC,YAAAA,QAAQA,CAACF,MAAM,EAAEG,KAAK,EAAE;AACtBH,cAAAA,MAAM,CAACI,iBAAiB,CAAC,iBAAiB,EAAED,KAAK,CAAC;AACpD,YAAA;AACF;SACD;OAEJ;AAED,MAAA;AACEd,QAAAA,IAAI,EAAE,OAAO;AACbC,QAAAA,KAAK,EAAE,IAAI;AACXC,QAAAA,MAAM,EAAE;AACNG,UAAAA,aAAa,EAAE,gBAAgB;AAC/BN,UAAAA,KAAK,EAAE;AACLO,YAAAA,IAAI,EAAE;AACR;SACD;AACDH,QAAAA,KAAK,EAAE,CACL;AACEI,UAAAA,IAAI,EAAE,OAAO;AACbN,UAAAA,KAAK,EAAE,IAAI;AACXC,UAAAA,MAAM,EAAE,cAAc;AACtBM,UAAAA,UAAU,EAAE;AACVQ,YAAAA,YAAY,EAAE;AAChB;AACF,SAAC,EACD;AACET,UAAAA,IAAI,EAAE,UAAU;AAChBN,UAAAA,KAAK,EAAE,MAAM;AACbC,UAAAA,MAAM,EAAE,cAAc;AACtBM,UAAAA,UAAU,EAAE;AACVQ,YAAAA,YAAY,EAAE;AAChB;AACF,SAAC,EACD;AACET,UAAAA,IAAI,EAAE,WAAW;AACjBN,UAAAA,KAAK,EAAE,OAAO;AACdC,UAAAA,MAAM,EAAE,cAAc;AACtBM,UAAAA,UAAU,EAAE;AACVQ,YAAAA,YAAY,EAAE;AAChB;AACF,SAAC,EACD;AACET,UAAAA,IAAI,EAAE,QAAQ;AACdN,UAAAA,KAAK,EAAE,IAAI;AACXC,UAAAA,MAAM,EAAE;AACV,SAAC,EACD;AACEK,UAAAA,IAAI,EAAE,QAAQ;AACdN,UAAAA,KAAK,EAAE,IAAI;AACXC,UAAAA,MAAM,EAAE;SACT;AAEL,OAAC,EACD;AACEF,QAAAA,IAAI,EAAE,OAAO;AACbC,QAAAA,KAAK,EAAE,IAAI;AACXC,QAAAA,MAAM,EAAE;AACNG,UAAAA,aAAa,EAAE,gBAAgB;AAC/BN,UAAAA,KAAK,EAAE;AACLO,YAAAA,IAAI,EAAE;AACR;SACD;AACDH,QAAAA,KAAK,EAAE,CACL;AACEI,UAAAA,IAAI,EAAE,aAAa;AACnBN,UAAAA,KAAK,EAAE,MAAM;AACbC,UAAAA,MAAM,EAAE,cAAc;AACtBM,UAAAA,UAAU,EAAE;AACVQ,YAAAA,YAAY,EAAE;AAChB;AACF,SAAC,EACD;AACET,UAAAA,IAAI,EAAE,YAAY;AAClBN,UAAAA,KAAK,EAAE,KAAK;AACZC,UAAAA,MAAM,EAAE,cAAc;AACtBM,UAAAA,UAAU,EAAE;AACVQ,YAAAA,YAAY,EAAE;AAChB;AACF,SAAC,EACD;AACET,UAAAA,IAAI,EAAE,WAAW;AACjBN,UAAAA,KAAK,EAAE,MAAM;AACbC,UAAAA,MAAM,EAAE;AACNG,YAAAA,aAAa,EAAE,iBAAiB;AAChCN,YAAAA,KAAK,EAAE;AACLkB,cAAAA,OAAO,EAAE,CACP;AAAER,gBAAAA,KAAK,EAAE,IAAI;AAAEK,gBAAAA,KAAK,EAAE;AAAK,eAAC,EAC5B;AAAEL,gBAAAA,KAAK,EAAE,IAAI;AAAEK,gBAAAA,KAAK,EAAE;AAAO,eAAC,EAC9B;AAAEL,gBAAAA,KAAK,EAAE,IAAI;AAAEK,gBAAAA,KAAK,EAAE;eAAQ;AAElC;WACD;AACDN,UAAAA,UAAU,EAAE;AACVQ,YAAAA,YAAY,EAAE;AAChB;AACF,SAAC,EACD;AACET,UAAAA,IAAI,EAAE,aAAa;AACnBN,UAAAA,KAAK,EAAE,MAAM;AACbC,UAAAA,MAAM,EAAE,cAAc;AACtBM,UAAAA,UAAU,EAAE;AACVQ,YAAAA,YAAY,EAAE;AAChB;SACD;AAEL,OAAC,EACD;AACEhB,QAAAA,IAAI,EAAE,OAAO;AACbC,QAAAA,KAAK,EAAE,IAAI;AACXC,QAAAA,MAAM,EAAE;AACNG,UAAAA,aAAa,EAAE,gBAAgB;AAC/BN,UAAAA,KAAK,EAAE;AACLO,YAAAA,IAAI,EAAE;AACR;SACD;AACDH,QAAAA,KAAK,EAAE,CACL;AACEI,UAAAA,IAAI,EAAE,UAAU;AAChBN,UAAAA,KAAK,EAAE,MAAM;AACbC,UAAAA,MAAM,EAAE,cAAc;AACtBM,UAAAA,UAAU,EAAE;AACVQ,YAAAA,YAAY,EAAE;AAChB;AACF,SAAC,EACD;AACET,UAAAA,IAAI,EAAE,YAAY;AAClBN,UAAAA,KAAK,EAAE,MAAM;AACbC,UAAAA,MAAM,EAAE;AACNG,YAAAA,aAAa,EAAE,cAAc;AAC7BN,YAAAA,KAAK,EAAE;AACLkB,cAAAA,OAAO,EAAE,CACP;AAAER,gBAAAA,KAAK,EAAE,MAAM;AAAEK,gBAAAA,KAAK,EAAE;AAAU,eAAC,EACnC;AAAEL,gBAAAA,KAAK,EAAE,MAAM;AAAEK,gBAAAA,KAAK,EAAE;eAAW;AAEvC;WACD;AACDN,UAAAA,UAAU,EAAE;AACVQ,YAAAA,YAAY,EAAE;AAChB;AACF,SAAC,EACD;AACET,UAAAA,IAAI,EAAE,OAAO;AACbN,UAAAA,KAAK,EAAE,IAAI;AACXC,UAAAA,MAAM,EAAE,aAAa;AACrBM,UAAAA,UAAU,EAAE;AACVQ,YAAAA,YAAY,EAAE;AAChB;AACF,SAAC,EACD;AACET,UAAAA,IAAI,EAAE,eAAe;AACrBN,UAAAA,KAAK,EAAE,MAAM;AACbC,UAAAA,MAAM,EAAE;AACNG,YAAAA,aAAa,EAAE,cAAc;AAC7BN,YAAAA,KAAK,EAAE;AACLmB,cAAAA,GAAG,EAAE,CAAC;AACNC,cAAAA,GAAG,EAAE,CAAC;AACNC,cAAAA,IAAI,EAAE;AACR;WACD;AACDZ,UAAAA,UAAU,EAAE;AACVQ,YAAAA,YAAY,EAAE;AAChB;SACD;OAEJ;AAEL,KAAC,EACD;AACEhB,MAAAA,IAAI,EAAE,OAAO;AACbI,MAAAA,GAAG,EAAE,MAAM;AACXH,MAAAA,KAAK,EAAE,IAAI;AACXE,MAAAA,KAAK,EAAE,CACL;AACEI,QAAAA,IAAI,EAAE,aAAa;AACnBN,QAAAA,KAAK,EAAE,MAAM;AACbC,QAAAA,MAAM,EAAE;OACT;AAEL,KAAC,EACD;AACEF,MAAAA,IAAI,EAAE,OAAO;AACbI,MAAAA,GAAG,EAAE,UAAU;AACfH,MAAAA,KAAK,EAAE,IAAI;AACXE,MAAAA,KAAK,EAAE,CACL;AACEI,QAAAA,IAAI,EAAE,WAAW;AACjBN,QAAAA,KAAK,EAAE,MAAM;AACbC,QAAAA,MAAM,EAAE,cAAc;AACtBM,QAAAA,UAAU,EAAE;AACVQ,UAAAA,YAAY,EAAE,IAAI;AAClBK,UAAAA,eAAe,EAAE;AACnB;AACF,OAAC,EACD;AACErB,QAAAA,IAAI,EAAE,OAAO;AACbC,QAAAA,KAAK,EAAE,IAAI;AACXC,QAAAA,MAAM,EAAE;AACNG,UAAAA,aAAa,EAAE,gBAAgB;AAC/BN,UAAAA,KAAK,EAAE;AACLO,YAAAA,IAAI,EAAE;AACR;SACD;AACDH,QAAAA,KAAK,EAAE,CACL;AACEI,UAAAA,IAAI,EAAE,iBAAiB;AACvBN,UAAAA,KAAK,EAAE,MAAM;AACbC,UAAAA,MAAM,EAAE,cAAc;AACtBM,UAAAA,UAAU,EAAE;AACVQ,YAAAA,YAAY,EAAE;AAChB;AACF,SAAC,EACD;AACET,UAAAA,IAAI,EAAE,eAAe;AACrBN,UAAAA,KAAK,EAAE,MAAM;AACbC,UAAAA,MAAM,EAAE;AACNG,YAAAA,aAAa,EAAE,iBAAiB;AAChCN,YAAAA,KAAK,EAAE;AACLkB,cAAAA,OAAO,EAAE,CACP;AAAER,gBAAAA,KAAK,EAAE,IAAI;AAAEK,gBAAAA,KAAK,EAAE;AAAS,eAAC,EAChC;AAAEL,gBAAAA,KAAK,EAAE,IAAI;AAAEK,gBAAAA,KAAK,EAAE;AAAO,eAAC,EAC9B;AAAEL,gBAAAA,KAAK,EAAE,IAAI;AAAEK,gBAAAA,KAAK,EAAE;eAAQ;AAElC;WACD;AACDN,UAAAA,UAAU,EAAE;AACVQ,YAAAA,YAAY,EAAE;AAChB;AACF,SAAC,EACD;AACET,UAAAA,IAAI,EAAE,mBAAmB;AACzBN,UAAAA,KAAK,EAAE,MAAM;AACbC,UAAAA,MAAM,EAAE;AACNG,YAAAA,aAAa,EAAE,cAAc;AAC7BN,YAAAA,KAAK,EAAE;AACLmB,cAAAA,GAAG,EAAE,CAAC;AACNC,cAAAA,GAAG,EAAE,IAAI;AACTC,cAAAA,IAAI,EAAE,GAAG;AACTE,cAAAA,MAAM,EAAE;AACV;WACD;AACDd,UAAAA,UAAU,EAAE;AACVQ,YAAAA,YAAY,EAAE;AAChB;AACF,SAAC,EACD;AACET,UAAAA,IAAI,EAAE,iBAAiB;AACvBN,UAAAA,KAAK,EAAE,MAAM;AACbC,UAAAA,MAAM,EAAE;AACNG,YAAAA,aAAa,EAAE,cAAc;AAC7BN,YAAAA,KAAK,EAAE;AACLkB,cAAAA,OAAO,EAAE,CACP;AAAER,gBAAAA,KAAK,EAAE,IAAI;AAAEK,gBAAAA,KAAK,EAAE;AAAS,eAAC,EAChC;AAAEL,gBAAAA,KAAK,EAAE,IAAI;AAAEK,gBAAAA,KAAK,EAAE;AAAU,eAAC,EACjC;AAAEL,gBAAAA,KAAK,EAAE,IAAI;AAAEK,gBAAAA,KAAK,EAAE;AAAW,eAAC,EAClC;AAAEL,gBAAAA,KAAK,EAAE,MAAM;AAAEK,gBAAAA,KAAK,EAAE;eAAe;AAE3C;WACD;AACDN,UAAAA,UAAU,EAAE;AACVQ,YAAAA,YAAY,EAAE;AAChB;SACD;OAEJ;KAEJ;AAEL,GAAC,CACF;EACDO,SAAS,EAAE,EAAE;EACbC,QAAQ,EAAE,EAAE;AACZC,EAAAA,QAAQ,EAAE;AACZ,CAAC;;AC3UM,MAAMC,QAAmB,GAAG,CACjC;AACEzB,EAAAA,KAAK,EAAE,MAAM;AACb0B,EAAAA,UAAU,EAAE,EAAE;AACdC,EAAAA,MAAM,EAAE;AACNvB,IAAAA,aAAa,EAAET,cAAc;AAC7BG,IAAAA,KAAK,EAAE;AACLe,MAAAA,KAAK,EAAE,SAAS;AAChBe,MAAAA,QAAQ,EAAE,CAAC;AACXC,MAAAA,SAAS,EAAE,IAAI;AACfC,MAAAA,QAAQ,EAAE,EAAE;AACZC,MAAAA,UAAU,EAAE,SAAS;AACrBC,MAAAA,KAAK,EAAE,SAAS;AAChBC,MAAAA,aAAa,EAAE;KAChB;AACDC,IAAAA,UAAU,EAAE;AACVC,MAAAA,IAAI,EAAE;AACJC,QAAAA,KAAK,EAAE,GAAG;AACVC,QAAAA,MAAM,EAAE;AACV;AACF;AACF;AACF,CAAC,EACD;AACErC,EAAAA,KAAK,EAAE,MAAM;AACb0B,EAAAA,UAAU,EAAE,EAAE;AACdC,EAAAA,MAAM,EAAE;AACNvB,IAAAA,aAAa,EAAET,cAAc;AAC7BG,IAAAA,KAAK,EAAE;AACLe,MAAAA,KAAK,EAAE,SAAS;AAChBe,MAAAA,QAAQ,EAAE,CAAC;AACXC,MAAAA,SAAS,EAAE,IAAI;AACfS,MAAAA,MAAM,EAAE,GAAG;AACXR,MAAAA,QAAQ,EAAE,EAAE;AACZC,MAAAA,UAAU,EAAE,SAAS;AACrBC,MAAAA,KAAK,EAAE,SAAS;AAChBC,MAAAA,aAAa,EAAE;KAChB;AACDC,IAAAA,UAAU,EAAE;AACVC,MAAAA,IAAI,EAAE;AACJC,QAAAA,KAAK,EAAE,GAAG;AACVC,QAAAA,MAAM,EAAE;AACV;AACF;AACF;AACF,CAAC,EACD;AACErC,EAAAA,KAAK,EAAE,KAAK;AACZ0B,EAAAA,UAAU,EAAE,EAAE;AACdC,EAAAA,MAAM,EAAE;AACNvB,IAAAA,aAAa,EAAET,cAAc;AAC7BG,IAAAA,KAAK,EAAE;AACLe,MAAAA,KAAK,EAAE,IAAI;AACXe,MAAAA,QAAQ,EAAE,CAAC;AACXC,MAAAA,SAAS,EAAE,KAAK;AAChBR,MAAAA,MAAM,EAAE,GAAG;AACXS,MAAAA,QAAQ,EAAE,EAAE;AACZC,MAAAA,UAAU,EAAE,SAAS;AACrBC,MAAAA,KAAK,EAAE,SAAS;AAChBC,MAAAA,aAAa,EAAE;KAChB;AACDC,IAAAA,UAAU,EAAE;AACVC,MAAAA,IAAI,EAAE;AACJC,QAAAA,KAAK,EAAE,GAAG;AACVC,QAAAA,MAAM,EAAE;AACV;AACF;AACF;AACF,CAAC,CACF;;;;;;ACjEM,MAAME,IAAuB,GAAG;AACrCnC,EAAAA,aAAa,EAAET,cAAc;AAC7BK,EAAAA,KAAK,EAAE,MAAM;EACbwC,KAAK,EAAEhD,aAAa,CAACE,OAAO;AAC5B+C,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,GAAG,EAAE;AACHC,IAAAA,OAAO,EAAE/C,YAAY;IACrBgD,OAAO,EAAEC,GAAG,CAACD,OAAO;AACpBE,IAAAA,UAAU,EAAEnD,cAAc;AAC1BS,IAAAA,aAAa,EAAET;GAChB;EACD8B,QAAQ;AACR5B,EAAAA;AACF;;;;"}