@seniorsistemas/angular-components 14.5.0 → 14.7.1

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 (41) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +140 -76
  2. package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
  4. package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
  5. package/components/dynamic-form/components/lookup/lookup.component.d.ts +3 -0
  6. package/components/locale/pipes/localized-bignumber-impure.pipe.d.ts +6 -0
  7. package/components/locale/pipes/localized-bignumber.pipe.d.ts +9 -0
  8. package/components/locale/pipes/localized-currency-impure.pipe.d.ts +3 -0
  9. package/components/locale/pipes/localized-currency.pipe.d.ts +3 -0
  10. package/components/locale/pipes/localized-number.pipe.d.ts +3 -0
  11. package/components/stats-card/stats-card.component.d.ts +2 -1
  12. package/components/table/table-column/table-columns.component.d.ts +1 -1
  13. package/esm2015/components/dynamic-form/components/lookup/lookup.component.js +13 -3
  14. package/esm2015/components/dynamic-form/configurations/fields/bignumber-field.js +3 -2
  15. package/esm2015/components/locale/locale.module.js +9 -1
  16. package/esm2015/components/locale/pipes/localized-bignumber-impure.pipe.js +16 -0
  17. package/esm2015/components/locale/pipes/localized-bignumber.pipe.js +38 -0
  18. package/esm2015/components/locale/pipes/localized-currency-impure.pipe.js +4 -1
  19. package/esm2015/components/locale/pipes/localized-currency.pipe.js +4 -1
  20. package/esm2015/components/locale/pipes/localized-number.pipe.js +4 -1
  21. package/esm2015/components/stats-card/stats-card.component.js +21 -19
  22. package/esm2015/components/table/table-column/table-columns.component.js +11 -20
  23. package/esm2015/seniorsistemas-angular-components.js +34 -32
  24. package/esm5/components/dynamic-form/components/lookup/lookup.component.js +13 -3
  25. package/esm5/components/dynamic-form/configurations/fields/bignumber-field.js +3 -2
  26. package/esm5/components/locale/locale.module.js +9 -1
  27. package/esm5/components/locale/pipes/localized-bignumber-impure.pipe.js +21 -0
  28. package/esm5/components/locale/pipes/localized-bignumber.pipe.js +39 -0
  29. package/esm5/components/locale/pipes/localized-currency-impure.pipe.js +4 -1
  30. package/esm5/components/locale/pipes/localized-currency.pipe.js +4 -1
  31. package/esm5/components/locale/pipes/localized-number.pipe.js +4 -1
  32. package/esm5/components/stats-card/stats-card.component.js +20 -19
  33. package/esm5/components/table/table-column/table-columns.component.js +11 -21
  34. package/esm5/seniorsistemas-angular-components.js +34 -32
  35. package/fesm2015/seniorsistemas-angular-components.js +100 -42
  36. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  37. package/fesm5/seniorsistemas-angular-components.js +105 -43
  38. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  39. package/package.json +2 -2
  40. package/seniorsistemas-angular-components.d.ts +33 -31
  41. package/seniorsistemas-angular-components.metadata.json +1 -1
