@visactor/vtable 0.20.2-alpha.3 → 0.20.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/cjs/ListTable.js +1 -1
  2. package/cjs/ListTable.js.map +1 -1
  3. package/cjs/body-helper/body-helper.d.ts +2 -1
  4. package/cjs/body-helper/style/CheckboxStyle.d.ts +31 -2
  5. package/cjs/body-helper/style/CheckboxStyle.js +70 -4
  6. package/cjs/body-helper/style/CheckboxStyle.js.map +1 -1
  7. package/cjs/body-helper/style.d.ts +2 -1
  8. package/cjs/body-helper/style.js +5 -4
  9. package/cjs/body-helper/style.js.map +1 -1
  10. package/cjs/core/BaseTable.js +19 -16
  11. package/cjs/core/BaseTable.js.map +1 -1
  12. package/cjs/core/tableHelper.js +9 -4
  13. package/cjs/core/tableHelper.js.map +1 -1
  14. package/cjs/event/listener/table-group.js +8 -8
  15. package/cjs/event/listener/table-group.js.map +1 -1
  16. package/cjs/header-helper/header-helper.d.ts +1 -1
  17. package/cjs/header-helper/style/CheckboxStyle.d.ts +31 -2
  18. package/cjs/header-helper/style/CheckboxStyle.js +70 -4
  19. package/cjs/header-helper/style/CheckboxStyle.js.map +1 -1
  20. package/cjs/header-helper/style.d.ts +2 -1
  21. package/cjs/header-helper/style.js +12 -7
  22. package/cjs/header-helper/style.js.map +1 -1
  23. package/cjs/index.d.ts +1 -1
  24. package/cjs/index.js +1 -1
  25. package/cjs/index.js.map +1 -1
  26. package/cjs/layout/simple-header-layout.js +1 -1
  27. package/cjs/layout/simple-header-layout.js.map +1 -1
  28. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +6 -28
  29. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  30. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js +2 -9
  31. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  32. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +19 -22
  33. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  34. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js +40 -46
  35. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  36. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +7 -7
  37. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  38. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js +18 -21
  39. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  40. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +10 -11
  41. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  42. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +7 -7
  43. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  44. package/cjs/scenegraph/scenegraph.js +5 -5
  45. package/cjs/scenegraph/scenegraph.js.map +1 -1
  46. package/cjs/scenegraph/utils/text-icon-layout.js +3 -9
  47. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  48. package/cjs/themes/theme.d.ts +3 -3
  49. package/cjs/themes/theme.js +10 -16
  50. package/cjs/themes/theme.js.map +1 -1
  51. package/cjs/ts-types/column/style.d.ts +14 -0
  52. package/cjs/ts-types/column/style.js.map +1 -1
  53. package/cjs/ts-types/theme.d.ts +2 -4
  54. package/cjs/ts-types/theme.js.map +1 -1
  55. package/cjs/vrender.js.map +1 -1
  56. package/dist/vtable.js +347 -300
  57. package/dist/vtable.min.js +2 -2
  58. package/es/ListTable.js +1 -1
  59. package/es/ListTable.js.map +1 -1
  60. package/es/body-helper/body-helper.d.ts +2 -1
  61. package/es/body-helper/style/CheckboxStyle.d.ts +31 -2
  62. package/es/body-helper/style/CheckboxStyle.js +70 -4
  63. package/es/body-helper/style/CheckboxStyle.js.map +1 -1
  64. package/es/body-helper/style.d.ts +2 -1
  65. package/es/body-helper/style.js +6 -3
  66. package/es/body-helper/style.js.map +1 -1
  67. package/es/core/BaseTable.js +20 -17
  68. package/es/core/BaseTable.js.map +1 -1
  69. package/es/core/tableHelper.js +8 -4
  70. package/es/core/tableHelper.js.map +1 -1
  71. package/es/event/listener/table-group.js +7 -7
  72. package/es/event/listener/table-group.js.map +1 -1
  73. package/es/header-helper/header-helper.d.ts +1 -1
  74. package/es/header-helper/style/CheckboxStyle.d.ts +31 -2
  75. package/es/header-helper/style/CheckboxStyle.js +70 -4
  76. package/es/header-helper/style/CheckboxStyle.js.map +1 -1
  77. package/es/header-helper/style.d.ts +2 -1
  78. package/es/header-helper/style.js +6 -3
  79. package/es/header-helper/style.js.map +1 -1
  80. package/es/index.d.ts +1 -1
  81. package/es/index.js +1 -1
  82. package/es/index.js.map +1 -1
  83. package/es/layout/simple-header-layout.js +1 -1
  84. package/es/layout/simple-header-layout.js.map +1 -1
  85. package/es/scenegraph/graphic/contributions/group-contribution-render.js +5 -28
  86. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  87. package/es/scenegraph/graphic/contributions/rect-contribution-render.js +2 -9
  88. package/es/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  89. package/es/scenegraph/group-creater/cell-type/chart-cell.js +18 -23
  90. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  91. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js +31 -47
  92. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  93. package/es/scenegraph/group-creater/cell-type/image-cell.js +6 -8
  94. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  95. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js +17 -22
  96. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  97. package/es/scenegraph/group-creater/cell-type/text-cell.js +9 -11
  98. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  99. package/es/scenegraph/group-creater/cell-type/video-cell.js +6 -8
  100. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  101. package/es/scenegraph/scenegraph.js +5 -5
  102. package/es/scenegraph/scenegraph.js.map +1 -1
  103. package/es/scenegraph/utils/text-icon-layout.js +3 -9
  104. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  105. package/es/themes/theme.d.ts +3 -3
  106. package/es/themes/theme.js +9 -16
  107. package/es/themes/theme.js.map +1 -1
  108. package/es/ts-types/column/style.d.ts +14 -0
  109. package/es/ts-types/column/style.js.map +1 -1
  110. package/es/ts-types/theme.d.ts +2 -4
  111. package/es/ts-types/theme.js.map +1 -1
  112. package/es/vrender.js.map +1 -1
  113. package/package.json +5 -5
  114. package/cjs/scenegraph/utils/cell-border-stroke-width.d.ts +0 -3
  115. package/cjs/scenegraph/utils/cell-border-stroke-width.js +0 -16
  116. package/cjs/scenegraph/utils/cell-border-stroke-width.js.map +0 -1
  117. package/es/scenegraph/utils/cell-border-stroke-width.d.ts +0 -3
  118. package/es/scenegraph/utils/cell-border-stroke-width.js +0 -10
  119. package/es/scenegraph/utils/cell-border-stroke-width.js.map +0 -1
package/dist/vtable.js CHANGED
@@ -21847,13 +21847,122 @@
21847
21847
  }
21848
21848
  }
21849
21849
 
