igniteui-webcomponents-data-grids 7.1.0-beta.2 → 7.1.0-beta.4

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 (233) hide show
  1. package/bundles/igniteui-webcomponents-data-grids.umd.js +11002 -9831
  2. package/bundles/igniteui-webcomponents-data-grids.umd.min.js +1 -1
  3. package/esm2015/lib/AccessibilityRow.js +10 -10
  4. package/esm2015/lib/CanvasCellPresenterBase.js +12 -12
  5. package/esm2015/lib/CanvasContentCellModelHelper.js +12 -12
  6. package/esm2015/lib/CanvasDateTimeCellPresenter.js +8 -8
  7. package/esm2015/lib/CanvasGridCellBase.js +2 -2
  8. package/esm2015/lib/CanvasImageCellPresenter.js +9 -9
  9. package/esm2015/lib/CanvasNumericCellPresenter.js +8 -8
  10. package/esm2015/lib/CanvasSectionHeaderCellPresenter.js +9 -9
  11. package/esm2015/lib/CanvasSummaryCellPresenter.js +4 -4
  12. package/esm2015/lib/CanvasTemplateCellPresenter.js +5 -5
  13. package/esm2015/lib/CanvasTemplateHeaderCellPresenter.js +5 -5
  14. package/esm2015/lib/CanvasTextCellPresenter.js +9 -9
  15. package/esm2015/lib/CanvasTextHeaderCellPresenter.js +11 -11
  16. package/esm2015/lib/CellPath.js +79 -69
  17. package/esm2015/lib/CellPresenterBase.js +46 -46
  18. package/esm2015/lib/CheckboxListBridge.js +12 -0
  19. package/esm2015/lib/CheckboxListView_combined.js +329 -283
  20. package/esm2015/lib/ColumnChooserView_combined.js +11 -11
  21. package/esm2015/lib/ColumnFilterCondition_combined.js +7043 -6712
  22. package/esm2015/lib/ColumnGroupingView_combined.js +5 -5
  23. package/esm2015/lib/ColumnPinningView_combined.js +11 -11
  24. package/esm2015/lib/ComparisonOperatorSelectorView_combined.js +7 -7
  25. package/esm2015/lib/ContentCellModelHelper.js +16 -16
  26. package/esm2015/lib/DataGridAccessibilityLayoutPanel.js +1 -1
  27. package/esm2015/lib/DataGridCellLayoutPanel.js +17 -17
  28. package/esm2015/lib/DataGridScrollerKeyboardListener.js +2 -2
  29. package/esm2015/lib/DataGridToolbarView_combined.js +2 -2
  30. package/esm2015/lib/DateTimeCellPresenter.js +9 -9
  31. package/esm2015/lib/DraggerView.js +1 -7
  32. package/esm2015/lib/EditorCell.js +290 -290
  33. package/esm2015/lib/EditorCellPresenter.js +27 -27
  34. package/esm2015/lib/FilterCell.js +267 -267
  35. package/esm2015/lib/FilterCellPresenter.js +17 -17
  36. package/esm2015/lib/GridCellBase.js +210 -202
  37. package/esm2015/lib/GridColumnFilterOptionsView_combined.js +13 -13
  38. package/esm2015/lib/GridColumnGroupOptionsView_combined.js +7 -7
  39. package/esm2015/lib/GridColumnHideOptionsView_combined.js +3 -3
  40. package/esm2015/lib/GridColumnMoveOptionsView_combined.js +1 -1
  41. package/esm2015/lib/GridColumnOptionsView_combined.js +1 -1
  42. package/esm2015/lib/GridColumnPinOptionsView_combined.js +4 -4
  43. package/esm2015/lib/GridColumnSortOptionsView_combined.js +2 -2
  44. package/esm2015/lib/GridColumnSummaryOptionsView_combined.js +7 -7
  45. package/esm2015/lib/GridExternalWrapper.js +12 -6
  46. package/esm2015/lib/GridFilterDialogView_combined.js +238 -187
  47. package/esm2015/lib/ISummaryChooserView_combined.js +4 -4
  48. package/esm2015/lib/ImageCell.js +58 -58
  49. package/esm2015/lib/ImageCellPresenter.js +17 -17
  50. package/esm2015/lib/MultiColumnComboBoxView_combined.js +9 -9
  51. package/esm2015/lib/NumericCell.js +8 -8
  52. package/esm2015/lib/NumericCellPresenter.js +9 -9
  53. package/esm2015/lib/PropertyEditorView_combined.js +19 -19
  54. package/esm2015/lib/SectionHeaderCell.js +30 -20
  55. package/esm2015/lib/SectionHeaderCellPresenter.js +10 -10
  56. package/esm2015/lib/SummaryCell.js +44 -44
  57. package/esm2015/lib/SummaryCellPresenter.js +9 -9
  58. package/esm2015/lib/TemplateCell.js +15 -15
  59. package/esm2015/lib/TemplateCellPresenter.js +6 -6
  60. package/esm2015/lib/TemplateHeader.js +8 -8
  61. package/esm2015/lib/TemplateHeaderCell.js +5 -5
  62. package/esm2015/lib/TemplateHeaderCellModel.js +18 -18
  63. package/esm2015/lib/TemplateHeaderCellPresenter.js +6 -6
  64. package/esm2015/lib/TemplateSectionHeader.js +2 -2
  65. package/esm2015/lib/TextCell.js +31 -30
  66. package/esm2015/lib/TextCellPresenter.js +10 -10
  67. package/esm2015/lib/TextHeaderCell.js +181 -175
  68. package/esm2015/lib/TextHeaderCellPresenter.js +66 -57
  69. package/esm2015/lib/VerticalSeparatorCell.js +37 -37
  70. package/esm2015/lib/igc-cell-info.js +195 -186
  71. package/esm2015/lib/igc-checkbox-list-component.js +42 -22
  72. package/esm2015/lib/igc-column-moving-separator-component.js +9 -9
  73. package/esm2015/lib/igc-column-resizing-separator-component.js +6 -6
  74. package/esm2015/lib/igc-combo-box-column-component.js +10 -10
  75. package/esm2015/lib/igc-data-binding-event-args.js +3 -0
  76. package/esm2015/lib/igc-data-grid-column-component.js +336 -276
  77. package/esm2015/lib/igc-data-grid-component.js +220 -32
  78. package/esm2015/lib/igc-data-grid-filter-dialog-component.js +67 -37
  79. package/esm2015/lib/igc-data-grid-toolbar-component.js +40 -8
  80. package/esm2015/lib/igc-date-time-cell-info.js +12 -12
  81. package/esm2015/lib/igc-date-time-column-component.js +23 -23
  82. package/esm2015/lib/igc-definition-base-component.js +64 -64
  83. package/esm2015/lib/igc-editor-cell-info.js +23 -23
  84. package/esm2015/lib/igc-filter-cell-info.js +26 -26
  85. package/esm2015/lib/igc-filter-row-definition-component.js +12 -12
  86. package/esm2015/lib/igc-header-component.js +24 -24
  87. package/esm2015/lib/igc-image-cell-info.js +6 -6
  88. package/esm2015/lib/igc-image-column-component.js +12 -12
  89. package/esm2015/lib/igc-multi-column-combo-box-component.js +160 -32
  90. package/esm2015/lib/igc-numeric-cell-info.js +28 -28
  91. package/esm2015/lib/igc-numeric-column-component.js +38 -38
  92. package/esm2015/lib/igc-section-header-cell-info.js +6 -6
  93. package/esm2015/lib/igc-section-header-component.js +36 -36
  94. package/esm2015/lib/igc-summary-cell-info.js +9 -9
  95. package/esm2015/lib/igc-summary-row-component.js +30 -30
  96. package/esm2015/lib/igc-summary-row-root-module.js +2 -0
  97. package/esm2015/lib/igc-summary-row-section-module.js +2 -0
  98. package/esm2015/lib/igc-template-cell-info.js +2 -2
  99. package/esm2015/lib/igc-template-header-cell-info.js +2 -2
  100. package/esm2015/lib/igc-text-cell-info.js +2 -2
  101. package/esm2015/lib/igc-text-column-component.js +9 -9
  102. package/esm2015/lib/igc-text-header-cell-info.js +67 -40
  103. package/esm5/lib/AccessibilityRow.js +10 -10
  104. package/esm5/lib/CanvasCellPresenterBase.js +12 -12
  105. package/esm5/lib/CanvasContentCellModelHelper.js +12 -12
  106. package/esm5/lib/CanvasDateTimeCellPresenter.js +8 -8
  107. package/esm5/lib/CanvasGridCellBase.js +2 -2
  108. package/esm5/lib/CanvasImageCellPresenter.js +9 -9
  109. package/esm5/lib/CanvasNumericCellPresenter.js +8 -8
  110. package/esm5/lib/CanvasSectionHeaderCellPresenter.js +9 -9
  111. package/esm5/lib/CanvasSummaryCellPresenter.js +4 -4
  112. package/esm5/lib/CanvasTemplateCellPresenter.js +5 -5
  113. package/esm5/lib/CanvasTemplateHeaderCellPresenter.js +5 -5
  114. package/esm5/lib/CanvasTextCellPresenter.js +9 -9
  115. package/esm5/lib/CanvasTextHeaderCellPresenter.js +11 -11
  116. package/esm5/lib/CellPath.js +79 -65
  117. package/esm5/lib/CellPresenterBase.js +46 -46
  118. package/esm5/lib/CheckboxListBridge.js +12 -0
  119. package/esm5/lib/CheckboxListView_combined.js +332 -278
  120. package/esm5/lib/ColumnChooserView_combined.js +11 -11
  121. package/esm5/lib/ColumnFilterCondition_combined.js +6860 -6456
  122. package/esm5/lib/ColumnGroupingView_combined.js +5 -5
  123. package/esm5/lib/ColumnPinningView_combined.js +11 -11
  124. package/esm5/lib/ComparisonOperatorSelectorView_combined.js +7 -7
  125. package/esm5/lib/ContentCellModelHelper.js +16 -16
  126. package/esm5/lib/DataGridAccessibilityLayoutPanel.js +1 -1
  127. package/esm5/lib/DataGridCellLayoutPanel.js +17 -17
  128. package/esm5/lib/DataGridScrollerKeyboardListener.js +2 -2
  129. package/esm5/lib/DataGridToolbarView_combined.js +2 -2
  130. package/esm5/lib/DateTimeCellPresenter.js +9 -9
  131. package/esm5/lib/DraggerView.js +1 -7
  132. package/esm5/lib/EditorCell.js +276 -276
  133. package/esm5/lib/EditorCellPresenter.js +27 -27
  134. package/esm5/lib/FilterCell.js +257 -257
  135. package/esm5/lib/FilterCellPresenter.js +17 -17
  136. package/esm5/lib/GridCellBase.js +205 -193
  137. package/esm5/lib/GridColumnFilterOptionsView_combined.js +13 -13
  138. package/esm5/lib/GridColumnGroupOptionsView_combined.js +7 -7
  139. package/esm5/lib/GridColumnHideOptionsView_combined.js +3 -3
  140. package/esm5/lib/GridColumnMoveOptionsView_combined.js +1 -1
  141. package/esm5/lib/GridColumnOptionsView_combined.js +1 -1
  142. package/esm5/lib/GridColumnPinOptionsView_combined.js +4 -4
  143. package/esm5/lib/GridColumnSortOptionsView_combined.js +2 -2
  144. package/esm5/lib/GridColumnSummaryOptionsView_combined.js +7 -7
  145. package/esm5/lib/GridExternalWrapper.js +12 -6
  146. package/esm5/lib/GridFilterDialogView_combined.js +240 -177
  147. package/esm5/lib/ISummaryChooserView_combined.js +4 -4
  148. package/esm5/lib/ImageCell.js +57 -57
  149. package/esm5/lib/ImageCellPresenter.js +17 -17
  150. package/esm5/lib/MultiColumnComboBoxView_combined.js +9 -9
  151. package/esm5/lib/NumericCell.js +8 -8
  152. package/esm5/lib/NumericCellPresenter.js +9 -9
  153. package/esm5/lib/PropertyEditorView_combined.js +19 -19
  154. package/esm5/lib/SectionHeaderCell.js +30 -20
  155. package/esm5/lib/SectionHeaderCellPresenter.js +10 -10
  156. package/esm5/lib/SummaryCell.js +44 -44
  157. package/esm5/lib/SummaryCellPresenter.js +9 -9
  158. package/esm5/lib/TemplateCell.js +15 -15
  159. package/esm5/lib/TemplateCellPresenter.js +6 -6
  160. package/esm5/lib/TemplateHeader.js +8 -8
  161. package/esm5/lib/TemplateHeaderCell.js +5 -5
  162. package/esm5/lib/TemplateHeaderCellModel.js +17 -17
  163. package/esm5/lib/TemplateHeaderCellPresenter.js +6 -6
  164. package/esm5/lib/TemplateSectionHeader.js +2 -2
  165. package/esm5/lib/TextCell.js +31 -30
  166. package/esm5/lib/TextCellPresenter.js +10 -10
  167. package/esm5/lib/TextHeaderCell.js +185 -179
  168. package/esm5/lib/TextHeaderCellPresenter.js +66 -57
  169. package/esm5/lib/VerticalSeparatorCell.js +37 -37
  170. package/esm5/lib/igc-cell-info.js +207 -186
  171. package/esm5/lib/igc-checkbox-list-component.js +50 -22
  172. package/esm5/lib/igc-column-moving-separator-component.js +9 -9
  173. package/esm5/lib/igc-column-resizing-separator-component.js +6 -6
  174. package/esm5/lib/igc-combo-box-column-component.js +10 -10
  175. package/esm5/lib/igc-data-binding-event-args.js +3 -0
  176. package/esm5/lib/igc-data-grid-column-component.js +360 -276
  177. package/esm5/lib/igc-data-grid-component.js +240 -32
  178. package/esm5/lib/igc-data-grid-filter-dialog-component.js +79 -37
  179. package/esm5/lib/igc-data-grid-toolbar-component.js +40 -8
  180. package/esm5/lib/igc-date-time-cell-info.js +12 -12
  181. package/esm5/lib/igc-date-time-column-component.js +23 -23
  182. package/esm5/lib/igc-definition-base-component.js +64 -64
  183. package/esm5/lib/igc-editor-cell-info.js +23 -23
  184. package/esm5/lib/igc-filter-cell-info.js +26 -26
  185. package/esm5/lib/igc-filter-row-definition-component.js +12 -12
  186. package/esm5/lib/igc-header-component.js +24 -24
  187. package/esm5/lib/igc-image-cell-info.js +6 -6
  188. package/esm5/lib/igc-image-column-component.js +12 -12
  189. package/esm5/lib/igc-multi-column-combo-box-component.js +160 -32
  190. package/esm5/lib/igc-numeric-cell-info.js +28 -28
  191. package/esm5/lib/igc-numeric-column-component.js +38 -38
  192. package/esm5/lib/igc-section-header-cell-info.js +6 -6
  193. package/esm5/lib/igc-section-header-component.js +36 -36
  194. package/esm5/lib/igc-summary-cell-info.js +9 -9
  195. package/esm5/lib/igc-summary-row-component.js +29 -29
  196. package/esm5/lib/igc-summary-row-root-module.js +2 -0
  197. package/esm5/lib/igc-summary-row-section-module.js +2 -0
  198. package/esm5/lib/igc-template-cell-info.js +2 -2
  199. package/esm5/lib/igc-template-header-cell-info.js +2 -2
  200. package/esm5/lib/igc-text-cell-info.js +2 -2
  201. package/esm5/lib/igc-text-column-component.js +9 -9
  202. package/esm5/lib/igc-text-header-cell-info.js +79 -40
  203. package/fesm2015/igniteui-webcomponents-data-grids.js +10931 -9949
  204. package/fesm5/igniteui-webcomponents-data-grids.js +11002 -9831
  205. package/lib/CellPath.d.ts +21 -20
  206. package/lib/CheckboxListExternal.d.ts +3 -0
  207. package/lib/CheckboxListView_combined.d.ts +77 -71
  208. package/lib/ColumnFilterCondition_combined.d.ts +1759 -1699
  209. package/lib/EditorCell.d.ts +63 -63
  210. package/lib/FilterCell.d.ts +55 -55
  211. package/lib/GridCellBase.d.ts +82 -80
  212. package/lib/GridExternalWrapper.d.ts +2 -0
  213. package/lib/GridFilterDialogView_combined.d.ts +61 -52
  214. package/lib/ImageCell.d.ts +15 -15
  215. package/lib/NumericCell.d.ts +2 -2
  216. package/lib/SectionHeaderCell.d.ts +6 -4
  217. package/lib/SummaryCell.d.ts +10 -10
  218. package/lib/TemplateCell.d.ts +5 -5
  219. package/lib/TemplateHeader.d.ts +3 -3
  220. package/lib/TemplateHeaderCell.d.ts +2 -2
  221. package/lib/TemplateHeaderCellModel.d.ts +7 -7
  222. package/lib/TemplateSectionHeader.d.ts +2 -2
  223. package/lib/TextCell.d.ts +7 -7
  224. package/lib/TextHeaderCell.d.ts +30 -30
  225. package/lib/VerticalSeparatorCell.d.ts +8 -8
  226. package/lib/igc-cell-info.d.ts +3 -0
  227. package/lib/igc-checkbox-list-component.d.ts +10 -0
  228. package/lib/igc-data-grid-column-component.d.ts +30 -0
  229. package/lib/igc-data-grid-component.d.ts +27 -0
  230. package/lib/igc-data-grid-filter-dialog-component.d.ts +15 -0
  231. package/lib/igc-summary-row-component.d.ts +2 -2
  232. package/lib/igc-text-header-cell-info.d.ts +15 -0
  233. package/package.json +4 -4
