jmgraph 3.2.26 → 3.2.27

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/dist/jmgraph.js CHANGED
@@ -2860,9 +2860,10 @@ var jmGradient = /*#__PURE__*/function () {
2860
2860
  if (!s) {
2861
2861
  console.warn('jmGradient: 渐变字符串为空');
2862
2862
  return;
2863
- }
2863
+ } // 使用 [\s\S] 匹配任意字符(包括换行符),支持多行渐变字符串
2864
+
2864
2865
 
2865
- var gradientMatch = s.match(/(linear|radial)-gradient\s*\(\s*(.+)\)/i);
2866
+ var gradientMatch = s.match(/(linear|radial)-gradient\s*\(\s*([\s\S]+)\)/i);
2866
2867
 
2867
2868
  if (!gradientMatch || gradientMatch.length < 3) {
2868
2869
  console.warn('jmGradient: 无效的渐变字符串格式: "' + s + '"');
@@ -3305,13 +3306,17 @@ var jmGradient = /*#__PURE__*/function () {
3305
3306
  value: function _isValidColor(color) {
3306
3307
  if (!color) return false;
3307
3308
  var hexPattern = /^#([a-fA-F0-9]{3,8})$/;
3308
- if (hexPattern.test(color)) return true;
3309
- var rgbPattern = /^rgba?\s*\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*[\d.]+\s*)?\)$/i;
3309
+ if (hexPattern.test(color)) return true; // 支持 rgba(r,g,b,a) 和 rgba(r, g, b, a) 等各种空格格式
3310
+
3311
+ var rgbPattern = /^rgba?\s*\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}\s*(,\s*[\d.]+\s*)?\)$/i;
3310
3312
  if (rgbPattern.test(color)) return true;
3311
- var hslPattern = /^hsla?\s*\(\s*(\d{1,3})\s*,\s*(\d{1,3})%?\s*,\s*(\d{1,3})%?\s*(,\s*[\d.]+\s*)?\)$/i;
3312
- if (hslPattern.test(color)) return true;
3313
- var namedColors = ['red', 'blue', 'green', 'yellow', 'orange', 'purple', 'pink', 'white', 'black', 'cyan', 'magenta', 'gray', 'grey', 'brown', 'navy', 'teal', 'olive', 'maroon', 'silver', 'lime', 'aqua', 'fuchsia', 'violet', 'indigo', 'gold', 'silver', 'transparent'];
3314
- if (namedColors.includes(color.toLowerCase())) return true;
3313
+ var hslPattern = /^hsla?\s*\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*(,\s*[\d.]+\s*)?\)$/i;
3314
+ if (hslPattern.test(color)) return true; // 使用 jmUtils 中的完整 CSS 颜色关键字表
3315
+
3316
+ if (_jmUtils.colorKeywords && _jmUtils.colorKeywords[color.toLowerCase()]) return true; // 宽松处理:符合 CSS 关键字命名规则的字符串也视为有效颜色
3317
+ // (纯字母,可能在运行时被浏览器或其他环境解析)
3318
+
3319
+ if (/^[a-zA-Z]+$/.test(color)) return true;
3315
3320
  return false;
3316
3321
  }
