@visactor/vchart-extension 2.0.4-alpha.1 → 2.0.4-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.js +1602 -644
- package/build/index.min.js +2 -2
- package/cjs/charts/3d/interface.js +1 -2
- package/cjs/charts/axis-3d/linear-axis.js +2 -1
- package/cjs/charts/candlestick/candlestick.js +2 -1
- package/cjs/charts/conversion-funnel/util.js +1 -2
- package/cjs/charts/histogram-3d/chart.js +1 -1
- package/cjs/charts/histogram-3d/index.js +1 -1
- package/cjs/charts/histogram-3d/interface.js +1 -1
- package/cjs/charts/pictogram/element-highlight-by-graphic-name.js +1 -1
- package/cjs/charts/pictogram/element-select-by-graphic-name.js +1 -1
- package/cjs/charts/pictogram/index.js +1 -1
- package/esm/charts/3d/interface.js +1 -2
- package/esm/charts/axis-3d/linear-axis.js +2 -1
- package/esm/charts/candlestick/candlestick.js +2 -1
- package/esm/charts/conversion-funnel/util.js +1 -2
- package/esm/charts/histogram-3d/chart.js +1 -1
- package/esm/charts/histogram-3d/index.js +1 -1
- package/esm/charts/histogram-3d/interface.js +1 -1
- package/esm/charts/pictogram/element-highlight-by-graphic-name.js +1 -1
- package/esm/charts/pictogram/element-select-by-graphic-name.js +1 -1
- package/esm/charts/pictogram/index.js +1 -1
- package/package.json +13 -8
package/build/index.js
CHANGED
|
@@ -325,94 +325,88 @@
|
|
|
325
325
|
var eventemitter3Exports = eventemitter3.exports;
|
|
326
326
|
var EventEmitter = /*@__PURE__*/getDefaultExportFromCjs(eventemitter3Exports);
|
|
327
327
|
|
|
328
|
-
const isType = (value, type) => Object.prototype.toString.call(value) === `[object ${type}]`;
|
|
329
|
-
var isType$
|
|
330
|
-
|
|
331
|
-
const isBoolean = (value, fuzzy = !1) => fuzzy ? "boolean" == typeof value : !0 === value || !1 === value || isType$1(value, "Boolean");
|
|
332
|
-
var isBoolean$1 = isBoolean;
|
|
328
|
+
const isType$2 = (value, type) => Object.prototype.toString.call(value) === `[object ${type}]`;
|
|
329
|
+
var isType$3 = isType$2;
|
|
333
330
|
|
|
334
|
-
const
|
|
335
|
-
var
|
|
331
|
+
const isBoolean$2 = (value, fuzzy = !1) => fuzzy ? "boolean" == typeof value : !0 === value || !1 === value || isType$3(value, "Boolean");
|
|
332
|
+
var isBoolean$3 = isBoolean$2;
|
|
336
333
|
|
|
337
|
-
const
|
|
338
|
-
var
|
|
334
|
+
const isFunction$2 = value => "function" == typeof value;
|
|
335
|
+
var isFunction$3 = isFunction$2;
|
|
339
336
|
|
|
340
|
-
const
|
|
341
|
-
var
|
|
337
|
+
const isNil$2 = value => null == value;
|
|
338
|
+
var isNil$3 = isNil$2;
|
|
342
339
|
|
|
343
|
-
const
|
|
344
|
-
|
|
345
|
-
return null !== value && "object" === type || "function" === type;
|
|
346
|
-
};
|
|
347
|
-
var isObject$1 = isObject;
|
|
340
|
+
const isValid$2 = value => null != value;
|
|
341
|
+
var isValid$3 = isValid$2;
|
|
348
342
|
|
|
349
|
-
const isObjectLike = value => "object" == typeof value && null !== value;
|
|
350
|
-
var isObjectLike$
|
|
343
|
+
const isObjectLike$2 = value => "object" == typeof value && null !== value;
|
|
344
|
+
var isObjectLike$3 = isObjectLike$2;
|
|
351
345
|
|
|
352
|
-
const isPlainObject = function (value) {
|
|
353
|
-
if (!isObjectLike$
|
|
346
|
+
const isPlainObject$2 = function (value) {
|
|
347
|
+
if (!isObjectLike$3(value) || !isType$3(value, "Object")) return !1;
|
|
354
348
|
if (null === Object.getPrototypeOf(value)) return !0;
|
|
355
349
|
let proto = value;
|
|
356
350
|
for (; null !== Object.getPrototypeOf(proto);) proto = Object.getPrototypeOf(proto);
|
|
357
351
|
return Object.getPrototypeOf(value) === proto;
|
|
358
352
|
};
|
|
359
|
-
var isPlainObject$
|
|
353
|
+
var isPlainObject$3 = isPlainObject$2;
|
|
360
354
|
|
|
361
|
-
const isString = (value, fuzzy = !1) => {
|
|
355
|
+
const isString$2 = (value, fuzzy = !1) => {
|
|
362
356
|
const type = typeof value;
|
|
363
|
-
return fuzzy ? "string" === type : "string" === type || isType$
|
|
357
|
+
return fuzzy ? "string" === type : "string" === type || isType$3(value, "String");
|
|
364
358
|
};
|
|
365
|
-
var isString$
|
|
359
|
+
var isString$3 = isString$2;
|
|
366
360
|
|
|
367
|
-
const isArray = value => Array.isArray ? Array.isArray(value) : isType$
|
|
368
|
-
var isArray$
|
|
361
|
+
const isArray$2 = value => Array.isArray ? Array.isArray(value) : isType$3(value, "Array");
|
|
362
|
+
var isArray$3 = isArray$2;
|
|
369
363
|
|
|
370
|
-
const isArrayLike = function (value) {
|
|
364
|
+
const isArrayLike$2 = function (value) {
|
|
371
365
|
return null !== value && "function" != typeof value && Number.isFinite(value.length);
|
|
372
366
|
};
|
|
373
|
-
var isArrayLike$
|
|
367
|
+
var isArrayLike$3 = isArrayLike$2;
|
|
374
368
|
|
|
375
|
-
const isDate = value => isType$
|
|
369
|
+
const isDate = value => isType$3(value, "Date");
|
|
376
370
|
var isDate$1 = isDate;
|
|
377
371
|
|
|
378
|
-
const isNumber = (value, fuzzy = !1) => {
|
|
372
|
+
const isNumber$2 = (value, fuzzy = !1) => {
|
|
379
373
|
const type = typeof value;
|
|
380
|
-
return fuzzy ? "number" === type : "number" === type || isType$
|
|
374
|
+
return fuzzy ? "number" === type : "number" === type || isType$3(value, "Number");
|
|
381
375
|
};
|
|
382
|
-
var isNumber$
|
|
376
|
+
var isNumber$3 = isNumber$2;
|
|
383
377
|
|
|
384
|
-
const isValidNumber = value => isNumber$
|
|
385
|
-
var isValidNumber$
|
|
378
|
+
const isValidNumber$2 = value => isNumber$3(value) && Number.isFinite(value);
|
|
379
|
+
var isValidNumber$3 = isValidNumber$2;
|
|
386
380
|
|
|
387
|
-
const isValidUrl = value => new RegExp(/^(http(s)?:\/\/)\w+[^\s]+(\.[^\s]+){1,}$/).test(value);
|
|
388
|
-
var isValidUrl$
|
|
381
|
+
const isValidUrl$2 = value => new RegExp(/^(http(s)?:\/\/)\w+[^\s]+(\.[^\s]+){1,}$/).test(value);
|
|
382
|
+
var isValidUrl$3 = isValidUrl$2;
|
|
389
383
|
|
|
390
|
-
const isBase64 = value => new RegExp(/^data:image\/(?:gif|png|jpeg|bmp|webp|svg\+xml)(?:;charset=utf-8)?;base64,(?:[A-Za-z0-9]|[+/])+={0,2}/g).test(value);
|
|
391
|
-
var isBase64$
|
|
384
|
+
const isBase64$2 = value => new RegExp(/^data:image\/(?:gif|png|jpeg|bmp|webp|svg\+xml)(?:;charset=utf-8)?;base64,(?:[A-Za-z0-9]|[+/])+={0,2}/g).test(value);
|
|
385
|
+
var isBase64$3 = isBase64$2;
|
|
392
386
|
|
|
393
|
-
const getType = value => ({}).toString.call(value).replace(/^\[object /, "").replace(/]$/, "");
|
|
394
|
-
var getType$
|
|
387
|
+
const getType$2 = value => ({}).toString.call(value).replace(/^\[object /, "").replace(/]$/, "");
|
|
388
|
+
var getType$3 = getType$2;
|
|
395
389
|
|
|
396
|
-
const objectProto = Object.prototype,
|
|
397
|
-
isPrototype = function (value) {
|
|
390
|
+
const objectProto$1 = Object.prototype,
|
|
391
|
+
isPrototype$2 = function (value) {
|
|
398
392
|
const Ctor = value && value.constructor;
|
|
399
|
-
return value === ("function" == typeof Ctor && Ctor.prototype || objectProto);
|
|
393
|
+
return value === ("function" == typeof Ctor && Ctor.prototype || objectProto$1);
|
|
400
394
|
};
|
|
401
|
-
var isPrototype$
|
|
395
|
+
var isPrototype$3 = isPrototype$2;
|
|
402
396
|
|
|
403
|
-
const hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
404
|
-
function isEmpty(value) {
|
|
405
|
-
if (isNil$
|
|
406
|
-
if (isArrayLike$
|
|
407
|
-
const type = getType$
|
|
397
|
+
const hasOwnProperty$1 = Object.prototype.hasOwnProperty;
|
|
398
|
+
function isEmpty$1(value) {
|
|
399
|
+
if (isNil$3(value)) return !0;
|
|
400
|
+
if (isArrayLike$3(value)) return !value.length;
|
|
401
|
+
const type = getType$3(value);
|
|
408
402
|
if ("Map" === type || "Set" === type) return !value.size;
|
|
409
|
-
if (isPrototype$
|
|
410
|
-
for (const key in value) if (hasOwnProperty.call(value, key)) return !1;
|
|
403
|
+
if (isPrototype$3(value)) return !Object.keys(value).length;
|
|
404
|
+
for (const key in value) if (hasOwnProperty$1.call(value, key)) return !1;
|
|
411
405
|
return !0;
|
|
412
406
|
}
|
|
413
407
|
|
|
414
408
|
const get = (obj, path, defaultValue) => {
|
|
415
|
-
const paths = isString$
|
|
409
|
+
const paths = isString$3(path) ? path.split(".") : path;
|
|
416
410
|
for (let p = 0; p < paths.length; p++) obj = obj ? obj[paths[p]] : void 0;
|
|
417
411
|
return void 0 === obj ? defaultValue : obj;
|
|
418
412
|
};
|
|
@@ -420,10 +414,10 @@
|
|
|
420
414
|
|
|
421
415
|
function cloneDeep(value, ignoreWhen, excludeKeys) {
|
|
422
416
|
let result;
|
|
423
|
-
if (!isValid$
|
|
424
|
-
const isArr = isArray$
|
|
417
|
+
if (!isValid$3(value) || "object" != typeof value || ignoreWhen && ignoreWhen(value)) return value;
|
|
418
|
+
const isArr = isArray$3(value),
|
|
425
419
|
length = value.length;
|
|
426
|
-
result = isArr ? new Array(length) : "object" == typeof value ? {} : isBoolean$
|
|
420
|
+
result = isArr ? new Array(length) : "object" == typeof value ? {} : isBoolean$3(value) || isNumber$3(value) || isString$3(value) ? value : isDate$1(value) ? new Date(+value) : void 0;
|
|
427
421
|
const props = isArr ? void 0 : Object.keys(Object(value));
|
|
428
422
|
let index = -1;
|
|
429
423
|
if (result) for (; ++index < (props || value).length;) {
|
|
@@ -434,10 +428,10 @@
|
|
|
434
428
|
return result;
|
|
435
429
|
}
|
|
436
430
|
|
|
437
|
-
function baseMerge(target, source, shallowArray = !1, skipTargetArray = !1) {
|
|
431
|
+
function baseMerge$1(target, source, shallowArray = !1, skipTargetArray = !1) {
|
|
438
432
|
if (source) {
|
|
439
433
|
if (target === source) return;
|
|
440
|
-
if (isValid$
|
|
434
|
+
if (isValid$3(source) && "object" == typeof source) {
|
|
441
435
|
const iterable = Object(source),
|
|
442
436
|
props = [];
|
|
443
437
|
for (const key in iterable) props.push(key);
|
|
@@ -447,49 +441,49 @@
|
|
|
447
441
|
propIndex = -1;
|
|
448
442
|
for (; length--;) {
|
|
449
443
|
const key = props[++propIndex];
|
|
450
|
-
!isValid$
|
|
444
|
+
!isValid$3(iterable[key]) || "object" != typeof iterable[key] || skipTargetArray && isArray$3(target[key]) ? assignMergeValue$1(target, key, iterable[key]) : baseMergeDeep$1(target, source, key, shallowArray, skipTargetArray);
|
|
451
445
|
}
|
|
452
446
|
}
|
|
453
447
|
}
|
|
454
448
|
}
|
|
455
|
-
function baseMergeDeep(target, source, key, shallowArray = !1, skipTargetArray = !1) {
|
|
449
|
+
function baseMergeDeep$1(target, source, key, shallowArray = !1, skipTargetArray = !1) {
|
|
456
450
|
const objValue = target[key],
|
|
457
451
|
srcValue = source[key];
|
|
458
452
|
let newValue = source[key],
|
|
459
453
|
isCommon = !0;
|
|
460
|
-
if (isArray$
|
|
461
|
-
if (shallowArray) newValue = [];else if (isArray$
|
|
454
|
+
if (isArray$3(srcValue)) {
|
|
455
|
+
if (shallowArray) newValue = [];else if (isArray$3(objValue)) newValue = objValue;else if (isArrayLike$3(objValue)) {
|
|
462
456
|
newValue = new Array(objValue.length);
|
|
463
457
|
let index = -1;
|
|
464
458
|
const length = objValue.length;
|
|
465
459
|
for (; ++index < length;) newValue[index] = objValue[index];
|
|
466
460
|
}
|
|
467
|
-
} else isPlainObject$
|
|
468
|
-
isCommon && baseMerge(newValue, srcValue, shallowArray, skipTargetArray), assignMergeValue(target, key, newValue);
|
|
461
|
+
} else isPlainObject$3(srcValue) ? (newValue = null != objValue ? objValue : {}, "function" != typeof objValue && "object" == typeof objValue || (newValue = {})) : isCommon = !1;
|
|
462
|
+
isCommon && baseMerge$1(newValue, srcValue, shallowArray, skipTargetArray), assignMergeValue$1(target, key, newValue);
|
|
469
463
|
}
|
|
470
|
-
function assignMergeValue(target, key, value) {
|
|
471
|
-
(void 0 !== value && !eq(target[key], value) || void 0 === value && !(key in target)) && (target[key] = value);
|
|
464
|
+
function assignMergeValue$1(target, key, value) {
|
|
465
|
+
(void 0 !== value && !eq$1(target[key], value) || void 0 === value && !(key in target)) && (target[key] = value);
|
|
472
466
|
}
|
|
473
|
-
function eq(value, other) {
|
|
467
|
+
function eq$1(value, other) {
|
|
474
468
|
return value === other || Number.isNaN(value) && Number.isNaN(other);
|
|
475
469
|
}
|
|
476
|
-
function merge(target, ...sources) {
|
|
470
|
+
function merge$1(target, ...sources) {
|
|
477
471
|
let sourceIndex = -1;
|
|
478
472
|
const length = sources.length;
|
|
479
473
|
for (; ++sourceIndex < length;) {
|
|
480
|
-
baseMerge(target, sources[sourceIndex], !0);
|
|
474
|
+
baseMerge$1(target, sources[sourceIndex], !0);
|
|
481
475
|
}
|
|
482
476
|
return target;
|
|
483
477
|
}
|
|
484
478
|
|
|
485
479
|
function pickWithout(obj, keys) {
|
|
486
|
-
if (!obj || !isPlainObject$
|
|
480
|
+
if (!obj || !isPlainObject$3(obj)) return obj;
|
|
487
481
|
const result = {};
|
|
488
482
|
return Object.keys(obj).forEach(k => {
|
|
489
483
|
const v = obj[k];
|
|
490
484
|
let match = !1;
|
|
491
485
|
keys.forEach(itKey => {
|
|
492
|
-
(isString$
|
|
486
|
+
(isString$3(itKey) && itKey === k || itKey instanceof RegExp && k.match(itKey)) && (match = !0);
|
|
493
487
|
}), match || (result[k] = v);
|
|
494
488
|
}), result;
|
|
495
489
|
}
|
|
@@ -506,14 +500,14 @@
|
|
|
506
500
|
if (null == a || null == b) return !1;
|
|
507
501
|
if (Number.isNaN(a) && Number.isNaN(b)) return !0;
|
|
508
502
|
if (objToString(a) !== objToString(b)) return !1;
|
|
509
|
-
if (isFunction$
|
|
503
|
+
if (isFunction$3(a)) return !!(null == options ? void 0 : options.skipFunction);
|
|
510
504
|
if ("object" != typeof a) return !1;
|
|
511
|
-
if (isArray$
|
|
505
|
+
if (isArray$3(a)) {
|
|
512
506
|
if (a.length !== b.length) return !1;
|
|
513
507
|
for (let i = a.length - 1; i >= 0; i--) if (!isEqual(a[i], b[i], options)) return !1;
|
|
514
508
|
return !0;
|
|
515
509
|
}
|
|
516
|
-
if (!isPlainObject$
|
|
510
|
+
if (!isPlainObject$3(a)) return !1;
|
|
517
511
|
const ka = objectKeys(a),
|
|
518
512
|
kb = objectKeys(b);
|
|
519
513
|
if (ka.length !== kb.length) return !1;
|
|
@@ -526,36 +520,36 @@
|
|
|
526
520
|
return !0;
|
|
527
521
|
}
|
|
528
522
|
|
|
529
|
-
function keys(obj) {
|
|
523
|
+
function keys$1(obj) {
|
|
530
524
|
if (!obj) return [];
|
|
531
525
|
if (Object.keys) return Object.keys(obj);
|
|
532
526
|
const keyList = [];
|
|
533
527
|
for (const key in obj) obj.hasOwnProperty(key) && keyList.push(key);
|
|
534
528
|
return keyList;
|
|
535
529
|
}
|
|
536
|
-
function defaults(target, source, overlay) {
|
|
537
|
-
const keysArr = keys(source);
|
|
530
|
+
function defaults$1(target, source, overlay) {
|
|
531
|
+
const keysArr = keys$1(source);
|
|
538
532
|
for (let i = 0; i < keysArr.length; i++) {
|
|
539
533
|
const key = keysArr[i];
|
|
540
534
|
(overlay ? null != source[key] : null == target[key]) && (target[key] = source[key]);
|
|
541
535
|
}
|
|
542
536
|
return target;
|
|
543
537
|
}
|
|
544
|
-
function mixin(target, source, override = !0) {
|
|
538
|
+
function mixin$1(target, source, override = !0) {
|
|
545
539
|
if (target = "prototype" in target ? target.prototype : target, source = "prototype" in source ? source.prototype : source, Object.getOwnPropertyNames) {
|
|
546
540
|
const keyList = Object.getOwnPropertyNames(source);
|
|
547
541
|
for (let i = 0; i < keyList.length; i++) {
|
|
548
542
|
const key = keyList[i];
|
|
549
543
|
"constructor" !== key && (override ? null != source[key] : null == target[key]) && (target[key] = source[key]);
|
|
550
544
|
}
|
|
551
|
-
} else defaults(target, source, override);
|
|
545
|
+
} else defaults$1(target, source, override);
|
|
552
546
|
}
|
|
553
547
|
|
|
554
|
-
function array(arr) {
|
|
555
|
-
return isValid$
|
|
548
|
+
function array$1(arr) {
|
|
549
|
+
return isValid$3(arr) ? isArray$3(arr) ? arr : [arr] : [];
|
|
556
550
|
}
|
|
557
551
|
function last(val) {
|
|
558
|
-
if (isArrayLike$
|
|
552
|
+
if (isArrayLike$3(val)) {
|
|
559
553
|
return val[val.length - 1];
|
|
560
554
|
}
|
|
561
555
|
}
|
|
@@ -579,21 +573,9 @@
|
|
|
579
573
|
}
|
|
580
574
|
return min;
|
|
581
575
|
};
|
|
582
|
-
function arrayEqual(a, b) {
|
|
583
|
-
if (!isArray$1(a) || !isArray$1(b)) return !1;
|
|
584
|
-
if (a.length !== b.length) return !1;
|
|
585
|
-
for (let i = 0; i < a.length; i++) if (a[i] !== b[i]) return !1;
|
|
586
|
-
return !0;
|
|
587
|
-
}
|
|
588
|
-
function flattenArray(arr) {
|
|
589
|
-
if (!isArray$1(arr)) return [arr];
|
|
590
|
-
const result = [];
|
|
591
|
-
for (const value of arr) result.push(...flattenArray(value));
|
|
592
|
-
return result;
|
|
593
|
-
}
|
|
594
576
|
|
|
595
577
|
function range$1(start, stop, step) {
|
|
596
|
-
isValid$
|
|
578
|
+
isValid$3(stop) || (stop = start, start = 0), isValid$3(step) || (step = 1);
|
|
597
579
|
let i = -1;
|
|
598
580
|
const n = 0 | Math.max(0, Math.ceil((stop - start) / step)),
|
|
599
581
|
range = new Array(n);
|
|
@@ -609,18 +591,18 @@
|
|
|
609
591
|
return Number(a);
|
|
610
592
|
}
|
|
611
593
|
|
|
612
|
-
const hasConsole = "undefined" != typeof console;
|
|
613
|
-
function log(method, level, input) {
|
|
594
|
+
const hasConsole$1 = "undefined" != typeof console;
|
|
595
|
+
function log$1(method, level, input) {
|
|
614
596
|
const args = [level].concat([].slice.call(input));
|
|
615
|
-
hasConsole && console[method].apply(console, args);
|
|
597
|
+
hasConsole$1 && console[method].apply(console, args);
|
|
616
598
|
}
|
|
617
|
-
var LoggerLevel;
|
|
599
|
+
var LoggerLevel$1;
|
|
618
600
|
!function (LoggerLevel) {
|
|
619
601
|
LoggerLevel[LoggerLevel.None = 0] = "None", LoggerLevel[LoggerLevel.Error = 1] = "Error", LoggerLevel[LoggerLevel.Warn = 2] = "Warn", LoggerLevel[LoggerLevel.Info = 3] = "Info", LoggerLevel[LoggerLevel.Debug = 4] = "Debug";
|
|
620
|
-
}(LoggerLevel || (LoggerLevel = {}));
|
|
621
|
-
class Logger {
|
|
602
|
+
}(LoggerLevel$1 || (LoggerLevel$1 = {}));
|
|
603
|
+
let Logger$1 = class Logger {
|
|
622
604
|
static getInstance(level, method) {
|
|
623
|
-
return Logger._instance && isNumber$
|
|
605
|
+
return Logger._instance && isNumber$3(level) ? Logger._instance.level(level) : Logger._instance || (Logger._instance = new Logger(level, method)), Logger._instance;
|
|
624
606
|
}
|
|
625
607
|
static setInstance(logger) {
|
|
626
608
|
return Logger._instance = logger;
|
|
@@ -631,7 +613,7 @@
|
|
|
631
613
|
static clearInstance() {
|
|
632
614
|
Logger._instance = null;
|
|
633
615
|
}
|
|
634
|
-
constructor(level = LoggerLevel.None, method) {
|
|
616
|
+
constructor(level = LoggerLevel$1.None, method) {
|
|
635
617
|
this._onErrorHandler = [], this._level = level, this._method = method;
|
|
636
618
|
}
|
|
637
619
|
addErrorHandler(handler) {
|
|
@@ -645,38 +627,38 @@
|
|
|
645
627
|
this._onErrorHandler.forEach(h => h(...args));
|
|
646
628
|
}
|
|
647
629
|
canLogInfo() {
|
|
648
|
-
return this._level >= LoggerLevel.Info;
|
|
630
|
+
return this._level >= LoggerLevel$1.Info;
|
|
649
631
|
}
|
|
650
632
|
canLogDebug() {
|
|
651
|
-
return this._level >= LoggerLevel.Debug;
|
|
633
|
+
return this._level >= LoggerLevel$1.Debug;
|
|
652
634
|
}
|
|
653
635
|
canLogError() {
|
|
654
|
-
return this._level >= LoggerLevel.Error;
|
|
636
|
+
return this._level >= LoggerLevel$1.Error;
|
|
655
637
|
}
|
|
656
638
|
canLogWarn() {
|
|
657
|
-
return this._level >= LoggerLevel.Warn;
|
|
639
|
+
return this._level >= LoggerLevel$1.Warn;
|
|
658
640
|
}
|
|
659
641
|
level(levelValue) {
|
|
660
642
|
return arguments.length ? (this._level = +levelValue, this) : this._level;
|
|
661
643
|
}
|
|
662
644
|
error(...args) {
|
|
663
645
|
var _a;
|
|
664
|
-
return this._level >= LoggerLevel.Error && (this._onErrorHandler.length ? this.callErrorHandler(...args) : log(null !== (_a = this._method) && void 0 !== _a ? _a : "error", "ERROR", args)), this;
|
|
646
|
+
return this._level >= LoggerLevel$1.Error && (this._onErrorHandler.length ? this.callErrorHandler(...args) : log$1(null !== (_a = this._method) && void 0 !== _a ? _a : "error", "ERROR", args)), this;
|
|
665
647
|
}
|
|
666
648
|
warn(...args) {
|
|
667
|
-
return this._level >= LoggerLevel.Warn && log(this._method || "warn", "WARN", args), this;
|
|
649
|
+
return this._level >= LoggerLevel$1.Warn && log$1(this._method || "warn", "WARN", args), this;
|
|
668
650
|
}
|
|
669
651
|
info(...args) {
|
|
670
|
-
return this._level >= LoggerLevel.Info && log(this._method || "log", "INFO", args), this;
|
|
652
|
+
return this._level >= LoggerLevel$1.Info && log$1(this._method || "log", "INFO", args), this;
|
|
671
653
|
}
|
|
672
654
|
debug(...args) {
|
|
673
|
-
return this._level >= LoggerLevel.Debug && log(this._method || "log", "DEBUG", args), this;
|
|
655
|
+
return this._level >= LoggerLevel$1.Debug && log$1(this._method || "log", "DEBUG", args), this;
|
|
674
656
|
}
|
|
675
|
-
}
|
|
676
|
-
Logger._instance = null;
|
|
657
|
+
};
|
|
658
|
+
Logger$1._instance = null;
|
|
677
659
|
|
|
678
660
|
function bisect(a, x, lo = 0, hi) {
|
|
679
|
-
for (isNil$
|
|
661
|
+
for (isNil$3(hi) && (hi = a.length); lo < hi;) {
|
|
680
662
|
const mid = lo + hi >>> 1;
|
|
681
663
|
ascending$1(a[mid], x) > 0 ? hi = mid : lo = mid + 1;
|
|
682
664
|
}
|
|
@@ -697,10 +679,10 @@
|
|
|
697
679
|
return (...args) => (lastArgs && args.every((val, i) => val === lastArgs[i]) || (lastArgs = args, lastResult = func(...args)), lastResult);
|
|
698
680
|
};
|
|
699
681
|
|
|
700
|
-
const clamp = function (input, min, max) {
|
|
682
|
+
const clamp$2 = function (input, min, max) {
|
|
701
683
|
return input < min ? min : input > max ? max : input;
|
|
702
684
|
};
|
|
703
|
-
var clamp$
|
|
685
|
+
var clamp$3 = clamp$2;
|
|
704
686
|
|
|
705
687
|
function clamper(a, b) {
|
|
706
688
|
let t;
|
|
@@ -730,68 +712,44 @@
|
|
|
730
712
|
|
|
731
713
|
const getter = path => obj => get$1(obj, path);
|
|
732
714
|
const fieldSingle = (fieldStr, opt = {}) => {
|
|
733
|
-
if (isFunction$
|
|
715
|
+
if (isFunction$3(fieldStr)) return fieldStr;
|
|
734
716
|
const path = [fieldStr];
|
|
735
717
|
return (opt && opt.get || getter)(path);
|
|
736
718
|
};
|
|
737
719
|
const field = (fieldStr, opt = {}) => {
|
|
738
|
-
if (isArray$
|
|
720
|
+
if (isArray$3(fieldStr)) {
|
|
739
721
|
const funcs = fieldStr.map(entry => fieldSingle(entry, opt));
|
|
740
722
|
return datum => funcs.map(func => func(datum));
|
|
741
723
|
}
|
|
742
724
|
return fieldSingle(fieldStr, opt);
|
|
743
725
|
};
|
|
744
|
-
const simpleField = option => option ? "string" == typeof option || "number" == typeof option ? () => option : isFunction$
|
|
726
|
+
const simpleField = option => option ? "string" == typeof option || "number" == typeof option ? () => option : isFunction$3(option) ? option : datum => datum[option.field] : null;
|
|
745
727
|
|
|
746
728
|
const extent = (array, func) => {
|
|
747
|
-
const valueGetter = isFunction$
|
|
729
|
+
const valueGetter = isFunction$3(func) ? func : val => val;
|
|
748
730
|
let min, max;
|
|
749
731
|
if (array && array.length) {
|
|
750
732
|
const n = array.length;
|
|
751
733
|
for (let i = 0; i < n; i += 1) {
|
|
752
734
|
let value = valueGetter(array[i]);
|
|
753
|
-
isNil$
|
|
735
|
+
isNil$3(value) || !isNumber$3(value = +value) || Number.isNaN(value) || (isNil$3(min) ? (min = value, max = value) : (min = Math.min(min, value), max = Math.max(max, value)));
|
|
754
736
|
}
|
|
755
737
|
return [min, max];
|
|
756
738
|
}
|
|
757
739
|
return [min, max];
|
|
758
740
|
};
|
|
759
741
|
|
|
760
|
-
const
|
|
761
|
-
const
|
|
762
|
-
const
|
|
763
|
-
const tau = 2 * pi;
|
|
764
|
-
const pi2 = 2 * Math.PI;
|
|
765
|
-
const abs = Math.abs;
|
|
766
|
-
const atan2 = Math.atan2;
|
|
767
|
-
const cos = Math.cos;
|
|
768
|
-
const max = Math.max;
|
|
769
|
-
const min = Math.min;
|
|
770
|
-
const sin = Math.sin;
|
|
771
|
-
const sqrt$1 = Math.sqrt;
|
|
772
|
-
const pow = Math.pow;
|
|
773
|
-
function acos(x) {
|
|
774
|
-
return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);
|
|
775
|
-
}
|
|
776
|
-
function asin(x) {
|
|
777
|
-
return x >= 1 ? halfPi$1 : x <= -1 ? -halfPi$1 : Math.asin(x);
|
|
778
|
-
}
|
|
779
|
-
function pointAt(x1, y1, x2, y2, t) {
|
|
780
|
-
let x = x2,
|
|
781
|
-
y = y2;
|
|
782
|
-
return "number" == typeof x1 && "number" == typeof x2 && (x = (1 - t) * x1 + t * x2), "number" == typeof y1 && "number" == typeof y2 && (y = (1 - t) * y1 + t * y2), {
|
|
783
|
-
x: x,
|
|
784
|
-
y: y
|
|
785
|
-
};
|
|
786
|
-
}
|
|
742
|
+
const abs$1 = Math.abs;
|
|
743
|
+
const sqrt$2 = Math.sqrt;
|
|
744
|
+
const pow$1 = Math.pow;
|
|
787
745
|
function crossProduct(dir1, dir2) {
|
|
788
746
|
return dir1[0] * dir2[1] - dir1[1] * dir2[0];
|
|
789
747
|
}
|
|
790
748
|
function fuzzyEqualVec(a, b) {
|
|
791
|
-
return abs(a[0] - b[0]) + abs(a[1] - b[1]) < 1e-12;
|
|
749
|
+
return abs$1(a[0] - b[0]) + abs$1(a[1] - b[1]) < 1e-12;
|
|
792
750
|
}
|
|
793
751
|
|
|
794
|
-
class Point {
|
|
752
|
+
let Point$1 = class Point {
|
|
795
753
|
constructor(x = 0, y = 0, x1, y1) {
|
|
796
754
|
this.x = 0, this.y = 0, this.x = x, this.y = y, this.x1 = x1, this.y1 = y1;
|
|
797
755
|
}
|
|
@@ -805,10 +763,10 @@
|
|
|
805
763
|
return this.x = x, this.y = y, this;
|
|
806
764
|
}
|
|
807
765
|
add(point) {
|
|
808
|
-
return isNumber$
|
|
766
|
+
return isNumber$3(point) ? (this.x += point, void (this.y += point)) : (this.x += point.x, this.y += point.y, this);
|
|
809
767
|
}
|
|
810
768
|
sub(point) {
|
|
811
|
-
return isNumber$
|
|
769
|
+
return isNumber$3(point) ? (this.x -= point, void (this.y -= point)) : (this.x -= point.x, this.y -= point.y, this);
|
|
812
770
|
}
|
|
813
771
|
multi(point) {
|
|
814
772
|
throw new Error("暂不支持");
|
|
@@ -816,33 +774,28 @@
|
|
|
816
774
|
div(point) {
|
|
817
775
|
throw new Error("暂不支持");
|
|
818
776
|
}
|
|
819
|
-
}
|
|
820
|
-
class PointService {
|
|
777
|
+
};
|
|
778
|
+
let PointService$1 = class PointService {
|
|
821
779
|
static distancePP(p1, p2) {
|
|
822
|
-
return sqrt$
|
|
780
|
+
return sqrt$2(pow$1(p1.x - p2.x, 2) + pow$1(p1.y - p2.y, 2));
|
|
823
781
|
}
|
|
824
782
|
static distanceNN(x, y, x1, y1) {
|
|
825
|
-
return sqrt$
|
|
783
|
+
return sqrt$2(pow$1(x - x1, 2) + pow$1(y - y1, 2));
|
|
826
784
|
}
|
|
827
785
|
static distancePN(point, x, y) {
|
|
828
|
-
return sqrt$
|
|
786
|
+
return sqrt$2(pow$1(x - point.x, 2) + pow$1(y - point.y, 2));
|
|
829
787
|
}
|
|
830
788
|
static pointAtPP(p1, p2, t) {
|
|
831
|
-
return new Point((p2.x - p1.x) * t + p1.x, (p2.y - p1.y) * t + p1.y);
|
|
789
|
+
return new Point$1((p2.x - p1.x) * t + p1.x, (p2.y - p1.y) * t + p1.y);
|
|
832
790
|
}
|
|
833
|
-
}
|
|
791
|
+
};
|
|
834
792
|
|
|
835
|
-
function degreeToRadian(degree) {
|
|
793
|
+
function degreeToRadian$1(degree) {
|
|
836
794
|
return degree * (Math.PI / 180);
|
|
837
795
|
}
|
|
838
|
-
function radianToDegree(radian) {
|
|
796
|
+
function radianToDegree$1(radian) {
|
|
839
797
|
return 180 * radian / Math.PI;
|
|
840
798
|
}
|
|
841
|
-
const clampRadian = (angle = 0) => {
|
|
842
|
-
if (angle < 0) for (; angle < -tau;) angle += tau;else if (angle > 0) for (; angle > tau;) angle -= tau;
|
|
843
|
-
return angle;
|
|
844
|
-
};
|
|
845
|
-
const clampAngleByRadian = clampRadian;
|
|
846
799
|
function polarToCartesian(center, radius, angleInRadian) {
|
|
847
800
|
return radius ? {
|
|
848
801
|
x: center.x + radius * Math.cos(angleInRadian),
|
|
@@ -852,11 +805,6 @@
|
|
|
852
805
|
y: center.y
|
|
853
806
|
};
|
|
854
807
|
}
|
|
855
|
-
function normalizeAngle(angle) {
|
|
856
|
-
for (; angle < 0;) angle += 2 * Math.PI;
|
|
857
|
-
for (; angle >= 2 * Math.PI;) angle -= 2 * Math.PI;
|
|
858
|
-
return angle;
|
|
859
|
-
}
|
|
860
808
|
|
|
861
809
|
function sub(out, v1, v2) {
|
|
862
810
|
out[0] = v1[0] - v2[0], out[1] = v1[1] - v2[1];
|
|
@@ -878,10 +826,10 @@
|
|
|
878
826
|
const t = crossProduct(tempVec, dir2) / crossProduct(dir1, dir2);
|
|
879
827
|
return t >= 0 && t <= 1 && [left1[0] + dir1[0] * t, left1[1] + dir1[1] * t];
|
|
880
828
|
}
|
|
881
|
-
var InnerBBox;
|
|
829
|
+
var InnerBBox$1;
|
|
882
830
|
!function (InnerBBox) {
|
|
883
831
|
InnerBBox[InnerBBox.NONE = 0] = "NONE", InnerBBox[InnerBBox.BBOX1 = 1] = "BBOX1", InnerBBox[InnerBBox.BBOX2 = 2] = "BBOX2";
|
|
884
|
-
}(InnerBBox || (InnerBBox = {}));
|
|
832
|
+
}(InnerBBox$1 || (InnerBBox$1 = {}));
|
|
885
833
|
function pointInRect(point, bbox, format) {
|
|
886
834
|
if (!bbox) return !0;
|
|
887
835
|
if (!format) return point.x >= bbox.x1 && point.x <= bbox.x2 && point.y >= bbox.y1 && point.y <= bbox.y2;
|
|
@@ -891,64 +839,6 @@
|
|
|
891
839
|
y12 = bbox.y2;
|
|
892
840
|
return x11 > x12 && ([x11, x12] = [x12, x11]), y11 > y12 && ([y11, y12] = [y12, y11]), point.x >= x11 && point.x <= x12 && point.y >= y11 && point.y <= y12;
|
|
893
841
|
}
|
|
894
|
-
function getProjectionRadius(checkAxis, axis) {
|
|
895
|
-
return Math.abs(axis[0] * checkAxis[0] + axis[1] * checkAxis[1]);
|
|
896
|
-
}
|
|
897
|
-
function rotatePoint({
|
|
898
|
-
x: x,
|
|
899
|
-
y: y
|
|
900
|
-
}, rad, origin = {
|
|
901
|
-
x: 0,
|
|
902
|
-
y: 0
|
|
903
|
-
}) {
|
|
904
|
-
return {
|
|
905
|
-
x: (x - origin.x) * Math.cos(rad) - (y - origin.y) * Math.sin(rad) + origin.x,
|
|
906
|
-
y: (x - origin.x) * Math.sin(rad) + (y - origin.y) * Math.cos(rad) + origin.y
|
|
907
|
-
};
|
|
908
|
-
}
|
|
909
|
-
function getCenterPoint(box) {
|
|
910
|
-
return {
|
|
911
|
-
x: (box.x1 + box.x2) / 2,
|
|
912
|
-
y: (box.y1 + box.y2) / 2
|
|
913
|
-
};
|
|
914
|
-
}
|
|
915
|
-
function toRect$1(box, isDeg) {
|
|
916
|
-
const deg = isDeg ? degreeToRadian(box.angle) : box.angle,
|
|
917
|
-
cp = getCenterPoint(box);
|
|
918
|
-
return [rotatePoint({
|
|
919
|
-
x: box.x1,
|
|
920
|
-
y: box.y1
|
|
921
|
-
}, deg, cp), rotatePoint({
|
|
922
|
-
x: box.x2,
|
|
923
|
-
y: box.y1
|
|
924
|
-
}, deg, cp), rotatePoint({
|
|
925
|
-
x: box.x2,
|
|
926
|
-
y: box.y2
|
|
927
|
-
}, deg, cp), rotatePoint({
|
|
928
|
-
x: box.x1,
|
|
929
|
-
y: box.y2
|
|
930
|
-
}, deg, cp)];
|
|
931
|
-
}
|
|
932
|
-
function isRotateAABBIntersect(box1, box2, isDeg = !1) {
|
|
933
|
-
const rect1 = toRect$1(box1, isDeg),
|
|
934
|
-
rect2 = toRect$1(box2, isDeg),
|
|
935
|
-
vector = (start, end) => [end.x - start.x, end.y - start.y],
|
|
936
|
-
vp1p2 = vector(getCenterPoint(box1), getCenterPoint(box2)),
|
|
937
|
-
AB = vector(rect1[0], rect1[1]),
|
|
938
|
-
BC = vector(rect1[1], rect1[2]),
|
|
939
|
-
A1B1 = vector(rect2[0], rect2[1]),
|
|
940
|
-
B1C1 = vector(rect2[1], rect2[2]),
|
|
941
|
-
deg11 = isDeg ? degreeToRadian(box1.angle) : box1.angle;
|
|
942
|
-
let deg12 = isDeg ? degreeToRadian(90 - box1.angle) : box1.angle + halfPi$1;
|
|
943
|
-
const deg21 = isDeg ? degreeToRadian(box2.angle) : box2.angle;
|
|
944
|
-
let deg22 = isDeg ? degreeToRadian(90 - box2.angle) : box2.angle + halfPi$1;
|
|
945
|
-
deg12 > pi2 && (deg12 -= pi2), deg22 > pi2 && (deg22 -= pi2);
|
|
946
|
-
const isCover = (checkAxisRadius, deg, targetAxis1, targetAxis2) => {
|
|
947
|
-
const checkAxis = [Math.cos(deg), Math.sin(deg)];
|
|
948
|
-
return checkAxisRadius + (getProjectionRadius(checkAxis, targetAxis1) + getProjectionRadius(checkAxis, targetAxis2)) / 2 > getProjectionRadius(checkAxis, vp1p2);
|
|
949
|
-
};
|
|
950
|
-
return isCover((box1.x2 - box1.x1) / 2, deg11, A1B1, B1C1) && isCover((box1.y2 - box1.y1) / 2, deg12, A1B1, B1C1) && isCover((box2.x2 - box2.x1) / 2, deg21, AB, BC) && isCover((box2.y2 - box2.y1) / 2, deg22, AB, BC);
|
|
951
|
-
}
|
|
952
842
|
|
|
953
843
|
let x1, y1, x2, y2;
|
|
954
844
|
function getAABBFromPoints(points) {
|
|
@@ -969,12 +859,12 @@
|
|
|
969
859
|
if (!p) return !1;
|
|
970
860
|
for (let i = 1; i < points.length; i++) {
|
|
971
861
|
const p2 = points[i];
|
|
972
|
-
w += isPointInLine(p.x, p.y, p2.x, p2.y, x, y), p = p2;
|
|
862
|
+
w += isPointInLine$1(p.x, p.y, p2.x, p2.y, x, y), p = p2;
|
|
973
863
|
}
|
|
974
864
|
const p0 = points[0];
|
|
975
|
-
return isAroundEqual$1(p.x, p0.x) && isAroundEqual$1(p.y, p0.y) || (w += isPointInLine(p.x, p.y, p0.x, p0.y, x, y)), 0 !== w;
|
|
865
|
+
return isAroundEqual$1(p.x, p0.x) && isAroundEqual$1(p.y, p0.y) || (w += isPointInLine$1(p.x, p.y, p0.x, p0.y, x, y)), 0 !== w;
|
|
976
866
|
}
|
|
977
|
-
function isPointInLine(x0, y0, x1, y1, x, y) {
|
|
867
|
+
function isPointInLine$1(x0, y0, x1, y1, x, y) {
|
|
978
868
|
if (y > y0 && y > y1 || y < y0 && y < y1) return 0;
|
|
979
869
|
if (y1 === y0) return 0;
|
|
980
870
|
const t = (y - y0) / (y1 - y0);
|
|
@@ -994,7 +884,7 @@
|
|
|
994
884
|
return 55296 <= x && x <= 56319 && 56320 <= y && y <= 57343 && (x &= 1023, y &= 1023, codePoint = x << 10 | y, codePoint += 65536), 12288 === codePoint || 65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510 ? "F" : 8361 === codePoint || 65377 <= codePoint && codePoint <= 65470 || 65474 <= codePoint && codePoint <= 65479 || 65482 <= codePoint && codePoint <= 65487 || 65490 <= codePoint && codePoint <= 65495 || 65498 <= codePoint && codePoint <= 65500 || 65512 <= codePoint && codePoint <= 65518 ? "H" : 4352 <= codePoint && codePoint <= 4447 || 4515 <= codePoint && codePoint <= 4519 || 4602 <= codePoint && codePoint <= 4607 || 9001 <= codePoint && codePoint <= 9002 || 11904 <= codePoint && codePoint <= 11929 || 11931 <= codePoint && codePoint <= 12019 || 12032 <= codePoint && codePoint <= 12245 || 12272 <= codePoint && codePoint <= 12283 || 12289 <= codePoint && codePoint <= 12350 || 12353 <= codePoint && codePoint <= 12438 || 12441 <= codePoint && codePoint <= 12543 || 12549 <= codePoint && codePoint <= 12589 || 12593 <= codePoint && codePoint <= 12686 || 12688 <= codePoint && codePoint <= 12730 || 12736 <= codePoint && codePoint <= 12771 || 12784 <= codePoint && codePoint <= 12830 || 12832 <= codePoint && codePoint <= 12871 || 12880 <= codePoint && codePoint <= 13054 || 13056 <= codePoint && codePoint <= 19903 || 19968 <= codePoint && codePoint <= 42124 || 42128 <= codePoint && codePoint <= 42182 || 43360 <= codePoint && codePoint <= 43388 || 44032 <= codePoint && codePoint <= 55203 || 55216 <= codePoint && codePoint <= 55238 || 55243 <= codePoint && codePoint <= 55291 || 63744 <= codePoint && codePoint <= 64255 || 65040 <= codePoint && codePoint <= 65049 || 65072 <= codePoint && codePoint <= 65106 || 65108 <= codePoint && codePoint <= 65126 || 65128 <= codePoint && codePoint <= 65131 || 110592 <= codePoint && codePoint <= 110593 || 127488 <= codePoint && codePoint <= 127490 || 127504 <= codePoint && codePoint <= 127546 || 127552 <= codePoint && codePoint <= 127560 || 127568 <= codePoint && codePoint <= 127569 || 131072 <= codePoint && codePoint <= 194367 || 177984 <= codePoint && codePoint <= 196605 || 196608 <= codePoint && codePoint <= 262141 ? "W" : 32 <= codePoint && codePoint <= 126 || 162 <= codePoint && codePoint <= 163 || 165 <= codePoint && codePoint <= 166 || 172 === codePoint || 175 === codePoint || 10214 <= codePoint && codePoint <= 10221 || 10629 <= codePoint && codePoint <= 10630 ? "Na" : 161 === codePoint || 164 === codePoint || 167 <= codePoint && codePoint <= 168 || 170 === codePoint || 173 <= codePoint && codePoint <= 174 || 176 <= codePoint && codePoint <= 180 || 182 <= codePoint && codePoint <= 186 || 188 <= codePoint && codePoint <= 191 || 198 === codePoint || 208 === codePoint || 215 <= codePoint && codePoint <= 216 || 222 <= codePoint && codePoint <= 225 || 230 === codePoint || 232 <= codePoint && codePoint <= 234 || 236 <= codePoint && codePoint <= 237 || 240 === codePoint || 242 <= codePoint && codePoint <= 243 || 247 <= codePoint && codePoint <= 250 || 252 === codePoint || 254 === codePoint || 257 === codePoint || 273 === codePoint || 275 === codePoint || 283 === codePoint || 294 <= codePoint && codePoint <= 295 || 299 === codePoint || 305 <= codePoint && codePoint <= 307 || 312 === codePoint || 319 <= codePoint && codePoint <= 322 || 324 === codePoint || 328 <= codePoint && codePoint <= 331 || 333 === codePoint || 338 <= codePoint && codePoint <= 339 || 358 <= codePoint && codePoint <= 359 || 363 === codePoint || 462 === codePoint || 464 === codePoint || 466 === codePoint || 468 === codePoint || 470 === codePoint || 472 === codePoint || 474 === codePoint || 476 === codePoint || 593 === codePoint || 609 === codePoint || 708 === codePoint || 711 === codePoint || 713 <= codePoint && codePoint <= 715 || 717 === codePoint || 720 === codePoint || 728 <= codePoint && codePoint <= 731 || 733 === codePoint || 735 === codePoint || 768 <= codePoint && codePoint <= 879 || 913 <= codePoint && codePoint <= 929 || 931 <= codePoint && codePoint <= 937 || 945 <= codePoint && codePoint <= 961 || 963 <= codePoint && codePoint <= 969 || 1025 === codePoint || 1040 <= codePoint && codePoint <= 1103 || 1105 === codePoint || 8208 === codePoint || 8211 <= codePoint && codePoint <= 8214 || 8216 <= codePoint && codePoint <= 8217 || 8220 <= codePoint && codePoint <= 8221 || 8224 <= codePoint && codePoint <= 8226 || 8228 <= codePoint && codePoint <= 8231 || 8240 === codePoint || 8242 <= codePoint && codePoint <= 8243 || 8245 === codePoint || 8251 === codePoint || 8254 === codePoint || 8308 === codePoint || 8319 === codePoint || 8321 <= codePoint && codePoint <= 8324 || 8364 === codePoint || 8451 === codePoint || 8453 === codePoint || 8457 === codePoint || 8467 === codePoint || 8470 === codePoint || 8481 <= codePoint && codePoint <= 8482 || 8486 === codePoint || 8491 === codePoint || 8531 <= codePoint && codePoint <= 8532 || 8539 <= codePoint && codePoint <= 8542 || 8544 <= codePoint && codePoint <= 8555 || 8560 <= codePoint && codePoint <= 8569 || 8585 === codePoint || 8592 <= codePoint && codePoint <= 8601 || 8632 <= codePoint && codePoint <= 8633 || 8658 === codePoint || 8660 === codePoint || 8679 === codePoint || 8704 === codePoint || 8706 <= codePoint && codePoint <= 8707 || 8711 <= codePoint && codePoint <= 8712 || 8715 === codePoint || 8719 === codePoint || 8721 === codePoint || 8725 === codePoint || 8730 === codePoint || 8733 <= codePoint && codePoint <= 8736 || 8739 === codePoint || 8741 === codePoint || 8743 <= codePoint && codePoint <= 8748 || 8750 === codePoint || 8756 <= codePoint && codePoint <= 8759 || 8764 <= codePoint && codePoint <= 8765 || 8776 === codePoint || 8780 === codePoint || 8786 === codePoint || 8800 <= codePoint && codePoint <= 8801 || 8804 <= codePoint && codePoint <= 8807 || 8810 <= codePoint && codePoint <= 8811 || 8814 <= codePoint && codePoint <= 8815 || 8834 <= codePoint && codePoint <= 8835 || 8838 <= codePoint && codePoint <= 8839 || 8853 === codePoint || 8857 === codePoint || 8869 === codePoint || 8895 === codePoint || 8978 === codePoint || 9312 <= codePoint && codePoint <= 9449 || 9451 <= codePoint && codePoint <= 9547 || 9552 <= codePoint && codePoint <= 9587 || 9600 <= codePoint && codePoint <= 9615 || 9618 <= codePoint && codePoint <= 9621 || 9632 <= codePoint && codePoint <= 9633 || 9635 <= codePoint && codePoint <= 9641 || 9650 <= codePoint && codePoint <= 9651 || 9654 <= codePoint && codePoint <= 9655 || 9660 <= codePoint && codePoint <= 9661 || 9664 <= codePoint && codePoint <= 9665 || 9670 <= codePoint && codePoint <= 9672 || 9675 === codePoint || 9678 <= codePoint && codePoint <= 9681 || 9698 <= codePoint && codePoint <= 9701 || 9711 === codePoint || 9733 <= codePoint && codePoint <= 9734 || 9737 === codePoint || 9742 <= codePoint && codePoint <= 9743 || 9748 <= codePoint && codePoint <= 9749 || 9756 === codePoint || 9758 === codePoint || 9792 === codePoint || 9794 === codePoint || 9824 <= codePoint && codePoint <= 9825 || 9827 <= codePoint && codePoint <= 9829 || 9831 <= codePoint && codePoint <= 9834 || 9836 <= codePoint && codePoint <= 9837 || 9839 === codePoint || 9886 <= codePoint && codePoint <= 9887 || 9918 <= codePoint && codePoint <= 9919 || 9924 <= codePoint && codePoint <= 9933 || 9935 <= codePoint && codePoint <= 9953 || 9955 === codePoint || 9960 <= codePoint && codePoint <= 9983 || 10045 === codePoint || 10071 === codePoint || 10102 <= codePoint && codePoint <= 10111 || 11093 <= codePoint && codePoint <= 11097 || 12872 <= codePoint && codePoint <= 12879 || 57344 <= codePoint && codePoint <= 63743 || 65024 <= codePoint && codePoint <= 65039 || 65533 === codePoint || 127232 <= codePoint && codePoint <= 127242 || 127248 <= codePoint && codePoint <= 127277 || 127280 <= codePoint && codePoint <= 127337 || 127344 <= codePoint && codePoint <= 127386 || 917760 <= codePoint && codePoint <= 917999 || 983040 <= codePoint && codePoint <= 1048573 || 1048576 <= codePoint && codePoint <= 1114109 ? "A" : "N";
|
|
995
885
|
};
|
|
996
886
|
|
|
997
|
-
function getContextFont(text, defaultAttr = {}, fontSizeScale) {
|
|
887
|
+
function getContextFont$1(text, defaultAttr = {}, fontSizeScale) {
|
|
998
888
|
fontSizeScale || (fontSizeScale = 1);
|
|
999
889
|
const {
|
|
1000
890
|
fontStyle = defaultAttr.fontStyle,
|
|
@@ -1008,15 +898,15 @@
|
|
|
1008
898
|
|
|
1009
899
|
class TextMeasure {
|
|
1010
900
|
constructor(option, textSpec) {
|
|
1011
|
-
this._numberCharSize = null, this._fullCharSize = null, this._letterCharSize = null, this._specialCharSizeMap = {}, this._canvas = null, this._context = null, this._contextSaved = !1, this._notSupportCanvas = !1, this._notSupportVRender = !1, this._userSpec = {}, this.specialCharSet = "-/: .,@%'\"~", this._option = option, this._userSpec = null != textSpec ? textSpec : {}, this.textSpec = this._initSpec(), isValid$
|
|
901
|
+
this._numberCharSize = null, this._fullCharSize = null, this._letterCharSize = null, this._specialCharSizeMap = {}, this._canvas = null, this._context = null, this._contextSaved = !1, this._notSupportCanvas = !1, this._notSupportVRender = !1, this._userSpec = {}, this.specialCharSet = "-/: .,@%'\"~", this._option = option, this._userSpec = null != textSpec ? textSpec : {}, this.textSpec = this._initSpec(), isValid$3(option.specialCharSet) && (this.specialCharSet = option.specialCharSet), this._standardMethod = isValid$3(option.getTextBounds) ? this.fullMeasure.bind(this) : this.measureWithNaiveCanvas.bind(this);
|
|
1012
902
|
}
|
|
1013
903
|
initContext() {
|
|
1014
904
|
if (this._notSupportCanvas) return !1;
|
|
1015
|
-
if (isNil$
|
|
905
|
+
if (isNil$3(this._canvas) && (isValid$3(this._option.getCanvasForMeasure) && (this._canvas = this._option.getCanvasForMeasure()), isNil$3(this._canvas) && "undefined" != typeof window && void 0 !== window.document && globalThis && isValid$3(globalThis.document) && (this._canvas = globalThis.document.createElement("canvas"))), isNil$3(this._context) && isValid$3(this._canvas)) {
|
|
1016
906
|
const context = this._canvas.getContext("2d");
|
|
1017
|
-
isValid$
|
|
907
|
+
isValid$3(context) && (context.save(), context.font = getContextFont$1(this.textSpec), this._contextSaved = !0, this._context = context);
|
|
1018
908
|
}
|
|
1019
|
-
return !isNil$
|
|
909
|
+
return !isNil$3(this._context) || (this._notSupportCanvas = !0, !1);
|
|
1020
910
|
}
|
|
1021
911
|
_initSpec() {
|
|
1022
912
|
var _a, _b, _c;
|
|
@@ -1039,7 +929,7 @@
|
|
|
1039
929
|
let {
|
|
1040
930
|
lineHeight = fontSize
|
|
1041
931
|
} = this._userSpec;
|
|
1042
|
-
if (isString$
|
|
932
|
+
if (isString$3(lineHeight) && "%" === lineHeight[lineHeight.length - 1]) {
|
|
1043
933
|
const scale = Number.parseFloat(lineHeight.substring(0, lineHeight.length - 1)) / 100;
|
|
1044
934
|
lineHeight = fontSize * scale;
|
|
1045
935
|
}
|
|
@@ -1070,11 +960,11 @@
|
|
|
1070
960
|
}
|
|
1071
961
|
}
|
|
1072
962
|
fullMeasure(text) {
|
|
1073
|
-
if (isNil$
|
|
963
|
+
if (isNil$3(text)) return {
|
|
1074
964
|
width: 0,
|
|
1075
965
|
height: 0
|
|
1076
966
|
};
|
|
1077
|
-
if (isNil$
|
|
967
|
+
if (isNil$3(this._option.getTextBounds) || !this._notSupportVRender) return this.measureWithNaiveCanvas(text);
|
|
1078
968
|
const {
|
|
1079
969
|
fontFamily: fontFamily,
|
|
1080
970
|
fontSize: fontSize,
|
|
@@ -1136,7 +1026,7 @@
|
|
|
1136
1026
|
for (let i = 0; i < text.length; i++) {
|
|
1137
1027
|
const char = text[i];
|
|
1138
1028
|
let size = this._measureSpecialChar(char);
|
|
1139
|
-
isNil$
|
|
1029
|
+
isNil$3(size) && TextMeasure.NUMBERS_CHAR_SET.includes(char) && (size = this._measureNumberChar()), isNil$3(size) && ["F", "W"].includes(eastAsianCharacterInfo(char)) && (size = this._measureFullSizeChar()), isNil$3(size) && (size = this._measureLetterChar()), totalSize.width += size.width, totalSize.height = Math.max(totalSize.height, size.height), !isNil$3(size.fontBoundingBoxAscent) && (totalSize.fontBoundingBoxAscent = size.fontBoundingBoxAscent), !isNil$3(size.fontBoundingBoxDescent) && (totalSize.fontBoundingBoxDescent = size.fontBoundingBoxDescent);
|
|
1140
1030
|
}
|
|
1141
1031
|
return totalSize;
|
|
1142
1032
|
}
|
|
@@ -1170,9 +1060,9 @@
|
|
|
1170
1060
|
width: 0,
|
|
1171
1061
|
height: 0
|
|
1172
1062
|
};
|
|
1173
|
-
if (isNil$
|
|
1174
|
-
if (isArray$
|
|
1175
|
-
const textArr = text.filter(isValid$
|
|
1063
|
+
if (isNil$3(text)) return defaultResult;
|
|
1064
|
+
if (isArray$3(text)) {
|
|
1065
|
+
const textArr = text.filter(isValid$3).map(s => s.toString());
|
|
1176
1066
|
return 0 === textArr.length ? defaultResult : 1 === textArr.length ? processor(textArr[0]) : {
|
|
1177
1067
|
width: textArr.reduce((maxWidth, cur) => Math.max(maxWidth, processor(cur).width), 0),
|
|
1178
1068
|
height: textArr.length * ((null !== (_a = lineHeight) && void 0 !== _a ? _a : fontSize) + 1) + 1
|
|
@@ -1181,7 +1071,7 @@
|
|
|
1181
1071
|
return processor(text.toString());
|
|
1182
1072
|
}
|
|
1183
1073
|
_measureNumberChar() {
|
|
1184
|
-
if (isNil$
|
|
1074
|
+
if (isNil$3(this._numberCharSize)) {
|
|
1185
1075
|
const numberBounds = this._standardMethod(TextMeasure.NUMBERS_CHAR_SET);
|
|
1186
1076
|
this._numberCharSize = {
|
|
1187
1077
|
width: numberBounds.width / TextMeasure.NUMBERS_CHAR_SET.length,
|
|
@@ -1193,10 +1083,10 @@
|
|
|
1193
1083
|
return this._numberCharSize;
|
|
1194
1084
|
}
|
|
1195
1085
|
_measureFullSizeChar() {
|
|
1196
|
-
return isNil$
|
|
1086
|
+
return isNil$3(this._fullCharSize) && (this._fullCharSize = this._standardMethod(TextMeasure.FULL_SIZE_CHAR)), this._fullCharSize;
|
|
1197
1087
|
}
|
|
1198
1088
|
_measureLetterChar() {
|
|
1199
|
-
if (isNil$
|
|
1089
|
+
if (isNil$3(this._letterCharSize)) {
|
|
1200
1090
|
const alphabetBounds = this._standardMethod(TextMeasure.ALPHABET_CHAR_SET);
|
|
1201
1091
|
this._letterCharSize = {
|
|
1202
1092
|
width: alphabetBounds.width / TextMeasure.ALPHABET_CHAR_SET.length,
|
|
@@ -1208,15 +1098,15 @@
|
|
|
1208
1098
|
return this._letterCharSize;
|
|
1209
1099
|
}
|
|
1210
1100
|
_measureSpecialChar(char) {
|
|
1211
|
-
return isValid$
|
|
1101
|
+
return isValid$3(this._specialCharSizeMap[char]) ? this._specialCharSizeMap[char] : this.specialCharSet.includes(char) ? (this._specialCharSizeMap[char] = this._standardMethod(char), this._specialCharSizeMap[char]) : null;
|
|
1212
1102
|
}
|
|
1213
1103
|
release() {
|
|
1214
|
-
isValid$
|
|
1104
|
+
isValid$3(this._canvas) && (this._canvas = null), isValid$3(this._context) && (this._contextSaved && (this._context.restore(), this._contextSaved = !1), this._context = null);
|
|
1215
1105
|
}
|
|
1216
1106
|
}
|
|
1217
1107
|
TextMeasure.ALPHABET_CHAR_SET = "abcdefghijklmnopqrstuvwxyz", TextMeasure.NUMBERS_CHAR_SET = "0123456789", TextMeasure.FULL_SIZE_CHAR = "字";
|
|
1218
1108
|
|
|
1219
|
-
function transformBoundsWithMatrix(out, bounds, matrix) {
|
|
1109
|
+
function transformBoundsWithMatrix$1(out, bounds, matrix) {
|
|
1220
1110
|
const {
|
|
1221
1111
|
x1: x1,
|
|
1222
1112
|
y1: y1,
|
|
@@ -1225,7 +1115,7 @@
|
|
|
1225
1115
|
} = bounds;
|
|
1226
1116
|
return matrix.onlyTranslate() ? (out !== bounds && out.setValue(bounds.x1, bounds.y1, bounds.x2, bounds.y2), out.translate(matrix.e, matrix.f), bounds) : (out.clear(), out.add(matrix.a * x1 + matrix.c * y1 + matrix.e, matrix.b * x1 + matrix.d * y1 + matrix.f), out.add(matrix.a * x2 + matrix.c * y1 + matrix.e, matrix.b * x2 + matrix.d * y1 + matrix.f), out.add(matrix.a * x2 + matrix.c * y2 + matrix.e, matrix.b * x2 + matrix.d * y2 + matrix.f), out.add(matrix.a * x1 + matrix.c * y2 + matrix.e, matrix.b * x1 + matrix.d * y2 + matrix.f), bounds);
|
|
1227
1117
|
}
|
|
1228
|
-
class Bounds {
|
|
1118
|
+
let Bounds$1 = class Bounds {
|
|
1229
1119
|
constructor(bounds) {
|
|
1230
1120
|
bounds ? this.setValue(bounds.x1, bounds.y1, bounds.x2, bounds.y2) : this.clear();
|
|
1231
1121
|
}
|
|
@@ -1251,7 +1141,7 @@
|
|
|
1251
1141
|
return x < this.x1 && (this.x1 = x), y < this.y1 && (this.y1 = y), x > this.x2 && (this.x2 = x), y > this.y2 && (this.y2 = y), this;
|
|
1252
1142
|
}
|
|
1253
1143
|
expand(d = 0) {
|
|
1254
|
-
return isArray$
|
|
1144
|
+
return isArray$3(d) ? (this.y1 -= d[0], this.x2 += d[1], this.y2 += d[2], this.x1 -= d[3]) : (this.x1 -= d, this.y1 -= d, this.x2 += d, this.y2 += d), this;
|
|
1255
1145
|
}
|
|
1256
1146
|
round() {
|
|
1257
1147
|
return this.x1 = Math.floor(this.x1), this.y1 = Math.floor(this.y1), this.x2 = Math.ceil(this.x2), this.y2 = Math.ceil(this.y2), this;
|
|
@@ -1301,7 +1191,7 @@
|
|
|
1301
1191
|
return this.y1 *= s, this.y2 *= s, this;
|
|
1302
1192
|
}
|
|
1303
1193
|
transformWithMatrix(matrix) {
|
|
1304
|
-
return transformBoundsWithMatrix(this, this, matrix), this;
|
|
1194
|
+
return transformBoundsWithMatrix$1(this, this, matrix), this;
|
|
1305
1195
|
}
|
|
1306
1196
|
copy(b) {
|
|
1307
1197
|
return this.x1 = b.x1, this.y1 = b.y1, this.x2 = b.x2, this.y2 = b.y2, this;
|
|
@@ -1328,55 +1218,20 @@
|
|
|
1328
1218
|
} = this;
|
|
1329
1219
|
return [sx * x1 + (1 - sx) * x, sy * y1 + (1 - sy) * y, sx * x2 + (1 - sx) * x, sy * y2 + (1 - sy) * y];
|
|
1330
1220
|
}
|
|
1331
|
-
}
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
constructor(
|
|
1335
|
-
|
|
1336
|
-
super(bounds), bounds && (this.angle = null !== (_a = bounds.angle) && void 0 !== _a ? _a : angle);
|
|
1221
|
+
};
|
|
1222
|
+
|
|
1223
|
+
let Matrix$1 = class Matrix {
|
|
1224
|
+
constructor(a = 1, b = 0, c = 0, d = 1, e = 0, f = 0) {
|
|
1225
|
+
this.a = a, this.b = b, this.c = c, this.d = d, this.e = e, this.f = f;
|
|
1337
1226
|
}
|
|
1338
|
-
|
|
1339
|
-
return
|
|
1227
|
+
equalToMatrix(m2) {
|
|
1228
|
+
return !(this.e !== m2.e || this.f !== m2.f || this.a !== m2.a || this.d !== m2.d || this.b !== m2.b || this.c !== m2.c);
|
|
1340
1229
|
}
|
|
1341
|
-
|
|
1342
|
-
return
|
|
1230
|
+
equalTo(a, b, c, d, e, f) {
|
|
1231
|
+
return !(this.e !== e || this.f !== f || this.a !== a || this.d !== d || this.b !== b || this.c !== c);
|
|
1343
1232
|
}
|
|
1344
|
-
|
|
1345
|
-
return
|
|
1346
|
-
}
|
|
1347
|
-
getRotatedCorners() {
|
|
1348
|
-
const originPoint = {
|
|
1349
|
-
x: (this.x1 + this.x2) / 2,
|
|
1350
|
-
y: (this.y1 + this.y2) / 2
|
|
1351
|
-
};
|
|
1352
|
-
return [rotatePoint({
|
|
1353
|
-
x: this.x1,
|
|
1354
|
-
y: this.y1
|
|
1355
|
-
}, this.angle, originPoint), rotatePoint({
|
|
1356
|
-
x: this.x2,
|
|
1357
|
-
y: this.y1
|
|
1358
|
-
}, this.angle, originPoint), rotatePoint({
|
|
1359
|
-
x: this.x1,
|
|
1360
|
-
y: this.y2
|
|
1361
|
-
}, this.angle, originPoint), rotatePoint({
|
|
1362
|
-
x: this.x2,
|
|
1363
|
-
y: this.y2
|
|
1364
|
-
}, this.angle, originPoint)];
|
|
1365
|
-
}
|
|
1366
|
-
}
|
|
1367
|
-
|
|
1368
|
-
class Matrix {
|
|
1369
|
-
constructor(a = 1, b = 0, c = 0, d = 1, e = 0, f = 0) {
|
|
1370
|
-
this.a = a, this.b = b, this.c = c, this.d = d, this.e = e, this.f = f;
|
|
1371
|
-
}
|
|
1372
|
-
equalToMatrix(m2) {
|
|
1373
|
-
return !(this.e !== m2.e || this.f !== m2.f || this.a !== m2.a || this.d !== m2.d || this.b !== m2.b || this.c !== m2.c);
|
|
1374
|
-
}
|
|
1375
|
-
equalTo(a, b, c, d, e, f) {
|
|
1376
|
-
return !(this.e !== e || this.f !== f || this.a !== a || this.d !== d || this.b !== b || this.c !== c);
|
|
1377
|
-
}
|
|
1378
|
-
setValue(a, b, c, d, e, f) {
|
|
1379
|
-
return this.a = a, this.b = b, this.c = c, this.d = d, this.e = e, this.f = f, this;
|
|
1233
|
+
setValue(a, b, c, d, e, f) {
|
|
1234
|
+
return this.a = a, this.b = b, this.c = c, this.d = d, this.e = e, this.f = f, this;
|
|
1380
1235
|
}
|
|
1381
1236
|
reset() {
|
|
1382
1237
|
return this.a = 1, this.b = 0, this.c = 0, this.d = 1, this.e = 0, this.f = 0, this;
|
|
@@ -1504,30 +1359,11 @@
|
|
|
1504
1359
|
const s = Math.sqrt(c * c + d * d);
|
|
1505
1360
|
result.rotateDeg = Math.PI / 2 - (d > 0 ? Math.acos(-c / s) : -Math.acos(c / s)), result.scaleX = delta / s, result.scaleY = s, result.skewX = 0, result.skewY = (a * c + b * d) / delta;
|
|
1506
1361
|
}
|
|
1507
|
-
return result.rotateDeg = radianToDegree(result.rotateDeg), result;
|
|
1362
|
+
return result.rotateDeg = radianToDegree$1(result.rotateDeg), result;
|
|
1508
1363
|
}
|
|
1509
|
-
}
|
|
1510
|
-
function normalTransform(out, origin, x, y, scaleX, scaleY, angle, rotateCenter) {
|
|
1511
|
-
const oa = origin.a,
|
|
1512
|
-
ob = origin.b,
|
|
1513
|
-
oc = origin.c,
|
|
1514
|
-
od = origin.d,
|
|
1515
|
-
oe = origin.e,
|
|
1516
|
-
of = origin.f,
|
|
1517
|
-
cosTheta = cos(angle),
|
|
1518
|
-
sinTheta = sin(angle);
|
|
1519
|
-
let rotateCenterX, rotateCenterY;
|
|
1520
|
-
rotateCenter ? (rotateCenterX = rotateCenter[0], rotateCenterY = rotateCenter[1]) : (rotateCenterX = x, rotateCenterY = y);
|
|
1521
|
-
const offsetX = rotateCenterX - x,
|
|
1522
|
-
offsetY = rotateCenterY - y,
|
|
1523
|
-
a1 = oa * cosTheta + oc * sinTheta,
|
|
1524
|
-
b1 = ob * cosTheta + od * sinTheta,
|
|
1525
|
-
c1 = oc * cosTheta - oa * sinTheta,
|
|
1526
|
-
d1 = od * cosTheta - ob * sinTheta;
|
|
1527
|
-
out.a = scaleX * a1, out.b = scaleX * b1, out.c = scaleY * c1, out.d = scaleY * d1, out.e = oe + oa * rotateCenterX + oc * rotateCenterY - a1 * offsetX - c1 * offsetY, out.f = of + ob * rotateCenterX + od * rotateCenterY - b1 * offsetX - d1 * offsetY;
|
|
1528
|
-
}
|
|
1364
|
+
};
|
|
1529
1365
|
|
|
1530
|
-
function hslToRgb(h, s, l) {
|
|
1366
|
+
function hslToRgb$1(h, s, l) {
|
|
1531
1367
|
s /= 100, l /= 100;
|
|
1532
1368
|
const c = (1 - Math.abs(2 * l - 1)) * s,
|
|
1533
1369
|
x = c * (1 - Math.abs(h / 60 % 2 - 1)),
|
|
@@ -1542,7 +1378,7 @@
|
|
|
1542
1378
|
};
|
|
1543
1379
|
}
|
|
1544
1380
|
|
|
1545
|
-
function rgbToHsl(r, g, b) {
|
|
1381
|
+
function rgbToHsl$1(r, g, b) {
|
|
1546
1382
|
r /= 255, g /= 255, b /= 255;
|
|
1547
1383
|
const cMin = Math.min(r, g, b),
|
|
1548
1384
|
cMax = Math.max(r, g, b),
|
|
@@ -1557,11 +1393,11 @@
|
|
|
1557
1393
|
};
|
|
1558
1394
|
}
|
|
1559
1395
|
|
|
1560
|
-
const REG_HEX = /^#([0-9a-f]{3,8})$/,
|
|
1561
|
-
DEFAULT_COLORS_OPACITY = {
|
|
1396
|
+
const REG_HEX$1 = /^#([0-9a-f]{3,8})$/,
|
|
1397
|
+
DEFAULT_COLORS_OPACITY$1 = {
|
|
1562
1398
|
transparent: 4294967040
|
|
1563
1399
|
};
|
|
1564
|
-
const DEFAULT_COLORS = {
|
|
1400
|
+
const DEFAULT_COLORS$1 = {
|
|
1565
1401
|
aliceblue: 15792383,
|
|
1566
1402
|
antiquewhite: 16444375,
|
|
1567
1403
|
aqua: 65535,
|
|
@@ -1711,30 +1547,30 @@
|
|
|
1711
1547
|
yellow: 16776960,
|
|
1712
1548
|
yellowgreen: 10145074
|
|
1713
1549
|
};
|
|
1714
|
-
function hex(value) {
|
|
1550
|
+
function hex$1(value) {
|
|
1715
1551
|
return ((value = Math.max(0, Math.min(255, Math.round(value) || 0))) < 16 ? "0" : "") + value.toString(16);
|
|
1716
1552
|
}
|
|
1717
|
-
function rgb(value) {
|
|
1718
|
-
return isNumber$
|
|
1553
|
+
function rgb$1(value) {
|
|
1554
|
+
return isNumber$3(value) ? new RGB$1(value >> 16, value >> 8 & 255, 255 & value, 1) : isArray$3(value) ? new RGB$1(value[0], value[1], value[2]) : new RGB$1(255, 255, 255);
|
|
1719
1555
|
}
|
|
1720
|
-
function rgba(value) {
|
|
1721
|
-
return isNumber$
|
|
1556
|
+
function rgba$1(value) {
|
|
1557
|
+
return isNumber$3(value) ? new RGB$1(value >>> 24, value >>> 16 & 255, value >>> 8 & 255, 255 & value) : isArray$3(value) ? new RGB$1(value[0], value[1], value[2], value[3]) : new RGB$1(255, 255, 255, 1);
|
|
1722
1558
|
}
|
|
1723
|
-
function SRGBToLinear(c) {
|
|
1559
|
+
function SRGBToLinear$1(c) {
|
|
1724
1560
|
return c < .04045 ? .0773993808 * c : Math.pow(.9478672986 * c + .0521327014, 2.4);
|
|
1725
1561
|
}
|
|
1726
|
-
function LinearToSRGB(c) {
|
|
1562
|
+
function LinearToSRGB$1(c) {
|
|
1727
1563
|
return c < .0031308 ? 12.92 * c : 1.055 * Math.pow(c, .41666) - .055;
|
|
1728
1564
|
}
|
|
1729
|
-
const setHex = (formatValue, forceHex) => {
|
|
1730
|
-
const isHex = REG_HEX.exec(formatValue);
|
|
1565
|
+
const setHex$1 = (formatValue, forceHex) => {
|
|
1566
|
+
const isHex = REG_HEX$1.exec(formatValue);
|
|
1731
1567
|
if (forceHex || isHex) {
|
|
1732
1568
|
const hex = parseInt(isHex[1], 16),
|
|
1733
1569
|
hexLength = isHex[1].length;
|
|
1734
|
-
return 3 === hexLength ? new RGB((hex >> 8 & 15) + ((hex >> 8 & 15) << 4), (hex >> 4 & 15) + ((hex >> 4 & 15) << 4), (15 & hex) + ((15 & hex) << 4), 1) : 6 === hexLength ? rgb(hex) : 8 === hexLength ? new RGB(hex >> 24 & 255, hex >> 16 & 255, hex >> 8 & 255, (255 & hex) / 255) : null;
|
|
1570
|
+
return 3 === hexLength ? new RGB$1((hex >> 8 & 15) + ((hex >> 8 & 15) << 4), (hex >> 4 & 15) + ((hex >> 4 & 15) << 4), (15 & hex) + ((15 & hex) << 4), 1) : 6 === hexLength ? rgb$1(hex) : 8 === hexLength ? new RGB$1(hex >> 24 & 255, hex >> 16 & 255, hex >> 8 & 255, (255 & hex) / 255) : null;
|
|
1735
1571
|
}
|
|
1736
1572
|
};
|
|
1737
|
-
class Color {
|
|
1573
|
+
let Color$1 = class Color {
|
|
1738
1574
|
static Brighter(source, b = 1) {
|
|
1739
1575
|
return 1 === b ? source : new Color(source).brighter(b).toRGBA();
|
|
1740
1576
|
}
|
|
@@ -1760,24 +1596,24 @@
|
|
|
1760
1596
|
}
|
|
1761
1597
|
}
|
|
1762
1598
|
static parseColorString(value) {
|
|
1763
|
-
if (isValid$
|
|
1764
|
-
if (isValid$
|
|
1599
|
+
if (isValid$3(DEFAULT_COLORS_OPACITY$1[value])) return rgba$1(DEFAULT_COLORS_OPACITY$1[value]);
|
|
1600
|
+
if (isValid$3(DEFAULT_COLORS$1[value])) return rgb$1(DEFAULT_COLORS$1[value]);
|
|
1765
1601
|
const formatValue = `${value}`.trim().toLowerCase(),
|
|
1766
|
-
hexRes = setHex(formatValue);
|
|
1602
|
+
hexRes = setHex$1(formatValue);
|
|
1767
1603
|
if (void 0 !== hexRes) return hexRes;
|
|
1768
1604
|
if (/^(rgb|RGB|rgba|RGBA)/.test(formatValue)) {
|
|
1769
1605
|
const aColor = formatValue.replace(/(?:\(|\)|rgba|RGBA|rgb|RGB)*/g, "").split(",");
|
|
1770
|
-
return new RGB(parseInt(aColor[0], 10), parseInt(aColor[1], 10), parseInt(aColor[2], 10), parseFloat(aColor[3]));
|
|
1606
|
+
return new RGB$1(parseInt(aColor[0], 10), parseInt(aColor[1], 10), parseInt(aColor[2], 10), parseFloat(aColor[3]));
|
|
1771
1607
|
}
|
|
1772
1608
|
if (/^(hsl|HSL|hsla|HSLA)/.test(formatValue)) {
|
|
1773
1609
|
const aColor = formatValue.replace(/(?:\(|\)|hsla|HSLA|hsl|HSL)*/g, "").split(","),
|
|
1774
|
-
rgb = hslToRgb(parseInt(aColor[0], 10), parseInt(aColor[1], 10), parseInt(aColor[2], 10));
|
|
1775
|
-
return new RGB(rgb.r, rgb.g, rgb.b, parseFloat(aColor[3]));
|
|
1610
|
+
rgb = hslToRgb$1(parseInt(aColor[0], 10), parseInt(aColor[1], 10), parseInt(aColor[2], 10));
|
|
1611
|
+
return new RGB$1(rgb.r, rgb.g, rgb.b, parseFloat(aColor[3]));
|
|
1776
1612
|
}
|
|
1777
1613
|
}
|
|
1778
1614
|
constructor(value) {
|
|
1779
1615
|
const color = Color.parseColorString(value);
|
|
1780
|
-
color ? this.color = color : (console.warn(`Warn: 传入${value}无法解析为Color`), this.color = new RGB(255, 255, 255));
|
|
1616
|
+
color ? this.color = color : (console.warn(`Warn: 传入${value}无法解析为Color`), this.color = new RGB$1(255, 255, 255));
|
|
1781
1617
|
}
|
|
1782
1618
|
toRGBA() {
|
|
1783
1619
|
return this.color.formatRgb();
|
|
@@ -1826,20 +1662,20 @@
|
|
|
1826
1662
|
}
|
|
1827
1663
|
setHsl(h, s, l) {
|
|
1828
1664
|
const opacity = this.color.opacity,
|
|
1829
|
-
hsl = rgbToHsl(this.color.r, this.color.g, this.color.b),
|
|
1830
|
-
rgb = hslToRgb(isNil$
|
|
1831
|
-
return this.color = new RGB(rgb.r, rgb.g, rgb.b, opacity), this;
|
|
1665
|
+
hsl = rgbToHsl$1(this.color.r, this.color.g, this.color.b),
|
|
1666
|
+
rgb = hslToRgb$1(isNil$3(h) ? hsl.h : clamp$3(h, 0, 360), isNil$3(s) ? hsl.s : s >= 0 && s <= 1 ? 100 * s : s, isNil$3(l) ? hsl.l : l <= 1 && l >= 0 ? 100 * l : l);
|
|
1667
|
+
return this.color = new RGB$1(rgb.r, rgb.g, rgb.b, opacity), this;
|
|
1832
1668
|
}
|
|
1833
1669
|
setRGB(r, g, b) {
|
|
1834
|
-
return !isNil$
|
|
1670
|
+
return !isNil$3(r) && (this.color.r = r), !isNil$3(g) && (this.color.g = g), !isNil$3(b) && (this.color.b = b), this;
|
|
1835
1671
|
}
|
|
1836
1672
|
setHex(value) {
|
|
1837
1673
|
const formatValue = `${value}`.trim().toLowerCase(),
|
|
1838
|
-
res = setHex(formatValue, !0);
|
|
1674
|
+
res = setHex$1(formatValue, !0);
|
|
1839
1675
|
return null != res ? res : this;
|
|
1840
1676
|
}
|
|
1841
1677
|
setColorName(name) {
|
|
1842
|
-
const hex = DEFAULT_COLORS[name.toLowerCase()];
|
|
1678
|
+
const hex = DEFAULT_COLORS$1[name.toLowerCase()];
|
|
1843
1679
|
return void 0 !== hex ? this.setHex(hex) : console.warn("THREE.Color: Unknown color " + name), this;
|
|
1844
1680
|
}
|
|
1845
1681
|
setScalar(scalar) {
|
|
@@ -1882,10 +1718,10 @@
|
|
|
1882
1718
|
return this.copyLinearToGamma(this, gammaFactor), this;
|
|
1883
1719
|
}
|
|
1884
1720
|
copySRGBToLinear(color) {
|
|
1885
|
-
return this.color.r = SRGBToLinear(color.color.r), this.color.g = SRGBToLinear(color.color.g), this.color.b = SRGBToLinear(color.color.b), this;
|
|
1721
|
+
return this.color.r = SRGBToLinear$1(color.color.r), this.color.g = SRGBToLinear$1(color.color.g), this.color.b = SRGBToLinear$1(color.color.b), this;
|
|
1886
1722
|
}
|
|
1887
1723
|
copyLinearToSRGB(color) {
|
|
1888
|
-
return this.color.r = LinearToSRGB(color.color.r), this.color.g = LinearToSRGB(color.color.g), this.color.b = LinearToSRGB(color.color.b), this;
|
|
1724
|
+
return this.color.r = LinearToSRGB$1(color.color.r), this.color.g = LinearToSRGB$1(color.color.g), this.color.b = LinearToSRGB$1(color.color.b), this;
|
|
1889
1725
|
}
|
|
1890
1726
|
convertSRGBToLinear() {
|
|
1891
1727
|
return this.copySRGBToLinear(this), this;
|
|
@@ -1893,13 +1729,13 @@
|
|
|
1893
1729
|
convertLinearToSRGB() {
|
|
1894
1730
|
return this.copyLinearToSRGB(this), this;
|
|
1895
1731
|
}
|
|
1896
|
-
}
|
|
1897
|
-
class RGB {
|
|
1732
|
+
};
|
|
1733
|
+
let RGB$1 = class RGB {
|
|
1898
1734
|
constructor(r, g, b, opacity) {
|
|
1899
|
-
this.r = isNaN(+r) ? 255 : Math.max(0, Math.min(255, +r)), this.g = isNaN(+g) ? 255 : Math.max(0, Math.min(255, +g)), this.b = isNaN(+b) ? 255 : Math.max(0, Math.min(255, +b)), isValid$
|
|
1735
|
+
this.r = isNaN(+r) ? 255 : Math.max(0, Math.min(255, +r)), this.g = isNaN(+g) ? 255 : Math.max(0, Math.min(255, +g)), this.b = isNaN(+b) ? 255 : Math.max(0, Math.min(255, +b)), isValid$3(opacity) ? this.opacity = isNaN(+opacity) ? 1 : Math.max(0, Math.min(1, +opacity)) : this.opacity = 1;
|
|
1900
1736
|
}
|
|
1901
1737
|
formatHex() {
|
|
1902
|
-
return `#${hex(this.r) + hex(this.g) + hex(this.b) + (1 === this.opacity ? "" : hex(255 * this.opacity))}`;
|
|
1738
|
+
return `#${hex$1(this.r) + hex$1(this.g) + hex$1(this.b) + (1 === this.opacity ? "" : hex$1(255 * this.opacity))}`;
|
|
1903
1739
|
}
|
|
1904
1740
|
formatRgb() {
|
|
1905
1741
|
const opacity = this.opacity;
|
|
@@ -1911,13 +1747,13 @@
|
|
|
1911
1747
|
h: h,
|
|
1912
1748
|
s: s,
|
|
1913
1749
|
l: l
|
|
1914
|
-
} = rgbToHsl(this.r, this.g, this.b);
|
|
1750
|
+
} = rgbToHsl$1(this.r, this.g, this.b);
|
|
1915
1751
|
return `${1 === opacity ? "hsl(" : "hsla("}${h},${s}%,${l}%${1 === opacity ? ")" : `,${opacity})`}`;
|
|
1916
1752
|
}
|
|
1917
1753
|
toString() {
|
|
1918
1754
|
return this.formatHex();
|
|
1919
1755
|
}
|
|
1920
|
-
}
|
|
1756
|
+
};
|
|
1921
1757
|
|
|
1922
1758
|
function hexToRgb(str) {
|
|
1923
1759
|
let r = "",
|
|
@@ -1945,52 +1781,22 @@
|
|
|
1945
1781
|
const r = Math.round(redA * (1 - t) + redB * t),
|
|
1946
1782
|
g = Math.round(greenA * (1 - t) + greenB * t),
|
|
1947
1783
|
b = Math.round(blueA * (1 - t) + blueB * t);
|
|
1948
|
-
return new RGB(r, g, b, opacityA * (1 - t) + opacityB * t);
|
|
1784
|
+
return new RGB$1(r, g, b, opacityA * (1 - t) + opacityB * t);
|
|
1949
1785
|
};
|
|
1950
1786
|
}
|
|
1951
1787
|
|
|
1952
1788
|
var ColorUtil = /*#__PURE__*/Object.freeze({
|
|
1953
1789
|
__proto__: null,
|
|
1954
|
-
Color: Color,
|
|
1955
|
-
DEFAULT_COLORS: DEFAULT_COLORS,
|
|
1956
|
-
RGB: RGB,
|
|
1790
|
+
Color: Color$1,
|
|
1791
|
+
DEFAULT_COLORS: DEFAULT_COLORS$1,
|
|
1792
|
+
RGB: RGB$1,
|
|
1957
1793
|
hexToRgb: hexToRgb,
|
|
1958
|
-
hslToRgb: hslToRgb,
|
|
1794
|
+
hslToRgb: hslToRgb$1,
|
|
1959
1795
|
interpolateRgb: interpolateRgb$1,
|
|
1960
1796
|
rgbToHex: rgbToHex,
|
|
1961
|
-
rgbToHsl: rgbToHsl
|
|
1797
|
+
rgbToHsl: rgbToHsl$1
|
|
1962
1798
|
});
|
|
1963
1799
|
|
|
1964
|
-
function normalizePadding(padding) {
|
|
1965
|
-
if (isValidNumber$1(padding)) return [padding, padding, padding, padding];
|
|
1966
|
-
if (isArray$1(padding)) {
|
|
1967
|
-
const length = padding.length;
|
|
1968
|
-
if (1 === length) {
|
|
1969
|
-
const paddingValue = padding[0];
|
|
1970
|
-
return [paddingValue, paddingValue, paddingValue, paddingValue];
|
|
1971
|
-
}
|
|
1972
|
-
if (2 === length) {
|
|
1973
|
-
const [vertical, horizontal] = padding;
|
|
1974
|
-
return [vertical, horizontal, vertical, horizontal];
|
|
1975
|
-
}
|
|
1976
|
-
if (3 === length) {
|
|
1977
|
-
const [top, horizontal, bottom] = padding;
|
|
1978
|
-
return [top, horizontal, bottom, horizontal];
|
|
1979
|
-
}
|
|
1980
|
-
if (4 === length) return padding;
|
|
1981
|
-
}
|
|
1982
|
-
if (isObject$1(padding)) {
|
|
1983
|
-
const {
|
|
1984
|
-
top = 0,
|
|
1985
|
-
right = 0,
|
|
1986
|
-
bottom = 0,
|
|
1987
|
-
left = 0
|
|
1988
|
-
} = padding;
|
|
1989
|
-
return [top, right, bottom, left];
|
|
1990
|
-
}
|
|
1991
|
-
return [0, 0, 0, 0];
|
|
1992
|
-
}
|
|
1993
|
-
|
|
1994
1800
|
function toCamelCase(str) {
|
|
1995
1801
|
return str.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
|
|
1996
1802
|
}
|
|
@@ -2076,15 +1882,15 @@
|
|
|
2076
1882
|
return result;
|
|
2077
1883
|
}
|
|
2078
1884
|
function destination(point, distance, bearing, options = {}) {
|
|
2079
|
-
const longitude1 = degreeToRadian(point[0]),
|
|
2080
|
-
latitude1 = degreeToRadian(point[1]),
|
|
2081
|
-
bearingRad = degreeToRadian(bearing),
|
|
1885
|
+
const longitude1 = degreeToRadian$1(point[0]),
|
|
1886
|
+
latitude1 = degreeToRadian$1(point[1]),
|
|
1887
|
+
bearingRad = degreeToRadian$1(bearing),
|
|
2082
1888
|
radians = lengthToRadians(distance, options.units),
|
|
2083
1889
|
latitude2 = Math.asin(Math.sin(latitude1) * Math.cos(radians) + Math.cos(latitude1) * Math.sin(radians) * Math.cos(bearingRad)),
|
|
2084
1890
|
longitude2 = longitude1 + Math.atan2(Math.sin(bearingRad) * Math.sin(radians) * Math.cos(latitude1), Math.cos(radians) - Math.sin(latitude1) * Math.sin(latitude2));
|
|
2085
1891
|
return {
|
|
2086
|
-
x: radianToDegree(longitude2),
|
|
2087
|
-
y: radianToDegree(latitude2)
|
|
1892
|
+
x: radianToDegree$1(longitude2),
|
|
1893
|
+
y: radianToDegree$1(latitude2)
|
|
2088
1894
|
};
|
|
2089
1895
|
}
|
|
2090
1896
|
|
|
@@ -2155,7 +1961,7 @@
|
|
|
2155
1961
|
data.sort((d1, d2) => Number(d2[xField]) - Number(d1[xField]));
|
|
2156
1962
|
data.forEach(d => {
|
|
2157
1963
|
const time = d[timeField];
|
|
2158
|
-
if (isValid$
|
|
1964
|
+
if (isValid$3(time)) {
|
|
2159
1965
|
timeNodes.add(time);
|
|
2160
1966
|
}
|
|
2161
1967
|
if (!timeData.has(time)) {
|
|
@@ -2497,7 +2303,7 @@
|
|
|
2497
2303
|
const applyVisible = (spec, keyList) => {
|
|
2498
2304
|
keyList.forEach(key => {
|
|
2499
2305
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
2500
|
-
if (isArray$
|
|
2306
|
+
if (isArray$3(spec[key])) {
|
|
2501
2307
|
(_a = spec[key]) === null || _a === void 0 ? void 0 : _a.forEach((s, i) => {
|
|
2502
2308
|
var _a, _b, _c;
|
|
2503
2309
|
spec[key][i] = Object.assign(Object.assign({}, s), { style: Object.assign(Object.assign({}, s === null || s === void 0 ? void 0 : s.style), { visible: (_c = (_b = (_a = s === null || s === void 0 ? void 0 : s.style) === null || _a === void 0 ? void 0 : _a.visible) !== null && _b !== void 0 ? _b : s === null || s === void 0 ? void 0 : s.visible) !== null && _c !== void 0 ? _c : true }) });
|
|
@@ -3117,7 +2923,7 @@
|
|
|
3117
2923
|
sortFields = [];
|
|
3118
2924
|
for (const key in fields) if (Object.prototype.hasOwnProperty.call(fields, key)) {
|
|
3119
2925
|
const fieldInfo = fields[key];
|
|
3120
|
-
if (fieldInfo.sort && (isValidNumber$
|
|
2926
|
+
if (fieldInfo.sort && (isValidNumber$3(fieldInfo.sortIndex) || (fieldInfo.sortIndex = 0), isValid$3(fieldInfo.sortReverse) || (fieldInfo.sortReverse = "desc" === fieldInfo.sort)), !fieldInfo.type) {
|
|
3121
2927
|
let dataCheck = dataTemp;
|
|
3122
2928
|
key in dataTemp || (dataCheck = null !== (_a = data.find(d => key in d)) && void 0 !== _a ? _a : dataTemp), fieldInfo.type = "number" == typeof dataCheck[key] ? "linear" : "ordinal";
|
|
3123
2929
|
}
|
|
@@ -3196,7 +3002,7 @@
|
|
|
3196
3002
|
root = parseNode(svg, null);
|
|
3197
3003
|
let width = parseFloat(svg.getAttribute("width") || opt.width),
|
|
3198
3004
|
height = parseFloat(svg.getAttribute("height") || opt.height);
|
|
3199
|
-
!isValidNumber$
|
|
3005
|
+
!isValidNumber$3(width) && (width = null), !isValidNumber$3(height) && (height = null);
|
|
3200
3006
|
const viewBox = svg.getAttribute("viewBox");
|
|
3201
3007
|
let viewBoxRect;
|
|
3202
3008
|
if (viewBox) {
|
|
@@ -3218,7 +3024,7 @@
|
|
|
3218
3024
|
scale = Math.min(scaleX, scaleY),
|
|
3219
3025
|
transLateX = -(viewBoxRect.x + viewBoxRect.width / 2) * scale + (boundingRect.x + boundingRect.width / 2),
|
|
3220
3026
|
transLateY = -(viewBoxRect.y + viewBoxRect.height / 2) * scale + (boundingRect.y + boundingRect.height / 2),
|
|
3221
|
-
viewBoxTransform = new Matrix().translate(transLateX, transLateY).scale(scale, scale);
|
|
3027
|
+
viewBoxTransform = new Matrix$1().translate(transLateX, transLateY).scale(scale, scale);
|
|
3222
3028
|
root.transform = viewBoxTransform;
|
|
3223
3029
|
}
|
|
3224
3030
|
}
|
|
@@ -3238,9 +3044,9 @@
|
|
|
3238
3044
|
} = parsedElement,
|
|
3239
3045
|
parse = parent => parent ? validInheritAttributes.reduce((acc, attrName) => {
|
|
3240
3046
|
const camelAttrName = toCamelCase(attrName);
|
|
3241
|
-
return isValid$
|
|
3047
|
+
return isValid$3(parent[camelAttrName]) && (acc[camelAttrName] = parent[camelAttrName]), acc;
|
|
3242
3048
|
}, {}) : {};
|
|
3243
|
-
return parent ? (parent._inheritStyle || (parent._inheritStyle = parse(parent.attributes)), inheritedAttrs = merge({}, parent._inheritStyle, parse(attributes))) : inheritedAttrs = parse(attributes), inheritedAttrs;
|
|
3049
|
+
return parent ? (parent._inheritStyle || (parent._inheritStyle = parse(parent.attributes)), inheritedAttrs = merge$1({}, parent._inheritStyle, parse(attributes))) : inheritedAttrs = parse(attributes), inheritedAttrs;
|
|
3244
3050
|
}
|
|
3245
3051
|
function parseAttributes(el) {
|
|
3246
3052
|
var _a, _b, _c;
|
|
@@ -3249,12 +3055,12 @@
|
|
|
3249
3055
|
style = null !== (_b = el.style) && void 0 !== _b ? _b : {};
|
|
3250
3056
|
for (let i = 0; i < validAttributes.length; i++) {
|
|
3251
3057
|
const attrName = validAttributes[i],
|
|
3252
|
-
attrValue = isValid$
|
|
3253
|
-
isValid$
|
|
3058
|
+
attrValue = isValid$3(style[attrName]) && "" !== style[attrName] ? style[attrName] : null === (_c = attributes[attrName]) || void 0 === _c ? void 0 : _c.value;
|
|
3059
|
+
isValid$3(attrValue) && (attrs[toCamelCase(attrName)] = isNaN(+attrValue) ? attrValue : parseFloat(attrValue));
|
|
3254
3060
|
}
|
|
3255
3061
|
return "none" === style.display && (attrs.visible = !1), ["fontSize", "strokeWidth", "width", "height"].forEach(attr => {
|
|
3256
3062
|
const attrValue = attrs[attr];
|
|
3257
|
-
isString$
|
|
3063
|
+
isString$3(attrs[attr]) && (attrs[attr] = parseFloat(attrValue));
|
|
3258
3064
|
}), attrs;
|
|
3259
3065
|
}
|
|
3260
3066
|
function parseNode(node, parent) {
|
|
@@ -3271,7 +3077,7 @@
|
|
|
3271
3077
|
id: null !== (_d = node.getAttribute("id")) && void 0 !== _d ? _d : `${tagName}-${idx$1++}`,
|
|
3272
3078
|
transform: parseTransform(node)
|
|
3273
3079
|
};
|
|
3274
|
-
return parsed._inheritStyle = parseInheritAttributes(parsed), parent && !isValid$
|
|
3080
|
+
return parsed._inheritStyle = parseInheritAttributes(parsed), parent && !isValid$3(parsed.name) && (parsed._nameFromParent = null !== (_e = parent.name) && void 0 !== _e ? _e : parent._nameFromParent), parsed;
|
|
3275
3081
|
}
|
|
3276
3082
|
function parseText(node, parent) {
|
|
3277
3083
|
var _a, _b, _c, _d, _e, _f;
|
|
@@ -3300,7 +3106,7 @@
|
|
|
3300
3106
|
name: null == parent ? void 0 : parent.name,
|
|
3301
3107
|
id: null !== (_e = null === (_d = node.getAttribute) || void 0 === _d ? void 0 : _d.call(node, "id")) && void 0 !== _e ? _e : `${tagName}-${idx$1++}`,
|
|
3302
3108
|
value: value
|
|
3303
|
-
}, parsed._inheritStyle = parseInheritAttributes(parsed), isValid$
|
|
3109
|
+
}, parsed._inheritStyle = parseInheritAttributes(parsed), isValid$3(parsed.name) || (parsed._nameFromParent = null !== (_f = parent.name) && void 0 !== _f ? _f : parent._nameFromParent), nodeAsGroup ? parent._textGroupStyle ? parsed._textGroupStyle = merge$1({}, parent._textGroupStyle, parseAttributes(node)) : parsed._textGroupStyle = parseAttributes(node) : parsed.attributes = parsed._inheritStyle, parsed;
|
|
3304
3110
|
}
|
|
3305
3111
|
function parseTransform(node) {
|
|
3306
3112
|
var _a, _b;
|
|
@@ -3316,7 +3122,7 @@
|
|
|
3316
3122
|
e: e,
|
|
3317
3123
|
f: f
|
|
3318
3124
|
} = matrix;
|
|
3319
|
-
return new Matrix(a, b, c, d, e, f);
|
|
3125
|
+
return new Matrix$1(a, b, c, d, e, f);
|
|
3320
3126
|
}
|
|
3321
3127
|
function traverse(node, parsedParent, result = []) {
|
|
3322
3128
|
var _a;
|
|
@@ -3337,7 +3143,7 @@
|
|
|
3337
3143
|
constructor(options) {
|
|
3338
3144
|
var _a;
|
|
3339
3145
|
let name;
|
|
3340
|
-
this.options = options, this.isDataSet = !0, this.transformMap = {}, this.parserMap = {}, this.dataViewMap = {}, this.target = new EventEmitter(), name = (null == options ? void 0 : options.name) ? options.name : getUUID("dataset"), this.name = name, this._logger = null !== (_a = null == options ? void 0 : options.logger) && void 0 !== _a ? _a : Logger.getInstance();
|
|
3146
|
+
this.options = options, this.isDataSet = !0, this.transformMap = {}, this.parserMap = {}, this.dataViewMap = {}, this.target = new EventEmitter(), name = (null == options ? void 0 : options.name) ? options.name : getUUID("dataset"), this.name = name, this._logger = null !== (_a = null == options ? void 0 : options.logger) && void 0 !== _a ? _a : Logger$1.getInstance();
|
|
3341
3147
|
}
|
|
3342
3148
|
setLogger(logger) {
|
|
3343
3149
|
this._logger = logger;
|
|
@@ -3492,9 +3298,9 @@
|
|
|
3492
3298
|
return this._fields ? this._fields : "dataview" === (null === (_a = this.parseOption) || void 0 === _a ? void 0 : _a.type) && 1 === this.rawData.length && this.rawData[0].getFields ? this.rawData[0].getFields() : null;
|
|
3493
3299
|
}
|
|
3494
3300
|
setFields(f, foreMerge = !1) {
|
|
3495
|
-
this._fields = f && foreMerge ? merge({}, this._fields, f) : f;
|
|
3301
|
+
this._fields = f && foreMerge ? merge$1({}, this._fields, f) : f;
|
|
3496
3302
|
const fieldsOption = this.transformsArr.find(_op => "fields" === _op.type);
|
|
3497
|
-
!isNil$
|
|
3303
|
+
!isNil$3(this._fields) && isNil$3(fieldsOption) ? (this.dataSet.registerTransform("fields", fields), this.transform({
|
|
3498
3304
|
type: "fields",
|
|
3499
3305
|
options: {
|
|
3500
3306
|
fields: this._fields
|
|
@@ -3660,7 +3466,7 @@
|
|
|
3660
3466
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
3661
3467
|
const { text: textContent } = arrow;
|
|
3662
3468
|
let displayTextContent = textContent;
|
|
3663
|
-
if (isFunction$
|
|
3469
|
+
if (isFunction$3(formatMethod)) {
|
|
3664
3470
|
const { vchart } = ctx;
|
|
3665
3471
|
const { from, to } = arrow;
|
|
3666
3472
|
const { field } = arrow.context;
|
|
@@ -3779,7 +3585,7 @@
|
|
|
3779
3585
|
};
|
|
3780
3586
|
function parseArrow(arrows, categoryField) {
|
|
3781
3587
|
return arrows
|
|
3782
|
-
.filter(arrow => isValidNumber$
|
|
3588
|
+
.filter(arrow => isValidNumber$3(arrow.from * arrow.to))
|
|
3783
3589
|
.map((arrow, index) => {
|
|
3784
3590
|
const { from, to, position = 'right' } = arrow;
|
|
3785
3591
|
return Object.assign(Object.assign({}, arrow), { position, distance: arrow.distance || 40, from: Math.min(from, to), to: Math.max(from, to), span: Math.abs(from - to), isLayout: false, context: {
|
|
@@ -3796,7 +3602,7 @@
|
|
|
3796
3602
|
const nodeDegreeMap = new Map();
|
|
3797
3603
|
arrows.forEach(arrow => {
|
|
3798
3604
|
const fromNodeDegree = nodeDegreeMap.get(arrow.from);
|
|
3799
|
-
if (isValid$
|
|
3605
|
+
if (isValid$3(fromNodeDegree)) {
|
|
3800
3606
|
const firstNodeWidthSameFromTo = fromNodeDegree.fromArrows.find(node => isSameArrow(node, arrow));
|
|
3801
3607
|
if (!firstNodeWidthSameFromTo) {
|
|
3802
3608
|
fromNodeDegree.degree += 1;
|
|
@@ -3815,7 +3621,7 @@
|
|
|
3815
3621
|
});
|
|
3816
3622
|
}
|
|
3817
3623
|
const toNodeDegree = nodeDegreeMap.get(arrow.to);
|
|
3818
|
-
if (isValid$
|
|
3624
|
+
if (isValid$3(toNodeDegree)) {
|
|
3819
3625
|
const firstNodeWidthSameFromTo = toNodeDegree.toArrows.find(node => isSameArrow(node, arrow));
|
|
3820
3626
|
if (!firstNodeWidthSameFromTo) {
|
|
3821
3627
|
toNodeDegree.degree += 1;
|
|
@@ -5248,178 +5054,1325 @@
|
|
|
5248
5054
|
}
|
|
5249
5055
|
return arr;
|
|
5250
5056
|
}
|
|
5251
|
-
_resolveFromBinding(binding) {
|
|
5252
|
-
const result = this._getResolvedFromBinding(binding);
|
|
5253
|
-
return this._saveToScope(binding, result), result;
|
|
5057
|
+
_resolveFromBinding(binding) {
|
|
5058
|
+
const result = this._getResolvedFromBinding(binding);
|
|
5059
|
+
return this._saveToScope(binding, result), result;
|
|
5060
|
+
}
|
|
5061
|
+
_getResolvedFromBinding(binding) {
|
|
5062
|
+
let result;
|
|
5063
|
+
switch (binding.type) {
|
|
5064
|
+
case BindingTypeEnum.ConstantValue:
|
|
5065
|
+
case BindingTypeEnum.Function:
|
|
5066
|
+
result = binding.cache;
|
|
5067
|
+
break;
|
|
5068
|
+
case BindingTypeEnum.Instance:
|
|
5069
|
+
result = this._resolveInstance(binding, binding.implementationType);
|
|
5070
|
+
break;
|
|
5071
|
+
default:
|
|
5072
|
+
result = binding.dynamicValue({
|
|
5073
|
+
container: this
|
|
5074
|
+
});
|
|
5075
|
+
}
|
|
5076
|
+
return result;
|
|
5077
|
+
}
|
|
5078
|
+
_resolveInstance(binding, constr) {
|
|
5079
|
+
if (binding.activated) return binding.cache;
|
|
5080
|
+
const childRequests = this._getChildRequest(binding);
|
|
5081
|
+
return this._createInstance(constr, childRequests);
|
|
5082
|
+
}
|
|
5083
|
+
_createInstance(constr, childRequests) {
|
|
5084
|
+
if (childRequests.length) {
|
|
5085
|
+
return new constr(...this._resolveRequests(childRequests));
|
|
5086
|
+
}
|
|
5087
|
+
return new constr();
|
|
5088
|
+
}
|
|
5089
|
+
_resolveRequests(childRequests) {
|
|
5090
|
+
return childRequests.map(request => request.bindings.length > 1 ? request.bindings.map(binding => this._resolveFromBinding(binding)) : this._resolveFromBinding(request.bindings[0]));
|
|
5091
|
+
}
|
|
5092
|
+
_saveToScope(binding, result) {
|
|
5093
|
+
binding.scope === BindingScopeEnum.Singleton && (binding.cache = result, binding.activated = !0);
|
|
5094
|
+
}
|
|
5095
|
+
}
|
|
5096
|
+
|
|
5097
|
+
const ContributionProvider = Symbol("ContributionProvider");
|
|
5098
|
+
class ContributionProviderCache {
|
|
5099
|
+
constructor(serviceIdentifier, container) {
|
|
5100
|
+
this.serviceIdentifier = serviceIdentifier, this.container = container, ContributionStore.setStore(this.serviceIdentifier, this);
|
|
5101
|
+
}
|
|
5102
|
+
getContributions() {
|
|
5103
|
+
return this.caches || (this.caches = [], this.container && this.container.isBound(this.serviceIdentifier) && this.caches.push(...this.container.getAll(this.serviceIdentifier))), this.caches;
|
|
5104
|
+
}
|
|
5105
|
+
refresh() {
|
|
5106
|
+
this.caches && (this.caches.length = 0, this.container && this.container.isBound(this.serviceIdentifier) && this.caches.push(...this.container.getAll(this.serviceIdentifier)));
|
|
5107
|
+
}
|
|
5108
|
+
}
|
|
5109
|
+
function bindContributionProvider(bind, id) {
|
|
5110
|
+
bind(ContributionProvider).toDynamicValue(({
|
|
5111
|
+
container: container
|
|
5112
|
+
}) => new ContributionProviderCache(id, container)).inSingletonScope().whenTargetNamed(id);
|
|
5113
|
+
}
|
|
5114
|
+
class ContributionStore {
|
|
5115
|
+
static getStore(id) {
|
|
5116
|
+
return this.store.get(id);
|
|
5117
|
+
}
|
|
5118
|
+
static setStore(id, cache) {
|
|
5119
|
+
this.store.set(id, cache);
|
|
5120
|
+
}
|
|
5121
|
+
static refreshAllContributions() {
|
|
5122
|
+
this.store.forEach(cache => {
|
|
5123
|
+
cache.refresh();
|
|
5124
|
+
});
|
|
5125
|
+
}
|
|
5126
|
+
}
|
|
5127
|
+
ContributionStore.store = new Map();
|
|
5128
|
+
|
|
5129
|
+
class Hook {
|
|
5130
|
+
constructor(args, name) {
|
|
5131
|
+
this._args = args, this.name = name, this.taps = [];
|
|
5132
|
+
}
|
|
5133
|
+
tap(options, fn) {
|
|
5134
|
+
this._tap("sync", options, fn);
|
|
5135
|
+
}
|
|
5136
|
+
unTap(options, fn) {
|
|
5137
|
+
const name = "string" == typeof options ? options.trim() : options.name;
|
|
5138
|
+
name && (this.taps = this.taps.filter(tap => !(tap.name === name && (!fn || tap.fn === fn))));
|
|
5139
|
+
}
|
|
5140
|
+
_parseOptions(type, options, fn) {
|
|
5141
|
+
let _options;
|
|
5142
|
+
if ("string" == typeof options) _options = {
|
|
5143
|
+
name: options.trim()
|
|
5144
|
+
};else if ("object" != typeof options || null === options) throw new Error("Invalid tap options");
|
|
5145
|
+
if ("string" != typeof _options.name || "" === _options.name) throw new Error("Missing name for tap");
|
|
5146
|
+
return _options = Object.assign({
|
|
5147
|
+
type: type,
|
|
5148
|
+
fn: fn
|
|
5149
|
+
}, _options), _options;
|
|
5150
|
+
}
|
|
5151
|
+
_tap(type, options, fn) {
|
|
5152
|
+
this._insert(this._parseOptions(type, options, fn));
|
|
5153
|
+
}
|
|
5154
|
+
_insert(item) {
|
|
5155
|
+
let before;
|
|
5156
|
+
"string" == typeof item.before ? before = new Set([item.before]) : Array.isArray(item.before) && (before = new Set(item.before));
|
|
5157
|
+
let stage = 0;
|
|
5158
|
+
"number" == typeof item.stage && (stage = item.stage);
|
|
5159
|
+
let i = this.taps.length;
|
|
5160
|
+
for (; i > 0;) {
|
|
5161
|
+
i--;
|
|
5162
|
+
const x = this.taps[i];
|
|
5163
|
+
this.taps[i + 1] = x;
|
|
5164
|
+
const xStage = x.stage || 0;
|
|
5165
|
+
if (before) {
|
|
5166
|
+
if (before.has(x.name)) {
|
|
5167
|
+
before.delete(x.name);
|
|
5168
|
+
continue;
|
|
5169
|
+
}
|
|
5170
|
+
if (before.size > 0) continue;
|
|
5171
|
+
}
|
|
5172
|
+
if (!(xStage > stage)) {
|
|
5173
|
+
i++;
|
|
5174
|
+
break;
|
|
5175
|
+
}
|
|
5176
|
+
}
|
|
5177
|
+
this.taps[i] = item;
|
|
5178
|
+
}
|
|
5179
|
+
}
|
|
5180
|
+
|
|
5181
|
+
class SyncHook extends Hook {
|
|
5182
|
+
call(...args) {
|
|
5183
|
+
this.taps.map(t => t.fn).forEach(cb => cb(...args));
|
|
5184
|
+
}
|
|
5185
|
+
}
|
|
5186
|
+
|
|
5187
|
+
const DEFAULT_TEXT_FONT_FAMILY$1 = "PingFang SC,Helvetica Neue,Microsoft Yahei,system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol";
|
|
5188
|
+
|
|
5189
|
+
class Application {}
|
|
5190
|
+
const application = new Application();
|
|
5191
|
+
|
|
5192
|
+
let idx = 0;
|
|
5193
|
+
class PerformanceRAF {
|
|
5194
|
+
constructor() {
|
|
5195
|
+
this.nextAnimationFrameCbs = new Map(), this._rafHandle = null, this.runAnimationFrame = time => {
|
|
5196
|
+
this._rafHandle = null;
|
|
5197
|
+
const cbs = this.nextAnimationFrameCbs;
|
|
5198
|
+
this.nextAnimationFrameCbs = new Map(), cbs.forEach(cb => cb(time));
|
|
5199
|
+
}, this.tryRunAnimationFrameNextFrame = () => {
|
|
5200
|
+
null === this._rafHandle && 0 !== this.nextAnimationFrameCbs.size && (this._rafHandle = application.global.getRequestAnimationFrame()(this.runAnimationFrame));
|
|
5201
|
+
};
|
|
5202
|
+
}
|
|
5203
|
+
addAnimationFrameCb(callback) {
|
|
5204
|
+
return this.nextAnimationFrameCbs.set(++idx, callback), this.tryRunAnimationFrameNextFrame(), idx;
|
|
5205
|
+
}
|
|
5206
|
+
removeAnimationFrameCb(index) {
|
|
5207
|
+
return !!this.nextAnimationFrameCbs.has(index) && (this.nextAnimationFrameCbs.delete(index), !0);
|
|
5208
|
+
}
|
|
5209
|
+
}
|
|
5210
|
+
|
|
5211
|
+
var MeasureModeEnum;
|
|
5212
|
+
!function (MeasureModeEnum) {
|
|
5213
|
+
MeasureModeEnum[MeasureModeEnum.estimate = 0] = "estimate", MeasureModeEnum[MeasureModeEnum.actualBounding = 1] = "actualBounding", MeasureModeEnum[MeasureModeEnum.fontBounding = 2] = "fontBounding";
|
|
5214
|
+
}(MeasureModeEnum || (MeasureModeEnum = {}));
|
|
5215
|
+
|
|
5216
|
+
var STATUS;
|
|
5217
|
+
!function (STATUS) {
|
|
5218
|
+
STATUS[STATUS.INITIAL = 0] = "INITIAL", STATUS[STATUS.RUNNING = 1] = "RUNNING", STATUS[STATUS.PAUSE = 2] = "PAUSE";
|
|
5219
|
+
}(STATUS || (STATUS = {}));
|
|
5220
|
+
|
|
5221
|
+
var AnimateStepType;
|
|
5222
|
+
!function (AnimateStepType) {
|
|
5223
|
+
AnimateStepType.wait = "wait", AnimateStepType.from = "from", AnimateStepType.to = "to", AnimateStepType.customAnimate = "customAnimate";
|
|
5224
|
+
}(AnimateStepType || (AnimateStepType = {}));
|
|
5225
|
+
var AnimateStatus;
|
|
5226
|
+
!function (AnimateStatus) {
|
|
5227
|
+
AnimateStatus[AnimateStatus.INITIAL = 0] = "INITIAL", AnimateStatus[AnimateStatus.RUNNING = 1] = "RUNNING", AnimateStatus[AnimateStatus.PAUSED = 2] = "PAUSED", AnimateStatus[AnimateStatus.END = 3] = "END";
|
|
5228
|
+
}(AnimateStatus || (AnimateStatus = {}));
|
|
5229
|
+
|
|
5230
|
+
const isType = (value, type) => Object.prototype.toString.call(value) === `[object ${type}]`;
|
|
5231
|
+
var isType$1 = isType;
|
|
5232
|
+
|
|
5233
|
+
const isBoolean = (value, fuzzy = !1) => fuzzy ? "boolean" == typeof value : !0 === value || !1 === value || isType$1(value, "Boolean");
|
|
5234
|
+
var isBoolean$1 = isBoolean;
|
|
5235
|
+
|
|
5236
|
+
const isFunction = value => "function" == typeof value;
|
|
5237
|
+
var isFunction$1 = isFunction;
|
|
5238
|
+
|
|
5239
|
+
const isNil = value => null == value;
|
|
5240
|
+
var isNil$1 = isNil;
|
|
5241
|
+
|
|
5242
|
+
const isValid = value => null != value;
|
|
5243
|
+
var isValid$1 = isValid;
|
|
5244
|
+
|
|
5245
|
+
const isObject = value => {
|
|
5246
|
+
const type = typeof value;
|
|
5247
|
+
return null !== value && "object" === type || "function" === type;
|
|
5248
|
+
};
|
|
5249
|
+
var isObject$1 = isObject;
|
|
5250
|
+
|
|
5251
|
+
const isObjectLike = value => "object" == typeof value && null !== value;
|
|
5252
|
+
var isObjectLike$1 = isObjectLike;
|
|
5253
|
+
|
|
5254
|
+
const isPlainObject = function (value) {
|
|
5255
|
+
if (!isObjectLike$1(value) || !isType$1(value, "Object")) return !1;
|
|
5256
|
+
if (null === Object.getPrototypeOf(value)) return !0;
|
|
5257
|
+
let proto = value;
|
|
5258
|
+
for (; null !== Object.getPrototypeOf(proto);) proto = Object.getPrototypeOf(proto);
|
|
5259
|
+
return Object.getPrototypeOf(value) === proto;
|
|
5260
|
+
};
|
|
5261
|
+
var isPlainObject$1 = isPlainObject;
|
|
5262
|
+
|
|
5263
|
+
const isString = (value, fuzzy = !1) => {
|
|
5264
|
+
const type = typeof value;
|
|
5265
|
+
return fuzzy ? "string" === type : "string" === type || isType$1(value, "String");
|
|
5266
|
+
};
|
|
5267
|
+
var isString$1 = isString;
|
|
5268
|
+
|
|
5269
|
+
const isArray = value => Array.isArray ? Array.isArray(value) : isType$1(value, "Array");
|
|
5270
|
+
var isArray$1 = isArray;
|
|
5271
|
+
|
|
5272
|
+
const isArrayLike = function (value) {
|
|
5273
|
+
return null !== value && "function" != typeof value && Number.isFinite(value.length);
|
|
5274
|
+
};
|
|
5275
|
+
var isArrayLike$1 = isArrayLike;
|
|
5276
|
+
|
|
5277
|
+
const isNumber = (value, fuzzy = !1) => {
|
|
5278
|
+
const type = typeof value;
|
|
5279
|
+
return fuzzy ? "number" === type : "number" === type || isType$1(value, "Number");
|
|
5280
|
+
};
|
|
5281
|
+
var isNumber$1 = isNumber;
|
|
5282
|
+
|
|
5283
|
+
const isValidNumber = value => isNumber$1(value) && Number.isFinite(value);
|
|
5284
|
+
var isValidNumber$1 = isValidNumber;
|
|
5285
|
+
|
|
5286
|
+
const isValidUrl = value => new RegExp(/^(http(s)?:\/\/)\w+[^\s]+(\.[^\s]+){1,}$/).test(value);
|
|
5287
|
+
var isValidUrl$1 = isValidUrl;
|
|
5288
|
+
|
|
5289
|
+
const isBase64 = value => new RegExp(/^data:image\/(?:gif|png|jpeg|bmp|webp|svg\+xml)(?:;charset=utf-8)?;base64,(?:[A-Za-z0-9]|[+/])+={0,2}/g).test(value);
|
|
5290
|
+
var isBase64$1 = isBase64;
|
|
5291
|
+
|
|
5292
|
+
const getType = value => ({}).toString.call(value).replace(/^\[object /, "").replace(/]$/, "");
|
|
5293
|
+
var getType$1 = getType;
|
|
5294
|
+
|
|
5295
|
+
const objectProto = Object.prototype,
|
|
5296
|
+
isPrototype = function (value) {
|
|
5297
|
+
const Ctor = value && value.constructor;
|
|
5298
|
+
return value === ("function" == typeof Ctor && Ctor.prototype || objectProto);
|
|
5299
|
+
};
|
|
5300
|
+
var isPrototype$1 = isPrototype;
|
|
5301
|
+
|
|
5302
|
+
const hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
5303
|
+
function isEmpty(value) {
|
|
5304
|
+
if (isNil$1(value)) return !0;
|
|
5305
|
+
if (isArrayLike$1(value)) return !value.length;
|
|
5306
|
+
const type = getType$1(value);
|
|
5307
|
+
if ("Map" === type || "Set" === type) return !value.size;
|
|
5308
|
+
if (isPrototype$1(value)) return !Object.keys(value).length;
|
|
5309
|
+
for (const key in value) if (hasOwnProperty.call(value, key)) return !1;
|
|
5310
|
+
return !0;
|
|
5311
|
+
}
|
|
5312
|
+
|
|
5313
|
+
function baseMerge(target, source, shallowArray = !1, skipTargetArray = !1) {
|
|
5314
|
+
if (source) {
|
|
5315
|
+
if (target === source) return;
|
|
5316
|
+
if (isValid$1(source) && "object" == typeof source) {
|
|
5317
|
+
const iterable = Object(source),
|
|
5318
|
+
props = [];
|
|
5319
|
+
for (const key in iterable) props.push(key);
|
|
5320
|
+
let {
|
|
5321
|
+
length: length
|
|
5322
|
+
} = props,
|
|
5323
|
+
propIndex = -1;
|
|
5324
|
+
for (; length--;) {
|
|
5325
|
+
const key = props[++propIndex];
|
|
5326
|
+
!isValid$1(iterable[key]) || "object" != typeof iterable[key] || skipTargetArray && isArray$1(target[key]) ? assignMergeValue(target, key, iterable[key]) : baseMergeDeep(target, source, key, shallowArray, skipTargetArray);
|
|
5327
|
+
}
|
|
5328
|
+
}
|
|
5329
|
+
}
|
|
5330
|
+
}
|
|
5331
|
+
function baseMergeDeep(target, source, key, shallowArray = !1, skipTargetArray = !1) {
|
|
5332
|
+
const objValue = target[key],
|
|
5333
|
+
srcValue = source[key];
|
|
5334
|
+
let newValue = source[key],
|
|
5335
|
+
isCommon = !0;
|
|
5336
|
+
if (isArray$1(srcValue)) {
|
|
5337
|
+
if (shallowArray) newValue = [];else if (isArray$1(objValue)) newValue = objValue;else if (isArrayLike$1(objValue)) {
|
|
5338
|
+
newValue = new Array(objValue.length);
|
|
5339
|
+
let index = -1;
|
|
5340
|
+
const length = objValue.length;
|
|
5341
|
+
for (; ++index < length;) newValue[index] = objValue[index];
|
|
5342
|
+
}
|
|
5343
|
+
} else isPlainObject$1(srcValue) ? (newValue = null != objValue ? objValue : {}, "function" != typeof objValue && "object" == typeof objValue || (newValue = {})) : isCommon = !1;
|
|
5344
|
+
isCommon && baseMerge(newValue, srcValue, shallowArray, skipTargetArray), assignMergeValue(target, key, newValue);
|
|
5345
|
+
}
|
|
5346
|
+
function assignMergeValue(target, key, value) {
|
|
5347
|
+
(void 0 !== value && !eq(target[key], value) || void 0 === value && !(key in target)) && (target[key] = value);
|
|
5348
|
+
}
|
|
5349
|
+
function eq(value, other) {
|
|
5350
|
+
return value === other || Number.isNaN(value) && Number.isNaN(other);
|
|
5351
|
+
}
|
|
5352
|
+
function merge(target, ...sources) {
|
|
5353
|
+
let sourceIndex = -1;
|
|
5354
|
+
const length = sources.length;
|
|
5355
|
+
for (; ++sourceIndex < length;) {
|
|
5356
|
+
baseMerge(target, sources[sourceIndex], !0);
|
|
5357
|
+
}
|
|
5358
|
+
return target;
|
|
5359
|
+
}
|
|
5360
|
+
|
|
5361
|
+
function keys(obj) {
|
|
5362
|
+
if (!obj) return [];
|
|
5363
|
+
if (Object.keys) return Object.keys(obj);
|
|
5364
|
+
const keyList = [];
|
|
5365
|
+
for (const key in obj) obj.hasOwnProperty(key) && keyList.push(key);
|
|
5366
|
+
return keyList;
|
|
5367
|
+
}
|
|
5368
|
+
function defaults(target, source, overlay) {
|
|
5369
|
+
const keysArr = keys(source);
|
|
5370
|
+
for (let i = 0; i < keysArr.length; i++) {
|
|
5371
|
+
const key = keysArr[i];
|
|
5372
|
+
(overlay ? null != source[key] : null == target[key]) && (target[key] = source[key]);
|
|
5373
|
+
}
|
|
5374
|
+
return target;
|
|
5375
|
+
}
|
|
5376
|
+
function mixin(target, source, override = !0) {
|
|
5377
|
+
if (target = "prototype" in target ? target.prototype : target, source = "prototype" in source ? source.prototype : source, Object.getOwnPropertyNames) {
|
|
5378
|
+
const keyList = Object.getOwnPropertyNames(source);
|
|
5379
|
+
for (let i = 0; i < keyList.length; i++) {
|
|
5380
|
+
const key = keyList[i];
|
|
5381
|
+
"constructor" !== key && (override ? null != source[key] : null == target[key]) && (target[key] = source[key]);
|
|
5382
|
+
}
|
|
5383
|
+
} else defaults(target, source, override);
|
|
5384
|
+
}
|
|
5385
|
+
|
|
5386
|
+
function array(arr) {
|
|
5387
|
+
return isValid$1(arr) ? isArray$1(arr) ? arr : [arr] : [];
|
|
5388
|
+
}
|
|
5389
|
+
function arrayEqual(a, b) {
|
|
5390
|
+
if (!isArray$1(a) || !isArray$1(b)) return !1;
|
|
5391
|
+
if (a.length !== b.length) return !1;
|
|
5392
|
+
for (let i = 0; i < a.length; i++) if (a[i] !== b[i]) return !1;
|
|
5393
|
+
return !0;
|
|
5394
|
+
}
|
|
5395
|
+
function flattenArray(arr) {
|
|
5396
|
+
if (!isArray$1(arr)) return [arr];
|
|
5397
|
+
const result = [];
|
|
5398
|
+
for (const value of arr) result.push(...flattenArray(value));
|
|
5399
|
+
return result;
|
|
5400
|
+
}
|
|
5401
|
+
|
|
5402
|
+
const hasConsole = "undefined" != typeof console;
|
|
5403
|
+
function log(method, level, input) {
|
|
5404
|
+
const args = [level].concat([].slice.call(input));
|
|
5405
|
+
hasConsole && console[method].apply(console, args);
|
|
5406
|
+
}
|
|
5407
|
+
var LoggerLevel;
|
|
5408
|
+
!function (LoggerLevel) {
|
|
5409
|
+
LoggerLevel[LoggerLevel.None = 0] = "None", LoggerLevel[LoggerLevel.Error = 1] = "Error", LoggerLevel[LoggerLevel.Warn = 2] = "Warn", LoggerLevel[LoggerLevel.Info = 3] = "Info", LoggerLevel[LoggerLevel.Debug = 4] = "Debug";
|
|
5410
|
+
}(LoggerLevel || (LoggerLevel = {}));
|
|
5411
|
+
class Logger {
|
|
5412
|
+
static getInstance(level, method) {
|
|
5413
|
+
return Logger._instance && isNumber$1(level) ? Logger._instance.level(level) : Logger._instance || (Logger._instance = new Logger(level, method)), Logger._instance;
|
|
5414
|
+
}
|
|
5415
|
+
static setInstance(logger) {
|
|
5416
|
+
return Logger._instance = logger;
|
|
5417
|
+
}
|
|
5418
|
+
static setInstanceLevel(level) {
|
|
5419
|
+
Logger._instance ? Logger._instance.level(level) : Logger._instance = new Logger(level);
|
|
5420
|
+
}
|
|
5421
|
+
static clearInstance() {
|
|
5422
|
+
Logger._instance = null;
|
|
5423
|
+
}
|
|
5424
|
+
constructor(level = LoggerLevel.None, method) {
|
|
5425
|
+
this._onErrorHandler = [], this._level = level, this._method = method;
|
|
5426
|
+
}
|
|
5427
|
+
addErrorHandler(handler) {
|
|
5428
|
+
this._onErrorHandler.find(h => h === handler) || this._onErrorHandler.push(handler);
|
|
5429
|
+
}
|
|
5430
|
+
removeErrorHandler(handler) {
|
|
5431
|
+
const index = this._onErrorHandler.findIndex(h => h === handler);
|
|
5432
|
+
index < 0 || this._onErrorHandler.splice(index, 1);
|
|
5433
|
+
}
|
|
5434
|
+
callErrorHandler(...args) {
|
|
5435
|
+
this._onErrorHandler.forEach(h => h(...args));
|
|
5436
|
+
}
|
|
5437
|
+
canLogInfo() {
|
|
5438
|
+
return this._level >= LoggerLevel.Info;
|
|
5439
|
+
}
|
|
5440
|
+
canLogDebug() {
|
|
5441
|
+
return this._level >= LoggerLevel.Debug;
|
|
5442
|
+
}
|
|
5443
|
+
canLogError() {
|
|
5444
|
+
return this._level >= LoggerLevel.Error;
|
|
5445
|
+
}
|
|
5446
|
+
canLogWarn() {
|
|
5447
|
+
return this._level >= LoggerLevel.Warn;
|
|
5448
|
+
}
|
|
5449
|
+
level(levelValue) {
|
|
5450
|
+
return arguments.length ? (this._level = +levelValue, this) : this._level;
|
|
5451
|
+
}
|
|
5452
|
+
error(...args) {
|
|
5453
|
+
var _a;
|
|
5454
|
+
return this._level >= LoggerLevel.Error && (this._onErrorHandler.length ? this.callErrorHandler(...args) : log(null !== (_a = this._method) && void 0 !== _a ? _a : "error", "ERROR", args)), this;
|
|
5455
|
+
}
|
|
5456
|
+
warn(...args) {
|
|
5457
|
+
return this._level >= LoggerLevel.Warn && log(this._method || "warn", "WARN", args), this;
|
|
5458
|
+
}
|
|
5459
|
+
info(...args) {
|
|
5460
|
+
return this._level >= LoggerLevel.Info && log(this._method || "log", "INFO", args), this;
|
|
5461
|
+
}
|
|
5462
|
+
debug(...args) {
|
|
5463
|
+
return this._level >= LoggerLevel.Debug && log(this._method || "log", "DEBUG", args), this;
|
|
5464
|
+
}
|
|
5465
|
+
}
|
|
5466
|
+
Logger._instance = null;
|
|
5467
|
+
|
|
5468
|
+
const clamp = function (input, min, max) {
|
|
5469
|
+
return input < min ? min : input > max ? max : input;
|
|
5470
|
+
};
|
|
5471
|
+
var clamp$1 = clamp;
|
|
5472
|
+
|
|
5473
|
+
const epsilon = 1e-12;
|
|
5474
|
+
const pi = Math.PI;
|
|
5475
|
+
const halfPi$1 = pi / 2;
|
|
5476
|
+
const tau = 2 * pi;
|
|
5477
|
+
const pi2 = 2 * Math.PI;
|
|
5478
|
+
const abs = Math.abs;
|
|
5479
|
+
const atan2 = Math.atan2;
|
|
5480
|
+
const cos = Math.cos;
|
|
5481
|
+
const max = Math.max;
|
|
5482
|
+
const min = Math.min;
|
|
5483
|
+
const sin = Math.sin;
|
|
5484
|
+
const sqrt$1 = Math.sqrt;
|
|
5485
|
+
const pow = Math.pow;
|
|
5486
|
+
function acos(x) {
|
|
5487
|
+
return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);
|
|
5488
|
+
}
|
|
5489
|
+
function asin(x) {
|
|
5490
|
+
return x >= 1 ? halfPi$1 : x <= -1 ? -halfPi$1 : Math.asin(x);
|
|
5491
|
+
}
|
|
5492
|
+
function pointAt(x1, y1, x2, y2, t) {
|
|
5493
|
+
let x = x2,
|
|
5494
|
+
y = y2;
|
|
5495
|
+
return "number" == typeof x1 && "number" == typeof x2 && (x = (1 - t) * x1 + t * x2), "number" == typeof y1 && "number" == typeof y2 && (y = (1 - t) * y1 + t * y2), {
|
|
5496
|
+
x: x,
|
|
5497
|
+
y: y
|
|
5498
|
+
};
|
|
5499
|
+
}
|
|
5500
|
+
|
|
5501
|
+
class Point {
|
|
5502
|
+
constructor(x = 0, y = 0, x1, y1) {
|
|
5503
|
+
this.x = 0, this.y = 0, this.x = x, this.y = y, this.x1 = x1, this.y1 = y1;
|
|
5504
|
+
}
|
|
5505
|
+
clone() {
|
|
5506
|
+
return new Point(this.x, this.y);
|
|
5507
|
+
}
|
|
5508
|
+
copyFrom(p) {
|
|
5509
|
+
return this.x = p.x, this.y = p.y, this.x1 = p.x1, this.y1 = p.y1, this.defined = p.defined, this.context = p.context, this;
|
|
5510
|
+
}
|
|
5511
|
+
set(x, y) {
|
|
5512
|
+
return this.x = x, this.y = y, this;
|
|
5513
|
+
}
|
|
5514
|
+
add(point) {
|
|
5515
|
+
return isNumber$1(point) ? (this.x += point, void (this.y += point)) : (this.x += point.x, this.y += point.y, this);
|
|
5516
|
+
}
|
|
5517
|
+
sub(point) {
|
|
5518
|
+
return isNumber$1(point) ? (this.x -= point, void (this.y -= point)) : (this.x -= point.x, this.y -= point.y, this);
|
|
5519
|
+
}
|
|
5520
|
+
multi(point) {
|
|
5521
|
+
throw new Error("暂不支持");
|
|
5522
|
+
}
|
|
5523
|
+
div(point) {
|
|
5524
|
+
throw new Error("暂不支持");
|
|
5525
|
+
}
|
|
5526
|
+
}
|
|
5527
|
+
class PointService {
|
|
5528
|
+
static distancePP(p1, p2) {
|
|
5529
|
+
return sqrt$1(pow(p1.x - p2.x, 2) + pow(p1.y - p2.y, 2));
|
|
5530
|
+
}
|
|
5531
|
+
static distanceNN(x, y, x1, y1) {
|
|
5532
|
+
return sqrt$1(pow(x - x1, 2) + pow(y - y1, 2));
|
|
5533
|
+
}
|
|
5534
|
+
static distancePN(point, x, y) {
|
|
5535
|
+
return sqrt$1(pow(x - point.x, 2) + pow(y - point.y, 2));
|
|
5536
|
+
}
|
|
5537
|
+
static pointAtPP(p1, p2, t) {
|
|
5538
|
+
return new Point((p2.x - p1.x) * t + p1.x, (p2.y - p1.y) * t + p1.y);
|
|
5539
|
+
}
|
|
5540
|
+
}
|
|
5541
|
+
|
|
5542
|
+
function degreeToRadian(degree) {
|
|
5543
|
+
return degree * (Math.PI / 180);
|
|
5544
|
+
}
|
|
5545
|
+
function radianToDegree(radian) {
|
|
5546
|
+
return 180 * radian / Math.PI;
|
|
5547
|
+
}
|
|
5548
|
+
const clampRadian = (angle = 0) => {
|
|
5549
|
+
if (angle < 0) for (; angle < -tau;) angle += tau;else if (angle > 0) for (; angle > tau;) angle -= tau;
|
|
5550
|
+
return angle;
|
|
5551
|
+
};
|
|
5552
|
+
const clampAngleByRadian = clampRadian;
|
|
5553
|
+
function normalizeAngle(angle) {
|
|
5554
|
+
for (; angle < 0;) angle += 2 * Math.PI;
|
|
5555
|
+
for (; angle >= 2 * Math.PI;) angle -= 2 * Math.PI;
|
|
5556
|
+
return angle;
|
|
5557
|
+
}
|
|
5558
|
+
|
|
5559
|
+
var InnerBBox;
|
|
5560
|
+
!function (InnerBBox) {
|
|
5561
|
+
InnerBBox[InnerBBox.NONE = 0] = "NONE", InnerBBox[InnerBBox.BBOX1 = 1] = "BBOX1", InnerBBox[InnerBBox.BBOX2 = 2] = "BBOX2";
|
|
5562
|
+
}(InnerBBox || (InnerBBox = {}));
|
|
5563
|
+
function getProjectionRadius(checkAxis, axis) {
|
|
5564
|
+
return Math.abs(axis[0] * checkAxis[0] + axis[1] * checkAxis[1]);
|
|
5565
|
+
}
|
|
5566
|
+
function rotatePoint({
|
|
5567
|
+
x: x,
|
|
5568
|
+
y: y
|
|
5569
|
+
}, rad, origin = {
|
|
5570
|
+
x: 0,
|
|
5571
|
+
y: 0
|
|
5572
|
+
}) {
|
|
5573
|
+
return {
|
|
5574
|
+
x: (x - origin.x) * Math.cos(rad) - (y - origin.y) * Math.sin(rad) + origin.x,
|
|
5575
|
+
y: (x - origin.x) * Math.sin(rad) + (y - origin.y) * Math.cos(rad) + origin.y
|
|
5576
|
+
};
|
|
5577
|
+
}
|
|
5578
|
+
function getCenterPoint(box) {
|
|
5579
|
+
return {
|
|
5580
|
+
x: (box.x1 + box.x2) / 2,
|
|
5581
|
+
y: (box.y1 + box.y2) / 2
|
|
5582
|
+
};
|
|
5583
|
+
}
|
|
5584
|
+
function toRect$1(box, isDeg) {
|
|
5585
|
+
const deg = isDeg ? degreeToRadian(box.angle) : box.angle,
|
|
5586
|
+
cp = getCenterPoint(box);
|
|
5587
|
+
return [rotatePoint({
|
|
5588
|
+
x: box.x1,
|
|
5589
|
+
y: box.y1
|
|
5590
|
+
}, deg, cp), rotatePoint({
|
|
5591
|
+
x: box.x2,
|
|
5592
|
+
y: box.y1
|
|
5593
|
+
}, deg, cp), rotatePoint({
|
|
5594
|
+
x: box.x2,
|
|
5595
|
+
y: box.y2
|
|
5596
|
+
}, deg, cp), rotatePoint({
|
|
5597
|
+
x: box.x1,
|
|
5598
|
+
y: box.y2
|
|
5599
|
+
}, deg, cp)];
|
|
5600
|
+
}
|
|
5601
|
+
function isRotateAABBIntersect(box1, box2, isDeg = !1) {
|
|
5602
|
+
const rect1 = toRect$1(box1, isDeg),
|
|
5603
|
+
rect2 = toRect$1(box2, isDeg),
|
|
5604
|
+
vector = (start, end) => [end.x - start.x, end.y - start.y],
|
|
5605
|
+
vp1p2 = vector(getCenterPoint(box1), getCenterPoint(box2)),
|
|
5606
|
+
AB = vector(rect1[0], rect1[1]),
|
|
5607
|
+
BC = vector(rect1[1], rect1[2]),
|
|
5608
|
+
A1B1 = vector(rect2[0], rect2[1]),
|
|
5609
|
+
B1C1 = vector(rect2[1], rect2[2]),
|
|
5610
|
+
deg11 = isDeg ? degreeToRadian(box1.angle) : box1.angle;
|
|
5611
|
+
let deg12 = isDeg ? degreeToRadian(90 - box1.angle) : box1.angle + halfPi$1;
|
|
5612
|
+
const deg21 = isDeg ? degreeToRadian(box2.angle) : box2.angle;
|
|
5613
|
+
let deg22 = isDeg ? degreeToRadian(90 - box2.angle) : box2.angle + halfPi$1;
|
|
5614
|
+
deg12 > pi2 && (deg12 -= pi2), deg22 > pi2 && (deg22 -= pi2);
|
|
5615
|
+
const isCover = (checkAxisRadius, deg, targetAxis1, targetAxis2) => {
|
|
5616
|
+
const checkAxis = [Math.cos(deg), Math.sin(deg)];
|
|
5617
|
+
return checkAxisRadius + (getProjectionRadius(checkAxis, targetAxis1) + getProjectionRadius(checkAxis, targetAxis2)) / 2 > getProjectionRadius(checkAxis, vp1p2);
|
|
5618
|
+
};
|
|
5619
|
+
return isCover((box1.x2 - box1.x1) / 2, deg11, A1B1, B1C1) && isCover((box1.y2 - box1.y1) / 2, deg12, A1B1, B1C1) && isCover((box2.x2 - box2.x1) / 2, deg21, AB, BC) && isCover((box2.y2 - box2.y1) / 2, deg22, AB, BC);
|
|
5620
|
+
}
|
|
5621
|
+
|
|
5622
|
+
function isPointInLine(x0, y0, x1, y1, x, y) {
|
|
5623
|
+
if (y > y0 && y > y1 || y < y0 && y < y1) return 0;
|
|
5624
|
+
if (y1 === y0) return 0;
|
|
5625
|
+
const t = (y - y0) / (y1 - y0);
|
|
5626
|
+
let dir = y1 < y0 ? 1 : -1;
|
|
5627
|
+
1 !== t && 0 !== t || (dir = y1 < y0 ? .5 : -.5);
|
|
5628
|
+
const x_ = t * (x1 - x0) + x0;
|
|
5629
|
+
return x_ === x ? 1 / 0 : x_ > x ? dir : 0;
|
|
5630
|
+
}
|
|
5631
|
+
|
|
5632
|
+
function getContextFont(text, defaultAttr = {}, fontSizeScale) {
|
|
5633
|
+
fontSizeScale || (fontSizeScale = 1);
|
|
5634
|
+
const {
|
|
5635
|
+
fontStyle = defaultAttr.fontStyle,
|
|
5636
|
+
fontVariant = defaultAttr.fontVariant,
|
|
5637
|
+
fontWeight = defaultAttr.fontWeight,
|
|
5638
|
+
fontSize = defaultAttr.fontSize,
|
|
5639
|
+
fontFamily = defaultAttr.fontFamily
|
|
5640
|
+
} = text;
|
|
5641
|
+
return (fontStyle ? fontStyle + " " : "") + (fontVariant ? fontVariant + " " : "") + (fontWeight ? fontWeight + " " : "") + fontSize * fontSizeScale + "px " + (fontFamily || "sans-serif");
|
|
5642
|
+
}
|
|
5643
|
+
|
|
5644
|
+
function transformBoundsWithMatrix(out, bounds, matrix) {
|
|
5645
|
+
const {
|
|
5646
|
+
x1: x1,
|
|
5647
|
+
y1: y1,
|
|
5648
|
+
x2: x2,
|
|
5649
|
+
y2: y2
|
|
5650
|
+
} = bounds;
|
|
5651
|
+
return matrix.onlyTranslate() ? (out !== bounds && out.setValue(bounds.x1, bounds.y1, bounds.x2, bounds.y2), out.translate(matrix.e, matrix.f), bounds) : (out.clear(), out.add(matrix.a * x1 + matrix.c * y1 + matrix.e, matrix.b * x1 + matrix.d * y1 + matrix.f), out.add(matrix.a * x2 + matrix.c * y1 + matrix.e, matrix.b * x2 + matrix.d * y1 + matrix.f), out.add(matrix.a * x2 + matrix.c * y2 + matrix.e, matrix.b * x2 + matrix.d * y2 + matrix.f), out.add(matrix.a * x1 + matrix.c * y2 + matrix.e, matrix.b * x1 + matrix.d * y2 + matrix.f), bounds);
|
|
5652
|
+
}
|
|
5653
|
+
class Bounds {
|
|
5654
|
+
constructor(bounds) {
|
|
5655
|
+
bounds ? this.setValue(bounds.x1, bounds.y1, bounds.x2, bounds.y2) : this.clear();
|
|
5656
|
+
}
|
|
5657
|
+
clone() {
|
|
5658
|
+
return new Bounds(this);
|
|
5659
|
+
}
|
|
5660
|
+
clear() {
|
|
5661
|
+
return this.x1 = +Number.MAX_VALUE, this.y1 = +Number.MAX_VALUE, this.x2 = -Number.MAX_VALUE, this.y2 = -Number.MAX_VALUE, this;
|
|
5662
|
+
}
|
|
5663
|
+
empty() {
|
|
5664
|
+
return this.x1 === +Number.MAX_VALUE && this.y1 === +Number.MAX_VALUE && this.x2 === -Number.MAX_VALUE && this.y2 === -Number.MAX_VALUE;
|
|
5665
|
+
}
|
|
5666
|
+
equals(b) {
|
|
5667
|
+
return this.x1 === b.x1 && this.y1 === b.y1 && this.x2 === b.x2 && this.y2 === b.y2;
|
|
5668
|
+
}
|
|
5669
|
+
setValue(x1 = 0, y1 = 0, x2 = 0, y2 = 0) {
|
|
5670
|
+
return this.x1 = x1, this.y1 = y1, this.x2 = x2, this.y2 = y2, this;
|
|
5671
|
+
}
|
|
5672
|
+
set(x1 = 0, y1 = 0, x2 = 0, y2 = 0) {
|
|
5673
|
+
return x2 < x1 ? (this.x2 = x1, this.x1 = x2) : (this.x1 = x1, this.x2 = x2), y2 < y1 ? (this.y2 = y1, this.y1 = y2) : (this.y1 = y1, this.y2 = y2), this;
|
|
5674
|
+
}
|
|
5675
|
+
add(x = 0, y = 0) {
|
|
5676
|
+
return x < this.x1 && (this.x1 = x), y < this.y1 && (this.y1 = y), x > this.x2 && (this.x2 = x), y > this.y2 && (this.y2 = y), this;
|
|
5677
|
+
}
|
|
5678
|
+
expand(d = 0) {
|
|
5679
|
+
return isArray$1(d) ? (this.y1 -= d[0], this.x2 += d[1], this.y2 += d[2], this.x1 -= d[3]) : (this.x1 -= d, this.y1 -= d, this.x2 += d, this.y2 += d), this;
|
|
5680
|
+
}
|
|
5681
|
+
round() {
|
|
5682
|
+
return this.x1 = Math.floor(this.x1), this.y1 = Math.floor(this.y1), this.x2 = Math.ceil(this.x2), this.y2 = Math.ceil(this.y2), this;
|
|
5683
|
+
}
|
|
5684
|
+
translate(dx = 0, dy = 0) {
|
|
5685
|
+
return this.x1 += dx, this.x2 += dx, this.y1 += dy, this.y2 += dy, this;
|
|
5686
|
+
}
|
|
5687
|
+
rotate(angle = 0, x = 0, y = 0) {
|
|
5688
|
+
const p = this.rotatedPoints(angle, x, y);
|
|
5689
|
+
return this.clear().add(p[0], p[1]).add(p[2], p[3]).add(p[4], p[5]).add(p[6], p[7]);
|
|
5690
|
+
}
|
|
5691
|
+
scale(sx = 0, sy = 0, x = 0, y = 0) {
|
|
5692
|
+
const p = this.scalePoints(sx, sy, x, y);
|
|
5693
|
+
return this.clear().add(p[0], p[1]).add(p[2], p[3]);
|
|
5694
|
+
}
|
|
5695
|
+
union(b) {
|
|
5696
|
+
return b.x1 < this.x1 && (this.x1 = b.x1), b.y1 < this.y1 && (this.y1 = b.y1), b.x2 > this.x2 && (this.x2 = b.x2), b.y2 > this.y2 && (this.y2 = b.y2), this;
|
|
5697
|
+
}
|
|
5698
|
+
intersect(b) {
|
|
5699
|
+
return b.x1 > this.x1 && (this.x1 = b.x1), b.y1 > this.y1 && (this.y1 = b.y1), b.x2 < this.x2 && (this.x2 = b.x2), b.y2 < this.y2 && (this.y2 = b.y2), this;
|
|
5700
|
+
}
|
|
5701
|
+
encloses(b) {
|
|
5702
|
+
return b && this.x1 <= b.x1 && this.x2 >= b.x2 && this.y1 <= b.y1 && this.y2 >= b.y2;
|
|
5703
|
+
}
|
|
5704
|
+
alignsWith(b) {
|
|
5705
|
+
return b && (this.x1 === b.x1 || this.x2 === b.x2 || this.y1 === b.y1 || this.y2 === b.y2);
|
|
5706
|
+
}
|
|
5707
|
+
intersects(b) {
|
|
5708
|
+
return b && !(this.x2 < b.x1 || this.x1 > b.x2 || this.y2 < b.y1 || this.y1 > b.y2);
|
|
5709
|
+
}
|
|
5710
|
+
contains(x = 0, y = 0) {
|
|
5711
|
+
return !(x < this.x1 || x > this.x2 || y < this.y1 || y > this.y2);
|
|
5712
|
+
}
|
|
5713
|
+
containsPoint(p) {
|
|
5714
|
+
return !(p.x < this.x1 || p.x > this.x2 || p.y < this.y1 || p.y > this.y2);
|
|
5715
|
+
}
|
|
5716
|
+
width() {
|
|
5717
|
+
return this.empty() ? 0 : this.x2 - this.x1;
|
|
5718
|
+
}
|
|
5719
|
+
height() {
|
|
5720
|
+
return this.empty() ? 0 : this.y2 - this.y1;
|
|
5721
|
+
}
|
|
5722
|
+
scaleX(s = 0) {
|
|
5723
|
+
return this.x1 *= s, this.x2 *= s, this;
|
|
5724
|
+
}
|
|
5725
|
+
scaleY(s = 0) {
|
|
5726
|
+
return this.y1 *= s, this.y2 *= s, this;
|
|
5727
|
+
}
|
|
5728
|
+
transformWithMatrix(matrix) {
|
|
5729
|
+
return transformBoundsWithMatrix(this, this, matrix), this;
|
|
5730
|
+
}
|
|
5731
|
+
copy(b) {
|
|
5732
|
+
return this.x1 = b.x1, this.y1 = b.y1, this.x2 = b.x2, this.y2 = b.y2, this;
|
|
5733
|
+
}
|
|
5734
|
+
rotatedPoints(angle, x, y) {
|
|
5735
|
+
const {
|
|
5736
|
+
x1: x1,
|
|
5737
|
+
y1: y1,
|
|
5738
|
+
x2: x2,
|
|
5739
|
+
y2: y2
|
|
5740
|
+
} = this,
|
|
5741
|
+
cos = Math.cos(angle),
|
|
5742
|
+
sin = Math.sin(angle),
|
|
5743
|
+
cx = x - x * cos + y * sin,
|
|
5744
|
+
cy = y - x * sin - y * cos;
|
|
5745
|
+
return [cos * x1 - sin * y1 + cx, sin * x1 + cos * y1 + cy, cos * x1 - sin * y2 + cx, sin * x1 + cos * y2 + cy, cos * x2 - sin * y1 + cx, sin * x2 + cos * y1 + cy, cos * x2 - sin * y2 + cx, sin * x2 + cos * y2 + cy];
|
|
5746
|
+
}
|
|
5747
|
+
scalePoints(sx, sy, x, y) {
|
|
5748
|
+
const {
|
|
5749
|
+
x1: x1,
|
|
5750
|
+
y1: y1,
|
|
5751
|
+
x2: x2,
|
|
5752
|
+
y2: y2
|
|
5753
|
+
} = this;
|
|
5754
|
+
return [sx * x1 + (1 - sx) * x, sy * y1 + (1 - sy) * y, sx * x2 + (1 - sx) * x, sy * y2 + (1 - sy) * y];
|
|
5755
|
+
}
|
|
5756
|
+
}
|
|
5757
|
+
class AABBBounds extends Bounds {}
|
|
5758
|
+
class OBBBounds extends Bounds {
|
|
5759
|
+
constructor(bounds, angle = 0) {
|
|
5760
|
+
var _a;
|
|
5761
|
+
super(bounds), bounds && (this.angle = null !== (_a = bounds.angle) && void 0 !== _a ? _a : angle);
|
|
5762
|
+
}
|
|
5763
|
+
intersects(b) {
|
|
5764
|
+
return isRotateAABBIntersect(this, b);
|
|
5765
|
+
}
|
|
5766
|
+
setValue(x1 = 0, y1 = 0, x2 = 0, y2 = 0, angle = 0) {
|
|
5767
|
+
return super.setValue(x1, y1, x2, y2), this.angle = angle, this;
|
|
5768
|
+
}
|
|
5769
|
+
clone() {
|
|
5770
|
+
return new OBBBounds(this);
|
|
5771
|
+
}
|
|
5772
|
+
getRotatedCorners() {
|
|
5773
|
+
const originPoint = {
|
|
5774
|
+
x: (this.x1 + this.x2) / 2,
|
|
5775
|
+
y: (this.y1 + this.y2) / 2
|
|
5776
|
+
};
|
|
5777
|
+
return [rotatePoint({
|
|
5778
|
+
x: this.x1,
|
|
5779
|
+
y: this.y1
|
|
5780
|
+
}, this.angle, originPoint), rotatePoint({
|
|
5781
|
+
x: this.x2,
|
|
5782
|
+
y: this.y1
|
|
5783
|
+
}, this.angle, originPoint), rotatePoint({
|
|
5784
|
+
x: this.x1,
|
|
5785
|
+
y: this.y2
|
|
5786
|
+
}, this.angle, originPoint), rotatePoint({
|
|
5787
|
+
x: this.x2,
|
|
5788
|
+
y: this.y2
|
|
5789
|
+
}, this.angle, originPoint)];
|
|
5790
|
+
}
|
|
5791
|
+
}
|
|
5792
|
+
|
|
5793
|
+
class Matrix {
|
|
5794
|
+
constructor(a = 1, b = 0, c = 0, d = 1, e = 0, f = 0) {
|
|
5795
|
+
this.a = a, this.b = b, this.c = c, this.d = d, this.e = e, this.f = f;
|
|
5796
|
+
}
|
|
5797
|
+
equalToMatrix(m2) {
|
|
5798
|
+
return !(this.e !== m2.e || this.f !== m2.f || this.a !== m2.a || this.d !== m2.d || this.b !== m2.b || this.c !== m2.c);
|
|
5799
|
+
}
|
|
5800
|
+
equalTo(a, b, c, d, e, f) {
|
|
5801
|
+
return !(this.e !== e || this.f !== f || this.a !== a || this.d !== d || this.b !== b || this.c !== c);
|
|
5802
|
+
}
|
|
5803
|
+
setValue(a, b, c, d, e, f) {
|
|
5804
|
+
return this.a = a, this.b = b, this.c = c, this.d = d, this.e = e, this.f = f, this;
|
|
5805
|
+
}
|
|
5806
|
+
reset() {
|
|
5807
|
+
return this.a = 1, this.b = 0, this.c = 0, this.d = 1, this.e = 0, this.f = 0, this;
|
|
5808
|
+
}
|
|
5809
|
+
getInverse() {
|
|
5810
|
+
const a = this.a,
|
|
5811
|
+
b = this.b,
|
|
5812
|
+
c = this.c,
|
|
5813
|
+
d = this.d,
|
|
5814
|
+
e = this.e,
|
|
5815
|
+
f = this.f,
|
|
5816
|
+
m = new Matrix(),
|
|
5817
|
+
dt = a * d - b * c;
|
|
5818
|
+
return m.a = d / dt, m.b = -b / dt, m.c = -c / dt, m.d = a / dt, m.e = (c * f - d * e) / dt, m.f = -(a * f - b * e) / dt, m;
|
|
5819
|
+
}
|
|
5820
|
+
rotate(rad) {
|
|
5821
|
+
const c = Math.cos(rad),
|
|
5822
|
+
s = Math.sin(rad),
|
|
5823
|
+
m11 = this.a * c + this.c * s,
|
|
5824
|
+
m12 = this.b * c + this.d * s,
|
|
5825
|
+
m21 = this.a * -s + this.c * c,
|
|
5826
|
+
m22 = this.b * -s + this.d * c;
|
|
5827
|
+
return this.a = m11, this.b = m12, this.c = m21, this.d = m22, this;
|
|
5828
|
+
}
|
|
5829
|
+
rotateByCenter(rad, cx, cy) {
|
|
5830
|
+
const cos = Math.cos(rad),
|
|
5831
|
+
sin = Math.sin(rad),
|
|
5832
|
+
rotateM13 = (1 - cos) * cx + sin * cy,
|
|
5833
|
+
rotateM23 = (1 - cos) * cy - sin * cx,
|
|
5834
|
+
m11 = cos * this.a - sin * this.b,
|
|
5835
|
+
m21 = sin * this.a + cos * this.b,
|
|
5836
|
+
m12 = cos * this.c - sin * this.d,
|
|
5837
|
+
m22 = sin * this.c + cos * this.d,
|
|
5838
|
+
m13 = cos * this.e - sin * this.f + rotateM13,
|
|
5839
|
+
m23 = sin * this.e + cos * this.f + rotateM23;
|
|
5840
|
+
return this.a = m11, this.b = m21, this.c = m12, this.d = m22, this.e = m13, this.f = m23, this;
|
|
5841
|
+
}
|
|
5842
|
+
scale(sx, sy) {
|
|
5843
|
+
return this.a *= sx, this.b *= sx, this.c *= sy, this.d *= sy, this;
|
|
5844
|
+
}
|
|
5845
|
+
setScale(sx, sy) {
|
|
5846
|
+
return this.b = this.b / this.a * sx, this.c = this.c / this.d * sy, this.a = sx, this.d = sy, this;
|
|
5847
|
+
}
|
|
5848
|
+
transform(a, b, c, d, e, f) {
|
|
5849
|
+
return this.multiply(a, b, c, d, e, f), this;
|
|
5850
|
+
}
|
|
5851
|
+
translate(x, y) {
|
|
5852
|
+
return this.e += this.a * x + this.c * y, this.f += this.b * x + this.d * y, this;
|
|
5853
|
+
}
|
|
5854
|
+
transpose() {
|
|
5855
|
+
const {
|
|
5856
|
+
a: a,
|
|
5857
|
+
b: b,
|
|
5858
|
+
c: c,
|
|
5859
|
+
d: d,
|
|
5860
|
+
e: e,
|
|
5861
|
+
f: f
|
|
5862
|
+
} = this;
|
|
5863
|
+
return this.a = b, this.b = a, this.c = d, this.d = c, this.e = f, this.f = e, this;
|
|
5864
|
+
}
|
|
5865
|
+
multiply(a2, b2, c2, d2, e2, f2) {
|
|
5866
|
+
const a1 = this.a,
|
|
5867
|
+
b1 = this.b,
|
|
5868
|
+
c1 = this.c,
|
|
5869
|
+
d1 = this.d,
|
|
5870
|
+
m11 = a1 * a2 + c1 * b2,
|
|
5871
|
+
m12 = b1 * a2 + d1 * b2,
|
|
5872
|
+
m21 = a1 * c2 + c1 * d2,
|
|
5873
|
+
m22 = b1 * c2 + d1 * d2,
|
|
5874
|
+
dx = a1 * e2 + c1 * f2 + this.e,
|
|
5875
|
+
dy = b1 * e2 + d1 * f2 + this.f;
|
|
5876
|
+
return this.a = m11, this.b = m12, this.c = m21, this.d = m22, this.e = dx, this.f = dy, this;
|
|
5877
|
+
}
|
|
5878
|
+
interpolate(m2, t) {
|
|
5879
|
+
const m = new Matrix();
|
|
5880
|
+
return m.a = this.a + (m2.a - this.a) * t, m.b = this.b + (m2.b - this.b) * t, m.c = this.c + (m2.c - this.c) * t, m.d = this.d + (m2.d - this.d) * t, m.e = this.e + (m2.e - this.e) * t, m.f = this.f + (m2.f - this.f) * t, m;
|
|
5881
|
+
}
|
|
5882
|
+
transformPoint(source, target) {
|
|
5883
|
+
const {
|
|
5884
|
+
a: a,
|
|
5885
|
+
b: b,
|
|
5886
|
+
c: c,
|
|
5887
|
+
d: d,
|
|
5888
|
+
e: e,
|
|
5889
|
+
f: f
|
|
5890
|
+
} = this,
|
|
5891
|
+
dt = a * d - b * c,
|
|
5892
|
+
nextA = d / dt,
|
|
5893
|
+
nextB = -b / dt,
|
|
5894
|
+
nextC = -c / dt,
|
|
5895
|
+
nextD = a / dt,
|
|
5896
|
+
nextE = (c * f - d * e) / dt,
|
|
5897
|
+
nextF = -(a * f - b * e) / dt,
|
|
5898
|
+
{
|
|
5899
|
+
x: x,
|
|
5900
|
+
y: y
|
|
5901
|
+
} = source;
|
|
5902
|
+
target.x = x * nextA + y * nextC + nextE, target.y = x * nextB + y * nextD + nextF;
|
|
5903
|
+
}
|
|
5904
|
+
onlyTranslate(scale = 1) {
|
|
5905
|
+
return this.a === scale && 0 === this.b && 0 === this.c && this.d === scale;
|
|
5906
|
+
}
|
|
5907
|
+
clone() {
|
|
5908
|
+
return new Matrix(this.a, this.b, this.c, this.d, this.e, this.f);
|
|
5909
|
+
}
|
|
5910
|
+
toTransformAttrs() {
|
|
5911
|
+
const a = this.a,
|
|
5912
|
+
b = this.b,
|
|
5913
|
+
c = this.c,
|
|
5914
|
+
d = this.d,
|
|
5915
|
+
delta = a * d - b * c,
|
|
5916
|
+
result = {
|
|
5917
|
+
x: this.e,
|
|
5918
|
+
y: this.f,
|
|
5919
|
+
rotateDeg: 0,
|
|
5920
|
+
scaleX: 0,
|
|
5921
|
+
scaleY: 0,
|
|
5922
|
+
skewX: 0,
|
|
5923
|
+
skewY: 0
|
|
5924
|
+
};
|
|
5925
|
+
if (0 !== a || 0 !== b) {
|
|
5926
|
+
const r = Math.sqrt(a * a + b * b);
|
|
5927
|
+
result.rotateDeg = b > 0 ? Math.acos(a / r) : -Math.acos(a / r), result.scaleX = r, result.scaleY = delta / r, result.skewX = (a * c + b * d) / delta, result.skewY = 0;
|
|
5928
|
+
} else if (0 !== c || 0 !== d) {
|
|
5929
|
+
const s = Math.sqrt(c * c + d * d);
|
|
5930
|
+
result.rotateDeg = Math.PI / 2 - (d > 0 ? Math.acos(-c / s) : -Math.acos(c / s)), result.scaleX = delta / s, result.scaleY = s, result.skewX = 0, result.skewY = (a * c + b * d) / delta;
|
|
5931
|
+
}
|
|
5932
|
+
return result.rotateDeg = radianToDegree(result.rotateDeg), result;
|
|
5933
|
+
}
|
|
5934
|
+
}
|
|
5935
|
+
function normalTransform(out, origin, x, y, scaleX, scaleY, angle, rotateCenter) {
|
|
5936
|
+
const oa = origin.a,
|
|
5937
|
+
ob = origin.b,
|
|
5938
|
+
oc = origin.c,
|
|
5939
|
+
od = origin.d,
|
|
5940
|
+
oe = origin.e,
|
|
5941
|
+
of = origin.f,
|
|
5942
|
+
cosTheta = cos(angle),
|
|
5943
|
+
sinTheta = sin(angle);
|
|
5944
|
+
let rotateCenterX, rotateCenterY;
|
|
5945
|
+
rotateCenter ? (rotateCenterX = rotateCenter[0], rotateCenterY = rotateCenter[1]) : (rotateCenterX = x, rotateCenterY = y);
|
|
5946
|
+
const offsetX = rotateCenterX - x,
|
|
5947
|
+
offsetY = rotateCenterY - y,
|
|
5948
|
+
a1 = oa * cosTheta + oc * sinTheta,
|
|
5949
|
+
b1 = ob * cosTheta + od * sinTheta,
|
|
5950
|
+
c1 = oc * cosTheta - oa * sinTheta,
|
|
5951
|
+
d1 = od * cosTheta - ob * sinTheta;
|
|
5952
|
+
out.a = scaleX * a1, out.b = scaleX * b1, out.c = scaleY * c1, out.d = scaleY * d1, out.e = oe + oa * rotateCenterX + oc * rotateCenterY - a1 * offsetX - c1 * offsetY, out.f = of + ob * rotateCenterX + od * rotateCenterY - b1 * offsetX - d1 * offsetY;
|
|
5953
|
+
}
|
|
5954
|
+
|
|
5955
|
+
function hslToRgb(h, s, l) {
|
|
5956
|
+
s /= 100, l /= 100;
|
|
5957
|
+
const c = (1 - Math.abs(2 * l - 1)) * s,
|
|
5958
|
+
x = c * (1 - Math.abs(h / 60 % 2 - 1)),
|
|
5959
|
+
m = l - c / 2;
|
|
5960
|
+
let r = 0,
|
|
5961
|
+
g = 0,
|
|
5962
|
+
b = 0;
|
|
5963
|
+
return 0 <= h && h < 60 ? (r = c, g = x, b = 0) : 60 <= h && h < 120 ? (r = x, g = c, b = 0) : 120 <= h && h < 180 ? (r = 0, g = c, b = x) : 180 <= h && h < 240 ? (r = 0, g = x, b = c) : 240 <= h && h < 300 ? (r = x, g = 0, b = c) : 300 <= h && h < 360 && (r = c, g = 0, b = x), r = Math.round(255 * (r + m)), g = Math.round(255 * (g + m)), b = Math.round(255 * (b + m)), {
|
|
5964
|
+
r: r,
|
|
5965
|
+
g: g,
|
|
5966
|
+
b: b
|
|
5967
|
+
};
|
|
5968
|
+
}
|
|
5969
|
+
|
|
5970
|
+
function rgbToHsl(r, g, b) {
|
|
5971
|
+
r /= 255, g /= 255, b /= 255;
|
|
5972
|
+
const cMin = Math.min(r, g, b),
|
|
5973
|
+
cMax = Math.max(r, g, b),
|
|
5974
|
+
delta = cMax - cMin;
|
|
5975
|
+
let h = 0,
|
|
5976
|
+
s = 0,
|
|
5977
|
+
l = 0;
|
|
5978
|
+
return h = 0 === delta ? 0 : cMax === r ? (g - b) / delta % 6 : cMax === g ? (b - r) / delta + 2 : (r - g) / delta + 4, h = Math.round(60 * h), h < 0 && (h += 360), l = (cMax + cMin) / 2, s = 0 === delta ? 0 : delta / (1 - Math.abs(2 * l - 1)), s = +(100 * s).toFixed(1), l = +(100 * l).toFixed(1), {
|
|
5979
|
+
h: h,
|
|
5980
|
+
s: s,
|
|
5981
|
+
l: l
|
|
5982
|
+
};
|
|
5983
|
+
}
|
|
5984
|
+
|
|
5985
|
+
const REG_HEX = /^#([0-9a-f]{3,8})$/,
|
|
5986
|
+
DEFAULT_COLORS_OPACITY = {
|
|
5987
|
+
transparent: 4294967040
|
|
5988
|
+
};
|
|
5989
|
+
const DEFAULT_COLORS = {
|
|
5990
|
+
aliceblue: 15792383,
|
|
5991
|
+
antiquewhite: 16444375,
|
|
5992
|
+
aqua: 65535,
|
|
5993
|
+
aquamarine: 8388564,
|
|
5994
|
+
azure: 15794175,
|
|
5995
|
+
beige: 16119260,
|
|
5996
|
+
bisque: 16770244,
|
|
5997
|
+
black: 0,
|
|
5998
|
+
blanchedalmond: 16772045,
|
|
5999
|
+
blue: 255,
|
|
6000
|
+
blueviolet: 9055202,
|
|
6001
|
+
brown: 10824234,
|
|
6002
|
+
burlywood: 14596231,
|
|
6003
|
+
cadetblue: 6266528,
|
|
6004
|
+
chartreuse: 8388352,
|
|
6005
|
+
chocolate: 13789470,
|
|
6006
|
+
coral: 16744272,
|
|
6007
|
+
cornflowerblue: 6591981,
|
|
6008
|
+
cornsilk: 16775388,
|
|
6009
|
+
crimson: 14423100,
|
|
6010
|
+
cyan: 65535,
|
|
6011
|
+
darkblue: 139,
|
|
6012
|
+
darkcyan: 35723,
|
|
6013
|
+
darkgoldenrod: 12092939,
|
|
6014
|
+
darkgray: 11119017,
|
|
6015
|
+
darkgreen: 25600,
|
|
6016
|
+
darkgrey: 11119017,
|
|
6017
|
+
darkkhaki: 12433259,
|
|
6018
|
+
darkmagenta: 9109643,
|
|
6019
|
+
darkolivegreen: 5597999,
|
|
6020
|
+
darkorange: 16747520,
|
|
6021
|
+
darkorchid: 10040012,
|
|
6022
|
+
darkred: 9109504,
|
|
6023
|
+
darksalmon: 15308410,
|
|
6024
|
+
darkseagreen: 9419919,
|
|
6025
|
+
darkslateblue: 4734347,
|
|
6026
|
+
darkslategray: 3100495,
|
|
6027
|
+
darkslategrey: 3100495,
|
|
6028
|
+
darkturquoise: 52945,
|
|
6029
|
+
darkviolet: 9699539,
|
|
6030
|
+
deeppink: 16716947,
|
|
6031
|
+
deepskyblue: 49151,
|
|
6032
|
+
dimgray: 6908265,
|
|
6033
|
+
dimgrey: 6908265,
|
|
6034
|
+
dodgerblue: 2003199,
|
|
6035
|
+
firebrick: 11674146,
|
|
6036
|
+
floralwhite: 16775920,
|
|
6037
|
+
forestgreen: 2263842,
|
|
6038
|
+
fuchsia: 16711935,
|
|
6039
|
+
gainsboro: 14474460,
|
|
6040
|
+
ghostwhite: 16316671,
|
|
6041
|
+
gold: 16766720,
|
|
6042
|
+
goldenrod: 14329120,
|
|
6043
|
+
gray: 8421504,
|
|
6044
|
+
green: 32768,
|
|
6045
|
+
greenyellow: 11403055,
|
|
6046
|
+
grey: 8421504,
|
|
6047
|
+
honeydew: 15794160,
|
|
6048
|
+
hotpink: 16738740,
|
|
6049
|
+
indianred: 13458524,
|
|
6050
|
+
indigo: 4915330,
|
|
6051
|
+
ivory: 16777200,
|
|
6052
|
+
khaki: 15787660,
|
|
6053
|
+
lavender: 15132410,
|
|
6054
|
+
lavenderblush: 16773365,
|
|
6055
|
+
lawngreen: 8190976,
|
|
6056
|
+
lemonchiffon: 16775885,
|
|
6057
|
+
lightblue: 11393254,
|
|
6058
|
+
lightcoral: 15761536,
|
|
6059
|
+
lightcyan: 14745599,
|
|
6060
|
+
lightgoldenrodyellow: 16448210,
|
|
6061
|
+
lightgray: 13882323,
|
|
6062
|
+
lightgreen: 9498256,
|
|
6063
|
+
lightgrey: 13882323,
|
|
6064
|
+
lightpink: 16758465,
|
|
6065
|
+
lightsalmon: 16752762,
|
|
6066
|
+
lightseagreen: 2142890,
|
|
6067
|
+
lightskyblue: 8900346,
|
|
6068
|
+
lightslategray: 7833753,
|
|
6069
|
+
lightslategrey: 7833753,
|
|
6070
|
+
lightsteelblue: 11584734,
|
|
6071
|
+
lightyellow: 16777184,
|
|
6072
|
+
lime: 65280,
|
|
6073
|
+
limegreen: 3329330,
|
|
6074
|
+
linen: 16445670,
|
|
6075
|
+
magenta: 16711935,
|
|
6076
|
+
maroon: 8388608,
|
|
6077
|
+
mediumaquamarine: 6737322,
|
|
6078
|
+
mediumblue: 205,
|
|
6079
|
+
mediumorchid: 12211667,
|
|
6080
|
+
mediumpurple: 9662683,
|
|
6081
|
+
mediumseagreen: 3978097,
|
|
6082
|
+
mediumslateblue: 8087790,
|
|
6083
|
+
mediumspringgreen: 64154,
|
|
6084
|
+
mediumturquoise: 4772300,
|
|
6085
|
+
mediumvioletred: 13047173,
|
|
6086
|
+
midnightblue: 1644912,
|
|
6087
|
+
mintcream: 16121850,
|
|
6088
|
+
mistyrose: 16770273,
|
|
6089
|
+
moccasin: 16770229,
|
|
6090
|
+
navajowhite: 16768685,
|
|
6091
|
+
navy: 128,
|
|
6092
|
+
oldlace: 16643558,
|
|
6093
|
+
olive: 8421376,
|
|
6094
|
+
olivedrab: 7048739,
|
|
6095
|
+
orange: 16753920,
|
|
6096
|
+
orangered: 16729344,
|
|
6097
|
+
orchid: 14315734,
|
|
6098
|
+
palegoldenrod: 15657130,
|
|
6099
|
+
palegreen: 10025880,
|
|
6100
|
+
paleturquoise: 11529966,
|
|
6101
|
+
palevioletred: 14381203,
|
|
6102
|
+
papayawhip: 16773077,
|
|
6103
|
+
peachpuff: 16767673,
|
|
6104
|
+
peru: 13468991,
|
|
6105
|
+
pink: 16761035,
|
|
6106
|
+
plum: 14524637,
|
|
6107
|
+
powderblue: 11591910,
|
|
6108
|
+
purple: 8388736,
|
|
6109
|
+
rebeccapurple: 6697881,
|
|
6110
|
+
red: 16711680,
|
|
6111
|
+
rosybrown: 12357519,
|
|
6112
|
+
royalblue: 4286945,
|
|
6113
|
+
saddlebrown: 9127187,
|
|
6114
|
+
salmon: 16416882,
|
|
6115
|
+
sandybrown: 16032864,
|
|
6116
|
+
seagreen: 3050327,
|
|
6117
|
+
seashell: 16774638,
|
|
6118
|
+
sienna: 10506797,
|
|
6119
|
+
silver: 12632256,
|
|
6120
|
+
skyblue: 8900331,
|
|
6121
|
+
slateblue: 6970061,
|
|
6122
|
+
slategray: 7372944,
|
|
6123
|
+
slategrey: 7372944,
|
|
6124
|
+
snow: 16775930,
|
|
6125
|
+
springgreen: 65407,
|
|
6126
|
+
steelblue: 4620980,
|
|
6127
|
+
tan: 13808780,
|
|
6128
|
+
teal: 32896,
|
|
6129
|
+
thistle: 14204888,
|
|
6130
|
+
tomato: 16737095,
|
|
6131
|
+
turquoise: 4251856,
|
|
6132
|
+
violet: 15631086,
|
|
6133
|
+
wheat: 16113331,
|
|
6134
|
+
white: 16777215,
|
|
6135
|
+
whitesmoke: 16119285,
|
|
6136
|
+
yellow: 16776960,
|
|
6137
|
+
yellowgreen: 10145074
|
|
6138
|
+
};
|
|
6139
|
+
function hex(value) {
|
|
6140
|
+
return ((value = Math.max(0, Math.min(255, Math.round(value) || 0))) < 16 ? "0" : "") + value.toString(16);
|
|
6141
|
+
}
|
|
6142
|
+
function rgb(value) {
|
|
6143
|
+
return isNumber$1(value) ? new RGB(value >> 16, value >> 8 & 255, 255 & value, 1) : isArray$1(value) ? new RGB(value[0], value[1], value[2]) : new RGB(255, 255, 255);
|
|
6144
|
+
}
|
|
6145
|
+
function rgba(value) {
|
|
6146
|
+
return isNumber$1(value) ? new RGB(value >>> 24, value >>> 16 & 255, value >>> 8 & 255, 255 & value) : isArray$1(value) ? new RGB(value[0], value[1], value[2], value[3]) : new RGB(255, 255, 255, 1);
|
|
6147
|
+
}
|
|
6148
|
+
function SRGBToLinear(c) {
|
|
6149
|
+
return c < .04045 ? .0773993808 * c : Math.pow(.9478672986 * c + .0521327014, 2.4);
|
|
6150
|
+
}
|
|
6151
|
+
function LinearToSRGB(c) {
|
|
6152
|
+
return c < .0031308 ? 12.92 * c : 1.055 * Math.pow(c, .41666) - .055;
|
|
6153
|
+
}
|
|
6154
|
+
const setHex = (formatValue, forceHex) => {
|
|
6155
|
+
const isHex = REG_HEX.exec(formatValue);
|
|
6156
|
+
if (forceHex || isHex) {
|
|
6157
|
+
const hex = parseInt(isHex[1], 16),
|
|
6158
|
+
hexLength = isHex[1].length;
|
|
6159
|
+
return 3 === hexLength ? new RGB((hex >> 8 & 15) + ((hex >> 8 & 15) << 4), (hex >> 4 & 15) + ((hex >> 4 & 15) << 4), (15 & hex) + ((15 & hex) << 4), 1) : 6 === hexLength ? rgb(hex) : 8 === hexLength ? new RGB(hex >> 24 & 255, hex >> 16 & 255, hex >> 8 & 255, (255 & hex) / 255) : null;
|
|
6160
|
+
}
|
|
6161
|
+
};
|
|
6162
|
+
class Color {
|
|
6163
|
+
static Brighter(source, b = 1) {
|
|
6164
|
+
return 1 === b ? source : new Color(source).brighter(b).toRGBA();
|
|
6165
|
+
}
|
|
6166
|
+
static SetOpacity(source, o = 1) {
|
|
6167
|
+
return 1 === o ? source : new Color(source).setOpacity(o).toRGBA();
|
|
6168
|
+
}
|
|
6169
|
+
static getColorBrightness(source, model = "hsl") {
|
|
6170
|
+
const color = source instanceof Color ? source : new Color(source);
|
|
6171
|
+
switch (model) {
|
|
6172
|
+
case "hsv":
|
|
6173
|
+
default:
|
|
6174
|
+
return color.getHSVBrightness();
|
|
6175
|
+
case "hsl":
|
|
6176
|
+
return color.getHSLBrightness();
|
|
6177
|
+
case "lum":
|
|
6178
|
+
return color.getLuminance();
|
|
6179
|
+
case "lum2":
|
|
6180
|
+
return color.getLuminance2();
|
|
6181
|
+
case "lum3":
|
|
6182
|
+
return color.getLuminance3();
|
|
6183
|
+
case "wcag":
|
|
6184
|
+
return color.getLuminanceWCAG();
|
|
6185
|
+
}
|
|
6186
|
+
}
|
|
6187
|
+
static parseColorString(value) {
|
|
6188
|
+
if (isValid$1(DEFAULT_COLORS_OPACITY[value])) return rgba(DEFAULT_COLORS_OPACITY[value]);
|
|
6189
|
+
if (isValid$1(DEFAULT_COLORS[value])) return rgb(DEFAULT_COLORS[value]);
|
|
6190
|
+
const formatValue = `${value}`.trim().toLowerCase(),
|
|
6191
|
+
hexRes = setHex(formatValue);
|
|
6192
|
+
if (void 0 !== hexRes) return hexRes;
|
|
6193
|
+
if (/^(rgb|RGB|rgba|RGBA)/.test(formatValue)) {
|
|
6194
|
+
const aColor = formatValue.replace(/(?:\(|\)|rgba|RGBA|rgb|RGB)*/g, "").split(",");
|
|
6195
|
+
return new RGB(parseInt(aColor[0], 10), parseInt(aColor[1], 10), parseInt(aColor[2], 10), parseFloat(aColor[3]));
|
|
6196
|
+
}
|
|
6197
|
+
if (/^(hsl|HSL|hsla|HSLA)/.test(formatValue)) {
|
|
6198
|
+
const aColor = formatValue.replace(/(?:\(|\)|hsla|HSLA|hsl|HSL)*/g, "").split(","),
|
|
6199
|
+
rgb = hslToRgb(parseInt(aColor[0], 10), parseInt(aColor[1], 10), parseInt(aColor[2], 10));
|
|
6200
|
+
return new RGB(rgb.r, rgb.g, rgb.b, parseFloat(aColor[3]));
|
|
6201
|
+
}
|
|
6202
|
+
}
|
|
6203
|
+
constructor(value) {
|
|
6204
|
+
const color = Color.parseColorString(value);
|
|
6205
|
+
color ? this.color = color : (console.warn(`Warn: 传入${value}无法解析为Color`), this.color = new RGB(255, 255, 255));
|
|
6206
|
+
}
|
|
6207
|
+
toRGBA() {
|
|
6208
|
+
return this.color.formatRgb();
|
|
6209
|
+
}
|
|
6210
|
+
toString() {
|
|
6211
|
+
return this.color.formatRgb();
|
|
6212
|
+
}
|
|
6213
|
+
toHex() {
|
|
6214
|
+
return this.color.formatHex();
|
|
6215
|
+
}
|
|
6216
|
+
toHsl() {
|
|
6217
|
+
return this.color.formatHsl();
|
|
6218
|
+
}
|
|
6219
|
+
brighter(k) {
|
|
6220
|
+
const {
|
|
6221
|
+
r: r,
|
|
6222
|
+
g: g,
|
|
6223
|
+
b: b
|
|
6224
|
+
} = this.color;
|
|
6225
|
+
return this.color.r = Math.max(0, Math.min(255, Math.floor(r * k))), this.color.g = Math.max(0, Math.min(255, Math.floor(g * k))), this.color.b = Math.max(0, Math.min(255, Math.floor(b * k))), this;
|
|
6226
|
+
}
|
|
6227
|
+
add(color) {
|
|
6228
|
+
const {
|
|
6229
|
+
r: r,
|
|
6230
|
+
g: g,
|
|
6231
|
+
b: b
|
|
6232
|
+
} = this.color;
|
|
6233
|
+
return this.color.r += Math.min(255, r + color.color.r), this.color.g += Math.min(255, g + color.color.g), this.color.b += Math.min(255, b + color.color.b), this;
|
|
6234
|
+
}
|
|
6235
|
+
sub(color) {
|
|
6236
|
+
return this.color.r = Math.max(0, this.color.r - color.color.r), this.color.g = Math.max(0, this.color.g - color.color.g), this.color.b = Math.max(0, this.color.b - color.color.b), this;
|
|
6237
|
+
}
|
|
6238
|
+
multiply(color) {
|
|
6239
|
+
const {
|
|
6240
|
+
r: r,
|
|
6241
|
+
g: g,
|
|
6242
|
+
b: b
|
|
6243
|
+
} = this.color;
|
|
6244
|
+
return this.color.r = Math.max(0, Math.min(255, Math.floor(r * color.color.r))), this.color.g = Math.max(0, Math.min(255, Math.floor(g * color.color.g))), this.color.b = Math.max(0, Math.min(255, Math.floor(b * color.color.b))), this;
|
|
6245
|
+
}
|
|
6246
|
+
getHSVBrightness() {
|
|
6247
|
+
return Math.max(this.color.r, this.color.g, this.color.b) / 255;
|
|
5254
6248
|
}
|
|
5255
|
-
|
|
5256
|
-
|
|
5257
|
-
switch (binding.type) {
|
|
5258
|
-
case BindingTypeEnum.ConstantValue:
|
|
5259
|
-
case BindingTypeEnum.Function:
|
|
5260
|
-
result = binding.cache;
|
|
5261
|
-
break;
|
|
5262
|
-
case BindingTypeEnum.Instance:
|
|
5263
|
-
result = this._resolveInstance(binding, binding.implementationType);
|
|
5264
|
-
break;
|
|
5265
|
-
default:
|
|
5266
|
-
result = binding.dynamicValue({
|
|
5267
|
-
container: this
|
|
5268
|
-
});
|
|
5269
|
-
}
|
|
5270
|
-
return result;
|
|
6249
|
+
getHSLBrightness() {
|
|
6250
|
+
return .5 * (Math.max(this.color.r, this.color.g, this.color.b) / 255 + Math.min(this.color.r, this.color.g, this.color.b) / 255);
|
|
5271
6251
|
}
|
|
5272
|
-
|
|
5273
|
-
|
|
5274
|
-
|
|
5275
|
-
|
|
6252
|
+
setHsl(h, s, l) {
|
|
6253
|
+
const opacity = this.color.opacity,
|
|
6254
|
+
hsl = rgbToHsl(this.color.r, this.color.g, this.color.b),
|
|
6255
|
+
rgb = hslToRgb(isNil$1(h) ? hsl.h : clamp$1(h, 0, 360), isNil$1(s) ? hsl.s : s >= 0 && s <= 1 ? 100 * s : s, isNil$1(l) ? hsl.l : l <= 1 && l >= 0 ? 100 * l : l);
|
|
6256
|
+
return this.color = new RGB(rgb.r, rgb.g, rgb.b, opacity), this;
|
|
5276
6257
|
}
|
|
5277
|
-
|
|
5278
|
-
|
|
5279
|
-
return new constr(...this._resolveRequests(childRequests));
|
|
5280
|
-
}
|
|
5281
|
-
return new constr();
|
|
6258
|
+
setRGB(r, g, b) {
|
|
6259
|
+
return !isNil$1(r) && (this.color.r = r), !isNil$1(g) && (this.color.g = g), !isNil$1(b) && (this.color.b = b), this;
|
|
5282
6260
|
}
|
|
5283
|
-
|
|
5284
|
-
|
|
6261
|
+
setHex(value) {
|
|
6262
|
+
const formatValue = `${value}`.trim().toLowerCase(),
|
|
6263
|
+
res = setHex(formatValue, !0);
|
|
6264
|
+
return null != res ? res : this;
|
|
5285
6265
|
}
|
|
5286
|
-
|
|
5287
|
-
|
|
6266
|
+
setColorName(name) {
|
|
6267
|
+
const hex = DEFAULT_COLORS[name.toLowerCase()];
|
|
6268
|
+
return void 0 !== hex ? this.setHex(hex) : console.warn("THREE.Color: Unknown color " + name), this;
|
|
5288
6269
|
}
|
|
5289
|
-
|
|
5290
|
-
|
|
5291
|
-
const ContributionProvider = Symbol("ContributionProvider");
|
|
5292
|
-
class ContributionProviderCache {
|
|
5293
|
-
constructor(serviceIdentifier, container) {
|
|
5294
|
-
this.serviceIdentifier = serviceIdentifier, this.container = container, ContributionStore.setStore(this.serviceIdentifier, this);
|
|
6270
|
+
setScalar(scalar) {
|
|
6271
|
+
return this.color.r = scalar, this.color.g = scalar, this.color.b = scalar, this;
|
|
5295
6272
|
}
|
|
5296
|
-
|
|
5297
|
-
return this.
|
|
6273
|
+
setOpacity(o = 1) {
|
|
6274
|
+
return this.color.opacity = o, this;
|
|
5298
6275
|
}
|
|
5299
|
-
|
|
5300
|
-
|
|
6276
|
+
getLuminance() {
|
|
6277
|
+
return (.2126 * this.color.r + .7152 * this.color.g + .0722 * this.color.b) / 255;
|
|
5301
6278
|
}
|
|
5302
|
-
|
|
5303
|
-
|
|
5304
|
-
bind(ContributionProvider).toDynamicValue(({
|
|
5305
|
-
container: container
|
|
5306
|
-
}) => new ContributionProviderCache(id, container)).inSingletonScope().whenTargetNamed(id);
|
|
5307
|
-
}
|
|
5308
|
-
class ContributionStore {
|
|
5309
|
-
static getStore(id) {
|
|
5310
|
-
return this.store.get(id);
|
|
6279
|
+
getLuminance2() {
|
|
6280
|
+
return (.2627 * this.color.r + .678 * this.color.g + .0593 * this.color.b) / 255;
|
|
5311
6281
|
}
|
|
5312
|
-
|
|
5313
|
-
this.
|
|
6282
|
+
getLuminance3() {
|
|
6283
|
+
return (.299 * this.color.r + .587 * this.color.g + .114 * this.color.b) / 255;
|
|
5314
6284
|
}
|
|
5315
|
-
|
|
5316
|
-
this.
|
|
5317
|
-
|
|
5318
|
-
|
|
6285
|
+
getLuminanceWCAG() {
|
|
6286
|
+
const RsRGB = this.color.r / 255,
|
|
6287
|
+
GsRGB = this.color.g / 255,
|
|
6288
|
+
BsRGB = this.color.b / 255;
|
|
6289
|
+
let R, G, B;
|
|
6290
|
+
R = RsRGB <= .03928 ? RsRGB / 12.92 : Math.pow((RsRGB + .055) / 1.055, 2.4), G = GsRGB <= .03928 ? GsRGB / 12.92 : Math.pow((GsRGB + .055) / 1.055, 2.4), B = BsRGB <= .03928 ? BsRGB / 12.92 : Math.pow((BsRGB + .055) / 1.055, 2.4);
|
|
6291
|
+
return .2126 * R + .7152 * G + .0722 * B;
|
|
5319
6292
|
}
|
|
5320
|
-
|
|
5321
|
-
|
|
5322
|
-
|
|
5323
|
-
class Hook {
|
|
5324
|
-
constructor(args, name) {
|
|
5325
|
-
this._args = args, this.name = name, this.taps = [];
|
|
6293
|
+
clone() {
|
|
6294
|
+
return new Color(this.color.toString());
|
|
5326
6295
|
}
|
|
5327
|
-
|
|
5328
|
-
this.
|
|
6296
|
+
copyGammaToLinear(color, gammaFactor = 2) {
|
|
6297
|
+
return this.color.r = Math.pow(color.color.r, gammaFactor), this.color.g = Math.pow(color.color.g, gammaFactor), this.color.b = Math.pow(color.color.b, gammaFactor), this;
|
|
5329
6298
|
}
|
|
5330
|
-
|
|
5331
|
-
const
|
|
5332
|
-
|
|
6299
|
+
copyLinearToGamma(color, gammaFactor = 2) {
|
|
6300
|
+
const safeInverse = gammaFactor > 0 ? 1 / gammaFactor : 1;
|
|
6301
|
+
return this.color.r = Math.pow(color.color.r, safeInverse), this.color.g = Math.pow(color.color.g, safeInverse), this.color.b = Math.pow(color.color.b, safeInverse), this;
|
|
5333
6302
|
}
|
|
5334
|
-
|
|
5335
|
-
|
|
5336
|
-
if ("string" == typeof options) _options = {
|
|
5337
|
-
name: options.trim()
|
|
5338
|
-
};else if ("object" != typeof options || null === options) throw new Error("Invalid tap options");
|
|
5339
|
-
if ("string" != typeof _options.name || "" === _options.name) throw new Error("Missing name for tap");
|
|
5340
|
-
return _options = Object.assign({
|
|
5341
|
-
type: type,
|
|
5342
|
-
fn: fn
|
|
5343
|
-
}, _options), _options;
|
|
6303
|
+
convertGammaToLinear(gammaFactor) {
|
|
6304
|
+
return this.copyGammaToLinear(this, gammaFactor), this;
|
|
5344
6305
|
}
|
|
5345
|
-
|
|
5346
|
-
this.
|
|
6306
|
+
convertLinearToGamma(gammaFactor) {
|
|
6307
|
+
return this.copyLinearToGamma(this, gammaFactor), this;
|
|
5347
6308
|
}
|
|
5348
|
-
|
|
5349
|
-
|
|
5350
|
-
"string" == typeof item.before ? before = new Set([item.before]) : Array.isArray(item.before) && (before = new Set(item.before));
|
|
5351
|
-
let stage = 0;
|
|
5352
|
-
"number" == typeof item.stage && (stage = item.stage);
|
|
5353
|
-
let i = this.taps.length;
|
|
5354
|
-
for (; i > 0;) {
|
|
5355
|
-
i--;
|
|
5356
|
-
const x = this.taps[i];
|
|
5357
|
-
this.taps[i + 1] = x;
|
|
5358
|
-
const xStage = x.stage || 0;
|
|
5359
|
-
if (before) {
|
|
5360
|
-
if (before.has(x.name)) {
|
|
5361
|
-
before.delete(x.name);
|
|
5362
|
-
continue;
|
|
5363
|
-
}
|
|
5364
|
-
if (before.size > 0) continue;
|
|
5365
|
-
}
|
|
5366
|
-
if (!(xStage > stage)) {
|
|
5367
|
-
i++;
|
|
5368
|
-
break;
|
|
5369
|
-
}
|
|
5370
|
-
}
|
|
5371
|
-
this.taps[i] = item;
|
|
6309
|
+
copySRGBToLinear(color) {
|
|
6310
|
+
return this.color.r = SRGBToLinear(color.color.r), this.color.g = SRGBToLinear(color.color.g), this.color.b = SRGBToLinear(color.color.b), this;
|
|
5372
6311
|
}
|
|
5373
|
-
|
|
5374
|
-
|
|
5375
|
-
|
|
5376
|
-
|
|
5377
|
-
this.
|
|
6312
|
+
copyLinearToSRGB(color) {
|
|
6313
|
+
return this.color.r = LinearToSRGB(color.color.r), this.color.g = LinearToSRGB(color.color.g), this.color.b = LinearToSRGB(color.color.b), this;
|
|
6314
|
+
}
|
|
6315
|
+
convertSRGBToLinear() {
|
|
6316
|
+
return this.copySRGBToLinear(this), this;
|
|
6317
|
+
}
|
|
6318
|
+
convertLinearToSRGB() {
|
|
6319
|
+
return this.copyLinearToSRGB(this), this;
|
|
5378
6320
|
}
|
|
5379
6321
|
}
|
|
5380
|
-
|
|
5381
|
-
|
|
5382
|
-
|
|
5383
|
-
class Application {}
|
|
5384
|
-
const application = new Application();
|
|
5385
|
-
|
|
5386
|
-
let idx = 0;
|
|
5387
|
-
class PerformanceRAF {
|
|
5388
|
-
constructor() {
|
|
5389
|
-
this.nextAnimationFrameCbs = new Map(), this._rafHandle = null, this.runAnimationFrame = time => {
|
|
5390
|
-
this._rafHandle = null;
|
|
5391
|
-
const cbs = this.nextAnimationFrameCbs;
|
|
5392
|
-
this.nextAnimationFrameCbs = new Map(), cbs.forEach(cb => cb(time));
|
|
5393
|
-
}, this.tryRunAnimationFrameNextFrame = () => {
|
|
5394
|
-
null === this._rafHandle && 0 !== this.nextAnimationFrameCbs.size && (this._rafHandle = application.global.getRequestAnimationFrame()(this.runAnimationFrame));
|
|
5395
|
-
};
|
|
6322
|
+
class RGB {
|
|
6323
|
+
constructor(r, g, b, opacity) {
|
|
6324
|
+
this.r = isNaN(+r) ? 255 : Math.max(0, Math.min(255, +r)), this.g = isNaN(+g) ? 255 : Math.max(0, Math.min(255, +g)), this.b = isNaN(+b) ? 255 : Math.max(0, Math.min(255, +b)), isValid$1(opacity) ? this.opacity = isNaN(+opacity) ? 1 : Math.max(0, Math.min(1, +opacity)) : this.opacity = 1;
|
|
5396
6325
|
}
|
|
5397
|
-
|
|
5398
|
-
return this.
|
|
6326
|
+
formatHex() {
|
|
6327
|
+
return `#${hex(this.r) + hex(this.g) + hex(this.b) + (1 === this.opacity ? "" : hex(255 * this.opacity))}`;
|
|
5399
6328
|
}
|
|
5400
|
-
|
|
5401
|
-
|
|
6329
|
+
formatRgb() {
|
|
6330
|
+
const opacity = this.opacity;
|
|
6331
|
+
return `${1 === opacity ? "rgb(" : "rgba("}${this.r},${this.g},${this.b}${1 === opacity ? ")" : `,${opacity})`}`;
|
|
6332
|
+
}
|
|
6333
|
+
formatHsl() {
|
|
6334
|
+
const opacity = this.opacity,
|
|
6335
|
+
{
|
|
6336
|
+
h: h,
|
|
6337
|
+
s: s,
|
|
6338
|
+
l: l
|
|
6339
|
+
} = rgbToHsl(this.r, this.g, this.b);
|
|
6340
|
+
return `${1 === opacity ? "hsl(" : "hsla("}${h},${s}%,${l}%${1 === opacity ? ")" : `,${opacity})`}`;
|
|
6341
|
+
}
|
|
6342
|
+
toString() {
|
|
6343
|
+
return this.formatHex();
|
|
5402
6344
|
}
|
|
5403
6345
|
}
|
|
5404
6346
|
|
|
5405
|
-
|
|
5406
|
-
|
|
5407
|
-
|
|
5408
|
-
|
|
5409
|
-
|
|
5410
|
-
|
|
5411
|
-
|
|
5412
|
-
|
|
5413
|
-
|
|
5414
|
-
|
|
5415
|
-
|
|
5416
|
-
|
|
5417
|
-
|
|
5418
|
-
|
|
5419
|
-
|
|
5420
|
-
|
|
5421
|
-
|
|
5422
|
-
|
|
6347
|
+
function normalizePadding(padding) {
|
|
6348
|
+
if (isValidNumber$1(padding)) return [padding, padding, padding, padding];
|
|
6349
|
+
if (isArray$1(padding)) {
|
|
6350
|
+
const length = padding.length;
|
|
6351
|
+
if (1 === length) {
|
|
6352
|
+
const paddingValue = padding[0];
|
|
6353
|
+
return [paddingValue, paddingValue, paddingValue, paddingValue];
|
|
6354
|
+
}
|
|
6355
|
+
if (2 === length) {
|
|
6356
|
+
const [vertical, horizontal] = padding;
|
|
6357
|
+
return [vertical, horizontal, vertical, horizontal];
|
|
6358
|
+
}
|
|
6359
|
+
if (3 === length) {
|
|
6360
|
+
const [top, horizontal, bottom] = padding;
|
|
6361
|
+
return [top, horizontal, bottom, horizontal];
|
|
6362
|
+
}
|
|
6363
|
+
if (4 === length) return padding;
|
|
6364
|
+
}
|
|
6365
|
+
if (isObject$1(padding)) {
|
|
6366
|
+
const {
|
|
6367
|
+
top = 0,
|
|
6368
|
+
right = 0,
|
|
6369
|
+
bottom = 0,
|
|
6370
|
+
left = 0
|
|
6371
|
+
} = padding;
|
|
6372
|
+
return [top, right, bottom, left];
|
|
6373
|
+
}
|
|
6374
|
+
return [0, 0, 0, 0];
|
|
6375
|
+
}
|
|
5423
6376
|
|
|
5424
6377
|
const circleThreshold = tau - 1e-8;
|
|
5425
6378
|
class BoundsContext {
|
|
@@ -10622,7 +11575,7 @@
|
|
|
10622
11575
|
});
|
|
10623
11576
|
}
|
|
10624
11577
|
release() {
|
|
10625
|
-
this.releaseStatus = "released", this.stopAnimates(), application.graphicService.onRelease(this);
|
|
11578
|
+
this.releaseStatus = "released", this.stopAnimates(), application.graphicService.onRelease(this), super.release();
|
|
10626
11579
|
}
|
|
10627
11580
|
_emitCustomEvent(type, context) {
|
|
10628
11581
|
var _a, _b;
|
|
@@ -18170,6 +19123,11 @@
|
|
|
18170
19123
|
}
|
|
18171
19124
|
}
|
|
18172
19125
|
class DefaultTicker extends EventEmitter {
|
|
19126
|
+
pushFrameTime(time) {
|
|
19127
|
+
this.frameTimeHistory.push(time);
|
|
19128
|
+
const overflow = this.frameTimeHistory.length - 600;
|
|
19129
|
+
overflow > 0 && this.frameTimeHistory.splice(0, overflow);
|
|
19130
|
+
}
|
|
18173
19131
|
constructor(stage) {
|
|
18174
19132
|
super(), this.timelines = [], this.frameTimeHistory = [], this.handleTick = (handler, params) => {
|
|
18175
19133
|
const {
|
|
@@ -18177,14 +19135,16 @@
|
|
|
18177
19135
|
} = null != params ? params : {};
|
|
18178
19136
|
if (this.ifCanStop()) return this.stop(), !1;
|
|
18179
19137
|
const currentTime = handler.getTime();
|
|
18180
|
-
this._lastTickTime = currentTime, this.lastFrameTime < 0 && (this.lastFrameTime = currentTime - this.interval + this.timeOffset, this.
|
|
19138
|
+
this._lastTickTime = currentTime, this.lastFrameTime < 0 && (this.lastFrameTime = currentTime - this.interval + this.timeOffset, this.pushFrameTime(this.lastFrameTime));
|
|
18181
19139
|
const delta = currentTime - this.lastFrameTime,
|
|
18182
19140
|
skip = this.checkSkip(delta);
|
|
18183
|
-
return skip || (this._handlerTick(delta), this.lastFrameTime = currentTime, this.
|
|
19141
|
+
return skip || (this._handlerTick(delta), this.lastFrameTime = currentTime, this.pushFrameTime(this.lastFrameTime)), once || handler.tick(this.interval, this.handleTick), !skip;
|
|
18184
19142
|
}, this._handlerTick = delta => {
|
|
18185
19143
|
this.status === STATUS.RUNNING && (this.tickCounts++, this.timelines.forEach(timeline => {
|
|
18186
19144
|
timeline.tick(delta);
|
|
18187
19145
|
}), this.emit("tick", delta));
|
|
19146
|
+
}, this._handleGraphTick = () => {
|
|
19147
|
+
this.initHandler(!1);
|
|
18188
19148
|
}, this.init(), this.lastFrameTime = -1, this.tickCounts = 0, this.stage = stage, this.autoStop = !0, this.interval = 16, this.computeTimeOffsetAndJitter();
|
|
18189
19149
|
}
|
|
18190
19150
|
bindStage(stage) {
|
|
@@ -18194,9 +19154,7 @@
|
|
|
18194
19154
|
this.timeOffset = Math.floor(Math.random() * this.interval), this._jitter = Math.min(Math.max(.2 * this.interval, 6), .7 * this.interval);
|
|
18195
19155
|
}
|
|
18196
19156
|
init() {
|
|
18197
|
-
this.interval = 16, this.status = STATUS.INITIAL, application.global.hooks.onSetEnv.tap("graph-ticker",
|
|
18198
|
-
this.initHandler(!1);
|
|
18199
|
-
}), application.global.env && this.initHandler(!1);
|
|
19157
|
+
this.interval = 16, this.status = STATUS.INITIAL, application.global.hooks.onSetEnv.tap("graph-ticker", this._handleGraphTick), application.global.env && this.initHandler(!1);
|
|
18200
19158
|
}
|
|
18201
19159
|
addTimeline(timeline) {
|
|
18202
19160
|
this.timelines.push(timeline);
|
|
@@ -18269,7 +19227,7 @@
|
|
|
18269
19227
|
}
|
|
18270
19228
|
release() {
|
|
18271
19229
|
var _a;
|
|
18272
|
-
this.stop(), this.timelines = [], null === (_a = this.tickerHandler) || void 0 === _a || _a.release(), this.tickerHandler = null, this.lastFrameTime = -1;
|
|
19230
|
+
this.stop(), this.timelines = [], this.frameTimeHistory.length = 0, null === (_a = this.tickerHandler) || void 0 === _a || _a.release(), this.tickerHandler = null, this.lastFrameTime = -1, application.global.hooks.onSetEnv.unTap("graph-ticker", this._handleGraphTick);
|
|
18273
19231
|
}
|
|
18274
19232
|
checkSkip(delta) {
|
|
18275
19233
|
var _a, _b, _c;
|
|
@@ -19167,35 +20125,35 @@
|
|
|
19167
20125
|
vchart.registerCartesianBandAxis();
|
|
19168
20126
|
const AxisCls = vchart.Factory.getComponentInKey(vchart.CartesianBandAxis.type);
|
|
19169
20127
|
AxisCls.builtInTheme = Object.assign(Object.assign({}, AxisCls.builtInTheme), { axisZ: Object.assign(Object.assign({}, vchart.CartesianBandAxis.builtInTheme.axisX), axisZ) });
|
|
19170
|
-
mixin(AxisCls, Axis3dMixin);
|
|
20128
|
+
mixin$1(AxisCls, Axis3dMixin);
|
|
19171
20129
|
};
|
|
19172
20130
|
|
|
19173
20131
|
const registerCartesianLinearAxis3d = () => {
|
|
19174
20132
|
vchart.registerCartesianLinearAxis();
|
|
19175
20133
|
const AxisCls = vchart.Factory.getComponentInKey(vchart.CartesianLinearAxis.type);
|
|
19176
20134
|
AxisCls.builtInTheme = Object.assign(Object.assign({}, AxisCls.builtInTheme), { axisZ: Object.assign(Object.assign({}, vchart.CartesianLinearAxis.builtInTheme.axisX), axisZ) });
|
|
19177
|
-
mixin(AxisCls, Axis3dMixin);
|
|
20135
|
+
mixin$1(AxisCls, Axis3dMixin);
|
|
19178
20136
|
};
|
|
19179
20137
|
|
|
19180
20138
|
const registerCartesianLogAxis3d = () => {
|
|
19181
20139
|
vchart.registerCartesianLogAxis();
|
|
19182
20140
|
const AxisCls = vchart.Factory.getComponentInKey(vchart.CartesianLogAxis.type);
|
|
19183
20141
|
AxisCls.builtInTheme = Object.assign(Object.assign({}, AxisCls.builtInTheme), { axisZ: Object.assign(Object.assign({}, vchart.CartesianLogAxis.builtInTheme.axisX), axisZ) });
|
|
19184
|
-
mixin(AxisCls, Axis3dMixin);
|
|
20142
|
+
mixin$1(AxisCls, Axis3dMixin);
|
|
19185
20143
|
};
|
|
19186
20144
|
|
|
19187
20145
|
const registerCartesianSymlogAxis3d = () => {
|
|
19188
20146
|
vchart.registerCartesianLogAxis();
|
|
19189
20147
|
const AxisCls = vchart.Factory.getComponentInKey(vchart.CartesianSymlogAxis.type);
|
|
19190
20148
|
AxisCls.builtInTheme = Object.assign(Object.assign({}, AxisCls.builtInTheme), { axisZ: Object.assign(Object.assign({}, AxisCls.builtInTheme.axisX), axisZ) });
|
|
19191
|
-
mixin(AxisCls, Axis3dMixin);
|
|
20149
|
+
mixin$1(AxisCls, Axis3dMixin);
|
|
19192
20150
|
};
|
|
19193
20151
|
|
|
19194
20152
|
const registerCartesianTimeAxis3d = () => {
|
|
19195
20153
|
vchart.registerCartesianTimeAxis();
|
|
19196
20154
|
const AxisCls = vchart.Factory.getComponentInKey(vchart.CartesianTimeAxis.type);
|
|
19197
20155
|
AxisCls.builtInTheme = Object.assign(Object.assign({}, AxisCls.builtInTheme), { axisZ: Object.assign(Object.assign({}, AxisCls.builtInTheme.axisX), axisZ) });
|
|
19198
|
-
mixin(AxisCls, Axis3dMixin);
|
|
20156
|
+
mixin$1(AxisCls, Axis3dMixin);
|
|
19199
20157
|
};
|
|
19200
20158
|
|
|
19201
20159
|
const registerAxis3dPlugin = () => {
|
|
@@ -19354,7 +20312,7 @@
|
|
|
19354
20312
|
const svg = chartSpec.svg;
|
|
19355
20313
|
const elements = (_c = (_b = svgSourceMap.get(svg)) === null || _b === void 0 ? void 0 : _b.latestData) === null || _c === void 0 ? void 0 : _c.elements;
|
|
19356
20314
|
if (elements && elements.length) {
|
|
19357
|
-
const names = elements.map(e => e.name).filter(n => isValid$
|
|
20315
|
+
const names = elements.map(e => e.name).filter(n => isValid$3(n));
|
|
19358
20316
|
names.forEach(name => {
|
|
19359
20317
|
if (chartSpec[name]) {
|
|
19360
20318
|
spec[name] = chartSpec[name];
|
|
@@ -19415,7 +20373,7 @@
|
|
|
19415
20373
|
return e.node.name;
|
|
19416
20374
|
}
|
|
19417
20375
|
start(itemKey) {
|
|
19418
|
-
if (isNil$
|
|
20376
|
+
if (isNil$3(itemKey)) {
|
|
19419
20377
|
return;
|
|
19420
20378
|
}
|
|
19421
20379
|
const { interaction, highlightState, blurState } = this.options;
|
|
@@ -19470,7 +20428,7 @@
|
|
|
19470
20428
|
|
|
19471
20429
|
function isValidStrokeOrFill(attr) {
|
|
19472
20430
|
var _a;
|
|
19473
|
-
return isValid$
|
|
20431
|
+
return isValid$3(attr) && attr !== 'none' && !((_a = attr.includes) === null || _a === void 0 ? void 0 : _a.call(attr, 'url'));
|
|
19474
20432
|
}
|
|
19475
20433
|
const getLineWidth = (attributes) => {
|
|
19476
20434
|
const strokeWidth = parseFloat(attributes.strokeWidth);
|
|
@@ -19551,10 +20509,10 @@
|
|
|
19551
20509
|
visible: el.attributes.visibility !== 'hidden' && el.attributes.visibility !== 'collapse'
|
|
19552
20510
|
};
|
|
19553
20511
|
if (el.graphicType === 'text') {
|
|
19554
|
-
merge(finalAttributes, el._inheritStyle, (_a = el.parent) === null || _a === void 0 ? void 0 : _a._textGroupStyle, el.attributes);
|
|
20512
|
+
merge$1(finalAttributes, el._inheritStyle, (_a = el.parent) === null || _a === void 0 ? void 0 : _a._textGroupStyle, el.attributes);
|
|
19555
20513
|
}
|
|
19556
20514
|
else if (el.graphicType !== 'group') {
|
|
19557
|
-
merge(finalAttributes, el._inheritStyle, el.attributes);
|
|
20515
|
+
merge$1(finalAttributes, el._inheritStyle, el.attributes);
|
|
19558
20516
|
}
|
|
19559
20517
|
if (graphicAttributeTransform[type]) {
|
|
19560
20518
|
el._finalAttributes = graphicAttributeTransform[type](finalAttributes, el.value);
|
|
@@ -19655,7 +20613,7 @@
|
|
|
19655
20613
|
}
|
|
19656
20614
|
_defaultSelectConfig(finalSelectSpec) {
|
|
19657
20615
|
const isMultiple = finalSelectSpec.mode === 'multiple';
|
|
19658
|
-
const triggerOff = isValid$
|
|
20616
|
+
const triggerOff = isValid$3(finalSelectSpec.triggerOff)
|
|
19659
20617
|
? finalSelectSpec.triggerOff
|
|
19660
20618
|
: isMultiple
|
|
19661
20619
|
? ['empty', 'self']
|
|
@@ -19764,10 +20722,10 @@
|
|
|
19764
20722
|
if (mark) {
|
|
19765
20723
|
this.setMarkStyle(mark, { keepStrokeScale: true }, 'normal', vchart.AttributeLevel.Built_In);
|
|
19766
20724
|
if (valid) {
|
|
19767
|
-
this.initMarkStyleWithSpec(mark, merge({}, this._spec.pictogram, this._spec[mark.name]));
|
|
20725
|
+
this.initMarkStyleWithSpec(mark, merge$1({}, this._spec.pictogram, this._spec[mark.name]));
|
|
19768
20726
|
this.setMarkStyle(mark, attributes, 'normal', vchart.AttributeLevel.Series);
|
|
19769
20727
|
mark.setPostProcess('fill', (result, datum) => {
|
|
19770
|
-
return isValid$
|
|
20728
|
+
return isValid$3(result) ? result : this._spec.defaultFillColor;
|
|
19771
20729
|
});
|
|
19772
20730
|
}
|
|
19773
20731
|
else {
|
|
@@ -19801,7 +20759,7 @@
|
|
|
19801
20759
|
if (!mark || mark.length === 0) {
|
|
19802
20760
|
return null;
|
|
19803
20761
|
}
|
|
19804
|
-
let bounds = new Bounds();
|
|
20762
|
+
let bounds = new Bounds$1();
|
|
19805
20763
|
if (global) {
|
|
19806
20764
|
mark.forEach(m => {
|
|
19807
20765
|
bounds = bounds.union(m.getGraphics()[0].globalAABBBounds);
|
|
@@ -19926,7 +20884,7 @@
|
|
|
19926
20884
|
if (root) {
|
|
19927
20885
|
if (!root.attribute.postMatrix) {
|
|
19928
20886
|
root.setAttributes({
|
|
19929
|
-
postMatrix: new Matrix()
|
|
20887
|
+
postMatrix: new Matrix$1()
|
|
19930
20888
|
});
|
|
19931
20889
|
}
|
|
19932
20890
|
root.scale(scale, scale, scaleCenter);
|
|
@@ -19941,7 +20899,7 @@
|
|
|
19941
20899
|
if (root) {
|
|
19942
20900
|
if (!root.attribute.postMatrix) {
|
|
19943
20901
|
root.setAttributes({
|
|
19944
|
-
postMatrix: new Matrix()
|
|
20902
|
+
postMatrix: new Matrix$1()
|
|
19945
20903
|
});
|
|
19946
20904
|
}
|
|
19947
20905
|
root.translate(delta[0], delta[1]);
|
|
@@ -20169,7 +21127,7 @@
|
|
|
20169
21127
|
g = imageData.data[y * width * 4 + 4 * x + 1],
|
|
20170
21128
|
b = imageData.data[y * width * 4 + 4 * x + 2];
|
|
20171
21129
|
if (255 === r && 255 === g && 255 === b) return !invert;
|
|
20172
|
-
if (isValidNumber$
|
|
21130
|
+
if (isValidNumber$3(threshold)) {
|
|
20173
21131
|
const grayValue = .3 * r + .59 * g + .11 * b;
|
|
20174
21132
|
return invert ? grayValue <= threshold : grayValue >= threshold;
|
|
20175
21133
|
}
|
|
@@ -20224,7 +21182,7 @@
|
|
|
20224
21182
|
ctx.font = `${fontStyle} ${fontVariant} ${fontWeight} ${baseFontSize}px ${fontFamily}`, ctx.textAlign = "center", ctx.textBaseline = "middle", ctx.fillStyle = fillColor;
|
|
20225
21183
|
const textMetrics = ctx.measureText(text),
|
|
20226
21184
|
scale = "normal" !== fontStyle ? 1.1 : 1,
|
|
20227
|
-
actualWidth = isValid$
|
|
21185
|
+
actualWidth = isValid$3(textMetrics.actualBoundingBoxRight) && isValid$3(textMetrics.actualBoundingBoxLeft) ? Math.ceil(scale * (Math.abs(textMetrics.actualBoundingBoxRight) + Math.abs(textMetrics.actualBoundingBoxLeft))) : 0,
|
|
20228
21186
|
textWidth = Math.max(Math.ceil(textMetrics.width), actualWidth, baseFontSize);
|
|
20229
21187
|
if (hollow && (ctx.globalCompositeOperation = "xor"), textWidth > width) {
|
|
20230
21188
|
const scale = Math.min(width / textWidth, height / baseFontSize);
|
|
@@ -20481,7 +21439,7 @@
|
|
|
20481
21439
|
}
|
|
20482
21440
|
|
|
20483
21441
|
function loadImage(url, createImage) {
|
|
20484
|
-
return url && (isValidUrl$
|
|
21442
|
+
return url && (isValidUrl$3(url) || isBase64$3(url) || url.startsWith("<svg")) ? new Promise((resolve, reject) => {
|
|
20485
21443
|
var _a;
|
|
20486
21444
|
const imageMark = createImage({
|
|
20487
21445
|
image: url
|
|
@@ -20549,18 +21507,18 @@
|
|
|
20549
21507
|
this._rangeFactorStart = null, this._rangeFactorEnd = null;
|
|
20550
21508
|
}
|
|
20551
21509
|
_calculateWholeRange(range) {
|
|
20552
|
-
return this._wholeRange ? this._wholeRange : isValid$
|
|
21510
|
+
return this._wholeRange ? this._wholeRange : isValid$3(this._rangeFactorStart) && isValid$3(this._rangeFactorEnd) && 2 === range.length ? (this._wholeRange = calculateWholeRangeFromRangeFactor(range, [this._rangeFactorStart, this._rangeFactorEnd]), this._wholeRange) : range;
|
|
20553
21511
|
}
|
|
20554
21512
|
rangeFactor(_, slience, clear) {
|
|
20555
|
-
return _ ? (2 === _.length && _.every(r => r >= 0 && r <= 1) && (this._wholeRange = null, 0 === _[0] && 1 === _[1] ? (this._rangeFactorStart = null, this._rangeFactorEnd = null) : (this._rangeFactorStart = _[0], this._rangeFactorEnd = _[1])), this) : clear ? (this._wholeRange = null, this._rangeFactorStart = null, this._rangeFactorEnd = null, this) : isValid$
|
|
21513
|
+
return _ ? (2 === _.length && _.every(r => r >= 0 && r <= 1) && (this._wholeRange = null, 0 === _[0] && 1 === _[1] ? (this._rangeFactorStart = null, this._rangeFactorEnd = null) : (this._rangeFactorStart = _[0], this._rangeFactorEnd = _[1])), this) : clear ? (this._wholeRange = null, this._rangeFactorStart = null, this._rangeFactorEnd = null, this) : isValid$3(this._rangeFactorStart) && isValid$3(this._rangeFactorEnd) ? [this._rangeFactorStart, this._rangeFactorEnd] : null;
|
|
20556
21514
|
}
|
|
20557
21515
|
rangeFactorStart(_, slience) {
|
|
20558
21516
|
var _a;
|
|
20559
|
-
return isNil$
|
|
21517
|
+
return isNil$3(_) ? this._rangeFactorStart : (_ >= 0 && _ <= 1 && (this._wholeRange = null, 0 !== _ || !isNil$3(this._rangeFactorEnd) && 1 !== this._rangeFactorEnd ? (this._rangeFactorStart = _, this._rangeFactorEnd = null !== (_a = this._rangeFactorEnd) && void 0 !== _a ? _a : 1) : (this._rangeFactorStart = null, this._rangeFactorEnd = null)), this);
|
|
20560
21518
|
}
|
|
20561
21519
|
rangeFactorEnd(_, slience) {
|
|
20562
21520
|
var _a;
|
|
20563
|
-
return isNil$
|
|
21521
|
+
return isNil$3(_) ? this._rangeFactorEnd : (_ >= 0 && _ <= 1 && (this._wholeRange = null, 0 !== _ || !isNil$3(this._rangeFactorStart) && 0 !== this._rangeFactorStart ? (this._rangeFactorEnd = _, this._rangeFactorStart = null !== (_a = this._rangeFactorStart) && void 0 !== _a ? _a : 0) : (this._rangeFactorStart = null, this._rangeFactorEnd = null)), this);
|
|
20564
21522
|
}
|
|
20565
21523
|
generateFishEyeTransform() {
|
|
20566
21524
|
var _a;
|
|
@@ -20575,8 +21533,8 @@
|
|
|
20575
21533
|
last = range[range.length - 1],
|
|
20576
21534
|
min = Math.min(first, last),
|
|
20577
21535
|
max = Math.max(first, last),
|
|
20578
|
-
focus = clamp$
|
|
20579
|
-
rangeRadius = isNil$
|
|
21536
|
+
focus = clamp$3(null !== (_a = this._fishEyeOptions.focus) && void 0 !== _a ? _a : 0, min, max),
|
|
21537
|
+
rangeRadius = isNil$3(radius) ? (max - min) * radiusRatio : radius;
|
|
20580
21538
|
let k0 = Math.exp(distortion);
|
|
20581
21539
|
k0 = k0 / (k0 - 1) * rangeRadius;
|
|
20582
21540
|
const k1 = distortion / rangeRadius;
|
|
@@ -20603,16 +21561,16 @@
|
|
|
20603
21561
|
function interpolate(a, b) {
|
|
20604
21562
|
const t = typeof b;
|
|
20605
21563
|
let c;
|
|
20606
|
-
if (isNil$
|
|
21564
|
+
if (isNil$3(b) || "boolean" === t) return () => b;
|
|
20607
21565
|
if ("number" === t) return interpolateNumber$1(a, b);
|
|
20608
21566
|
if ("string" === t) {
|
|
20609
|
-
if (c = Color.parseColorString(b)) {
|
|
20610
|
-
const rgb = interpolateRgb(Color.parseColorString(a), c);
|
|
21567
|
+
if (c = Color$1.parseColorString(b)) {
|
|
21568
|
+
const rgb = interpolateRgb(Color$1.parseColorString(a), c);
|
|
20611
21569
|
return t => rgb(t).formatRgb();
|
|
20612
21570
|
}
|
|
20613
21571
|
return interpolateNumber$1(Number(a), Number(b));
|
|
20614
21572
|
}
|
|
20615
|
-
return b instanceof RGB ? interpolateRgb(a, b) : b instanceof Color ? interpolateRgb(a.color, b.color) : b instanceof Date ? interpolateDate(a, b) : interpolateNumber$1(Number(a), Number(b));
|
|
21573
|
+
return b instanceof RGB$1 ? interpolateRgb(a, b) : b instanceof Color$1 ? interpolateRgb(a.color, b.color) : b instanceof Date ? interpolateDate(a, b) : interpolateNumber$1(Number(a), Number(b));
|
|
20616
21574
|
}
|
|
20617
21575
|
|
|
20618
21576
|
class ContinuousScale extends BaseScale {
|
|
@@ -20621,7 +21579,7 @@
|
|
|
20621
21579
|
}
|
|
20622
21580
|
calculateVisibleDomain(range) {
|
|
20623
21581
|
var _a;
|
|
20624
|
-
if (isValid$
|
|
21582
|
+
if (isValid$3(this._rangeFactorStart) && isValid$3(this._rangeFactorEnd) && 2 === range.length) {
|
|
20625
21583
|
return [this.invert(range[0]), this.invert(range[1])];
|
|
20626
21584
|
}
|
|
20627
21585
|
return null !== (_a = this._niceDomain) && void 0 !== _a ? _a : this._domain;
|
|
@@ -20693,10 +21651,10 @@
|
|
|
20693
21651
|
return _ ? (super.rangeFactor(_), this._output = this._input = null, this) : super.rangeFactor();
|
|
20694
21652
|
}
|
|
20695
21653
|
rangeFactorStart(_, slience) {
|
|
20696
|
-
return isNil$
|
|
21654
|
+
return isNil$3(_) ? super.rangeFactorStart() : (super.rangeFactorStart(_), this._output = this._input = null, this);
|
|
20697
21655
|
}
|
|
20698
21656
|
rangeFactorEnd(_, slience) {
|
|
20699
|
-
return isNil$
|
|
21657
|
+
return isNil$3(_) ? super.rangeFactorEnd() : (super.rangeFactorEnd(_), this._output = this._input = null, this);
|
|
20700
21658
|
}
|
|
20701
21659
|
forceAlignDomainRange(forceAlign) {
|
|
20702
21660
|
return arguments.length ? (this._forceAlign = forceAlign, this) : this._forceAlign;
|
|
@@ -20853,13 +21811,13 @@
|
|
|
20853
21811
|
}
|
|
20854
21812
|
}
|
|
20855
21813
|
function parseNiceOptions(originalDomain, option) {
|
|
20856
|
-
const hasForceMin = isNumber$
|
|
20857
|
-
hasForceMax = isNumber$
|
|
21814
|
+
const hasForceMin = isNumber$3(option.forceMin),
|
|
21815
|
+
hasForceMax = isNumber$3(option.forceMax);
|
|
20858
21816
|
let niceType = null;
|
|
20859
21817
|
const niceMinMax = [];
|
|
20860
21818
|
let niceDomain = null;
|
|
20861
21819
|
const domainValidator = hasForceMin && hasForceMax ? x => x >= option.forceMin && x <= option.forceMax : hasForceMin ? x => x >= option.forceMin : hasForceMax ? x => x <= option.forceMax : null;
|
|
20862
|
-
return hasForceMin ? niceMinMax[0] = option.forceMin : isNumber$
|
|
21820
|
+
return hasForceMin ? niceMinMax[0] = option.forceMin : isNumber$3(option.min) && option.min <= Math.min(originalDomain[0], originalDomain[originalDomain.length - 1]) && (niceMinMax[0] = option.min), hasForceMax ? niceMinMax[1] = option.forceMax : isNumber$3(option.max) && option.max >= Math.max(originalDomain[0], originalDomain[originalDomain.length - 1]) && (niceMinMax[1] = option.max), isNumber$3(niceMinMax[0]) && isNumber$3(niceMinMax[1]) ? (niceDomain = originalDomain.slice(), niceDomain[0] = niceMinMax[0], niceDomain[niceDomain.length - 1] = niceMinMax[1]) : niceType = isNumber$3(niceMinMax[0]) || isNumber$3(niceMinMax[1]) ? isNumber$3(niceMinMax[0]) ? "max" : "min" : "all", {
|
|
20863
21821
|
niceType: niceType,
|
|
20864
21822
|
niceDomain: niceDomain,
|
|
20865
21823
|
niceMinMax: niceMinMax,
|
|
@@ -20885,8 +21843,8 @@
|
|
|
20885
21843
|
}
|
|
20886
21844
|
ticks(count = 10, options) {
|
|
20887
21845
|
var _a;
|
|
20888
|
-
if (isFunction$
|
|
20889
|
-
if (isValid$
|
|
21846
|
+
if (isFunction$3(null == options ? void 0 : options.customTicks)) return options.customTicks(this, count);
|
|
21847
|
+
if (isValid$3(this._rangeFactorStart) && isValid$3(this._rangeFactorEnd) && (this._rangeFactorStart > 0 || this._rangeFactorEnd < 1) && 2 === this._range.length || !this._niceType) return this.d3Ticks(count, options);
|
|
20890
21848
|
const curNiceDomain = null !== (_a = this._niceDomain) && void 0 !== _a ? _a : this._domain,
|
|
20891
21849
|
originalDomain = this._domain,
|
|
20892
21850
|
start = curNiceDomain[0],
|
|
@@ -21021,7 +21979,7 @@
|
|
|
21021
21979
|
});
|
|
21022
21980
|
tempCtx.textAlign = "center", tempCtx.textBaseline = "middle", segmentationInput.tempCanvas = tempCanvas;
|
|
21023
21981
|
const boardW = size[0] + 31 >> 5 << 5;
|
|
21024
|
-
if (segmentationInput.boardSize = [boardW, size[1]], segmentationInput.random ? segmentationInput.randomGenerator = Math.random : segmentationInput.randomGenerator = fakeRandom(), this.segmentationInput = segmentationInput, isString$
|
|
21982
|
+
if (segmentationInput.boardSize = [boardW, size[1]], segmentationInput.random ? segmentationInput.randomGenerator = Math.random : segmentationInput.randomGenerator = fakeRandom(), this.segmentationInput = segmentationInput, isString$3(segmentationInput.shapeUrl)) {
|
|
21025
21983
|
segmentationInput.isEmptyPixel = generateIsEmptyPixel(void 0, {
|
|
21026
21984
|
threshold: null !== (_d = null === (_c = options.maskConfig) || void 0 === _c ? void 0 : _c.threshold) && void 0 !== _d ? _d : 200,
|
|
21027
21985
|
invert: null === (_e = options.maskConfig) || void 0 === _e ? void 0 : _e.invert
|
|
@@ -21057,7 +22015,7 @@
|
|
|
21057
22015
|
imagesPromise ? imagesPromise.then(images => {
|
|
21058
22016
|
this.onImageCollageInputReady(images), this.isImagesFinished = !0;
|
|
21059
22017
|
}).catch(error => {
|
|
21060
|
-
this.isImagesFinished = !0, this.isLayoutFinished = !0, Logger.getInstance().error("image load failed", error);
|
|
22018
|
+
this.isImagesFinished = !0, this.isLayoutFinished = !0, Logger$1.getInstance().error("image load failed", error);
|
|
21061
22019
|
}) : (this.isImagesFinished = !0, this.isLayoutFinished = !0);
|
|
21062
22020
|
}
|
|
21063
22021
|
canAnimate() {
|
|
@@ -21087,13 +22045,13 @@
|
|
|
21087
22045
|
imageSizeRange: imageSizeRange,
|
|
21088
22046
|
padding = 0
|
|
21089
22047
|
} = imageConfig,
|
|
21090
|
-
imageSize = isNumber$
|
|
22048
|
+
imageSize = isNumber$3(imageConfig.imageSize) ? imageConfig.imageSize : field(imageConfig.imageSize),
|
|
21091
22049
|
size = this.options.size;
|
|
21092
22050
|
if (imageSize || imageSizeRange) {
|
|
21093
|
-
if (imageSize && !isFunction$
|
|
22051
|
+
if (imageSize && !isFunction$3(imageSize)) images.forEach(img => setSize(img, imageSize));else if (imageSizeRange) {
|
|
21094
22052
|
const sizeScale = new SqrtScale().domain(extent(images, d => d.weight)).range(imageSizeRange);
|
|
21095
22053
|
images.forEach(img => setSize(img, ~~sizeScale.scale(img.weight)));
|
|
21096
|
-
} else if (imageSize && isFunction$
|
|
22054
|
+
} else if (imageSize && isFunction$3(imageSize) && !imageSizeRange) {
|
|
21097
22055
|
const a = .5,
|
|
21098
22056
|
[min, max] = extent(images, d => d.weight),
|
|
21099
22057
|
picArea = images.reduce((prev, img) => {
|
|
@@ -21622,11 +22580,11 @@
|
|
|
21622
22580
|
|
|
21623
22581
|
const transform = (options, upstreamData, parameters) => {
|
|
21624
22582
|
var _a, _b;
|
|
21625
|
-
const size = isFunction$
|
|
21626
|
-
if (options.size = size, !size || isNil$
|
|
21627
|
-
return Logger.getInstance().info("Wordcloud size dimensions must be greater than 0"), [];
|
|
22583
|
+
const size = isFunction$3(options.size) ? options.size() : options.size;
|
|
22584
|
+
if (options.size = size, !size || isNil$3(size[0]) || isNil$3(size[1]) || size[0] <= 0 || size[1] <= 0) {
|
|
22585
|
+
return Logger$1.getInstance().info("Wordcloud size dimensions must be greater than 0"), [];
|
|
21628
22586
|
}
|
|
21629
|
-
if (options.size = [Math.ceil(size[0]), Math.ceil(size[1])], options.image || Logger.getInstance().error("Imagecloud: image source must be specified."), options.onBeforeLayout && options.onBeforeLayout(), !upstreamData || 0 === upstreamData.length) return [];
|
|
22587
|
+
if (options.size = [Math.ceil(size[0]), Math.ceil(size[1])], options.image || Logger$1.getInstance().error("Imagecloud: image source must be specified."), options.onBeforeLayout && options.onBeforeLayout(), !upstreamData || 0 === upstreamData.length) return [];
|
|
21630
22588
|
let layoutConstructor;
|
|
21631
22589
|
switch (null !== (_b = null === (_a = options.layoutConfig) || void 0 === _a ? void 0 : _a.layoutMode) && void 0 !== _b ? _b : "spiral") {
|
|
21632
22590
|
case "grid":
|
|
@@ -21652,7 +22610,7 @@
|
|
|
21652
22610
|
}
|
|
21653
22611
|
onBind() {
|
|
21654
22612
|
this._scaleX = this.target.attribute.scaleX;
|
|
21655
|
-
if (!isValidNumber$
|
|
22613
|
+
if (!isValidNumber$3(this._rotations)) {
|
|
21656
22614
|
this.valid = false;
|
|
21657
22615
|
}
|
|
21658
22616
|
}
|
|
@@ -21768,7 +22726,7 @@
|
|
|
21768
22726
|
this.type = IMAGE_CLOUD_SERIES_TYPE;
|
|
21769
22727
|
}
|
|
21770
22728
|
setValueField(field) {
|
|
21771
|
-
if (isValid$
|
|
22729
|
+
if (isValid$3(field)) {
|
|
21772
22730
|
this._valueField = field;
|
|
21773
22731
|
}
|
|
21774
22732
|
}
|
|
@@ -22079,13 +23037,13 @@
|
|
|
22079
23037
|
const finalAttribute = graphic.getFinalAttribute();
|
|
22080
23038
|
const { x, y, open, high, low, close } = finalAttribute;
|
|
22081
23039
|
const animateAttributes = { from: { x, y }, to: { x, y } };
|
|
22082
|
-
if (isValidNumber$
|
|
23040
|
+
if (isValidNumber$3(open) && isValidNumber$3(close)) {
|
|
22083
23041
|
if (open > close) {
|
|
22084
23042
|
animateAttributes.from.open = low;
|
|
22085
23043
|
animateAttributes.to.open = open;
|
|
22086
23044
|
animateAttributes.from.close = low;
|
|
22087
23045
|
animateAttributes.to.close = close;
|
|
22088
|
-
if (isValidNumber$
|
|
23046
|
+
if (isValidNumber$3(high)) {
|
|
22089
23047
|
animateAttributes.from.high = low;
|
|
22090
23048
|
animateAttributes.to.high = high;
|
|
22091
23049
|
}
|
|
@@ -22095,7 +23053,7 @@
|
|
|
22095
23053
|
animateAttributes.to.open = open;
|
|
22096
23054
|
animateAttributes.from.close = high;
|
|
22097
23055
|
animateAttributes.to.close = close;
|
|
22098
|
-
if (isValidNumber$
|
|
23056
|
+
if (isValidNumber$3(low)) {
|
|
22099
23057
|
animateAttributes.from.low = high;
|
|
22100
23058
|
animateAttributes.to.low = low;
|
|
22101
23059
|
}
|
|
@@ -22109,13 +23067,13 @@
|
|
|
22109
23067
|
const finalAttribute = graphic.getFinalAttribute();
|
|
22110
23068
|
const { x, y, open, high, low, close } = finalAttribute;
|
|
22111
23069
|
const animateAttributes = { from: { x, y }, to: { x, y } };
|
|
22112
|
-
if (isValidNumber$
|
|
23070
|
+
if (isValidNumber$3(open) && isValidNumber$3(close)) {
|
|
22113
23071
|
if (open > close) {
|
|
22114
23072
|
animateAttributes.from.open = open;
|
|
22115
23073
|
animateAttributes.to.open = low;
|
|
22116
23074
|
animateAttributes.from.close = close;
|
|
22117
23075
|
animateAttributes.to.close = low;
|
|
22118
|
-
if (isValidNumber$
|
|
23076
|
+
if (isValidNumber$3(high)) {
|
|
22119
23077
|
animateAttributes.from.high = high;
|
|
22120
23078
|
animateAttributes.to.high = low;
|
|
22121
23079
|
}
|
|
@@ -22125,7 +23083,7 @@
|
|
|
22125
23083
|
animateAttributes.to.open = high;
|
|
22126
23084
|
animateAttributes.from.close = close;
|
|
22127
23085
|
animateAttributes.to.close = high;
|
|
22128
|
-
if (isValidNumber$
|
|
23086
|
+
if (isValidNumber$3(low)) {
|
|
22129
23087
|
animateAttributes.from.low = low;
|
|
22130
23088
|
animateAttributes.to.low = high;
|
|
22131
23089
|
}
|
|
@@ -22425,7 +23383,7 @@
|
|
|
22425
23383
|
this.initCandlestickMarkStyle();
|
|
22426
23384
|
}
|
|
22427
23385
|
_initAnimationSpec(config = {}) {
|
|
22428
|
-
const newConfig = merge({}, config);
|
|
23386
|
+
const newConfig = merge$1({}, config);
|
|
22429
23387
|
['appear', 'enter', 'update', 'exit', 'disappear'].forEach(state => {
|
|
22430
23388
|
if (newConfig[state] && newConfig[state].type === 'scaleIn') {
|
|
22431
23389
|
newConfig[state].type = 'candlestickScaleIn';
|
|
@@ -22450,9 +23408,9 @@
|
|
|
22450
23408
|
this._candlestickMark && this._tooltipHelper.activeTriggerSet.mark.add(this._candlestickMark);
|
|
22451
23409
|
}
|
|
22452
23410
|
_buildMergedStyles(baseStyle, risingStyle, fallingStyle, dojiStyle) {
|
|
22453
|
-
this._mergedStyles.rising = merge({}, baseStyle, risingStyle);
|
|
22454
|
-
this._mergedStyles.falling = merge({}, baseStyle, fallingStyle);
|
|
22455
|
-
this._mergedStyles.doji = merge({}, baseStyle, dojiStyle);
|
|
23411
|
+
this._mergedStyles.rising = merge$1({}, baseStyle, risingStyle);
|
|
23412
|
+
this._mergedStyles.falling = merge$1({}, baseStyle, fallingStyle);
|
|
23413
|
+
this._mergedStyles.doji = merge$1({}, baseStyle, dojiStyle);
|
|
22456
23414
|
}
|
|
22457
23415
|
mergeStyle(datum) {
|
|
22458
23416
|
const open = this.getDatumPositionValues(datum, this._openField)[0];
|
|
@@ -23947,7 +24905,7 @@
|
|
|
23947
24905
|
render() {
|
|
23948
24906
|
this.removeAllChild();
|
|
23949
24907
|
const { data = [] } = this.attribute;
|
|
23950
|
-
if (isEmpty(data)) {
|
|
24908
|
+
if (isEmpty$1(data)) {
|
|
23951
24909
|
return;
|
|
23952
24910
|
}
|
|
23953
24911
|
const verticalData = [];
|
|
@@ -24016,7 +24974,7 @@
|
|
|
24016
24974
|
}));
|
|
24017
24975
|
breakGroup.name = 'series-break';
|
|
24018
24976
|
breakGroup.data = rest;
|
|
24019
|
-
if (isValid$
|
|
24977
|
+
if (isValid$3(rest.axisId)) {
|
|
24020
24978
|
breakGroup.id = `${(_a = rest.axisId) !== null && _a !== void 0 ? _a : ''}_${id}`;
|
|
24021
24979
|
}
|
|
24022
24980
|
this.add(breakGroup);
|
|
@@ -24071,9 +25029,9 @@
|
|
|
24071
25029
|
axesSpec.forEach((spec, index) => {
|
|
24072
25030
|
var _a, _b;
|
|
24073
25031
|
const axisId = spec.id;
|
|
24074
|
-
const axisModel = isValid$
|
|
25032
|
+
const axisModel = isValid$3(axisId)
|
|
24075
25033
|
? chart.getComponentByUserId(axisId)
|
|
24076
|
-
: axesIndex && isValid$
|
|
25034
|
+
: axesIndex && isValid$3(axesIndex[index])
|
|
24077
25035
|
? chart.getComponentByIndex('axes', axesIndex[index])
|
|
24078
25036
|
: (_a = chart.getComponentsByKey('axes').filter((axis) => {
|
|
24079
25037
|
const axisInnerSpec = axis.getSpec();
|
|
@@ -24084,7 +25042,7 @@
|
|
|
24084
25042
|
}
|
|
24085
25043
|
const parsedAxisId = axisId !== null && axisId !== void 0 ? axisId : `${axisModel.type}-${axisModel.id}`;
|
|
24086
25044
|
const regionBounds = getAllRegionBounds(axisModel.getRegions());
|
|
24087
|
-
array((_b = axisModel._break) === null || _b === void 0 ? void 0 : _b.breaks).forEach((breakConfig) => {
|
|
25045
|
+
array$1((_b = axisModel._break) === null || _b === void 0 ? void 0 : _b.breaks).forEach((breakConfig) => {
|
|
24088
25046
|
const { range, breakSymbol, gap = 5 } = breakConfig;
|
|
24089
25047
|
const pos1 = axisModel.valueToPosition(range[0]);
|
|
24090
25048
|
const pos2 = axisModel.valueToPosition(range[1]);
|
|
@@ -24268,7 +25226,7 @@
|
|
|
24268
25226
|
for (let index = 1; index < points.length; index++) {
|
|
24269
25227
|
const intersection = getIntersectPoint([line.start.x, line.start.y], [line.end.x, line.end.y], [points[index].x, points[index].y], [points[index - 1].x, points[index - 1].y]);
|
|
24270
25228
|
if (intersection &&
|
|
24271
|
-
!intersections.find(point => isNumberEqual(PointService.distancePP({ x: point[0], y: point[1] }, { x: intersection[0], y: intersection[1] }), 0))) {
|
|
25229
|
+
!intersections.find(point => isNumberEqual(PointService$1.distancePP({ x: point[0], y: point[1] }, { x: intersection[0], y: intersection[1] }), 0))) {
|
|
24272
25230
|
intersections.push(intersection);
|
|
24273
25231
|
}
|
|
24274
25232
|
}
|
|
@@ -24345,7 +25303,7 @@
|
|
|
24345
25303
|
if ((_a = rawSpec.axes) === null || _a === void 0 ? void 0 : _a.length) {
|
|
24346
25304
|
const breakedAxes = rawSpec.axes.filter((axis) => axis.breaks && axis.breaks.length && axis.visible !== false);
|
|
24347
25305
|
if (breakedAxes.length) {
|
|
24348
|
-
rawSpec.customMark = array(rawSpec.customMark).filter((obj) => obj.componentType !== SERIES_BREAK);
|
|
25306
|
+
rawSpec.customMark = array$1(rawSpec.customMark).filter((obj) => obj.componentType !== SERIES_BREAK);
|
|
24349
25307
|
rawSpec.customMark.push(getSeriesBreakConfig(breakedAxes, breakedAxes.map((axisSpec) => {
|
|
24350
25308
|
return rawSpec.axes.indexOf(axisSpec);
|
|
24351
25309
|
})));
|
|
@@ -24364,7 +25322,7 @@
|
|
|
24364
25322
|
}
|
|
24365
25323
|
render() {
|
|
24366
25324
|
const { data, linkStyle, areaStyle, styleMap, label, linkType = 'total' } = this.attribute;
|
|
24367
|
-
if (isEmpty(data)) {
|
|
25325
|
+
if (isEmpty$1(data)) {
|
|
24368
25326
|
return;
|
|
24369
25327
|
}
|
|
24370
25328
|
this.removeAllChild();
|
|
@@ -24687,7 +25645,7 @@
|
|
|
24687
25645
|
};
|
|
24688
25646
|
}
|
|
24689
25647
|
function appendBarLinkConfig(rawSpec, barLinkSpec) {
|
|
24690
|
-
rawSpec.customMark = array(rawSpec.customMark).filter((obj) => obj.componentType !== BAR_LINK);
|
|
25648
|
+
rawSpec.customMark = array$1(rawSpec.customMark).filter((obj) => obj.componentType !== BAR_LINK);
|
|
24691
25649
|
rawSpec.customMark.push(getBarLinkConfig(barLinkSpec));
|
|
24692
25650
|
}
|
|
24693
25651
|
|
|
@@ -24885,7 +25843,7 @@
|
|
|
24885
25843
|
}
|
|
24886
25844
|
function appendSeriesLabelConfig(rawSpec, seriesLabelSpec) {
|
|
24887
25845
|
var _a, _b, _c;
|
|
24888
|
-
rawSpec.customMark = array(rawSpec.customMark).filter((obj) => obj.componentType !== SERIES_LABEL);
|
|
25846
|
+
rawSpec.customMark = array$1(rawSpec.customMark).filter((obj) => obj.componentType !== SERIES_LABEL);
|
|
24889
25847
|
if (!seriesLabelSpec) {
|
|
24890
25848
|
seriesLabelSpec = (_c = (_a = get$1(rawSpec, SERIES_LABEL)) !== null && _a !== void 0 ? _a : get$1((_b = rawSpec.series) === null || _b === void 0 ? void 0 : _b[0], SERIES_LABEL)) !== null && _c !== void 0 ? _c : {};
|
|
24891
25849
|
}
|
|
@@ -24904,7 +25862,7 @@
|
|
|
24904
25862
|
var _a, _b, _c, _d;
|
|
24905
25863
|
this.removeAllChild();
|
|
24906
25864
|
const { data, layout, label, line = {} } = this.attribute;
|
|
24907
|
-
if (isEmpty(data)) {
|
|
25865
|
+
if (isEmpty$1(data)) {
|
|
24908
25866
|
return;
|
|
24909
25867
|
}
|
|
24910
25868
|
const labelStyleMap = (_a = label === null || label === void 0 ? void 0 : label.styleMap) !== null && _a !== void 0 ? _a : {};
|
|
@@ -25229,7 +26187,7 @@
|
|
|
25229
26187
|
}
|
|
25230
26188
|
static getSpecInfo(chartSpec) {
|
|
25231
26189
|
return vchart.getSpecInfo(chartSpec, this.specKey, this.type, (s) => {
|
|
25232
|
-
return s.visible && isValid$
|
|
26190
|
+
return s.visible && isValid$3(s.seriesId);
|
|
25233
26191
|
});
|
|
25234
26192
|
}
|
|
25235
26193
|
setAttrFromSpec() {
|
|
@@ -25428,7 +26386,7 @@
|
|
|
25428
26386
|
contentWidth += nameLabelWidth;
|
|
25429
26387
|
contentItemCount++;
|
|
25430
26388
|
}
|
|
25431
|
-
if (((_m = this._spec.valueLabel) === null || _m === void 0 ? void 0 : _m.visible) && isValid$
|
|
26389
|
+
if (((_m = this._spec.valueLabel) === null || _m === void 0 ? void 0 : _m.visible) && isValid$3(data[this.valueField])) {
|
|
25432
26390
|
const valueLabel = graphicCreator.text(vchart.transformToGraphic(Object.assign({}, this._spec.valueLabel.style)));
|
|
25433
26391
|
valueLabel.setAttributes(positionAttr);
|
|
25434
26392
|
valueLabel.setAttribute('text', data[this.valueField]);
|