21850
- function of$2(columnStyle, bodyStyle, styleArg, StyleClassDef = Style$1, globalAutoWrapText) {
21850
+ let defaultStyle$5;
21851
+ let CheckboxStyle$1 = class CheckboxStyle extends Style$1 {
21852
+ _size;
21853
+ _spaceBetweenTextAndIcon;
21854
+ _defaultFill;
21855
+ _defaultStroke;
21856
+ _disableFill;
21857
+ _checkedFill;
21858
+ _checkedStroke;
21859
+ _disableCheckedFill;
21860
+ _disableCheckedStroke;
21861
+ _checkIconImage;
21862
+ _indeterminateIconImage;
21863
+ static get DEFAULT() {
21864
+ return defaultStyle$5 ? defaultStyle$5 : (defaultStyle$5 = new CheckboxStyle());
21865
+ }
21866
+ constructor(style = {}, headerStyle = {}, checkboxThemeStyle = {}) {
21867
+ super(style, headerStyle);
21868
+ this._size = (style?.size ?? headerStyle?.size ?? checkboxThemeStyle?.size) || 14;
21869
+ this._spaceBetweenTextAndIcon =
21870
+ (style?.spaceBetweenTextAndIcon ??
21871
+ headerStyle?.spaceBetweenTextAndIcon ??
21872
+ checkboxThemeStyle?.spaceBetweenTextAndIcon) ||
21873
+ 8;
21874
+ this._defaultFill = style?.checkboxStyle?.defaultFill ?? checkboxThemeStyle?.defaultFill;
21875
+ this._defaultStroke = style?.checkboxStyle?.defaultStroke ?? checkboxThemeStyle?.defaultStroke;
21876
+ this._disableFill = style?.checkboxStyle?.disableFill ?? checkboxThemeStyle?.disableFill;
21877
+ this._checkedFill = style?.checkboxStyle?.checkedFill ?? checkboxThemeStyle?.checkedFill;
21878
+ this._checkedStroke = style?.checkboxStyle?.checkedStroke ?? checkboxThemeStyle?.checkedStroke;
21879
+ this._disableCheckedFill = style?.checkboxStyle?.disableCheckedFill ?? checkboxThemeStyle?.disableCheckedFill;
21880
+ this._disableCheckedStroke = style?.checkboxStyle?.disableCheckedStroke ?? checkboxThemeStyle?.disableCheckedStroke;
21881
+ this._checkIconImage = style?.checkboxStyle?.checkIconImage ?? checkboxThemeStyle?.checkIconImage;
21882
+ this._indeterminateIconImage =
21883
+ style?.checkboxStyle?.indeterminateIconImage ?? checkboxThemeStyle?.indeterminateIconImage;
21884
+ }
21885
+ get size() {
21886
+ return this._size;
21887
+ }
21888
+ set size(size) {
21889
+ this._size = size;
21890
+ }
21891
+ get spaceBetweenTextAndIcon() {
21892
+ return this._spaceBetweenTextAndIcon;
21893
+ }
21894
+ set spaceBetweenTextAndIcon(spaceBetweenTextAndIcon) {
21895
+ this._spaceBetweenTextAndIcon = spaceBetweenTextAndIcon;
21896
+ }
21897
+ get defaultFill() {
21898
+ return this._defaultFill;
21899
+ }
21900
+ set defaultFill(defaultFill) {
21901
+ this._defaultFill = defaultFill;
21902
+ }
21903
+ get defaultStroke() {
21904
+ return this._defaultStroke;
21905
+ }
21906
+ set defaultStroke(defaultStroke) {
21907
+ this._defaultStroke = defaultStroke;
21908
+ }
21909
+ get disableFill() {
21910
+ return this._disableFill;
21911
+ }
21912
+ set disableFill(disableFill) {
21913
+ this._disableFill = disableFill;
21914
+ }
21915
+ get checkedFill() {
21916
+ return this._checkedFill;
21917
+ }
21918
+ set checkedFill(checkedFill) {
21919
+ this._checkedFill = checkedFill;
21920
+ }
21921
+ get checkedStroke() {
21922
+ return this._checkedStroke;
21923
+ }
21924
+ set checkedStroke(checkedStroke) {
21925
+ this._checkedStroke = checkedStroke;
21926
+ }
21927
+ get disableCheckedFill() {
21928
+ return this._disableCheckedFill;
21929
+ }
21930
+ set disableCheckedFill(disableCheckedFill) {
21931
+ this._disableCheckedFill = disableCheckedFill;
21932
+ }
21933
+ get disableCheckedStroke() {
21934
+ return this._disableCheckedStroke;
21935
+ }
21936
+ set disableCheckedStroke(disableCheckedStroke) {
21937
+ this._disableCheckedStroke = disableCheckedStroke;
21938
+ }
21939
+ get checkIconImage() {
21940
+ return this._checkIconImage;
21941
+ }
21942
+ set checkIconImage(checkIconImage) {
21943
+ this._checkIconImage = checkIconImage;
21944
+ }
21945
+ get indeterminateIconImage() {
21946
+ return this._indeterminateIconImage;
21947
+ }
21948
+ set indeterminateIconImage(indeterminateIconImage) {
21949
+ this._indeterminateIconImage = indeterminateIconImage;
21950
+ }
21951
+ getStyle(style) {
21952
+ return new CheckboxStyle(style, this);
21953
+ }
21954
+ clone() {
21955
+ return new CheckboxStyle(this);
21956
+ }
21957
+ };
21958
+
21959
+ function of$2(columnStyle, bodyStyle, styleArg, StyleClassDef = Style$1, globalAutoWrapText, theme) {
21851
21960
  if (columnStyle || bodyStyle) {
21852
21961
  if (columnStyle instanceof Style$1) {
21853
21962
  return columnStyle;
21854
21963
  }
21855
21964
  else if (typeof columnStyle === 'function') {
21856
- return of$2(columnStyle(styleArg), bodyStyle, styleArg, StyleClassDef, globalAutoWrapText);
21965
+ return of$2(columnStyle(styleArg), bodyStyle, styleArg, StyleClassDef, globalAutoWrapText, theme);
21857
21966
  }
21858
21967
  if (!columnStyle) {
21859
21968
  columnStyle = {};
@@ -21861,12 +21970,15 @@
21861
21970
  if (globalAutoWrapText && !isValid$1(columnStyle.autoWrapText)) {
21862
21971
  columnStyle.autoWrapText = true;
21863
21972
  }
21973
+ if (StyleClassDef === CheckboxStyle$1) {
21974
+ return new CheckboxStyle$1(columnStyle ?? {}, (bodyStyle ?? {}), (theme.checkboxStyle ?? {}));
21975
+ }
21864
21976
  return new StyleClassDef((columnStyle ?? {}), (bodyStyle ?? {}));
21865
21977
  }
21866
21978
  return StyleClassDef.DEFAULT;
21867
21979
  }
21868
21980
 
21869
- let defaultStyle$5;
21981
+ let defaultStyle$4;
21870
21982
  const EVENT_TYPE$1 = {
21871
21983
  CHANGE_STYLE: 'change_style'
21872
21984
  };
@@ -21901,7 +22013,7 @@
21901
22013
  return EVENT_TYPE$1;
21902
22014
  }
21903
22015
  static get DEFAULT() {
21904
- return defaultStyle$5 ? defaultStyle$5 : (defaultStyle$5 = new Style());
22016
+ return defaultStyle$4 ? defaultStyle$4 : (defaultStyle$4 = new Style());
21905
22017
  }
21906
22018
  constructor(style = {}, headerStyle = {}) {
21907
22019
  super();
@@ -22086,12 +22198,12 @@
22086
22198
  }
22087
22199
  }
22088
22200
 
22089
- let defaultStyle$4;
22201
+ let defaultStyle$3;
22090
22202
  class TextHeaderStyle extends Style {
22091
22203
  _autoWrapText;
22092
22204
  _lineClamp;
22093
22205
  static get DEFAULT() {
22094
- return defaultStyle$4 ? defaultStyle$4 : (defaultStyle$4 = new TextHeaderStyle());
22206
+ return defaultStyle$3 ? defaultStyle$3 : (defaultStyle$3 = new TextHeaderStyle());
22095
22207
  }
22096
22208
  constructor(style = {}, headerStyle = null) {
22097
22209
  super(style, headerStyle);
@@ -22115,13 +22227,122 @@
22115
22227
  }
22116
22228
  }
22117
22229
 
