@wcardinal/wcardinal-ui 0.442.0 → 0.444.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/dist/types/wcardinal/ui/d-picker-color.d.ts +3 -0
  2. package/dist/types/wcardinal/ui/d-table-column-state.d.ts +4 -1
  3. package/dist/types/wcardinal/ui/d-table-state.d.ts +4 -0
  4. package/dist/types/wcardinal/ui/theme/common/new-svg-rounded-checkerboard.d.ts +1 -0
  5. package/dist/types/wcardinal/ui/theme/common/new-svg-rounded-rect.d.ts +1 -0
  6. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-picker-color.d.ts +3 -0
  7. package/dist/types/wcardinal/ui/theme/dark/new-dark-svg-rounded-checkerboard.d.ts +1 -0
  8. package/dist/types/wcardinal/ui/theme/white/d-theme-white-picker-color.d.ts +3 -0
  9. package/dist/types/wcardinal/ui/theme/white/new-white-svg-rounded-checkerboard.d.ts +1 -0
  10. package/dist/types/wcardinal/ui/util/index.d.ts +1 -0
  11. package/dist/types/wcardinal/ui/util/util-extract.d.ts +13 -2
  12. package/dist/types/wcardinal/ui/util/util-extractor-canvas.d.ts +18 -0
  13. package/dist/types/wcardinal/ui/util/util-extractor.d.ts +3 -2
  14. package/dist/wcardinal/ui/d-image-piece-impl.js +8 -0
  15. package/dist/wcardinal/ui/d-image-piece-impl.js.map +1 -1
  16. package/dist/wcardinal/ui/d-picker-color.js +5 -4
  17. package/dist/wcardinal/ui/d-picker-color.js.map +1 -1
  18. package/dist/wcardinal/ui/d-table-body.js +3 -2
  19. package/dist/wcardinal/ui/d-table-body.js.map +1 -1
  20. package/dist/wcardinal/ui/d-table-column-state.js.map +1 -1
  21. package/dist/wcardinal/ui/d-table-state.js +4 -0
  22. package/dist/wcardinal/ui/d-table-state.js.map +1 -1
  23. package/dist/wcardinal/ui/theme/common/new-svg-rounded-checkerboard.js +20 -0
  24. package/dist/wcardinal/ui/theme/common/new-svg-rounded-checkerboard.js.map +1 -0
  25. package/dist/wcardinal/ui/theme/common/new-svg-rounded-rect.js +15 -0
  26. package/dist/wcardinal/ui/theme/common/new-svg-rounded-rect.js.map +1 -0
  27. package/dist/wcardinal/ui/theme/dark/d-theme-dark-button-color-gradient.js +2 -5
  28. package/dist/wcardinal/ui/theme/dark/d-theme-dark-button-color-gradient.js.map +1 -1
  29. package/dist/wcardinal/ui/theme/dark/d-theme-dark-button-color.js +3 -6
  30. package/dist/wcardinal/ui/theme/dark/d-theme-dark-button-color.js.map +1 -1
  31. package/dist/wcardinal/ui/theme/dark/d-theme-dark-picker-color.js +24 -35
  32. package/dist/wcardinal/ui/theme/dark/d-theme-dark-picker-color.js.map +1 -1
  33. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-body-cells.js +7 -2
  34. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-body-cells.js.map +1 -1
  35. package/dist/wcardinal/ui/theme/dark/new-dark-svg-rounded-checkerboard.js +5 -0
  36. package/dist/wcardinal/ui/theme/dark/new-dark-svg-rounded-checkerboard.js.map +1 -0
  37. package/dist/wcardinal/ui/theme/white/d-theme-white-button-color-gradient.js +2 -5
  38. package/dist/wcardinal/ui/theme/white/d-theme-white-button-color-gradient.js.map +1 -1
  39. package/dist/wcardinal/ui/theme/white/d-theme-white-button-color.js +3 -6
  40. package/dist/wcardinal/ui/theme/white/d-theme-white-button-color.js.map +1 -1
  41. package/dist/wcardinal/ui/theme/white/d-theme-white-picker-color.js +24 -35
  42. package/dist/wcardinal/ui/theme/white/d-theme-white-picker-color.js.map +1 -1
  43. package/dist/wcardinal/ui/theme/white/d-theme-white-table-body-cells.js +7 -2
  44. package/dist/wcardinal/ui/theme/white/d-theme-white-table-body-cells.js.map +1 -1
  45. package/dist/wcardinal/ui/theme/white/new-white-svg-rounded-checkerboard.js +5 -0
  46. package/dist/wcardinal/ui/theme/white/new-white-svg-rounded-checkerboard.js.map +1 -0
  47. package/dist/wcardinal/ui/util/index.js +1 -0
  48. package/dist/wcardinal/ui/util/index.js.map +1 -1
  49. package/dist/wcardinal/ui/util/util-extract.js +34 -10
  50. package/dist/wcardinal/ui/util/util-extract.js.map +1 -1
  51. package/dist/wcardinal/ui/util/util-extractor-canvas.js +110 -0
  52. package/dist/wcardinal/ui/util/util-extractor-canvas.js.map +1 -0
  53. package/dist/wcardinal/ui/util/util-extractor.js +45 -20
  54. package/dist/wcardinal/ui/util/util-extractor.js.map +1 -1
  55. package/dist/wcardinal-ui-theme-dark-en-us.js +71 -49
  56. package/dist/wcardinal-ui-theme-dark-en-us.min.js +2 -2
  57. package/dist/wcardinal-ui-theme-dark-en-us.min.js.map +1 -1
  58. package/dist/wcardinal-ui-theme-dark-ja-jp.js +71 -49
  59. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +2 -2
  60. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js.map +1 -1
  61. package/dist/wcardinal-ui-theme-dark.js +71 -49
  62. package/dist/wcardinal-ui-theme-dark.min.js +2 -2
  63. package/dist/wcardinal-ui-theme-white-en-us.js +71 -49
  64. package/dist/wcardinal-ui-theme-white-en-us.min.js +2 -2
  65. package/dist/wcardinal-ui-theme-white-en-us.min.js.map +1 -1
  66. package/dist/wcardinal-ui-theme-white-ja-jp.js +71 -49
  67. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +2 -2
  68. package/dist/wcardinal-ui-theme-white-ja-jp.min.js.map +1 -1
  69. package/dist/wcardinal-ui-theme-white.js +71 -49
  70. package/dist/wcardinal-ui-theme-white.min.js +2 -2
  71. package/dist/wcardinal-ui.cjs.js +313 -132
  72. package/dist/wcardinal-ui.js +207 -36
  73. package/dist/wcardinal-ui.min.js +2 -2
  74. package/dist/wcardinal-ui.min.js.map +1 -1
  75. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.442.0
