@datorama/core 22.9.9 → 22.9.10

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 (48) hide show
  1. package/bundle.scss +6 -6
  2. package/bundles/datorama-core.umd.js +136 -77
  3. package/bundles/datorama-core.umd.js.map +1 -1
  4. package/bundles/datorama-core.umd.min.js +38 -38
  5. package/bundles/datorama-core.umd.min.js.map +1 -1
  6. package/datorama-core.d.ts +1 -0
  7. package/datorama-core.metadata.json +1 -1
  8. package/esm2015/datorama-core.js +2 -1
  9. package/esm2015/lib/breadcrumbs/breadcrumbs.component.js +4 -2
  10. package/esm2015/lib/grid-v2/grid/grid-v2.types.js +9 -1
  11. package/esm2015/lib/grid-v2/grid-column-cell-components/grid-status-cell/grid-status-cell.component.js +19 -12
  12. package/esm2015/lib/grid-v2/grid-controller/grid-controller.component.js +30 -13
  13. package/esm2015/lib/grid-v2/grid-pagination/grid-pagination.component.js +2 -3
  14. package/esm2015/lib/grid-v2/grid-settings.js +2 -2
  15. package/esm2015/lib/grid-v2/grid-store/grid.service.js +3 -2
  16. package/esm2015/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +7 -1
  17. package/esm2015/lib/loaders/page-loader/page-loader.component.js +7 -2
  18. package/esm2015/lib/rich-text/rich-text.directive.js +20 -38
  19. package/esm2015/lib/rich-text/rich-text.service.js +50 -0
  20. package/esm2015/lib/select/select.component.js +4 -9
  21. package/esm2015/lib/version.js +2 -2
  22. package/esm5/datorama-core.js +2 -1
  23. package/esm5/lib/breadcrumbs/breadcrumbs.component.js +4 -2
  24. package/esm5/lib/grid-v2/grid/grid-v2.types.js +9 -1
  25. package/esm5/lib/grid-v2/grid-column-cell-components/grid-status-cell/grid-status-cell.component.js +20 -12
  26. package/esm5/lib/grid-v2/grid-controller/grid-controller.component.js +29 -15
  27. package/esm5/lib/grid-v2/grid-pagination/grid-pagination.component.js +2 -5
  28. package/esm5/lib/grid-v2/grid-settings.js +2 -2
  29. package/esm5/lib/grid-v2/grid-store/grid.service.js +3 -2
  30. package/esm5/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +13 -1
  31. package/esm5/lib/loaders/page-loader/page-loader.component.js +7 -2
  32. package/esm5/lib/rich-text/rich-text.directive.js +21 -39
  33. package/esm5/lib/rich-text/rich-text.service.js +51 -0
  34. package/esm5/lib/select/select.component.js +4 -9
  35. package/esm5/lib/version.js +2 -2
  36. package/fesm2015/datorama-core.js +128 -73
  37. package/fesm2015/datorama-core.js.map +1 -1
  38. package/fesm5/datorama-core.js +136 -78
  39. package/fesm5/datorama-core.js.map +1 -1
  40. package/lib/grid-v2/grid/grid-v2.types.d.ts +12 -3
  41. package/lib/grid-v2/grid-column-cell-components/grid-status-cell/grid-status-cell.component.d.ts +3 -5
  42. package/lib/grid-v2/grid-controller/grid-controller.component.d.ts +1 -0
  43. package/lib/grid-v2/grid-settings.d.ts +2 -2
  44. package/lib/grid-v2/grid-toolbar/grid-toolbar.component.d.ts +2 -0
  45. package/lib/loaders/page-loader/page-loader.component.d.ts +1 -0
  46. package/lib/rich-text/rich-text.directive.d.ts +4 -6
  47. package/lib/rich-text/rich-text.service.d.ts +10 -0
  48. package/package.json +2 -2