22118
- function of$1(headerStyle, defaultHeaderStyle, styleArg, StyleClass, globalAutoWrapText) {
22230
+ let defaultStyle$2;
22231
+ class CheckboxStyle extends Style {
22232
+ _size;
22233
+ _spaceBetweenTextAndIcon;
22234
+ _defaultFill;
22235
+ _defaultStroke;
22236
+ _disableFill;
22237
+ _checkedFill;
22238
+ _checkedStroke;
22239
+ _disableCheckedFill;
22240
+ _disableCheckedStroke;
22241
+ _checkIconImage;
22242
+ _indeterminateIconImage;
22243
+ static get DEFAULT() {
22244
+ return defaultStyle$2 ? defaultStyle$2 : (defaultStyle$2 = new CheckboxStyle());
22245
+ }
22246
+ constructor(style = {}, headerStyle = {}, checkboxThemeStyle = {}) {
22247
+ super(style, headerStyle);
22248
+ this._size = (style?.size ?? headerStyle?.size ?? checkboxThemeStyle?.size) || 14;
22249
+ this._spaceBetweenTextAndIcon =
22250
+ (style?.spaceBetweenTextAndIcon ??
22251
+ headerStyle?.spaceBetweenTextAndIcon ??
22252
+ checkboxThemeStyle?.spaceBetweenTextAndIcon) ||
22253
+ 8;
22254
+ this._defaultFill = style?.checkboxStyle?.defaultFill ?? checkboxThemeStyle?.defaultFill;
22255
+ this._defaultStroke = style?.checkboxStyle?.defaultStroke ?? checkboxThemeStyle?.defaultStroke;
22256
+ this._disableFill = style?.checkboxStyle?.disableFill ?? checkboxThemeStyle?.disableFill;
22257
+ this._checkedFill = style?.checkboxStyle?.checkedFill ?? checkboxThemeStyle?.checkedFill;
22258
+ this._checkedStroke = style?.checkboxStyle?.checkedStroke ?? checkboxThemeStyle?.checkedStroke;
22259
+ this._disableCheckedFill = style?.checkboxStyle?.disableCheckedFill ?? checkboxThemeStyle?.disableCheckedFill;
22260
+ this._disableCheckedStroke = style?.checkboxStyle?.disableCheckedStroke ?? checkboxThemeStyle?.disableCheckedStroke;
22261
+ this._checkIconImage = style?.checkboxStyle?.checkIconImage ?? checkboxThemeStyle?.checkIconImage;
22262
+ this._indeterminateIconImage =
22263
+ style?.checkboxStyle?.indeterminateIconImage ?? checkboxThemeStyle?.indeterminateIconImage;
22264
+ }
22265
+ get size() {
22266
+ return this._size;
22267
+ }
22268
+ set size(size) {
22269
+ this._size = size;
22270
+ }
22271
+ get spaceBetweenTextAndIcon() {
22272
+ return this._spaceBetweenTextAndIcon;
22273
+ }
22274
+ set spaceBetweenTextAndIcon(spaceBetweenTextAndIcon) {
22275
+ this._spaceBetweenTextAndIcon = spaceBetweenTextAndIcon;
22276
+ }
22277
+ get defaultFill() {
22278
+ return this._defaultFill;
22279
+ }
22280
+ set defaultFill(defaultFill) {
22281
+ this._defaultFill = defaultFill;
22282
+ }
22283
+ get defaultStroke() {
22284
+ return this._defaultStroke;
22285
+ }
22286
+ set defaultStroke(defaultStroke) {
22287
+ this._defaultStroke = defaultStroke;
22288
+ }
22289
+ get disableFill() {
22290
+ return this._disableFill;
22291
+ }
22292
+ set disableFill(disableFill) {
22293
+ this._disableFill = disableFill;
22294
+ }
22295
+ get checkedFill() {
22296
+ return this._checkedFill;
22297
+ }
22298
+ set checkedFill(checkedFill) {
22299
+ this._checkedFill = checkedFill;
22300
+ }
22301
+ get checkedStroke() {
22302
+ return this._checkedStroke;
22303
+ }
22304
+ set checkedStroke(checkedStroke) {
22305
+ this._checkedStroke = checkedStroke;
22306
+ }
22307
+ get disableCheckedFill() {
22308
+ return this._disableCheckedFill;
22309
+ }
22310
+ set disableCheckedFill(disableCheckedFill) {
22311
+ this._disableCheckedFill = disableCheckedFill;
22312
+ }
22313
+ get disableCheckedStroke() {
22314
+ return this._disableCheckedStroke;
22315
+ }
22316
+ set disableCheckedStroke(disableCheckedStroke) {
22317
+ this._disableCheckedStroke = disableCheckedStroke;
22318
+ }
22319
+ get checkIconImage() {
22320
+ return this._checkIconImage;
22321
+ }
22322
+ set checkIconImage(checkIconImage) {
22323
+ this._checkIconImage = checkIconImage;
22324
+ }
22325
+ get indeterminateIconImage() {
22326
+ return this._indeterminateIconImage;
22327
+ }
22328
+ set indeterminateIconImage(indeterminateIconImage) {
22329
+ this._indeterminateIconImage = indeterminateIconImage;
22330
+ }
22331
+ getStyle(style) {
22332
+ return new CheckboxStyle(style, this);
22333
+ }
22334
+ clone() {
22335
+ return new CheckboxStyle(this);
22336
+ }
22337
+ }
22338
+
22339
+ function of$1(headerStyle, defaultHeaderStyle, styleArg, StyleClass, globalAutoWrapText, theme) {
22119
22340
  if (headerStyle || defaultHeaderStyle) {
22120
22341
  if (headerStyle instanceof Style) {
22121
22342
  return headerStyle;
22122
22343
  }
22123
22344
  else if (typeof headerStyle === 'function') {
22124
- return of$1(headerStyle(styleArg), defaultHeaderStyle, styleArg, StyleClass, globalAutoWrapText);
22345
+ return of$1(headerStyle(styleArg), defaultHeaderStyle, styleArg, StyleClass, globalAutoWrapText, theme);
22125
22346
  }
22126
22347
  if (!headerStyle) {
22127
22348
  headerStyle = {};
@@ -22129,6 +22350,9 @@
22129
22350
  if (globalAutoWrapText && !isValid$1(headerStyle.autoWrapText)) {
22130
22351
  headerStyle.autoWrapText = true;
22131
22352
  }
22353
+ if (StyleClass === CheckboxStyle) {
22354
+ return new CheckboxStyle(headerStyle ?? {}, (defaultHeaderStyle ?? {}), (theme.checkboxStyle ?? {}));
22355
+ }
22132
22356
  return new StyleClass(headerStyle ?? {}, (defaultHeaderStyle ?? {}));
22133
22357
  }
22134
22358
  return StyleClass.DEFAULT;
@@ -23758,7 +23982,9 @@
23758
23982
  _frozenColumnLine = null;
23759
23983
  _selectionStyle = null;
23760
23984
  _axisStyle = null;
23985
+ _checkboxStyle = null;
23761
23986
  _textPopTipStyle = null;
23987
+ isPivot = false;
23762
23988
  constructor(obj, superTheme) {
23763
23989
  this.internalTheme = {
23764
23990
  obj,
@@ -23773,18 +23999,6 @@
23773
23999
  const { obj, superTheme } = this.internalTheme;
23774
24000
  return getProp$1(obj, superTheme, ['underlayBackgroundColor']);
23775
24001
  }
23776
- get cellInnerBorder() {
23777
- const { obj, superTheme } = this.internalTheme;
23778
- return !!getProp$1(obj, superTheme, ['cellInnerBorder']);
23779
- }
23780
- get cellBorderClipDirection() {
23781
- const { obj, superTheme } = this.internalTheme;
23782
- return getProp$1(obj, superTheme, ['cellBorderClipDirection']) ?? 'top-left';
23783
- }
23784
- get _contentOffset() {
23785
- const { obj, superTheme } = this.internalTheme;
23786
- return getProp$1(obj, superTheme, ['_contentOffset']) ?? 0;
23787
- }
23788
24002
  get defaultStyle() {
23789
24003
  if (!this._defaultStyle) {
23790
24004
  const { obj, superTheme } = this.internalTheme;
@@ -23970,7 +24184,7 @@
23970
24184
  get rowHeaderStyle() {
23971
24185
  if (!this._rowHeader) {
23972
24186
  const { obj, superTheme } = this.internalTheme;
23973
- const header = ingoreNoneValueMerge({}, this.defaultStyle, superTheme.rowHeaderStyle, obj.rowHeaderStyle ?? obj.headerStyle);
24187
+ const header = ingoreNoneValueMerge({}, this.defaultStyle, superTheme.rowHeaderStyle, obj.rowHeaderStyle ?? (this.isPivot ? null : obj.headerStyle));
23974
24188
  this._rowHeader = this.getStyle(header);
23975
24189
  }
23976
24190
  return this._rowHeader;
@@ -24191,6 +24405,14 @@
24191
24405
  }
24192
24406
  return this._axisStyle;
24193
24407
  }
24408
+ get checkboxStyle() {
24409
+ if (!this._checkboxStyle) {
24410
+ const { obj, superTheme } = this.internalTheme;
24411
+ const checkboxStyle = ingoreNoneValueMerge({}, superTheme.checkboxStyle, obj.checkboxStyle);
24412
+ this._checkboxStyle = checkboxStyle;
24413
+ }
24414
+ return this._checkboxStyle;
24415
+ }
24194
24416
  get textPopTipStyle() {
24195
24417
  if (!this._textPopTipStyle) {
24196
24418
  const { obj, superTheme } = this.internalTheme;
@@ -32835,16 +33057,22 @@
32835
33057
  let fontFamily;
32836
33058
  let fontSize;
32837
33059
  let fontWeight;
33060
+ let fontStyle;
33061
+ let fontVariant;
32838
33062
  if (font) {
32839
- const { family, size, weight } = parseFont(font);
33063
+ const { family, size, weight, style, variant } = parseFont(font);
32840
33064
  fontFamily = family.join(' ');
32841
33065
  fontSize = size;
32842
33066
  fontWeight = weight;
33067
+ fontStyle = style;
33068
+ fontStyle = variant;
32843
33069
  }
32844
33070
  else {
32845
33071
  fontFamily = getProp('fontFamily', headerStyle, col, row, table);
32846
33072
  fontSize = getProp('fontSize', headerStyle, col, row, table);
32847
33073
  fontWeight = getProp('fontWeight', headerStyle, col, row, table);
33074
+ fontStyle = getProp('fontStyle', headerStyle, col, row, table);
33075
+ fontVariant = getProp('fontVariant', headerStyle, col, row, table);
32848
33076
  }
32849
33077
  const textAlign = getProp('textAlign', headerStyle, col, row, table);
32850
33078
  const textBaseline = getProp('textBaseline', headerStyle, col, row, table);
@@ -32880,6 +33108,8 @@
32880
33108
  fontFamily,
32881
33109
  fontSize,
32882
33110
  fontWeight,
33111
+ fontStyle,
33112
+ fontVariant,
32883
33113
  fill: color,
32884
33114
  textAlign,
32885
33115
  textBaseline,
@@ -33932,50 +34162,6 @@
33932
34162
  return undefined;
33933
34163
  }
33934
34164
 
33935
- function getCellBorderStrokeWidth(col, row, cellTheme, table) {
33936
- let strokeArrayWidth = cellTheme?.group?.strokeArrayWidth ?? undefined;
33937
- if (!table.theme.cellInnerBorder) {
33938
- return strokeArrayWidth;
33939
- }
33940
- if (col === 0) {
33941
- strokeArrayWidth = strokeArrayWidth ?? [
33942
- cellTheme?.group?.lineWidth,
33943
- cellTheme?.group?.lineWidth,
33944
- cellTheme?.group?.lineWidth,
33945
- cellTheme?.group?.lineWidth
33946
- ];
33947
- strokeArrayWidth[3] = 0;
33948
- }
33949
- if (col === table.colCount - 1) {
33950
- strokeArrayWidth = strokeArrayWidth ?? [
33951
- cellTheme?.group?.lineWidth,
33952
- cellTheme?.group?.lineWidth,
33953
- cellTheme?.group?.lineWidth,
33954
- cellTheme?.group?.lineWidth
33955
- ];
33956
- strokeArrayWidth[1] = 0;
33957
- }
33958
- if (row === 0) {
33959
- strokeArrayWidth = strokeArrayWidth ?? [
33960
- cellTheme?.group?.lineWidth,
33961
- cellTheme?.group?.lineWidth,
33962
- cellTheme?.group?.lineWidth,
33963
- cellTheme?.group?.lineWidth
33964
- ];
33965
- strokeArrayWidth[0] = 0;
33966
- }
33967
- if (row === table.rowCount - 1) {
33968
- strokeArrayWidth = strokeArrayWidth ?? [
33969
- cellTheme?.group?.lineWidth,
33970
- cellTheme?.group?.lineWidth,
33971
- cellTheme?.group?.lineWidth,
33972
- cellTheme?.group?.lineWidth
33973
- ];
33974
- strokeArrayWidth[2] = 0;
33975
- }
33976
- return strokeArrayWidth;
33977
- }
33978
-
33979
34165
  function createImageCellGroup(columnGroup, xOrigin, yOrigin, col, row, width, height, keepAspectRatio, imageAutoSizing, padding, textAlign, textBaseline, table, cellTheme) {
33980
34166
  const headerStyle = table._getCellStyle(col, row);
33981
34167
  const functionalPadding = getFunctionalProp('padding', headerStyle, col, row, table);
@@ -33988,7 +34174,6 @@
33988
34174
  if (cellTheme?.text?.textBaseline) {
33989
34175
  textBaseline = cellTheme?.text?.textBaseline;
33990
34176
  }
33991
- const strokeArrayWidth = getCellBorderStrokeWidth(col, row, cellTheme, table);
33992
34177
  const cellGroup = new Group$1({
33993
34178
  x: xOrigin,
33994
34179
  y: yOrigin,
@@ -33997,7 +34182,7 @@
33997
34182
  lineWidth: cellTheme?.group?.lineWidth ?? undefined,
33998
34183
  fill: cellTheme?.group?.fill ?? undefined,
33999
34184
  stroke: cellTheme?.group?.stroke ?? undefined,
34000
- strokeArrayWidth: strokeArrayWidth ?? undefined,
34185
+ strokeArrayWidth: cellTheme?.group?.strokeArrayWidth ?? undefined,
34001
34186
  strokeArrayColor: cellTheme?.group?.strokeArrayColor ?? undefined,
34002
34187
  cursor: cellTheme?.group?.cursor ?? undefined,
34003
34188
  lineDash: cellTheme?.group?.lineDash ?? undefined,
@@ -34642,7 +34827,6 @@
34642
34827
  const yScale = new LinearScale();
34643
34828
  function createSparkLineCellGroup(cellGroup, columnGroup, xOrigin, yOrigin, col, row, width, height, padding, table, cellTheme) {
34644
34829
  if (!cellGroup) {
34645
- const strokeArrayWidth = getCellBorderStrokeWidth(col, row, cellTheme, table);
34646
34830
  cellGroup = new Group$1({
34647
34831
  x: xOrigin,
34648
34832
  y: yOrigin,
@@ -34651,7 +34835,7 @@
34651
34835
  lineWidth: cellTheme?.group?.lineWidth ?? undefined,
34652
34836
  fill: cellTheme?.group?.fill ?? undefined,
34653
34837
  stroke: cellTheme?.group?.stroke ?? undefined,
34654
- strokeArrayWidth: strokeArrayWidth,
34838
+ strokeArrayWidth: cellTheme?.group?.strokeArrayWidth ?? undefined,
34655
34839
  strokeArrayColor: cellTheme?.group?.strokeArrayColor ?? undefined,
34656
34840
  cursor: cellTheme?.group?.cursor ?? undefined,
34657
34841
  lineDash: cellTheme?.group?.lineDash ?? undefined,
@@ -35026,7 +35210,6 @@
35026
35210
  padding = functionalPadding;
35027
35211
  }
35028
35212
  if (!cellGroup) {
35029
- const strokeArrayWidth = getCellBorderStrokeWidth(col, row, cellTheme, table);
35030
35213
  cellGroup = new Group$1({
35031
35214
  x: xOrigin,
35032
35215
  y: yOrigin,
@@ -35035,7 +35218,7 @@
35035
35218
  lineWidth: cellTheme?.group?.lineWidth ?? undefined,
35036
35219
  fill: cellTheme?.group?.fill ?? undefined,
35037
35220
  stroke: cellTheme?.group?.stroke ?? undefined,
35038
- strokeArrayWidth: strokeArrayWidth,
35221
+ strokeArrayWidth: cellTheme?.group?.strokeArrayWidth ?? undefined,
35039
35222
  strokeArrayColor: cellTheme?.group?.strokeArrayColor ?? undefined,
35040
35223
  cursor: cellTheme?.group?.cursor ?? undefined,
35041
35224
  lineDash: cellTheme?.group?.lineDash ?? undefined,
@@ -35287,15 +35470,6 @@
35287
35470
  const hierarchyOffset = range
35288
35471
  ? getHierarchyOffset(range.start.col, range.start.row, table)
35289
35472
  : getHierarchyOffset(cellGroup.col, cellGroup.row, table);
35290
- let _contentOffset = 0;
35291
- if (isNumber$2(table.theme._contentOffset)) {
35292
- if (textAlign === 'left') {
35293
- _contentOffset = table.theme._contentOffset;
35294
- }
35295
- else if (textAlign === 'right') {
35296
- _contentOffset = -table.theme._contentOffset;
35297
- }
35298
- }
35299
35473
  const attribute = {
35300
35474
  text: text.length === 1 ? text[0] : text,
35301
35475
  maxLineWidth: autoColWidth ? Infinity : cellWidth - (padding[1] + padding[3] + hierarchyOffset),
@@ -35305,7 +35479,7 @@
35305
35479
  wordBreak: 'break-word',
35306
35480
  heightLimit: autoRowHeight ? -1 : cellHeight - (padding[0] + padding[2]),
35307
35481
  pickable: false,
35308
- dx: hierarchyOffset + _contentOffset,
35482
+ dx: hierarchyOffset,
35309
35483
  whiteSpace: text.length === 1 && !autoWrapText ? 'no-wrap' : 'normal'
35310
35484
  };
35311
35485
  const wrapText = new Text$1(cellTheme.text ? Object.assign({}, cellTheme.text, attribute) : attribute);
@@ -35381,15 +35555,6 @@
35381
35555
  });
35382
35556
  let textMark;
35383
35557
  if (inlineFrontIcons.length === 0 && inlineEndIcons.length === 0) {
35384
- let _contentOffset = 0;
35385
- if (isNumber$2(table.theme._contentOffset)) {
35386
- if (textAlign === 'left') {
35387
- _contentOffset = table.theme._contentOffset;
35388
- }
35389
- else if (textAlign === 'right') {
35390
- _contentOffset = -table.theme._contentOffset;
35391
- }
35392
- }
35393
35558
  const text = convertInternal(textStr).replace(/\r?\n/g, '\n').replace(/\r/g, '\n').split('\n');
35394
35559
  const attribute = {
35395
35560
  text: text.length === 1 ? text[0] : text,
@@ -35400,8 +35565,7 @@
35400
35565
  autoWrapText,
35401
35566
  lineClamp,
35402
35567
  wordBreak: 'break-word',
35403
- whiteSpace: text.length === 1 && !autoWrapText ? 'no-wrap' : 'normal',
35404
- dx: _contentOffset
35568
+ whiteSpace: text.length === 1 && !autoWrapText ? 'no-wrap' : 'normal'
35405
35569
  };
35406
35570
  const wrapText = new Text$1(cellTheme.text ? Object.assign({}, cellTheme.text, attribute) : attribute);
35407
35571
  wrapText.name = 'text';
@@ -35777,7 +35941,6 @@
35777
35941
  const autoColWidth = colWidth === 'auto';
35778
35942
  const autoWrapText = headerStyle.autoWrapText ?? table.internalProps.autoWrapText;
35779
35943
  const lineClamp = headerStyle.lineClamp;
35780
- const strokeArrayWidth = getCellBorderStrokeWidth(col, row, cellTheme, table);
35781
35944
  const cellGroup = new Group$1({
35782
35945
  x: xOrigin,
35783
35946
  y: yOrigin,
@@ -35786,7 +35949,7 @@
35786
35949
  lineWidth: cellTheme?.group?.lineWidth ?? undefined,
35787
35950
  fill: cellTheme?.group?.fill ?? undefined,
35788
35951
  stroke: cellTheme?.group?.stroke ?? undefined,
35789
- strokeArrayWidth: strokeArrayWidth ?? undefined,
35952
+ strokeArrayWidth: cellTheme?.group?.strokeArrayWidth ?? undefined,
35790
35953
  strokeArrayColor: cellTheme?.group?.strokeArrayColor ?? undefined,
35791
35954
  cursor: cellTheme?.group?.cursor ?? undefined,
35792
35955
  lineDash: cellTheme?.group?.lineDash ?? undefined,
@@ -35850,7 +36013,6 @@
35850
36013
  if (cellTheme?.text?.textBaseline) {
35851
36014
  textBaseline = cellTheme?.text?.textBaseline;
35852
36015
  }
35853
- const strokeArrayWidth = getCellBorderStrokeWidth(col, row, cellTheme, table);
35854
36016
  const cellGroup = new Group$1({
35855
36017
  x: xOrigin,
35856
36018
  y: yOrigin,
@@ -35859,7 +36021,7 @@
35859
36021
  lineWidth: cellTheme?.group?.lineWidth ?? undefined,
35860
36022
  fill: cellTheme?.group?.fill ?? undefined,
35861
36023
  stroke: cellTheme?.group?.stroke ?? undefined,
35862
- strokeArrayWidth: strokeArrayWidth,
36024
+ strokeArrayWidth: cellTheme?.group?.strokeArrayWidth ?? undefined,
35863
36025
  strokeArrayColor: cellTheme?.group?.strokeArrayColor ?? undefined,
35864
36026
  cursor: cellTheme?.group?.cursor ?? undefined,
35865
36027
  lineDash: cellTheme?.group?.lineDash ?? undefined,
@@ -35944,7 +36106,6 @@
35944
36106
 
35945
36107
  function createCheckboxCellGroup(cellGroup, columnGroup, xOrigin, yOrigin, col, row, colWidth, width, height, padding, textAlign, textBaseline, table, cellTheme, define) {
35946
36108
  if (!cellGroup) {
35947
- const strokeArrayWidth = getCellBorderStrokeWidth(col, row, cellTheme, table);
35948
36109
  cellGroup = new Group$1({
35949
36110
  x: xOrigin,
35950
36111
  y: yOrigin,
@@ -35953,7 +36114,7 @@
35953
36114
  lineWidth: cellTheme?.group?.lineWidth ?? undefined,
35954
36115
  fill: cellTheme?.group?.fill ?? undefined,
35955
36116
  stroke: cellTheme?.group?.stroke ?? undefined,
35956
- strokeArrayWidth: strokeArrayWidth,
36117
+ strokeArrayWidth: cellTheme?.group?.strokeArrayWidth ?? undefined,
35957
36118
  strokeArrayColor: cellTheme?.group?.strokeArrayColor ?? undefined,
35958
36119
  cursor: cellTheme?.group?.cursor ?? undefined,
35959
36120
  lineDash: cellTheme?.group?.lineDash ?? undefined,
@@ -35997,6 +36158,15 @@
35997
36158
  const style = table._getCellStyle(col, row);
35998
36159
  const size = getProp('size', style, col, row, table);
35999
36160
  const spaceBetweenTextAndIcon = getProp('spaceBetweenTextAndIcon', style, col, row, table);
36161
+ const defaultFill = getProp('defaultFill', style, col, row, table);
36162
+ const defaultStroke = getProp('defaultStroke', style, col, row, table);
36163
+ const disableFill = getProp('disableFill', style, col, row, table);
36164
+ const checkedFill = getProp('checkedFill', style, col, row, table);
36165
+ const checkedStroke = getProp('checkedStroke', style, col, row, table);
36166
+ const disableCheckedFill = getProp('disableCheckedFill', style, col, row, table);
36167
+ const disableCheckedStroke = getProp('disableCheckedStroke', style, col, row, table);
36168
+ const checkIconImage = getProp('checkIconImage', style, col, row, table);
36169
+ const indeterminateIconImage = getProp('indeterminateIconImage', style, col, row, table);
36000
36170
  const value = table.getCellValue(col, row);
36001
36171
  const dataValue = table.getCellOriginValue(col, row);
36002
36172
  let isChecked;
@@ -36053,45 +36223,39 @@
36053
36223
  whiteSpace: text.length === 1 && !autoWrapText ? 'no-wrap' : 'normal'
36054
36224
  };
36055
36225
  const testAttribute = cellTheme.text ? Object.assign({}, cellTheme.text, attribute) : attribute;
36056
- let checkbox;
36226
+ const checkboxAttributes = {
36227
+ x: 0,
36228
+ y: 0,
36229
+ text: testAttribute,
36230
+ icon: {
36231
+ width: Math.floor(size / 1.4),
36232
+ height: Math.floor(size / 1.4)
36233
+ },
36234
+ box: {
36235
+ width: size,
36236
+ height: size
36237
+ },
36238
+ spaceBetweenTextAndIcon,
36239
+ disabled: isDisabled ?? globalDisable ?? false
36240
+ };
36057
36241
  if (isChecked === 'indeterminate') {
36058
- checkbox = new CheckBox({
36059
- x: 0,
36060
- y: 0,
36061
- text: testAttribute,
36062
- icon: {
36063
- width: Math.floor(size / 1.4),
36064
- height: Math.floor(size / 1.4)
36065
- },
36066
- box: {
36067
- width: size,
36068
- height: size
36069
- },
36070
- spaceBetweenTextAndIcon,
36071
- checked: undefined,
36072
- indeterminate: true,
36073
- disabled: isDisabled ?? globalDisable ?? false
36074
- });
36242
+ checkboxAttributes.checked = undefined;
36243
+ checkboxAttributes.indeterminate = true;
36075
36244
  }
36076
36245
  else {
36077
- checkbox = new CheckBox({
36078
- x: 0,
36079
- y: 0,
36080
- text: testAttribute,
36081
- icon: {
36082
- width: Math.floor(size / 1.4),
36083
- height: Math.floor(size / 1.4)
36084
- },
36085
- box: {
36086
- width: size,
36087
- height: size
36088
- },
36089
- spaceBetweenTextAndIcon,
36090
- checked: isChecked,
36091
- indeterminate: undefined,
36092
- disabled: isDisabled ?? globalDisable ?? false
36093
- });
36094
- }
36246
+ checkboxAttributes.checked = isChecked;
36247
+ checkboxAttributes.indeterminate = undefined;
36248
+ }
36249
+ defaultFill && (checkboxAttributes.box.fill = defaultFill);
36250
+ defaultStroke && (checkboxAttributes.box.stroke = defaultStroke);
36251
+ disableFill && (checkboxAttributes.box.disableFill = disableFill);
36252
+ checkedFill && (checkboxAttributes.box.checkedFill = checkedFill);
36253
+ checkedStroke && (checkboxAttributes.box.checkedStroke = checkedStroke);
36254
+ disableCheckedFill && (checkboxAttributes.box.disableCheckedFill = disableCheckedFill);
36255
+ disableCheckedStroke && (checkboxAttributes.box.disableCheckedStroke = disableCheckedStroke);
36256
+ checkIconImage && (checkboxAttributes.icon.checkIconImage = checkIconImage);
36257
+ indeterminateIconImage && (checkboxAttributes.icon.indeterminateIconImage = indeterminateIconImage);
36258
+ const checkbox = new CheckBox(checkboxAttributes);
36095
36259
  checkbox.name = 'checkbox';
36096
36260
  return checkbox;
36097
36261
  }
@@ -40117,29 +40281,9 @@
40117
40281
  if (Array.isArray(strokeArrayColor) || Array.isArray(strokeArrayWidth)) {
40118
40282
  if ((typeof lineWidth === 'number' && lineWidth & 1) ||
40119
40283
  (Array.isArray(strokeArrayWidth) && strokeArrayWidth.some(width => width & 1))) {
40120
- const table = group.stage.table;
40121
- const bottomRight = table.theme.cellBorderClipDirection === 'bottom-right';
40122
- let deltaWidth = 0;
40123
- let deltaHeight = 0;
40124
- if (bottomRight) {
40125
- x = Math.floor(x) - 0.5;
40126
- y = Math.floor(y) - 0.5;
40127
- if (group.role === 'cell') {
40128
- const col = group.col;
40129
- const row = group.row;
40130
- if (table && col === table.colCount - 1) {
40131
- deltaWidth = 1;
40132
- }
40133
- if (table && row === table.rowCount - 1) {
40134
- deltaHeight = 1;
40135
- }
40136
- }
40137
- }
40138
- else {
40139
- x = Math.floor(x) + 0.5;
40140
- y = Math.floor(y) + 0.5;
40141
- }
40142
- const { width: widthFroDraw, height: heightFroDraw } = getCellSizeForDraw(group, Math.ceil(width + deltaWidth), Math.ceil(height + deltaHeight));
40284
+ x = Math.floor(x) + 0.5;
40285
+ y = Math.floor(y) + 0.5;
40286
+ const { width: widthFroDraw, height: heightFroDraw } = getCellSizeForDraw(group, Math.ceil(width), Math.ceil(height));
40143
40287
  widthForStroke = widthFroDraw;
40144
40288
  heightForStroke = heightFroDraw;
40145
40289
  }
@@ -40353,29 +40497,9 @@
40353
40497
  let widthForStroke;
40354
40498
  let heightForStroke;
40355
40499
  if (lineWidth & 1) {
40356
- const table = group.stage.table;
40357
- const bottomRight = table.theme.cellBorderClipDirection === 'bottom-right';
40358
- let deltaWidth = 0;
40359
- let deltaHeight = 0;
40360
- if (bottomRight) {
40361
- x = Math.floor(x) - 0.5;
40362
- y = Math.floor(y) - 0.5;
40363
- if (group.role === 'cell') {
40364
- const col = group.col;
40365
- const row = group.row;
40366
- if (table && col === table.colCount - 1) {
40367
- deltaWidth = 1;
40368
- }
40369
- if (table && row === table.rowCount - 1) {
40370
- deltaHeight = 1;
40371
- }
40372
- }
40373
- }
40374
- else {
40375
- x = Math.floor(x) + 0.5;
40376
- y = Math.floor(y) + 0.5;
40377
- }
40378
- const { width: widthFroDraw, height: heightFroDraw } = getCellSizeForDraw(group, Math.ceil(width + deltaWidth), Math.ceil(height + deltaHeight));
40500
+ x = Math.floor(x) + 0.5;
40501
+ y = Math.floor(y) + 0.5;
40502
+ const { width: widthFroDraw, height: heightFroDraw } = getCellSizeForDraw(group, Math.ceil(width), Math.ceil(height));
40379
40503
  widthForStroke = widthFroDraw;
40380
40504
  heightForStroke = heightFroDraw;
40381
40505
  }
@@ -40445,30 +40569,10 @@
40445
40569
  lineWidth & 1) {
40446
40570
  const { width: widthFroDraw, height: heightFroDraw } = getCellSizeForDraw(group, Math.ceil(width), Math.ceil(height));
40447
40571
  context.beginPath();
40448
- const table = group.stage.table;
40449
- const bottomRight = table.theme.cellBorderClipDirection === 'bottom-right';
40450
- let deltaWidth = 0;
40451
- let deltaHeight = 0;
40452
- if (bottomRight) {
40453
- x = Math.floor(x) - 0.5;
40454
- y = Math.floor(y) - 0.5;
40455
- if (group.role === 'cell') {
40456
- const col = group.col;
40457
- const row = group.row;
40458
- if (table && col === table.colCount - 1) {
40459
- deltaWidth = 1;
40460
- }
40461
- if (table && row === table.rowCount - 1) {
40462
- deltaHeight = 1;
40463
- }
40464
- }
40465
- }
40466
- else {
40467
- x = Math.floor(x) + 0.5;
40468
- y = Math.floor(y) + 0.5;
40469
- }
40572
+ x = Math.floor(x) + 0.5;
40573
+ y = Math.floor(y) + 0.5;
40470
40574
  if (cornerRadius) {
40471
- createRectPath(context, x, y, widthFroDraw + deltaWidth, heightFroDraw + deltaHeight, cornerRadius);
40575
+ createRectPath(context, x, y, widthFroDraw, heightFroDraw, cornerRadius);
40472
40576
  }
40473
40577
  else {
40474
40578
  context.rect(x, y, widthFroDraw, heightFroDraw);
@@ -40673,24 +40777,14 @@
40673
40777
  return;
40674
40778
  }
40675
40779
  if (Array.isArray(stroke) || Array.isArray(strokeArrayColor) || Array.isArray(strokeArrayWidth)) {
40676
- let deltaWidth = 0;
40677
- let deltaHeight = 0;
40678
- if ((typeof lineWidth === 'number' && lineWidth & 1) ||
40679
- (Array.isArray(strokeArrayWidth) && strokeArrayWidth.some(width => width & 1))) {
40680
- const table = rect.stage.table;
40681
- const bottomRight = table.theme.cellBorderClipDirection === 'bottom-right';
40682
- if (bottomRight) {
40683
- x = Math.floor(x) - 0.5;
40684
- y = Math.floor(y) - 0.5;
40685
- deltaWidth = 0.5;
40686
- deltaHeight = 0.5;
40687
- }
40688
- else {
40689
- x = Math.floor(x) + 0.5;
40690
- y = Math.floor(y) + 0.5;
40691
- }
40780
+ if (rect.name !== 'border-rect' &&
40781
+ rect.name !== 'table-border-rect' &&
40782
+ ((typeof lineWidth === 'number' && lineWidth & 1) ||
40783
+ (Array.isArray(strokeArrayWidth) && strokeArrayWidth.some(width => width & 1)))) {
40784
+ x = Math.floor(x) + 0.5;
40785
+ y = Math.floor(y) + 0.5;
40692
40786
  }
40693
- renderStroke(rect, context, x, y, rectAttribute, stroke, strokeArrayWidth || lineWidth, strokeArrayColor || strokeColor, Math.ceil(width + deltaWidth), Math.ceil(height + deltaHeight));
40787
+ renderStroke(rect, context, x, y, rectAttribute, stroke, strokeArrayWidth || lineWidth, strokeArrayColor || strokeColor, Math.ceil(width), Math.ceil(height));
40694
40788
  }
40695
40789
  }
40696
40790
  };
@@ -45551,17 +45645,17 @@
45551
45645
  }
45552
45646
  }
45553
45647
  if (this.table.bottomFrozenRowCount > 0) {
45554
- this.bottomFrozenGroup.setAttribute('y', this.tableGroup.attribute.height - this.bottomFrozenGroup.attribute.height);
45648
+ this.bottomFrozenGroup.setAttribute('y', this.tableGroup.attribute.height - this.table.getBottomFrozenRowsHeight());
45555
45649
  this.leftBottomCornerGroup.setAttributes({
45556
45650
  visible: true,
45557
- y: this.tableGroup.attribute.height - this.bottomFrozenGroup.attribute.height,
45558
- height: this.bottomFrozenGroup.attribute.height,
45651
+ y: this.tableGroup.attribute.height - this.table.getBottomFrozenRowsHeight(),
45652
+ height: this.table.getBottomFrozenRowsHeight(),
45559
45653
  width: this.table.getFrozenColsWidth()
45560
45654
  });
45561
45655
  this.rightBottomCornerGroup.setAttributes({
45562
45656
  visible: true,
45563
- y: this.tableGroup.attribute.height - this.bottomFrozenGroup.attribute.height,
45564
- height: this.bottomFrozenGroup.attribute.height
45657
+ y: this.tableGroup.attribute.height - this.table.getBottomFrozenRowsHeight(),
45658
+ height: this.table.getBottomFrozenRowsHeight()
45565
45659
  });
45566
45660
  }
45567
45661
  if (this.table.rightFrozenColCount > 0) {
@@ -48197,7 +48291,10 @@
48197
48291
  if (cellGoup?.role === 'cell' &&
48198
48292
  isValid$1(cellGoup.col) &&
48199
48293
  isValid$1(cellGoup.row) &&
48200
- (cellGoup.col !== table.stateManager.hover.cellPos.col || cellGoup.row !== table.stateManager.hover.cellPos.row)) {
48294
+ (cellGoup.col !== table.stateManager.hover.cellPos.col ||
48295
+ cellGoup.row !== table.stateManager.hover.cellPos.row) &&
48296
+ (cellGoup.col !== table.stateManager.hover.cellPosContainHeader?.col ||
48297
+ cellGoup.row !== table.stateManager.hover.cellPosContainHeader?.row)) {
48201
48298
  table.fireListeners(TABLE_EVENT_TYPE.MOUSEENTER_CELL, {
48202
48299
  col: cellGoup.col,
48203
48300
  row: cellGoup.row,
@@ -49522,7 +49619,7 @@
49522
49619
  }
49523
49620
  }
49524
49621
 
49525
- let defaultStyle$3;
49622
+ let defaultStyle$1;
49526
49623
  const DEFAULT_BAR_COLOR = (args) => {
49527
49624
  const num = args.value;
49528
49625
  if (Number(num) > 80) {
@@ -49553,7 +49650,7 @@
49553
49650
  _barMarkPosition;
49554
49651
  _barRightToLeft;
49555
49652
  static get DEFAULT() {
49556
- return defaultStyle$3 ? defaultStyle$3 : (defaultStyle$3 = new ProgressBarStyle());
49653
+ return defaultStyle$1 ? defaultStyle$1 : (defaultStyle$1 = new ProgressBarStyle());
49557
49654
  }
49558
49655
  constructor(style = {}, bodyStyle = {}) {
49559
49656
  super(style, bodyStyle);
@@ -49691,35 +49788,6 @@
49691
49788
  ];
49692
49789
  const iconPropKeys = ICON_PROP_KEYS;
49693
49790
 
49694
- let defaultStyle$2;
49695
- let CheckboxStyle$1 = class CheckboxStyle extends Style$1 {
49696
- _size;
49697
- _spaceBetweenTextAndIcon;
49698
- static get DEFAULT() {
49699
- return defaultStyle$2 ? defaultStyle$2 : (defaultStyle$2 = new CheckboxStyle());
49700
- }
49701
- constructor(style = {}, headerStyle = {}) {
49702
- super(style, headerStyle);
49703
- this._size = (style.size ?? headerStyle?.size) || 14;
49704
- this._spaceBetweenTextAndIcon = (style.spaceBetweenTextAndIcon ?? headerStyle?.spaceBetweenTextAndIcon) || 8;
49705
- }
49706
- get size() {
49707
- return this._size;
49708
- }
49709
- set size(size) {
49710
- this._size = size;
49711
- }
49712
- get spaceBetweenTextAndIcon() {
49713
- return this._spaceBetweenTextAndIcon;
49714
- }
49715
- set spaceBetweenTextAndIcon(spaceBetweenTextAndIcon) {
49716
- this._spaceBetweenTextAndIcon = spaceBetweenTextAndIcon;
49717
- }
49718
- clone() {
49719
- return new CheckboxStyle(this);
49720
- }
49721
- };
49722
-
49723
49791
  class BodyHelper {
49724
49792
  expandIcon;
49725
49793
  collapseIcon;
@@ -50441,10 +50509,10 @@
50441
50509
  return itemContainer;
50442
50510
  }
50443
50511
 
50444
- let defaultStyle$1;
50512
+ let defaultStyle;
50445
50513
  class ImageStyle extends Style {
50446
50514
  static get DEFAULT() {
50447
- return defaultStyle$1 ? defaultStyle$1 : (defaultStyle$1 = new ImageStyle());
50515
+ return defaultStyle ? defaultStyle : (defaultStyle = new ImageStyle());
50448
50516
  }
50449
50517
  constructor(style = {}, headerStyle = {}) {
50450
50518
  super(style, headerStyle);
@@ -50455,35 +50523,6 @@
50455
50523
  }
50456
50524
  }
50457
50525
 
50458
- let defaultStyle;
50459
- class CheckboxStyle extends Style {
50460
- _size;
50461
- _spaceBetweenTextAndIcon;
50462
- static get DEFAULT() {
50463
- return defaultStyle ? defaultStyle : (defaultStyle = new CheckboxStyle());
50464
- }
50465
- constructor(style = {}, headerStyle = {}) {
50466
- super(style, headerStyle);
50467
- this._size = (style.size ?? headerStyle?.size) || 14;
50468
- this._spaceBetweenTextAndIcon = (style.spaceBetweenTextAndIcon ?? headerStyle?.spaceBetweenTextAndIcon) || 8;
50469
- }
50470
- get size() {
50471
- return this._size;
50472
- }
50473
- set size(size) {
50474
- this._size = size;
50475
- }
50476
- get spaceBetweenTextAndIcon() {
50477
- return this._spaceBetweenTextAndIcon;
50478
- }
50479
- set spaceBetweenTextAndIcon(spaceBetweenTextAndIcon) {
50480
- this._spaceBetweenTextAndIcon = spaceBetweenTextAndIcon;
50481
- }
50482
- clone() {
50483
- return new CheckboxStyle(this);
50484
- }
50485
- }
50486
-
50487
50526
  class HeaderHelper {
50488
50527
  normalIcon;
50489
50528
  upIcon;
@@ -52609,7 +52648,7 @@
52609
52648
  return TABLE_EVENT_TYPE;
52610
52649
  }
52611
52650
  options;
52612
- version = "0.20.2-alpha.3";
52651
+ version = "0.20.3";
52613
52652
  pagination;
52614
52653
  id = `VTable${Date.now()}`;
52615
52654
  headerStyleCache;
@@ -52699,6 +52738,7 @@
52699
52738
  internalProps.cellTextOverflows = {};
52700
52739
  internalProps.focusedTable = false;
52701
52740
  internalProps.theme = themes.of(options.theme ?? themes.DEFAULT);
52741
+ internalProps.theme.isPivot = this.isPivotTable();
52702
52742
  if (container) {
52703
52743
  container.innerHTML = '';
52704
52744
  container.appendChild(internalProps.element);
@@ -52709,6 +52749,7 @@
52709
52749
  }
52710
52750
  this.options = options;
52711
52751
  internalProps.theme = themes.of(options.theme ?? themes.DEFAULT);
52752
+ internalProps.theme.isPivot = this.isPivotTable();
52712
52753
  internalProps.bodyHelper = new BodyHelper(this);
52713
52754
  internalProps.headerHelper = new HeaderHelper(this);
52714
52755
  internalProps.autoWrapText = options.autoWrapText;
@@ -53749,6 +53790,7 @@
53749
53790
  this.colWidthsLimit = {};
53750
53791
  internalProps.stick.changedCells.clear();
53751
53792
  internalProps.theme = themes.of(options.theme ?? themes.DEFAULT);
53793
+ internalProps.theme.isPivot = this.isPivotTable();
53752
53794
  this.scenegraph.updateStageBackground();
53753
53795
  internalProps.autoWrapText = options.autoWrapText;
53754
53796
  internalProps.allowFrozenColCount = options.allowFrozenColCount ?? 0;
@@ -54057,11 +54099,13 @@
54057
54099
  }
54058
54100
  set theme(theme) {
54059
54101
  this.internalProps.theme = themes.of(theme ?? themes.DEFAULT);
54102
+ this.internalProps.theme.isPivot = this.isPivotTable();
54060
54103
  this.options.theme = theme;
54061
54104
  }
54062
54105
  updateTheme(theme) {
54063
54106
  const oldHoverState = { col: this.stateManager.hover.cellPos.col, row: this.stateManager.hover.cellPos.row };
54064
54107
  this.internalProps.theme = themes.of(theme ?? themes.DEFAULT);
54108
+ this.internalProps.theme.isPivot = this.isPivotTable();
54065
54109
  this.options.theme = theme;
54066
54110
  this.scenegraph.updateComponent();
54067
54111
  this.scenegraph.updateStageBackground();
@@ -54177,7 +54221,7 @@
54177
54221
  value: customMerge.text,
54178
54222
  dataValue: this.getCellOriginValue(col, row),
54179
54223
  cellHeaderPaths: this.getCellHeaderPaths(col, row)
54180
- }, styleClass, this.options.autoWrapText);
54224
+ }, styleClass, this.options.autoWrapText, this.theme);
54181
54225
  customMerge.style = fullStyle;
54182
54226
  }
54183
54227
  return customMerge;
@@ -54325,7 +54369,7 @@
54325
54369
  value: this.getCellValue(col, row),
54326
54370
  dataValue: this.getCellOriginValue(col, row),
54327
54371
  cellHeaderPaths: this.getCellHeaderPaths(col, row)
54328
- }, styleClass, this.options.autoWrapText);
54372
+ }, styleClass, this.options.autoWrapText, this.theme);
54329
54373
  }
54330
54374
  else if (layoutMap.isRightFrozenColumn(col, row) && this.theme.rightFrozenStyle) {
54331
54375
  cacheStyle = of$1(paddingForAxis ? { padding: paddingForAxis } : {}, this.theme.rightFrozenStyle, {
@@ -54335,7 +54379,7 @@
54335
54379
  value: this.getCellValue(col, row),
54336
54380
  dataValue: this.getCellOriginValue(col, row),
54337
54381
  cellHeaderPaths: this.getCellHeaderPaths(col, row)
54338
- }, styleClass, this.options.autoWrapText);
54382
+ }, styleClass, this.options.autoWrapText, this.theme);
54339
54383
  }
54340
54384
  else {
54341
54385
  const style = hd?.style || {};
@@ -54353,7 +54397,7 @@
54353
54397
  value: this.getCellValue(col, row),
54354
54398
  dataValue: this.getCellOriginValue(col, row),
54355
54399
  cellHeaderPaths: this.getCellHeaderPaths(col, row)
54356
- }, styleClass, this.options.autoWrapText);
54400
+ }, styleClass, this.options.autoWrapText, this.theme);
54357
54401
  }
54358
54402
  this.headerStyleCache.set(cacheKey, cacheStyle);
54359
54403
  return cacheStyle;
@@ -54391,7 +54435,7 @@
54391
54435
  value: this.getCellValue(col, row),
54392
54436
  dataValue: this.getCellOriginValue(col, row),
54393
54437
  cellHeaderPaths: this.getCellHeaderPaths(col, row)
54394
- }, styleClass, this.options.autoWrapText);
54438
+ }, styleClass, this.options.autoWrapText, this.theme);
54395
54439
  if (!isFunction$1(style)) {
54396
54440
  if (layoutMap.isBottomFrozenRow(row)) {
54397
54441
  this.bodyBottomStyleCache.set(cacheKey, cacheStyle);
@@ -56240,10 +56284,10 @@
56240
56284
  }
56241
56285
  get rightFrozenColCount() {
56242
56286
  if (this._table.internalProps.rightFrozenColCount) {
56243
- if (this.colCount - this.rowHeaderLevelCount >= this._table.internalProps.rightFrozenColCount) {
56287
+ if (this.colCount - this.frozenColCount >= this._table.internalProps.rightFrozenColCount) {
56244
56288
  return this._table.internalProps.rightFrozenColCount;
56245
56289
  }
56246
- return this.colCount - this.rowHeaderLevelCount;
56290
+ return Math.max(0, this.colCount - this.frozenColCount);
56247
56291
  }
56248
56292
  return 0;
56249
56293
  }
@@ -57765,8 +57809,11 @@
57765
57809
  if (Array.isArray(option) || option?.order) {
57766
57810
  sort = option;
57767
57811
  }
57768
- else {
57769
- sort = option?.sortState;
57812
+ else if (option) {
57813
+ sort = option.sortState;
57814
+ }
57815
+ else if (option === null) {
57816
+ sort = null;
57770
57817
  }
57771
57818
  typeof window !== 'undefined' ? window.performance.now() : 0;
57772
57819
  const oldHoverState = { col: this.stateManager.hover.cellPos.col, row: this.stateManager.hover.cellPos.row };
@@ -64110,7 +64157,7 @@
64110
64157
  }
64111
64158
 
64112
64159
  registerForVrender();
64113
- const version = "0.20.2-alpha.3";
64160
+ const version = "0.20.3";
64114
64161
  function getIcons() {
64115
64162
  return get$2();
64116
64163
  }