3317
3322
  /**
@@ -5181,7 +5186,7 @@ exports.jmShadow = exports["default"] = jmShadow;
5181
5186
  Object.defineProperty(exports, "__esModule", {
5182
5187
  value: true
5183
5188
  });
5184
- exports.jmUtils = exports["default"] = void 0;
5189
+ exports.colorKeywords = exports.jmUtils = exports["default"] = void 0;
5185
5190
 
5186
5191
  var _jmList = require("./jmList.js");
5187
5192
 
@@ -5236,11 +5241,13 @@ var colorKeywords = {
5236
5241
  darkseagreen: "#8fbc8f",
5237
5242
  darkslateblue: "#483d8b",
5238
5243
  darkslategray: "#2f4f4f",
5244
+ darkslategrey: "#2f4f4f",
5239
5245
  darkturquoise: "#00ced1",
5240
5246
  darkviolet: "#9400d3",
5241
5247
  deeppink: "#ff1493",
5242
5248
  deepskyblue: "#00bfff",
5243
5249
  dimgray: "#696969",
5250
+ dimgrey: "#696969",
5244
5251
  dodgerblue: "#1e90ff",
5245
5252
  firebrick: "#b22222",
5246
5253
  floralwhite: "#fffaf0",
@@ -5275,6 +5282,7 @@ var colorKeywords = {
5275
5282
  lightseagreen: "#20b2aa",
5276
5283
  lightskyblue: "#87cefa",
5277
5284
  lightslategray: "#778899",
5285
+ lightslategrey: "#778899",
5278
5286
  lightsteelblue: "#b0c4de",
5279
5287
  lightyellow: "#ffffe0",
5280
5288
  lime: "#00ff00",
@@ -5315,6 +5323,7 @@ var colorKeywords = {
5315
5323
  powderblue: "#b0e0e6",
5316
5324
  purple: "#800080",
5317
5325
  red: "#ff0000",
5326
+ rebeccapurple: "#663399",
5318
5327
  rosybrown: "#bc8f8f",
5319
5328
  royalblue: "#4169e1",
5320
5329
  saddlebrown: "#8b4513",
@@ -5327,6 +5336,7 @@ var colorKeywords = {
5327
5336
  skyblue: "#87ceeb",
5328
5337
  slateblue: "#6a5acd",
5329
5338
  slategray: "#708090",
5339
+ slategrey: "#708090",
5330
5340
  snow: "#fffafa",
5331
5341
  springgreen: "#00ff7f",
5332
5342
  steelblue: "#4682b4",
@@ -5341,7 +5351,37 @@ var colorKeywords = {
5341
5351
  whitesmoke: "#f5f5f5",
5342
5352
  yellow: "#ffff00",
5343
5353
  yellowgreen: "#9acd32",
5344
- transparent: "rgba(0,0,0,0)"
5354
+ transparent: "rgba(0,0,0,0)",
5355
+ // grey 别名(已有 darkslategrey/lightslategrey/slategrey/dimgrey)
5356
+ // 以下为 CSS 系统颜色
5357
+ activeborder: "#bfcaca",
5358
+ activecaption: "#000080",
5359
+ appworkspace: "#ababab",
5360
+ background: "#636363",
5361
+ buttonface: "#c0c0c0",
5362
+ buttonhighlight: "#dedede",
5363
+ buttonshadow: "#808080",
5364
+ buttontext: "#000000",
5365
+ captiontext: "#000000",
5366
+ graytext: "#808080",
5367
+ highlight: "#b3d4fc",
5368
+ highlighttext: "#000000",
5369
+ inactiveborder: "#d4d0c8",
5370
+ inactivecaption: "#bfbbb0",
5371
+ inactivecaptiontext: "#545454",
5372
+ infobackground: "#fbfcc5",
5373
+ infotext: "#000000",
5374
+ menu: "#c0c0c0",
5375
+ menutext: "#000000",
5376
+ scrollbar: "#c0c0c0",
5377
+ threeddarkshadow: "#696969",
5378
+ threedface: "#c0c0c0",
5379
+ threedhighlight: "#dfdfdf",
5380
+ threedlightshadow: "#dcdcdc",
5381
+ threedshadow: "#808080",
5382
+ window: "#ffffff",
5383
+ windowframe: "#646464",
5384
+ windowtext: "#000000"
5345
5385
  };
5346
5386
  /**
5347
5387
  * 画图基础对象
@@ -5351,6 +5391,8 @@ var colorKeywords = {
5351
5391
  * @static
5352
5392
  */
5353
5393
 
5394
+ exports.colorKeywords = colorKeywords;
5395
+
5354
5396
  var jmUtils = /*#__PURE__*/function () {
5355
5397
  function jmUtils() {
5356
5398
  _classCallCheck(this, jmUtils);