react-public-components 1.2.7 → 1.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkHSYTBMLN_cjs = require('../chunk-HSYTBMLN.cjs');
3
+ var chunkVVKYGA2T_cjs = require('../chunk-VVKYGA2T.cjs');
4
4
 
5
5
 
6
6
 
7
- module.exports = chunkHSYTBMLN_cjs.MiniSparkline_default;
7
+ module.exports = chunkVVKYGA2T_cjs.MiniSparkline_default;
8
8
  //# sourceMappingURL=index.cjs.map
9
9
  //# sourceMappingURL=index.cjs.map
@@ -1,3 +1,3 @@
1
- export { MiniSparkline_default as default } from '../chunk-NNS4YN3C.js';
1
+ export { MiniSparkline_default as default } from '../chunk-B3FMPSBM.js';
2
2
  //# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,8 @@
1
- import { useId } from 'react';
1
+ import { useRef } from 'react';
2
2
  import { jsx, jsxs } from 'react/jsx-runtime';
3
3
 
4
4
  // MiniSparkline/index.tsx
5
+ var sparklineIdCounter = 0;
5
6
  var MiniSparkline = ({
6
7
  data = [],
7
8
  color = "#1677ff",
@@ -11,7 +12,12 @@ var MiniSparkline = ({
11
12
  className = "",
12
13
  style
13
14
  }) => {
14
- const gradientId = useId();
15
+ const idRef = useRef();
16
+ if (!idRef.current) {
17
+ sparklineIdCounter += 1;
18
+ idRef.current = `rpc_sparkline_grad_${sparklineIdCounter}`;
19
+ }
20
+ const gradientId = idRef.current;
15
21
  if (data.length < 2) return null;
16
22
  const min = Math.min(...data);
17
23
  const max = Math.max(...data);
@@ -38,5 +44,5 @@ var MiniSparkline = ({
38
44
  var MiniSparkline_default = MiniSparkline;
39
45
 
40
46
  export { MiniSparkline_default };
41
- //# sourceMappingURL=chunk-NNS4YN3C.js.map
42
- //# sourceMappingURL=chunk-NNS4YN3C.js.map
47
+ //# sourceMappingURL=chunk-B3FMPSBM.js.map
48
+ //# sourceMappingURL=chunk-B3FMPSBM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../MiniSparkline/index.tsx"],"names":[],"mappings":"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","file":"chunk-B3FMPSBM.js","sourcesContent":["import React, { useRef, CSSProperties } from 'react';\nimport './index.less';\n\nexport interface MiniSparklineProps {\n\t/** 数值序列 */\n\tdata: number[];\n\t/** 折线与填充主题色,默认为 '#1677ff' */\n\tcolor?: string;\n\t/** 是否展示面积渐变填充,默认为 true */\n\tfill?: boolean;\n\t/** 宽度(像素),默认为 80 */\n\twidth?: number;\n\t/** 高度(像素),默认为 28 */\n\theight?: number;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nlet sparklineIdCounter = 0;\n\nconst MiniSparkline: React.FC<MiniSparklineProps> = ({\n\tdata = [],\n\tcolor = '#1677ff',\n\tfill = true,\n\twidth = 80,\n\theight = 28,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst idRef = useRef<string>();\n\tif (!idRef.current) {\n\t\tsparklineIdCounter += 1;\n\t\tidRef.current = `rpc_sparkline_grad_${sparklineIdCounter}`;\n\t}\n\tconst gradientId = idRef.current;\n\n\tif (data.length < 2) return null;\n\n\tconst min = Math.min(...data);\n\tconst max = Math.max(...data);\n\tconst range = max - min || 1;\n\tconst padding = 2;\n\n\tconst points = data.map((val, idx) => {\n\t\tconst x = padding + (idx / (data.length - 1)) * (width - padding * 2);\n\t\tconst y = height - padding - ((val - min) / range) * (height - padding * 2);\n\t\treturn { x, y };\n\t});\n\n\tconst linePath = points.reduce((acc, pt, idx) => {\n\t\treturn idx === 0 ? `M ${pt.x} ${pt.y}` : `${acc} L ${pt.x} ${pt.y}`;\n\t}, '');\n\n\tconst areaPath = `${linePath} L ${points[points.length - 1].x} ${height} L ${points[0].x} ${height} Z`;\n\n\treturn (\n\t\t<div className={`rpc_mini_sparkline ${className}`} style={style}>\n\t\t\t<svg width={width} height={height}>\n\t\t\t\t<defs>\n\t\t\t\t\t<linearGradient id={gradientId} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n\t\t\t\t\t\t<stop offset=\"0%\" stopColor={color} stopOpacity=\"0.25\" />\n\t\t\t\t\t\t<stop offset=\"100%\" stopColor={color} stopOpacity=\"0.0\" />\n\t\t\t\t\t</linearGradient>\n\t\t\t\t</defs>\n\n\t\t\t\t{fill && <path d={areaPath} fill={`url(#${gradientId})`} />}\n\t\t\t\t<path d={linePath} fill=\"none\" stroke={color} strokeWidth=\"1.8\" strokeLinecap=\"round\" />\n\t\t\t</svg>\n\t\t</div>\n\t);\n};\n\nexport default MiniSparkline;\n"]}
@@ -4,6 +4,7 @@ var react = require('react');
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
 
6
6
  // MiniSparkline/index.tsx
7
+ var sparklineIdCounter = 0;
7
8
  var MiniSparkline = ({
8
9
  data = [],
9
10
  color = "#1677ff",
@@ -13,7 +14,12 @@ var MiniSparkline = ({
13
14
  className = "",
14
15
  style
15
16
  }) => {
16
- const gradientId = react.useId();
17
+ const idRef = react.useRef();
18
+ if (!idRef.current) {
19
+ sparklineIdCounter += 1;
20
+ idRef.current = `rpc_sparkline_grad_${sparklineIdCounter}`;
21
+ }
22
+ const gradientId = idRef.current;
17
23
  if (data.length < 2) return null;
18
24
  const min = Math.min(...data);
19
25
  const max = Math.max(...data);
@@ -40,5 +46,5 @@ var MiniSparkline = ({
40
46
  var MiniSparkline_default = MiniSparkline;
41
47
 
42
48
  exports.MiniSparkline_default = MiniSparkline_default;
43
- //# sourceMappingURL=chunk-HSYTBMLN.cjs.map
44
- //# sourceMappingURL=chunk-HSYTBMLN.cjs.map
49
+ //# sourceMappingURL=chunk-VVKYGA2T.cjs.map
50
+ //# sourceMappingURL=chunk-VVKYGA2T.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../MiniSparkline/index.tsx"],"names":["useRef","jsx","jsxs"],"mappings":"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","file":"chunk-VVKYGA2T.cjs","sourcesContent":["import React, { useRef, CSSProperties } from 'react';\nimport './index.less';\n\nexport interface MiniSparklineProps {\n\t/** 数值序列 */\n\tdata: number[];\n\t/** 折线与填充主题色,默认为 '#1677ff' */\n\tcolor?: string;\n\t/** 是否展示面积渐变填充,默认为 true */\n\tfill?: boolean;\n\t/** 宽度(像素),默认为 80 */\n\twidth?: number;\n\t/** 高度(像素),默认为 28 */\n\theight?: number;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nlet sparklineIdCounter = 0;\n\nconst MiniSparkline: React.FC<MiniSparklineProps> = ({\n\tdata = [],\n\tcolor = '#1677ff',\n\tfill = true,\n\twidth = 80,\n\theight = 28,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst idRef = useRef<string>();\n\tif (!idRef.current) {\n\t\tsparklineIdCounter += 1;\n\t\tidRef.current = `rpc_sparkline_grad_${sparklineIdCounter}`;\n\t}\n\tconst gradientId = idRef.current;\n\n\tif (data.length < 2) return null;\n\n\tconst min = Math.min(...data);\n\tconst max = Math.max(...data);\n\tconst range = max - min || 1;\n\tconst padding = 2;\n\n\tconst points = data.map((val, idx) => {\n\t\tconst x = padding + (idx / (data.length - 1)) * (width - padding * 2);\n\t\tconst y = height - padding - ((val - min) / range) * (height - padding * 2);\n\t\treturn { x, y };\n\t});\n\n\tconst linePath = points.reduce((acc, pt, idx) => {\n\t\treturn idx === 0 ? `M ${pt.x} ${pt.y}` : `${acc} L ${pt.x} ${pt.y}`;\n\t}, '');\n\n\tconst areaPath = `${linePath} L ${points[points.length - 1].x} ${height} L ${points[0].x} ${height} Z`;\n\n\treturn (\n\t\t<div className={`rpc_mini_sparkline ${className}`} style={style}>\n\t\t\t<svg width={width} height={height}>\n\t\t\t\t<defs>\n\t\t\t\t\t<linearGradient id={gradientId} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n\t\t\t\t\t\t<stop offset=\"0%\" stopColor={color} stopOpacity=\"0.25\" />\n\t\t\t\t\t\t<stop offset=\"100%\" stopColor={color} stopOpacity=\"0.0\" />\n\t\t\t\t\t</linearGradient>\n\t\t\t\t</defs>\n\n\t\t\t\t{fill && <path d={areaPath} fill={`url(#${gradientId})`} />}\n\t\t\t\t<path d={linePath} fill=\"none\" stroke={color} strokeWidth=\"1.8\" strokeLinecap=\"round\" />\n\t\t\t</svg>\n\t\t</div>\n\t);\n};\n\nexport default MiniSparkline;\n"]}
package/dist/index.cjs CHANGED
@@ -17,7 +17,7 @@ var chunkK3JC52JH_cjs = require('./chunk-K3JC52JH.cjs');
17
17
  var chunkHKALWFWZ_cjs = require('./chunk-HKALWFWZ.cjs');
18
18
  var chunkZFBLVX7E_cjs = require('./chunk-ZFBLVX7E.cjs');
19
19
  var chunkEUOBMHFF_cjs = require('./chunk-EUOBMHFF.cjs');
20
- var chunkHSYTBMLN_cjs = require('./chunk-HSYTBMLN.cjs');
20
+ var chunkVVKYGA2T_cjs = require('./chunk-VVKYGA2T.cjs');
21
21
  var chunk5GOF5EZU_cjs = require('./chunk-5GOF5EZU.cjs');
22
22
  var chunk7SIUSULP_cjs = require('./chunk-7SIUSULP.cjs');
23
23
  var chunk7ZBA4NHH_cjs = require('./chunk-7ZBA4NHH.cjs');
@@ -146,7 +146,7 @@ Object.defineProperty(exports, "StatusTimeline", {
146
146
  });
147
147
  Object.defineProperty(exports, "MiniSparkline", {
148
148
  enumerable: true,
149
- get: function () { return chunkHSYTBMLN_cjs.MiniSparkline_default; }
149
+ get: function () { return chunkVVKYGA2T_cjs.MiniSparkline_default; }
150
150
  });
151
151
  Object.defineProperty(exports, "NumberStepper", {
152
152
  enumerable: true,
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@ export { ShimmerSkeleton_default as ShimmerSkeleton } from './chunk-KCXXUUWC.js'
15
15
  export { Splitter_default as Splitter } from './chunk-W5JA3YTT.js';
16
16
  export { SpotlightCard_default as SpotlightCard } from './chunk-WZ2GV4HA.js';
17
17
  export { StatusTimeline_default as StatusTimeline } from './chunk-YFHKH6HL.js';
18
- export { MiniSparkline_default as MiniSparkline } from './chunk-NNS4YN3C.js';
18
+ export { MiniSparkline_default as MiniSparkline } from './chunk-B3FMPSBM.js';
19
19
  export { NumberStepper_default as NumberStepper } from './chunk-X2F2DVMB.js';
20
20
  export { NumericRangeInput_default as NumericRangeInput } from './chunk-L7X3RVEY.js';
21
21
  export { PasswordStrength_default as PasswordStrength, evaluatePasswordStrength } from './chunk-2INP6NM4.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-public-components",
3
- "version": "1.2.7",
3
+ "version": "1.2.8",
4
4
  "description": "企业级现代 React 通用核心组件库,零 UI 库依赖,开箱即用",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../MiniSparkline/index.tsx"],"names":["useId","jsx","jsxs"],"mappings":"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","file":"chunk-HSYTBMLN.cjs","sourcesContent":["import React, { useId, CSSProperties } from 'react';\nimport './index.less';\n\nexport interface MiniSparklineProps {\n\t/** 数值序列 */\n\tdata: number[];\n\t/** 折线与填充主题色,默认为 '#1677ff' */\n\tcolor?: string;\n\t/** 是否展示面积渐变填充,默认为 true */\n\tfill?: boolean;\n\t/** 宽度(像素),默认为 80 */\n\twidth?: number;\n\t/** 高度(像素),默认为 28 */\n\theight?: number;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nconst MiniSparkline: React.FC<MiniSparklineProps> = ({\n\tdata = [],\n\tcolor = '#1677ff',\n\tfill = true,\n\twidth = 80,\n\theight = 28,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst gradientId = useId();\n\n\tif (data.length < 2) return null;\n\n\tconst min = Math.min(...data);\n\tconst max = Math.max(...data);\n\tconst range = max - min || 1;\n\tconst padding = 2;\n\n\tconst points = data.map((val, idx) => {\n\t\tconst x = padding + (idx / (data.length - 1)) * (width - padding * 2);\n\t\tconst y = height - padding - ((val - min) / range) * (height - padding * 2);\n\t\treturn { x, y };\n\t});\n\n\tconst linePath = points.reduce((acc, pt, idx) => {\n\t\treturn idx === 0 ? `M ${pt.x} ${pt.y}` : `${acc} L ${pt.x} ${pt.y}`;\n\t}, '');\n\n\tconst areaPath = `${linePath} L ${points[points.length - 1].x} ${height} L ${points[0].x} ${height} Z`;\n\n\treturn (\n\t\t<div className={`rpc_mini_sparkline ${className}`} style={style}>\n\t\t\t<svg width={width} height={height}>\n\t\t\t\t<defs>\n\t\t\t\t\t<linearGradient id={gradientId} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n\t\t\t\t\t\t<stop offset=\"0%\" stopColor={color} stopOpacity=\"0.25\" />\n\t\t\t\t\t\t<stop offset=\"100%\" stopColor={color} stopOpacity=\"0.0\" />\n\t\t\t\t\t</linearGradient>\n\t\t\t\t</defs>\n\n\t\t\t\t{fill && <path d={areaPath} fill={`url(#${gradientId})`} />}\n\t\t\t\t<path d={linePath} fill=\"none\" stroke={color} strokeWidth=\"1.8\" strokeLinecap=\"round\" />\n\t\t\t</svg>\n\t\t</div>\n\t);\n};\n\nexport default MiniSparkline;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../MiniSparkline/index.tsx"],"names":[],"mappings":";;;;AAoBA,IAAM,gBAA8C,CAAC;AAAA,EACpD,OAAO,EAAC;AAAA,EACR,KAAA,GAAQ,SAAA;AAAA,EACR,IAAA,GAAO,IAAA;AAAA,EACP,KAAA,GAAQ,EAAA;AAAA,EACR,MAAA,GAAS,EAAA;AAAA,EACT,SAAA,GAAY,EAAA;AAAA,EACZ;AACD,CAAA,KAAM;AACL,EAAA,MAAM,aAAa,KAAA,EAAM;AAEzB,EAAA,IAAI,IAAA,CAAK,MAAA,GAAS,CAAA,EAAG,OAAO,IAAA;AAE5B,EAAA,MAAM,GAAA,GAAM,IAAA,CAAK,GAAA,CAAI,GAAG,IAAI,CAAA;AAC5B,EAAA,MAAM,GAAA,GAAM,IAAA,CAAK,GAAA,CAAI,GAAG,IAAI,CAAA;AAC5B,EAAA,MAAM,KAAA,GAAQ,MAAM,GAAA,IAAO,CAAA;AAC3B,EAAA,MAAM,OAAA,GAAU,CAAA;AAEhB,EAAA,MAAM,MAAA,GAAS,IAAA,CAAK,GAAA,CAAI,CAAC,KAAK,GAAA,KAAQ;AACrC,IAAA,MAAM,IAAI,OAAA,GAAW,GAAA,IAAO,KAAK,MAAA,GAAS,CAAA,CAAA,IAAO,QAAQ,OAAA,GAAU,CAAA,CAAA;AACnE,IAAA,MAAM,IAAI,MAAA,GAAS,OAAA,GAAA,CAAY,MAAM,GAAA,IAAO,KAAA,IAAU,SAAS,OAAA,GAAU,CAAA,CAAA;AACzE,IAAA,OAAO,EAAE,GAAG,CAAA,EAAE;AAAA,EACf,CAAC,CAAA;AAED,EAAA,MAAM,WAAW,MAAA,CAAO,MAAA,CAAO,CAAC,GAAA,EAAK,IAAI,GAAA,KAAQ;AAChD,IAAA,OAAO,QAAQ,CAAA,GAAI,CAAA,EAAA,EAAK,EAAA,CAAG,CAAC,IAAI,EAAA,CAAG,CAAC,CAAA,CAAA,GAAK,CAAA,EAAG,GAAG,CAAA,GAAA,EAAM,EAAA,CAAG,CAAC,CAAA,CAAA,EAAI,GAAG,CAAC,CAAA,CAAA;AAAA,EAClE,GAAG,EAAE,CAAA;AAEL,EAAA,MAAM,WAAW,CAAA,EAAG,QAAQ,MAAM,MAAA,CAAO,MAAA,CAAO,SAAS,CAAC,CAAA,CAAE,CAAC,CAAA,CAAA,EAAI,MAAM,CAAA,GAAA,EAAM,MAAA,CAAO,CAAC,CAAA,CAAE,CAAC,IAAI,MAAM,CAAA,EAAA,CAAA;AAElG,EAAA,uBACC,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,CAAA,mBAAA,EAAsB,SAAS,IAAI,KAAA,EAClD,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAc,MAAA,EAClB,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,MAAA,EAAA,EACA,QAAA,kBAAA,IAAA,CAAC,gBAAA,EAAA,EAAe,EAAA,EAAI,UAAA,EAAY,EAAA,EAAG,GAAA,EAAI,EAAA,EAAG,GAAA,EAAI,EAAA,EAAG,GAAA,EAAI,EAAA,EAAG,GAAA,EACvD,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,UAAK,MAAA,EAAO,IAAA,EAAK,SAAA,EAAW,KAAA,EAAO,aAAY,MAAA,EAAO,CAAA;AAAA,0BACtD,MAAA,EAAA,EAAK,MAAA,EAAO,QAAO,SAAA,EAAW,KAAA,EAAO,aAAY,KAAA,EAAM;AAAA,KAAA,EACzD,CAAA,EACD,CAAA;AAAA,IAEC,IAAA,wBAAS,MAAA,EAAA,EAAK,CAAA,EAAG,UAAU,IAAA,EAAM,CAAA,KAAA,EAAQ,UAAU,CAAA,CAAA,CAAA,EAAK,CAAA;AAAA,oBACzD,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAG,QAAA,EAAU,IAAA,EAAK,MAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,WAAA,EAAY,KAAA,EAAM,aAAA,EAAc,OAAA,EAAQ;AAAA,GAAA,EACvF,CAAA,EACD,CAAA;AAEF,CAAA;AAEA,IAAO,qBAAA,GAAQ","file":"chunk-NNS4YN3C.js","sourcesContent":["import React, { useId, CSSProperties } from 'react';\nimport './index.less';\n\nexport interface MiniSparklineProps {\n\t/** 数值序列 */\n\tdata: number[];\n\t/** 折线与填充主题色,默认为 '#1677ff' */\n\tcolor?: string;\n\t/** 是否展示面积渐变填充,默认为 true */\n\tfill?: boolean;\n\t/** 宽度(像素),默认为 80 */\n\twidth?: number;\n\t/** 高度(像素),默认为 28 */\n\theight?: number;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nconst MiniSparkline: React.FC<MiniSparklineProps> = ({\n\tdata = [],\n\tcolor = '#1677ff',\n\tfill = true,\n\twidth = 80,\n\theight = 28,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst gradientId = useId();\n\n\tif (data.length < 2) return null;\n\n\tconst min = Math.min(...data);\n\tconst max = Math.max(...data);\n\tconst range = max - min || 1;\n\tconst padding = 2;\n\n\tconst points = data.map((val, idx) => {\n\t\tconst x = padding + (idx / (data.length - 1)) * (width - padding * 2);\n\t\tconst y = height - padding - ((val - min) / range) * (height - padding * 2);\n\t\treturn { x, y };\n\t});\n\n\tconst linePath = points.reduce((acc, pt, idx) => {\n\t\treturn idx === 0 ? `M ${pt.x} ${pt.y}` : `${acc} L ${pt.x} ${pt.y}`;\n\t}, '');\n\n\tconst areaPath = `${linePath} L ${points[points.length - 1].x} ${height} L ${points[0].x} ${height} Z`;\n\n\treturn (\n\t\t<div className={`rpc_mini_sparkline ${className}`} style={style}>\n\t\t\t<svg width={width} height={height}>\n\t\t\t\t<defs>\n\t\t\t\t\t<linearGradient id={gradientId} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n\t\t\t\t\t\t<stop offset=\"0%\" stopColor={color} stopOpacity=\"0.25\" />\n\t\t\t\t\t\t<stop offset=\"100%\" stopColor={color} stopOpacity=\"0.0\" />\n\t\t\t\t\t</linearGradient>\n\t\t\t\t</defs>\n\n\t\t\t\t{fill && <path d={areaPath} fill={`url(#${gradientId})`} />}\n\t\t\t\t<path d={linePath} fill=\"none\" stroke={color} strokeWidth=\"1.8\" strokeLinecap=\"round\" />\n\t\t\t</svg>\n\t\t</div>\n\t);\n};\n\nexport default MiniSparkline;\n"]}