@@ -211,6 +211,16 @@ let IgcDataGridComponent = /*@__PURE__*/ (() => {
211
211
  this._scroller.scrollbarBrush = color;
212
212
  }
213
213
  }
214
+ _setScrollbarHoverColor(color) {
215
+ if (this._scroller) {
216
+ this._scroller.scrollbarHoverBrush = color;
217
+ }
218
+ }
219
+ _setScrollbarActiveColor(color) {
220
+ if (this._scroller) {
221
+ this._scroller.scrollbarActiveBrush = color;
222
+ }
223
+ }
214
224
  _moveFocusNext() {
215
225
  moveFocusNext(this, true);
216
226
  }
@@ -1020,36 +1030,68 @@ let IgcDataGridComponent = /*@__PURE__*/ (() => {
1020
1030
  }
1021
1031
  set editRowBorderWidthBottom(v) {
1022
1032
  this.ensureEditRowBorderWidth();
1023
- this.i.editRowBorderWidth.bottom = +v;
1033
+ const __nv = +v;
1034
+ if (this.i.editRowBorderWidth.bottom === __nv) {
1035
+ return;
1036
+ }
1037
+ const __copy = new Thickness(2);
1038
+ __copy.bottom = __nv;
1039
+ __copy.left = this.i.editRowBorderWidth.left;
1040
+ __copy.right = this.i.editRowBorderWidth.right;
1041
+ __copy.top = this.i.editRowBorderWidth.top;
1042
+ this.i.editRowBorderWidth = __copy;
1024
1043
  this._a("editRowBorderWidthBottom", this.i.editRowBorderWidth.bottom);
1025
- this.i.editRowBorderWidth = this.i.editRowBorderWidth;
1026
1044
  }
1027
1045
  get editRowBorderWidthLeft() {
1028
1046
  return this.i.editRowBorderWidth ? this.i.editRowBorderWidth.left : NaN;
1029
1047
  }
1030
1048
  set editRowBorderWidthLeft(v) {
1031
1049
  this.ensureEditRowBorderWidth();
1032
- this.i.editRowBorderWidth.left = +v;
1050
+ const __nv = +v;
1051
+ if (this.i.editRowBorderWidth.left === __nv) {
1052
+ return;
1053
+ }
1054
+ const __copy = new Thickness(2);
1055
+ __copy.left = __nv;
1056
+ __copy.bottom = this.i.editRowBorderWidth.bottom;
1057
+ __copy.right = this.i.editRowBorderWidth.right;
1058
+ __copy.top = this.i.editRowBorderWidth.top;
1059
+ this.i.editRowBorderWidth = __copy;
1033
1060
  this._a("editRowBorderWidthLeft", this.i.editRowBorderWidth.left);
1034
- this.i.editRowBorderWidth = this.i.editRowBorderWidth;
1035
1061
  }
1036
1062
  get editRowBorderWidthRight() {
1037
1063
  return this.i.editRowBorderWidth ? this.i.editRowBorderWidth.right : NaN;
1038
1064
  }
1039
1065
  set editRowBorderWidthRight(v) {
1040
1066
  this.ensureEditRowBorderWidth();
1041
- this.i.editRowBorderWidth.right = +v;
1067
+ const __nv = +v;
1068
+ if (this.i.editRowBorderWidth.right === __nv) {
1069
+ return;
1070
+ }
1071
+ const __copy = new Thickness(2);
1072
+ __copy.right = __nv;
1073
+ __copy.bottom = this.i.editRowBorderWidth.bottom;
1074
+ __copy.left = this.i.editRowBorderWidth.left;
1075
+ __copy.top = this.i.editRowBorderWidth.top;
1076
+ this.i.editRowBorderWidth = __copy;
1042
1077
  this._a("editRowBorderWidthRight", this.i.editRowBorderWidth.right);
1043
- this.i.editRowBorderWidth = this.i.editRowBorderWidth;
1044
1078
  }
1045
1079
  get editRowBorderWidthTop() {
1046
1080
  return this.i.editRowBorderWidth ? this.i.editRowBorderWidth.top : NaN;
1047
1081
  }
1048
1082
  set editRowBorderWidthTop(v) {
1049
1083
  this.ensureEditRowBorderWidth();
1050
- this.i.editRowBorderWidth.top = +v;
1084
+ const __nv = +v;
1085
+ if (this.i.editRowBorderWidth.top === __nv) {
1086
+ return;
1087
+ }
1088
+ const __copy = new Thickness(2);
1089
+ __copy.top = __nv;
1090
+ __copy.bottom = this.i.editRowBorderWidth.bottom;
1091
+ __copy.left = this.i.editRowBorderWidth.left;
1092
+ __copy.right = this.i.editRowBorderWidth.right;
1093
+ this.i.editRowBorderWidth = __copy;
1051
1094
  this._a("editRowBorderWidthTop", this.i.editRowBorderWidth.top);
1052
- this.i.editRowBorderWidth = this.i.editRowBorderWidth;
1053
1095
  }
1054
1096
  ensureEditRowBorderWidth() {
1055
1097
  if (this.i.editRowBorderWidth) {
@@ -2420,36 +2462,68 @@ let IgcDataGridComponent = /*@__PURE__*/ (() => {
2420
2462
  }
2421
2463
  set borderWidthBottom(v) {
2422
2464
  this.ensureBorderWidth();
2423
- this.i.borderWidth.bottom = +v;
2465
+ const __nv = +v;
2466
+ if (this.i.borderWidth.bottom === __nv) {
2467
+ return;
2468
+ }
2469
+ const __copy = new Thickness(2);
2470
+ __copy.bottom = __nv;
2471
+ __copy.left = this.i.borderWidth.left;
2472
+ __copy.right = this.i.borderWidth.right;
2473
+ __copy.top = this.i.borderWidth.top;
2474
+ this.i.borderWidth = __copy;
2424
2475
  this._a("borderWidthBottom", this.i.borderWidth.bottom);
2425
- this.i.borderWidth = this.i.borderWidth;
2426
2476
  }
2427
2477
  get borderWidthLeft() {
2428
2478
  return this.i.borderWidth ? this.i.borderWidth.left : NaN;
2429
2479
  }
2430
2480
  set borderWidthLeft(v) {
2431
2481
  this.ensureBorderWidth();
2432
- this.i.borderWidth.left = +v;
2482
+ const __nv = +v;
2483
+ if (this.i.borderWidth.left === __nv) {
2484
+ return;
2485
+ }
2486
+ const __copy = new Thickness(2);
2487
+ __copy.left = __nv;
2488
+ __copy.bottom = this.i.borderWidth.bottom;
2489
+ __copy.right = this.i.borderWidth.right;
2490
+ __copy.top = this.i.borderWidth.top;
2491
+ this.i.borderWidth = __copy;
2433
2492
  this._a("borderWidthLeft", this.i.borderWidth.left);
2434
- this.i.borderWidth = this.i.borderWidth;
2435
2493
  }
2436
2494
  get borderWidthRight() {
2437
2495
  return this.i.borderWidth ? this.i.borderWidth.right : NaN;
2438
2496
  }
2439
2497
  set borderWidthRight(v) {
2440
2498
  this.ensureBorderWidth();
2441
- this.i.borderWidth.right = +v;
2499
+ const __nv = +v;
2500
+ if (this.i.borderWidth.right === __nv) {
2501
+ return;
2502
+ }
2503
+ const __copy = new Thickness(2);
2504
+ __copy.right = __nv;
2505
+ __copy.bottom = this.i.borderWidth.bottom;
2506
+ __copy.left = this.i.borderWidth.left;
2507
+ __copy.top = this.i.borderWidth.top;
2508
+ this.i.borderWidth = __copy;
2442
2509
  this._a("borderWidthRight", this.i.borderWidth.right);
2443
- this.i.borderWidth = this.i.borderWidth;
2444
2510
  }
2445
2511
  get borderWidthTop() {
2446
2512
  return this.i.borderWidth ? this.i.borderWidth.top : NaN;
2447
2513
  }
2448
2514
  set borderWidthTop(v) {
2449
2515
  this.ensureBorderWidth();
2450
- this.i.borderWidth.top = +v;
2516
+ const __nv = +v;
2517
+ if (this.i.borderWidth.top === __nv) {
2518
+ return;
2519
+ }
2520
+ const __copy = new Thickness(2);
2521
+ __copy.top = __nv;
2522
+ __copy.bottom = this.i.borderWidth.bottom;
2523
+ __copy.left = this.i.borderWidth.left;
2524
+ __copy.right = this.i.borderWidth.right;
2525
+ this.i.borderWidth = __copy;
2451
2526
  this._a("borderWidthTop", this.i.borderWidth.top);
2452
- this.i.borderWidth = this.i.borderWidth;
2453
2527
  }
2454
2528
  ensureBorderWidth() {
2455
2529
  if (this.i.borderWidth) {
@@ -2472,36 +2546,68 @@ let IgcDataGridComponent = /*@__PURE__*/ (() => {
2472
2546
  }
2473
2547
  set cornerRadiusBottomRight(v) {
2474
2548
  this.ensureCornerRadius();
2475
- this.i.cornerRadius.c = +v;
2549
+ const __nv = +v;
2550
+ if (this.i.cornerRadius.c === __nv) {
2551
+ return;
2552
+ }
2553
+ const __copy = new CornerRadius(2);
2554
+ __copy.c = __nv;
2555
+ __copy.b = this.i.cornerRadius.b;
2556
+ __copy.d = this.i.cornerRadius.d;
2557
+ __copy.e = this.i.cornerRadius.e;
2558
+ this.i.cornerRadius = __copy;
2476
2559
  this._a("cornerRadiusBottomRight", this.i.cornerRadius.c);
2477
- this.i.cornerRadius = this.i.cornerRadius;
2478
2560
  }
2479
2561
  get cornerRadiusBottomLeft() {
2480
2562
  return this.i.cornerRadius ? this.i.cornerRadius.b : NaN;
2481
2563
  }
2482
2564
  set cornerRadiusBottomLeft(v) {
2483
2565
  this.ensureCornerRadius();
2484
- this.i.cornerRadius.b = +v;
2566
+ const __nv = +v;
2567
+ if (this.i.cornerRadius.b === __nv) {
2568
+ return;
2569
+ }
2570
+ const __copy = new CornerRadius(2);
2571
+ __copy.b = __nv;
2572
+ __copy.c = this.i.cornerRadius.c;
2573
+ __copy.d = this.i.cornerRadius.d;
2574
+ __copy.e = this.i.cornerRadius.e;
2575
+ this.i.cornerRadius = __copy;
2485
2576
  this._a("cornerRadiusBottomLeft", this.i.cornerRadius.b);
2486
- this.i.cornerRadius = this.i.cornerRadius;
2487
2577
  }
2488
2578
  get cornerRadiusTopLeft() {
2489
2579
  return this.i.cornerRadius ? this.i.cornerRadius.d : NaN;
2490
2580
  }
2491
2581
  set cornerRadiusTopLeft(v) {
2492
2582
  this.ensureCornerRadius();
2493
- this.i.cornerRadius.d = +v;
2583
+ const __nv = +v;
2584
+ if (this.i.cornerRadius.d === __nv) {
2585
+ return;
2586
+ }
2587
+ const __copy = new CornerRadius(2);
2588
+ __copy.d = __nv;
2589
+ __copy.c = this.i.cornerRadius.c;
2590
+ __copy.b = this.i.cornerRadius.b;
2591
+ __copy.e = this.i.cornerRadius.e;
2592
+ this.i.cornerRadius = __copy;
2494
2593
  this._a("cornerRadiusTopLeft", this.i.cornerRadius.d);
2495
- this.i.cornerRadius = this.i.cornerRadius;
2496
2594
  }
2497
2595
  get cornerRadiusTopRight() {
2498
2596
  return this.i.cornerRadius ? this.i.cornerRadius.e : NaN;
2499
2597
  }
2500
2598
  set cornerRadiusTopRight(v) {
2501
2599
  this.ensureCornerRadius();
2502
- this.i.cornerRadius.e = +v;
2600
+ const __nv = +v;
2601
+ if (this.i.cornerRadius.e === __nv) {
2602
+ return;
2603
+ }
2604
+ const __copy = new CornerRadius(2);
2605
+ __copy.e = __nv;
2606
+ __copy.c = this.i.cornerRadius.c;
2607
+ __copy.b = this.i.cornerRadius.b;
2608
+ __copy.d = this.i.cornerRadius.d;
2609
+ this.i.cornerRadius = __copy;
2503
2610
  this._a("cornerRadiusTopRight", this.i.cornerRadius.e);
2504
- this.i.cornerRadius = this.i.cornerRadius;
2505
2611
  }
2506
2612
  ensureCornerRadius() {
2507
2613
  if (this.i.cornerRadius) {
@@ -2514,36 +2620,68 @@ let IgcDataGridComponent = /*@__PURE__*/ (() => {
2514
2620
  }
2515
2621
  set actualCornerRadiusBottomRight(v) {
2516
2622
  this.ensureActualCornerRadius();
2517
- this.i.actualCornerRadius.c = +v;
2623
+ const __nv = +v;
2624
+ if (this.i.actualCornerRadius.c === __nv) {
2625
+ return;
2626
+ }
2627
+ const __copy = new CornerRadius(2);
2628
+ __copy.c = __nv;
2629
+ __copy.b = this.i.actualCornerRadius.b;
2630
+ __copy.d = this.i.actualCornerRadius.d;
2631
+ __copy.e = this.i.actualCornerRadius.e;
2632
+ this.i.actualCornerRadius = __copy;
2518
2633
  this._a("actualCornerRadiusBottomRight", this.i.actualCornerRadius.c);
2519
- this.i.actualCornerRadius = this.i.actualCornerRadius;
2520
2634
  }
2521
2635
  get actualCornerRadiusBottomLeft() {
2522
2636
  return this.i.actualCornerRadius ? this.i.actualCornerRadius.b : NaN;
2523
2637
  }
2524
2638
  set actualCornerRadiusBottomLeft(v) {
2525
2639
  this.ensureActualCornerRadius();
2526
- this.i.actualCornerRadius.b = +v;
2640
+ const __nv = +v;
2641
+ if (this.i.actualCornerRadius.b === __nv) {
2642
+ return;
2643
+ }
2644
+ const __copy = new CornerRadius(2);
2645
+ __copy.b = __nv;
2646
+ __copy.c = this.i.actualCornerRadius.c;
2647
+ __copy.d = this.i.actualCornerRadius.d;
2648
+ __copy.e = this.i.actualCornerRadius.e;
2649
+ this.i.actualCornerRadius = __copy;
2527
2650
  this._a("actualCornerRadiusBottomLeft", this.i.actualCornerRadius.b);
2528
- this.i.actualCornerRadius = this.i.actualCornerRadius;
2529
2651
  }
2530
2652
  get actualCornerRadiusTopLeft() {
2531
2653
  return this.i.actualCornerRadius ? this.i.actualCornerRadius.d : NaN;
2532
2654
  }
2533
2655
  set actualCornerRadiusTopLeft(v) {
2534
2656
  this.ensureActualCornerRadius();
2535
- this.i.actualCornerRadius.d = +v;
2657
+ const __nv = +v;
2658
+ if (this.i.actualCornerRadius.d === __nv) {
2659
+ return;
2660
+ }
2661
+ const __copy = new CornerRadius(2);
2662
+ __copy.d = __nv;
2663
+ __copy.c = this.i.actualCornerRadius.c;
2664
+ __copy.b = this.i.actualCornerRadius.b;
2665
+ __copy.e = this.i.actualCornerRadius.e;
2666
+ this.i.actualCornerRadius = __copy;
2536
2667
  this._a("actualCornerRadiusTopLeft", this.i.actualCornerRadius.d);
2537
- this.i.actualCornerRadius = this.i.actualCornerRadius;
2538
2668
  }
2539
2669
  get actualCornerRadiusTopRight() {
2540
2670
  return this.i.actualCornerRadius ? this.i.actualCornerRadius.e : NaN;
2541
2671
  }
2542
2672
  set actualCornerRadiusTopRight(v) {
2543
2673
  this.ensureActualCornerRadius();
2544
- this.i.actualCornerRadius.e = +v;
2674
+ const __nv = +v;
2675
+ if (this.i.actualCornerRadius.e === __nv) {
2676
+ return;
2677
+ }
2678
+ const __copy = new CornerRadius(2);
2679
+ __copy.e = __nv;
2680
+ __copy.c = this.i.actualCornerRadius.c;
2681
+ __copy.b = this.i.actualCornerRadius.b;
2682
+ __copy.d = this.i.actualCornerRadius.d;
2683
+ this.i.actualCornerRadius = __copy;
2545
2684
  this._a("actualCornerRadiusTopRight", this.i.actualCornerRadius.e);
2546
- this.i.actualCornerRadius = this.i.actualCornerRadius;
2547
2685
  }
2548
2686
  ensureActualCornerRadius() {
2549
2687
  if (this.i.actualCornerRadius) {
@@ -3193,6 +3331,26 @@ let IgcDataGridComponent = /*@__PURE__*/ (() => {
3193
3331
  this.i.scrollbarBackground = stringToBrush(v);
3194
3332
  this._a("scrollbarBackground", brushToString(this.i.scrollbarBackground));
3195
3333
  }
3334
+ /**
3335
+ * Gets or sets the scrollbar thumb background color when the pointer is over it.
3336
+ */
3337
+ get scrollbarHoverBackground() {
3338
+ return brushToString(this.i.scrollbarHoverBackground);
3339
+ }
3340
+ set scrollbarHoverBackground(v) {
3341
+ this.i.scrollbarHoverBackground = stringToBrush(v);
3342
+ this._a("scrollbarHoverBackground", brushToString(this.i.scrollbarHoverBackground));
3343
+ }
3344
+ /**
3345
+ * Gets or sets the scrollbar thumb background color when the user is dragging it.
3346
+ */
3347
+ get scrollbarActiveBackground() {
3348
+ return brushToString(this.i.scrollbarActiveBackground);
3349
+ }
3350
+ set scrollbarActiveBackground(v) {
3351
+ this.i.scrollbarActiveBackground = stringToBrush(v);
3352
+ this._a("scrollbarActiveBackground", brushToString(this.i.scrollbarActiveBackground));
3353
+ }
3196
3354
  /**
3197
3355
  * Gets or sets the column options dropdown background color.
3198
3356
  */
@@ -3203,6 +3361,36 @@ let IgcDataGridComponent = /*@__PURE__*/ (() => {
3203
3361
  this.i.columnOptionsBackground = stringToBrush(v);
3204
3362
  this._a("columnOptionsBackground", brushToString(this.i.columnOptionsBackground));
3205
3363
  }
3364
+ /**
3365
+ * Gets or sets the scrollbar background color for checkbox lists in the column options dialog.
3366
+ */
3367
+ get columnOptionsScrollbarBackground() {
3368
+ return brushToString(this.i.columnOptionsScrollbarBackground);
3369
+ }
3370
+ set columnOptionsScrollbarBackground(v) {
3371
+ this.i.columnOptionsScrollbarBackground = stringToBrush(v);
3372
+ this._a("columnOptionsScrollbarBackground", brushToString(this.i.columnOptionsScrollbarBackground));
3373
+ }
3374
+ /**
3375
+ * Gets or sets the scrollbar thumb hover background color for checkbox lists in the column options dialog.
3376
+ */
3377
+ get columnOptionsScrollbarHoverBackground() {
3378
+ return brushToString(this.i.columnOptionsScrollbarHoverBackground);
3379
+ }
3380
+ set columnOptionsScrollbarHoverBackground(v) {
3381
+ this.i.columnOptionsScrollbarHoverBackground = stringToBrush(v);
3382
+ this._a("columnOptionsScrollbarHoverBackground", brushToString(this.i.columnOptionsScrollbarHoverBackground));
3383
+ }
3384
+ /**
3385
+ * Gets or sets the scrollbar thumb active (dragging) background color for checkbox lists in the column options dialog.
3386
+ */
3387
+ get columnOptionsScrollbarActiveBackground() {
3388
+ return brushToString(this.i.columnOptionsScrollbarActiveBackground);
3389
+ }
3390
+ set columnOptionsScrollbarActiveBackground(v) {
3391
+ this.i.columnOptionsScrollbarActiveBackground = stringToBrush(v);
3392
+ this._a("columnOptionsScrollbarActiveBackground", brushToString(this.i.columnOptionsScrollbarActiveBackground));
3393
+ }
3206
3394
  /**
3207
3395
  * Gets or sets the text color for text inside the column options menu.
3208
3396
  */
@@ -174,11 +174,11 @@ let IgcDataGridFilterDialogComponent = /*@__PURE__*/ (() => {
174
174
  this._a("actualPixelScalingRatio", this.i.ap);
175
175
  }
176
176
  get iconColor() {
177
- return brushToString(this.i.c4);
177
+ return brushToString(this.i.dd);
178
178
  }
179
179
  set iconColor(v) {
180
- this.i.c4 = stringToBrush(v);
181
- this._a("iconColor", brushToString(this.i.c4));
180
+ this.i.dd = stringToBrush(v);
181
+ this._a("iconColor", brushToString(this.i.dd));
182
182
  }
183
183
  get viewSize() {
184
184
  return this.i.ar;
@@ -191,21 +191,51 @@ let IgcDataGridFilterDialogComponent = /*@__PURE__*/ (() => {
191
191
  * Gets or sets the column options dropdown background color.
192
192
  */
193
193
  get columnOptionsBackground() {
194
- return brushToString(this.i.cv);
194
+ return brushToString(this.i.c1);
195
195
  }
196
196
  set columnOptionsBackground(v) {
197
- this.i.cv = stringToBrush(v);
198
- this._a("columnOptionsBackground", brushToString(this.i.cv));
197
+ this.i.c1 = stringToBrush(v);
198
+ this._a("columnOptionsBackground", brushToString(this.i.c1));
199
+ }
200
+ /**
201
+ * Gets or sets the scrollbar background color for checkbox lists in the column options dialog.
202
+ */
203
+ get columnOptionsScrollbarBackground() {
204
+ return brushToString(this.i.c7);
205
+ }
206
+ set columnOptionsScrollbarBackground(v) {
207
+ this.i.c7 = stringToBrush(v);
208
+ this._a("columnOptionsScrollbarBackground", brushToString(this.i.c7));
209
+ }
210
+ /**
211
+ * Gets or sets the scrollbar thumb hover background color for checkbox lists in the column options dialog.
212
+ */
213
+ get columnOptionsScrollbarHoverBackground() {
214
+ return brushToString(this.i.c8);
215
+ }
216
+ set columnOptionsScrollbarHoverBackground(v) {
217
+ this.i.c8 = stringToBrush(v);
218
+ this._a("columnOptionsScrollbarHoverBackground", brushToString(this.i.c8));
219
+ }
220
+ /**
221
+ * Gets or sets the scrollbar thumb active (dragging) background color for checkbox lists in the column options dialog.
222
+ */
223
+ get columnOptionsScrollbarActiveBackground() {
224
+ return brushToString(this.i.c6);
225
+ }
226
+ set columnOptionsScrollbarActiveBackground(v) {
227
+ this.i.c6 = stringToBrush(v);
228
+ this._a("columnOptionsScrollbarActiveBackground", brushToString(this.i.c6));
199
229
  }
200
230
  /**
201
231
  * Gets or sets the text color for text inside the column options menu.
202
232
  */
203
233
  get columnOptionsTextColor() {
204
- return brushToString(this.i.c1);
234
+ return brushToString(this.i.da);
205
235
  }
206
236
  set columnOptionsTextColor(v) {
207
- this.i.c1 = stringToBrush(v);
208
- this._a("columnOptionsTextColor", brushToString(this.i.c1));
237
+ this.i.da = stringToBrush(v);
238
+ this._a("columnOptionsTextColor", brushToString(this.i.da));
209
239
  }
210
240
  /**
211
241
  * Gets or sets the font settings for text inside the column options menu.
@@ -226,71 +256,71 @@ let IgcDataGridFilterDialogComponent = /*@__PURE__*/ (() => {
226
256
  * Gets or sets the hover background color inside the column options menu.
227
257
  */
228
258
  get columnOptionsHoverBackgroundColor() {
229
- return brushToString(this.i.cz);
259
+ return brushToString(this.i.c5);
230
260
  }
231
261
  set columnOptionsHoverBackgroundColor(v) {
232
- this.i.cz = stringToBrush(v);
233
- this._a("columnOptionsHoverBackgroundColor", brushToString(this.i.cz));
262
+ this.i.c5 = stringToBrush(v);
263
+ this._a("columnOptionsHoverBackgroundColor", brushToString(this.i.c5));
234
264
  }
235
265
  /**
236
266
  * Gets or sets the tooltip background color inside the column options menu.
237
267
  */
238
268
  get columnOptionsToolTipBackgroundColor() {
239
- return brushToString(this.i.c2);
269
+ return brushToString(this.i.db);
240
270
  }
241
271
  set columnOptionsToolTipBackgroundColor(v) {
242
- this.i.c2 = stringToBrush(v);
243
- this._a("columnOptionsToolTipBackgroundColor", brushToString(this.i.c2));
272
+ this.i.db = stringToBrush(v);
273
+ this._a("columnOptionsToolTipBackgroundColor", brushToString(this.i.db));
244
274
  }
245
275
  /**
246
276
  * Gets or sets the tooltip text color inside the column options menu.
247
277
  */
248
278
  get columnOptionsToolTipTextColor() {
249
- return brushToString(this.i.c3);
279
+ return brushToString(this.i.dc);
250
280
  }
251
281
  set columnOptionsToolTipTextColor(v) {
252
- this.i.c3 = stringToBrush(v);
253
- this._a("columnOptionsToolTipTextColor", brushToString(this.i.c3));
282
+ this.i.dc = stringToBrush(v);
283
+ this._a("columnOptionsToolTipTextColor", brushToString(this.i.dc));
254
284
  }
255
285
  /**
256
286
  * Gets or sets the highlight color inside the column options menu.
257
287
  */
258
288
  get columnOptionsHighlightColor() {
259
- return brushToString(this.i.cy);
289
+ return brushToString(this.i.c4);
260
290
  }
261
291
  set columnOptionsHighlightColor(v) {
262
- this.i.cy = stringToBrush(v);
263
- this._a("columnOptionsHighlightColor", brushToString(this.i.cy));
292
+ this.i.c4 = stringToBrush(v);
293
+ this._a("columnOptionsHighlightColor", brushToString(this.i.c4));
264
294
  }
265
295
  /**
266
296
  * Gets or sets the color of separators inside the column options menu.
267
297
  */
268
298
  get columnOptionsSeparatorColor() {
269
- return brushToString(this.i.c0);
299
+ return brushToString(this.i.c9);
270
300
  }
271
301
  set columnOptionsSeparatorColor(v) {
272
- this.i.c0 = stringToBrush(v);
273
- this._a("columnOptionsSeparatorColor", brushToString(this.i.c0));
302
+ this.i.c9 = stringToBrush(v);
303
+ this._a("columnOptionsSeparatorColor", brushToString(this.i.c9));
274
304
  }
275
305
  /**
276
306
  * Gets or sets the background color for group headers inside the column options menu.
277
307
  */
278
308
  get columnOptionsGroupHeaderBackground() {
279
- return brushToString(this.i.cw);
309
+ return brushToString(this.i.c2);
280
310
  }
281
311
  set columnOptionsGroupHeaderBackground(v) {
282
- this.i.cw = stringToBrush(v);
283
- this._a("columnOptionsGroupHeaderBackground", brushToString(this.i.cw));
312
+ this.i.c2 = stringToBrush(v);
313
+ this._a("columnOptionsGroupHeaderBackground", brushToString(this.i.c2));
284
314
  }
285
315
  /**
286
316
  * Gets or sets the text color for group headers inside the column options menu.
287
317
  */
288
318
  get columnOptionsGroupHeaderTextColor() {
289
- return brushToString(this.i.cx);
319
+ return brushToString(this.i.c3);
290
320
  }
291
321
  set columnOptionsGroupHeaderTextColor(v) {
292
- this.i.cx = stringToBrush(v);
293
- this._a("columnOptionsGroupHeaderTextColor", brushToString(this.i.cx));
322
+ this.i.c3 = stringToBrush(v);
323
+ this._a("columnOptionsGroupHeaderTextColor", brushToString(this.i.c3));
294
324
  }
295
325
  /**
296
326
  * Gets or sets the font settings for group header text inside the column options menu.
@@ -308,11 +338,11 @@ let IgcDataGridFilterDialogComponent = /*@__PURE__*/ (() => {
308
338
  this._a("columnOptionsGroupHeaderTextStyle", this.i.aa != null ? this.i.aa.fontString : "");
309
339
  }
310
340
  get columnOptionsAccentColor() {
311
- return brushToString(this.i.cu);
341
+ return brushToString(this.i.c0);
312
342
  }
313
343
  set columnOptionsAccentColor(v) {
314
- this.i.cu = stringToBrush(v);
315
- this._a("columnOptionsAccentColor", brushToString(this.i.cu));
344
+ this.i.c0 = stringToBrush(v);
345
+ this._a("columnOptionsAccentColor", brushToString(this.i.c0));
316
346
  }
317
347
  /**
318
348
  * Gets or sets the row height for submenus inside the column options menu.
@@ -401,16 +431,16 @@ let IgcDataGridFilterDialogComponent = /*@__PURE__*/ (() => {
401
431
  this._inStyling = false;
402
432
  }
403
433
  notifySizeChanged(width, height) {
404
- this.i.b2(width, height);
434
+ this.i.b5(width, height);
405
435
  }
406
436
  notifyCellSizeChanged() {
407
- this.i.b1();
437
+ this.i.b4();
408
438
  }
409
439
  showIcon() {
410
- this.i.cf();
440
+ this.i.ci();
411
441
  }
412
442
  hideIcon() {
413
- this.i.bz();
443
+ this.i.b2();
414
444
  }
415
445
  getDesiredToolbarActions() {
416
446
  let iv = this.i.getDesiredToolbarActions();
@@ -312,36 +312,68 @@ let IgcDataGridToolbarComponent = /*@__PURE__*/ (() => {
312
312
  }
313
313
  set borderWidthBottom(v) {
314
314
  this.ensureBorderWidth();
315
- this.i.bi.bottom = +v;
315
+ const __nv = +v;
316
+ if (this.i.bi.bottom === __nv) {
317
+ return;
318
+ }
319
+ const __copy = new Thickness(2);
320
+ __copy.bottom = __nv;
321
+ __copy.left = this.i.bi.left;
322
+ __copy.right = this.i.bi.right;
323
+ __copy.top = this.i.bi.top;
324
+ this.i.bi = __copy;
316
325
  this._a("borderWidthBottom", this.i.bi.bottom);
317
- this.i.bi = this.i.bi;
318
326
  }
319
327
  get borderWidthLeft() {
320
328
  return this.i.bi ? this.i.bi.left : NaN;
321
329
  }
322
330
  set borderWidthLeft(v) {
323
331
  this.ensureBorderWidth();
324
- this.i.bi.left = +v;
332
+ const __nv = +v;
333
+ if (this.i.bi.left === __nv) {
334
+ return;
335
+ }
336
+ const __copy = new Thickness(2);
337
+ __copy.left = __nv;
338
+ __copy.bottom = this.i.bi.bottom;
339
+ __copy.right = this.i.bi.right;
340
+ __copy.top = this.i.bi.top;
341
+ this.i.bi = __copy;
325
342
  this._a("borderWidthLeft", this.i.bi.left);
326
- this.i.bi = this.i.bi;
327
343
  }
328
344
  get borderWidthRight() {
329
345
  return this.i.bi ? this.i.bi.right : NaN;
330
346
  }
331
347
  set borderWidthRight(v) {
332
348
  this.ensureBorderWidth();
333
- this.i.bi.right = +v;
349
+ const __nv = +v;
350
+ if (this.i.bi.right === __nv) {
351
+ return;
352
+ }
353
+ const __copy = new Thickness(2);
354
+ __copy.right = __nv;
355
+ __copy.bottom = this.i.bi.bottom;
356
+ __copy.left = this.i.bi.left;
357
+ __copy.top = this.i.bi.top;
358
+ this.i.bi = __copy;
334
359
  this._a("borderWidthRight", this.i.bi.right);
335
- this.i.bi = this.i.bi;
336
360
  }
337
361
  get borderWidthTop() {
338
362
  return this.i.bi ? this.i.bi.top : NaN;
339
363
  }
340
364
  set borderWidthTop(v) {
341
365
  this.ensureBorderWidth();
342
- this.i.bi.top = +v;
366
+ const __nv = +v;
367
+ if (this.i.bi.top === __nv) {
368
+ return;
369
+ }
370
+ const __copy = new Thickness(2);
371
+ __copy.top = __nv;
372
+ __copy.bottom = this.i.bi.bottom;
373
+ __copy.left = this.i.bi.left;
374
+ __copy.right = this.i.bi.right;
375
+ this.i.bi = __copy;
343
376
  this._a("borderWidthTop", this.i.bi.top);
344
- this.i.bi = this.i.bi;
345
377
  }
346
378
  ensureBorderWidth() {
347
379
  if (this.i.bi) {