2
+ Winter Cardinal UI v0.444.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -23625,6 +23625,115 @@
23625
23625
  return DCanvasContainer;
23626
23626
  }(DBase));
23627
23627
 
23628
+ var UtilExtractorCanvas = /** @class */ (function () {
23629
+ function UtilExtractorCanvas(width, height) {
23630
+ var element = document.createElement("canvas");
23631
+ this._element = element;
23632
+ var context = this._element.getContext("2d", {
23633
+ willReadFrequently: true
23634
+ });
23635
+ this._context = context;
23636
+ element.width = width;
23637
+ element.height = height;
23638
+ }
23639
+ Object.defineProperty(UtilExtractorCanvas.prototype, "element", {
23640
+ get: function () {
23641
+ var result = this._element;
23642
+ if (result != null) {
23643
+ return result;
23644
+ }
23645
+ throw new Error("No Element Available");
23646
+ },
23647
+ enumerable: false,
23648
+ configurable: true
23649
+ });
23650
+ UtilExtractorCanvas.prototype.getElement = function () {
23651
+ return this._element;
23652
+ };
23653
+ Object.defineProperty(UtilExtractorCanvas.prototype, "canvas", {
23654
+ get: function () {
23655
+ return this.element;
23656
+ },
23657
+ enumerable: false,
23658
+ configurable: true
23659
+ });
23660
+ Object.defineProperty(UtilExtractorCanvas.prototype, "context", {
23661
+ get: function () {
23662
+ var result = this._context;
23663
+ if (result != null) {
23664
+ return result;
23665
+ }
23666
+ throw new Error("No Context Available");
23667
+ },
23668
+ enumerable: false,
23669
+ configurable: true
23670
+ });
23671
+ UtilExtractorCanvas.prototype.getContext = function () {
23672
+ return this._context;
23673
+ };
23674
+ Object.defineProperty(UtilExtractorCanvas.prototype, "resolution", {
23675
+ get: function () {
23676
+ return 1;
23677
+ },
23678
+ enumerable: false,
23679
+ configurable: true
23680
+ });
23681
+ Object.defineProperty(UtilExtractorCanvas.prototype, "width", {
23682
+ get: function () {
23683
+ var element = this._element;
23684
+ if (element != null) {
23685
+ return element.width;
23686
+ }
23687
+ return 0;
23688
+ },
23689
+ set: function (width) {
23690
+ var element = this._element;
23691
+ if (element != null) {
23692
+ element.width = width;
23693
+ }
23694
+ },
23695
+ enumerable: false,
23696
+ configurable: true
23697
+ });
23698
+ Object.defineProperty(UtilExtractorCanvas.prototype, "height", {
23699
+ get: function () {
23700
+ var element = this._element;
23701
+ if (element != null) {
23702
+ return element.height;
23703
+ }
23704
+ return 0;
23705
+ },
23706
+ set: function (height) {
23707
+ var element = this._element;
23708
+ if (element != null) {
23709
+ element.height = height;
23710
+ }
23711
+ },
23712
+ enumerable: false,
23713
+ configurable: true
23714
+ });
23715
+ UtilExtractorCanvas.prototype.clear = function () {
23716
+ var element = this._element;
23717
+ var context = this._context;
23718
+ if (element != null && context != null) {
23719
+ context.setTransform(1, 0, 0, 1, 0, 0);
23720
+ context.clearRect(0, 0, element.width, element.height);
23721
+ }
23722
+ };
23723
+ UtilExtractorCanvas.prototype.resize = function (width, height) {
23724
+ var element = this._element;
23725
+ if (element != null) {
23726
+ element.width = width;
23727
+ element.height = height;
23728
+ }
23729
+ };
23730
+ UtilExtractorCanvas.prototype.destroy = function () {
23731
+ this._context = null;
23732
+ this._element = null;
23733
+ };
23734
+ return UtilExtractorCanvas;
23735
+ }());
23736
+
23628
23737
  /*
23629
23738
  * Copyright (C) 2019 Toshiba Corporation
23630
23739
  * SPDX-License-Identifier: Apache-2.0
@@ -23634,9 +23743,11 @@
23634
23743
  }
23635
23744
  UtilExtractor.toTexture = function (target, resolution, clear, skipUpdateTransform) {
23636
23745
  var scale = target.transform.scale;
23746
+ var width = Math.max(1, Math.ceil(target.width * scale.x));
23747
+ var height = Math.max(1, Math.ceil(target.height * scale.y));
23637
23748
  var result = pixi_js.RenderTexture.create({
23638
- width: target.width * scale.x,
23639
- height: target.height * scale.y,
23749
+ width: width,
23750
+ height: height,
23640
23751
  scaleMode: pixi_js.SCALE_MODES.LINEAR,
23641
23752
  resolution: resolution
23642
23753
  });
@@ -23648,46 +23759,68 @@
23648
23759
  return result;
23649
23760
  };
23650
23761
  UtilExtractor.toPixels = function (renderTexture, renderer) {
23762
+ var baseTexture = renderTexture.baseTexture;
23763
+ var realWidth = baseTexture.realWidth;
23764
+ var realHeight = baseTexture.realHeight;
23651
23765
  var resolution = renderTexture.resolution;
23652
23766
  var frame = renderTexture.frame;
23653
- var width = Math.floor(frame.width * resolution);
23654
- var height = Math.floor(frame.height * resolution);
23767
+ var x0 = Math.floor(frame.x * resolution);
23768
+ var y0 = Math.floor(frame.y * resolution);
23769
+ var x1 = Math.floor((frame.x + frame.width) * resolution);
23770
+ var y1 = Math.floor((frame.y + frame.height) * resolution);
23771
+ var width = Math.min(x1 - x0, realWidth);
23772
+ var height = Math.min(y1 - y0, realHeight);
23655
23773
  var pixels = new Uint8Array(4 * width * height);
23656
- var oldRenderTexture = renderer.renderTexture.current;
23657
- renderer.renderTexture.bind(renderTexture);
23658
- var gl = renderer.gl;
23659
- gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, pixels);
23660
- renderer.renderTexture.bind(oldRenderTexture);
23774
+ if (0 < width && 0 < height) {
23775
+ var oldRenderTexture = renderer.renderTexture.current;
23776
+ renderer.renderTexture.bind(renderTexture);
23777
+ var gl = renderer.gl;
23778
+ gl.readPixels(x0, y0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, pixels);
23779
+ renderer.renderTexture.bind(oldRenderTexture);
23780
+ }
23661
23781
  return {
23662
23782
  width: width,
23663
23783
  height: height,
23664
23784
  array: pixels
23665
23785
  };
23666
23786
  };
23667
- UtilExtractor.toCanvas = function (pixels, scale, ignorePremutipliedAlpha) {
23787
+ UtilExtractor.toCanvas = function (pixels, scale, ignorePremutipliedAlpha, result) {
23668
23788
  var width = pixels.width;
23669
23789
  var height = pixels.height;
23670
23790
  var array = pixels.array;
23671
- var canvasRenderTarget = new pixi_js.utils.CanvasRenderTarget(width, height, 1);
23672
- var imageData = canvasRenderTarget.context.getImageData(0, 0, width, height);
23791
+ if (result == null) {
23792
+ result = new UtilExtractorCanvas(width, height);
23793
+ }
23794
+ else {
23795
+ result.resize(width, height);
23796
+ }
23797
+ if (width <= 0 || height <= 0) {
23798
+ return result;
23799
+ }
23800
+ var context = result.getContext();
23801
+ var element = result.getElement();
23802
+ if (context == null || element == null) {
23803
+ return result;
23804
+ }
23805
+ var imageData = context.getImageData(0, 0, width, height);
23673
23806
  if (ignorePremutipliedAlpha) {
23674
23807
  imageData.data.set(array);
23675
23808
  }
23676
23809
  else {
23677
23810
  pixi_js.Extract.arrayPostDivide(array, imageData.data);
23678
23811
  }
23679
- canvasRenderTarget.context.putImageData(imageData, 0, 0);
23812
+ context.putImageData(imageData, 0, 0);
23680
23813
  // Scale down
23681
23814
  if (scale != null && scale !== 1) {
23682
- canvasRenderTarget.context.scale(scale, scale);
23683
- canvasRenderTarget.context.drawImage(canvasRenderTarget.canvas, 0, 0);
23815
+ context.scale(scale, scale);
23816
+ context.drawImage(element, 0, 0);
23684
23817
  var scaledWidth = Math.floor(width * scale);
23685
23818
  var scaledHeight = Math.floor(height * scale);
23686
- var scaledImageData = canvasRenderTarget.context.getImageData(0, 0, scaledWidth, scaledHeight);
23687
- canvasRenderTarget.resize(scaledWidth, scaledHeight);
23688
- canvasRenderTarget.context.putImageData(scaledImageData, 0, 0);
23819
+ var scaledImageData = context.getImageData(0, 0, scaledWidth, scaledHeight);
23820
+ result.resize(scaledWidth, scaledHeight);
23821
+ context.putImageData(scaledImageData, 0, 0);
23689
23822
  }
23690
- return canvasRenderTarget;
23823
+ return result;
23691
23824
  };
23692
23825
  UtilExtractor.toBase64 = function (canvas, format, quality) {
23693
23826
  return canvas.toDataURL(format, quality);
@@ -23822,8 +23955,15 @@
23822
23955
  // Create a render texture
23823
23956
  var target = options.target;
23824
23957
  var scale = target.transform.scale;
23825
- var width = Math.floor(target.width * scale.x);
23826
- var height = Math.floor(target.height * scale.y);
23958
+ var width = Math.ceil(target.width * scale.x);
23959
+ var height = Math.ceil(target.height * scale.y);
23960
+ if (width <= 0 || height <= 0) {
23961
+ return {
23962
+ width: width,
23963
+ height: height,
23964
+ array: new Uint8Array(0)
23965
+ };
23966
+ }
23827
23967
  var resolution = toResolution(options);
23828
23968
  var renderTexture = UtilExtract.WORK_RENDER_TEXTURE;
23829
23969
  if (renderTexture == null) {
@@ -23871,16 +24011,27 @@
23871
24011
  var scale = toScale(pixels, options);
23872
24012
  return UtilExtractor.toCanvas(pixels, scale, ignorePremutipliedAlpha);
23873
24013
  };
24014
+ /**
24015
+ * Extracts Base64 data URL from the target.
24016
+ * This method internally creates a render texture and a canvas render target.
24017
+ * They are used to extract pixels from the target.
24018
+ * To free the allocated render texture and canvas render target, please call {@link destroy()}.
24019
+ *
24020
+ * @param options an extraction options
24021
+ * @returns extracted Base64 data URL
24022
+ */
23874
24023
  UtilExtract.base64 = function (options) {
23875
- var canvas = this.canvas(options);
23876
- try {
23877
- return UtilExtractor.toBase64(canvas.canvas, options.format, options.quality);
23878
- }
23879
- finally {
23880
- if (canvas) {
23881
- canvas.destroy();
23882
- }
24024
+ var _a, _b, _c;
24025
+ var pixels = this.pixels(options);
24026
+ var ignorePremutipliedAlpha = (_b = (_a = options.alpha) === null || _a === void 0 ? void 0 : _a.premultiplied) === null || _b === void 0 ? void 0 : _b.ignore;
24027
+ var scale = toScale(pixels, options);
24028
+ var canvas = ((_c = this.WORK_CANVAS) !== null && _c !== void 0 ? _c : (this.WORK_CANVAS = new UtilExtractorCanvas(pixels.width, pixels.height)));
24029
+ UtilExtractor.toCanvas(pixels, scale, ignorePremutipliedAlpha, canvas);
24030
+ var element = canvas.getElement();
24031
+ if (element != null) {
24032
+ return UtilExtractor.toBase64(element, options.format, options.quality);
23883
24033
  }
24034
+ return "data:,";
23884
24035
  };
23885
24036
  UtilExtract.file = function (options) {
23886
24037
  UtilFileDownloader.downloadUrl(options.filename, this.base64(options));
@@ -23894,6 +24045,11 @@
23894
24045
  this.WORK_RENDER_TEXTURE = undefined;
23895
24046
  texture.destroy(true);
23896
24047
  }
24048
+ var canvas = this.WORK_CANVAS;
24049
+ if (canvas != null) {
24050
+ this.WORK_CANVAS = undefined;
24051
+ canvas.destroy();
24052
+ }
23897
24053
  };
