@easy-editor/materials-dashboard-scroll-list 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @easy-editor/materials-dashboard-scroll-list
2
2
 
3
+ ## 0.0.3
4
+
5
+ ### Patch Changes
6
+
7
+ - fix: build error
8
+
3
9
  ## 0.0.2
4
10
 
5
11
  ### Patch Changes
@@ -1,4 +1,4 @@
1
- /* @easy-editor/materials-dashboard-ranking-list v0.0.1 (component, esm) */
1
+ /* @easy-editor/materials-dashboard-scroll-list v0.0.2 (component, esm) */
2
2
  import { jsx, jsxs } from 'react/jsx-runtime';
3
3
 
4
4
  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}
@@ -68,9 +68,15 @@ const MEDAL_EMOJI = {
68
68
  3: '🥉'
69
69
  };
70
70
  const getRankClass = rank => {
71
- if (rank === 1) return styles.rankGold;
72
- if (rank === 2) return styles.rankSilver;
73
- if (rank === 3) return styles.rankBronze;
71
+ if (rank === 1) {
72
+ return styles.rankGold;
73
+ }
74
+ if (rank === 2) {
75
+ return styles.rankSilver;
76
+ }
77
+ if (rank === 3) {
78
+ return styles.rankBronze;
79
+ }
74
80
  return '';
75
81
  };
