@datorama/core 22.13.8-rc.2 → 22.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/bundle.scss +5696 -4767
  2. package/bundles/datorama-core.umd.js +156 -199
  3. package/bundles/datorama-core.umd.js.map +1 -1
  4. package/bundles/datorama-core.umd.min.js +61 -61
  5. package/bundles/datorama-core.umd.min.js.map +1 -1
  6. package/datorama-core.d.ts +0 -1
  7. package/datorama-core.metadata.json +1 -1
  8. package/esm2015/datorama-core.js +1 -2
  9. package/esm2015/lib/breadcrumbs/breadcrumbs.component.js +2 -4
  10. package/esm2015/lib/directives/clipboard.directive.js +7 -16
  11. package/esm2015/lib/grid/dato-grid-api.js +1 -1
  12. package/esm2015/lib/grid/dato-grid.js +1 -1
  13. package/esm2015/lib/grid/grid/grid.component.js +7 -6
  14. package/esm2015/lib/grid/grid-header/grid-header.component.js +1 -1
  15. package/esm2015/lib/grid/grid-helper.js +1 -1
  16. package/esm2015/lib/grid/grid-pagination/grid-pagination.component.js +2 -2
  17. package/esm2015/lib/grid/grid-toolbar/grid-toolbar.component.js +2 -2
  18. package/esm2015/lib/grid/grid.module.js +2 -2
  19. package/esm2015/lib/grid-v2/grid/grid-v2.component.js +10 -8
  20. package/esm2015/lib/grid-v2/grid/grid-v2.config.js +5 -22
  21. package/esm2015/lib/grid-v2/grid/grid-v2.types.js +3 -3
  22. package/esm2015/lib/grid-v2/grid-column-cell-components/grid-avatar-cell/grid-avatar-cell.component.js +3 -3
  23. package/esm2015/lib/grid-v2/grid-column-cell-components/grid-initials-cell/grid-initials-cell.component.js +3 -3
  24. package/esm2015/lib/grid-v2/grid-column-cell-components/grid-items-cell/grid-items-cell.component.js +1 -1
  25. package/esm2015/lib/grid-v2/grid-column-cell-components/grid-items-count-cell/grid-items-count-cell.component.js +1 -1
  26. package/esm2015/lib/grid-v2/grid-column-cell-components/grid-status-cell/grid-status-cell.component.js +1 -1
  27. package/esm2015/lib/grid-v2/grid-column-header/grid-column-header.component.js +2 -2
  28. package/esm2015/lib/grid-v2/grid-column-header/grid-column-header.types.js +1 -1
  29. package/esm2015/lib/grid-v2/grid-column-header/grid-multi-select-header/grid-multi-select-header.component.js +4 -3
  30. package/esm2015/lib/grid-v2/grid-column-header-more-menu/grid-column-header-more-menu.component.js +1 -1
  31. package/esm2015/lib/grid-v2/grid-columns-display-menu/grid-columns-display-menu.component.js +1 -1
  32. package/esm2015/lib/grid-v2/grid-controller/grid-controller.component.js +11 -17
  33. package/esm2015/lib/grid-v2/grid-controller/grid-controller.types.js +1 -1
  34. package/esm2015/lib/grid-v2/grid-custom-header/custom-header-template.directive.js +1 -1
  35. package/esm2015/lib/grid-v2/grid-filter/filter-validator.js +1 -1
  36. package/esm2015/lib/grid-v2/grid-filter/grid-filter.component.js +1 -1
  37. package/esm2015/lib/grid-v2/grid-groups-menu/grid-groups-menu.component.js +1 -1
  38. package/esm2015/lib/grid-v2/grid-loader/grid-v2-loader.component.js +1 -1
  39. package/esm2015/lib/grid-v2/grid-no-data-overlay/grid-v2-no-data-overlay.component.js +1 -1
  40. package/esm2015/lib/grid-v2/grid-on-hover/grid-on-hover.component.js +1 -1
  41. package/esm2015/lib/grid-v2/grid-pagination/grid-pagination.component.js +1 -1
  42. package/esm2015/lib/grid-v2/grid-settings.js +2 -2
  43. package/esm2015/lib/grid-v2/grid-store/grid.query.js +2 -2
  44. package/esm2015/lib/grid-v2/grid-store/grid.service.js +52 -42
  45. package/esm2015/lib/grid-v2/grid-store/util.js +1 -1
  46. package/esm2015/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +4 -10
  47. package/esm2015/lib/grid-v2/grid-toolbar/grid-toolbar.types.js +1 -1
  48. package/esm2015/lib/grid-v2/grid-v2.module.js +2 -2
  49. package/esm2015/lib/grid-v2/grid-v2.util.js +1 -1
  50. package/esm2015/lib/icon/icon.types.js +1 -1
  51. package/esm2015/lib/rich-text/rich-text.directive.js +38 -20
  52. package/esm2015/lib/select/select.component.js +9 -4
  53. package/esm2015/lib/version.js +2 -2
  54. package/esm5/datorama-core.js +1 -2
  55. package/esm5/lib/breadcrumbs/breadcrumbs.component.js +2 -4
  56. package/esm5/lib/directives/clipboard.directive.js +7 -16
  57. package/esm5/lib/grid/dato-grid-api.js +1 -1
  58. package/esm5/lib/grid/dato-grid.js +1 -1
  59. package/esm5/lib/grid/grid/grid.component.js +7 -6
  60. package/esm5/lib/grid/grid-header/grid-header.component.js +1 -1
  61. package/esm5/lib/grid/grid-helper.js +1 -1
  62. package/esm5/lib/grid/grid-pagination/grid-pagination.component.js +2 -2
  63. package/esm5/lib/grid/grid-toolbar/grid-toolbar.component.js +2 -2
  64. package/esm5/lib/grid/grid.module.js +2 -2
  65. package/esm5/lib/grid-v2/grid/grid-v2.component.js +10 -8
  66. package/esm5/lib/grid-v2/grid/grid-v2.config.js +5 -22
  67. package/esm5/lib/grid-v2/grid/grid-v2.types.js +3 -3
  68. package/esm5/lib/grid-v2/grid-column-cell-components/grid-avatar-cell/grid-avatar-cell.component.js +3 -3
  69. package/esm5/lib/grid-v2/grid-column-cell-components/grid-initials-cell/grid-initials-cell.component.js +3 -3
  70. package/esm5/lib/grid-v2/grid-column-cell-components/grid-items-cell/grid-items-cell.component.js +1 -1
  71. package/esm5/lib/grid-v2/grid-column-cell-components/grid-items-count-cell/grid-items-count-cell.component.js +1 -1
  72. package/esm5/lib/grid-v2/grid-column-cell-components/grid-status-cell/grid-status-cell.component.js +1 -1
  73. package/esm5/lib/grid-v2/grid-column-header/grid-column-header.component.js +2 -2
  74. package/esm5/lib/grid-v2/grid-column-header/grid-column-header.types.js +1 -1
  75. package/esm5/lib/grid-v2/grid-column-header/grid-multi-select-header/grid-multi-select-header.component.js +4 -3
  76. package/esm5/lib/grid-v2/grid-column-header-more-menu/grid-column-header-more-menu.component.js +1 -1
  77. package/esm5/lib/grid-v2/grid-columns-display-menu/grid-columns-display-menu.component.js +1 -1
  78. package/esm5/lib/grid-v2/grid-controller/grid-controller.component.js +11 -17
  79. package/esm5/lib/grid-v2/grid-controller/grid-controller.types.js +1 -1
  80. package/esm5/lib/grid-v2/grid-custom-header/custom-header-template.directive.js +1 -1
  81. package/esm5/lib/grid-v2/grid-filter/filter-validator.js +1 -1
  82. package/esm5/lib/grid-v2/grid-filter/grid-filter.component.js +1 -1
  83. package/esm5/lib/grid-v2/grid-groups-menu/grid-groups-menu.component.js +1 -1
  84. package/esm5/lib/grid-v2/grid-loader/grid-v2-loader.component.js +1 -1
  85. package/esm5/lib/grid-v2/grid-no-data-overlay/grid-v2-no-data-overlay.component.js +1 -1
  86. package/esm5/lib/grid-v2/grid-on-hover/grid-on-hover.component.js +1 -1
  87. package/esm5/lib/grid-v2/grid-pagination/grid-pagination.component.js +1 -1
  88. package/esm5/lib/grid-v2/grid-settings.js +2 -2
  89. package/esm5/lib/grid-v2/grid-store/grid.query.js +2 -2
  90. package/esm5/lib/grid-v2/grid-store/grid.service.js +52 -42
  91. package/esm5/lib/grid-v2/grid-store/util.js +1 -1
  92. package/esm5/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +4 -16
  93. package/esm5/lib/grid-v2/grid-toolbar/grid-toolbar.types.js +1 -1
  94. package/esm5/lib/grid-v2/grid-v2.module.js +2 -2
  95. package/esm5/lib/grid-v2/grid-v2.util.js +1 -1
  96. package/esm5/lib/icon/icon.types.js +1 -1
  97. package/esm5/lib/rich-text/rich-text.directive.js +39 -21
  98. package/esm5/lib/select/select.component.js +9 -4
  99. package/esm5/lib/version.js +2 -2
  100. package/fesm2015/datorama-core.js +143 -178
  101. package/fesm2015/datorama-core.js.map +1 -1
  102. package/fesm5/datorama-core.js +144 -186
  103. package/fesm5/datorama-core.js.map +1 -1
  104. package/lib/directives/clipboard.directive.d.ts +2 -1
  105. package/lib/grid/dato-grid-api.d.ts +1 -1
  106. package/lib/grid/dato-grid.d.ts +1 -1
  107. package/lib/grid/grid/grid.component.d.ts +3 -4
  108. package/lib/grid/grid-helper.d.ts +1 -1
  109. package/lib/grid/grid-pagination/grid-pagination.component.d.ts +1 -1
  110. package/lib/grid-v2/grid/grid-v2.component.d.ts +2 -2
  111. package/lib/grid-v2/grid/grid-v2.config.d.ts +0 -1
  112. package/lib/grid-v2/grid/grid-v2.types.d.ts +1 -3
  113. package/lib/grid-v2/grid-column-cell-components/grid-avatar-cell/grid-avatar-cell.component.d.ts +2 -2
  114. package/lib/grid-v2/grid-column-cell-components/grid-initials-cell/grid-initials-cell.component.d.ts +2 -2
  115. package/lib/grid-v2/grid-column-cell-components/grid-items-cell/grid-items-cell.component.d.ts +2 -2
  116. package/lib/grid-v2/grid-column-cell-components/grid-items-count-cell/grid-items-count-cell.component.d.ts +2 -2
  117. package/lib/grid-v2/grid-column-cell-components/grid-status-cell/grid-status-cell.component.d.ts +2 -2
  118. package/lib/grid-v2/grid-column-header/grid-column-header.component.d.ts +2 -2
  119. package/lib/grid-v2/grid-column-header/grid-column-header.types.d.ts +1 -1
  120. package/lib/grid-v2/grid-column-header/grid-multi-select-header/grid-multi-select-header.component.d.ts +2 -2
  121. package/lib/grid-v2/grid-column-header-more-menu/grid-column-header-more-menu.component.d.ts +1 -1
  122. package/lib/grid-v2/grid-columns-display-menu/grid-columns-display-menu.component.d.ts +1 -1
  123. package/lib/grid-v2/grid-controller/grid-controller.component.d.ts +7 -7
  124. package/lib/grid-v2/grid-controller/grid-controller.types.d.ts +1 -1
  125. package/lib/grid-v2/grid-custom-header/custom-header-template.directive.d.ts +1 -1
  126. package/lib/grid-v2/grid-filter/filter-validator.d.ts +1 -1
  127. package/lib/grid-v2/grid-groups-menu/grid-groups-menu.component.d.ts +1 -1
  128. package/lib/grid-v2/grid-loader/grid-v2-loader.component.d.ts +2 -2
  129. package/lib/grid-v2/grid-no-data-overlay/grid-v2-no-data-overlay.component.d.ts +2 -2
  130. package/lib/grid-v2/grid-on-hover/grid-on-hover.component.d.ts +1 -1
  131. package/lib/grid-v2/grid-settings.d.ts +2 -2
  132. package/lib/grid-v2/grid-store/grid.query.d.ts +4 -4
  133. package/lib/grid-v2/grid-store/grid.service.d.ts +377 -6
  134. package/lib/grid-v2/grid-store/util.d.ts +1 -1
  135. package/lib/grid-v2/grid-toolbar/grid-toolbar.component.d.ts +1 -3
  136. package/lib/grid-v2/grid-toolbar/grid-toolbar.types.d.ts +1 -1
  137. package/lib/grid-v2/grid-v2.util.d.ts +1 -1
  138. package/lib/icon/icon.types.d.ts +1 -1
  139. package/lib/rich-text/rich-text.directive.d.ts +6 -4
  140. package/package.json +2 -2
  141. package/testing/src/grid/row.ts +1 -1
  142. package/esm2015/lib/rich-text/rich-text.service.js +0 -50
  143. package/esm5/lib/rich-text/rich-text.service.js +0 -51
  144. package/lib/rich-text/rich-text.service.d.ts +0 -10
@@ -59,8 +59,8 @@ import DOMPurify from 'dompurify';
59
59
  import tippy from 'tippy.js';
60
60
  import { coerceElement as coerceElement$1, coerceBooleanProperty, coerceCssPixelValue, coerceArray as coerceArray$2 } from '@angular/cdk/coercion';
61
61
  import { memo, debounce as debounce$1, delay } from 'helpful-decorators';
62
- import { AgGridNg2, AgGridModule } from 'ag-grid-angular';
63
- import { GridApi, ColumnApi, Events } from 'ag-grid-community';
62
+ import { AgGridAngular, AgGridModule } from '@ag-grid-community/angular';
63
+ import { GridApi, ColumnApi, Events } from '@ag-grid-community/core';
64
64
  import { trigger, transition, style, animate, AnimationBuilder } from '@angular/animations';
65
65
  import { ActiveDescendantKeyManager, ListKeyManager } from '@angular/cdk/a11y';
66
66
  import { SortablejsModule } from 'ngx-sortablejs';
@@ -3747,19 +3747,11 @@ var DatoDisableControlDirective = /** @class */ (function () {
3747
3747
  return DatoDisableControlDirective;
3748
3748
  }());
3749
3749
 