23898
24054
  return UtilExtract;
23899
24055
  }());
@@ -34257,8 +34413,16 @@
34257
34413
  object.alpha = alpha;
34258
34414
  result = true;
34259
34415
  }
34416
+ if (!object.visible) {
34417
+ object.visible = true;
34418
+ result = true;
34419
+ }
34260
34420
  return result;
34261
34421
  }
34422
+ else if (object.visible) {
34423
+ object.visible = false;
34424
+ return true;
34425
+ }
34262
34426
  }
34263
34427
  }
34264
34428
  return false;
@@ -56008,10 +56172,11 @@
56008
56172
  });
56009
56173
  this._inputAndLabelAlpha = inputAndLabelAlpha;
56010
56174
  // Samples
56011
- var sampleWidth = (inputWidth - inputLabelWidth - inputMargin) * 0.5;
56012
- var sampleHeight = inputHeight + inputMargin + inputHeight;
56175
+ var sampleWidth = theme.getSampleWidth();
56176
+ var sampleHeight = theme.getSampleHeight();
56013
56177
  var sampleX = paddingLeft + (mainWidth - inputMargin) * 0.5 + inputMargin;
56014
56178
  var sampleY = inputY + (inputHeight + inputMargin + inputAndLabelAlpha.height - sampleHeight) * 0.5;