76
82
  const formatDisplayValue = (value, format, prefix, suffix) => {
@@ -1 +1 @@
1
- {"version":3,"file":"component.esm.js","sources":["../../../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../../../../shared/src/lib/utils.ts","../../../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js","../src/component.tsx"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { clsx, type ClassValue } from 'clsx'\n\nexport function cn(...inputs: ClassValue[]) {\n return clsx(inputs)\n}\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","/**\n * Scroll List 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 interface ScrollListItem {\n rank: number\n name: string\n value: number\n}\n\nexport interface ScrollListProps {\n ref?: Ref<HTMLDivElement>\n /** 列表数据 */\n data?: ScrollListItem[]\n /** 最大显示条数 */\n maxItems?: number\n /** 是否显示排名 */\n showRank?: boolean\n /** 是否显示奖牌图标 */\n showMedal?: boolean\n /** 是否显示进度条 */\n progressBarEnable?: boolean\n /** 是否使用渐变进度条 */\n progressBarGradient?: boolean\n /** 进度条颜色 [起始色, 结束色] */\n progressBarColors?: [string, string]\n /** 数值格式化 */\n valueFormat?: 'number' | 'currency' | 'percent'\n /** 数值前缀 */\n valuePrefix?: string\n /** 数值后缀 */\n valueSuffix?: string\n /** 名称颜色 */\n nameColor?: string\n /** 数值颜色 */\n valueColor?: string\n /** 背景颜色 */\n backgroundColor?: string\n /** 边框颜色 */\n borderColor?: string\n /** 行背景颜色 */\n itemBackgroundColor?: string\n /** 行边框颜色 */\n itemBorderColor?: string\n /** 是否显示发光效果 */\n glowEnable?: boolean\n /** 外部样式 */\n style?: CSSProperties\n}\n\nconst DEFAULT_DATA: ScrollListItem[] = [\n { rank: 1, name: '北京市', value: 9800 },\n { rank: 2, name: '上海市', value: 8500 },\n { rank: 3, name: '广州市', value: 7200 },\n { rank: 4, name: '深圳市', value: 6100 },\n { rank: 5, name: '杭州市', value: 4800 },\n]\n\nconst MEDAL_EMOJI: Record<number, string> = {\n 1: '🥇',\n 2: '🥈',\n 3: '🥉',\n}\n\nconst getRankClass = (rank: number): string => {\n if (rank === 1) return styles.rankGold\n if (rank === 2) return styles.rankSilver\n if (rank === 3) return styles.rankBronze\n return ''\n}\n\nconst formatDisplayValue = (\n value: number,\n format: string,\n prefix: string,\n suffix: string,\n): string => {\n let formatted: string\n switch (format) {\n case 'currency':\n formatted = value.toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 })\n break\n case 'percent':\n formatted = `${value}%`\n break\n default:\n formatted = value.toLocaleString()\n }\n return `${prefix}${formatted}${suffix}`\n}\n\nexport const ScrollList: React.FC<ScrollListProps> = ({\n ref,\n data = DEFAULT_DATA,\n maxItems = 5,\n showRank = true,\n showMedal = true,\n progressBarEnable = true,\n progressBarGradient = true,\n progressBarColors = ['#00d4ff', '#9b59b6'],\n valueFormat = 'number',\n valuePrefix = '',\n valueSuffix = '',\n nameColor = '#e6e6e6',\n valueColor = '#00d4ff',\n backgroundColor = 'rgba(10, 10, 26, 0.95)',\n borderColor = 'rgba(26, 26, 62, 0.8)',\n itemBackgroundColor = 'rgba(15, 15, 42, 0.9)',\n itemBorderColor = 'rgba(26, 26, 62, 0.6)',\n glowEnable = false,\n style: externalStyle,\n}) => {\n const displayData = data.slice(0, maxItems)\n const maxValue = Math.max(...displayData.map(item => item.value), 1)\n\n const getProgressBarStyle = (value: number): CSSProperties => {\n const percentage = (value / maxValue) * 100\n return {\n width: `${percentage}%`,\n background: progressBarGradient\n ? `linear-gradient(90deg, ${progressBarColors[0]}, ${progressBarColors[1]})`\n : progressBarColors[0],\n boxShadow: glowEnable ? `0 0 8px ${progressBarColors[0]}60` : undefined,\n }\n }\n\n const containerStyle: CSSProperties = {\n ...externalStyle,\n backgroundColor,\n borderColor,\n }\n\n const itemStyle: CSSProperties = {\n backgroundColor: itemBackgroundColor,\n borderColor: itemBorderColor,\n }\n\n return (\n <div className={styles.container} ref={ref} style={containerStyle}>\n <div className={styles.list}>\n {displayData.map(item => {\n const isTopThree = item.rank <= 3\n\n return (\n <div className={styles.item} key={item.rank} style={itemStyle}>\n {/* Rank Badge */}\n {showRank ? (\n <div\n className={cn(\n styles.rankBadge,\n isTopThree ? styles.rankBadgeTopThree : styles.rankBadgeNormal,\n getRankClass(item.rank),\n )}\n >\n {showMedal && isTopThree ? MEDAL_EMOJI[item.rank] : item.rank}\n </div>\n ) : null}\n\n {/* Name */}\n <div className={styles.name} style={{ color: nameColor }}>{item.name}</div>\n\n {/* Value and Progress */}\n <div className={styles.valueContainer}>\n <span className={styles.value} style={{ color: valueColor }}>\n {formatDisplayValue(item.value, valueFormat, valuePrefix, valueSuffix)}\n </span>\n {progressBarEnable ? (\n <div className={styles.progressBar}>\n <div className={styles.progressFill} style={getProgressBarStyle(item.value)} />\n </div>\n ) : null}\n </div>\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nexport default ScrollList\n"],"names":["cn","inputs","clsx","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","DEFAULT_DATA","rank","name","value","MEDAL_EMOJI","getRankClass","styles","rankGold","rankSilver","rankBronze","formatDisplayValue","format","prefix","suffix","formatted","toLocaleString","minimumFractionDigits","maximumFractionDigits","ScrollList","data","maxItems","showRank","showMedal","progressBarEnable","progressBarGradient","progressBarColors","valueFormat","valuePrefix","valueSuffix","nameColor","valueColor","backgroundColor","borderColor","itemBackgroundColor","itemBorderColor","glowEnable","externalStyle","displayData","slice","maxValue","Math","max","map","item","getProgressBarStyle","percentage","width","background","boxShadow","undefined","containerStyle","itemStyle","_jsx","className","container","children","list","isTopThree","_jsxs","rankBadge","rankBadgeTopThree","rankBadgeNormal","color","valueContainer","progressBar","progressFill"],"mappings":";;;AAAA,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAQ,SAAS,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;;ACExW,SAASA,EAAEA,CAAC,GAAGC,MAAoB,EAAE;EAC1C,OAAOC,IAAI,CAACD,MAAM,CAAC;AACrB;;ACJA,SAASE,WAAWA,CAACC,GAAG,EAAEC,GAAG,EAAE;EAC7B,IAAKA,GAAG,KAAK,MAAM,EAAGA,GAAG,GAAG,EAAE;AAC9B,EAAA,IAAIC,QAAQ,GAAGD,GAAG,CAACC,QAAQ;AAE3B,EAAA,IAAY,OAAOC,QAAQ,KAAK,WAAW,EAAE;AAAE,IAAA;AAAQ,EAAA;AAEvD,EAAA,IAAIC,IAAI,GAAGD,QAAQ,CAACC,IAAI,IAAID,QAAQ,CAACE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpE,EAAA,IAAIC,KAAK,GAAGH,QAAQ,CAACI,aAAa,CAAC,OAAO,CAAC;EAC3CD,KAAK,CAACE,IAAI,GAAG,UAAU;EAEvB,IAAIN,QAAQ,KAAK,KAAK,EAAE;IACtB,IAAIE,IAAI,CAACK,UAAU,EAAE;MACnBL,IAAI,CAACM,YAAY,CAACJ,KAAK,EAAEF,IAAI,CAACK,UAAU,CAAC;AAC3C,IAAA,CAAC,MAAM;AACLL,MAAAA,IAAI,CAACO,WAAW,CAACL,KAAK,CAAC;AACzB,IAAA;AACF,EAAA,CAAC,MAAM;AACLF,IAAAA,IAAI,CAACO,WAAW,CAACL,KAAK,CAAC;AACzB,EAAA;EAEA,IAAIA,KAAK,CAACM,UAAU,EAAE;AACpBN,IAAAA,KAAK,CAACM,UAAU,CAACC,OAAO,GAAGb,GAAG;AAChC,EAAA,CAAC,MAAM;IACLM,KAAK,CAACK,WAAW,CAACR,QAAQ,CAACW,cAAc,CAACd,GAAG,CAAC,CAAC;AACjD,EAAA;AACF;;;;;;ACzBA;AACA;AACA;AACA;;AAoDA,MAAMe,YAA8B,GAAG,CACrC;AAAEC,EAAAA,IAAI,EAAE,CAAC;AAAEC,EAAAA,IAAI,EAAE,KAAK;AAAEC,EAAAA,KAAK,EAAE;AAAK,CAAC,EACrC;AAAEF,EAAAA,IAAI,EAAE,CAAC;AAAEC,EAAAA,IAAI,EAAE,KAAK;AAAEC,EAAAA,KAAK,EAAE;AAAK,CAAC,EACrC;AAAEF,EAAAA,IAAI,EAAE,CAAC;AAAEC,EAAAA,IAAI,EAAE,KAAK;AAAEC,EAAAA,KAAK,EAAE;AAAK,CAAC,EACrC;AAAEF,EAAAA,IAAI,EAAE,CAAC;AAAEC,EAAAA,IAAI,EAAE,KAAK;AAAEC,EAAAA,KAAK,EAAE;AAAK,CAAC,EACrC;AAAEF,EAAAA,IAAI,EAAE,CAAC;AAAEC,EAAAA,IAAI,EAAE,KAAK;AAAEC,EAAAA,KAAK,EAAE;AAAK,CAAC,CACtC;AAED,MAAMC,WAAmC,GAAG;AAC1C,EAAA,CAAC,EAAE,IAAI;AACP,EAAA,CAAC,EAAE,IAAI;AACP,EAAA,CAAC,EAAE;AACL,CAAC;AAED,MAAMC,YAAY,GAAIJ,IAAY,IAAa;AAC7C,EAAA,IAAIA,IAAI,KAAK,CAAC,EAAE,OAAOK,MAAM,CAACC,QAAQ;AACtC,EAAA,IAAIN,IAAI,KAAK,CAAC,EAAE,OAAOK,MAAM,CAACE,UAAU;AACxC,EAAA,IAAIP,IAAI,KAAK,CAAC,EAAE,OAAOK,MAAM,CAACG,UAAU;AACxC,EAAA,OAAO,EAAE;AACX,CAAC;AAED,MAAMC,kBAAkB,GAAGA,CACzBP,KAAa,EACbQ,MAAc,EACdC,MAAc,EACdC,MAAc,KACH;AACX,EAAA,IAAIC,SAAiB;AACrB,EAAA,QAAQH,MAAM;AACZ,IAAA,KAAK,UAAU;AACbG,MAAAA,SAAS,GAAGX,KAAK,CAACY,cAAc,CAAC,OAAO,EAAE;AAAEC,QAAAA,qBAAqB,EAAE,CAAC;AAAEC,QAAAA,qBAAqB,EAAE;AAAE,OAAC,CAAC;AACjG,MAAA;AACF,IAAA,KAAK,SAAS;MACZH,SAAS,GAAG,CAAA,EAAGX,KAAK,CAAA,CAAA,CAAG;AACvB,MAAA;AACF,IAAA;AACEW,MAAAA,SAAS,GAAGX,KAAK,CAACY,cAAc,EAAE;AACtC;AACA,EAAA,OAAO,GAAGH,MAAM,CAAA,EAAGE,SAAS,CAAA,EAAGD,MAAM,CAAA,CAAE;AACzC,CAAC;AAEM,MAAMK,UAAqC,GAAGA,CAAC;EACpDhC,GAAG;AACHiC,EAAAA,IAAI,GAAGnB,YAAY;AACnBoB,EAAAA,QAAQ,GAAG,CAAC;AACZC,EAAAA,QAAQ,GAAG,IAAI;AACfC,EAAAA,SAAS,GAAG,IAAI;AAChBC,EAAAA,iBAAiB,GAAG,IAAI;AACxBC,EAAAA,mBAAmB,GAAG,IAAI;AAC1BC,EAAAA,iBAAiB,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC;AAC1CC,EAAAA,WAAW,GAAG,QAAQ;AACtBC,EAAAA,WAAW,GAAG,EAAE;AAChBC,EAAAA,WAAW,GAAG,EAAE;AAChBC,EAAAA,SAAS,GAAG,SAAS;AACrBC,EAAAA,UAAU,GAAG,SAAS;AACtBC,EAAAA,eAAe,GAAG,wBAAwB;AAC1CC,EAAAA,WAAW,GAAG,uBAAuB;AACrCC,EAAAA,mBAAmB,GAAG,uBAAuB;AAC7CC,EAAAA,eAAe,GAAG,uBAAuB;AACzCC,EAAAA,UAAU,GAAG,KAAK;AAClB5C,EAAAA,KAAK,EAAE6C;AACT,CAAC,KAAK;EACJ,MAAMC,WAAW,GAAGlB,IAAI,CAACmB,KAAK,CAAC,CAAC,EAAElB,QAAQ,CAAC;AAC3C,EAAA,MAAMmB,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAAC,GAAGJ,WAAW,CAACK,GAAG,CAACC,IAAI,IAAIA,IAAI,CAACxC,KAAK,CAAC,EAAE,CAAC,CAAC;EAEpE,MAAMyC,mBAAmB,GAAIzC,KAAa,IAAoB;AAC5D,IAAA,MAAM0C,UAAU,GAAI1C,KAAK,GAAGoC,QAAQ,GAAI,GAAG;IAC3C,OAAO;MACLO,KAAK,EAAE,CAAA,EAAGD,UAAU,CAAA,CAAA,CAAG;AACvBE,MAAAA,UAAU,EAAEvB,mBAAmB,GAC3B,0BAA0BC,iBAAiB,CAAC,CAAC,CAAC,CAAA,EAAA,EAAKA,iBAAiB,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG,GAC1EA,iBAAiB,CAAC,CAAC,CAAC;MACxBuB,SAAS,EAAEb,UAAU,GAAG,CAAA,QAAA,EAAWV,iBAAiB,CAAC,CAAC,CAAC,CAAA,EAAA,CAAI,GAAGwB;KAC/D;EACH,CAAC;AAED,EAAA,MAAMC,cAA6B,GAAG;AACpC,IAAA,GAAGd,aAAa;IAChBL,eAAe;AACfC,IAAAA;GACD;AAED,EAAA,MAAMmB,SAAwB,GAAG;AAC/BpB,IAAAA,eAAe,EAAEE,mBAAmB;AACpCD,IAAAA,WAAW,EAAEE;GACd;AAED,EAAA,oBACEkB,GAAA,CAAA,KAAA,EAAA;IAAKC,SAAS,EAAE/C,MAAM,CAACgD,SAAU;AAACpE,IAAAA,GAAG,EAAEA,GAAI;AAACK,IAAAA,KAAK,EAAE2D,cAAe;AAAAK,IAAAA,QAAA,eAChEH,GAAA,CAAA,KAAA,EAAA;MAAKC,SAAS,EAAE/C,MAAM,CAACkD,IAAK;AAAAD,MAAAA,QAAA,EACzBlB,WAAW,CAACK,GAAG,CAACC,IAAI,IAAI;AACvB,QAAA,MAAMc,UAAU,GAAGd,IAAI,CAAC1C,IAAI,IAAI,CAAC;AAEjC,QAAA,oBACEyD,IAAA,CAAA,KAAA,EAAA;UAAKL,SAAS,EAAE/C,MAAM,CAACqC,IAAK;AAAiBpD,UAAAA,KAAK,EAAE4D,SAAU;UAAAI,QAAA,EAAA,CAE3DlC,QAAQ,gBACP+B,GAAA,CAAA,KAAA,EAAA;YACEC,SAAS,EAAExE,EAAE,CACXyB,MAAM,CAACqD,SAAS,EAChBF,UAAU,GAAGnD,MAAM,CAACsD,iBAAiB,GAAGtD,MAAM,CAACuD,eAAe,EAC9DxD,YAAY,CAACsC,IAAI,CAAC1C,IAAI,CACxB,CAAE;AAAAsD,YAAAA,QAAA,EAEDjC,SAAS,IAAImC,UAAU,GAAGrD,WAAW,CAACuC,IAAI,CAAC1C,IAAI,CAAC,GAAG0C,IAAI,CAAC1C;AAAI,WAC1D,CAAC,GACJ,IAAI,eAGRmD,GAAA,CAAA,KAAA,EAAA;YAAKC,SAAS,EAAE/C,MAAM,CAACJ,IAAK;AAACX,YAAAA,KAAK,EAAE;AAAEuE,cAAAA,KAAK,EAAEjC;aAAY;YAAA0B,QAAA,EAAEZ,IAAI,CAACzC;WAAU,CAAC,eAG3EwD,IAAA,CAAA,KAAA,EAAA;YAAKL,SAAS,EAAE/C,MAAM,CAACyD,cAAe;AAAAR,YAAAA,QAAA,gBACpCH,GAAA,CAAA,MAAA,EAAA;cAAMC,SAAS,EAAE/C,MAAM,CAACH,KAAM;AAACZ,cAAAA,KAAK,EAAE;AAAEuE,gBAAAA,KAAK,EAAEhC;eAAa;cAAAyB,QAAA,EACzD7C,kBAAkB,CAACiC,IAAI,CAACxC,KAAK,EAAEuB,WAAW,EAAEC,WAAW,EAAEC,WAAW;AAAC,aAClE,CAAC,EACNL,iBAAiB,gBAChB6B,GAAA,CAAA,KAAA,EAAA;cAAKC,SAAS,EAAE/C,MAAM,CAAC0D,WAAY;AAAAT,cAAAA,QAAA,eACjCH,GAAA,CAAA,KAAA,EAAA;gBAAKC,SAAS,EAAE/C,MAAM,CAAC2D,YAAa;AAAC1E,gBAAAA,KAAK,EAAEqD,mBAAmB,CAACD,IAAI,CAACxC,KAAK;eAAI;aAC3E,CAAC,GACJ,IAAI;AAAA,WACL,CAAC;SAAA,EA3B0BwC,IAAI,CAAC1C,IA4BlC,CAAC;MAEV,CAAC;KACE;AAAC,GACH,CAAC;AAEV;;;;","x_google_ignoreList":[0,2]}
1
+ {"version":3,"file":"component.esm.js","sources":["../../../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../../../../shared/src/lib/utils.ts","../../../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js","../src/component.tsx"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { clsx, type ClassValue } from 'clsx'\n\nexport function cn(...inputs: ClassValue[]) {\n return clsx(inputs)\n}\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","/**\n * Scroll List 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 interface ScrollListItem {\n rank: number\n name: string\n value: number\n}\n\nexport interface ScrollListProps {\n ref?: Ref<HTMLDivElement>\n /** 列表数据 */\n data?: ScrollListItem[]\n /** 最大显示条数 */\n maxItems?: number\n /** 是否显示排名 */\n showRank?: boolean\n /** 是否显示奖牌图标 */\n showMedal?: boolean\n /** 是否显示进度条 */\n progressBarEnable?: boolean\n /** 是否使用渐变进度条 */\n progressBarGradient?: boolean\n /** 进度条颜色 [起始色, 结束色] */\n progressBarColors?: [string, string]\n /** 数值格式化 */\n valueFormat?: 'number' | 'currency' | 'percent'\n /** 数值前缀 */\n valuePrefix?: string\n /** 数值后缀 */\n valueSuffix?: string\n /** 名称颜色 */\n nameColor?: string\n /** 数值颜色 */\n valueColor?: string\n /** 背景颜色 */\n backgroundColor?: string\n /** 边框颜色 */\n borderColor?: string\n /** 行背景颜色 */\n itemBackgroundColor?: string\n /** 行边框颜色 */\n itemBorderColor?: string\n /** 是否显示发光效果 */\n glowEnable?: boolean\n /** 外部样式 */\n style?: CSSProperties\n}\n\nconst DEFAULT_DATA: ScrollListItem[] = [\n { rank: 1, name: '北京市', value: 9800 },\n { rank: 2, name: '上海市', value: 8500 },\n { rank: 3, name: '广州市', value: 7200 },\n { rank: 4, name: '深圳市', value: 6100 },\n { rank: 5, name: '杭州市', value: 4800 },\n]\n\nconst MEDAL_EMOJI: Record<number, string> = {\n 1: '🥇',\n 2: '🥈',\n 3: '🥉',\n}\n\nconst getRankClass = (rank: number): string => {\n if (rank === 1) {\n return styles.rankGold\n }\n if (rank === 2) {\n return styles.rankSilver\n }\n if (rank === 3) {\n return styles.rankBronze\n }\n return ''\n}\n\nconst formatDisplayValue = (value: number, format: string, prefix: string, suffix: string): string => {\n let formatted: string\n switch (format) {\n case 'currency':\n formatted = value.toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 })\n break\n case 'percent':\n formatted = `${value}%`\n break\n default:\n formatted = value.toLocaleString()\n }\n return `${prefix}${formatted}${suffix}`\n}\n\nexport const ScrollList: React.FC<ScrollListProps> = ({\n ref,\n data = DEFAULT_DATA,\n maxItems = 5,\n showRank = true,\n showMedal = true,\n progressBarEnable = true,\n progressBarGradient = true,\n progressBarColors = ['#00d4ff', '#9b59b6'],\n valueFormat = 'number',\n valuePrefix = '',\n valueSuffix = '',\n nameColor = '#e6e6e6',\n valueColor = '#00d4ff',\n backgroundColor = 'rgba(10, 10, 26, 0.95)',\n borderColor = 'rgba(26, 26, 62, 0.8)',\n itemBackgroundColor = 'rgba(15, 15, 42, 0.9)',\n itemBorderColor = 'rgba(26, 26, 62, 0.6)',\n glowEnable = false,\n style: externalStyle,\n}) => {\n const displayData = data.slice(0, maxItems)\n const maxValue = Math.max(...displayData.map(item => item.value), 1)\n\n const getProgressBarStyle = (value: number): CSSProperties => {\n const percentage = (value / maxValue) * 100\n return {\n width: `${percentage}%`,\n background: progressBarGradient\n ? `linear-gradient(90deg, ${progressBarColors[0]}, ${progressBarColors[1]})`\n : progressBarColors[0],\n boxShadow: glowEnable ? `0 0 8px ${progressBarColors[0]}60` : undefined,\n }\n }\n\n const containerStyle: CSSProperties = {\n ...externalStyle,\n backgroundColor,\n borderColor,\n }\n\n const itemStyle: CSSProperties = {\n backgroundColor: itemBackgroundColor,\n borderColor: itemBorderColor,\n }\n\n return (\n <div className={styles.container} ref={ref} style={containerStyle}>\n <div className={styles.list}>\n {displayData.map(item => {\n const isTopThree = item.rank <= 3\n\n return (\n <div className={styles.item} key={item.rank} style={itemStyle}>\n {/* Rank Badge */}\n {showRank ? (\n <div\n className={cn(\n styles.rankBadge,\n isTopThree ? styles.rankBadgeTopThree : styles.rankBadgeNormal,\n getRankClass(item.rank),\n )}\n >\n {showMedal && isTopThree ? MEDAL_EMOJI[item.rank] : item.rank}\n </div>\n ) : null}\n\n {/* Name */}\n <div className={styles.name} style={{ color: nameColor }}>\n {item.name}\n </div>\n\n {/* Value and Progress */}\n <div className={styles.valueContainer}>\n <span className={styles.value} style={{ color: valueColor }}>\n {formatDisplayValue(item.value, valueFormat, valuePrefix, valueSuffix)}\n </span>\n {progressBarEnable ? (\n <div className={styles.progressBar}>\n <div className={styles.progressFill} style={getProgressBarStyle(item.value)} />\n </div>\n ) : null}\n </div>\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nexport default ScrollList\n"],"names":["cn","inputs","clsx","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","DEFAULT_DATA","rank","name","value","MEDAL_EMOJI","getRankClass","styles","rankGold","rankSilver","rankBronze","formatDisplayValue","format","prefix","suffix","formatted","toLocaleString","minimumFractionDigits","maximumFractionDigits","ScrollList","data","maxItems","showRank","showMedal","progressBarEnable","progressBarGradient","progressBarColors","valueFormat","valuePrefix","valueSuffix","nameColor","valueColor","backgroundColor","borderColor","itemBackgroundColor","itemBorderColor","glowEnable","externalStyle","displayData","slice","maxValue","Math","max","map","item","getProgressBarStyle","percentage","width","background","boxShadow","undefined","containerStyle","itemStyle","_jsx","className","container","children","list","isTopThree","_jsxs","rankBadge","rankBadgeTopThree","rankBadgeNormal","color","valueContainer","progressBar","progressFill"],"mappings":"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","x_google_ignoreList":[0,2]}
package/dist/component.js CHANGED
@@ -1,8 +1,8 @@
1
- /* @easy-editor/materials-dashboard-ranking-list v0.0.1 (component) */
1
+ /* @easy-editor/materials-dashboard-scroll-list v0.0.2 (component) */
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
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.EasyEditorMaterialsRankingListComponent = {}, global.jsxRuntime));
5
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.EasyEditorMaterialsScrollListComponent = {}, global.jsxRuntime));
6
6
  })(this, (function (exports, jsxRuntime) { 'use strict';
7
7
 
8
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}
@@ -72,9 +72,15 @@
72
72
  3: '🥉'
73
73
  };
74
74
  const getRankClass = rank => {
75
- if (rank === 1) return styles.rankGold;
76
- if (rank === 2) return styles.rankSilver;
77
- if (rank === 3) return styles.rankBronze;
75
+ if (rank === 1) {
76
+ return styles.rankGold;
77
+ }
78
+ if (rank === 2) {
79
+ return styles.rankSilver;
80
+ }
81
+ if (rank === 3) {
82
+ return styles.rankBronze;
83
+ }
78
84
  return '';
79
85
  };
80
86
  const formatDisplayValue = (value, format, prefix, suffix) => {
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../../../../shared/src/lib/utils.ts","../../../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js","../src/component.tsx"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { clsx, type ClassValue } from 'clsx'\n\nexport function cn(...inputs: ClassValue[]) {\n return clsx(inputs)\n}\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","/**\n * Scroll List 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 interface ScrollListItem {\n rank: number\n name: string\n value: number\n}\n\nexport interface ScrollListProps {\n ref?: Ref<HTMLDivElement>\n /** 列表数据 */\n data?: ScrollListItem[]\n /** 最大显示条数 */\n maxItems?: number\n /** 是否显示排名 */\n showRank?: boolean\n /** 是否显示奖牌图标 */\n showMedal?: boolean\n /** 是否显示进度条 */\n progressBarEnable?: boolean\n /** 是否使用渐变进度条 */\n progressBarGradient?: boolean\n /** 进度条颜色 [起始色, 结束色] */\n progressBarColors?: [string, string]\n /** 数值格式化 */\n valueFormat?: 'number' | 'currency' | 'percent'\n /** 数值前缀 */\n valuePrefix?: string\n /** 数值后缀 */\n valueSuffix?: string\n /** 名称颜色 */\n nameColor?: string\n /** 数值颜色 */\n valueColor?: string\n /** 背景颜色 */\n backgroundColor?: string\n /** 边框颜色 */\n borderColor?: string\n /** 行背景颜色 */\n itemBackgroundColor?: string\n /** 行边框颜色 */\n itemBorderColor?: string\n /** 是否显示发光效果 */\n glowEnable?: boolean\n /** 外部样式 */\n style?: CSSProperties\n}\n\nconst DEFAULT_DATA: ScrollListItem[] = [\n { rank: 1, name: '北京市', value: 9800 },\n { rank: 2, name: '上海市', value: 8500 },\n { rank: 3, name: '广州市', value: 7200 },\n { rank: 4, name: '深圳市', value: 6100 },\n { rank: 5, name: '杭州市', value: 4800 },\n]\n\nconst MEDAL_EMOJI: Record<number, string> = {\n 1: '🥇',\n 2: '🥈',\n 3: '🥉',\n}\n\nconst getRankClass = (rank: number): string => {\n if (rank === 1) return styles.rankGold\n if (rank === 2) return styles.rankSilver\n if (rank === 3) return styles.rankBronze\n return ''\n}\n\nconst formatDisplayValue = (\n value: number,\n format: string,\n prefix: string,\n suffix: string,\n): string => {\n let formatted: string\n switch (format) {\n case 'currency':\n formatted = value.toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 })\n break\n case 'percent':\n formatted = `${value}%`\n break\n default:\n formatted = value.toLocaleString()\n }\n return `${prefix}${formatted}${suffix}`\n}\n\nexport const ScrollList: React.FC<ScrollListProps> = ({\n ref,\n data = DEFAULT_DATA,\n maxItems = 5,\n showRank = true,\n showMedal = true,\n progressBarEnable = true,\n progressBarGradient = true,\n progressBarColors = ['#00d4ff', '#9b59b6'],\n valueFormat = 'number',\n valuePrefix = '',\n valueSuffix = '',\n nameColor = '#e6e6e6',\n valueColor = '#00d4ff',\n backgroundColor = 'rgba(10, 10, 26, 0.95)',\n borderColor = 'rgba(26, 26, 62, 0.8)',\n itemBackgroundColor = 'rgba(15, 15, 42, 0.9)',\n itemBorderColor = 'rgba(26, 26, 62, 0.6)',\n glowEnable = false,\n style: externalStyle,\n}) => {\n const displayData = data.slice(0, maxItems)\n const maxValue = Math.max(...displayData.map(item => item.value), 1)\n\n const getProgressBarStyle = (value: number): CSSProperties => {\n const percentage = (value / maxValue) * 100\n return {\n width: `${percentage}%`,\n background: progressBarGradient\n ? `linear-gradient(90deg, ${progressBarColors[0]}, ${progressBarColors[1]})`\n : progressBarColors[0],\n boxShadow: glowEnable ? `0 0 8px ${progressBarColors[0]}60` : undefined,\n }\n }\n\n const containerStyle: CSSProperties = {\n ...externalStyle,\n backgroundColor,\n borderColor,\n }\n\n const itemStyle: CSSProperties = {\n backgroundColor: itemBackgroundColor,\n borderColor: itemBorderColor,\n }\n\n return (\n <div className={styles.container} ref={ref} style={containerStyle}>\n <div className={styles.list}>\n {displayData.map(item => {\n const isTopThree = item.rank <= 3\n\n return (\n <div className={styles.item} key={item.rank} style={itemStyle}>\n {/* Rank Badge */}\n {showRank ? (\n <div\n className={cn(\n styles.rankBadge,\n isTopThree ? styles.rankBadgeTopThree : styles.rankBadgeNormal,\n getRankClass(item.rank),\n )}\n >\n {showMedal && isTopThree ? MEDAL_EMOJI[item.rank] : item.rank}\n </div>\n ) : null}\n\n {/* Name */}\n <div className={styles.name} style={{ color: nameColor }}>{item.name}</div>\n\n {/* Value and Progress */}\n <div className={styles.valueContainer}>\n <span className={styles.value} style={{ color: valueColor }}>\n {formatDisplayValue(item.value, valueFormat, valuePrefix, valueSuffix)}\n </span>\n {progressBarEnable ? (\n <div className={styles.progressBar}>\n <div className={styles.progressFill} style={getProgressBarStyle(item.value)} />\n </div>\n ) : null}\n </div>\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nexport default ScrollList\n"],"names":["cn","inputs","clsx","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","DEFAULT_DATA","rank","name","value","MEDAL_EMOJI","getRankClass","styles","rankGold","rankSilver","rankBronze","formatDisplayValue","format","prefix","suffix","formatted","toLocaleString","minimumFractionDigits","maximumFractionDigits","ScrollList","data","maxItems","showRank","showMedal","progressBarEnable","progressBarGradient","progressBarColors","valueFormat","valuePrefix","valueSuffix","nameColor","valueColor","backgroundColor","borderColor","itemBackgroundColor","itemBorderColor","glowEnable","externalStyle","displayData","slice","maxValue","Math","max","map","item","getProgressBarStyle","percentage","width","background","boxShadow","undefined","containerStyle","itemStyle","_jsx","className","container","children","list","isTopThree","_jsxs","rankBadge","rankBadgeTopThree","rankBadgeNormal","color","valueContainer","progressBar","progressFill"],"mappings":"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","x_google_ignoreList":[0,2]}
1
+ {"version":3,"file":"component.js","sources":["../../../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../../../../shared/src/lib/utils.ts","../../../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js","../src/component.tsx"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { clsx, type ClassValue } from 'clsx'\n\nexport function cn(...inputs: ClassValue[]) {\n return clsx(inputs)\n}\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","/**\n * Scroll List 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 interface ScrollListItem {\n rank: number\n name: string\n value: number\n}\n\nexport interface ScrollListProps {\n ref?: Ref<HTMLDivElement>\n /** 列表数据 */\n data?: ScrollListItem[]\n /** 最大显示条数 */\n maxItems?: number\n /** 是否显示排名 */\n showRank?: boolean\n /** 是否显示奖牌图标 */\n showMedal?: boolean\n /** 是否显示进度条 */\n progressBarEnable?: boolean\n /** 是否使用渐变进度条 */\n progressBarGradient?: boolean\n /** 进度条颜色 [起始色, 结束色] */\n progressBarColors?: [string, string]\n /** 数值格式化 */\n valueFormat?: 'number' | 'currency' | 'percent'\n /** 数值前缀 */\n valuePrefix?: string\n /** 数值后缀 */\n valueSuffix?: string\n /** 名称颜色 */\n nameColor?: string\n /** 数值颜色 */\n valueColor?: string\n /** 背景颜色 */\n backgroundColor?: string\n /** 边框颜色 */\n borderColor?: string\n /** 行背景颜色 */\n itemBackgroundColor?: string\n /** 行边框颜色 */\n itemBorderColor?: string\n /** 是否显示发光效果 */\n glowEnable?: boolean\n /** 外部样式 */\n style?: CSSProperties\n}\n\nconst DEFAULT_DATA: ScrollListItem[] = [\n { rank: 1, name: '北京市', value: 9800 },\n { rank: 2, name: '上海市', value: 8500 },\n { rank: 3, name: '广州市', value: 7200 },\n { rank: 4, name: '深圳市', value: 6100 },\n { rank: 5, name: '杭州市', value: 4800 },\n]\n\nconst MEDAL_EMOJI: Record<number, string> = {\n 1: '🥇',\n 2: '🥈',\n 3: '🥉',\n}\n\nconst getRankClass = (rank: number): string => {\n if (rank === 1) {\n return styles.rankGold\n }\n if (rank === 2) {\n return styles.rankSilver\n }\n if (rank === 3) {\n return styles.rankBronze\n }\n return ''\n}\n\nconst formatDisplayValue = (value: number, format: string, prefix: string, suffix: string): string => {\n let formatted: string\n switch (format) {\n case 'currency':\n formatted = value.toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 })\n break\n case 'percent':\n formatted = `${value}%`\n break\n default:\n formatted = value.toLocaleString()\n }\n return `${prefix}${formatted}${suffix}`\n}\n\nexport const ScrollList: React.FC<ScrollListProps> = ({\n ref,\n data = DEFAULT_DATA,\n maxItems = 5,\n showRank = true,\n showMedal = true,\n progressBarEnable = true,\n progressBarGradient = true,\n progressBarColors = ['#00d4ff', '#9b59b6'],\n valueFormat = 'number',\n valuePrefix = '',\n valueSuffix = '',\n nameColor = '#e6e6e6',\n valueColor = '#00d4ff',\n backgroundColor = 'rgba(10, 10, 26, 0.95)',\n borderColor = 'rgba(26, 26, 62, 0.8)',\n itemBackgroundColor = 'rgba(15, 15, 42, 0.9)',\n itemBorderColor = 'rgba(26, 26, 62, 0.6)',\n glowEnable = false,\n style: externalStyle,\n}) => {\n const displayData = data.slice(0, maxItems)\n const maxValue = Math.max(...displayData.map(item => item.value), 1)\n\n const getProgressBarStyle = (value: number): CSSProperties => {\n const percentage = (value / maxValue) * 100\n return {\n width: `${percentage}%`,\n background: progressBarGradient\n ? `linear-gradient(90deg, ${progressBarColors[0]}, ${progressBarColors[1]})`\n : progressBarColors[0],\n boxShadow: glowEnable ? `0 0 8px ${progressBarColors[0]}60` : undefined,\n }\n }\n\n const containerStyle: CSSProperties = {\n ...externalStyle,\n backgroundColor,\n borderColor,\n }\n\n const itemStyle: CSSProperties = {\n backgroundColor: itemBackgroundColor,\n borderColor: itemBorderColor,\n }\n\n return (\n <div className={styles.container} ref={ref} style={containerStyle}>\n <div className={styles.list}>\n {displayData.map(item => {\n const isTopThree = item.rank <= 3\n\n return (\n <div className={styles.item} key={item.rank} style={itemStyle}>\n {/* Rank Badge */}\n {showRank ? (\n <div\n className={cn(\n styles.rankBadge,\n isTopThree ? styles.rankBadgeTopThree : styles.rankBadgeNormal,\n getRankClass(item.rank),\n )}\n >\n {showMedal && isTopThree ? MEDAL_EMOJI[item.rank] : item.rank}\n </div>\n ) : null}\n\n {/* Name */}\n <div className={styles.name} style={{ color: nameColor }}>\n {item.name}\n </div>\n\n {/* Value and Progress */}\n <div className={styles.valueContainer}>\n <span className={styles.value} style={{ color: valueColor }}>\n {formatDisplayValue(item.value, valueFormat, valuePrefix, valueSuffix)}\n </span>\n {progressBarEnable ? (\n <div className={styles.progressBar}>\n <div className={styles.progressFill} style={getProgressBarStyle(item.value)} />\n </div>\n ) : null}\n </div>\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nexport default ScrollList\n"],"names":["cn","inputs","clsx","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","DEFAULT_DATA","rank","name","value","MEDAL_EMOJI","getRankClass","styles","rankGold","rankSilver","rankBronze","formatDisplayValue","format","prefix","suffix","formatted","toLocaleString","minimumFractionDigits","maximumFractionDigits","ScrollList","data","maxItems","showRank","showMedal","progressBarEnable","progressBarGradient","progressBarColors","valueFormat","valuePrefix","valueSuffix","nameColor","valueColor","backgroundColor","borderColor","itemBackgroundColor","itemBorderColor","glowEnable","externalStyle","displayData","slice","maxValue","Math","max","map","item","getProgressBarStyle","percentage","width","background","boxShadow","undefined","containerStyle","itemStyle","_jsx","className","container","children","list","isTopThree","_jsxs","rankBadge","rankBadgeTopThree","rankBadgeNormal","color","valueContainer","progressBar","progressFill"],"mappings":";;;;;;;EAAA,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAQ,SAAS,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;;ECExW,SAASA,EAAEA,CAAC,GAAGC,MAAoB,EAAE;IAC1C,OAAOC,IAAI,CAACD,MAAM,CAAC;EACrB;;ECJA,SAASE,WAAWA,CAACC,GAAG,EAAEC,GAAG,EAAE;IAC7B,IAAKA,GAAG,KAAK,MAAM,EAAGA,GAAG,GAAG,EAAE;EAC9B,EAAA,IAAIC,QAAQ,GAAGD,GAAG,CAACC,QAAQ;EAE3B,EAAA,IAAY,OAAOC,QAAQ,KAAK,WAAW,EAAE;EAAE,IAAA;EAAQ,EAAA;EAEvD,EAAA,IAAIC,IAAI,GAAGD,QAAQ,CAACC,IAAI,IAAID,QAAQ,CAACE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EACpE,EAAA,IAAIC,KAAK,GAAGH,QAAQ,CAACI,aAAa,CAAC,OAAO,CAAC;IAC3CD,KAAK,CAACE,IAAI,GAAG,UAAU;IAEvB,IAAIN,QAAQ,KAAK,KAAK,EAAE;MACtB,IAAIE,IAAI,CAACK,UAAU,EAAE;QACnBL,IAAI,CAACM,YAAY,CAACJ,KAAK,EAAEF,IAAI,CAACK,UAAU,CAAC;EAC3C,IAAA,CAAC,MAAM;EACLL,MAAAA,IAAI,CAACO,WAAW,CAACL,KAAK,CAAC;EACzB,IAAA;EACF,EAAA,CAAC,MAAM;EACLF,IAAAA,IAAI,CAACO,WAAW,CAACL,KAAK,CAAC;EACzB,EAAA;IAEA,IAAIA,KAAK,CAACM,UAAU,EAAE;EACpBN,IAAAA,KAAK,CAACM,UAAU,CAACC,OAAO,GAAGb,GAAG;EAChC,EAAA,CAAC,MAAM;MACLM,KAAK,CAACK,WAAW,CAACR,QAAQ,CAACW,cAAc,CAACd,GAAG,CAAC,CAAC;EACjD,EAAA;EACF;;;;;;ECzBA;EACA;EACA;EACA;;EAoDA,MAAMe,YAA8B,GAAG,CACrC;EAAEC,EAAAA,IAAI,EAAE,CAAC;EAAEC,EAAAA,IAAI,EAAE,KAAK;EAAEC,EAAAA,KAAK,EAAE;EAAK,CAAC,EACrC;EAAEF,EAAAA,IAAI,EAAE,CAAC;EAAEC,EAAAA,IAAI,EAAE,KAAK;EAAEC,EAAAA,KAAK,EAAE;EAAK,CAAC,EACrC;EAAEF,EAAAA,IAAI,EAAE,CAAC;EAAEC,EAAAA,IAAI,EAAE,KAAK;EAAEC,EAAAA,KAAK,EAAE;EAAK,CAAC,EACrC;EAAEF,EAAAA,IAAI,EAAE,CAAC;EAAEC,EAAAA,IAAI,EAAE,KAAK;EAAEC,EAAAA,KAAK,EAAE;EAAK,CAAC,EACrC;EAAEF,EAAAA,IAAI,EAAE,CAAC;EAAEC,EAAAA,IAAI,EAAE,KAAK;EAAEC,EAAAA,KAAK,EAAE;EAAK,CAAC,CACtC;EAED,MAAMC,WAAmC,GAAG;EAC1C,EAAA,CAAC,EAAE,IAAI;EACP,EAAA,CAAC,EAAE,IAAI;EACP,EAAA,CAAC,EAAE;EACL,CAAC;EAED,MAAMC,YAAY,GAAIJ,IAAY,IAAa;IAC7C,IAAIA,IAAI,KAAK,CAAC,EAAE;MACd,OAAOK,MAAM,CAACC,QAAQ;EACxB,EAAA;IACA,IAAIN,IAAI,KAAK,CAAC,EAAE;MACd,OAAOK,MAAM,CAACE,UAAU;EAC1B,EAAA;IACA,IAAIP,IAAI,KAAK,CAAC,EAAE;MACd,OAAOK,MAAM,CAACG,UAAU;EAC1B,EAAA;EACA,EAAA,OAAO,EAAE;EACX,CAAC;EAED,MAAMC,kBAAkB,GAAGA,CAACP,KAAa,EAAEQ,MAAc,EAAEC,MAAc,EAAEC,MAAc,KAAa;EACpG,EAAA,IAAIC,SAAiB;EACrB,EAAA,QAAQH,MAAM;EACZ,IAAA,KAAK,UAAU;EACbG,MAAAA,SAAS,GAAGX,KAAK,CAACY,cAAc,CAAC,OAAO,EAAE;EAAEC,QAAAA,qBAAqB,EAAE,CAAC;EAAEC,QAAAA,qBAAqB,EAAE;EAAE,OAAC,CAAC;EACjG,MAAA;EACF,IAAA,KAAK,SAAS;QACZH,SAAS,GAAG,CAAA,EAAGX,KAAK,CAAA,CAAA,CAAG;EACvB,MAAA;EACF,IAAA;EACEW,MAAAA,SAAS,GAAGX,KAAK,CAACY,cAAc,EAAE;EACtC;EACA,EAAA,OAAO,GAAGH,MAAM,CAAA,EAAGE,SAAS,CAAA,EAAGD,MAAM,CAAA,CAAE;EACzC,CAAC;AAEM,QAAMK,UAAqC,GAAGA,CAAC;IACpDhC,GAAG;EACHiC,EAAAA,IAAI,GAAGnB,YAAY;EACnBoB,EAAAA,QAAQ,GAAG,CAAC;EACZC,EAAAA,QAAQ,GAAG,IAAI;EACfC,EAAAA,SAAS,GAAG,IAAI;EAChBC,EAAAA,iBAAiB,GAAG,IAAI;EACxBC,EAAAA,mBAAmB,GAAG,IAAI;EAC1BC,EAAAA,iBAAiB,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC;EAC1CC,EAAAA,WAAW,GAAG,QAAQ;EACtBC,EAAAA,WAAW,GAAG,EAAE;EAChBC,EAAAA,WAAW,GAAG,EAAE;EAChBC,EAAAA,SAAS,GAAG,SAAS;EACrBC,EAAAA,UAAU,GAAG,SAAS;EACtBC,EAAAA,eAAe,GAAG,wBAAwB;EAC1CC,EAAAA,WAAW,GAAG,uBAAuB;EACrCC,EAAAA,mBAAmB,GAAG,uBAAuB;EAC7CC,EAAAA,eAAe,GAAG,uBAAuB;EACzCC,EAAAA,UAAU,GAAG,KAAK;EAClB5C,EAAAA,KAAK,EAAE6C;EACT,CAAC,KAAK;IACJ,MAAMC,WAAW,GAAGlB,IAAI,CAACmB,KAAK,CAAC,CAAC,EAAElB,QAAQ,CAAC;EAC3C,EAAA,MAAMmB,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAAC,GAAGJ,WAAW,CAACK,GAAG,CAACC,IAAI,IAAIA,IAAI,CAACxC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEpE,MAAMyC,mBAAmB,GAAIzC,KAAa,IAAoB;EAC5D,IAAA,MAAM0C,UAAU,GAAI1C,KAAK,GAAGoC,QAAQ,GAAI,GAAG;MAC3C,OAAO;QACLO,KAAK,EAAE,CAAA,EAAGD,UAAU,CAAA,CAAA,CAAG;EACvBE,MAAAA,UAAU,EAAEvB,mBAAmB,GAC3B,0BAA0BC,iBAAiB,CAAC,CAAC,CAAC,CAAA,EAAA,EAAKA,iBAAiB,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG,GAC1EA,iBAAiB,CAAC,CAAC,CAAC;QACxBuB,SAAS,EAAEb,UAAU,GAAG,CAAA,QAAA,EAAWV,iBAAiB,CAAC,CAAC,CAAC,CAAA,EAAA,CAAI,GAAGwB;OAC/D;IACH,CAAC;EAED,EAAA,MAAMC,cAA6B,GAAG;EACpC,IAAA,GAAGd,aAAa;MAChBL,eAAe;EACfC,IAAAA;KACD;EAED,EAAA,MAAMmB,SAAwB,GAAG;EAC/BpB,IAAAA,eAAe,EAAEE,mBAAmB;EACpCD,IAAAA,WAAW,EAAEE;KACd;EAED,EAAA,oBACEkB,cAAA,CAAA,KAAA,EAAA;MAAKC,SAAS,EAAE/C,MAAM,CAACgD,SAAU;EAACpE,IAAAA,GAAG,EAAEA,GAAI;EAACK,IAAAA,KAAK,EAAE2D,cAAe;EAAAK,IAAAA,QAAA,eAChEH,cAAA,CAAA,KAAA,EAAA;QAAKC,SAAS,EAAE/C,MAAM,CAACkD,IAAK;EAAAD,MAAAA,QAAA,EACzBlB,WAAW,CAACK,GAAG,CAACC,IAAI,IAAI;EACvB,QAAA,MAAMc,UAAU,GAAGd,IAAI,CAAC1C,IAAI,IAAI,CAAC;EAEjC,QAAA,oBACEyD,eAAA,CAAA,KAAA,EAAA;YAAKL,SAAS,EAAE/C,MAAM,CAACqC,IAAK;EAAiBpD,UAAAA,KAAK,EAAE4D,SAAU;YAAAI,QAAA,EAAA,CAE3DlC,QAAQ,gBACP+B,cAAA,CAAA,KAAA,EAAA;cACEC,SAAS,EAAExE,EAAE,CACXyB,MAAM,CAACqD,SAAS,EAChBF,UAAU,GAAGnD,MAAM,CAACsD,iBAAiB,GAAGtD,MAAM,CAACuD,eAAe,EAC9DxD,YAAY,CAACsC,IAAI,CAAC1C,IAAI,CACxB,CAAE;EAAAsD,YAAAA,QAAA,EAEDjC,SAAS,IAAImC,UAAU,GAAGrD,WAAW,CAACuC,IAAI,CAAC1C,IAAI,CAAC,GAAG0C,IAAI,CAAC1C;EAAI,WAC1D,CAAC,GACJ,IAAI,eAGRmD,cAAA,CAAA,KAAA,EAAA;cAAKC,SAAS,EAAE/C,MAAM,CAACJ,IAAK;EAACX,YAAAA,KAAK,EAAE;EAAEuE,cAAAA,KAAK,EAAEjC;eAAY;cAAA0B,QAAA,EACtDZ,IAAI,CAACzC;aACH,CAAC,eAGNwD,eAAA,CAAA,KAAA,EAAA;cAAKL,SAAS,EAAE/C,MAAM,CAACyD,cAAe;EAAAR,YAAAA,QAAA,gBACpCH,cAAA,CAAA,MAAA,EAAA;gBAAMC,SAAS,EAAE/C,MAAM,CAACH,KAAM;EAACZ,cAAAA,KAAK,EAAE;EAAEuE,gBAAAA,KAAK,EAAEhC;iBAAa;gBAAAyB,QAAA,EACzD7C,kBAAkB,CAACiC,IAAI,CAACxC,KAAK,EAAEuB,WAAW,EAAEC,WAAW,EAAEC,WAAW;EAAC,aAClE,CAAC,EACNL,iBAAiB,gBAChB6B,cAAA,CAAA,KAAA,EAAA;gBAAKC,SAAS,EAAE/C,MAAM,CAAC0D,WAAY;EAAAT,cAAAA,QAAA,eACjCH,cAAA,CAAA,KAAA,EAAA;kBAAKC,SAAS,EAAE/C,MAAM,CAAC2D,YAAa;EAAC1E,gBAAAA,KAAK,EAAEqD,mBAAmB,CAACD,IAAI,CAACxC,KAAK;iBAAI;eAC3E,CAAC,GACJ,IAAI;EAAA,WACL,CAAC;WAAA,EA7B0BwC,IAAI,CAAC1C,IA8BlC,CAAC;QAEV,CAAC;OACE;EAAC,GACH,CAAC;EAEV;;;;;;;;;;;","x_google_ignoreList":[0,2]}
@@ -1,2 +1,2 @@
1
- !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("react/jsx-runtime")):"function"==typeof define&&define.amd?define(["exports","react/jsx-runtime"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).EasyEditorMaterialsRankingListComponent={},e.jsxRuntime)}(this,function(e,o){"use strict";function n(e){var o,r,t="";if("string"==typeof e||"number"==typeof e)t+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(o=0;o<a;o++)e[o]&&(r=n(e[o]))&&(t&&(t+=" "),t+=r)}else for(r in e)e[r]&&(t&&(t+=" "),t+=r);return t}function r(...e){return function(){for(var e,o,r=0,t="",a=arguments.length;r<a;r++)(e=arguments[r])&&(o=n(e))&&(t&&(t+=" "),t+=o);return t}(e)}var t="component-module__container___VbZSk",a="component-module__list___ZzqLO",l="component-module__item___-0hiq",i="component-module__rankBadge___qWXYW",_="component-module__rankBadgeTopThree___kYqJt",d="component-module__rankBadgeNormal___Fl3nh",s="component-module__rankGold___lLkRo",m="component-module__rankSilver___QUAyV",c="component-module__rankBronze___Wc-LC",p="component-module__name___6zmww",u="component-module__valueContainer___xBbFD",f="component-module__value___Fg70k",g="component-module__progressBar___wROZC",h="component-module__progressFill___F8n5d";!function(e,o){void 0===o&&(o={});var n=o.insertAt;if("undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css","top"===n&&r.firstChild?r.insertBefore(t,r.firstChild):r.appendChild(t),t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))}}('.component-module__container___VbZSk{backdrop-filter:blur(10px);background:rgba(10,10,26,.95);border:1px solid rgba(26,26,62,.8);border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.3);box-sizing:border-box;height:100%;overflow:hidden;padding:16px;width:100%}.component-module__list___ZzqLO{display:flex;flex-direction:column;gap:10px;height:100%}.component-module__item___-0hiq{align-items:center;background:rgba(15,15,42,.9);border:1px solid rgba(26,26,62,.6);border-radius:8px;display:flex;gap:14px;overflow:hidden;padding:12px 16px;position:relative;transition:all .3s ease}.component-module__item___-0hiq:before{background:linear-gradient(180deg,transparent,rgba(0,212,255,.5),transparent);bottom:0;content:"";left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:3px}.component-module__item___-0hiq:hover{background:rgba(20,20,52,.95);border-color:rgba(0,212,255,.3);transform:translateX(4px)}.component-module__item___-0hiq:hover:before{opacity:1}.component-module__rankBadge___qWXYW{align-items:center;border-radius:6px;display:flex;font-weight:700;height:32px;justify-content:center;min-width:32px;transition:transform .3s ease}.component-module__item___-0hiq:hover .component-module__rankBadge___qWXYW{transform:scale(1.1)}.component-module__rankBadgeTopThree___kYqJt{font-size:20px;text-shadow:0 2px 8px rgba(0,0,0,.5)}.component-module__rankBadgeNormal___Fl3nh{background:rgba(26,26,62,.8);border:1px solid rgba(136,146,176,.2);color:#8892b0;font-size:14px}.component-module__rankGold___lLkRo{color:gold;filter:drop-shadow(0 0 6px rgba(255,215,0,.6))}.component-module__rankSilver___QUAyV{color:#e8e8e8;filter:drop-shadow(0 0 6px rgba(192,192,192,.6))}.component-module__rankBronze___Wc-LC{color:#f96;filter:drop-shadow(0 0 6px rgba(205,127,50,.6))}.component-module__name___6zmww{color:#e6e6e6;flex:1;font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;transition:color .3s ease;white-space:nowrap}.component-module__item___-0hiq:hover .component-module__name___6zmww{color:#fff}.component-module__valueContainer___xBbFD{align-items:flex-end;display:flex;flex-direction:column;gap:6px;min-width:120px}.component-module__value___Fg70k{color:#00d4ff;font-family:Courier New,Courier,monospace;font-size:15px;font-weight:700;text-shadow:0 0 10px rgba(0,212,255,.3);transition:all .3s ease}.component-module__item___-0hiq:hover .component-module__value___Fg70k{text-shadow:0 0 15px rgba(0,212,255,.5);transform:scale(1.05)}.component-module__progressBar___wROZC{background:rgba(26,26,62,.8);border-radius:3px;box-shadow:inset 0 1px 3px rgba(0,0,0,.3);height:5px;overflow:hidden;width:100%}.component-module__progressFill___F8n5d{border-radius:3px;height:100%;position:relative;transition:width .5s cubic-bezier(.4,0,.2,1)}.component-module__progressFill___F8n5d:after{animation:component-module__shimmer___7hQ6G 2s infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes component-module__shimmer___7hQ6G{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}');const b=[{rank:1,name:"北京市",value:9800},{rank:2,name:"上海市",value:8500},{rank:3,name:"广州市",value:7200},{rank:4,name:"深圳市",value:6100},{rank:5,name:"杭州市",value:4800}],x={1:"🥇",2:"🥈",3:"🥉"},k=(e,o,n,r)=>{let t;switch(o){case"currency":t=e.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2});break;case"percent":t=`${e}%`;break;default:t=e.toLocaleString()}return`${n}${t}${r}`},v=({ref:e,data:n=b,maxItems:v=5,showRank:w=!0,showMedal:y=!0,progressBarEnable:C=!0,progressBarGradient:B=!0,progressBarColors:j=["#00d4ff","#9b59b6"],valueFormat:q="number",valuePrefix:F="",valueSuffix:N="",nameColor:z="#e6e6e6",valueColor:S="#00d4ff",backgroundColor:L="rgba(10, 10, 26, 0.95)",borderColor:T="rgba(26, 26, 62, 0.8)",itemBackgroundColor:W="rgba(15, 15, 42, 0.9)",itemBorderColor:R="rgba(26, 26, 62, 0.6)",glowEnable:$=!1,style:E})=>{const X=n.slice(0,v),Z=Math.max(...X.map(e=>e.value),1),A={...E,backgroundColor:L,borderColor:T},G={backgroundColor:W,borderColor:R};return o.jsx("div",{className:t,ref:e,style:A,children:o.jsx("div",{className:a,children:X.map(e=>{const n=e.rank<=3;return o.jsxs("div",{className:l,style:G,children:[w?o.jsx("div",{className:r(i,n?_:d,(a=e.rank,1===a?s:2===a?m:3===a?c:"")),children:y&&n?x[e.rank]:e.rank}):null,o.jsx("div",{className:p,style:{color:z},children:e.name}),o.jsxs("div",{className:u,children:[o.jsx("span",{className:f,style:{color:S},children:k(e.value,q,F,N)}),C?o.jsx("div",{className:g,children:o.jsx("div",{className:h,style:(t=e.value,{width:t/Z*100+"%",background:B?`linear-gradient(90deg, ${j[0]}, ${j[1]})`:j[0],boxShadow:$?`0 0 8px ${j[0]}60`:void 0})})}):null]})]},e.rank);var t,a})})})};e.ScrollList=v,e.default=v,Object.defineProperty(e,"__esModule",{value:!0})});
1
+ !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("react/jsx-runtime")):"function"==typeof define&&define.amd?define(["exports","react/jsx-runtime"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).EasyEditorMaterialsScrollListComponent={},e.jsxRuntime)}(this,function(e,o){"use strict";function n(e){var o,r,t="";if("string"==typeof e||"number"==typeof e)t+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(o=0;o<a;o++)e[o]&&(r=n(e[o]))&&(t&&(t+=" "),t+=r)}else for(r in e)e[r]&&(t&&(t+=" "),t+=r);return t}function r(...e){return function(){for(var e,o,r=0,t="",a=arguments.length;r<a;r++)(e=arguments[r])&&(o=n(e))&&(t&&(t+=" "),t+=o);return t}(e)}var t="component-module__container___VbZSk",a="component-module__list___ZzqLO",l="component-module__item___-0hiq",i="component-module__rankBadge___qWXYW",_="component-module__rankBadgeTopThree___kYqJt",d="component-module__rankBadgeNormal___Fl3nh",s="component-module__rankGold___lLkRo",m="component-module__rankSilver___QUAyV",c="component-module__rankBronze___Wc-LC",p="component-module__name___6zmww",u="component-module__valueContainer___xBbFD",f="component-module__value___Fg70k",g="component-module__progressBar___wROZC",h="component-module__progressFill___F8n5d";!function(e,o){void 0===o&&(o={});var n=o.insertAt;if("undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css","top"===n&&r.firstChild?r.insertBefore(t,r.firstChild):r.appendChild(t),t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))}}('.component-module__container___VbZSk{backdrop-filter:blur(10px);background:rgba(10,10,26,.95);border:1px solid rgba(26,26,62,.8);border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.3);box-sizing:border-box;height:100%;overflow:hidden;padding:16px;width:100%}.component-module__list___ZzqLO{display:flex;flex-direction:column;gap:10px;height:100%}.component-module__item___-0hiq{align-items:center;background:rgba(15,15,42,.9);border:1px solid rgba(26,26,62,.6);border-radius:8px;display:flex;gap:14px;overflow:hidden;padding:12px 16px;position:relative;transition:all .3s ease}.component-module__item___-0hiq:before{background:linear-gradient(180deg,transparent,rgba(0,212,255,.5),transparent);bottom:0;content:"";left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:3px}.component-module__item___-0hiq:hover{background:rgba(20,20,52,.95);border-color:rgba(0,212,255,.3);transform:translateX(4px)}.component-module__item___-0hiq:hover:before{opacity:1}.component-module__rankBadge___qWXYW{align-items:center;border-radius:6px;display:flex;font-weight:700;height:32px;justify-content:center;min-width:32px;transition:transform .3s ease}.component-module__item___-0hiq:hover .component-module__rankBadge___qWXYW{transform:scale(1.1)}.component-module__rankBadgeTopThree___kYqJt{font-size:20px;text-shadow:0 2px 8px rgba(0,0,0,.5)}.component-module__rankBadgeNormal___Fl3nh{background:rgba(26,26,62,.8);border:1px solid rgba(136,146,176,.2);color:#8892b0;font-size:14px}.component-module__rankGold___lLkRo{color:gold;filter:drop-shadow(0 0 6px rgba(255,215,0,.6))}.component-module__rankSilver___QUAyV{color:#e8e8e8;filter:drop-shadow(0 0 6px rgba(192,192,192,.6))}.component-module__rankBronze___Wc-LC{color:#f96;filter:drop-shadow(0 0 6px rgba(205,127,50,.6))}.component-module__name___6zmww{color:#e6e6e6;flex:1;font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;transition:color .3s ease;white-space:nowrap}.component-module__item___-0hiq:hover .component-module__name___6zmww{color:#fff}.component-module__valueContainer___xBbFD{align-items:flex-end;display:flex;flex-direction:column;gap:6px;min-width:120px}.component-module__value___Fg70k{color:#00d4ff;font-family:Courier New,Courier,monospace;font-size:15px;font-weight:700;text-shadow:0 0 10px rgba(0,212,255,.3);transition:all .3s ease}.component-module__item___-0hiq:hover .component-module__value___Fg70k{text-shadow:0 0 15px rgba(0,212,255,.5);transform:scale(1.05)}.component-module__progressBar___wROZC{background:rgba(26,26,62,.8);border-radius:3px;box-shadow:inset 0 1px 3px rgba(0,0,0,.3);height:5px;overflow:hidden;width:100%}.component-module__progressFill___F8n5d{border-radius:3px;height:100%;position:relative;transition:width .5s cubic-bezier(.4,0,.2,1)}.component-module__progressFill___F8n5d:after{animation:component-module__shimmer___7hQ6G 2s infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes component-module__shimmer___7hQ6G{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}');const b=[{rank:1,name:"北京市",value:9800},{rank:2,name:"上海市",value:8500},{rank:3,name:"广州市",value:7200},{rank:4,name:"深圳市",value:6100},{rank:5,name:"杭州市",value:4800}],x={1:"🥇",2:"🥈",3:"🥉"},k=(e,o,n,r)=>{let t;switch(o){case"currency":t=e.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2});break;case"percent":t=`${e}%`;break;default:t=e.toLocaleString()}return`${n}${t}${r}`},v=({ref:e,data:n=b,maxItems:v=5,showRank:w=!0,showMedal:y=!0,progressBarEnable:C=!0,progressBarGradient:B=!0,progressBarColors:j=["#00d4ff","#9b59b6"],valueFormat:q="number",valuePrefix:F="",valueSuffix:N="",nameColor:z="#e6e6e6",valueColor:S="#00d4ff",backgroundColor:L="rgba(10, 10, 26, 0.95)",borderColor:T="rgba(26, 26, 62, 0.8)",itemBackgroundColor:W="rgba(15, 15, 42, 0.9)",itemBorderColor:$="rgba(26, 26, 62, 0.6)",glowEnable:E=!1,style:R})=>{const X=n.slice(0,v),Z=Math.max(...X.map(e=>e.value),1),A={...R,backgroundColor:L,borderColor:T},G={backgroundColor:W,borderColor:$};return o.jsx("div",{className:t,ref:e,style:A,children:o.jsx("div",{className:a,children:X.map(e=>{const n=e.rank<=3;return o.jsxs("div",{className:l,style:G,children:[w?o.jsx("div",{className:r(i,n?_:d,(a=e.rank,1===a?s:2===a?m:3===a?c:"")),children:y&&n?x[e.rank]:e.rank}):null,o.jsx("div",{className:p,style:{color:z},children:e.name}),o.jsxs("div",{className:u,children:[o.jsx("span",{className:f,style:{color:S},children:k(e.value,q,F,N)}),C?o.jsx("div",{className:g,children:o.jsx("div",{className:h,style:(t=e.value,{width:t/Z*100+"%",background:B?`linear-gradient(90deg, ${j[0]}, ${j[1]})`:j[0],boxShadow:E?`0 0 8px ${j[0]}60`:void 0})})}):null]})]},e.rank);var t,a})})})};e.ScrollList=v,e.default=v,Object.defineProperty(e,"__esModule",{value:!0})});
2
2
  //# sourceMappingURL=component.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.min.js","sources":["../../../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../../../../shared/src/lib/utils.ts","../../../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js","../src/component.tsx"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { clsx, type ClassValue } from 'clsx'\n\nexport function cn(...inputs: ClassValue[]) {\n return clsx(inputs)\n}\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","/**\n * Scroll List 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 interface ScrollListItem {\n rank: number\n name: string\n value: number\n}\n\nexport interface ScrollListProps {\n ref?: Ref<HTMLDivElement>\n /** 列表数据 */\n data?: ScrollListItem[]\n /** 最大显示条数 */\n maxItems?: number\n /** 是否显示排名 */\n showRank?: boolean\n /** 是否显示奖牌图标 */\n showMedal?: boolean\n /** 是否显示进度条 */\n progressBarEnable?: boolean\n /** 是否使用渐变进度条 */\n progressBarGradient?: boolean\n /** 进度条颜色 [起始色, 结束色] */\n progressBarColors?: [string, string]\n /** 数值格式化 */\n valueFormat?: 'number' | 'currency' | 'percent'\n /** 数值前缀 */\n valuePrefix?: string\n /** 数值后缀 */\n valueSuffix?: string\n /** 名称颜色 */\n nameColor?: string\n /** 数值颜色 */\n valueColor?: string\n /** 背景颜色 */\n backgroundColor?: string\n /** 边框颜色 */\n borderColor?: string\n /** 行背景颜色 */\n itemBackgroundColor?: string\n /** 行边框颜色 */\n itemBorderColor?: string\n /** 是否显示发光效果 */\n glowEnable?: boolean\n /** 外部样式 */\n style?: CSSProperties\n}\n\nconst DEFAULT_DATA: ScrollListItem[] = [\n { rank: 1, name: '北京市', value: 9800 },\n { rank: 2, name: '上海市', value: 8500 },\n { rank: 3, name: '广州市', value: 7200 },\n { rank: 4, name: '深圳市', value: 6100 },\n { rank: 5, name: '杭州市', value: 4800 },\n]\n\nconst MEDAL_EMOJI: Record<number, string> = {\n 1: '🥇',\n 2: '🥈',\n 3: '🥉',\n}\n\nconst getRankClass = (rank: number): string => {\n if (rank === 1) return styles.rankGold\n if (rank === 2) return styles.rankSilver\n if (rank === 3) return styles.rankBronze\n return ''\n}\n\nconst formatDisplayValue = (\n value: number,\n format: string,\n prefix: string,\n suffix: string,\n): string => {\n let formatted: string\n switch (format) {\n case 'currency':\n formatted = value.toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 })\n break\n case 'percent':\n formatted = `${value}%`\n break\n default:\n formatted = value.toLocaleString()\n }\n return `${prefix}${formatted}${suffix}`\n}\n\nexport const ScrollList: React.FC<ScrollListProps> = ({\n ref,\n data = DEFAULT_DATA,\n maxItems = 5,\n showRank = true,\n showMedal = true,\n progressBarEnable = true,\n progressBarGradient = true,\n progressBarColors = ['#00d4ff', '#9b59b6'],\n valueFormat = 'number',\n valuePrefix = '',\n valueSuffix = '',\n nameColor = '#e6e6e6',\n valueColor = '#00d4ff',\n backgroundColor = 'rgba(10, 10, 26, 0.95)',\n borderColor = 'rgba(26, 26, 62, 0.8)',\n itemBackgroundColor = 'rgba(15, 15, 42, 0.9)',\n itemBorderColor = 'rgba(26, 26, 62, 0.6)',\n glowEnable = false,\n style: externalStyle,\n}) => {\n const displayData = data.slice(0, maxItems)\n const maxValue = Math.max(...displayData.map(item => item.value), 1)\n\n const getProgressBarStyle = (value: number): CSSProperties => {\n const percentage = (value / maxValue) * 100\n return {\n width: `${percentage}%`,\n background: progressBarGradient\n ? `linear-gradient(90deg, ${progressBarColors[0]}, ${progressBarColors[1]})`\n : progressBarColors[0],\n boxShadow: glowEnable ? `0 0 8px ${progressBarColors[0]}60` : undefined,\n }\n }\n\n const containerStyle: CSSProperties = {\n ...externalStyle,\n backgroundColor,\n borderColor,\n }\n\n const itemStyle: CSSProperties = {\n backgroundColor: itemBackgroundColor,\n borderColor: itemBorderColor,\n }\n\n return (\n <div className={styles.container} ref={ref} style={containerStyle}>\n <div className={styles.list}>\n {displayData.map(item => {\n const isTopThree = item.rank <= 3\n\n return (\n <div className={styles.item} key={item.rank} style={itemStyle}>\n {/* Rank Badge */}\n {showRank ? (\n <div\n className={cn(\n styles.rankBadge,\n isTopThree ? styles.rankBadgeTopThree : styles.rankBadgeNormal,\n getRankClass(item.rank),\n )}\n >\n {showMedal && isTopThree ? MEDAL_EMOJI[item.rank] : item.rank}\n </div>\n ) : null}\n\n {/* Name */}\n <div className={styles.name} style={{ color: nameColor }}>{item.name}</div>\n\n {/* Value and Progress */}\n <div className={styles.valueContainer}>\n <span className={styles.value} style={{ color: valueColor }}>\n {formatDisplayValue(item.value, valueFormat, valuePrefix, valueSuffix)}\n </span>\n {progressBarEnable ? (\n <div className={styles.progressBar}>\n <div className={styles.progressFill} style={getProgressBarStyle(item.value)} />\n </div>\n ) : null}\n </div>\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nexport default ScrollList\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","DEFAULT_DATA","rank","name","value","MEDAL_EMOJI","formatDisplayValue","format","prefix","suffix","formatted","toLocaleString","minimumFractionDigits","maximumFractionDigits","ScrollList","data","maxItems","showRank","showMedal","progressBarEnable","progressBarGradient","progressBarColors","valueFormat","valuePrefix","valueSuffix","nameColor","valueColor","backgroundColor","borderColor","itemBackgroundColor","itemBorderColor","glowEnable","externalStyle","displayData","slice","maxValue","Math","max","map","item","containerStyle","itemStyle","_jsx","className","styles","children","isTopThree","_jsxs","color","width","background","boxShadow","undefined"],"mappings":"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","x_google_ignoreList":[0,2]}