@@ -7604,9 +7604,8 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7604
7604
  writeValue(activeOptions) {
7605
7605
  this._model = activeOptions ? coerceArray$1(activeOptions) : [];
7606
7606
  if (this.options) {
7607
- const overTheLimit = this.limitSelectedTo && this.isMulti && this._model.length >= this.limitSelectedTo;
7608
7607
  this.markAsActive(this._model, { deselectAll: true });
7609
- overTheLimit && this.updateDisabledState();
7608
+ this.limitSelectedTo && this.updateDisabledState();
7610
7609
  }
7611
7610
  /** For later updates */
7612
7611
  this.cdr.markForCheck();
@@ -7711,7 +7710,6 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7711
7710
  this.onChange(this._model);
7712
7711
  }
7713
7712
  removeOption(option) {
7714
- const updateDisabled = this.limitSelectedTo && this._model.length === this.limitSelectedTo;
7715
7713
  this._model = this._model.filter(current => current[this.idKey] !== option[this.idKey]);
7716
7714
  const optionToRemove = this.options.find(datoOption => datoOption.option && datoOption.option[this.idKey] === option[this.idKey]);
7717
7715
  /**
@@ -7721,7 +7719,7 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7721
7719
  if (optionToRemove) {
7722
7720
  optionToRemove.active = false;
7723
7721
  }
7724
- updateDisabled && this.updateDisabledState();
7722
+ this.limitSelectedTo && this.updateDisabledState();
7725
7723
  this.onChange(this._model);
7726
7724
  this.cdr.markForCheck();
7727
7725
  this.asyncUpdateDropdownPosition();
@@ -7995,9 +7993,6 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7995
7993
  if (!datoOption) {
7996
7994
  return;
7997
7995
  }
7998
- const modelLength = this._model.length;
7999
- const updateDisabled = this.limitSelectedTo &&
8000
- (modelLength === this.limitSelectedTo || (modelLength === this.limitSelectedTo - 1 && !datoOption.active));
8001
7996
  datoOption.active = !datoOption.active;
8002
7997
  const rawOption = datoOption.option;
8003
7998
  if (datoOption.active) {
@@ -8006,7 +8001,7 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
8006
8001
  else {
8007
8002
  this._model = this._model.filter(current => current[this.idKey] !== rawOption[this.idKey]);
8008
8003
  }
8009
- updateDisabled && this.updateDisabledState();
8004
+ this.limitSelectedTo && this.updateDisabledState();
8010
8005
  this.onChange(this._model);
8011
8006
  this.cdr.markForCheck();
8012
8007
  this.asyncUpdateDropdownPosition();
@@ -10518,7 +10513,7 @@ function toolbarActionToContextAction(params) {
10518
10513
  return contextActions;
10519
10514
  }
10520
10515
 
10521
- const DATO_GRID_STORAGE_API = new InjectionToken('DATO_GRID_STORAGE_API');
10516
+ const DATO_GRID_STORAGE_API = new InjectionToken('DATO_GRID_STORAGE_AP');
10522
10517
 
10523
10518
  const defaultEditableColumnRenderer = params => params && params.value ? `<div class="value-wrapper ellipsis">${params.value}</div>` : null;
10524
10519
  const editableCellRendererWithSearchHighlight = (params, searchTerm) => {
@@ -10555,6 +10550,14 @@ var GridRowSelectionType;
10555
10550
  GridRowSelectionType["SINGLE"] = "single";
10556
10551
  GridRowSelectionType["MULTIPLE"] = "multiple";
10557
10552
  })(GridRowSelectionType || (GridRowSelectionType = {}));
10553
+ var GridStatusColumnTypes;
10554
+ (function (GridStatusColumnTypes) {
10555
+ GridStatusColumnTypes["SUCCESS"] = "SUCCESS";
10556
+ GridStatusColumnTypes["FAILURE"] = "FAILURE";
10557
+ GridStatusColumnTypes["IN_PROGRESS"] = "IN_PROGRESS";
10558
+ GridStatusColumnTypes["PENDING"] = "PENDING";
10559
+ GridStatusColumnTypes["WAITING"] = "WAITING";
10560
+ })(GridStatusColumnTypes || (GridStatusColumnTypes = {}));
10558
10561
 
10559
10562
  /**
10560
10563
  * @license
@@ -12874,7 +12877,8 @@ let GridService = class GridService {
12874
12877
  this.updateSettings({ gridAlignment, columnsSizes: null });
12875
12878
  }
12876
12879
  saveSettingsToServer(settings) {
12877
- this.storageAPI.set(this.gridName, settings);
12880
+ const isGlobal = this.gridQuery.getGridOptions().isGlobalSettings;
12881
+ this.storageAPI.set(this.gridName, settings, isGlobal);
12878
12882
  }
12879
12883
  /**
12880
12884
  * @internal used to log grid events to the platform's logging service
@@ -13767,7 +13771,7 @@ let DatoGridControllerComponent = class DatoGridControllerComponent {
13767
13771
  }
13768
13772
  ngOnDestroy() {
13769
13773
  this.contentInit.complete();
13770
- this.tooltip && this.clearTooltip();
13774
+ this.clearTooltip();
13771
13775
  this.rowHoverComponent && this.rowHoverComponent.destroy();
13772
13776
  this.rowHoverComponent = null;
13773
13777
  }
@@ -13783,7 +13787,10 @@ let DatoGridControllerComponent = class DatoGridControllerComponent {
13783
13787
  .pipe(switchMap(() => {
13784
13788
  this.gridOptions = this.normalizeOptions();
13785
13789
  agGrid.gridOptions = this.gridOptions;
13786
- const settingsLoader = this.gridOptions.saveSettings === false ? of(null) : this.storageAPI.get(this.gridOptions.gridName);
13790
+ const isGlobal = this.gridOptions.isGlobalSettings;
13791
+ const settingsLoader = this.gridOptions.saveSettings === false
13792
+ ? of(null)
13793
+ : this.storageAPI.get(this.gridOptions.gridName, isGlobal);
13787
13794
  return combineLatest([agGrid.gridReady, settingsLoader]);
13788
13795
  }), untilDestroyed(this))
13789
13796
  .subscribe(([{ api, columnApi }, savedSettings = {}]) => {
@@ -13968,37 +13975,51 @@ let DatoGridControllerComponent = class DatoGridControllerComponent {
13968
13975
  });
13969
13976
  this.addOnHoverElement();
13970
13977
  }
13971
- agGrid.cellMouseOver
13972
- .pipe(filter$1(({ node, column }) => lastHoveredCell !== `${node.id}-${column.getColId()}`), untilDestroyed(this))
13973
- .subscribe((event) => {
13974
- lastHoveredCell = `${event.node.id}-${event.column.getColId()}`;
13978
+ agGrid.cellMouseOver.pipe(untilDestroyed(this)).subscribe((event) => {
13979
+ const { node, column } = event;
13980
+ if (lastHoveredCell === `${node.id}-${column.getColId()}`) {
13981
+ clearTimeout(this.cellMouseOutTimer);
13982
+ return;
13983
+ }
13984
+ lastHoveredCell = `${node.id}-${column.getColId()}`;
13975
13985
  this.showTooltip(event);
13976
13986
  const row = event.event.target.parentElement;
13977
- if (onHoverEnabled && (event.node.group === false || isNil(event.node.group)) && this.lastHoveredRow !== row) {
13987
+ if (onHoverEnabled && (node.group === false || isNil(node.group)) && this.lastHoveredRow !== row) {
13978
13988
  const previousNode = this.lastHoveredRow;
13979
13989
  this.lastHoveredRow = row;
13980
13990
  this.toggleRowHoverClass([previousNode, this.lastHoveredRow]);
13981
13991
  this.setOnHoverState(true, event);
13982
13992
  }
13983
13993
  });
13984
- const onTooltipOut = merge$1(fromEvent(bodyViewport, 'scroll'), fromEvent(this.agGridEl, 'mouseleave'), agGrid.cellMouseOut);
13985
- onTooltipOut
13994
+ const onTooltipOut = merge$1(fromEvent(bodyViewport, 'scroll'), fromEvent(this.agGridEl, 'mouseleave'));
13995
+ onTooltipOut.pipe(untilDestroyed(this)).subscribe(() => {
13996
+ lastHoveredCell = null;
13997
+ this.clearTooltip();
13998
+ });
13999
+ agGrid.cellMouseOut
13986
14000
  .pipe(filter$1(() => !isNil(this.tooltip)), untilDestroyed(this))
13987
14001
  .subscribe(() => {
13988
- this.clearTooltip();
14002
+ this.cellMouseOutTimer = window.setTimeout(() => this.clearTooltip());
13989
14003
  });
13990
14004
  }
13991
14005
  /**
13992
14006
  * Dispose the tooltip
13993
14007
  */
13994
14008
  clearTooltip() {
13995
- this.tooltip.dispose();
14009
+ this.tooltip && this.tooltip.dispose();
13996
14010
  this.tooltip = null;
13997
14011
  }
13998
14012
  showTooltip(event) {
13999
- const cell = event.event.target;
14013
+ let cell = event.event.target;
14014
+ if (cell.tagName === 'SPAN' && cell.scrollWidth === 0) {
14015
+ cell = cell.parentElement;
14016
+ }
14017
+ if (event.colDef.editable) {
14018
+ cell = cell.querySelector('.value-wrapper') || cell;
14019
+ }
14000
14020
  const textOverflow = cell.offsetWidth < cell.scrollWidth;
14001
14021
  if (textOverflow) {
14022
+ clearTimeout(this.cellMouseOutTimer);
14002
14023
  const params = { cell, value: cell.innerText };
14003
14024
  isNil(this.tooltip) ? this.createAndShowTooltip(params) : this.updateTooltip(params);
14004
14025
  }
@@ -14510,7 +14531,7 @@ let DatoGridPaginationV2Component = class DatoGridPaginationV2Component {
14510
14531
  }
14511
14532
  ngOnInit() {
14512
14533
  this.gridQuery
14513
- .waitForGrid(() => merge$1(this.gridQuery.gridRef.filterChanged, this.gridQuery.gridRef.rowGroupOpened, this.gridQuery.gridRef.expandOrCollapseAll))
14534
+ .waitForGrid(() => this.gridQuery.gridRef.filterChanged)
14514
14535
  .pipe(untilDestroyed(this))
14515
14536
  .subscribe(() => {
14516
14537
  this.gridApi.paginationGoToPage(0);
@@ -14908,6 +14929,12 @@ let DatoGridV2ToolbarComponent = class DatoGridV2ToolbarComponent {
14908
14929
  this.registerGroupListeners();
14909
14930
  this.subscribeRowsSelectionData();
14910
14931
  }
14932
+ getCellValueChangeEvent() {
14933
+ return this.gridController.gridQuery.waitForGrid(() => this.gridQuery.gridRef.cellValueChanged.pipe(debounceTime(100), untilDestroyed(this)));
14934
+ }
14935
+ getRowDataUpdatedEvent() {
14936
+ return this.gridController.gridQuery.waitForGrid(() => this.gridQuery.gridRef.rowDataUpdated.pipe(debounceTime(100), untilDestroyed(this)));
14937
+ }
14911
14938
  onActionClick(action) {
14912
14939
  if (isFunction(action.onClick)) {
14913
14940
  const selectedRowsCount = this.gridController.gridQuery.getSelectedRowsCount();
@@ -17278,6 +17305,7 @@ let DatoPageLoaderComponent = class DatoPageLoaderComponent {
17278
17305
  constructor() {
17279
17306
  this.msg = '';
17280
17307
  this.salesforce = false;
17308
+ this.size = 'medium';
17281
17309
  this.circleIds = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'];
17282
17310
  }
17283
17311
  };
@@ -17289,10 +17317,14 @@ __decorate([
17289
17317
  Input(),
17290
17318
  __metadata("design:type", Object)
17291
17319
  ], DatoPageLoaderComponent.prototype, "salesforce", void 0);
17320
+ __decorate([
17321
+ Input(),
17322
+ __metadata("design:type", String)
17323
+ ], DatoPageLoaderComponent.prototype, "size", void 0);
17292
17324
  DatoPageLoaderComponent = __decorate([
17293
17325
  Component({
17294
17326
  selector: 'dato-page-loader',
17295
- template: "<div class=\"d-flex-column align-center\">\n <ng-container *ngIf=\"salesforce; else datoramaPageLoader\">\n <div class=\"slds-spinner_container\">\n <div role=\"status\" class=\"slds-spinner slds-spinner_medium slds-spinner_brand\">\n <div class=\"slds-spinner__dot-a\"></div>\n <div class=\"slds-spinner__dot-b\"></div>\n </div>\n </div>\n </ng-container>\n <ng-template #datoramaPageLoader>\n <div class=\"animation-container d-flex align-center d-flex-wrap\">\n <div class=\"circle d-flex align-center\" *ngFor=\"let id of circleIds\" [ngClass]=\"'circle-' + id\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\">\n <circle cx=\"6\" cy=\"6\" r=\"5\" />\n </svg>\n </div>\n </div>\n </ng-template>\n <span class=\"loading-message simple-bold\">{{msg | translate}}</span>\n</div>",
17327
+ template: "<div class=\"d-flex-column align-center\">\n <ng-container *ngIf=\"salesforce; else datoramaPageLoader\">\n <div class=\"slds-spinner_container\">\n <div role=\"status\" class=\"slds-spinner slds-spinner_brand\" [ngClass]=\"'slds-spinner_' + size\">\n <div class=\"slds-spinner__dot-a\"></div>\n <div class=\"slds-spinner__dot-b\"></div>\n </div>\n </div>\n </ng-container>\n <ng-template #datoramaPageLoader>\n <div class=\"animation-container d-flex align-center d-flex-wrap\">\n <div class=\"circle d-flex align-center\" *ngFor=\"let id of circleIds\" [ngClass]=\"'circle-' + id\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\">\n <circle cx=\"6\" cy=\"6\" r=\"5\" />\n </svg>\n </div>\n </div>\n </ng-template>\n <span class=\"loading-message simple-bold\">{{msg | translate}}</span>\n</div>\n",
17296
17328
  changeDetection: ChangeDetectionStrategy.OnPush
17297
17329
  })
17298
17330
  ], DatoPageLoaderComponent);
@@ -18180,7 +18212,13 @@ DatoGridV2ToolbarMoreMenuComponent = __decorate([
18180
18212
  let DatoGridStatusCellComponent = class DatoGridStatusCellComponent {
18181
18213
  constructor(cdr) {
18182
18214
  this.cdr = cdr;
18183
- this.DEFAULT_MIN_WIDTH = 100;
18215
+ this.defaultConfigByStatus = {
18216
+ [GridStatusColumnTypes.SUCCESS]: { icon: 'success-line', iconCssClass: 'green-400-color' },
18217
+ [GridStatusColumnTypes.FAILURE]: { icon: 'failed-line', iconCssClass: 'red-400-color' },
18218
+ [GridStatusColumnTypes.PENDING]: { icon: 'time', iconCssClass: 'yellow-400-color' },
18219
+ [GridStatusColumnTypes.WAITING]: { icon: 'info-line', iconCssClass: 'orange-400-color' },
18220
+ [GridStatusColumnTypes.IN_PROGRESS]: { showSpinner: true }
18221
+ };
18184
18222
  }
18185
18223
  agInit(params) {
18186
18224
  const { value, valueFormatted, node } = params;
@@ -18195,15 +18233,14 @@ let DatoGridStatusCellComponent = class DatoGridStatusCellComponent {
18195
18233
  const mainCustomCellConfig = customCellConfig || {};
18196
18234
  const valueCustomCellConfig = valueToCustomCellConfig ? valueToCustomCellConfig[params.value] || {} : {};
18197
18235
  const config = Object.assign(Object.assign({}, mainCustomCellConfig), valueCustomCellConfig);
18198
- const { color, icon, cssClass, iconCssClass, minWidth, showSpinner, getAdditionalText, getIsVisible } = config;
18236
+ const { textCssClass, icon, iconCssClass, showSpinner, getAdditionalText, additionalTextCssClass, getIsVisible, status } = config;
18237
+ const defaultConfig = this.defaultConfigByStatus[status] || {};
18199
18238
  this.isVisible = !getIsVisible || getIsVisible(params.data);
18200
- this.color = color || 'primary';
18201
- this.backgroundClass = `${this.color}-${this.color === 'accent' ? '100' : '200'}-background-color`;
18202
- this.icon = icon;
18203
- this.minWidth = minWidth || this.DEFAULT_MIN_WIDTH;
18204
- this.cssClass = cssClass || '';
18205
- this.iconCssClass = iconCssClass || '';
18206
- this.showSpinner = showSpinner;
18239
+ this.icon = icon || defaultConfig.icon;
18240
+ this.iconCssClass = iconCssClass || defaultConfig.iconCssClass || '';
18241
+ this.textCssClass = textCssClass || '';
18242
+ this.additionalTextCssClass = additionalTextCssClass || '';
18243
+ this.showSpinner = !!showSpinner || !!defaultConfig.showSpinner;
18207
18244
  this.additionalText = getAdditionalText ? getAdditionalText(params.data) : null;
18208
18245
  }
18209
18246
  refresh(params) {
@@ -18218,8 +18255,9 @@ DatoGridStatusCellComponent.ctorParameters = () => [
18218
18255
  DatoGridStatusCellComponent = __decorate([
18219
18256
  Component({
18220
18257
  selector: 'dato-grid-status-cell',
18221
- template: "<div *ngIf=\"!isGroup && isVisible\" class=\"height-100 d-flex items-center\">\n <div *ngIf=\"status\" class=\"d-flex justify-center items-center px-15 py-5 {{backgroundClass}} {{cssClass}}\" [style.min-width.px]=\"minWidth\">\n <dato-icon *ngIf=\"icon\" class=\"mr-5 {{iconCssClass}}\" [icon]=\"icon\" datoSize=\"sm\"></dato-icon>\n <div class=\"dato-note {{color}}-800-color\" [class.ellipsis]=\"!additionalText\"\n [datoTooltipV2]=\"status\" [showOnlyOnTextOverflow]=\"true\" [tooltipCheckInView]=\"false\" [datoTooltipDisabled]=\"!!additionalText\">\n {{status}}\n </div>\n <div *ngIf=\"additionalText\" class=\"dato-note {{color}}-800-color ml-3 ellipsis\"\n [datoTooltipV2]=\"status + ' ' + additionalText\" [showOnlyOnTextOverflow]=\"true\" [tooltipCheckInView]=\"false\">\n {{additionalText}}\n </div>\n <span *ngIf=\"showSpinner\" class=\"dato-spinner-loader ml-5\"></span>\n </div>\n</div>\n<span *ngIf=\"isGroup\">{{status}}</span>\n",
18222
- changeDetection: ChangeDetectionStrategy.OnPush
18258
+ template: "<div *ngIf=\"!isGroup && isVisible\" class=\"height-100 d-flex items-center\">\n <dato-icon *ngIf=\"icon\" class=\"mr-6 {{iconCssClass}}\" [icon]=\"icon\" datoSize=\"sm\"></dato-icon>\n <dato-page-loader *ngIf=\"showSpinner\" [salesforce]=\"true\" size=\"x-small\" class=\"mr-10 mt-15\"></dato-page-loader>\n <div class=\"dato-simple status line-height-18 {{textCssClass}}\" [class.ellipsis]=\"!additionalText\"\n [datoTooltipV2]=\"status\" [showOnlyOnTextOverflow]=\"true\" [tooltipCheckInView]=\"false\">\n {{status}}\n </div>\n <div *ngIf=\"additionalText\" class=\"dato-simple ml-3 ellipsis line-height-18 {{additionalTextCssClass}}\"\n [datoTooltipV2]=\"status + ' ' + additionalText\" [showOnlyOnTextOverflow]=\"true\" [tooltipCheckInView]=\"false\">\n {{additionalText}}\n </div>\n</div>\n<span *ngIf=\"isGroup\">{{status}}</span>\n",
18259
+ changeDetection: ChangeDetectionStrategy.OnPush,
18260
+ styles: [".line-height-18{line-height:18px}"]
18223
18261
  }),
18224
18262
  __metadata("design:paramtypes", [ChangeDetectorRef])
18225
18263
  ], DatoGridStatusCellComponent);
@@ -18975,6 +19013,39 @@ DatoEditableHeaderModule = __decorate([
18975
19013
  * found in the LICENSE file at https://github.com/datorama/client-core/blob/master/LICENSE
18976
19014
  */
18977
19015
 
19016
+ let RichTextService = class RichTextService {
19017
+ constructor(http, config) {
19018
+ this.http = http;
19019
+ this.config = config;
19020
+ }
19021
+ getLib(appendScriptFunc, appendStyleFunc) {
19022
+ if (!this.richTextScript$) {
19023
+ this.initLib(appendScriptFunc, appendStyleFunc);
19024
+ }
19025
+ return this.richTextScript$;
19026
+ }
19027
+ initLib(appendScriptFunc, appendStyleFunc) {
19028
+ this.richTextScript$ = combineLatest([
19029
+ this.http
19030
+ .get(`${this.config.paths.richText}/index.js`, { responseType: 'text' })
19031
+ .pipe(tap(lib => appendScriptFunc(lib, 'rich-text-editor'))),
19032
+ this.http
19033
+ .get(`${this.config.paths.richText}/plugins/autocomplete/plugin.css`, { responseType: 'text' })
19034
+ .pipe(tap(style => appendStyleFunc(style, 'tinymce-autocomplete')))
19035
+ ]).pipe(shareReplay(1));
19036
+ }
19037
+ };
19038
+ RichTextService.ctorParameters = () => [
19039
+ { type: HttpClient },
19040
+ { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] }
19041
+ ];
19042
+ RichTextService.ɵprov = ɵɵdefineInjectable({ factory: function RichTextService_Factory() { return new RichTextService(ɵɵinject(HttpClient), ɵɵinject(DATO_CORE_CONFIG)); }, token: RichTextService, providedIn: "root" });
19043
+ RichTextService = __decorate([
19044
+ Injectable({ providedIn: 'root' }),
19045
+ __param(1, Inject(DATO_CORE_CONFIG)),
19046
+ __metadata("design:paramtypes", [HttpClient, Object])
19047
+ ], RichTextService);
19048
+
18978
19049
  /**
18979
19050
  * @license
18980
19051
  * Copyright Datorama. All Rights Reserved.
@@ -18988,20 +19059,20 @@ const getTinymce = () => {
18988
19059
  };
18989
19060
  const ɵ0$3 = getTinymce;
18990
19061
  let DatoRichTextDirective = DatoRichTextDirective_1 = class DatoRichTextDirective extends BaseCustomControl {
18991
- constructor(ngZone, http, host, config) {
19062
+ constructor(ngZone, richTextService, config, host) {
18992
19063
  super();
18993
19064
  this.ngZone = ngZone;
18994
- this.http = http;
18995
- this.host = host;
19065
+ this.richTextService = richTextService;
18996
19066
  this.config = config;
19067
+ this.host = host;
18997
19068
  this.autocompleteOptions = {};
18998
19069
  this.forcePlainTextPasting = false;
18999
19070
  this.format = 'html';
19000
19071
  this.isOneLine = false;
19001
19072
  this.initialValue = '';
19002
- this.defaultPlugins = 'link fullscreen textcolor colorpicker image lists table textpattern autocomplete';
19073
+ this.defaultPlugins = 'link fullscreen image lists table autocomplete';
19003
19074
  this.defaultToolbar = [
19004
- 'fontselect fontsizeselect forecolor backcolor bold italic underline link',
19075
+ 'fontfamily fontsize forecolor backcolor bold italic underline link',
19005
19076
  'alignleft aligncenter alignright alignjustify outdent indent | table numlist bullist | image fullscreen'
19006
19077
  ];
19007
19078
  }
@@ -19020,28 +19091,11 @@ let DatoRichTextDirective = DatoRichTextDirective_1 = class DatoRichTextDirectiv
19020
19091
  base: this.config.paths.richText,
19021
19092
  query: ''
19022
19093
  };
19023
- /**
19024
- * We support only one instance in load time
19025
- */
19026
- if (window.tinymce) {
19094
+ this.richTextService
19095
+ .getLib(appendScript, appendStyle)
19096
+ .pipe(untilDestroyed(this))
19097
+ .subscribe(() => {
19027
19098
  this.init.call(this);
19028
- }
19029
- else {
19030
- this.loadLib().subscribe(lib => {
19031
- appendScript(lib, 'rich-text-editor');
19032
- this.init.call(this);
19033
- this.loadAutoCompleteStyle();
19034
- });
19035
- }
19036
- }
19037
- loadLib() {
19038
- return this.http.get(`${this.config.paths.richText}/index.js`, { responseType: 'text' });
19039
- }
19040
- loadAutoCompleteStyle() {
19041
- this.http
19042
- .get(`${this.config.paths.richText}/plugins/autocomplete/plugin.css`, { responseType: 'text' })
19043
- .subscribe(style => {
19044
- appendStyle(style, 'tinymce-autocomplete');
19045
19099
  });
19046
19100
  }
19047
19101
  initEditor(_, editor) {
@@ -19062,8 +19116,6 @@ let DatoRichTextDirective = DatoRichTextDirective_1 = class DatoRichTextDirectiv
19062
19116
  target: this.host.nativeElement,
19063
19117
  width: this.width || 600,
19064
19118
  height: this.height || 300,
19065
- force_br_newlines: true,
19066
- force_p_newlines: false,
19067
19119
  resize: 'both',
19068
19120
  branding: false,
19069
19121
  inline: this.inline,
@@ -19071,10 +19123,12 @@ let DatoRichTextDirective = DatoRichTextDirective_1 = class DatoRichTextDirectiv
19071
19123
  readonly: this.disabled,
19072
19124
  plugins: this.plugins || this.defaultPlugins,
19073
19125
  toolbar: isNil(this.toolbar) ? this.defaultToolbar : this.toolbar,
19074
- fontsize_formats: '8px 10px 12px 14px 18px 24px 36px',
19126
+ font_size_formats: '8px 10px 12px 14px 18px 24px 36px',
19075
19127
  min_width: 480,
19076
19128
  menubar: false,
19077
19129
  autocomplete: this.autocompleteOptions,
19130
+ suffix: '.min',
19131
+ skin: 'tinymce-5',
19078
19132
  setup: editor => {
19079
19133
  this.editor = editor;
19080
19134
  editor.on('init', (e) => {
@@ -19142,9 +19196,9 @@ let DatoRichTextDirective = DatoRichTextDirective_1 = class DatoRichTextDirectiv
19142
19196
  };
19143
19197
  DatoRichTextDirective.ctorParameters = () => [
19144
19198
  { type: NgZone },
19145
- { type: HttpClient },
19146
- { type: ElementRef },
19147
- { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] }
19199
+ { type: RichTextService },
19200
+ { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] },
19201
+ { type: ElementRef }
19148
19202
  ];
19149
19203
  __decorate([
19150
19204
  Input(),
@@ -19210,10 +19264,9 @@ DatoRichTextDirective = DatoRichTextDirective_1 = __decorate([
19210
19264
  }
19211
19265
  ]
19212
19266
  }),
19213
- __param(3, Inject(DATO_CORE_CONFIG)),
19267
+ __param(2, Inject(DATO_CORE_CONFIG)),
19214
19268
  __metadata("design:paramtypes", [NgZone,
19215
- HttpClient,
19216
- ElementRef, Object])
19269
+ RichTextService, Object, ElementRef])
19217
19270
  ], DatoRichTextDirective);
19218
19271
 
19219
19272
  /**
@@ -21494,7 +21547,9 @@ let DatoBreadcrumbsComponent = class DatoBreadcrumbsComponent {
21494
21547
  this._breadcrumbs = [...start, ...dots, ...end];
21495
21548
  }
21496
21549
  initEditableHeader() {
21497
- this.headerControl.valueChanges.pipe(debounceTime(300), untilDestroyed(this)).subscribe((res) => {
21550
+ this.headerControl.valueChanges
21551
+ .pipe(debounceTime(300), untilDestroyed(this))
21552
+ .subscribe((res) => {
21498
21553
  this.updateEditableText.emit(res);
21499
21554
  this.cdr.detectChanges();
21500
21555
  });
@@ -22759,7 +22814,7 @@ function fixNgLeaks() {
22759
22814
  };
22760
22815
  }
22761
22816
 
22762
- window.coreVersion = '22.9.9';
22817
+ window.coreVersion = '22.10.7-rc.';
22763
22818
 
22764
22819
  /**
22765
22820
  * @license
@@ -22773,5 +22828,5 @@ window.coreVersion = '22.9.9';
22773
22828
  * Generated bundle index. Do not edit.
22774
22829
  */
22775
22830
 
22776
- 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, 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, 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, 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 };
22831
+ 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, 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, 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 };
22777
22832
  //# sourceMappingURL=datorama-core.js.map