56179
+ var sampleMargin = theme.getSampleMargin();
56015
56180
  var sampleCurrentCheckerboardSprite = new pixi_js.Sprite(theme.getSampleCheckerboardOldTexture());
56016
56181
  this._sampleCurrentCheckerboardSprite = sampleCurrentCheckerboardSprite;
56017
56182
  sampleCurrentCheckerboardSprite.x = sampleX;
@@ -56038,7 +56203,7 @@
56038
56203
  this.addChild(sampleCurrentSprite);
56039
56204
  var sampleNewCheckerboardSprite = new pixi_js.Sprite(theme.getSampleCheckerboardNewTexture());
56040
56205
  this._sampleNewCheckerboardSprite = sampleNewCheckerboardSprite;
56041
- sampleNewCheckerboardSprite.x = sampleX + sampleWidth;
56206
+ sampleNewCheckerboardSprite.x = sampleX + sampleWidth + sampleMargin;
56042
56207
  sampleNewCheckerboardSprite.y = sampleY;
56043
56208
  sampleNewCheckerboardSprite.width = sampleWidth;
56044
56209
  sampleNewCheckerboardSprite.height = sampleHeight;
@@ -56046,7 +56211,7 @@
56046
56211
  this.addChild(sampleNewCheckerboardSprite);