@@ -1,9 +1,10 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('primeng/breadcrumb'), require('@angular/router'), require('rxjs'), require('rxjs/operators'), require('primeng/tieredmenu'), require('primeng/tooltip'), require('primeng/dom'), require('primeng/calendar'), require('@angular/animations'), require('@angular/forms'), require('@angular/common/http'), require('angular2-hotkeys'), require('primeng/autocomplete'), require('primeng/dialog'), require('primeng/table'), require('@seniorsistemas/ng2-currency-mask'), require('@seniorsistemas/senior-platform-data'), require('moment'), require('ngx-cookie-service'), require('ng2-currency-mask'), require('primeng/button'), require('primeng/checkbox'), require('primeng/chips'), require('primeng/dropdown'), require('primeng/fieldset'), require('primeng/inputmask'), require('primeng/inputtext'), require('primeng/inputtextarea'), require('primeng/keyfilter'), require('primeng/multiselect'), require('primeng/panel'), require('primeng/radiobutton'), require('@angular/platform-browser'), require('primeng/progressbar'), require('@ngx-translate/core'), require('cropperjs'), require('element-resize-detector'), require('@angular/cdk/a11y'), require('primeng/scrollpanel'), require('primeng/sidebar')) :
3
- typeof define === 'function' && define.amd ? define('@seniorsistemas/angular-components', ['exports', '@angular/core', '@angular/common', 'primeng/breadcrumb', '@angular/router', 'rxjs', 'rxjs/operators', 'primeng/tieredmenu', 'primeng/tooltip', 'primeng/dom', 'primeng/calendar', '@angular/animations', '@angular/forms', '@angular/common/http', 'angular2-hotkeys', 'primeng/autocomplete', 'primeng/dialog', 'primeng/table', '@seniorsistemas/ng2-currency-mask', '@seniorsistemas/senior-platform-data', 'moment', 'ngx-cookie-service', 'ng2-currency-mask', 'primeng/button', 'primeng/checkbox', 'primeng/chips', 'primeng/dropdown', 'primeng/fieldset', 'primeng/inputmask', 'primeng/inputtext', 'primeng/inputtextarea', 'primeng/keyfilter', 'primeng/multiselect', 'primeng/panel', 'primeng/radiobutton', '@angular/platform-browser', 'primeng/progressbar', '@ngx-translate/core', 'cropperjs', 'element-resize-detector', '@angular/cdk/a11y', 'primeng/scrollpanel', 'primeng/sidebar'], factory) :
4
- (global = global || self, factory((global.seniorsistemas = global.seniorsistemas || {}, global.seniorsistemas['angular-components'] = {}), global.ng.core, global.ng.common, global.breadcrumb, global.ng.router, global.rxjs, global.rxjs.operators, global.tieredmenu, global.tooltip, global.dom, global.calendar, global.ng.animations, global.ng.forms, global.ng.common.http, global.angular2Hotkeys, global.autocomplete, global.dialog, global.table, global.ng2CurrencyMask, global.seniorPlatformData, global.moment_, global.ngxCookieService, global.ng2CurrencyMask$1, global.button, global.checkbox, global.chips, global.dropdown, global.fieldset, global.inputmask, global.inputtext, global.inputtextarea, global.keyfilter, global.multiselect, global.panel, global.radiobutton, global.ng.platformBrowser, global.progressbar, global.core$1, global.Cropper, global.elementResizeDetectorMaker_, global.ng.cdk.a11y, global.scrollpanel, global.sidebar));
5
- }(this, (function (exports, core, common, breadcrumb, router, rxjs, operators, tieredmenu, tooltip, dom, calendar, animations, forms, http, angular2Hotkeys, autocomplete, dialog, table, ng2CurrencyMask, seniorPlatformData, moment_, ngxCookieService, ng2CurrencyMask$1, button, checkbox, chips, dropdown, fieldset, inputmask, inputtext, inputtextarea, keyfilter, multiselect, panel, radiobutton, platformBrowser, progressbar, core$1, Cropper, elementResizeDetectorMaker_, a11y, scrollpanel, sidebar) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('primeng/breadcrumb'), require('@angular/router'), require('rxjs'), require('rxjs/operators'), require('primeng/tieredmenu'), require('primeng/tooltip'), require('primeng/dom'), require('primeng/calendar'), require('@angular/animations'), require('@angular/forms'), require('@angular/common/http'), require('angular2-hotkeys'), require('bignumber.js'), require('primeng/autocomplete'), require('primeng/dialog'), require('primeng/table'), require('@seniorsistemas/ng2-currency-mask'), require('@seniorsistemas/senior-platform-data'), require('moment'), require('ngx-cookie-service'), require('ng2-currency-mask'), require('primeng/button'), require('primeng/checkbox'), require('primeng/chips'), require('primeng/dropdown'), require('primeng/fieldset'), require('primeng/inputmask'), require('primeng/inputtext'), require('primeng/inputtextarea'), require('primeng/keyfilter'), require('primeng/multiselect'), require('primeng/panel'), require('primeng/radiobutton'), require('@angular/platform-browser'), require('primeng/progressbar'), require('@ngx-translate/core'), require('cropperjs'), require('element-resize-detector'), require('@angular/cdk/a11y'), require('primeng/scrollpanel'), require('primeng/sidebar')) :
3
+ typeof define === 'function' && define.amd ? define('@seniorsistemas/angular-components', ['exports', '@angular/core', '@angular/common', 'primeng/breadcrumb', '@angular/router', 'rxjs', 'rxjs/operators', 'primeng/tieredmenu', 'primeng/tooltip', 'primeng/dom', 'primeng/calendar', '@angular/animations', '@angular/forms', '@angular/common/http', 'angular2-hotkeys', 'bignumber.js', 'primeng/autocomplete', 'primeng/dialog', 'primeng/table', '@seniorsistemas/ng2-currency-mask', '@seniorsistemas/senior-platform-data', 'moment', 'ngx-cookie-service', 'ng2-currency-mask', 'primeng/button', 'primeng/checkbox', 'primeng/chips', 'primeng/dropdown', 'primeng/fieldset', 'primeng/inputmask', 'primeng/inputtext', 'primeng/inputtextarea', 'primeng/keyfilter', 'primeng/multiselect', 'primeng/panel', 'primeng/radiobutton', '@angular/platform-browser', 'primeng/progressbar', '@ngx-translate/core', 'cropperjs', 'element-resize-detector', '@angular/cdk/a11y', 'primeng/scrollpanel', 'primeng/sidebar'], factory) :
4
+ (global = global || self, factory((global.seniorsistemas = global.seniorsistemas || {}, global.seniorsistemas['angular-components'] = {}), global.ng.core, global.ng.common, global.breadcrumb, global.ng.router, global.rxjs, global.rxjs.operators, global.tieredmenu, global.tooltip, global.dom, global.calendar, global.ng.animations, global.ng.forms, global.ng.common.http, global.angular2Hotkeys, global.BigNumber, global.autocomplete, global.dialog, global.table, global.ng2CurrencyMask, global.seniorPlatformData, global.moment_, global.ngxCookieService, global.ng2CurrencyMask$1, global.button, global.checkbox, global.chips, global.dropdown, global.fieldset, global.inputmask, global.inputtext, global.inputtextarea, global.keyfilter, global.multiselect, global.panel, global.radiobutton, global.ng.platformBrowser, global.progressbar, global.core$1, global.Cropper, global.elementResizeDetectorMaker_, global.ng.cdk.a11y, global.scrollpanel, global.sidebar));
5
+ }(this, (function (exports, core, common, breadcrumb, router, rxjs, operators, tieredmenu, tooltip, dom, calendar, animations, forms, http, angular2Hotkeys, BigNumber, autocomplete, dialog, table, ng2CurrencyMask, seniorPlatformData, moment_, ngxCookieService, ng2CurrencyMask$1, button, checkbox, chips, dropdown, fieldset, inputmask, inputtext, inputtextarea, keyfilter, multiselect, panel, radiobutton, platformBrowser, progressbar, core$1, Cropper, elementResizeDetectorMaker_, a11y, scrollpanel, sidebar) { 'use strict';
6
6
 
7
+ var BigNumber__default = 'default' in BigNumber ? BigNumber['default'] : BigNumber;
7
8
  Cropper = Cropper && Object.prototype.hasOwnProperty.call(Cropper, 'default') ? Cropper['default'] : Cropper;
8
9
 
9
10
  /*! *****************************************************************************
@@ -1352,6 +1353,54 @@
1352
1353
  return LocaleService;
1353
1354
  }());
1354
1355
 
1356
+ var LocalizedBignumberPipe = /** @class */ (function () {
1357
+ function LocalizedBignumberPipe(localeService) {
1358
+ this.localeService = localeService;
1359
+ }
1360
+ LocalizedBignumberPipe.prototype.transform = function (value, options) {
1361
+ return value !== undefined && value !== null ? this.applyMask(value, options) : rxjs.of(value);
1362
+ };
1363
+ LocalizedBignumberPipe.prototype.applyMask = function (value, options) {
1364
+ return this.localeService.get().pipe(operators.map(function (localeConfig) {
1365
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
1366
+ var configs = {
1367
+ prefix: (_c = (_a = options.prefix) !== null && _a !== void 0 ? _a : (_b = localeConfig === null || localeConfig === void 0 ? void 0 : localeConfig.number) === null || _b === void 0 ? void 0 : _b.currencySymbol) !== null && _c !== void 0 ? _c : "R$",
1368
+ thousandsSeparator: (_f = (_d = options === null || options === void 0 ? void 0 : options.thousandsSeparator) !== null && _d !== void 0 ? _d : (_e = localeConfig === null || localeConfig === void 0 ? void 0 : localeConfig.number) === null || _e === void 0 ? void 0 : _e.thousandsSeparator) !== null && _f !== void 0 ? _f : ".",
1369
+ decimalSeparator: (_j = (_g = options === null || options === void 0 ? void 0 : options.decimalSeparator) !== null && _g !== void 0 ? _g : (_h = localeConfig === null || localeConfig === void 0 ? void 0 : localeConfig.number) === null || _h === void 0 ? void 0 : _h.decimalSeparator) !== null && _j !== void 0 ? _j : ",",
1370
+ scale: (_k = options === null || options === void 0 ? void 0 : options.scale) !== null && _k !== void 0 ? _k : 2
1371
+ };
1372
+ var isNumber = !(new BigNumber__default(value).isNaN());
1373
+ return ng2CurrencyMask.applyMask(value, configs, isNumber);
1374
+ }));
1375
+ };
1376
+ LocalizedBignumberPipe.ctorParameters = function () { return [
1377
+ { type: LocaleService }
1378
+ ]; };
1379
+ LocalizedBignumberPipe = __decorate([
1380
+ core.Pipe({
1381
+ name: "localizedBignumber",
1382
+ })
1383
+ ], LocalizedBignumberPipe);
1384
+ return LocalizedBignumberPipe;
1385
+ }());
1386
+
1387
+ var LocalizedBignumberImpurePipe = /** @class */ (function (_super) {
1388
+ __extends(LocalizedBignumberImpurePipe, _super);
1389
+ function LocalizedBignumberImpurePipe() {
1390
+ return _super !== null && _super.apply(this, arguments) || this;
1391
+ }
1392
+ LocalizedBignumberImpurePipe.prototype.transform = function (value, options) {
1393
+ return _super.prototype.transform.call(this, value, options);
1394
+ };
1395
+ LocalizedBignumberImpurePipe = __decorate([
1396
+ core.Pipe({
1397
+ name: "localizedBignumberImpure",
1398
+ pure: false,
1399
+ })
1400
+ ], LocalizedBignumberImpurePipe);
1401
+ return LocalizedBignumberImpurePipe;
1402
+ }(LocalizedBignumberPipe));
1403
+
1355
1404
  var LocalizedCurrencyPipeOptions = /** @class */ (function (_super) {
1356
1405
  __extends(LocalizedCurrencyPipeOptions, _super);
1357
1406
  function LocalizedCurrencyPipeOptions(config) {
@@ -1362,6 +1411,9 @@
1362
1411
  }
1363
1412
  return LocalizedCurrencyPipeOptions;
1364
1413
  }(NumberLocaleOptions));
1414
+ /**
1415
+ * @deprecated Should use localizedBignumberPipe instead
1416
+ */
1365
1417
  var LocalizedCurrencyPipe = /** @class */ (function () {
1366
1418
  function LocalizedCurrencyPipe(localeService) {
1367
1419
  this.localeService = localeService;
@@ -1400,6 +1452,9 @@
1400
1452
  return LocalizedCurrencyPipe;
1401
1453
  }());
1402
1454
 
1455
+ /**
1456
+ * @deprecated Should use localizedBignumberPipe instead
1457
+ */
1403
1458
  var LocalizedCurrencyImpurePipe = /** @class */ (function (_super) {
1404
1459
  __extends(LocalizedCurrencyImpurePipe, _super);
1405
1460
  function LocalizedCurrencyImpurePipe() {
@@ -1452,6 +1507,9 @@
1452
1507
  return LocalizedDateImpurePipe;
1453
1508
  }(LocalizedDatePipe));
1454
1509
 
1510
+ /**
1511
+ * @deprecated Should use localizedBignumberPipe instead
1512
+ */
1455
1513
  var LocalizedNumberPipe = /** @class */ (function () {
1456
1514
  function LocalizedNumberPipe(localeService) {
1457
1515
  this.localeService = localeService;
@@ -1525,6 +1583,8 @@
1525
1583
  LocalizedCurrencyImpurePipe,
1526
1584
  LocalizedDateImpurePipe,
1527
1585
  LocalizedTimeImpurePipe,
1586
+ LocalizedBignumberPipe,
1587
+ LocalizedBignumberImpurePipe
1528
1588
  ],
1529
1589
  };
1530
1590
  };
@@ -1545,6 +1605,8 @@
1545
1605
  LocalizedCurrencyImpurePipe,
1546
1606
  LocalizedDateImpurePipe,
1547
1607
  LocalizedTimeImpurePipe,
1608
+ LocalizedBignumberPipe,
1609
+ LocalizedBignumberImpurePipe
1548
1610
  ],
1549
1611
  declarations: [
1550
1612
  LocalizedCurrencyPipe,
@@ -1554,6 +1616,8 @@
1554
1616
  LocalizedCurrencyImpurePipe,
1555
1617
  LocalizedDateImpurePipe,
1556
1618
  LocalizedTimeImpurePipe,
1619
+ LocalizedBignumberPipe,
1620
+ LocalizedBignumberImpurePipe
1557
1621
  ],
1558
1622
  })
1559
1623
  ], LocaleModule);