1
+ {"version":3,"file":"component.min.js","sources":["../../../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../../../../shared/src/lib/utils.ts","../../../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js","../src/component.tsx"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { clsx, type ClassValue } from 'clsx'\n\nexport function cn(...inputs: ClassValue[]) {\n return clsx(inputs)\n}\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","/**\n * Scroll List 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 interface ScrollListItem {\n rank: number\n name: string\n value: number\n}\n\nexport interface ScrollListProps {\n ref?: Ref<HTMLDivElement>\n /** 列表数据 */\n data?: ScrollListItem[]\n /** 最大显示条数 */\n maxItems?: number\n /** 是否显示排名 */\n showRank?: boolean\n /** 是否显示奖牌图标 */\n showMedal?: boolean\n /** 是否显示进度条 */\n progressBarEnable?: boolean\n /** 是否使用渐变进度条 */\n progressBarGradient?: boolean\n /** 进度条颜色 [起始色, 结束色] */\n progressBarColors?: [string, string]\n /** 数值格式化 */\n valueFormat?: 'number' | 'currency' | 'percent'\n /** 数值前缀 */\n valuePrefix?: string\n /** 数值后缀 */\n valueSuffix?: string\n /** 名称颜色 */\n nameColor?: string\n /** 数值颜色 */\n valueColor?: string\n /** 背景颜色 */\n backgroundColor?: string\n /** 边框颜色 */\n borderColor?: string\n /** 行背景颜色 */\n itemBackgroundColor?: string\n /** 行边框颜色 */\n itemBorderColor?: string\n /** 是否显示发光效果 */\n glowEnable?: boolean\n /** 外部样式 */\n style?: CSSProperties\n}\n\nconst DEFAULT_DATA: ScrollListItem[] = [\n { rank: 1, name: '北京市', value: 9800 },\n { rank: 2, name: '上海市', value: 8500 },\n { rank: 3, name: '广州市', value: 7200 },\n { rank: 4, name: '深圳市', value: 6100 },\n { rank: 5, name: '杭州市', value: 4800 },\n]\n\nconst MEDAL_EMOJI: Record<number, string> = {\n 1: '🥇',\n 2: '🥈',\n 3: '🥉',\n}\n\nconst getRankClass = (rank: number): string => {\n if (rank === 1) {\n return styles.rankGold\n }\n if (rank === 2) {\n return styles.rankSilver\n }\n if (rank === 3) {\n return styles.rankBronze\n }\n return ''\n}\n\nconst formatDisplayValue = (value: number, format: string, prefix: string, suffix: string): string => {\n let formatted: string\n switch (format) {\n case 'currency':\n formatted = value.toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 })\n break\n case 'percent':\n formatted = `${value}%`\n break\n default:\n formatted = value.toLocaleString()\n }\n return `${prefix}${formatted}${suffix}`\n}\n\nexport const ScrollList: React.FC<ScrollListProps> = ({\n ref,\n data = DEFAULT_DATA,\n maxItems = 5,\n showRank = true,\n showMedal = true,\n progressBarEnable = true,\n progressBarGradient = true,\n progressBarColors = ['#00d4ff', '#9b59b6'],\n valueFormat = 'number',\n valuePrefix = '',\n valueSuffix = '',\n nameColor = '#e6e6e6',\n valueColor = '#00d4ff',\n backgroundColor = 'rgba(10, 10, 26, 0.95)',\n borderColor = 'rgba(26, 26, 62, 0.8)',\n itemBackgroundColor = 'rgba(15, 15, 42, 0.9)',\n itemBorderColor = 'rgba(26, 26, 62, 0.6)',\n glowEnable = false,\n style: externalStyle,\n}) => {\n const displayData = data.slice(0, maxItems)\n const maxValue = Math.max(...displayData.map(item => item.value), 1)\n\n const getProgressBarStyle = (value: number): CSSProperties => {\n const percentage = (value / maxValue) * 100\n return {\n width: `${percentage}%`,\n background: progressBarGradient\n ? `linear-gradient(90deg, ${progressBarColors[0]}, ${progressBarColors[1]})`\n : progressBarColors[0],\n boxShadow: glowEnable ? `0 0 8px ${progressBarColors[0]}60` : undefined,\n }\n }\n\n const containerStyle: CSSProperties = {\n ...externalStyle,\n backgroundColor,\n borderColor,\n }\n\n const itemStyle: CSSProperties = {\n backgroundColor: itemBackgroundColor,\n borderColor: itemBorderColor,\n }\n\n return (\n <div className={styles.container} ref={ref} style={containerStyle}>\n <div className={styles.list}>\n {displayData.map(item => {\n const isTopThree = item.rank <= 3\n\n return (\n <div className={styles.item} key={item.rank} style={itemStyle}>\n {/* Rank Badge */}\n {showRank ? (\n <div\n className={cn(\n styles.rankBadge,\n isTopThree ? styles.rankBadgeTopThree : styles.rankBadgeNormal,\n getRankClass(item.rank),\n )}\n >\n {showMedal && isTopThree ? MEDAL_EMOJI[item.rank] : item.rank}\n </div>\n ) : null}\n\n {/* Name */}\n <div className={styles.name} style={{ color: nameColor }}>\n {item.name}\n </div>\n\n {/* Value and Progress */}\n <div className={styles.valueContainer}>\n <span className={styles.value} style={{ color: valueColor }}>\n {formatDisplayValue(item.value, valueFormat, valuePrefix, valueSuffix)}\n </span>\n {progressBarEnable ? (\n <div className={styles.progressBar}>\n <div className={styles.progressFill} style={getProgressBarStyle(item.value)} />\n </div>\n ) : null}\n </div>\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nexport default ScrollList\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","DEFAULT_DATA","rank","name","value","MEDAL_EMOJI","formatDisplayValue","format","prefix","suffix","formatted","toLocaleString","minimumFractionDigits","maximumFractionDigits","ScrollList","data","maxItems","showRank","showMedal","progressBarEnable","progressBarGradient","progressBarColors","valueFormat","valuePrefix","valueSuffix","nameColor","valueColor","backgroundColor","borderColor","itemBackgroundColor","itemBorderColor","glowEnable","externalStyle","displayData","slice","maxValue","Math","max","map","item","containerStyle","itemStyle","_jsx","className","styles","children","isTopThree","_jsxs","color","width","background","boxShadow","undefined"],"mappings":"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","x_google_ignoreList":[0,2]}
package/dist/index.cjs CHANGED
@@ -72,9 +72,15 @@ const MEDAL_EMOJI = {
72
72
  3: '🥉'
73
73
  };
74
74
  const getRankClass = rank => {
75
- if (rank === 1) return styles.rankGold;
76
- if (rank === 2) return styles.rankSilver;
77
- if (rank === 3) return styles.rankBronze;
75
+ if (rank === 1) {
76
+ return styles.rankGold;
77
+ }
78
+ if (rank === 2) {
79
+ return styles.rankSilver;
80
+ }
81
+ if (rank === 3) {
82
+ return styles.rankBronze;
83
+ }
78
84
  return '';
79
85
  };
80
86
  const formatDisplayValue = (value, format, prefix, suffix) => {
@@ -645,7 +651,7 @@ const snippets = [{
645
651
  }
646
652
  }];
647
653
 
648
- var version = "0.0.1";
654
+ var version = "0.0.2";
649
655
  var pkg = {
650
656
  version: version};
651
657
 
@@ -1 +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 * Scroll List 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 interface ScrollListItem {\n rank: number\n name: string\n value: number\n}\n\nexport interface ScrollListProps {\n ref?: Ref<HTMLDivElement>\n /** 列表数据 */\n data?: ScrollListItem[]\n /** 最大显示条数 */\n maxItems?: number\n /** 是否显示排名 */\n showRank?: boolean\n /** 是否显示奖牌图标 */\n showMedal?: boolean\n /** 是否显示进度条 */\n progressBarEnable?: boolean\n /** 是否使用渐变进度条 */\n progressBarGradient?: boolean\n /** 进度条颜色 [起始色, 结束色] */\n progressBarColors?: [string, string]\n /** 数值格式化 */\n valueFormat?: 'number' | 'currency' | 'percent'\n /** 数值前缀 */\n valuePrefix?: string\n /** 数值后缀 */\n valueSuffix?: string\n /** 名称颜色 */\n nameColor?: string\n /** 数值颜色 */\n valueColor?: string\n /** 背景颜色 */\n backgroundColor?: string\n /** 边框颜色 */\n borderColor?: string\n /** 行背景颜色 */\n itemBackgroundColor?: string\n /** 行边框颜色 */\n itemBorderColor?: string\n /** 是否显示发光效果 */\n glowEnable?: boolean\n /** 外部样式 */\n style?: CSSProperties\n}\n\nconst DEFAULT_DATA: ScrollListItem[] = [\n { rank: 1, name: '北京市', value: 9800 },\n { rank: 2, name: '上海市', value: 8500 },\n { rank: 3, name: '广州市', value: 7200 },\n { rank: 4, name: '深圳市', value: 6100 },\n { rank: 5, name: '杭州市', value: 4800 },\n]\n\nconst MEDAL_EMOJI: Record<number, string> = {\n 1: '🥇',\n 2: '🥈',\n 3: '🥉',\n}\n\nconst getRankClass = (rank: number): string => {\n if (rank === 1) return styles.rankGold\n if (rank === 2) return styles.rankSilver\n if (rank === 3) return styles.rankBronze\n return ''\n}\n\nconst formatDisplayValue = (\n value: number,\n format: string,\n prefix: string,\n suffix: string,\n): string => {\n let formatted: string\n switch (format) {\n case 'currency':\n formatted = value.toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 })\n break\n case 'percent':\n formatted = `${value}%`\n break\n default:\n formatted = value.toLocaleString()\n }\n return `${prefix}${formatted}${suffix}`\n}\n\nexport const ScrollList: React.FC<ScrollListProps> = ({\n ref,\n data = DEFAULT_DATA,\n maxItems = 5,\n showRank = true,\n showMedal = true,\n progressBarEnable = true,\n progressBarGradient = true,\n progressBarColors = ['#00d4ff', '#9b59b6'],\n valueFormat = 'number',\n valuePrefix = '',\n valueSuffix = '',\n nameColor = '#e6e6e6',\n valueColor = '#00d4ff',\n backgroundColor = 'rgba(10, 10, 26, 0.95)',\n borderColor = 'rgba(26, 26, 62, 0.8)',\n itemBackgroundColor = 'rgba(15, 15, 42, 0.9)',\n itemBorderColor = 'rgba(26, 26, 62, 0.6)',\n glowEnable = false,\n style: externalStyle,\n}) => {\n const displayData = data.slice(0, maxItems)\n const maxValue = Math.max(...displayData.map(item => item.value), 1)\n\n const getProgressBarStyle = (value: number): CSSProperties => {\n const percentage = (value / maxValue) * 100\n return {\n width: `${percentage}%`,\n background: progressBarGradient\n ? `linear-gradient(90deg, ${progressBarColors[0]}, ${progressBarColors[1]})`\n : progressBarColors[0],\n boxShadow: glowEnable ? `0 0 8px ${progressBarColors[0]}60` : undefined,\n }\n }\n\n const containerStyle: CSSProperties = {\n ...externalStyle,\n backgroundColor,\n borderColor,\n }\n\n const itemStyle: CSSProperties = {\n backgroundColor: itemBackgroundColor,\n borderColor: itemBorderColor,\n }\n\n return (\n <div className={styles.container} ref={ref} style={containerStyle}>\n <div className={styles.list}>\n {displayData.map(item => {\n const isTopThree = item.rank <= 3\n\n return (\n <div className={styles.item} key={item.rank} style={itemStyle}>\n {/* Rank Badge */}\n {showRank ? (\n <div\n className={cn(\n styles.rankBadge,\n isTopThree ? styles.rankBadgeTopThree : styles.rankBadgeNormal,\n getRankClass(item.rank),\n )}\n >\n {showMedal && isTopThree ? MEDAL_EMOJI[item.rank] : item.rank}\n </div>\n ) : null}\n\n {/* Name */}\n <div className={styles.name} style={{ color: nameColor }}>{item.name}</div>\n\n {/* Value and Progress */}\n <div className={styles.valueContainer}>\n <span className={styles.value} style={{ color: valueColor }}>\n {formatDisplayValue(item.value, valueFormat, valuePrefix, valueSuffix)}\n </span>\n {progressBarEnable ? (\n <div className={styles.progressBar}>\n <div className={styles.progressFill} style={getProgressBarStyle(item.value)} />\n </div>\n ) : null}\n </div>\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nexport default ScrollList\n","/**\n * 物料常量配置\n * 统一管理全局变量名等配置,确保 meta.ts 和 rollup.config.js 使用相同的值\n */\n\n/**\n * UMD 全局变量基础名称\n * 用于构建:\n * - 元数据:${GLOBAL_NAME}Meta (例如: EasyEditorMaterialsRankingListMeta)\n * - 组件:${GLOBAL_NAME}Component (例如: EasyEditorMaterialsRankingListComponent)\n * - 完整构建:${GLOBAL_NAME} (例如: EasyEditorMaterialsRankingList)\n */\nexport const COMPONENT_NAME = 'EasyEditorMaterialsScrollList'\n\n/**\n * 包名\n */\nexport const PACKAGE_NAME = '@easy-editor/materials-dashboard-scroll-list'\n","/**\n * Scroll List 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: 'data',\n title: '列表数据',\n setter: 'JsonSetter',\n },\n {\n name: 'maxItems',\n title: '最大显示数',\n setter: {\n componentName: 'NumberSetter',\n props: {\n min: 1,\n max: 20,\n },\n },\n extraProps: {\n defaultValue: 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: 'showRank',\n title: '显示排名',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n },\n },\n {\n name: 'showMedal',\n title: '显示奖牌',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n },\n },\n {\n name: 'progressBarEnable',\n title: '显示进度条',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n },\n },\n {\n name: 'progressBarGradient',\n title: '渐变效果',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n },\n },\n {\n name: 'glowEnable',\n title: '发光效果',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: false,\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: 'valueFormat',\n title: '格式类型',\n setter: {\n componentName: 'SelectSetter',\n props: {\n options: [\n { label: '数字', value: 'number' },\n { label: '货币', value: 'currency' },\n { label: '百分比', value: 'percent' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'number',\n },\n },\n {\n name: 'valuePrefix',\n title: '数值前缀',\n setter: 'StringSetter',\n extraProps: {\n defaultValue: '',\n },\n },\n {\n name: 'valueSuffix',\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: 'progressBarColors',\n title: '进度条颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: ['#00d4ff', '#9b59b6'],\n },\n },\n {\n name: 'nameColor',\n title: '名称颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: '#e6e6e6',\n },\n },\n {\n name: 'valueColor',\n title: '数值颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: '#00d4ff',\n },\n },\n {\n name: 'backgroundColor',\n title: '背景颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: 'rgba(10, 10, 26, 0.95)',\n },\n },\n {\n name: 'borderColor',\n title: '边框颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: 'rgba(26, 26, 62, 0.8)',\n },\n },\n {\n name: 'itemBackgroundColor',\n title: '行背景颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: 'rgba(15, 15, 42, 0.9)',\n },\n },\n {\n name: 'itemBorderColor',\n title: '行边框颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: 'rgba(26, 26, 62, 0.6)',\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: 'scrollEnable',\n title: '启用滚动',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n },\n },\n {\n name: 'scrollDirection',\n title: '滚动方向',\n setter: {\n componentName: 'SegmentedSetter',\n props: {\n options: [\n { label: '向上', value: 'up' },\n { label: '向下', value: 'down' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'up',\n },\n },\n {\n name: 'scrollSpeed',\n title: '滚动速度',\n setter: {\n componentName: 'SliderSetter',\n props: {\n min: 1,\n max: 10,\n step: 1,\n suffix: 'x',\n },\n },\n extraProps: {\n defaultValue: 3,\n },\n },\n {\n name: 'hoverPause',\n title: '悬停暂停',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n },\n },\n {\n name: 'scrollInterval',\n title: '滚动间隔',\n setter: {\n componentName: 'SliderSetter',\n props: {\n min: 1000,\n max: 10_000,\n step: 500,\n suffix: 'ms',\n },\n },\n extraProps: {\n defaultValue: 3000,\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: 'animationEnable',\n title: '启用动画',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n },\n },\n {\n name: 'animationDuration',\n title: '动画时长',\n setter: {\n componentName: 'SliderSetter',\n props: {\n min: 0,\n max: 2000,\n step: 100,\n suffix: 'ms',\n },\n },\n extraProps: {\n defaultValue: 500,\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 * Scroll List 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 data: [\n { rank: 1, name: '北京', value: 9800 },\n { rank: 2, name: '上海', value: 8500 },\n { rank: 3, name: '广州', value: 7200 },\n { rank: 4, name: '深圳', value: 6100 },\n { rank: 5, name: '杭州', value: 4800 },\n ],\n maxItems: 5,\n showMedal: true,\n progressBarEnable: true,\n progressBarGradient: true,\n progressBarColors: ['#00d4ff', '#9b59b6'],\n },\n $dashboard: {\n rect: {\n width: 320,\n height: 280,\n },\n },\n },\n },\n {\n title: '简单列表',\n screenshot: '',\n schema: {\n componentName: COMPONENT_NAME,\n props: {\n data: [\n { rank: 1, name: '产品A', value: 1250 },\n { rank: 2, name: '产品B', value: 980 },\n { rank: 3, name: '产品C', value: 750 },\n ],\n maxItems: 3,\n showMedal: false,\n progressBarEnable: true,\n progressBarGradient: false,\n progressBarColors: ['#00ff88', '#00ff88'],\n },\n $dashboard: {\n rect: {\n width: 280,\n height: 180,\n },\n },\n },\n },\n]\n\nexport default snippets\n","/**\n * Scroll List 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":["cn","inputs","clsx","MaterialGroup","INNER","DISPLAY","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","DEFAULT_DATA","rank","name","value","MEDAL_EMOJI","getRankClass","styles","rankGold","rankSilver","rankBronze","formatDisplayValue","format","prefix","suffix","formatted","toLocaleString","minimumFractionDigits","maximumFractionDigits","ScrollList","data","maxItems","showRank","showMedal","progressBarEnable","progressBarGradient","progressBarColors","valueFormat","valuePrefix","valueSuffix","nameColor","valueColor","backgroundColor","borderColor","itemBackgroundColor","itemBorderColor","glowEnable","externalStyle","displayData","slice","maxValue","Math","max","map","item","getProgressBarStyle","percentage","width","background","boxShadow","undefined","containerStyle","itemStyle","_jsx","className","container","children","list","isTopThree","_jsxs","rankBadge","rankBadgeTopThree","rankBadgeNormal","color","valueContainer","progressBar","progressFill","COMPONENT_NAME","PACKAGE_NAME","configure","props","title","setter","items","key","componentName","icon","extraProps","label","getValue","target","getExtraPropValue","setValue","setExtraPropValue","min","defaultValue","options","supportVariable","step","component","supports","advanced","snippets","screenshot","schema","$dashboard","rect","height","meta","group","devMode","npm","package","version","pkg","globalName"],"mappings":"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","x_google_ignoreList":[0,3]}
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 * Scroll List 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 interface ScrollListItem {\n rank: number\n name: string\n value: number\n}\n\nexport interface ScrollListProps {\n ref?: Ref<HTMLDivElement>\n /** 列表数据 */\n data?: ScrollListItem[]\n /** 最大显示条数 */\n maxItems?: number\n /** 是否显示排名 */\n showRank?: boolean\n /** 是否显示奖牌图标 */\n showMedal?: boolean\n /** 是否显示进度条 */\n progressBarEnable?: boolean\n /** 是否使用渐变进度条 */\n progressBarGradient?: boolean\n /** 进度条颜色 [起始色, 结束色] */\n progressBarColors?: [string, string]\n /** 数值格式化 */\n valueFormat?: 'number' | 'currency' | 'percent'\n /** 数值前缀 */\n valuePrefix?: string\n /** 数值后缀 */\n valueSuffix?: string\n /** 名称颜色 */\n nameColor?: string\n /** 数值颜色 */\n valueColor?: string\n /** 背景颜色 */\n backgroundColor?: string\n /** 边框颜色 */\n borderColor?: string\n /** 行背景颜色 */\n itemBackgroundColor?: string\n /** 行边框颜色 */\n itemBorderColor?: string\n /** 是否显示发光效果 */\n glowEnable?: boolean\n /** 外部样式 */\n style?: CSSProperties\n}\n\nconst DEFAULT_DATA: ScrollListItem[] = [\n { rank: 1, name: '北京市', value: 9800 },\n { rank: 2, name: '上海市', value: 8500 },\n { rank: 3, name: '广州市', value: 7200 },\n { rank: 4, name: '深圳市', value: 6100 },\n { rank: 5, name: '杭州市', value: 4800 },\n]\n\nconst MEDAL_EMOJI: Record<number, string> = {\n 1: '🥇',\n 2: '🥈',\n 3: '🥉',\n}\n\nconst getRankClass = (rank: number): string => {\n if (rank === 1) {\n return styles.rankGold\n }\n if (rank === 2) {\n return styles.rankSilver\n }\n if (rank === 3) {\n return styles.rankBronze\n }\n return ''\n}\n\nconst formatDisplayValue = (value: number, format: string, prefix: string, suffix: string): string => {\n let formatted: string\n switch (format) {\n case 'currency':\n formatted = value.toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 })\n break\n case 'percent':\n formatted = `${value}%`\n break\n default:\n formatted = value.toLocaleString()\n }\n return `${prefix}${formatted}${suffix}`\n}\n\nexport const ScrollList: React.FC<ScrollListProps> = ({\n ref,\n data = DEFAULT_DATA,\n maxItems = 5,\n showRank = true,\n showMedal = true,\n progressBarEnable = true,\n progressBarGradient = true,\n progressBarColors = ['#00d4ff', '#9b59b6'],\n valueFormat = 'number',\n valuePrefix = '',\n valueSuffix = '',\n nameColor = '#e6e6e6',\n valueColor = '#00d4ff',\n backgroundColor = 'rgba(10, 10, 26, 0.95)',\n borderColor = 'rgba(26, 26, 62, 0.8)',\n itemBackgroundColor = 'rgba(15, 15, 42, 0.9)',\n itemBorderColor = 'rgba(26, 26, 62, 0.6)',\n glowEnable = false,\n style: externalStyle,\n}) => {\n const displayData = data.slice(0, maxItems)\n const maxValue = Math.max(...displayData.map(item => item.value), 1)\n\n const getProgressBarStyle = (value: number): CSSProperties => {\n const percentage = (value / maxValue) * 100\n return {\n width: `${percentage}%`,\n background: progressBarGradient\n ? `linear-gradient(90deg, ${progressBarColors[0]}, ${progressBarColors[1]})`\n : progressBarColors[0],\n boxShadow: glowEnable ? `0 0 8px ${progressBarColors[0]}60` : undefined,\n }\n }\n\n const containerStyle: CSSProperties = {\n ...externalStyle,\n backgroundColor,\n borderColor,\n }\n\n const itemStyle: CSSProperties = {\n backgroundColor: itemBackgroundColor,\n borderColor: itemBorderColor,\n }\n\n return (\n <div className={styles.container} ref={ref} style={containerStyle}>\n <div className={styles.list}>\n {displayData.map(item => {\n const isTopThree = item.rank <= 3\n\n return (\n <div className={styles.item} key={item.rank} style={itemStyle}>\n {/* Rank Badge */}\n {showRank ? (\n <div\n className={cn(\n styles.rankBadge,\n isTopThree ? styles.rankBadgeTopThree : styles.rankBadgeNormal,\n getRankClass(item.rank),\n )}\n >\n {showMedal && isTopThree ? MEDAL_EMOJI[item.rank] : item.rank}\n </div>\n ) : null}\n\n {/* Name */}\n <div className={styles.name} style={{ color: nameColor }}>\n {item.name}\n </div>\n\n {/* Value and Progress */}\n <div className={styles.valueContainer}>\n <span className={styles.value} style={{ color: valueColor }}>\n {formatDisplayValue(item.value, valueFormat, valuePrefix, valueSuffix)}\n </span>\n {progressBarEnable ? (\n <div className={styles.progressBar}>\n <div className={styles.progressFill} style={getProgressBarStyle(item.value)} />\n </div>\n ) : null}\n </div>\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nexport default ScrollList\n","/**\n * 物料常量配置\n * 统一管理全局变量名等配置,确保 meta.ts 和 rollup.config.js 使用相同的值\n */\n\n/**\n * UMD 全局变量基础名称\n * 用于构建:\n * - 元数据:${GLOBAL_NAME}Meta (例如: EasyEditorMaterialsRankingListMeta)\n * - 组件:${GLOBAL_NAME}Component (例如: EasyEditorMaterialsRankingListComponent)\n * - 完整构建:${GLOBAL_NAME} (例如: EasyEditorMaterialsRankingList)\n */\nexport const COMPONENT_NAME = 'EasyEditorMaterialsScrollList'\n\n/**\n * 包名\n */\nexport const PACKAGE_NAME = '@easy-editor/materials-dashboard-scroll-list'\n","/**\n * Scroll List 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: 'data',\n title: '列表数据',\n setter: 'JsonSetter',\n },\n {\n name: 'maxItems',\n title: '最大显示数',\n setter: {\n componentName: 'NumberSetter',\n props: {\n min: 1,\n max: 20,\n },\n },\n extraProps: {\n defaultValue: 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: 'showRank',\n title: '显示排名',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n },\n },\n {\n name: 'showMedal',\n title: '显示奖牌',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n },\n },\n {\n name: 'progressBarEnable',\n title: '显示进度条',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n },\n },\n {\n name: 'progressBarGradient',\n title: '渐变效果',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n },\n },\n {\n name: 'glowEnable',\n title: '发光效果',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: false,\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: 'valueFormat',\n title: '格式类型',\n setter: {\n componentName: 'SelectSetter',\n props: {\n options: [\n { label: '数字', value: 'number' },\n { label: '货币', value: 'currency' },\n { label: '百分比', value: 'percent' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'number',\n },\n },\n {\n name: 'valuePrefix',\n title: '数值前缀',\n setter: 'StringSetter',\n extraProps: {\n defaultValue: '',\n },\n },\n {\n name: 'valueSuffix',\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: 'progressBarColors',\n title: '进度条颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: ['#00d4ff', '#9b59b6'],\n },\n },\n {\n name: 'nameColor',\n title: '名称颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: '#e6e6e6',\n },\n },\n {\n name: 'valueColor',\n title: '数值颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: '#00d4ff',\n },\n },\n {\n name: 'backgroundColor',\n title: '背景颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: 'rgba(10, 10, 26, 0.95)',\n },\n },\n {\n name: 'borderColor',\n title: '边框颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: 'rgba(26, 26, 62, 0.8)',\n },\n },\n {\n name: 'itemBackgroundColor',\n title: '行背景颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: 'rgba(15, 15, 42, 0.9)',\n },\n },\n {\n name: 'itemBorderColor',\n title: '行边框颜色',\n setter: 'ColorSetter',\n extraProps: {\n defaultValue: 'rgba(26, 26, 62, 0.6)',\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: 'scrollEnable',\n title: '启用滚动',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n },\n },\n {\n name: 'scrollDirection',\n title: '滚动方向',\n setter: {\n componentName: 'SegmentedSetter',\n props: {\n options: [\n { label: '向上', value: 'up' },\n { label: '向下', value: 'down' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'up',\n },\n },\n {\n name: 'scrollSpeed',\n title: '滚动速度',\n setter: {\n componentName: 'SliderSetter',\n props: {\n min: 1,\n max: 10,\n step: 1,\n suffix: 'x',\n },\n },\n extraProps: {\n defaultValue: 3,\n },\n },\n {\n name: 'hoverPause',\n title: '悬停暂停',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n },\n },\n {\n name: 'scrollInterval',\n title: '滚动间隔',\n setter: {\n componentName: 'SliderSetter',\n props: {\n min: 1000,\n max: 10_000,\n step: 500,\n suffix: 'ms',\n },\n },\n extraProps: {\n defaultValue: 3000,\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: 'animationEnable',\n title: '启用动画',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n },\n },\n {\n name: 'animationDuration',\n title: '动画时长',\n setter: {\n componentName: 'SliderSetter',\n props: {\n min: 0,\n max: 2000,\n step: 100,\n suffix: 'ms',\n },\n },\n extraProps: {\n defaultValue: 500,\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 * Scroll List 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 data: [\n { rank: 1, name: '北京', value: 9800 },\n { rank: 2, name: '上海', value: 8500 },\n { rank: 3, name: '广州', value: 7200 },\n { rank: 4, name: '深圳', value: 6100 },\n { rank: 5, name: '杭州', value: 4800 },\n ],\n maxItems: 5,\n showMedal: true,\n progressBarEnable: true,\n progressBarGradient: true,\n progressBarColors: ['#00d4ff', '#9b59b6'],\n },\n $dashboard: {\n rect: {\n width: 320,\n height: 280,\n },\n },\n },\n },\n {\n title: '简单列表',\n screenshot: '',\n schema: {\n componentName: COMPONENT_NAME,\n props: {\n data: [\n { rank: 1, name: '产品A', value: 1250 },\n { rank: 2, name: '产品B', value: 980 },\n { rank: 3, name: '产品C', value: 750 },\n ],\n maxItems: 3,\n showMedal: false,\n progressBarEnable: true,\n progressBarGradient: false,\n progressBarColors: ['#00ff88', '#00ff88'],\n },\n $dashboard: {\n rect: {\n width: 280,\n height: 180,\n },\n },\n },\n },\n]\n\nexport default snippets\n","/**\n * Scroll List 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":["cn","inputs","clsx","MaterialGroup","INNER","DISPLAY","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","DEFAULT_DATA","rank","name","value","MEDAL_EMOJI","getRankClass","styles","rankGold","rankSilver","rankBronze","formatDisplayValue","format","prefix","suffix","formatted","toLocaleString","minimumFractionDigits","maximumFractionDigits","ScrollList","data","maxItems","showRank","showMedal","progressBarEnable","progressBarGradient","progressBarColors","valueFormat","valuePrefix","valueSuffix","nameColor","valueColor","backgroundColor","borderColor","itemBackgroundColor","itemBorderColor","glowEnable","externalStyle","displayData","slice","maxValue","Math","max","map","item","getProgressBarStyle","percentage","width","background","boxShadow","undefined","containerStyle","itemStyle","_jsx","className","container","children","list","isTopThree","_jsxs","rankBadge","rankBadgeTopThree","rankBadgeNormal","color","valueContainer","progressBar","progressFill","COMPONENT_NAME","PACKAGE_NAME","configure","props","title","setter","items","key","componentName","icon","extraProps","label","getValue","target","getExtraPropValue","setValue","setExtraPropValue","min","defaultValue","options","supportVariable","step","component","supports","advanced","snippets","screenshot","schema","$dashboard","rect","height","meta","group","devMode","npm","package","version","pkg","globalName"],"mappings":"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","x_google_ignoreList":[0,3]}
package/dist/index.esm.js CHANGED
@@ -70,9 +70,15 @@ const MEDAL_EMOJI = {
70
70
  3: '🥉'
71
71
  };
72
72
  const getRankClass = rank => {
73
- if (rank === 1) return styles.rankGold;
74
- if (rank === 2) return styles.rankSilver;
75
- if (rank === 3) return styles.rankBronze;
73
+ if (rank === 1) {
74
+ return styles.rankGold;
75
+ }
76
+ if (rank === 2) {
77
+ return styles.rankSilver;
78
+ }
79
+ if (rank === 3) {
80
+ return styles.rankBronze;
81
+ }
76
82
  return '';
77
83
  };
78
84
  const formatDisplayValue = (value, format, prefix, suffix) => {
@@ -643,7 +649,7 @@ const snippets = [{
643
649
  }
644
650
  }];
645
651
 
646
- var version = "0.0.1";
652
+ var version = "0.0.2";
647
653
  var pkg = {
648
654
  version: version};
649
655