56047
56212
  var sampleNewSprite = new pixi_js.Sprite(theme.getSampleNewTexture());
56048
56213
  this._sampleNewSprite = sampleNewSprite;
56049
- sampleNewSprite.x = sampleX + sampleWidth;
56214
+ sampleNewSprite.x = sampleX + sampleWidth + sampleMargin;
56050
56215
  sampleNewSprite.y = sampleY;
56051
56216
  sampleNewSprite.tint = this._new.color;
56052
56217
  sampleNewSprite.alpha = this._new.alpha;
@@ -73314,6 +73479,10 @@
73314
73479
  * Cells of a right-most frozen column.
73315
73480
  */
73316
73481
  FROZEN_END: "FROZEN_END",
73482
+ /**
73483
+ * Rows with data
73484
+ */
73485
+ HAS_DATA: "HAS_DATA",
73317
73486
  /**
73318
73487
  * Header cells of sortable columns.
73319
73488
  */
@@ -75523,6 +75692,7 @@
75523
75692
  // State
75524
75693
  var rowState = row.state;
75525
75694
  rowState.lock();
75695
+ rowState.add(DTableState.HAS_DATA);
75526
75696
  rowState.set(DTableState.SELECTABLE, isRowSelectable);
75527
75697
  rowState.set(DBaseState.ACTIVE, selection.contains(unmappedIndex));