3750
- function copyToClipboard(value) {
3751
- var el = createElement('textarea');
3752
- el.value = value;
3753
- // Set non-editable to avoid focus and move outside of view
3754
- el.setAttribute('readonly', '');
3755
- setStyles(el, { position: 'absolute', left: '-9999px' });
3756
- var remove = appendToBody(el);
3757
- // Select text inside element
3758
- el.select();
3759
- // Copy text to clipboard
3760
- document.execCommand('copy');
3761
- // Remove temporary element
3762
- remove();
3750
+ function writeToClipboard(value) {
3751
+ navigator.clipboard.writeText(value);
3752
+ }
3753
+ function readFromClipboard() {
3754
+ return navigator.clipboard.readText();
3763
3755
  }
3764
3756
  var DatoClipboardDirective = /** @class */ (function () {
3765
3757
  function DatoClipboardDirective() {
@@ -3773,7 +3765,7 @@ var DatoClipboardDirective = /** @class */ (function () {
3773
3765
  configurable: true
3774
3766
  });
3775
3767
  DatoClipboardDirective.prototype.onClick = function () {
3776
- copyToClipboard(this.value);
3768
+ writeToClipboard(this.value);
3777
3769
  this.copied.emit(this.value);
3778
3770
  };
3779
3771
  __decorate([
@@ -5756,7 +5748,8 @@ var DatoGridComponent = /** @class */ (function (_super) {
5756
5748
  this.gridColumnApi = event.columnApi;
5757
5749
  if (this.gridColumnApi.getRowGroupColumns().length >= 1) {
5758
5750
  this.gridComponent.rowGroupOpened.pipe(untilDestroyed(this)).subscribe(function (event) { return _this.rowGroupStateChange(event); });
5759
- this.paginationComponent.toggleRowGroup.pipe(untilDestroyed(this)).subscribe(function () { return _this.toggleCollapseState(); });
5751
+ this.paginationComponent &&
5752
+ this.paginationComponent.toggleRowGroup.pipe(untilDestroyed(this)).subscribe(function () { return _this.toggleCollapseState(); });
5760
5753
  }
5761
5754
  this.cdr.detectChanges();
5762
5755
  this.gridReady.emit(event);
@@ -5851,8 +5844,8 @@ var DatoGridComponent = /** @class */ (function (_super) {
5851
5844
  { type: ChangeDetectorRef }
5852
5845
  ]; };
5853
5846
  __decorate([
5854
- ViewChild(AgGridNg2, { static: true }),
5855
- __metadata("design:type", AgGridNg2)
5847
+ ViewChild(AgGridAngular, { static: true }),
5848
+ __metadata("design:type", AgGridAngular)
5856
5849
  ], DatoGridComponent.prototype, "gridComponent", void 0);
5857
5850
  __decorate([
5858
5851
  ViewChild(DatoGridPaginationComponent, { static: true }),
@@ -5874,7 +5867,7 @@ var DatoGridComponent = /** @class */ (function (_super) {
5874
5867
  changeDetection: ChangeDetectionStrategy.OnPush,
5875
5868
  encapsulation: ViewEncapsulation.None,
5876
5869
  providers: [valueAccessor$2],
5877
- styles: ["dato-grid{display:block;width:100%;height:100%;overflow:hidden}dato-grid.grid-pagination{padding-bottom:0;display:flex;flex-direction:column}dato-grid.grid-pagination ag-grid-angular{margin-bottom:7px;height:calc(100% - 32px)}.ag-dato-core{width:100%;height:100%}.ag-dato-core .da-grid-icon{display:inline-block;line-height:31px;vertical-align:middle}.ag-dato-core .ag-menu .da-grid-icon svg{vertical-align:middle}.ag-dato-core .ag-header-cell-sortable .ag-sort-none-icon{opacity:0;transition:opacity .2s}.ag-dato-core .ag-header-cell-sortable:hover .ag-sort-none-icon{opacity:1}.ag-dato-core .sort-icon svg{width:14px;height:16px}.ag-dato-core .filter-icon svg{width:13px}.ag-dato-core .menu-icon svg{width:4px;height:14px}.ag-dato-core .menu-auto-size-icon svg,.ag-dato-core .menu-group-icon,.ag-dato-core .menu-pin-icon,.ag-dato-core .menu-un-group-icon{width:16px;height:16px}.ag-dato-core .menu-check-icon svg{width:15px;height:18px}.ag-dato-core .group-contracted-icon,.ag-dato-core .group-expanded-icon{width:7px}.ag-dato-core .group-expanded-icon{transform:rotate(90deg)}"]
5870
+ styles: ["@font-face{font-family:agGridClassic;src:url(\"data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAABYIAAsAAAAAKcwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAAn4AAATCbWtuOU9TLzIAAAOIAAAAQQAAAFZWVlKaY21hcAAAA8wAAAIQAAAF1I+ffXtnbHlmAAAF3AAADCAAABa8M29qh2hlYWQAABH8AAAANAAAADZ2z8SBaGhlYQAAEjAAAAAeAAAAJAfTBC1obXR4AAASUAAAABoAAAE8zwr/4mxvY2EAABJsAAAAeAAAAKAmcyvAbWF4cAAAEuQAAAAfAAAAIAFlAHhuYW1lAAATBAAAATMAAAJS8kTiWnBvc3QAABQ4AAABzgAAArcDfOWreJx9lLtuE1EQhv/1bkLuCVG4mRBCuIUACRex7K69dhwSOzYmokAUiCY0gBSlQhQ8ASUFT8EzUPAAFJRUPAGipuSbWRuHSMFHu3vOzD//mfnPHCuQNKZbqqm02ew+0dTe7pt9lRWp+Jn/4DzYe/1yVyP9Fb7IvyMKoqea1iU901t9DUrBq+B98Lm0HNbCd+HH8Hv4K4oVglvUKvhx3WckSnnHylRRVblKGsaWMK+pDjrkve7WWZ3RkHva6ug0uybEdJxxhe91zcDTcp6mNkFlDONs8u4ybpDd0YhcN+GvkM0GVmOdJ885jeohOTbJo0F0He8svi12jIlp4WvpBHhDRa7ktp5rCZTVZpGVHi7jSfDaOvbVbVToo9bhr8JvfGvs2rdX2Skl4i7sFVAPXPOyJo9kLTRe0WXYq1ia2BvOXnP2i8SnVJBxVpFXnlL5BKtMj/XCs9ruxTRd5UKTNaob2FvOl1PvQWsDri7YO+QwsNqJrbJXrB38E2S/rX190Cd90Tf90E/9DqJgSsd0kp1Sr3IT/q3/qjeCxofRbbzrf61W7TB9cRj1L2KUjKquT4Kv01PZdpugNtMnYx5jzRw/Tp6Gb5NNzomNscdgHbGKPYsU2xBjg3VC7FSvf+uMSVe+Q9dMc17WidY7ZS2j3ILzF52ao/05GG1WZHvWdawTMe/naGqXvMoZ92Q8x91jN8dYrY8znUevmOorruEj/BewGO/AsuQ3ICefOh0Ued+1vd/ugc2pZ5CHdcwCXWa6rOC1ft3xu2XRV/AXWabUZKw73ovX4Go44ip1V3o3fo5ztxobvVM+5RGJxwd+a4t/iswj6n5XWmRtfdX9A0hjfAYAAHicY2Bkms84gYGVgYGpimkPAwNDD4RmfMBgyMgEFGVgZWbACgLSXFMYHBh0P5oxvwByo5g/MXABaUaQHADcmgqQAAAAeJy11AdOW0EUheHfhW7AQHoP6cWpxHQw3TRnDaQjUhDprC/ryB7uCsgZz8kCiJSRvnc9T89v3mh0LtABlOS+lKFYpaBfFHp1t9C+X6K3fb/Mb80rdFPU7xq77HMY9aMj3a2xwx4HUWjP/o6Cnq5wgZvUNVvVdZkGa0yyxTiLTLPEAk1mmWGDCeaZYp0Wc6ywybb+X9TqZX1jJ11at0df0qc39jPAIFWGGGaEk5ziNGc4yznOa7WLXOIyV7jKKNe4zg2tf4vb3OEu97SfGg94yCMe84Snuo5qNqaP7eR4Y/WYz6dRX26sTW6NL2rnC83ZGW16fmq9Nbeyuf0PL/sPo5IupV+ePSedbJZ2u2PpNF/Ysry0hryyNXltk/LGtuStjcs7W5Rdm5Y9W5L3tiAfrCkfbVY+2Yzs24Yc2IR8tnn5YlPy1dblm7Xku83JD1uRn7Yph6YDjEKWchPFjFRLWcpZlLOUtejIUgajMyPVroxUuzNS7clItTdL2Yy+jFQrWTrJ6M9IdSAj1cGMVKsZqQ5lpDqckepIRqonMqWOMOWPMCWRMGWSMKWTMOWUMCWWMGWXMKWYMOWZMCWbMGWcMKWdMCWaMHUAwtQLCFNXIEz9gTB1CsLUMwhT9yBMfYQwdRTCUg8NS5kJU78hTL2GMPUgwtSHCFNfIkwdirD2M2NZe4/PsvY76xljfwA5A7F6eJztWGtwG9UV3nM31kp+yFq9VrKEnNXGkl9JrLft+BErjiXHsR0iY4dAndjEaV5tcYIDJYCBeCDNQPuDSWlwyKPTSk0KnTbODIGZNjNJp6TDjzrtDAMzBGh+dICCG4qhjCba9NxdWX4kJBl+dipp99679+y955z7nZcYYPDDhtmdjI5hQBQ40SKaWJENy+OPPAJDmcfefpuMkT9OTqbgYXgYSRT6j9iPmMU4CHHeiMB5eVFpIiKvNAIvKg0nwvnu2MWLbeuA7W7DtlvOrMM21i3L9HmsGwi7WPdNU3Tcto6Z2bOXfY7R4oDz6vDiJfjFq0MwCINDr5wge17dAoPy0S2vZD6ZoSdTZIopUOiRF+QG+SFTbWcmYmfOxCbOtE1Ay0xvou0Mk8cw12WU62PGxEiMl6liljNMnuheBiE+2AQB0e8CC2/WAyu6Ndix4pMwTnkgwEtlAYvEYsvuyJjd9W78kU/d9aJYL2YMBpvNQK7ygpD5VSIBnYlEqqeHuOvc5HO84S9TjDf2pwKf4XmbjSf/4gV5Qr6cTMJxeTOKneXrE4WvCpRnhhFplrm8BTxxgPKa2B0KD+4cT5/N4Wa7PPWf4Mkr7MczLMywdM9cTt6Q8//UcgCOLeTDe2d8sGJIvCUXf5dPQ9dteJCLkvQ45+1/Z7vfaufbbErlRaEfYbcgMrSMjWEQdIIO2EgpaDj8WsxW3CXo9XjJP+VN9Q/IGWi6ePHN3xYU2IutvtU+a7EdzsOJFTghX4DGixebiopcDo/d7fO57WVOF6PKhJKcYA/hbhz2eJEvs4ghOEG1Ip8m45mzJJ5OpSiZRuHnUJa2gClGPQgMQ+nRYkPsgpauwUbl08l5Da6VSkFnEj/QRftMVs6Ps7hffmeaBcS7RQpJoUAowO5UtZsxqdomUxmDokWqZfmtlPJRtW3Mansqq20TUvDkMzziM5QlRU6VnygbVaTkkZ8AL4Yk9CgiL7IhkQ+EyHhSLkzCdEKegM6UPJEg48o4jeMT+DDN5HzG4+zj1AfoAI+O0wF6jghMg3GvPKXc5Km9YMQb2TFvCEYc5ng5yBoYPxNl1uOi4YjyFawqCtQGMeDxYosNTi4DbJpAsFIiq4BUerCqrzVDUPK6KXoEFwgR+p5EisiiltKAZ6l0lyNc099e1vmirdzlKatYWr/uyT0VgyVOg9Bf2VxQWGxoWF7td9UvKV384pLq8jpSYXPykqWALDqYr9XkOR327V6wVpndFrITYWrzmgSAYtG7rrm0YZ/Rri3Q6sTKxs1+o1ksC8aqhajbI0oiECdf5bDanidmU0AC4HUlBs5uv8wSlneVVIPf4CowUTVwii7OsmNMIWNg7MxdjIepZAIMY3LrIWsMy6ACLCK4NXQY9FAccn6rWeP2BMM4EZJmBoedNc7G3kZnDUsyW8lL165UNeKwkXyR2TrmqqpqqKpiG7CrPoUQUmO3CptL8DV91Ns4OVlKyRqqIHbpUmNfI/5m48QBJU7wAYxG9MB/efyVIfmofHQIfkj0mWkcHIOBIebb+jRqZbfyLD+WC2/n0SaSyVmsv8lGUJ8+pgH3jwjhAAJH0KOzwagFCJmQRBHjNS0jiDGEjTUiqIjzeMNIoKDIi/QgBj3N0Wf3DW+o+F5TqGWxXv7rsg5vflNV7dLRf4Tvb8hvDfqe60rc7f/OxoHeprrl/o0j8M66Nr3R6hILVlSz+vIa46L1Hfsbt3laA+UFMJpPIJGn0Tvky5raDSF/vPUBq61gpTNfFyxr8q95Zq182NdvEoTSkkCP439TFgH9TzkTRlmoHIrbz/IapsZPTTwywzRBwHjLPI0gUTqB2jtcoxJ0733s6Z88Rpm8d89TD7YGV/YPbntwc+8ahdnCtm0Pb4/lwxrI7w7HwmXlYU8Da2ETHU/v7ewuLFzjafR3jHXcc8of3xCp1Wgi/i0mwbrYXntfMNxfzxY5K0FbUNJh1nIkF08wRuzEmIXZnEkE3hvyWQKhhBIDkuxOzCw2pdI9PVlacg1zJFbJ/HiJx6TBywnQnCCGCxdq02kyJRfCtNx6/jwOKHlh1jefmxeDHEzpbMYUwcgwc8Ft+iLGj1QymVZ+6MG/qQfHk8nJpBK0jt/YIEt5WbnPoVcSmTLMkpbSuKEEQoxT2ZCYu3gpJIJkwXxNvcrwghNJGnKTGB1pSyOL0m7uga7sdgo77M4Eqi+ZSGOTTpBYOmNMwIkejDuJRBY3k+QCekg3U6PiphQQ0Iib5TR45OnBjbGiGBToNIPHyy2AzKM/2N0r3f/pE0+O7NskbXn0SfiuY/ToqCMaYjc9PTq6f4ANtx6aAxZynlQvTUgbt2m5iqqN0gPh2rHYvffG7lrK3u1yOpzryXKXpHdWgDa/ZK1ZpyELz71M4gNAs2OOXEskMleVg0/POXXVpx5nexWfKmAQpSUCbD25RT4Kg1tOkXo4flLNw0/RAE6uf3X9K/YL9t9MkNmpagDFpZajBEaUOexXLAef6sFF8EETqgG9rc9DuziFQw+nTFM6IWClL3mDXh8lU+hdZGbaBf5mqlivhzxRZzaX147VdXWs7dxtxk9dPN9uBMKTRRq7w2wMtbc79juNJofORuwVWmu+1Qimus61HV11Y7XlSG60QL5VW2kjRQU6h8nk2O9obw8ZzQ67ZhFrIGC058fr6Lq4U1fHYdyJDnYrC8R1Bn3IrzVqShzx9rDZ5BhzxOMOHW9w2yq0RGOgOyksjdUeRnJjMUe0FTa3QcflU8Ixh8kcbo87SjRGrT+kN+jiihRzbfoQWlqp4lU5NB10qJh/oVdFE8LDwywsEAl5Jc5CYof3Hn7nHbwlc52fHRwcPDhIfj/vIe1kzg7SKWbRvNqnEv33nVU+nFJUQQT9uxC5de3z2Qcx33jtEbgc+9D3cu3LtymAMk2x92uOIPnjH8Z82OZi5Wz+q2S+kL3YQ9f+wEbVK61muDS/pa98W9kiStmIIlKneGvZ9r0fqzkSGYdg7APK9O1kS2dlewFVciRyJJerRkmcSmlCH5UiL2FeFEvmatnn0V7z6OlTS4X7FCsF/4xjVt93sH9jimbrYyX3EWB8+xB4wTu0ffuQ/K787tB28rsd+AR7O+RnduAznNuRzYWuK7mQmVlC8zrwU+sz0KC3mIY4A81g86g9B/y0S2uf5dRUlZiusVBThekDDw1HV6+ODj8kfz4yHG1tjQ6PwGTmtXBLNDY8sClSJwiV8XDLKhz019YBjthPkHpEvjqym1LvHgEDvrf6y8xrlYJQF+kfHI5FV4bb1cHAcDzaEp6xiSjGOQ5jkFIhYFkQEKinx0qBeuWt6WQqIZ9OwDRrywyR8USK+u9ZXWN9oceBxAsS55UiWMhgUCBTiWQ6kUgne1IwjdFvoied7kFXz6gxJocjEbOCWqb55kiiSY4CpRUYU0N5WLUgolj1fxLFcKkF00MO0Qp1Aa4y3x+luBpNsSszbxAXL3xd2DA8vKLwXOEK2uyazFwhbcINCCNXkyrESAyd+Os2HhrUF9T3ihBKT2BNOys72o8JNWbJ1nGpdDKNP1Qc7SzAnJIVkOcXYI7MwQv9V0IBgYFCZjFFh4FChlMgZKYzbjoO0hmYfjaHjOIZtBxQwFEX2TRwBYGBn/6BmwPjHgqDK4P9lLh/EIkjdfOxW6HkazfDrqCwqMQeBcC0dveY8MTwDPEE8fxuCt9nVahSlq7MMPmjVXsO7Fml3O6YTXlza/aVVXtyODyWjaveCBanETFE9v96CAbkY0MnM38msVNq2XIylYsDuxDzRYxV/a9AyvmrvOzfbgEE+9mEz03ibp88sat+crJ+Vw8G8/dgifwe/ecBljh3rZicXLELXpjjd8bp6pgtotuRJ7CYPp3zO+OIFULrZ57mQ1g6d2a2LpwjaqrEtmByObFgTR3QhKpTpcjOJdkYxZWOoHdik5lL8lt7z8Hr5FLmEoRGsIckuRxCYmJMH/p6q3lhDoG1tTmXQYT9Amv15zIDjRlns3kBfYNTnglAzxw8bnVg9ZP1HNc3J13o40xcl0azAWM/DcZ9nJlz49VHQzqmAxs0mi6k6JsT9vs4jtiq9fprP9d79Niy/XrPX26k6Zy/Cvxm/iadN7Jx7ctqXBGXw1W9Rbj8/3Vyo07+C2RpReB4nGNgZGBgAOIqIf++eH6brwzczC+AAlGcj/c1wOj/3/5/Y/7M/AmokoOBCUgyAAB1gw7qeJxjYGRgYH7BwAAi/3/7/5X5MwMjAyrwBwCeXwcHAAB4nGNgYGBgfkFv/P8bbc3+/42BDgAAcwY2hwAAeJxjYAACCYYghiyGFoYLjCKMIYw9jPsYrzAxMHkw5TD1MYswpzHXMe9jUWHpYnnG8odVjDWJdRnrDzYBNg22C+xM7CHsBeyH2C+wP+Jg4YjiqOCYwvGNk4tThjOJcw/nFc5/XDxcUlwaXGZcXlxXuONIhwACDyNkeJxjYGRgYPBnyGHgYQABJiDmAkIGhv9gPgMAHD8B3gB4nH2QvU7DMBSFT/qHaAWqBGJgMgsLUvqz0bVSs3foniZ2miqNg+NW6s5z8AQ8R5+Dp2DmxHgpErUl57vfPfcOATDECQGaE+DGvc1p4YrVL7dJ95475CfPXQwQeu7Rv3ru4wULzwPc4Y0bgs41zSPePbdwiw/PbfpPzx3yyXMXD/jy3KP/9tzHKhh6HuA5UHEWmTydF3Fd58lSZvsiNmfurFhJU+e6FJNwfOYjWUoTW5mK9VHUh2xqrRLK6J1Y6NLKotCiMnorExturK1mo5HyPkz0DjEyRDDIkWKOgnXNmyPBEpK9vXPmQu7/zoobjGONEgIT/vfxhXzEfOlmYlh+U86sceRb48CpKa2FYq2Y0diRFm53ky54NU3leluahD7Exk1VmGHEq/7kQ6a46QfFq20TAHicbZJnb9swFEV9YslR7KRx0zbdew+1Tffee6V/gaFomYhMCiRlO/n1ZeM0QIC+Lzzv4fK+C4Ktudasuq3/1zpztElI6TBPxgJdeiyyxAGW6XOQFQ5xmCOscpRjHOcEJznFac5wlnOc5wIXucRlrnCVa1znBje5Rc5t7nCXNe5xnwc85BGPecJTnvGcF7zkFa95w1ve8Z4PfOQTn/nCV77xnR/85Bfr/G71RFk6VYqgrekI5+zEt4WXHSmMVFUqh8KFvhwqublhp/kOqGJ1b6BNoYJyI21EUCt748bsKhelrazLax0b14lNMzLzs8N3pTXBCRlUkUhbb6XSWe/bsglJIYJICuVlpqa1iDuKBbWlcl8JP+ztUb7WjtwZ6CpGSAfa+ZCUTtdp6WxTL+3LlsQLIanUIHQqbWKy+cqKQpsyG4mpHultlYyUabKo3unSCI1PjJqGxFijesaGXFSVnagiraOXatfapLUe25DUVeOz2qmxto3vu+hr840mBGtyOxgs7x+Y1OlyGBIvxqrrR9EzL+zE7OLfhL0Z7siyGTd1EuIbZo2Zpe/+g3wNQYlDEdBYDBM8koohm2wwjV+lYERDzRYDthm3Wn8ABT67hQAA\") format(\"woff\"),url(\"data:application/x-font-ttf;charset=utf-8;base64,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AAAAdAAAADoAAAB1AAAAdQAAAEkAAAB2AAAAdgAAAE4AAAB3AAAAdwAAAD4AAAB4AAAAeAAAAEUAAAB5AAAAeQAAAEsAAAB6AAAAegAAAE0AAPEBAADxAQAAAAEAAPECAADxAgAAAAIAAPEDAADxAwAAAAMAAPEEAADxBAAAAAQAAPEFAADxBQAAAAUAAPEGAADxBgAAAAYAAPEHAADxBwAAAAcAAPEIAADxCAAAAAgAAPEJAADxCQAAAAkAAPEKAADxCgAAAAoAAPELAADxCwAAAAsAAPEMAADxDAAAAAwAAPENAADxDQAAAA0AAPEOAADxDgAAAA4AAPEPAADxDwAAAA8AAPEQAADxEAAAABAAAPERAADxEQAAABEAAPESAADxEgAAABIAAPETAADxEwAAABMAAPEUAADxFAAAABUAAPEVAADxFQAAABYAAPEWAADxFgAAABcAAPEXAADxFwAAABgAAPEYAADxGAAAABkAAPEZAADxGQAAABoAAPEaAADxGgAAABsAAPEbAADxGwAAABwAAPEcAADxHAAAAB0AAPEdAADxHQAAAB4AAPEeAADxHgAAAB8AAPEfAADxHwAAACAAAPEgAADxIAAAACEAAPEhAADxIQAAACIAAPEiAADxIgAAACMAAPEjAADxIwAAACQAAPEkAADxJAAAACUAAPElAADxJQAAACYAAPEmAADxJgAAACcAAPEnAADxJwAAACgAAPEoAADxKAAAACkAAPEpAADxKQAAACoAAPEqAADxKgAAACsAAPErAADxKwAAACwAAPEsAADxLAAAAC0AAPEtAADxLQAAAC4AAPEuAADxLgAAAC8AAPEvAADxLwAAADAAAPEwAADxMAAAADEAAPExAADxMQAAADIAAPEyAADxMgAAADMAAPEzAADxMwAAADEAAPE0AADxNAAAACIAAPE1AADxNQAAAC8AAPE2AADxNgAAADQAAAAAABgAUgBqAIQA0AEUAVQBjAG+AdQCAAJIAmwCjgMUA2YDfgO+BCQEigTmBPwFFgViBaYF+AYQBigG0AcCB1QHcAfCB9AH4ggECFoIeAiUCPYJCgkcCWIJvAnUCf4KDAoaCigKNgpKCtQLXgteC14LXgteC14LXgteC14LXgteC14LXgteC14LXgteC14LXgteC14LXgteC14LXgteAAEAAAAAAzYDawAJ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AHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPAQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETARQBFQEWARcBGAEZARoBGwEcAR0BHgEfASABIQEiASMBJAElASYBJwEoASkBKgErASwBLQEuAS8BMAExATIBMwE0ATUBNgE3ATgBOQE6ATsBPAE9AT4BPwFAAUEBQgFDAUQBRQFGAUcBSAFJAUoBSwFMAU0BTgFPAVAAC2FnZ3JlZ2F0aW9uBmFycm93cwNhc2MGY2FuY2VsBWNoYXJ0EGNoZWNrYm94LWNoZWNrZWQWY2hlY2tib3gtaW5kZXRlcm1pbmF0ZRJjaGVja2JveC11bmNoZWNrZWQMY29sb3ItcGlja2VyBmNvbHVtbgdjb2x1bW5zCmNvbnRyYWN0ZWQEY29weQVjcm9zcwNjdXQEZGF0YQRkZXNjCGV4cGFuZGVkCWV5ZS1zbGFzaAtleWUtc2xhc2gtMQNleWUGZmlsdGVyBWZpcnN0BGdyaXAFZ3JvdXANaW5kZXRlcm1pbmF0ZQRsYXN0BGxlZnQGbGlua2VkB2xvYWRpbmcIbWF4aW1pemUEbWVudQhtaW5pbWl6ZQVtaW51cwRuZXh0BG5vbmULbm90LWFsbG93ZWQFcGFzdGUDcGluBXBpdm90BHBsdXMIcHJldmlvdXMQcmFkaW8tYnV0dG9uLW9mZg9yYWRpby1idXR0b24tb24FcmlnaHQEc2F2ZQpzbWFsbC1kb3duCnNtYWxsLWxlZnQLc21hbGwtcmlnaHQIc21hbGwtdXAEdGljawh1bmxpbmtlZAp1bmxpbmtlZC0xAWEBZwFyAWUBdAFpAW8BbgF3AXMBYwFsAWgBawFiAXgBLQFkAW0BdQFwAXkBZgF6AXYAAAA=\") format(\"truetype\");font-weight:400;font-style:normal}dato-grid{display:block;width:100%;height:100%;overflow:hidden}dato-grid.grid-pagination{padding-bottom:0;display:flex;flex-direction:column}dato-grid.grid-pagination ag-grid-angular{margin-bottom:7px;height:calc(100% - 32px)}.ag-dato-core{width:100%;height:100%}.ag-dato-core .da-grid-icon{display:inline-block;line-height:31px;vertical-align:middle}.ag-dato-core .ag-menu .da-grid-icon svg{vertical-align:middle}.ag-dato-core .ag-header-cell-sortable .ag-sort-none-icon{opacity:0;transition:opacity .2s}.ag-dato-core .ag-header-cell-sortable:hover .ag-sort-none-icon{opacity:1}.ag-dato-core .sort-icon svg{width:14px;height:16px}.ag-dato-core .filter-icon svg{width:13px}.ag-dato-core .menu-icon svg{width:4px;height:14px}.ag-dato-core .menu-auto-size-icon svg,.ag-dato-core .menu-group-icon,.ag-dato-core .menu-pin-icon,.ag-dato-core .menu-un-group-icon{width:16px;height:16px}.ag-dato-core .menu-check-icon svg{width:15px;height:18px}.ag-dato-core .group-contracted-icon,.ag-dato-core .group-expanded-icon{width:7px}.ag-dato-core .group-expanded-icon{transform:rotate(90deg)}"]
5878
5871
  }),
5879
5872
  __metadata("design:paramtypes", [DatoGridHelper,
5880
5873
  ElementRef,
@@ -8674,8 +8667,9 @@ var DatoSelectComponent = /** @class */ (function (_super) {
8674
8667
  DatoSelectComponent.prototype.writeValue = function (activeOptions) {
8675
8668
  this._model = activeOptions ? coerceArray$1(activeOptions) : [];
8676
8669
  if (this.options) {
8670
+ var overTheLimit = this.limitSelectedTo && this.isMulti && this._model.length >= this.limitSelectedTo;
8677
8671
  this.markAsActive(this._model, { deselectAll: true });
8678
- this.limitSelectedTo && this.updateDisabledState();
8672
+ overTheLimit && this.updateDisabledState();
8679
8673
  }
8680
8674
  /** For later updates */
8681
8675
  this.cdr.markForCheck();
@@ -8803,6 +8797,7 @@ var DatoSelectComponent = /** @class */ (function (_super) {
8803
8797
  };
8804
8798
  DatoSelectComponent.prototype.removeOption = function (option) {
8805
8799
  var _this = this;
8800
+ var updateDisabled = this.limitSelectedTo && this._model.length === this.limitSelectedTo;
8806
8801
  this._model = this._model.filter(function (current) { return current[_this.idKey] !== option[_this.idKey]; });
8807
8802
  var optionToRemove = this.options.find(function (datoOption) { return datoOption.option && datoOption.option[_this.idKey] === option[_this.idKey]; });
8808
8803
  /**
@@ -8812,7 +8807,7 @@ var DatoSelectComponent = /** @class */ (function (_super) {
8812
8807
  if (optionToRemove) {
8813
8808
  optionToRemove.active = false;
8814
8809
  }
8815
- this.limitSelectedTo && this.updateDisabledState();
8810
+ updateDisabled && this.updateDisabledState();
8816
8811
  this.onChange(this._model);
8817
8812
  this.cdr.markForCheck();
8818
8813
  this.asyncUpdateDropdownPosition();
@@ -9160,6 +9155,9 @@ var DatoSelectComponent = /** @class */ (function (_super) {
9160
9155
  if (!datoOption) {
9161
9156
  return;
9162
9157
  }
9158
+ var modelLength = this._model.length;
9159
+ var updateDisabled = this.limitSelectedTo &&
9160
+ (modelLength === this.limitSelectedTo || (modelLength === this.limitSelectedTo - 1 && !datoOption.active));
9163
9161
  datoOption.active = !datoOption.active;
9164
9162
  var rawOption = datoOption.option;
9165
9163
  if (datoOption.active) {
@@ -9168,7 +9166,7 @@ var DatoSelectComponent = /** @class */ (function (_super) {
9168
9166
  else {
9169
9167
  this._model = this._model.filter(function (current) { return current[_this.idKey] !== rawOption[_this.idKey]; });
9170
9168
  }
9171
- this.limitSelectedTo && this.updateDisabledState();
9169
+ updateDisabled && this.updateDisabledState();
9172
9170
  this.onChange(this._model);
9173
9171
  this.cdr.markForCheck();
9174
9172
  this.asyncUpdateDropdownPosition();
@@ -11904,7 +11902,7 @@ function toolbarActionToContextAction(params) {
11904
11902
  return contextActions;
11905
11903
  }
11906
11904
 
11907
- var DATO_GRID_STORAGE_API = new InjectionToken('DATO_GRID_STORAGE_AP');
11905
+ var DATO_GRID_STORAGE_API = new InjectionToken('DATO_GRID_STORAGE_API');
11908
11906
 
11909
11907
  var defaultEditableColumnRenderer = function (params) {
11910
11908
  return params && params.value ? "<div class=\"value-wrapper ellipsis\">" + params.value + "</div>" : null;
@@ -11926,7 +11924,7 @@ var searchHighlightCellRenderer = function (params, searchTerm, allowHTML) {
11926
11924
  }
11927
11925
  searchTerm = (searchTerm || '').trim();
11928
11926
  return searchTerm
11929
- ? cellValue.replace(new RegExp(searchTerm, 'gi'), function (str) { return "<span class=\"search-highlight\">" + str + "</span>"; })
11927
+ ? cellValue.replace(new RegExp(escapeRegExp(searchTerm), 'gi'), function (str) { return "<span class=\"search-highlight\">" + str + "</span>"; })
11930
11928
  : cellValue;
11931
11929
  };
11932
11930
  var GridMinWidths;
@@ -13534,7 +13532,7 @@ var DatoGridColumnHeaderComponent = /** @class */ (function () {
13534
13532
  Component({
13535
13533
  selector: 'dato-grid-column-header',
13536
13534
  template: "<div class=\"d-flex align-start-center\" [attr.data-auto-id]=\"field + '-column-header'\" [attr.data-field]=\"field\">\n <ng-container *ngIf=\"customTemplates && customTemplates.customHeader as customHeader\">\n <div class=\"mr-5\" [attr.data-auto-id]=\"field + '-dynamic-section'\">\n <ng-container *ngTemplateOutlet=\"customHeader; context: context\"></ng-container>\n </div>\n </ng-container>\n <div class=\"d-flex d-flex-grow align-start-center min-width-0 items-center\">\n <span class=\"dato-simple-bold primary-400-color ellipsis min-width-0 mr-5\" [datoTooltip]=\"headerTooltip\"\n datoTooltipPosition=\"bottom\">{{headerName}}</span>\n <div>\n <dato-icon class=\"primary-300-color\" *ngIf=\"headerInfo\" [datoTooltip]=\"headerInfo\" datoTooltipPosition=\"bottom\" datoIcon=\"question\"></dato-icon>\n </div>\n </div>\n <div class=\"sort-icon opacity-0\" *ngIf=\"params.enableSorting && (sortingInfo$ | async) as sortingInfo\"\n [class.active]=\"sortingInfo.active\">\n <dato-icon width=\"24px\" height=\"16px\" class=\"primary-300-color\"\n [attr.data-auto-id]=\"field + '-sort'\"\n [icon]=\"sortingInfo.icon\"></dato-icon>\n </div>\n <ng-container *ngIf=\"showFilter\">\n <div class=\"filter relative\" *datoSubscribe=\"filterActive$ as filterActive\">\n <dato-icon-button (click.stop)=\"openFilters(filters)\" datoTooltip=\"core.filters\" datoTooltipPosition=\"bottom\"\n datoType=\"none\" [attr.data-auto-id]=\"field + '-filter'\" class=\"filter-icon opacity-0\"\n [class.active]=\"filtersMenuOpen || filterActive\"\n datoSize=\"md\" icon=\"filter\"\n #filters></dato-icon-button>\n <div [class.opacity-100]=\"filterActive\"\n class=\"opacity-0 filter-active-circle accent-400-background-color absolute\"></div>\n </div>\n </ng-container>\n <dato-icon-button *ngIf=\"showMoreMenu\" (click.stop)=\"openMoreMenu(moreMenu)\" datoTooltip=\"core.more-options\" datoTooltipPosition=\"bottom\"\n datoType=\"none\" [attr.data-auto-id]=\"field + '-more-menu'\" [class.active]=\"moreMenuOpen\"\n datoSize=\"md\" icon=\"more-vertical\" #moreMenu></dato-icon-button>\n</div>\n",
13537
- styles: [":host .filter-icon,:host .sort-icon{transition:opacity .25s linear,width .25s ease-in-out;width:0}:host .sort-icon{height:16px}:host .filter-icon.active,:host .sort-icon.active{opacity:1;width:24px}:host:hover .filter-icon,:host:hover .sort-icon{opacity:1;width:24px}:host .filter-active-circle{pointer-events:none;transition:opacity .2s ease-in-out;position:absolute;height:8px;width:8px;top:2px;right:2px;border-radius:4px;border:1px solid #fff}:host ::ng-deep .filter dato-icon-button dato-icon{transition:color .2s ease-in-out}"]
13535
+ styles: [":host{width:100%}:host .filter-icon,:host .sort-icon{transition:opacity .25s linear,width .25s ease-in-out;width:0}:host .sort-icon{height:16px}:host .filter-icon.active,:host .sort-icon.active{opacity:1;width:24px}:host:hover .filter-icon,:host:hover .sort-icon{opacity:1;width:24px}:host .filter-active-circle{pointer-events:none;transition:opacity .2s ease-in-out;position:absolute;height:8px;width:8px;top:2px;right:2px;border-radius:4px;border:1px solid #fff}:host ::ng-deep .filter dato-icon-button dato-icon{transition:color .2s ease-in-out}"]
13538
13536
  }),
13539
13537
  __metadata("design:paramtypes", [ViewContainerRef,
13540
13538
  CustomHeaderControllerService,
@@ -13546,7 +13544,6 @@ var DatoGridColumnHeaderComponent = /** @class */ (function () {
13546
13544
 
13547
13545
  var _a$3;
13548
13546
  var agRowLevelPrefix = 'ag-row-level-';
13549
- var emptyFolderClassName = 'ag-empty-folder';
13550
13547
  function getTime$1(val) {
13551
13548
  var time = new Date(val || null).getTime();
13552
13549
  return isNaN(time) ? 0 : time;
@@ -13591,7 +13588,7 @@ var defaultGridOptions = __assign({
13591
13588
  _a$3[DatoGridColumnTypes.ItemsCount] = __assign(__assign({}, stringColDef), { cellRenderer: 'DatoGridItemsCountCellComponent' }),
13592
13589
  _a$3[DatoGridColumnTypes.Initials] = __assign(__assign({}, stringColDef), { cellRenderer: 'DatoGridInitialsCellComponent' }),
13593
13590
  _a$3[DatoGridColumnTypes.Avatar] = __assign(__assign({}, stringColDef), { cellRenderer: 'DatoGridAvatarCellComponent' }),
13594
- _a$3), multiSortKey: 'ctrl', suppressPaginationPanel: true, pagination: true, deltaColumnMode: true, loadingOverlayComponentFramework: DatoGridV2LoaderComponent, noRowsOverlayComponentFramework: DatoGridV2NoDataOverlayComponent, defaultColDef: {
13591
+ _a$3), multiSortKey: 'ctrl', suppressPaginationPanel: true, pagination: true, paginateChildRows: true, deltaColumnMode: true, loadingOverlayComponentFramework: DatoGridV2LoaderComponent, noRowsOverlayComponentFramework: DatoGridV2NoDataOverlayComponent, defaultColDef: {
13595
13592
  minWidth: GridMinWidths.Default,
13596
13593
  sortable: true,
13597
13594
  resizable: true,
@@ -13619,15 +13616,11 @@ function getGridTreeCellRenderer() {
13619
13616
  var displayName = data[colDef['field']];
13620
13617
  var entityClassName = 'entity-display-name';
13621
13618
  var svgRegistry = colDef.gridService.svgRegistry;
13622
- if (isFolder) {
13623
- setEmptyFolderClass(item.node);
13624
- }
13625
13619
  if (icon) {
13626
13620
  return "<span class=\"dato-simple-bold\"> <span class=\"da-grid-icon folder d-flex\">" + svgRegistry.getSvg(icon) + "</span><span class=\"" + entityClassName + "\"></span> " + displayName + "</span>";
13627
13621
  }
13628
13622
  else {
13629
13623
  if (isFolder) {
13630
- setEmptyFolderClass(item);
13631
13624
  return "<span class=\"" + entityClassName + " dato-simple-bold\">" + displayName + "</span>";
13632
13625
  }
13633
13626
  else {
@@ -13772,6 +13765,9 @@ function onRowDragEnd(_a) {
13772
13765
  var hoveredParentElement = getCellByRowID(potentialParent.id);
13773
13766
  hoveredParentElement && hoveredParentElement.classList.remove(agRowHoverClassName);
13774
13767
  potentialParent = null;
13768
+ /** Redraw the folders that has been dragged from and to,
13769
+ * to apply their classed through classRules config */
13770
+ this.api.redrawRows({ rowNodes: [nodeParent, folderToDropInto] });
13775
13771
  this.api.clearFocusedCell();
13776
13772
  }
13777
13773
  }
@@ -13798,24 +13794,9 @@ function setRowClasses(rows) {
13798
13794
  finally { if (e_1) throw e_1.error; }
13799
13795
  }
13800
13796
  node.classList.add("" + agRowLevelPrefix + row.level);
13801
- if (row.data.isFolder) {
13802
- setEmptyFolderClass(row, node);
13803
- }
13804
13797
  }
13805
13798
  });
13806
13799
  }
13807
- function setEmptyFolderClass(row, node) {
13808
- var currentNode = node || document.querySelectorAll("[row-id=\"" + row.id + "\"]")[0];
13809
- if (!currentNode) {
13810
- return;
13811
- }
13812
- if (size(row.childrenAfterGroup) === 0) {
13813
- currentNode.classList.add(emptyFolderClassName);
13814
- }
13815
- else {
13816
- currentNode.classList.remove(emptyFolderClassName);
13817
- }
13818
- }
13819
13800
  function onRowSelected(params) {
13820
13801
  if (updatingCheckboxesProgrammatically) {
13821
13802
  return;
@@ -14005,8 +13986,9 @@ var DatoGridMultiSelectColumnHeaderComponent = /** @class */ (function () {
14005
13986
  DatoGridMultiSelectColumnHeaderComponent = __decorate([
14006
13987
  Component({
14007
13988
  selector: 'dato-grid-multi-select-column-header',
14008
- template: "<dato-checkbox class=\"mt-5\" [formControl]=\"checkboxControl\" [indeterminatelyChecked]=\"indeterminatelyChecked\"></dato-checkbox>",
14009
- changeDetection: ChangeDetectionStrategy.OnPush
13989
+ template: "<dato-checkbox [formControl]=\"checkboxControl\" [indeterminatelyChecked]=\"indeterminatelyChecked\"></dato-checkbox>",
13990
+ changeDetection: ChangeDetectionStrategy.OnPush,
13991
+ styles: [":host{height:100%;display:flex;align-items:center}"]
14010
13992
  }),
14011
13993
  __metadata("design:paramtypes", [GridService, GridQuery, ChangeDetectorRef])
14012
13994
  ], DatoGridMultiSelectColumnHeaderComponent);
@@ -14024,7 +14006,7 @@ var GridService = /** @class */ (function () {
14024
14006
  this.logger = logger;
14025
14007
  this.treeConfig = defaultGridTreeLabel;
14026
14008
  this.pageNumberToReturnAfterRefresh = -1;
14027
- this.updateGridActionsSubject = new Subject();
14009
+ this.reloadGridActionsSubject = new Subject();
14028
14010
  this.CHECKBOX_SELECTION_COL_ID = 'grid-checkbox-selection';
14029
14011
  }
14030
14012
  Object.defineProperty(GridService.prototype, "treeData", {
@@ -14057,11 +14039,11 @@ var GridService = /** @class */ (function () {
14057
14039
  ? context
14058
14040
  : deepmerge(this.gridRef.gridOptions.context || {}, context);
14059
14041
  };
14060
- GridService.prototype.updateGridActions = function () {
14061
- this.updateGridActionsSubject.next(true);
14042
+ GridService.prototype.reloadGridActions = function () {
14043
+ this.reloadGridActionsSubject.next();
14062
14044
  };
14063
- GridService.prototype.getUpdateGridActionsStatus = function () {
14064
- return this.updateGridActionsSubject.asObservable();
14045
+ GridService.prototype.onReloadGridActions = function () {
14046
+ return this.reloadGridActionsSubject.asObservable();
14065
14047
  };
14066
14048
  /**
14067
14049
  * @deprecated use selectRows instead
@@ -14173,26 +14155,41 @@ var GridService = /** @class */ (function () {
14173
14155
  this.loadSavedSettings(savedSettings);
14174
14156
  }
14175
14157
  };
14158
+ GridService.prototype.initGridOptions = function (gridOptions) {
14159
+ var options = __assign({}, gridOptions);
14160
+ if (typeof gridOptions.enableSearch === 'undefined') {
14161
+ options.enableSearch = options.enableV2_1;
14162
+ }
14163
+ if (typeof gridOptions.enableBackground === 'undefined') {
14164
+ options.enableBackground = options.enableV2_1;
14165
+ }
14166
+ if (typeof gridOptions.showMultiSelectionCheckboxes === 'undefined') {
14167
+ options.showMultiSelectionCheckboxes =
14168
+ gridOptions.enableV2_1 && options.rowSelection !== GridRowSelectionType.SINGLE;
14169
+ }
14170
+ if (typeof gridOptions.enableSearchHighlight === 'undefined') {
14171
+ options.enableSearchHighlight = options.enableSearch && defaultGridOptions.enableSearchHighlight;
14172
+ }
14173
+ if (gridOptions.usePivotGridStyle) {
14174
+ var rowHeight_1 = 30;
14175
+ options.rowHeight = rowHeight_1;
14176
+ options.defaultColDef = __assign(__assign({}, options.defaultColDef), { cellClassRules: this.getPivotModeCellClassRules(), headerClass: this.getPivotHeaderClass.bind(this), cellStyle: function (params) {
14177
+ var style = { lineHeight: rowHeight_1 + "px" };
14178
+ if (params.colDef.type === DatoGridColumnTypes.Number) {
14179
+ style.textAlign = 'end';
14180
+ }
14181
+ return style;
14182
+ } });
14183
+ options.autoGroupColumnDef = __assign(__assign({}, options.autoGroupColumnDef), { cellClassRules: this.getPivotModeCellClassRules(), headerClass: this.getPivotHeaderClass.bind(this) });
14184
+ }
14185
+ return options;
14186
+ };
14176
14187
  GridService.prototype.normalizeOptions = function (params) {
14177
14188
  var _this = this;
14178
14189
  this.customHeadersTemplates = params.customHeadersTemplates;
14179
14190
  var headerComponentParams = { gridService: this, gridQuery: this.gridQuery };
14180
14191
  params.gridOptions.autoGroupColumnDef = __assign(__assign({}, headerComponentParams), params.gridOptions.autoGroupColumnDef);
14181
14192
  params.gridOptions.defaultColDef = __assign(__assign({}, params.gridOptions.defaultColDef), { headerComponentParams: headerComponentParams });
14182
- if (typeof params.gridOptions.enableSearch === 'undefined') {
14183
- params.gridOptions.enableSearch = params.gridOptions.enableV2_1;
14184
- }
14185
- if (typeof params.gridOptions.enableBackground === 'undefined') {
14186
- params.gridOptions.enableBackground = params.gridOptions.enableV2_1;
14187
- }
14188
- if (typeof params.gridOptions.showMultiSelectionCheckboxes === 'undefined') {
14189
- params.gridOptions.showMultiSelectionCheckboxes =
14190
- params.gridOptions.enableV2_1 && params.gridOptions.rowSelection !== GridRowSelectionType.SINGLE;
14191
- }
14192
- if (typeof params.gridOptions.enableSearchHighlight === 'undefined') {
14193
- params.gridOptions.enableSearchHighlight =
14194
- params.gridOptions.enableSearch && defaultGridOptions.enableSearchHighlight;
14195
- }
14196
14193
  params.gridOptions.columnDefs = this.normalizeColumns(params.gridOptions.columnDefs, params.gridOptions);
14197
14194
  /** Add core filters */
14198
14195
  params.gridOptions.isExternalFilterPresent = function () { return true; };
@@ -14219,23 +14216,18 @@ var GridService = /** @class */ (function () {
14219
14216
  params.gridOptions.saveSettings = saveSettings !== false && !isNil(gridName);
14220
14217
  /** Server Side Pagination for select all option */
14221
14218
  this.initOnRowSelectedForServerSidePagination(params);
14219
+ /** Add tree grid specific required settings */
14220
+ if (this.isTreeData) {
14221
+ var inputRowClassRules = params.gridOptions.rowClassRules;
14222
+ params.gridOptions.rowClassRules = __assign(__assign({}, inputRowClassRules), { 'ag-empty-folder': function (params) {
14223
+ return params.data.isFolder && size(params.node.childrenAfterGroup) === 0;
14224
+ } });
14225
+ }
14222
14226
  /** Add pivot specific required settings */
14223
- if (params.gridOptions.pivotMode) {
14227
+ if (this.isPivotMode) {
14224
14228
  this.initPivotSecondaryColsProcess(params);
14225
14229
  params.gridOptions.saveSettings = false;
14226
14230
  }
14227
- if (params.gridOptions.usePivotGridStyle) {
14228
- var rowHeight_1 = 30;
14229
- params.gridOptions.rowHeight = rowHeight_1;
14230
- params.gridOptions.defaultColDef = __assign(__assign({}, params.gridOptions.defaultColDef), { cellClassRules: this.getPivotModeCellClassRules(), headerClass: this.getPivotHeaderClass.bind(this), cellStyle: function (params) {
14231
- var style = { lineHeight: rowHeight_1 + "px" };
14232
- if (params.colDef.type === DatoGridColumnTypes.Number) {
14233
- style.textAlign = 'end';
14234
- }
14235
- return style;
14236
- } });
14237
- params.gridOptions.autoGroupColumnDef = __assign(__assign({}, params.gridOptions.autoGroupColumnDef), { cellClassRules: this.getPivotModeCellClassRules(), headerClass: this.getPivotHeaderClass.bind(this) });
14238
- }
14239
14231
  return params.gridOptions;
14240
14232
  };
14241
14233
  GridService.prototype.getPivotHeaderClass = function (params) {
@@ -14320,8 +14312,9 @@ var GridService = /** @class */ (function () {
14320
14312
  colId: this.CHECKBOX_SELECTION_COL_ID,
14321
14313
  checkboxSelection: true,
14322
14314
  headerComponentFramework: DatoGridMultiSelectColumnHeaderComponent,
14323
- width: 30,
14324
- maxWidth: 30,
14315
+ minWidth: 29,
14316
+ width: 29,
14317
+ maxWidth: 29,
14325
14318
  suppressSizeToFit: true,
14326
14319
  cellClass: 'checkbox-selection-cell',
14327
14320
  headerClass: 'header-checkbox-selection-cell',
@@ -14558,8 +14551,7 @@ var GridService = /** @class */ (function () {
14558
14551
  this.updateSettings({ gridAlignment: gridAlignment, columnsSizes: null });
14559
14552
  };
14560
14553
  GridService.prototype.saveSettingsToServer = function (settings) {
14561
- var isGlobal = this.gridQuery.getGridOptions().isGlobalSettings;
14562
- this.storageAPI.set(this.gridName, settings, isGlobal);
14554
+ this.storageAPI.set(this.gridName, settings);
14563
14555
  };
14564
14556
  /**
14565
14557
  * @internal used to log grid events to the platform's logging service
@@ -14672,8 +14664,8 @@ var GridService = /** @class */ (function () {
14672
14664
  var _b = __read(_a, 1), row = _b[0];
14673
14665
  var rawValue = _this.api.grid.getValue(column.getColId(), row);
14674
14666
  var formatter = column.getColDef().valueFormatter;
14675
- var value = formatter ? formatter(rawValue) : rawValue;
14676
- copyToClipboard(value);
14667
+ var value = formatter && typeof formatter !== 'string' ? formatter(rawValue) : rawValue;
14668
+ writeToClipboard(value);
14677
14669
  };
14678
14670
  if (node.isSelected()) {
14679
14671
  selected = _this.gridQuery.getSelectedRowNodes();
@@ -15107,8 +15099,8 @@ var GridService = /** @class */ (function () {
15107
15099
  * Refer docs - https://www.ag-grid.com/angular-data-grid/cell-styles/#cell-class-rules */
15108
15100
  GridService.prototype.getPivotModeCellClassRules = function () {
15109
15101
  return {
15110
- 'primary-0-background-color': this.isLeafGroupEvenCell.bind(this),
15111
- 'primary-100-background-color pointer dato-simple-bold': this.isRowGroupValuedCell.bind(this)
15102
+ 'even-row-group-leaf-cell': this.isLeafGroupEvenCell.bind(this),
15103
+ 'row-group-root-cell': this.isRowGroupValuedCell.bind(this)
15112
15104
  };
15113
15105
  };
15114
15106
  GridService.prototype.isLeafGroupEvenCell = function (params) {
@@ -15549,8 +15541,8 @@ var DatoGridControllerComponent = /** @class */ (function () {
15549
15541
  this.onGridChange = new EventEmitter();
15550
15542
  this.rowActions = [];
15551
15543
  this.gridActions = [];
15552
- this.contentInit = new Subject();
15553
15544
  this.gridReady$ = this.gridQuery.gridReady$;
15545
+ this.contentInit = new Subject();
15554
15546
  this.gridElements = {
15555
15547
  centerViewport: null,
15556
15548
  centerContainer: null,
@@ -15563,7 +15555,7 @@ var DatoGridControllerComponent = /** @class */ (function () {
15563
15555
  return this._gridOptions;
15564
15556
  },
15565
15557
  set: function (gridOptions) {
15566
- this._gridOptions = gridOptions;
15558
+ this._gridOptions = this.gridService.initGridOptions(gridOptions);
15567
15559
  this.gridService.treeData = gridOptions.treeData;
15568
15560
  this.gridService.isPivotMode = gridOptions.pivotMode;
15569
15561
  if (this.agGridEl) {
@@ -15584,9 +15576,12 @@ var DatoGridControllerComponent = /** @class */ (function () {
15584
15576
  this.rowHoverComponent && this.rowHoverComponent.destroy();
15585
15577
  this.rowHoverComponent = null;
15586
15578
  };
15587
- DatoGridControllerComponent.prototype.ngAfterContentInit = function () {
15588
- this.contentInit.next();
15589
- this.contentInit.complete();
15579
+ DatoGridControllerComponent.prototype.initializeGrid = function (agGrid, agGridEl) {
15580
+ if (!this.contentInit.isStopped) {
15581
+ this._initializeGrid(agGrid, agGridEl);
15582
+ this.contentInit.next();
15583
+ this.contentInit.complete();
15584
+ }
15590
15585
  };
15591
15586
  /* @internal */
15592
15587
  DatoGridControllerComponent.prototype._initializeGrid = function (agGrid, agGridEl) {
@@ -15597,10 +15592,7 @@ var DatoGridControllerComponent = /** @class */ (function () {
15597
15592
  .pipe(switchMap(function () {
15598
15593
  _this.gridOptions = _this.normalizeOptions();
15599
15594
  agGrid.gridOptions = _this.gridOptions;
15600
- var isGlobal = _this.gridOptions.isGlobalSettings;
15601
- var settingsLoader = _this.gridOptions.saveSettings === false
15602
- ? of(null)
15603
- : _this.storageAPI.get(_this.gridOptions.gridName, isGlobal);
15595
+ var settingsLoader = _this.gridOptions.saveSettings === false ? of(null) : _this.storageAPI.get(_this.gridOptions.gridName);
15604
15596
  return combineLatest([agGrid.gridReady, settingsLoader]);
15605
15597
  }), untilDestroyed(this))
15606
15598
  .subscribe(function (_a) {
@@ -15631,12 +15623,6 @@ var DatoGridControllerComponent = /** @class */ (function () {
15631
15623
  });
15632
15624
  };
15633
15625
  DatoGridControllerComponent.prototype.normalizeOptions = function () {
15634
- /**
15635
- * When treeData is enabled, Pagination must be turned off
15636
- */
15637
- if (this.gridOptions.treeData) {
15638
- this.gridOptions = __assign(__assign({}, this.gridOptions), { pagination: false });
15639
- }
15640
15626
  var params = {
15641
15627
  gridOptions: this.gridOptions,
15642
15628
  customHeadersTemplates: this.customHeadersTemplates,
@@ -16051,8 +16037,10 @@ var DatoGridV2Component = /** @class */ (function () {
16051
16037
  }
16052
16038
  Object.defineProperty(DatoGridV2Component.prototype, "grid", {
16053
16039
  set: function (agGrid) {
16054
- var agGridEl = query('ag-grid-angular', this.host.nativeElement);
16055
- this.controller._initializeGrid(agGrid, agGridEl);
16040
+ if (agGrid) {
16041
+ var agGridEl = query('ag-grid-angular', this.host.nativeElement);
16042
+ this.controller.initializeGrid(agGrid, agGridEl);
16043
+ }
16056
16044
  },
16057
16045
  enumerable: true,
16058
16046
  configurable: true
@@ -16090,9 +16078,9 @@ var DatoGridV2Component = /** @class */ (function () {
16090
16078
  { type: ElementRef }
16091
16079
  ]; };
16092
16080
  __decorate([
16093
- ViewChild(AgGridNg2, { static: true }),
16094
- __metadata("design:type", AgGridNg2),
16095
- __metadata("design:paramtypes", [AgGridNg2])
16081
+ ViewChild(AgGridAngular, { static: false }),
16082
+ __metadata("design:type", AgGridAngular),
16083
+ __metadata("design:paramtypes", [AgGridAngular])
16096
16084
  ], DatoGridV2Component.prototype, "grid", null);
16097
16085
  DatoGridV2Component = __decorate([
16098
16086
  Component({
@@ -16100,7 +16088,7 @@ var DatoGridV2Component = /** @class */ (function () {
16100
16088
  template: "<ag-grid-angular data-auto-id=\"grid\" class=\"dato-grid ag-theme-material\" [class.has-background]=\"enableBackground\" [class.enable-v2_1]=\"enableV2_1\"\n [class.with-multi-selection-col]=\"gridOptions?.showMultiSelectionCheckboxes\" [class.pivot-style]=\"isPivotStyle\">\n</ag-grid-angular>\n<dato-grid-pagination-v2 [class.has-background]=\"enableBackground\"></dato-grid-pagination-v2>\n",
16101
16089
  changeDetection: ChangeDetectionStrategy.OnPush,
16102
16090
  encapsulation: ViewEncapsulation.None,
16103
- styles: ["dato-grid-v2{flex-grow:1;display:flex;flex-direction:column;position:relative}dato-grid-v2 .dato-grid,dato-grid-v2 dato-grid-pagination-v2{position:absolute;left:0;right:0;bottom:0}dato-grid-v2 .dato-grid{top:0;bottom:50px}dato-grid-v2 .grid-hover-actions{position:absolute;z-index:2;transition:opacity .2s ease-in-out}dato-grid-v2 .ag-row-drag{width:initial!important}dato-grid-v2 .da-grid-icon{display:inline-block;line-height:31px;vertical-align:middle;width:initial;height:initial}dato-grid-v2 .da-grid-icon.drag{width:14px;height:14px;margin-right:6px;opacity:0;transition:opacity .3s;transform:translateY(-50%)}dato-grid-v2 .da-grid-icon.folder{width:18px;height:35px;margin:0 8px}dato-grid-v2 .ag-row.ag-row-hover .da-grid-icon.drag{opacity:1}dato-grid-v2 ag-grid-angular.tree .ag-group-contracted,dato-grid-v2 ag-grid-angular.tree .ag-group-expanded{display:inline-block;width:18px;text-align:center}dato-grid-v2 ag-grid-angular.tree .ag-group-checkbox{display:none}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-empty-folder .folder{margin-left:26px}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-1 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 1)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-1{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-2 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 2)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-2{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-3 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 3)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-3{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-4 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 4)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-4{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row div[col-id=ag-Grid-AutoColumn]{padding-left:0}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell{display:flex;align-items:center}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell .ag-group-value>span{display:inline-block;vertical-align:middle}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell .initials{border-radius:50%;padding:4px;margin-right:8px;margin-left:20px;width:28px;height:28px;display:inline-block;text-align:center}dato-grid-v2 ag-grid-angular.tree .ag-row-group-leaf-indent{margin-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-selection-checkbox .ag-icon-checkbox-indeterminate:before{text-align:center;content:'-';display:inline-block;position:absolute;top:0;left:0;right:0;bottom:0;line-height:.5;color:#fff}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell{line-height:33px}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell.dato-editable-cell{line-height:29px}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell.ag-cell-inline-editing{height:35px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell{line-height:42px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell.dato-editable-cell{line-height:38px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell.ag-cell-inline-editing{height:44px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell{line-height:48px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell.dato-editable-cell{line-height:44px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell.ag-cell-inline-editing{height:50px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell{line-height:57px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell.dato-editable-cell{line-height:53px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell.ag-cell-inline-editing{height:59px}dato-grid-v2 ag-grid-angular .ag-cell.checkbox-selection-cell{display:flex}dato-grid-v2 .ag-menu .da-grid-icon svg{vertical-align:middle}dato-grid-v2 .ag-header-cell-sortable .ag-sort-none-icon{opacity:0;transition:opacity .2s}dato-grid-v2 .ag-header-cell-sortable:hover .ag-sort-none-icon{opacity:1}dato-grid-v2 .group-contracted-icon,dato-grid-v2 .group-expanded-icon{width:7px}dato-grid-v2 .group-expanded-icon{transform:rotate(90deg)}dato-grid-v2 .dato-grid .ag-cell{border-top:0;border-bottom:0}dato-grid-v2 .ag-overlay-wrapper ng-component{display:flex}.ag-dnd-ghost{min-width:100px;border:none;display:flex;justify-content:flex-start;align-content:center;align-items:center;cursor:-webkit-grabbing;cursor:grabbing;z-index:10000000}.ag-dnd-ghost .da-grid-icon.column-move-hide svg{height:18px;width:18px}.ag-dnd-ghost .da-grid-icon.column-move svg,.ag-dnd-ghost .da-grid-icon.column-move-pin svg{height:16px;width:16px}"]
16091
+ styles: ["dato-grid-v2{flex-grow:1;display:flex;flex-direction:column;position:relative}dato-grid-v2 .dato-grid,dato-grid-v2 dato-grid-pagination-v2{position:absolute;left:0;right:0;bottom:0}dato-grid-v2 .dato-grid{top:0;bottom:50px}dato-grid-v2 .grid-hover-actions{position:absolute;z-index:2;transition:opacity .2s ease-in-out}dato-grid-v2 .ag-row-drag{width:initial!important;min-width:auto!important}dato-grid-v2 .da-grid-icon{display:inline-block;line-height:31px;vertical-align:middle;width:initial;height:initial}dato-grid-v2 .da-grid-icon.drag{width:14px;height:14px;margin-right:6px;opacity:0;transition:opacity .3s;transform:translateY(-50%)}dato-grid-v2 .da-grid-icon.folder{width:18px;height:35px;margin:0 8px}dato-grid-v2 .ag-row.ag-row-hover .da-grid-icon.drag{opacity:1}dato-grid-v2 ag-grid-angular.tree .ag-group-contracted,dato-grid-v2 ag-grid-angular.tree .ag-group-expanded{display:inline-block;width:18px;text-align:center}dato-grid-v2 ag-grid-angular.tree .ag-group-checkbox{display:none}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-empty-folder .folder{margin-left:26px}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-1 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 1)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-1{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-2 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 2)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-2{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-3 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 3)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-3{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-4 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 4)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-4{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row div[col-id=ag-Grid-AutoColumn]{padding-left:0}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell{display:flex;align-items:center}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell .ag-group-value>span{display:inline-block;vertical-align:middle}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell .initials{border-radius:50%;padding:4px;margin-right:8px;margin-left:20px;width:28px;height:28px;display:inline-block;text-align:center}dato-grid-v2 ag-grid-angular.tree .ag-row-group-leaf-indent{margin-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-selection-checkbox .ag-icon-checkbox-indeterminate:before{text-align:center;content:'-';display:inline-block;position:absolute;top:0;left:0;right:0;bottom:0;line-height:.5;color:#fff}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell{line-height:33px}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell.dato-editable-cell{line-height:29px}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell.ag-cell-inline-editing{height:35px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell{line-height:42px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell.dato-editable-cell{line-height:38px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell.ag-cell-inline-editing{height:44px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell{line-height:48px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell.dato-editable-cell{line-height:44px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell.ag-cell-inline-editing{height:50px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell{line-height:57px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell.dato-editable-cell{line-height:53px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell.ag-cell-inline-editing{height:59px}dato-grid-v2 ag-grid-angular .ag-cell.checkbox-selection-cell{display:flex;padding-right:0}dato-grid-v2 .ag-menu .da-grid-icon svg{vertical-align:middle}dato-grid-v2 .ag-header-cell-sortable .ag-sort-none-icon{opacity:0;transition:opacity .2s}dato-grid-v2 .ag-header-cell-sortable:hover .ag-sort-none-icon{opacity:1}dato-grid-v2 .group-contracted-icon,dato-grid-v2 .group-expanded-icon{width:7px}dato-grid-v2 .group-expanded-icon{transform:rotate(90deg)}dato-grid-v2 .dato-grid .ag-cell{border-top:0;border-bottom:0}dato-grid-v2 .ag-overlay-wrapper ng-component{display:flex}.ag-dnd-ghost{min-width:100px;border:none;display:flex;justify-content:flex-start;align-content:center;align-items:center;cursor:-webkit-grabbing;cursor:grabbing;z-index:10000000}.ag-dnd-ghost .da-grid-icon.column-move-hide svg{height:18px;width:18px}.ag-dnd-ghost .da-grid-icon.column-move svg,.ag-dnd-ghost .da-grid-icon.column-move-pin svg{height:16px;width:16px}"]
16104
16092
  }),
16105
16093
  __metadata("design:paramtypes", [DatoGridControllerComponent, ElementRef])
16106
16094
  ], DatoGridV2Component);
@@ -16895,19 +16883,7 @@ var DatoGridV2ToolbarComponent = /** @class */ (function () {
16895
16883
  });
16896
16884
  this.registerGroupListeners();
16897
16885
  this.subscribeRowsSelectionData();
16898
- this.subscribeUpdateGridActions();
16899
- };
16900
- DatoGridV2ToolbarComponent.prototype.getCellValueChangeEvent = function () {
16901
- var _this = this;
16902
- return this.gridController.gridQuery.waitForGrid(function () {
16903
- return _this.gridQuery.gridRef.cellValueChanged.pipe(debounceTime(100), untilDestroyed(_this));
16904
- });
16905
- };
16906
- DatoGridV2ToolbarComponent.prototype.getRowDataUpdatedEvent = function () {
16907
- var _this = this;
16908
- return this.gridController.gridQuery.waitForGrid(function () {
16909
- return _this.gridQuery.gridRef.rowDataUpdated.pipe(debounceTime(100), untilDestroyed(_this));
16910
- });
16886
+ this.subscribeReloadGridActions();
16911
16887
  };
16912
16888
  DatoGridV2ToolbarComponent.prototype.onActionClick = function (action) {
16913
16889
  if (isFunction(action.onClick)) {
@@ -17163,9 +17139,9 @@ var DatoGridV2ToolbarComponent = /** @class */ (function () {
17163
17139
  _this.cdr.detectChanges();
17164
17140
  });
17165
17141
  };
17166
- DatoGridV2ToolbarComponent.prototype.subscribeUpdateGridActions = function () {
17142
+ DatoGridV2ToolbarComponent.prototype.subscribeReloadGridActions = function () {
17167
17143
  var _this = this;
17168
- this.gridService.getUpdateGridActionsStatus().subscribe(function () {
17144
+ this.gridService.onReloadGridActions().subscribe(function () {
17169
17145
  _this.initGridActions();
17170
17146
  });
17171
17147
  };
@@ -20659,9 +20635,9 @@ var DatoGridInitialsCellComponent = /** @class */ (function () {
20659
20635
  DatoGridInitialsCellComponent = __decorate([
20660
20636
  Component({
20661
20637
  selector: 'dato-grid-initials-cell',
20662
- template: "<div *ngIf=\"!isGroup\" class=\"height-100 d-flex items-center primary-500-color initials-container\">\n <div *ngIf=\"initials\" class=\"initials text-center mr-12\" [class.bold]=\"isBold\">{{ initials }}</div>\n <div [class.bold]=\"isBold\">{{text}}</div>\n</div>\n\n<span *ngIf=\"isGroup\">{{text}}</span>\n",
20638
+ template: "<div *ngIf=\"!isGroup\" class=\"height-100 d-flex items-center primary-500-color initials-container\">\n <div *ngIf=\"initials\" class=\"initials text-center mr-12\" [class.bold]=\"isBold\">{{ initials }}</div>\n <div class=\"ellipsis\" [class.bold]=\"isBold\">{{text}}</div>\n</div>\n\n<span *ngIf=\"isGroup\">{{text}}</span>\n",
20663
20639
  changeDetection: ChangeDetectionStrategy.OnPush,
20664
- styles: [".initials-container .initials{width:34px;height:34px;line-height:33px;border-radius:50%;font-size:15px}.initials-container.bold{font-weight:600}"]
20640
+ styles: [".initials-container .initials{width:34px;height:34px;line-height:33px;border-radius:50%;font-size:15px;flex:0 0 auto}.initials-container.bold{font-weight:600}"]
20665
20641
  })
20666
20642
  ], DatoGridInitialsCellComponent);
20667
20643
  return DatoGridInitialsCellComponent;
@@ -20686,9 +20662,9 @@ var DatoGridAvatarCellComponent = /** @class */ (function () {
20686
20662
  DatoGridAvatarCellComponent = __decorate([
20687
20663
  Component({
20688
20664
  selector: 'dato-grid-avatar-cell',
20689
- template: "<div *ngIf=\"!isGroup\" class=\"height-100 d-flex items-center primary-500-color avatar-container\">\n <div *ngIf=\"imageUrl\" [style.background-image]=\"'url(' + imageUrl + ')'\" class=\"avatar text-center mr-12\"></div>\n <div>{{text}}</div>\n</div>\n\n<span *ngIf=\"isGroup\">{{text}}</span>\n",
20665
+ template: "<div *ngIf=\"!isGroup\" class=\"height-100 d-flex items-center primary-500-color avatar-container\">\n <div *ngIf=\"imageUrl\" [style.background-image]=\"'url(' + imageUrl + ')'\" class=\"avatar text-center mr-12\"></div>\n <div class=\"ellipsis\">{{text}}</div>\n</div>\n\n<span *ngIf=\"isGroup\">{{text}}</span>\n",
20690
20666
  changeDetection: ChangeDetectionStrategy.OnPush,
20691
- styles: [".avatar-container .avatar{width:34px;height:34px;border-radius:50%;background-size:contain}"]
20667
+ styles: [".avatar-container .avatar{width:34px;height:34px;border-radius:50%;background-size:contain;flex:0 0 auto}"]
20692
20668
  })
20693
20669
  ], DatoGridAvatarCellComponent);
20694
20670
  return DatoGridAvatarCellComponent;
@@ -21402,40 +21378,6 @@ var DatoEditableHeaderModule = /** @class */ (function () {
21402
21378
  * found in the LICENSE file at https://github.com/datorama/client-core/blob/master/LICENSE
21403
21379
  */
21404
21380
 
21405
- var RichTextService = /** @class */ (function () {
21406
- function RichTextService(http, config) {
21407
- this.http = http;
21408
- this.config = config;
21409
- }
21410
- RichTextService.prototype.getLib = function (appendScriptFunc, appendStyleFunc) {
21411
- if (!this.richTextScript$) {
21412
- this.initLib(appendScriptFunc, appendStyleFunc);
21413
- }
21414
- return this.richTextScript$;
21415
- };
21416
- RichTextService.prototype.initLib = function (appendScriptFunc, appendStyleFunc) {
21417
- this.richTextScript$ = combineLatest([
21418
- this.http
21419
- .get(this.config.paths.richText + "/index.js", { responseType: 'text' })
21420
- .pipe(tap(function (lib) { return appendScriptFunc(lib, 'rich-text-editor'); })),
21421
- this.http
21422
- .get(this.config.paths.richText + "/plugins/autocomplete/plugin.css", { responseType: 'text' })
21423
- .pipe(tap(function (style) { return appendStyleFunc(style, 'tinymce-autocomplete'); }))
21424
- ]).pipe(shareReplay(1));
21425
- };
21426
- RichTextService.ctorParameters = function () { return [
21427
- { type: HttpClient },
21428
- { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] }
21429
- ]; };
21430
- RichTextService.ɵprov = ɵɵdefineInjectable({ factory: function RichTextService_Factory() { return new RichTextService(ɵɵinject(HttpClient), ɵɵinject(DATO_CORE_CONFIG)); }, token: RichTextService, providedIn: "root" });
21431
- RichTextService = __decorate([
21432
- Injectable({ providedIn: 'root' }),
21433
- __param(1, Inject(DATO_CORE_CONFIG)),
21434
- __metadata("design:paramtypes", [HttpClient, Object])
21435
- ], RichTextService);
21436
- return RichTextService;
21437
- }());
21438
-
21439
21381
  /**
21440
21382
  * @license
21441
21383
  * Copyright Datorama. All Rights Reserved.
@@ -21449,20 +21391,20 @@ var getTinymce = function () {
21449
21391
  var ɵ0$3 = getTinymce;
21450
21392
  var DatoRichTextDirective = /** @class */ (function (_super) {
21451
21393
  __extends(DatoRichTextDirective, _super);
21452
- function DatoRichTextDirective(ngZone, richTextService, config, host) {
21394
+ function DatoRichTextDirective(ngZone, http, host, config) {
21453
21395
  var _this = _super.call(this) || this;
21454
21396
  _this.ngZone = ngZone;
21455
- _this.richTextService = richTextService;
21456
- _this.config = config;
21397
+ _this.http = http;
21457
21398
  _this.host = host;
21399
+ _this.config = config;
21458
21400
  _this.autocompleteOptions = {};
21459
21401
  _this.forcePlainTextPasting = false;
21460
21402
  _this.format = 'html';
21461
21403
  _this.isOneLine = false;
21462
21404
  _this.initialValue = '';
21463
- _this.defaultPlugins = 'link fullscreen image lists table autocomplete';
21405
+ _this.defaultPlugins = 'link fullscreen textcolor colorpicker image lists table textpattern autocomplete';
21464
21406
  _this.defaultToolbar = [
21465
- 'fontfamily fontsize forecolor backcolor bold italic underline link',
21407
+ 'fontselect fontsizeselect forecolor backcolor bold italic underline link',
21466
21408
  'alignleft aligncenter alignright alignjustify outdent indent | table numlist bullist | image fullscreen'
21467
21409
  ];
21468
21410
  return _this;
@@ -21488,11 +21430,28 @@ var DatoRichTextDirective = /** @class */ (function (_super) {
21488
21430
  base: this.config.paths.richText,
21489
21431
  query: ''
21490
21432
  };
21491
- this.richTextService
21492
- .getLib(appendScript, appendStyle)
21493
- .pipe(untilDestroyed(this))
21494
- .subscribe(function () {
21495
- _this.init.call(_this);
21433
+ /**
21434
+ * We support only one instance in load time
21435
+ */
21436
+ if (window.tinymce) {
21437
+ this.init.call(this);
21438
+ }
21439
+ else {
21440
+ this.loadLib().subscribe(function (lib) {
21441
+ appendScript(lib, 'rich-text-editor');
21442
+ _this.init.call(_this);
21443
+ _this.loadAutoCompleteStyle();
21444
+ });
21445
+ }
21446
+ };
21447
+ DatoRichTextDirective.prototype.loadLib = function () {
21448
+ return this.http.get(this.config.paths.richText + "/index.js", { responseType: 'text' });
21449
+ };
21450
+ DatoRichTextDirective.prototype.loadAutoCompleteStyle = function () {
21451
+ this.http
21452
+ .get(this.config.paths.richText + "/plugins/autocomplete/plugin.css", { responseType: 'text' })
21453
+ .subscribe(function (style) {
21454
+ appendStyle(style, 'tinymce-autocomplete');
21496
21455
  });
21497
21456
  };
21498
21457
  DatoRichTextDirective.prototype.initEditor = function (_, editor) {
@@ -21516,6 +21475,8 @@ var DatoRichTextDirective = /** @class */ (function (_super) {
21516
21475
  target: this.host.nativeElement,
21517
21476
  width: this.width || 600,
21518
21477
  height: this.height || 300,
21478
+ force_br_newlines: true,
21479
+ force_p_newlines: false,
21519
21480
  resize: 'both',
21520
21481
  branding: false,
21521
21482
  inline: this.inline,
@@ -21523,12 +21484,10 @@ var DatoRichTextDirective = /** @class */ (function (_super) {
21523
21484
  readonly: this.disabled,
21524
21485
  plugins: this.plugins || this.defaultPlugins,
21525
21486
  toolbar: isNil(this.toolbar) ? this.defaultToolbar : this.toolbar,
21526
- font_size_formats: '8px 10px 12px 14px 18px 24px 36px',
21487
+ fontsize_formats: '8px 10px 12px 14px 18px 24px 36px',
21527
21488
  min_width: 480,
21528
21489
  menubar: false,
21529
21490
  autocomplete: this.autocompleteOptions,
21530
- suffix: '.min',
21531
- skin: 'tinymce-5',
21532
21491
  setup: function (editor) {
21533
21492
  _this.editor = editor;
21534
21493
  editor.on('init', function (e) {
@@ -21585,9 +21544,9 @@ var DatoRichTextDirective = /** @class */ (function (_super) {
21585
21544
  var DatoRichTextDirective_1;
21586
21545
  DatoRichTextDirective.ctorParameters = function () { return [
21587
21546
  { type: NgZone },
21588
- { type: RichTextService },
21589
- { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] },
21590
- { type: ElementRef }
21547
+ { type: HttpClient },
21548
+ { type: ElementRef },
21549
+ { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] }
21591
21550
  ]; };
21592
21551
  __decorate([
21593
21552
  Input(),
@@ -21653,9 +21612,10 @@ var DatoRichTextDirective = /** @class */ (function (_super) {
21653
21612
  }
21654
21613
  ]
21655
21614
  }),
21656
- __param(2, Inject(DATO_CORE_CONFIG)),
21615
+ __param(3, Inject(DATO_CORE_CONFIG)),
21657
21616
  __metadata("design:paramtypes", [NgZone,
21658
- RichTextService, Object, ElementRef])
21617
+ HttpClient,
21618
+ ElementRef, Object])
21659
21619
  ], DatoRichTextDirective);
21660
21620
  return DatoRichTextDirective;
21661
21621
  }(BaseCustomControl));
@@ -24178,9 +24138,7 @@ var DatoBreadcrumbsComponent = /** @class */ (function () {
24178
24138
  };
24179
24139
  DatoBreadcrumbsComponent.prototype.initEditableHeader = function () {
24180
24140
  var _this = this;
24181
- this.headerControl.valueChanges
24182
- .pipe(debounceTime(300), untilDestroyed(this))
24183
- .subscribe(function (res) {
24141
+ this.headerControl.valueChanges.pipe(debounceTime(300), untilDestroyed(this)).subscribe(function (res) {
24184
24142
  _this.updateEditableText.emit(res);
24185
24143
  _this.cdr.detectChanges();
24186
24144
  });
@@ -25543,7 +25501,7 @@ function fixNgLeaks() {
25543
25501
  };
25544
25502
  }
25545
25503
 
25546
- window.coreVersion = '22.13.7-rc.';
25504
+ window.coreVersion = '22.14.0';
25547
25505
 
25548
25506
  /**
25549
25507
  * @license
@@ -25557,5 +25515,5 @@ window.coreVersion = '22.13.7-rc.';
25557
25515
  * Generated bundle index. Do not edit.
25558
25516
  */
25559
25517
 
25560
- export { APP_TRANSLATE, AceService, BaseCustomControl, COMPARE_RESULT, CUSTOM_RANGE_ID, ColorPalette, ConfirmationType, ContentRef, ContentType, CustomHeaderControllerService, DATE_PICKER_CONFIG, DATE_PICKER_POPOVER_ID, DATO_CORE_LOGGER, DATO_FORM_ERRORS, DATO_GRID_STORAGE_API, DEFAULT_FORMAT, DEFAULT_GRID_SEARCH_DEBOUNCE_TIME, DatePickerConfig, DatePickerMonthComponent, DateType, DatoAccordionComponent, DatoAccordionContentComponent, DatoAccordionGroupComponent, DatoAccordionHeaderComponent, DatoAccordionModule, DatoAceDirective, DatoAceDraggableDirective, DatoAceModule, DatoActionType, DatoAutoCompleteContentDirective, DatoAutoFocusDirective, DatoAutocompleteComponent, DatoAutocompleteDirective, DatoAutocompleteModule, DatoBreadcrumbsComponent, DatoBreadcrumbsModule, DatoButtonComponent, DatoButtonGroupComponent, DatoButtonGroupModule, DatoButtonModule, DatoCamelCasePipe, DatoCarouselComponent, DatoCarouselItemDirective, DatoCarouselItemElement, DatoCarouselModule, DatoCheckboxComponent, DatoCheckboxModule, DatoClipboardDirective, DatoColorDirective, DatoConfirmationDialogComponent, DatoControlErrorComponent, DatoControlErrorContainerDirective, DatoControlErrorsDirective, DatoCoreError, DatoCoreModule, DatoCustomHeaderTemplateComponent, DatoCustomHeaderTemplateDirective, DatoCustomMoreMenuTemplateDirective, DatoDatePickerContainerComponent, DatoDatePickerModule, DatoDatePickerRangeComponent, DatoDatePickerSingleComponent, DatoDialog, DatoDialogCloseDirective, DatoDialogComponent, DatoDialogContentComponent, DatoDialogDismissDirective, DatoDialogFooterComponent, DatoDialogHeaderComponent, DatoDialogModule, DatoDialogRef, DatoDirectivesModule, DatoDisableControlDirective, DatoDraggableDirective, DatoDynamicContentComponent, DatoDynamicContentModule, DatoEditableHeaderComponent, DatoEditableHeaderModule, DatoFileInputComponent, DatoFileInputDefaultComponent, DatoFileInputModule, DatoFilterConditions, DatoFontDirective, DatoFontIconComponent, DatoFontIconModule, DatoFormSubmitDirective, DatoFormValidationModule, DatoGrid, DatoGridAPI, DatoGridAvatarCellComponent, DatoGridColumnDisplayMenuComponent, DatoGridColumnHeaderComponent, DatoGridColumnHeaderMoreMenuComponent, DatoGridColumnTypes, DatoGridComponent, DatoGridControllerComponent, DatoGridDateFilterOptions, DatoGridFilterComponent, DatoGridFilterOptionsMap, DatoGridFilterSections, DatoGridFilterTypes, DatoGridGroupsMenuComponent, DatoGridHeaderComponent, DatoGridHeaderV2Component, DatoGridInitialsCellComponent, DatoGridItemsCellComponent, DatoGridModule, DatoGridMoreMenuActions, DatoGridNumberFilterOptions, DatoGridOnHoverComponent, DatoGridPaginationComponent, DatoGridPaginationV2Component, DatoGridStatusCellComponent, DatoGridStringFilterOptions, DatoGridToolbarComponent, DatoGridToolbarItemDirective, DatoGridToolbarItemElementDirective, DatoGridV2Component, DatoGridV2LoaderComponent, DatoGridV2Module, DatoGridV2NoDataOverlayComponent, DatoGridV2ToolbarButtonComponent, DatoGridV2ToolbarComponent, DatoGroupComponent, DatoHighlightPipe, DatoHotkeys, DatoHotkeysDirective, DatoHotkeysHelpComponent, DatoHotkeysModule, DatoIconButtonComponent, DatoIconButtonModule, DatoIconComponent, DatoIconModule, DatoInfiniteScrollComponent, DatoInfiniteScrollModule, DatoInputComponent, DatoInputModule, DatoInputNumberComponent, DatoInputNumberDirective, DatoInputNumberModule, DatoKebabCasePipe, DatoLinkButtonComponent, DatoLinkButtonModule, DatoListComponent, DatoListModule, DatoListNoDataComponent, DatoListNoResultComponent, DatoListV2Component, DatoListV2Module, DatoLoaderComponent, DatoLoadersModule, DatoMenuComponent, DatoMenuContentDirective, DatoMenuItemDirective, DatoMenuModule, DatoMenuTriggerForDirective, DatoMultiOptionComponent, DatoMultiOptionV2Component, DatoOperatorTogglerComponent, DatoOperatorTogglerModule, DatoOptionComponent, DatoOptionV2Component, DatoOptionsModule, DatoOriginDirective, DatoOverlay, DatoPageLoaderComponent, DatoPanel, DatoPanelComponent, DatoPanelContentComponent, DatoPanelFooterComponent, DatoPanelHeaderComponent, DatoPanelInternalConfig, DatoPanelModule, DatoPanelRef, DatoPillsComponent, DatoPillsModule, DatoPipesModule, DatoPopover, DatoPopoverComponent, DatoPopoverModule, DatoProgressBarComponent, DatoProgressBarModule, DatoRadioComponent, DatoRadioModule, DatoRichTextDirective, DatoRichTextModule, DatoSearchResultsGroupSortPipe, DatoSearchResultsSortPipe, DatoSearchableContainerComponent, DatoSearchableDirective, DatoSearchableHighlightDirective, DatoSearchableModule, DatoSelectActiveDirective, DatoSelectComponent, DatoSelectEmptyComponent, DatoSelectModule, DatoShortNumberPipe, DatoSliderComponent, DatoSliderModule, DatoSnackbar, DatoSnackbarComponent, DatoSnackbarModule, DatoSortableComponent, DatoSortableHandleDirective, DatoSortableModule, DatoStaticImageSrcDirective, DatoStaticImagesSrcModule, DatoSubscribeContext, DatoSubscribeDirective, DatoTab, DatoTabContent, DatoTabTitle, DatoTabsModule, DatoTabset, DatoTemplatePortal, DatoTextModule, DatoThemesModule, DatoToast, DatoToastComponent, DatoToastModule, DatoTogglerComponent, DatoTogglerModule, DatoTooltipDirective, DatoTooltipV2Directive, DatoTrackByPropPipe, DatoTranslateService, DatoTreePipe, DatoTriggerMulti, DatoTriggerSingle, DialogConfig, DialogResultStatus, Dimensions, EventModifiersPlugin, GridActionType, GridMinWidths, GridRowSelectionType, GridStatusColumnTypes, GridToolbarService, ISO_FORMAT, IconRegistry, KeyCodes, KeyboardEventKeys, ListValueTypes, MockService, OperatorTypes, POPPER_BOUNDARY, PaletteDirective, PanelResultCloseTrigger, PillType, PopoverCloseDirective, PopoverContentDirective, PopoverRef, PopoverTrigger, ROOT_NODE_ID, RelativeDateType, RenderMethod, RowSelectionType, RowSelectionTypeV2, SELECT_MAX_HEIGHT, SUPPORTED_LOCALES, SelectType, SnackbarRef, SnackbarType, Store, SvgRegistry, ToolbarActionType, ToolbarArea, ToolbarConfirmation, ToolbarDeleteConfirmation, ToolbarHandler, TranslatePipe, Types, _valueChanges, a, addClass, addJSObjectCompletor, allowedFileTypes, alphabeticalGroupSort, alphabeticalSort, appendChild, appendScript, appendStyle, appendToBody, assertString, camelCase, capitalize, cloneDeep, closest, coerceArray, coerceElement, compareWith, compose, convertFromTreeData, convertToTreeData, copyToClipboard, createComponent, createElement, createGUID, createHTMLCompletor, curry, dateCompare, daysOfTheMonth, debounce, declarations$2 as declarations, deepEqual, deepmerge, defaultActions$1 as defaultActions, defaultConfig, defaultEditableColumnRenderer, defaultGridOptions, defaultGridTreeLabel, defaultOptionsDisplayLimit, defaultTreeOptions, dialogSizePreset, diff, difference, differenceBy, dimensionsChanges, directives, drop, editableCellRendererWithSearchHighlight, escape, escapeRegExp, filter, filterByControlValue, filterByTerm, filterDialogDismissed, filterDialogSuccess, filterGroupByControlValue, filterGroupByTerm, filterKey, find, findIndex, findKey, fixNgLeaks, forEach, formatKeys, generateMonths, get, getAttr, getCustomRange, getDateISOString, getDefaultConfirmationOptions, getDefaultOptions, getDefaultsToastOptions, getElementCoords, getFunctionName, getGridConfiguration, getGridModel, getInitials, getLocalizedFormat, getMultiTemplate, getOptionTemplate, getPopperDefaults, getUTCDate, getVisibleActions, gridTreeFilePathKey, groupBy, groupSortOrder, has, inView, intersection, invert, isArrayValuesEqual, isArrowUpDown, isBoolean, isEmpty, isEmptyString, isEnter, isEqual, isEscape, isFraction, isFunction, isMacintosh, isNil, isNumber, isObject, isRangeCondition, isRangeCustom, isString, isTestEnv, isValidMediaLink, kebabCase, keyBy, keysSymbols, last, map, mapKeys, mapValues, maxFileSize, merge, minBy, mockInDev, mocks, ngContentResolver, noop, normalizeData, omit, omitBy, optionalDebounce, pallete, parseDateString, partial, polling, prependChild, publicApi$1 as publicApi, query, queryAll, random, rawDiff, reject, relativeDateTypes, removeClass, resolveRange, round, searchHighlightCellRenderer, searchResultsGroupSort, searchResultsSort, setAttr, setAttribute, setDimensions, setEmptyFolderClass, setGridConfiguration, setGridModel, setMaxDimensions, setMinDimensions, setStyle, setStyles, shortNumber, size, sortBy, stubs, supportedLocales, tapLog, tapOnce, throttle, toBoolean, toFormData, toNumber, toResponseBody, toString, toggleClass, toolbarActionToContextAction, tryParsePivotValue, unescape, union, uniq, uniqBy, uploadProgress, validBase64Image, validUrl, validateCondition, validateDate, validateDateCondition, validateFilter, validateNumberCondition, validateRange, validateStringCondition, values, workerMap, zoneStable, ɵ0$2 as ɵ0, ɵ1$2 as ɵ1, ɵ2, DATO_CORE_CONFIG as ɵb, DatoGridHelper as ɵc, Popper as ɵd, GridQuery as ɵe, GridStore as ɵf, GridService as ɵg, DatoDateRangesFilterPipe as ɵh, ListStore as ɵi, DatoListSelectAllComponent as ɵj, DatoGridMultiSelectColumnHeaderComponent as ɵk, DatoGridItemsCountCellComponent as ɵl, DatoGridV2ToolbarMoreMenuComponent as ɵm, DatoGridSearchBarComponent as ɵn, RichTextService as ɵo };
25518
+ export { APP_TRANSLATE, AceService, BaseCustomControl, COMPARE_RESULT, CUSTOM_RANGE_ID, ColorPalette, ConfirmationType, ContentRef, ContentType, CustomHeaderControllerService, DATE_PICKER_CONFIG, DATE_PICKER_POPOVER_ID, DATO_CORE_LOGGER, DATO_FORM_ERRORS, DATO_GRID_STORAGE_API, DEFAULT_FORMAT, DEFAULT_GRID_SEARCH_DEBOUNCE_TIME, DatePickerConfig, DatePickerMonthComponent, DateType, DatoAccordionComponent, DatoAccordionContentComponent, DatoAccordionGroupComponent, DatoAccordionHeaderComponent, DatoAccordionModule, DatoAceDirective, DatoAceDraggableDirective, DatoAceModule, DatoActionType, DatoAutoCompleteContentDirective, DatoAutoFocusDirective, DatoAutocompleteComponent, DatoAutocompleteDirective, DatoAutocompleteModule, DatoBreadcrumbsComponent, DatoBreadcrumbsModule, DatoButtonComponent, DatoButtonGroupComponent, DatoButtonGroupModule, DatoButtonModule, DatoCamelCasePipe, DatoCarouselComponent, DatoCarouselItemDirective, DatoCarouselItemElement, DatoCarouselModule, DatoCheckboxComponent, DatoCheckboxModule, DatoClipboardDirective, DatoColorDirective, DatoConfirmationDialogComponent, DatoControlErrorComponent, DatoControlErrorContainerDirective, DatoControlErrorsDirective, DatoCoreError, DatoCoreModule, DatoCustomHeaderTemplateComponent, DatoCustomHeaderTemplateDirective, DatoCustomMoreMenuTemplateDirective, DatoDatePickerContainerComponent, DatoDatePickerModule, DatoDatePickerRangeComponent, DatoDatePickerSingleComponent, DatoDialog, DatoDialogCloseDirective, DatoDialogComponent, DatoDialogContentComponent, DatoDialogDismissDirective, DatoDialogFooterComponent, DatoDialogHeaderComponent, DatoDialogModule, DatoDialogRef, DatoDirectivesModule, DatoDisableControlDirective, DatoDraggableDirective, DatoDynamicContentComponent, DatoDynamicContentModule, DatoEditableHeaderComponent, DatoEditableHeaderModule, DatoFileInputComponent, DatoFileInputDefaultComponent, DatoFileInputModule, DatoFilterConditions, DatoFontDirective, DatoFontIconComponent, DatoFontIconModule, DatoFormSubmitDirective, DatoFormValidationModule, DatoGrid, DatoGridAPI, DatoGridAvatarCellComponent, DatoGridColumnDisplayMenuComponent, DatoGridColumnHeaderComponent, DatoGridColumnHeaderMoreMenuComponent, DatoGridColumnTypes, DatoGridComponent, DatoGridControllerComponent, DatoGridDateFilterOptions, DatoGridFilterComponent, DatoGridFilterOptionsMap, DatoGridFilterSections, DatoGridFilterTypes, DatoGridGroupsMenuComponent, DatoGridHeaderComponent, DatoGridHeaderV2Component, DatoGridInitialsCellComponent, DatoGridItemsCellComponent, DatoGridModule, DatoGridMoreMenuActions, DatoGridNumberFilterOptions, DatoGridOnHoverComponent, DatoGridPaginationComponent, DatoGridPaginationV2Component, DatoGridStatusCellComponent, DatoGridStringFilterOptions, DatoGridToolbarComponent, DatoGridToolbarItemDirective, DatoGridToolbarItemElementDirective, DatoGridV2Component, DatoGridV2LoaderComponent, DatoGridV2Module, DatoGridV2NoDataOverlayComponent, DatoGridV2ToolbarButtonComponent, DatoGridV2ToolbarComponent, DatoGroupComponent, DatoHighlightPipe, DatoHotkeys, DatoHotkeysDirective, DatoHotkeysHelpComponent, DatoHotkeysModule, DatoIconButtonComponent, DatoIconButtonModule, DatoIconComponent, DatoIconModule, DatoInfiniteScrollComponent, DatoInfiniteScrollModule, DatoInputComponent, DatoInputModule, DatoInputNumberComponent, DatoInputNumberDirective, DatoInputNumberModule, DatoKebabCasePipe, DatoLinkButtonComponent, DatoLinkButtonModule, DatoListComponent, DatoListModule, DatoListNoDataComponent, DatoListNoResultComponent, DatoListV2Component, DatoListV2Module, DatoLoaderComponent, DatoLoadersModule, DatoMenuComponent, DatoMenuContentDirective, DatoMenuItemDirective, DatoMenuModule, DatoMenuTriggerForDirective, DatoMultiOptionComponent, DatoMultiOptionV2Component, DatoOperatorTogglerComponent, DatoOperatorTogglerModule, DatoOptionComponent, DatoOptionV2Component, DatoOptionsModule, DatoOriginDirective, DatoOverlay, DatoPageLoaderComponent, DatoPanel, DatoPanelComponent, DatoPanelContentComponent, DatoPanelFooterComponent, DatoPanelHeaderComponent, DatoPanelInternalConfig, DatoPanelModule, DatoPanelRef, DatoPillsComponent, DatoPillsModule, DatoPipesModule, DatoPopover, DatoPopoverComponent, DatoPopoverModule, DatoProgressBarComponent, DatoProgressBarModule, DatoRadioComponent, DatoRadioModule, DatoRichTextDirective, DatoRichTextModule, DatoSearchResultsGroupSortPipe, DatoSearchResultsSortPipe, DatoSearchableContainerComponent, DatoSearchableDirective, DatoSearchableHighlightDirective, DatoSearchableModule, DatoSelectActiveDirective, DatoSelectComponent, DatoSelectEmptyComponent, DatoSelectModule, DatoShortNumberPipe, DatoSliderComponent, DatoSliderModule, DatoSnackbar, DatoSnackbarComponent, DatoSnackbarModule, DatoSortableComponent, DatoSortableHandleDirective, DatoSortableModule, DatoStaticImageSrcDirective, DatoStaticImagesSrcModule, DatoSubscribeContext, DatoSubscribeDirective, DatoTab, DatoTabContent, DatoTabTitle, DatoTabsModule, DatoTabset, DatoTemplatePortal, DatoTextModule, DatoThemesModule, DatoToast, DatoToastComponent, DatoToastModule, DatoTogglerComponent, DatoTogglerModule, DatoTooltipDirective, DatoTooltipV2Directive, DatoTrackByPropPipe, DatoTranslateService, DatoTreePipe, DatoTriggerMulti, DatoTriggerSingle, DialogConfig, DialogResultStatus, Dimensions, EventModifiersPlugin, GridActionType, GridMinWidths, GridRowSelectionType, GridStatusColumnTypes, GridToolbarService, ISO_FORMAT, IconRegistry, KeyCodes, KeyboardEventKeys, ListValueTypes, MockService, OperatorTypes, POPPER_BOUNDARY, PaletteDirective, PanelResultCloseTrigger, PillType, PopoverCloseDirective, PopoverContentDirective, PopoverRef, PopoverTrigger, ROOT_NODE_ID, RelativeDateType, RenderMethod, RowSelectionType, RowSelectionTypeV2, SELECT_MAX_HEIGHT, SUPPORTED_LOCALES, SelectType, SnackbarRef, SnackbarType, Store, SvgRegistry, ToolbarActionType, ToolbarArea, ToolbarConfirmation, ToolbarDeleteConfirmation, ToolbarHandler, TranslatePipe, Types, _valueChanges, a, addClass, addJSObjectCompletor, allowedFileTypes, alphabeticalGroupSort, alphabeticalSort, appendChild, appendScript, appendStyle, appendToBody, assertString, camelCase, capitalize, cloneDeep, closest, coerceArray, coerceElement, compareWith, compose, convertFromTreeData, convertToTreeData, createComponent, createElement, createGUID, createHTMLCompletor, curry, dateCompare, daysOfTheMonth, debounce, declarations$2 as declarations, deepEqual, deepmerge, defaultActions$1 as defaultActions, defaultConfig, defaultEditableColumnRenderer, defaultGridOptions, defaultGridTreeLabel, defaultOptionsDisplayLimit, defaultTreeOptions, dialogSizePreset, diff, difference, differenceBy, dimensionsChanges, directives, drop, editableCellRendererWithSearchHighlight, escape, escapeRegExp, filter, filterByControlValue, filterByTerm, filterDialogDismissed, filterDialogSuccess, filterGroupByControlValue, filterGroupByTerm, filterKey, find, findIndex, findKey, fixNgLeaks, forEach, formatKeys, generateMonths, get, getAttr, getCustomRange, getDateISOString, getDefaultConfirmationOptions, getDefaultOptions, getDefaultsToastOptions, getElementCoords, getFunctionName, getGridConfiguration, getGridModel, getInitials, getLocalizedFormat, getMultiTemplate, getOptionTemplate, getPopperDefaults, getUTCDate, getVisibleActions, gridTreeFilePathKey, groupBy, groupSortOrder, has, inView, intersection, invert, isArrayValuesEqual, isArrowUpDown, isBoolean, isEmpty, isEmptyString, isEnter, isEqual, isEscape, isFraction, isFunction, isMacintosh, isNil, isNumber, isObject, isRangeCondition, isRangeCustom, isString, isTestEnv, isValidMediaLink, kebabCase, keyBy, keysSymbols, last, map, mapKeys, mapValues, maxFileSize, merge, minBy, mockInDev, mocks, ngContentResolver, noop, normalizeData, omit, omitBy, optionalDebounce, pallete, parseDateString, partial, polling, prependChild, publicApi$1 as publicApi, query, queryAll, random, rawDiff, readFromClipboard, reject, relativeDateTypes, removeClass, resolveRange, round, searchHighlightCellRenderer, searchResultsGroupSort, searchResultsSort, setAttr, setAttribute, setDimensions, setGridConfiguration, setGridModel, setMaxDimensions, setMinDimensions, setStyle, setStyles, shortNumber, size, sortBy, stubs, supportedLocales, tapLog, tapOnce, throttle, toBoolean, toFormData, toNumber, toResponseBody, toString, toggleClass, toolbarActionToContextAction, tryParsePivotValue, unescape, union, uniq, uniqBy, uploadProgress, validBase64Image, validUrl, validateCondition, validateDate, validateDateCondition, validateFilter, validateNumberCondition, validateRange, validateStringCondition, values, workerMap, writeToClipboard, zoneStable, ɵ0$2 as ɵ0, ɵ1$2 as ɵ1, ɵ2, DATO_CORE_CONFIG as ɵb, DatoGridHelper as ɵc, Popper as ɵd, GridQuery as ɵe, GridStore as ɵf, GridService as ɵg, DatoDateRangesFilterPipe as ɵh, ListStore as ɵi, DatoListSelectAllComponent as ɵj, DatoGridMultiSelectColumnHeaderComponent as ɵk, DatoGridItemsCountCellComponent as ɵl, DatoGridV2ToolbarMoreMenuComponent as ɵm, DatoGridSearchBarComponent as ɵn };
25561
25519
  //# sourceMappingURL=datorama-core.js.map