@@ -1563,11 +1627,12 @@
1563
1627
  var BignumberField = /** @class */ (function (_super) {
1564
1628
  __extends(BignumberField, _super);
1565
1629
  function BignumberField(config) {
1630
+ var _a;
1566
1631
  var _this = _super.call(this, config) || this;
1567
1632
  _this.numberLocaleOptions = config.numberLocaleOptions || DEFAULT_NUMBER_LOCALE_OPTIONS;
1568
1633
  _this.browserAutocomplete = config.browserAutocomplete;
1569
1634
  _this.precision = config.precision;
1570
- _this.scale = config.scale || 0;
1635
+ _this.scale = (_a = config.scale) !== null && _a !== void 0 ? _a : 2;
1571
1636
  _this.alignTo = _this.scale ? ng2CurrencyMask.AlignmentOptions.RIGHT : ng2CurrencyMask.AlignmentOptions.LEFT;
1572
1637
  _this.mask = config.mask;
1573
1638
  _this.leftAddon = config.leftAddon;
@@ -2211,7 +2276,7 @@
2211
2276
  return this.emptyFieldLabel;
2212
2277
  };
2213
2278
  LookupComponent.prototype.isNumber = function (obj, path) {
2214
- return typeof this.getFieldValue(obj, path) === "number";
2279
+ return !(new BigNumber__default(this.getFieldValue(obj, path)).isNaN());
2215
2280
  };
2216
2281
  LookupComponent.prototype.setHotkeys = function () {
2217
2282
  var _this = this;
@@ -2253,6 +2318,15 @@
2253
2318
  LookupComponent.prototype.isFunction = function (value) {
2254
2319
  return value instanceof Function;
2255
2320
  };
2321
+ LookupComponent.prototype.getNumberMaskConfig = function (col) {
2322
+ var _a, _b, _c;
2323
+ return {
2324
+ scale: this.getScale(col.scale),
2325
+ decimalSeparator: (_a = col.numberLocaleOptions) === null || _a === void 0 ? void 0 : _a.decimalSeparator,
2326
+ thousandsSeparator: (_b = col.numberLocaleOptions) === null || _b === void 0 ? void 0 : _b.thousandsSeparator,
2327
+ prefix: (_c = col.numberLocaleOptions) === null || _c === void 0 ? void 0 : _c.currencySymbol
2328
+ };
2329
+ };
2256
2330
  var LookupComponent_1;
2257
2331
  LookupComponent.nextId = 0;
2258
2332
  LookupComponent.ctorParameters = function () { return [
@@ -2387,7 +2461,7 @@
2387
2461
  LookupComponent = LookupComponent_1 = __decorate([
2388
2462
  core.Component({
2389
2463
  selector: "s-lookup",
2390
- template: "<div [ngClass]=\"{ inputgroup: showSearch }\">\n <p-autoComplete\n #autocomplete\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"true\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"lazyLoadLookup($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [emptyMessage]=\"lookupEmptyMessage\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\"\n >\n </p-autoComplete>\n\n <button\n *ngIf=\"showSearch\"\n pButton\n type=\"button\"\n icon=\"fa fa-search\"\n class=\"button-addon\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\"\n ></button>\n</div>\n\n<p-dialog\n appendTo=\"body\"\n styleClass=\"s-lookup-modal\"\n [header]=\"searchTitle\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n (onHide)=\"hideDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"true\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n #dialog\n>\n <div *ngIf=\"dialogVisible\" class=\"s-lookup-modal-container\">\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter\"\n [@collapseContent]=\"collapsed ? {value: 'hidden', params: {transitionParams: transitionOptions }} : {value: 'visible', params: {transitionParams: transitionOptions}}\"\n (@collapseContent.done)=\"onToggleDone()\">\n <form [formGroup]=\"formGroupDialog\" novalidate autocomplete=\"off\">\n <div *ngIf=\"!collapsed\"\n [@childCollapseContent]=\"collapsed ? {value: ':leave', params: {transitionParams: transitionOptions }} : {value: ':enter', params: {transitionParams: transitionOptions}}\"\n class=\"form-content\">\n <div class=\"filter-title sds-section-title\">{{ filterTitle }}</div>\n <div class=\"form-fields\">\n <s-dynamic-form [fields]=\"searchFields\" [form]=\"formGroupDialog\"></s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"filterLabel\"\n (onClick)=\"search()\"\n pTooltip=\"(ALT + SHIFT + F)\"\n showDelay=\"500\"\n ></s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"clearLabel\"\n (onClick)=\"clear()\"\n priority=\"link\"\n pTooltip=\"(ALT + SHIFT + L)\"\n showDelay=\"500\"\n ></s-button>\n </div>\n </div>\n </div>\n </form> \n </div>\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter-toggle\">\n <div class=\"filter-toggle--start-border-mask\"></div>\n <button [id]=\"id + '-filter-toggle-button'\" type=\"button\" (click)=\"filterToggle()\">\n <span class=\"fa\" [ngClass]=\"{'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed}\"\n aria-hidden=\"true\"></span>\n </button>\n <div class=\"filter-toggle--end-border-mask\"></div>\n </div>\n <div class=\"content\" [ngClass]=\"{'empty-content': !searchTotalRecords && !loading}\">\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n *ngIf=\"!searchTotalRecords && !loading\"\n [title]=\"searchEmptyTitle\"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\"\n ></s-empty-state>\n\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n *sLoadingState=\"loading\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngIf=\"multiple\" style=\"width: 50px\" />\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngIf=\"multiple\" style=\"width: 50px\">\n <s-table-header-checkbox [useAllObject]=\"lookupRowProps ? false : true\" [rowProps]=\"lookupRowProps\"></s-table-header-checkbox>\n </th>\n <th\n [style.width]=\"col.width\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled?.includes(col.name)\"\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n <p-sortIcon [field]=\"col.name\" *ngIf=\"!sortableColumnsDisabled?.includes(col.name)\"></p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns let-rowIndex=\"rowIndex\">\n <tr sNavigation [pSelectableRow]=\"rowData\" [pSelectableRowIndex]=\"rowIndex\">\n <td *ngIf=\"multiple\" style=\"width: 50px\" tabindex=\"0\">\n <p-tableCheckbox [value]=\"rowData\" [pSelectableRow]=\"rowData\"></p-tableCheckbox>\n </td>\n <td\n [style.width]=\"col['width']\"\n *ngFor=\"let col of searchGridFields\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\"\n >\n <ng-container *ngSwitchCase=\"'Boolean'\">\n <ng-container *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getBooleanLabel(rowData, col.name, col.optionsLabel) }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Date'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate: \"L\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'DateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Time'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedTime | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Double'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedNumber: getScale(col.scale) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Money'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedCurrency | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Enum'\">\n <ng-container\n *ngIf=\"getLabelForValue(getFieldValue(rowData, col.name), col.options); else emptyTemplate\"\n >\n <span> {{ getLabelForValue(getFieldValue(rowData, col.name), col.options) }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"col.mask && col.mask()\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name))\">\n <span>{{ getFieldValue(rowData, col.name) | sMaskFormatter: col.mask() }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(col.mask && col.mask())\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name)); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{\n searchTotalRecordsLabel ||\n searchTotalRecords?.toString() + (searchTotalRecords === 1 ? recordLabel : recordsLabel)\n }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <p-footer>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"selectLabel\"\n (onClick)=\"select()\"\n pTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\"\n [disabled]=\"!selected?.length\"\n ></s-button>\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"cancelLabel\"\n (onClick)=\"hideDialog()\"\n pTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\"\n ></s-button>\n </p-footer>\n</p-dialog>\n\n<ng-template #emptyTemplate>\n <span [ngClass]=\"'sds-empty-value'\">{{ emptyFieldLabel }}</span>\n</ng-template>\n",
2464
+ template: "<div [ngClass]=\"{ inputgroup: showSearch }\">\n <p-autoComplete\n #autocomplete\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"true\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"lazyLoadLookup($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [emptyMessage]=\"lookupEmptyMessage\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\"\n >\n </p-autoComplete>\n\n <button\n *ngIf=\"showSearch\"\n pButton\n type=\"button\"\n icon=\"fa fa-search\"\n class=\"button-addon\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\"\n ></button>\n</div>\n\n<p-dialog\n appendTo=\"body\"\n styleClass=\"s-lookup-modal\"\n [header]=\"searchTitle\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n (onHide)=\"hideDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"true\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n #dialog\n>\n <div *ngIf=\"dialogVisible\" class=\"s-lookup-modal-container\">\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter\"\n [@collapseContent]=\"collapsed ? {value: 'hidden', params: {transitionParams: transitionOptions }} : {value: 'visible', params: {transitionParams: transitionOptions}}\"\n (@collapseContent.done)=\"onToggleDone()\">\n <form [formGroup]=\"formGroupDialog\" novalidate autocomplete=\"off\">\n <div *ngIf=\"!collapsed\"\n [@childCollapseContent]=\"collapsed ? {value: ':leave', params: {transitionParams: transitionOptions }} : {value: ':enter', params: {transitionParams: transitionOptions}}\"\n class=\"form-content\">\n <div class=\"filter-title sds-section-title\">{{ filterTitle }}</div>\n <div class=\"form-fields\">\n <s-dynamic-form [fields]=\"searchFields\" [form]=\"formGroupDialog\"></s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"filterLabel\"\n (onClick)=\"search()\"\n pTooltip=\"(ALT + SHIFT + F)\"\n showDelay=\"500\"\n ></s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"clearLabel\"\n (onClick)=\"clear()\"\n priority=\"link\"\n pTooltip=\"(ALT + SHIFT + L)\"\n showDelay=\"500\"\n ></s-button>\n </div>\n </div>\n </div>\n </form> \n </div>\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter-toggle\">\n <div class=\"filter-toggle--start-border-mask\"></div>\n <button [id]=\"id + '-filter-toggle-button'\" type=\"button\" (click)=\"filterToggle()\">\n <span class=\"fa\" [ngClass]=\"{'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed}\"\n aria-hidden=\"true\"></span>\n </button>\n <div class=\"filter-toggle--end-border-mask\"></div>\n </div>\n <div class=\"content\" [ngClass]=\"{'empty-content': !searchTotalRecords && !loading}\">\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n *ngIf=\"!searchTotalRecords && !loading\"\n [title]=\"searchEmptyTitle\"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\"\n ></s-empty-state>\n\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n *sLoadingState=\"loading\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngIf=\"multiple\" style=\"width: 50px\" />\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngIf=\"multiple\" style=\"width: 50px\">\n <s-table-header-checkbox [useAllObject]=\"lookupRowProps ? false : true\" [rowProps]=\"lookupRowProps\"></s-table-header-checkbox>\n </th>\n <th\n [style.width]=\"col.width\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled?.includes(col.name)\"\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n <p-sortIcon [field]=\"col.name\" *ngIf=\"!sortableColumnsDisabled?.includes(col.name)\"></p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns let-rowIndex=\"rowIndex\">\n <tr sNavigation [pSelectableRow]=\"rowData\" [pSelectableRowIndex]=\"rowIndex\">\n <td *ngIf=\"multiple\" style=\"width: 50px\" tabindex=\"0\">\n <p-tableCheckbox [value]=\"rowData\" [pSelectableRow]=\"rowData\"></p-tableCheckbox>\n </td>\n <td\n [style.width]=\"col['width']\"\n *ngFor=\"let col of searchGridFields\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\"\n >\n <ng-container *ngSwitchCase=\"'Boolean'\">\n <ng-container *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getBooleanLabel(rowData, col.name, col.optionsLabel) }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Date'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate: \"L\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'DateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Time'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedTime | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Double'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedNumber: getScale(col.scale) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Money'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedCurrency | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Number'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getNumberMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Enum'\">\n <ng-container\n *ngIf=\"getLabelForValue(getFieldValue(rowData, col.name), col.options); else emptyTemplate\"\n >\n <span> {{ getLabelForValue(getFieldValue(rowData, col.name), col.options) }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"col.mask && col.mask()\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name))\">\n <span>{{ getFieldValue(rowData, col.name) | sMaskFormatter: col.mask() }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(col.mask && col.mask())\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name)); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{\n searchTotalRecordsLabel ||\n searchTotalRecords?.toString() + (searchTotalRecords === 1 ? recordLabel : recordsLabel)\n }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <p-footer>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"selectLabel\"\n (onClick)=\"select()\"\n pTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\"\n [disabled]=\"!selected?.length\"\n ></s-button>\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"cancelLabel\"\n (onClick)=\"hideDialog()\"\n pTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\"\n ></s-button>\n </p-footer>\n</p-dialog>\n\n<ng-template #emptyTemplate>\n <span [ngClass]=\"'sds-empty-value'\">{{ emptyFieldLabel }}</span>\n</ng-template>\n",
2391
2465
  providers: [
2392
2466
  {
2393
2467
  provide: forms.NG_VALUE_ACCESSOR,
@@ -3818,7 +3892,7 @@
3818
3892
  return uninformed;
3819
3893
  }
3820
3894
  else {
3821
- var numberConfigs = __assign(__assign({}, locale.number), { scale: column.scale ? _this.getColumnScale(column.scale) : locale.number.scale });
3895
+ var numberConfigs = __assign(__assign({}, locale.number), { scale: column.scale ? _this.getColumnScale(column.scale) : locale.number.scale, prefix: locale.number.currencySymbol + " " });
3822
3896
  switch (column.type) {
3823
3897
  case exports.EnumColumnFieldType.ENUM:
3824
3898
  if (column.badgeConfigs && column.badgeConfigs.length) {
@@ -3826,7 +3900,7 @@
3826
3900
  }
3827
3901
  return _this.translate.instant(column.enumPrefix + attributeValue.toString().toLowerCase());
3828
3902
  case exports.EnumColumnFieldType.CURRENCY:
3829
- return _this.applyMask(attributeValue, numberConfigs);
3903
+ return ng2CurrencyMask.applyMask(attributeValue, numberConfigs, _this.isNumber(attributeValue));
3830
3904
  case exports.EnumColumnFieldType.DATE:
3831
3905
  var dateFormat = column.dateFormat ? column.dateFormat : locale.calendar.dateFormat;
3832
3906
  return moment_(attributeValue).format(dateFormat);
@@ -3837,7 +3911,8 @@
3837
3911
  case exports.EnumColumnFieldType.STRING:
3838
3912
  return attributeValue;
3839
3913
  case exports.EnumColumnFieldType.NUMBER:
3840
- return _this.applyMask(attributeValue, numberConfigs, false);
3914
+ numberConfigs.prefix = "";
3915
+ return ng2CurrencyMask.applyMask(attributeValue, numberConfigs, _this.isNumber(attributeValue));
3841
3916
  case exports.EnumColumnFieldType.TOKENS:
3842
3917
  return _this.getTokens(attributeValue);
3843
3918
  }
@@ -3892,21 +3967,8 @@
3892
3967
  return tooltip;
3893
3968
  }
3894
3969
  };
3895
- TableColumnsComponent.prototype.applyMask = function (value, options, useCurrencySymbol) {
3896
- if (useCurrencySymbol === void 0) { useCurrencySymbol = true; }
3897
- var scale = options.scale, thousandsSeparator = options.thousandsSeparator, decimalSeparator = options.decimalSeparator;
3898
- var currencySymbol = useCurrencySymbol ? options.currencySymbol : "";
3899
- var rawValue = Number(value ? value : 0).toFixed(scale);
3900
- var onlyNumbers = rawValue.replace(/[^0-9]/g, "");
3901
- var integerPart = onlyNumbers
3902
- .slice(0, onlyNumbers.length - scale)
3903
- .replace(/^0*/g, "")
3904
- .replace(/\B(?=(\d{3})+(?!\d))/g, thousandsSeparator) || "0";
3905
- var decimalPart = onlyNumbers.slice(onlyNumbers.length - scale);
3906
- var newValue = scale ? integerPart + decimalSeparator + decimalPart : integerPart;
3907
- var isZero = !Number(onlyNumbers);
3908
- var operator = rawValue.includes("-") && !isZero ? "-" : "";
3909
- return "" + operator + currencySymbol + " " + newValue;
3970
+ TableColumnsComponent.prototype.isNumber = function (value) {
3971
+ return !(new BigNumber__default(value).isNaN());
3910
3972
  };
3911
3973
  TableColumnsComponent.prototype.getTokens = function (values) {
3912
3974
  if (!this.isArray(values))
@@ -3970,9 +4032,9 @@
3970
4032
  ], TableColumnsComponent.prototype, "locale", void 0);
3971
4033
  TableColumnsComponent = __decorate([
3972
4034
  core.Component({
3973
- template: "\n<ng-template #columnsTemplate>\n <td *ngFor=\"let column of formattedColumns\" [ngStyle]=\"column.style\" (click)=\"column.onColumnClick ? column.onColumnClick(rowValue) : null\">\n\n <div *ngIf=\"column.type !== 'TOKENS' || !isArray(column.columnValue); else tokensTemplate\">\n\n <span *ngIf=\"column.type !== 'LINK'\" [pTooltip]=\"column.tooltip\" [escape]=\"false\" [ngClass]=\"column.badgeClass\">\n <ng-container *ngTemplateOutlet=\"columnValueTemplate\"></ng-container> \n </span>\n\n <a *ngIf=\"column.type === 'LINK'\" [pTooltip]=\"column.tooltip\" [escape]=\"false\" (click)=\"column.onLinkClick ? column.onLinkClick(rowValue) : null\">\n <ng-container *ngTemplateOutlet=\"columnValueTemplate\"></ng-container> \n </a>\n\n <ng-template #columnValueTemplate>\n <span *ngFor=\"let value of getSplittedString(column)\">\n <span [ngClass]=\"{ 'sds-pale-text': value.isUninformed }\">{{value.value}}</span>\n <span>{{value.separator}}</span>\n </span>\n </ng-template>\n\n </div>\n\n <ng-template #tokensTemplate>\n <s-token-list\n [tokens]=\"column.columnValue\"\n [hidePointerEvents]=\"true\"\n >\n </s-token-list>\n </ng-template>\n\n </td>\n</ng-template>\n",
4035
+ template: "\n<ng-template #columnsTemplate>\n <td *ngFor=\"let column of formattedColumns\" [ngStyle]=\"column.style\" (click)=\"column.onColumnClick ? column.onColumnClick(rowValue) : null\">\n\n <div *ngIf=\"column.type !== 'TOKENS' || !isArray(column.columnValue); else tokensTemplate\">\n\n <span *ngIf=\"column.type !== 'LINK'\" [pTooltip]=\"column.tooltip\" [escape]=\"false\" [ngClass]=\"column.badgeClass\">\n <ng-container *ngTemplateOutlet=\"columnValueTemplate\"></ng-container> \n </span>\n\n <a *ngIf=\"column.type === 'LINK'\" [pTooltip]=\"column.tooltip\" [escape]=\"false\" (click)=\"column.onLinkClick ? column.onLinkClick(rowValue) : null\">\n <ng-container *ngTemplateOutlet=\"columnValueTemplate\"></ng-container> \n </a>\n\n <ng-template #columnValueTemplate>\n <span *ngFor=\"let value of getSplittedString(column)\">\n <span [ngClass]=\"{ 'sds-empty-value': value.isUninformed }\">{{value.value}}</span>\n <span>{{value.separator}}</span>\n </span>\n </ng-template>\n\n </div>\n\n <ng-template #tokensTemplate>\n <s-token-list\n [tokens]=\"column.columnValue\"\n [hidePointerEvents]=\"true\"\n >\n </s-token-list>\n </ng-template>\n\n </td>\n</ng-template>\n",
3974
4036
  selector: "s-table-columns",
3975
- styles: [".sds-pale-text{color:#999}:host{display:none}"]
4037
+ styles: [":host{display:none}"]
3976
4038
  }),
3977
4039
  __param(2, core.Inject("hostProjectConfigs"))
3978
4040
  ], TableColumnsComponent);
@@ -6467,43 +6529,43 @@
6467
6529
  });
6468
6530
  StatsCardComponent.prototype.updateDisplayValue = function () {
6469
6531
  var _this = this;
6470
- var previousRawValue = Number(this.previousValue.replace(/[^\d]/g, ""));
6471
- var rawValue = Number(this.value.replace(/[^\d]/g, ""));
6472
- var incrementValue = Math.ceil(Math.abs(rawValue - previousRawValue) / (this.ANIMATION_DURATION_MS / this.STEP_DURATION_MS));
6473
- var incremental = previousRawValue < rawValue;
6532
+ var previousRawValue = new BigNumber.BigNumber(this.previousValue.replace(/\D/g, ""));
6533
+ var rawValue = new BigNumber.BigNumber(this.value.replace(/\D/g, ""));
6534
+ var eachAnimationDuration = new BigNumber.BigNumber(this.ANIMATION_DURATION_MS).dividedBy(new BigNumber.BigNumber(this.STEP_DURATION_MS));
6535
+ var incrementValue = rawValue.minus(previousRawValue).absoluteValue().dividedBy(eachAnimationDuration).dp(0, 7);
6536
+ var incremental = previousRawValue.isLessThan(rawValue);
6474
6537
  clearInterval(this.intervalId);
6475
6538
  this.displayValue = this.replaceNumericPositions(this.value);
6476
6539
  var counter = previousRawValue;
6477
6540
  this.intervalId = setInterval(function () {
6478
- if (incremental && counter < rawValue) {
6479
- _this.displayValue = _this.replaceNumericPositions(_this.displayValue, String(counter));
6480
- counter += incrementValue;
6541
+ if (incremental && counter.isLessThan(rawValue)) {
6542
+ _this.displayValue = _this.replaceNumericPositions(_this.displayValue, counter);
6543
+ counter = counter.plus(incrementValue);
6481
6544
  }
6482
- else if (incremental) {
6483
- _this.displayValue = _this.value;
6484
- clearInterval(_this.intervalId);
6545
+ else if (!incremental && counter.isGreaterThan(rawValue)) {
6546
+ _this.displayValue = _this.replaceNumericPositions(_this.displayValue, counter);
6547
+ counter = counter.minus(incrementValue);
6485
6548
  }
6486
- else if (!incremental && counter > rawValue) {
6487
- _this.displayValue = _this.replaceNumericPositions(_this.displayValue, String(counter));
6488
- counter -= incrementValue;
6489
- }
6490
- else if (!incremental) {
6549
+ else {
6491
6550
  _this.displayValue = _this.value;
6492
6551
  clearInterval(_this.intervalId);
6493
6552
  }
6494
6553
  }, this.STEP_DURATION_MS);
6495
6554
  };
6496
6555
  StatsCardComponent.prototype.replaceNumericPositions = function (value, newValue) {
6497
- if (newValue === void 0) { newValue = ""; }
6498
6556
  var rawValue = value.replace(/[^\d]/g, "");
6499
- var newValueString = newValue.replace(/[^\d]/g, "").padStart(rawValue.length, "0");
6557
+ var newValueString = newValue ? newValue.toString() : "";
6558
+ var formattedNewValue = newValueString
6559
+ .toString()
6560
+ .replace(/\D/g, "")
6561
+ .padStart(rawValue.length, "0");
6500
6562
  var newValueIndex = 0;
6501
6563
  return value
6502
6564
  .split("")
6503
6565
  .map(function (char) {
6504
6566
  var number = Number(char);
6505
6567
  if (number || char === "0")
6506
- return newValueString[newValueIndex++];
6568
+ return formattedNewValue[newValueIndex++];
6507
6569
  return char;
6508
6570
  })
6509
6571
  .join("");
@@ -7190,37 +7252,39 @@
7190
7252
  exports.TokenListComponent = TokenListComponent;
7191
7253
  exports.TokenListModule = TokenListModule;
7192
7254
  exports.ɵa = LocalizedCurrencyImpurePipe;
7193
- exports.ɵb = TokenListModule;
7194
- exports.ɵba = HeaderComponent;
7195
- exports.ɵbb = FooterComponent;
7196
- exports.ɵbc = InfoSignComponent;
7197
- exports.ɵbd = NumberLocaleOptions;
7198
- exports.ɵbe = ThumbnailService;
7199
- exports.ɵbf = InfiniteScrollModule;
7200
- exports.ɵbg = InfiniteScrollDirective;
7201
- exports.ɵc = TableColumnsComponent;
7202
- exports.ɵd = InfoSignModule;
7203
- exports.ɵe = AutocompleteFieldComponent;
7204
- exports.ɵf = BooleanFieldComponent;
7205
- exports.ɵg = CalendarFieldComponent;
7206
- exports.ɵh = ChipsFieldComponent;
7207
- exports.ɵi = CurrencyFieldComponent;
7208
- exports.ɵj = BaseFieldComponent;
7209
- exports.ɵk = DynamicFieldComponent;
7210
- exports.ɵl = DynamicFormDirective;
7211
- exports.ɵm = FieldsetComponent;
7212
- exports.ɵn = FileUploadComponent$1;
7213
- exports.ɵo = LookupFieldComponent;
7214
- exports.ɵp = NumberFieldComponent;
7215
- exports.ɵq = BignumberFieldComponent;
7216
- exports.ɵr = RadioButtonComponent;
7217
- exports.ɵs = RowComponent;
7218
- exports.ɵt = SectionComponent;
7219
- exports.ɵu = SelectFieldComponent;
7220
- exports.ɵv = TextAreaFieldComponent;
7221
- exports.ɵw = TextFieldComponent;
7222
- exports.ɵy = DecimalField;
7223
- exports.ɵz = StructureModule;
7255
+ exports.ɵb = LocalizedBignumberPipe;
7256
+ exports.ɵba = DecimalField;
7257
+ exports.ɵbb = StructureModule;
7258
+ exports.ɵbc = HeaderComponent;
7259
+ exports.ɵbd = FooterComponent;
7260
+ exports.ɵbe = InfoSignComponent;
7261
+ exports.ɵbf = NumberLocaleOptions;
7262
+ exports.ɵbg = ThumbnailService;
7263
+ exports.ɵbh = InfiniteScrollModule;
7264
+ exports.ɵbi = InfiniteScrollDirective;
7265
+ exports.ɵc = LocalizedBignumberImpurePipe;
7266
+ exports.ɵd = TokenListModule;
7267
+ exports.ɵe = TableColumnsComponent;
7268
+ exports.ɵf = InfoSignModule;
7269
+ exports.ɵg = AutocompleteFieldComponent;
7270
+ exports.ɵh = BooleanFieldComponent;
7271
+ exports.ɵi = CalendarFieldComponent;
7272
+ exports.ɵj = ChipsFieldComponent;
7273
+ exports.ɵk = CurrencyFieldComponent;
7274
+ exports.ɵl = BaseFieldComponent;
7275
+ exports.ɵm = DynamicFieldComponent;
7276
+ exports.ɵn = DynamicFormDirective;
7277
+ exports.ɵo = FieldsetComponent;
7278
+ exports.ɵp = FileUploadComponent$1;
7279
+ exports.ɵq = LookupFieldComponent;
7280
+ exports.ɵr = NumberFieldComponent;
7281
+ exports.ɵs = BignumberFieldComponent;
7282
+ exports.ɵt = RadioButtonComponent;
7283
+ exports.ɵu = RowComponent;
7284
+ exports.ɵv = SectionComponent;
7285
+ exports.ɵw = SelectFieldComponent;
7286
+ exports.ɵx = TextAreaFieldComponent;
7287
+ exports.ɵy = TextFieldComponent;
7224
7288
 
7225
7289
  Object.defineProperty(exports, '__esModule', { value: true });
7226
7290