75528
75698
  rowState.remove(DBaseState.DISABLED);
@@ -75538,7 +75708,7 @@
75538
75708
  var rowState = row.state;
75539
75709
  rowState.lock();
75540
75710
  rowState.add(DBaseState.DISABLED);
75541
- rowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);
75711
+ rowState.removeAll(DTableState.HAS_DATA, DTableState.SELECTABLE, DBaseState.ACTIVE);
75542
75712
  rowState.unlock();
75543
75713
  // Data
75544
75714
  row.unset();
@@ -75551,7 +75721,7 @@
75551
75721
  var rowState = row.state;
75552
75722
  rowState.lock();
75553
75723
  rowState.add(DBaseState.DISABLED);
75554
- rowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);
75724
+ rowState.removeAll(DTableState.HAS_DATA, DTableState.SELECTABLE, DBaseState.ACTIVE);
75555
75725
  rowState.unlock();
75556
75726
  // Data
75557
75727
  row.unset();
@@ -80940,6 +81110,7 @@
80940
81110
  UtilGestureTap: UtilGestureTap,
80941
81111
  UtilGesture: UtilGesture,
80942
81112
  UtilExtract: UtilExtract,
81113
+ UtilExtractorCanvas: UtilExtractorCanvas,
80943
81114
  UtilExtractor: UtilExtractor,
80944
81115
  UtilFileDownloader: UtilFileDownloader,
80945
81116
  UtilFileAs: UtilFileAs,