@seniorsistemas/angular-components 14.4.1 → 14.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +414 -99
  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/bignumber-input/index.d.ts +2 -0
  6. package/components/bignumber-input/number-input.directive.d.ts +22 -0
  7. package/components/bignumber-input/number-input.module.d.ts +2 -0
  8. package/components/dynamic-form/components/fields/bignumber/number-field.component.d.ts +16 -0
  9. package/components/dynamic-form/components/fields/currency/currency-field.component.d.ts +3 -0
  10. package/components/dynamic-form/components/fields/number/number-field.component.d.ts +3 -0
  11. package/components/dynamic-form/components/lookup/lookup.component.d.ts +3 -0
  12. package/components/dynamic-form/configurations/dynamic-type.d.ts +2 -1
  13. package/components/dynamic-form/configurations/field-type.d.ts +11 -1
  14. package/components/dynamic-form/configurations/fields/bignumber-field.d.ts +32 -0
  15. package/components/dynamic-form/configurations/fields/currency-field.d.ts +3 -0
  16. package/components/dynamic-form/configurations/fields/decimal-field.d.ts +6 -0
  17. package/components/dynamic-form/configurations/fields/number-field.d.ts +6 -0
  18. package/components/dynamic-form/configurations/form-field.d.ts +5 -1
  19. package/components/dynamic-form/index.d.ts +1 -0
  20. package/components/locale/pipes/localized-bignumber-impure.pipe.d.ts +6 -0
  21. package/components/locale/pipes/localized-bignumber.pipe.d.ts +9 -0
  22. package/components/locale/pipes/localized-currency-impure.pipe.d.ts +3 -0
  23. package/components/locale/pipes/localized-currency.pipe.d.ts +3 -0
  24. package/components/locale/pipes/localized-number.pipe.d.ts +3 -0
  25. package/components/number-input/number-input.directive.d.ts +6 -0
  26. package/components/number-input/number-input.module.d.ts +3 -0
  27. package/components/stats-card/stats-card.component.d.ts +2 -1
  28. package/esm2015/components/bignumber-input/index.js +3 -0
  29. package/esm2015/components/bignumber-input/number-input.directive.js +97 -0
  30. package/esm2015/components/bignumber-input/number-input.module.js +15 -0
  31. package/esm2015/components/dynamic-form/components/fields/bignumber/number-field.component.js +60 -0
  32. package/esm2015/components/dynamic-form/components/fields/currency/currency-field.component.js +4 -1
  33. package/esm2015/components/dynamic-form/components/fields/number/number-field.component.js +4 -1
  34. package/esm2015/components/dynamic-form/components/lookup/lookup.component.js +13 -3
  35. package/esm2015/components/dynamic-form/configurations/dynamic-config.js +4 -1
  36. package/esm2015/components/dynamic-form/configurations/dynamic-type.js +2 -1
  37. package/esm2015/components/dynamic-form/configurations/field-type.js +11 -1
  38. package/esm2015/components/dynamic-form/configurations/fields/bignumber-field.js +22 -0
  39. package/esm2015/components/dynamic-form/configurations/fields/currency-field.js +4 -1
  40. package/esm2015/components/dynamic-form/configurations/fields/decimal-field.js +4 -1
  41. package/esm2015/components/dynamic-form/configurations/fields/number-field.js +4 -1
  42. package/esm2015/components/dynamic-form/configurations/form-field.js +4 -1
  43. package/esm2015/components/dynamic-form/dynamic-form.js +4 -1
  44. package/esm2015/components/dynamic-form/dynamic-form.module.js +6 -1
  45. package/esm2015/components/dynamic-form/index.js +2 -1
  46. package/esm2015/components/locale/locale.module.js +9 -1
  47. package/esm2015/components/locale/pipes/localized-bignumber-impure.pipe.js +16 -0
  48. package/esm2015/components/locale/pipes/localized-bignumber.pipe.js +38 -0
  49. package/esm2015/components/locale/pipes/localized-currency-impure.pipe.js +4 -1
  50. package/esm2015/components/locale/pipes/localized-currency.pipe.js +4 -1
  51. package/esm2015/components/locale/pipes/localized-number.pipe.js +4 -1
  52. package/esm2015/components/number-input/number-input.directive.js +7 -1
  53. package/esm2015/components/number-input/number-input.module.js +4 -1
  54. package/esm2015/components/stats-card/stats-card.component.js +21 -19
  55. package/esm2015/components/table/table-column/table-columns.component.js +3 -3
  56. package/esm2015/public-api.js +5 -1
  57. package/esm2015/seniorsistemas-angular-components.js +34 -31
  58. package/esm5/components/bignumber-input/index.js +3 -0
  59. package/esm5/components/bignumber-input/number-input.directive.js +101 -0
  60. package/esm5/components/bignumber-input/number-input.module.js +18 -0
  61. package/esm5/components/dynamic-form/components/fields/bignumber/number-field.component.js +68 -0
  62. package/esm5/components/dynamic-form/components/fields/currency/currency-field.component.js +4 -1
  63. package/esm5/components/dynamic-form/components/fields/number/number-field.component.js +4 -1
  64. package/esm5/components/dynamic-form/components/lookup/lookup.component.js +13 -3
  65. package/esm5/components/dynamic-form/configurations/dynamic-config.js +4 -1
  66. package/esm5/components/dynamic-form/configurations/dynamic-type.js +2 -1
  67. package/esm5/components/dynamic-form/configurations/field-type.js +11 -1
  68. package/esm5/components/dynamic-form/configurations/fields/bignumber-field.js +27 -0
  69. package/esm5/components/dynamic-form/configurations/fields/currency-field.js +4 -1
  70. package/esm5/components/dynamic-form/configurations/fields/decimal-field.js +4 -1
  71. package/esm5/components/dynamic-form/configurations/fields/number-field.js +4 -1
  72. package/esm5/components/dynamic-form/configurations/form-field.js +4 -1
  73. package/esm5/components/dynamic-form/dynamic-form.js +4 -1
  74. package/esm5/components/dynamic-form/dynamic-form.module.js +6 -1
  75. package/esm5/components/dynamic-form/index.js +2 -1
  76. package/esm5/components/locale/locale.module.js +9 -1
  77. package/esm5/components/locale/pipes/localized-bignumber-impure.pipe.js +21 -0
  78. package/esm5/components/locale/pipes/localized-bignumber.pipe.js +39 -0
  79. package/esm5/components/locale/pipes/localized-currency-impure.pipe.js +4 -1
  80. package/esm5/components/locale/pipes/localized-currency.pipe.js +4 -1
  81. package/esm5/components/locale/pipes/localized-number.pipe.js +4 -1
  82. package/esm5/components/number-input/number-input.directive.js +7 -1
  83. package/esm5/components/number-input/number-input.module.js +4 -1
  84. package/esm5/components/stats-card/stats-card.component.js +20 -19
  85. package/esm5/components/table/table-column/table-columns.component.js +3 -3
  86. package/esm5/public-api.js +5 -1
  87. package/esm5/seniorsistemas-angular-components.js +34 -31
  88. package/fesm2015/seniorsistemas-angular-components.js +345 -58
  89. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  90. package/fesm5/seniorsistemas-angular-components.js +375 -65
  91. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  92. package/package.json +3 -1
  93. package/public-api.d.ts +4 -0
  94. package/seniorsistemas-angular-components.d.ts +33 -30
  95. package/seniorsistemas-angular-components.metadata.json +1 -1
@@ -13,9 +13,11 @@ import { trigger, state, style, transition, animate, group, query, animateChild
13
13
  import { FormsModule, ReactiveFormsModule, NG_VALUE_ACCESSOR, FormControl, FormGroup, NG_VALIDATORS, Validators, FormArray } from '@angular/forms';
14
14
  import { HttpClient, HttpEventType, HttpClientModule } from '@angular/common/http';
15
15
  import { Hotkey, HotkeysService, HotkeyModule } from 'angular2-hotkeys';
16
+ import BigNumber, { BigNumber as BigNumber$1 } from 'bignumber.js';
16
17
  import { AutoComplete, AutoCompleteModule } from 'primeng/autocomplete';
17
18
  import { Dialog, DialogModule } from 'primeng/dialog';
18
19
  import { Table, TableService, RowToggler, TableModule as TableModule$1 } from 'primeng/table';
20
+ import { applyMask, AlignmentOptions, CurrencyMaskDirective as CurrencyMaskDirective$1 } from '@seniorsistemas/ng2-currency-mask';
19
21
  import { user } from '@seniorsistemas/senior-platform-data';
20
22
  import * as moment_ from 'moment';
21
23
  import { CookieService } from 'ngx-cookie-service';
@@ -952,16 +954,26 @@ var FieldType;
952
954
  FieldType["Chips"] = "Chips";
953
955
  FieldType["Date"] = "Date";
954
956
  FieldType["DateTime"] = "DateTime";
957
+ /**
958
+ * @deprecated Should use 'Number' instead
959
+ */
955
960
  FieldType["Double"] = "Double";
956
961
  FieldType["Enum"] = "Enum";
957
962
  FieldType["Blob"] = "Blob";
963
+ /**
964
+ * @deprecated Should use 'Number' instead
965
+ */
958
966
  FieldType["Integer"] = "Integer";
959
967
  FieldType["Lookup"] = "Lookup";
968
+ /**
969
+ * @deprecated Should use 'Number' instead
970
+ */
960
971
  FieldType["Money"] = "Money";
961
972
  FieldType["Radio"] = "Radio";
962
973
  FieldType["String"] = "String";
963
974
  FieldType["Text"] = "Text";
964
975
  FieldType["Time"] = "Time";
976
+ FieldType["Number"] = "Number";
965
977
  })(FieldType || (FieldType = {}));
966
978
 
967
979
  class FieldSize {
@@ -1000,41 +1012,6 @@ class AutocompleteField extends Field {
1000
1012
  }
1001
1013
  }
1002
1014
 
1003
- class BlobField extends Field {
1004
- constructor(config) {
1005
- super(config);
1006
- this.accept = config.accept;
1007
- this.files = config.files || [];
1008
- this.chooseLabel = config.chooseLabel;
1009
- this.removeLabel = config.removeLabel;
1010
- this.cancelLabel = config.cancelLabel;
1011
- this.successTooltip = config.successTooltip;
1012
- this.multiple = config.multiple;
1013
- this.onUploadFile = config.onUploadFile;
1014
- this.onRemoveFile = config.onRemoveFile;
1015
- this.onCancelUpload = config.onCancelUpload;
1016
- this.onDownloadFile = config.onDownloadFile;
1017
- }
1018
- }
1019
-
1020
- class BooleanOptionsLabel {
1021
- constructor(config) {
1022
- this.true = config.true;
1023
- this.false = config.false;
1024
- this.empty = config.empty;
1025
- }
1026
- }
1027
- class BooleanField extends Field {
1028
- constructor(config) {
1029
- super(config);
1030
- this.verticalAlignment = config.verticalAlignment;
1031
- this.optionsLabel = new BooleanOptionsLabel(config.optionsLabel);
1032
- this.onBlur = config.onBlur;
1033
- this.onFocus = config.onFocus;
1034
- this.onClick = config.onClick;
1035
- }
1036
- }
1037
-
1038
1015
  class CalendarLocaleOptions {
1039
1016
  constructor(config = {}) {
1040
1017
  this.hourFormat = "24";
@@ -1134,12 +1111,57 @@ LocaleService = __decorate([
1134
1111
  Injectable()
1135
1112
  ], LocaleService);
1136
1113
 
1114
+ let LocalizedBignumberPipe = class LocalizedBignumberPipe {
1115
+ constructor(localeService) {
1116
+ this.localeService = localeService;
1117
+ }
1118
+ transform(value, options) {
1119
+ return value !== undefined && value !== null ? this.applyMask(value, options) : of(value);
1120
+ }
1121
+ applyMask(value, options) {
1122
+ return this.localeService.get().pipe(map(localeConfig => {
1123
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
1124
+ const configs = {
1125
+ 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$",
1126
+ 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 : ".",
1127
+ 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 : ",",
1128
+ scale: (_k = options === null || options === void 0 ? void 0 : options.scale) !== null && _k !== void 0 ? _k : 2
1129
+ };
1130
+ const isNumber = !(new BigNumber(value).isNaN());
1131
+ return applyMask(value, configs, isNumber);
1132
+ }));
1133
+ }
1134
+ };
1135
+ LocalizedBignumberPipe.ctorParameters = () => [
1136
+ { type: LocaleService }
1137
+ ];
1138
+ LocalizedBignumberPipe = __decorate([
1139
+ Pipe({
1140
+ name: "localizedBignumber",
1141
+ })
1142
+ ], LocalizedBignumberPipe);
1143
+
1144
+ let LocalizedBignumberImpurePipe = class LocalizedBignumberImpurePipe extends LocalizedBignumberPipe {
1145
+ transform(value, options) {
1146
+ return super.transform(value, options);
1147
+ }
1148
+ };
1149
+ LocalizedBignumberImpurePipe = __decorate([
1150
+ Pipe({
1151
+ name: "localizedBignumberImpure",
1152
+ pure: false,
1153
+ })
1154
+ ], LocalizedBignumberImpurePipe);
1155
+
1137
1156
  class LocalizedCurrencyPipeOptions extends NumberLocaleOptions {
1138
1157
  constructor(config = {}) {
1139
1158
  super(config);
1140
1159
  this.scale = 2;
1141
1160
  }
1142
1161
  }
1162
+ /**
1163
+ * @deprecated Should use localizedBignumberPipe instead
1164
+ */
1143
1165
  let LocalizedCurrencyPipe = class LocalizedCurrencyPipe {
1144
1166
  constructor(localeService) {
1145
1167
  this.localeService = localeService;
@@ -1177,6 +1199,9 @@ LocalizedCurrencyPipe = __decorate([
1177
1199
  })
1178
1200
  ], LocalizedCurrencyPipe);
1179
1201
 
1202
+ /**
1203
+ * @deprecated Should use localizedBignumberPipe instead
1204
+ */
1180
1205
  let LocalizedCurrencyImpurePipe = class LocalizedCurrencyImpurePipe extends LocalizedCurrencyPipe {
1181
1206
  transform(value, options = new LocalizedCurrencyPipeOptions()) {
1182
1207
  return super.transform(value, options);
@@ -1216,6 +1241,9 @@ LocalizedDateImpurePipe = __decorate([
1216
1241
  })
1217
1242
  ], LocalizedDateImpurePipe);
1218
1243
 
1244
+ /**
1245
+ * @deprecated Should use localizedBignumberPipe instead
1246
+ */
1219
1247
  let LocalizedNumberPipe = class LocalizedNumberPipe {
1220
1248
  constructor(localeService) {
1221
1249
  this.localeService = localeService;
@@ -1279,6 +1307,8 @@ let LocaleModule = LocaleModule_1 = class LocaleModule {
1279
1307
  LocalizedCurrencyImpurePipe,
1280
1308
  LocalizedDateImpurePipe,
1281
1309
  LocalizedTimeImpurePipe,
1310
+ LocalizedBignumberPipe,
1311
+ LocalizedBignumberImpurePipe
1282
1312
  ],
1283
1313
  };
1284
1314
  }
@@ -1299,6 +1329,8 @@ LocaleModule = LocaleModule_1 = __decorate([
1299
1329
  LocalizedCurrencyImpurePipe,
1300
1330
  LocalizedDateImpurePipe,
1301
1331
  LocalizedTimeImpurePipe,
1332
+ LocalizedBignumberPipe,
1333
+ LocalizedBignumberImpurePipe
1302
1334
  ],
1303
1335
  declarations: [
1304
1336
  LocalizedCurrencyPipe,
@@ -1308,10 +1340,66 @@ LocaleModule = LocaleModule_1 = __decorate([
1308
1340
  LocalizedCurrencyImpurePipe,
1309
1341
  LocalizedDateImpurePipe,
1310
1342
  LocalizedTimeImpurePipe,
1343
+ LocalizedBignumberPipe,
1344
+ LocalizedBignumberImpurePipe
1311
1345
  ],
1312
1346
  })
1313
1347
  ], LocaleModule);
1314
1348
 
1349
+ class BignumberField extends Field {
1350
+ constructor(config) {
1351
+ var _a;
1352
+ super(config);
1353
+ this.numberLocaleOptions = config.numberLocaleOptions || DEFAULT_NUMBER_LOCALE_OPTIONS;
1354
+ this.browserAutocomplete = config.browserAutocomplete;
1355
+ this.precision = config.precision;
1356
+ this.scale = (_a = config.scale) !== null && _a !== void 0 ? _a : 2;
1357
+ this.alignTo = this.scale ? AlignmentOptions.RIGHT : AlignmentOptions.LEFT;
1358
+ this.mask = config.mask;
1359
+ this.leftAddon = config.leftAddon;
1360
+ this.rightAddon = config.rightAddon;
1361
+ this.onBlur = config.onBlur;
1362
+ this.onFocus = config.onFocus;
1363
+ this.onComplete = config.onComplete;
1364
+ this.onInput = config.onInput;
1365
+ }
1366
+ }
1367
+
1368
+ class BlobField extends Field {
1369
+ constructor(config) {
1370
+ super(config);
1371
+ this.accept = config.accept;
1372
+ this.files = config.files || [];
1373
+ this.chooseLabel = config.chooseLabel;
1374
+ this.removeLabel = config.removeLabel;
1375
+ this.cancelLabel = config.cancelLabel;
1376
+ this.successTooltip = config.successTooltip;
1377
+ this.multiple = config.multiple;
1378
+ this.onUploadFile = config.onUploadFile;
1379
+ this.onRemoveFile = config.onRemoveFile;
1380
+ this.onCancelUpload = config.onCancelUpload;
1381
+ this.onDownloadFile = config.onDownloadFile;
1382
+ }
1383
+ }
1384
+
1385
+ class BooleanOptionsLabel {
1386
+ constructor(config) {
1387
+ this.true = config.true;
1388
+ this.false = config.false;
1389
+ this.empty = config.empty;
1390
+ }
1391
+ }
1392
+ class BooleanField extends Field {
1393
+ constructor(config) {
1394
+ super(config);
1395
+ this.verticalAlignment = config.verticalAlignment;
1396
+ this.optionsLabel = new BooleanOptionsLabel(config.optionsLabel);
1397
+ this.onBlur = config.onBlur;
1398
+ this.onFocus = config.onFocus;
1399
+ this.onClick = config.onClick;
1400
+ }
1401
+ }
1402
+
1315
1403
  class CalendarField extends Field {
1316
1404
  constructor(config) {
1317
1405
  super(config);
@@ -1347,11 +1435,17 @@ class ChipsField extends Field {
1347
1435
  }
1348
1436
 
1349
1437
  var NumberInputDirective_1;
1438
+ /**
1439
+ * @deprecated Should use 'AlignmentOptions' from @seniorsistemas/ng2-currency-mask instead
1440
+ */
1350
1441
  var NumberAlignmentOption;
1351
1442
  (function (NumberAlignmentOption) {
1352
1443
  NumberAlignmentOption["RIGHT"] = "right";
1353
1444
  NumberAlignmentOption["LEFT"] = "left";
1354
1445
  })(NumberAlignmentOption || (NumberAlignmentOption = {}));
1446
+ /**
1447
+ * @deprecated Should use BigNumberInput directive instead
1448
+ */
1355
1449
  let NumberInputDirective = NumberInputDirective_1 = class NumberInputDirective extends CurrencyMaskDirective {
1356
1450
  constructor() {
1357
1451
  super(...arguments);
@@ -1460,6 +1554,9 @@ NumberInputDirective = NumberInputDirective_1 = __decorate([
1460
1554
  })
1461
1555
  ], NumberInputDirective);
1462
1556
 
1557
+ /**
1558
+ * @deprecated Should use 'BignumberInputModule' instead
1559
+ */
1463
1560
  let NumberInputModule = class NumberInputModule {
1464
1561
  };
1465
1562
  NumberInputModule = __decorate([
@@ -1470,6 +1567,9 @@ NumberInputModule = __decorate([
1470
1567
  })
1471
1568
  ], NumberInputModule);
1472
1569
 
1570
+ /**
1571
+ * @deprecated Should use BignumberField instead
1572
+ */
1473
1573
  class NumberField extends Field {
1474
1574
  constructor(config) {
1475
1575
  super(config);
@@ -1487,6 +1587,9 @@ class NumberField extends Field {
1487
1587
  }
1488
1588
  }
1489
1589
 
1590
+ /**
1591
+ * @deprecated Should use BignumberField instead
1592
+ */
1490
1593
  class DecimalField extends NumberField {
1491
1594
  constructor(config) {
1492
1595
  super(config);
@@ -1496,6 +1599,9 @@ class DecimalField extends NumberField {
1496
1599
  }
1497
1600
  }
1498
1601
 
1602
+ /**
1603
+ * @deprecated Should use BignumberField instead
1604
+ */
1499
1605
  class CurrencyField extends DecimalField {
1500
1606
  constructor(config) {
1501
1607
  super(config);
@@ -1616,6 +1722,8 @@ class FormField {
1616
1722
  return new NumberField(config);
1617
1723
  case FieldType.Double:
1618
1724
  return new DecimalField(config);
1725
+ case FieldType.Number:
1726
+ return new BignumberField(config);
1619
1727
  case FieldType.String:
1620
1728
  case FieldType.Binary:
1621
1729
  return new TextField(config);
@@ -1824,7 +1932,7 @@ let LookupComponent = LookupComponent_1 = class LookupComponent {
1824
1932
  return this.emptyFieldLabel;
1825
1933
  }
1826
1934
  isNumber(obj, path) {
1827
- return typeof this.getFieldValue(obj, path) === "number";
1935
+ return !(new BigNumber(this.getFieldValue(obj, path)).isNaN());
1828
1936
  }
1829
1937
  setHotkeys() {
1830
1938
  const clearHotkey = this.newHotkey("alt+shift+l", this.clear.bind(this));
@@ -1865,6 +1973,15 @@ let LookupComponent = LookupComponent_1 = class LookupComponent {
1865
1973
  isFunction(value) {
1866
1974
  return value instanceof Function;
1867
1975
  }
1976
+ getNumberMaskConfig(col) {
1977
+ var _a, _b, _c;
1978
+ return {
1979
+ scale: this.getScale(col.scale),
1980
+ decimalSeparator: (_a = col.numberLocaleOptions) === null || _a === void 0 ? void 0 : _a.decimalSeparator,
1981
+ thousandsSeparator: (_b = col.numberLocaleOptions) === null || _b === void 0 ? void 0 : _b.thousandsSeparator,
1982
+ prefix: (_c = col.numberLocaleOptions) === null || _c === void 0 ? void 0 : _c.currencySymbol
1983
+ };
1984
+ }
1868
1985
  };
1869
1986
  LookupComponent.nextId = 0;
1870
1987
  LookupComponent.ctorParameters = () => [
@@ -1999,7 +2116,7 @@ __decorate([
1999
2116
  LookupComponent = LookupComponent_1 = __decorate([
2000
2117
  Component({
2001
2118
  selector: "s-lookup",
2002
- 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",
2119
+ 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",
2003
2120
  providers: [
2004
2121
  {
2005
2122
  provide: NG_VALUE_ACCESSOR,
@@ -2053,6 +2170,7 @@ var DynamicType;
2053
2170
  DynamicType["String"] = "String";
2054
2171
  DynamicType["Text"] = "Text";
2055
2172
  DynamicType["Time"] = "Time";
2173
+ DynamicType["Number"] = "Number";
2056
2174
  })(DynamicType || (DynamicType = {}));
2057
2175
 
2058
2176
  class Grid {
@@ -2111,6 +2229,8 @@ class DynamicConfig {
2111
2229
  return new Fieldset(config);
2112
2230
  case DynamicType.Integer:
2113
2231
  return new NumberField(config);
2232
+ case DynamicType.Number:
2233
+ return new BignumberField(config);
2114
2234
  case DynamicType.Lookup:
2115
2235
  return new LookupField(config);
2116
2236
  case DynamicType.Money:
@@ -2837,6 +2957,108 @@ MaskFormatterModule = __decorate([
2837
2957
  })
2838
2958
  ], MaskFormatterModule);
2839
2959
 
2960
+ var BignumberInputDirective_1;
2961
+ let BignumberInputDirective = BignumberInputDirective_1 = class BignumberInputDirective extends CurrencyMaskDirective$1 {
2962
+ constructor() {
2963
+ super(...arguments);
2964
+ this.precision = 15;
2965
+ this.scale = 0;
2966
+ this.decimalSeparator = ",";
2967
+ this.thousandsSeparator = ".";
2968
+ this.alignTo = AlignmentOptions.LEFT;
2969
+ this.allowNegative = true;
2970
+ }
2971
+ ngOnInit() {
2972
+ this.updateVariables();
2973
+ super.ngOnInit();
2974
+ }
2975
+ ngOnChanges(changes) {
2976
+ const placeholderChange = changes.placeholder && changes.placeholder.currentValue;
2977
+ if (!placeholderChange && this.scale)
2978
+ this.placeholder = `0${this.decimalSeparator}${"".padEnd(this.scale, "0")}`;
2979
+ if (changes.scale ||
2980
+ changes.decimalSeparator ||
2981
+ changes.thousandsSeparator ||
2982
+ changes.alignTo ||
2983
+ changes.precision ||
2984
+ changes.allowNegative) {
2985
+ this.updateVariables();
2986
+ }
2987
+ }
2988
+ /**
2989
+ * Update the options values according to the directive input values.
2990
+ */
2991
+ updateVariables() {
2992
+ this.options = {
2993
+ align: this.alignTo,
2994
+ decimalSeparator: this.decimalSeparator,
2995
+ thousandsSeparator: this.thousandsSeparator,
2996
+ scale: this.scale || 0,
2997
+ prefix: "",
2998
+ suffix: "",
2999
+ allowNegative: this.allowNegative
3000
+ };
3001
+ this.calculateMaxLength();
3002
+ }
3003
+ /**
3004
+ * Responsible to calculate the field maximum length considering the separators.
3005
+ */
3006
+ calculateMaxLength() {
3007
+ const decSepLength = this.decimalSeparator.length;
3008
+ const thoSepLength = this.thousandsSeparator.length;
3009
+ let maxLength = this.precision + (this.scale ? decSepLength : 0);
3010
+ maxLength += Math.ceil((this.precision - (this.scale ? this.scale : 0)) / 3 - 1) * thoSepLength;
3011
+ this.maxLength = maxLength;
3012
+ }
3013
+ };
3014
+ __decorate([
3015
+ Input()
3016
+ ], BignumberInputDirective.prototype, "precision", void 0);
3017
+ __decorate([
3018
+ Input()
3019
+ ], BignumberInputDirective.prototype, "scale", void 0);
3020
+ __decorate([
3021
+ Input()
3022
+ ], BignumberInputDirective.prototype, "decimalSeparator", void 0);
3023
+ __decorate([
3024
+ Input()
3025
+ ], BignumberInputDirective.prototype, "thousandsSeparator", void 0);
3026
+ __decorate([
3027
+ Input()
3028
+ ], BignumberInputDirective.prototype, "alignTo", void 0);
3029
+ __decorate([
3030
+ Input()
3031
+ ], BignumberInputDirective.prototype, "allowNegative", void 0);
3032
+ __decorate([
3033
+ Input(),
3034
+ HostBinding("attr.placeholder")
3035
+ ], BignumberInputDirective.prototype, "placeholder", void 0);
3036
+ __decorate([
3037
+ HostBinding("attr.maxLength")
3038
+ ], BignumberInputDirective.prototype, "maxLength", void 0);
3039
+ BignumberInputDirective = BignumberInputDirective_1 = __decorate([
3040
+ Directive({
3041
+ selector: "input[sBignumberInput]",
3042
+ providers: [
3043
+ {
3044
+ provide: NG_VALUE_ACCESSOR,
3045
+ useExisting: forwardRef(() => BignumberInputDirective_1),
3046
+ multi: true,
3047
+ },
3048
+ ],
3049
+ })
3050
+ ], BignumberInputDirective);
3051
+
3052
+ let BignumberInputModule = class BignumberInputModule {
3053
+ };
3054
+ BignumberInputModule = __decorate([
3055
+ NgModule({
3056
+ imports: [CommonModule],
3057
+ declarations: [BignumberInputDirective],
3058
+ exports: [BignumberInputDirective],
3059
+ })
3060
+ ], BignumberInputModule);
3061
+
2840
3062
  var TableHeaderCheckboxComponent_1;
2841
3063
  let TableHeaderCheckboxComponent = TableHeaderCheckboxComponent_1 = class TableHeaderCheckboxComponent {
2842
3064
  constructor(table, tableService) {
@@ -3384,9 +3606,9 @@ __decorate([
3384
3606
  ], TableColumnsComponent.prototype, "locale", void 0);
3385
3607
  TableColumnsComponent = __decorate([
3386
3608
  Component({
3387
- 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",
3609
+ 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",
3388
3610
  selector: "s-table-columns",
3389
- styles: [".sds-pale-text{color:#999}:host{display:none}"]
3611
+ styles: [":host{display:none}"]
3390
3612
  }),
3391
3613
  __param(2, Inject("hostProjectConfigs"))
3392
3614
  ], TableColumnsComponent);
@@ -3534,6 +3756,9 @@ class BaseFieldComponent {
3534
3756
  }
3535
3757
  }
3536
3758
 
3759
+ /**
3760
+ * @deprecated Should use bignumber instead
3761
+ */
3537
3762
  let CurrencyFieldComponent = class CurrencyFieldComponent extends BaseFieldComponent {
3538
3763
  };
3539
3764
  __decorate([
@@ -3576,6 +3801,9 @@ LookupFieldComponent = __decorate([
3576
3801
  })
3577
3802
  ], LookupFieldComponent);
3578
3803
 
3804
+ /**
3805
+ * @deprecated Should use bignumber instead
3806
+ */
3579
3807
  let NumberFieldComponent = class NumberFieldComponent extends BaseFieldComponent {
3580
3808
  constructor() {
3581
3809
  super(...arguments);
@@ -3908,6 +4136,59 @@ var StructureType;
3908
4136
  StructureType["Section"] = "Section";
3909
4137
  })(StructureType || (StructureType = {}));
3910
4138
 
4139
+ let BignumberFieldComponent = class BignumberFieldComponent extends BaseFieldComponent {
4140
+ constructor() {
4141
+ super(...arguments);
4142
+ this.onInput = new EventEmitter();
4143
+ this.onFocus = new EventEmitter();
4144
+ this.onComplete = new EventEmitter();
4145
+ this.ngUnsubscribe = new Subject();
4146
+ }
4147
+ ngOnInit() {
4148
+ this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event) => {
4149
+ if (this.field.onFocus)
4150
+ this.field.onFocus(event);
4151
+ });
4152
+ this.onInput.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event) => {
4153
+ if (this.field.onInput)
4154
+ this.field.onInput(event);
4155
+ });
4156
+ this.onComplete.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event) => {
4157
+ if (this.field.onComplete)
4158
+ this.field.onComplete(event);
4159
+ });
4160
+ }
4161
+ ngOnDestroy() {
4162
+ this.ngUnsubscribe.next();
4163
+ this.ngUnsubscribe.complete();
4164
+ }
4165
+ get fieldType() {
4166
+ return FieldType;
4167
+ }
4168
+ };
4169
+ __decorate([
4170
+ Input()
4171
+ ], BignumberFieldComponent.prototype, "field", void 0);
4172
+ __decorate([
4173
+ Input()
4174
+ ], BignumberFieldComponent.prototype, "formControl", void 0);
4175
+ __decorate([
4176
+ Output()
4177
+ ], BignumberFieldComponent.prototype, "onInput", void 0);
4178
+ __decorate([
4179
+ Output()
4180
+ ], BignumberFieldComponent.prototype, "onFocus", void 0);
4181
+ __decorate([
4182
+ Output()
4183
+ ], BignumberFieldComponent.prototype, "onComplete", void 0);
4184
+ BignumberFieldComponent = __decorate([
4185
+ Component({
4186
+ template: "<p-inputMask\n *ngIf=\"field.mask; else noMask\"\n type=\"text\"\n [inputId]=\"(field.id || field.name)\"\n [name]=\"field.name\"\n [mask]=\"isFunction(field.mask) ? field.mask() : field.mask\"\n [placeholder]=\"field.placeholder\"\n slotChar=\"_\"\n [pTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n (onFocus)=\"onFocus.next($event)\"\n (onComplete)=\"onComplete.next($event)\"\n (onInput)=\"onInput.next($event)\"\n [formControl]=\"formControl\"\n></p-inputMask>\n\n<ng-template #noMask>\n <ng-container>\n <div class=\"ui-inputgroup\">\n <ng-container *ngIf=\"field.leftAddon\">\n <span class=\"ui-inputgroup-addon\">\n <span *ngIf=\"field.leftAddon.label\">{{field.leftAddon.label}}</span>\n <span *ngIf=\"!field.leftAddon.label\" [ngClass]=\"field.leftAddon.icon\"></span>\n </span>\n </ng-container>\n\n <input\n [id]=\"(field.id || field.name)\"\n type=\"text\"\n [name]=\"field.name\"\n sBignumberInput\n [precision]=\"isFunction(field.precision) ? trigger(field.precision) : field.precision\"\n [scale]=\"isFunction(field.scale) ? trigger(field.scale) : field.scale\"\n [decimalSeparator]=\"field.numberLocaleOptions.decimalSeparator\"\n [thousandsSeparator]=\"field.numberLocaleOptions.thousandsSeparator\"\n [alignTo]=\"field.alignTo\"\n [pTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl\"\n />\n\n <ng-container *ngIf=\"field.rightAddon\">\n <span class=\"ui-inputgroup-addon\">\n <span *ngIf=\"field.rightAddon.label\">{{field.rightAddon.label}}</span>\n <span *ngIf=\"!field.rightAddon.label\" [ngClass]=\"field.rightAddon.icon\"></span>\n </span>\n </ng-container>\n </div>\n </ng-container>\n</ng-template>",
4187
+ encapsulation: ViewEncapsulation.None,
4188
+ styles: ["s-number-field.ng-dirty.ng-invalid .ui-inputtext{border-color:#c13018}s-number-field.ng-dirty.ng-invalid .ui-inputtext:hover{border-color:#e44328}"]
4189
+ })
4190
+ ], BignumberFieldComponent);
4191
+
3911
4192
  class DynamicForm {
3912
4193
  constructor({ group, errorMessages }) {
3913
4194
  this.group = group;
@@ -3967,6 +4248,8 @@ class DynamicField extends DynamicForm {
3967
4248
  case FieldType.Double:
3968
4249
  case FieldType.Integer:
3969
4250
  return NumberFieldComponent;
4251
+ case FieldType.Number:
4252
+ return BignumberFieldComponent;
3970
4253
  case FieldType.Enum:
3971
4254
  return SelectFieldComponent;
3972
4255
  case FieldType.Lookup:
@@ -4126,6 +4409,7 @@ DynamicFormModule = __decorate([
4126
4409
  InputMaskModule,
4127
4410
  DropdownModule,
4128
4411
  NumberInputModule,
4412
+ BignumberInputModule,
4129
4413
  LocalizedNumberInputModule,
4130
4414
  ControlErrorsModule,
4131
4415
  LocaleModule,
@@ -4167,6 +4451,7 @@ DynamicFormModule = __decorate([
4167
4451
  LookupComponent,
4168
4452
  LookupFieldComponent,
4169
4453
  NumberFieldComponent,
4454
+ BignumberFieldComponent,
4170
4455
  RadioButtonComponent,
4171
4456
  RowComponent,
4172
4457
  SectionComponent,
@@ -4185,6 +4470,7 @@ DynamicFormModule = __decorate([
4185
4470
  FileUploadComponent$1,
4186
4471
  LookupFieldComponent,
4187
4472
  NumberFieldComponent,
4473
+ BignumberFieldComponent,
4188
4474
  RadioButtonComponent,
4189
4475
  RowComponent,
4190
4476
  SectionComponent,
@@ -5656,42 +5942,43 @@ let StatsCardComponent = StatsCardComponent_1 = class StatsCardComponent {
5656
5942
  return this._value;
5657
5943
  }
5658
5944
  updateDisplayValue() {
5659
- const previousRawValue = Number(this.previousValue.replace(/[^\d]/g, ""));
5660
- const rawValue = Number(this.value.replace(/[^\d]/g, ""));
5661
- const incrementValue = Math.ceil(Math.abs(rawValue - previousRawValue) / (this.ANIMATION_DURATION_MS / this.STEP_DURATION_MS));
5662
- const incremental = previousRawValue < rawValue;
5945
+ const previousRawValue = new BigNumber$1(this.previousValue.replace(/\D/g, ""));
5946
+ const rawValue = new BigNumber$1(this.value.replace(/\D/g, ""));
5947
+ const eachAnimationDuration = new BigNumber$1(this.ANIMATION_DURATION_MS).dividedBy(new BigNumber$1(this.STEP_DURATION_MS));
5948
+ const incrementValue = rawValue.minus(previousRawValue).absoluteValue().dividedBy(eachAnimationDuration).dp(0, 7);
5949
+ const incremental = previousRawValue.isLessThan(rawValue);
5663
5950
  clearInterval(this.intervalId);
5664
5951
  this.displayValue = this.replaceNumericPositions(this.value);
5665
5952
  let counter = previousRawValue;
5666
5953
  this.intervalId = setInterval(() => {
5667
- if (incremental && counter < rawValue) {
5668
- this.displayValue = this.replaceNumericPositions(this.displayValue, String(counter));
5669
- counter += incrementValue;
5954
+ if (incremental && counter.isLessThan(rawValue)) {
5955
+ this.displayValue = this.replaceNumericPositions(this.displayValue, counter);
5956
+ counter = counter.plus(incrementValue);
5670
5957
  }
5671
- else if (incremental) {
5672
- this.displayValue = this.value;
5673
- clearInterval(this.intervalId);
5958
+ else if (!incremental && counter.isGreaterThan(rawValue)) {
5959
+ this.displayValue = this.replaceNumericPositions(this.displayValue, counter);
5960
+ counter = counter.minus(incrementValue);
5674
5961
  }
5675
- else if (!incremental && counter > rawValue) {
5676
- this.displayValue = this.replaceNumericPositions(this.displayValue, String(counter));
5677
- counter -= incrementValue;
5678
- }
5679
- else if (!incremental) {
5962
+ else {
5680
5963
  this.displayValue = this.value;
5681
5964
  clearInterval(this.intervalId);
5682
5965
  }
5683
5966
  }, this.STEP_DURATION_MS);
5684
5967
  }
5685
- replaceNumericPositions(value, newValue = "") {
5968
+ replaceNumericPositions(value, newValue) {
5686
5969
  const rawValue = value.replace(/[^\d]/g, "");
5687
- const newValueString = newValue.replace(/[^\d]/g, "").padStart(rawValue.length, "0");
5970
+ const newValueString = newValue ? newValue.toString() : "";
5971
+ const formattedNewValue = newValueString
5972
+ .toString()
5973
+ .replace(/\D/g, "")
5974
+ .padStart(rawValue.length, "0");
5688
5975
  let newValueIndex = 0;
5689
5976
  return value
5690
5977
  .split("")
5691
5978
  .map(char => {
5692
5979
  const number = Number(char);
5693
5980
  if (number || char === "0")
5694
- return newValueString[newValueIndex++];
5981
+ return formattedNewValue[newValueIndex++];
5695
5982
  return char;
5696
5983
  })
5697
5984
  .join("");
@@ -6233,5 +6520,5 @@ AngularComponentsModule = AngularComponentsModule_1 = __decorate([
6233
6520
  * Generated bundle index. Do not edit.
6234
6521
  */
6235
6522
 
6236
- export { AngularComponentsModule, AutocompleteField, BooleanField, BooleanOptionsLabel, BreadcrumbComponent, BreadcrumbModule, Breakpoints, ButtonComponent, ButtonModule, ButtonPriority, ButtonSize, CalendarField, CalendarLocaleOptions, CalendarMaskDirective, CalendarMaskModule, ChipsField, CollapseLinkComponent, CollapseLinkModule, ControlErrorsComponent, ControlErrorsModule, CurrencyField, CustomFieldsComponent, CustomFieldsModule, CustomFieldsService, DEFAULT_CALENDAR_LOCALE_OPTIONS, DEFAULT_LOCALE_OPTIONS, DEFAULT_NUMBER_LOCALE_OPTIONS, DynamicConfig, DynamicFormComponent, DynamicFormModule, DynamicType, EditableOverlayDirective, EditableOverlayModule, EmptyStateComponent, EmptyStateModule, EnumBadgeColors, EnumColumnFieldType, ExportUtils, Field, FieldType, Fieldset, FileUploadComponent, FileUploadModule, FormField, GlobalSearchComponent, GlobalSearchDropdownItemComponent, GlobalSearchModule, GlobalSearchSizeEnum, ImageCropperComponent, ImageCropperModule, ImageCropperService, InfoSignDirective, InfoSignModule, LoadingStateComponent, LoadingStateDirective, LoadingStateModule, LocaleModule, LocaleOptions, LocaleService, LocalizedCurrencyPipe, LocalizedCurrencyPipeOptions, LocalizedDateImpurePipe, LocalizedDatePipe, LocalizedNumberInputDirective, LocalizedNumberInputModule, LocalizedNumberPipe, LocalizedTimeImpurePipe, LocalizedTimePipe, LongPressDirective, LookupComponent, LookupField, MaskFormatterModule, MaskFormatterPipe, MouseEventsModule, NavigationDirective, NumberAlignmentOption, NumberField, NumberInputDirective, NumberInputModule, NumberLocaleOptions, ObjectCardComponent, ObjectCardFieldComponent, ObjectCardMainComponent, ObjectCardModule, Option, ProductHeaderComponent, ProductHeaderModule, RadioButtonField, RationButtonOption, RowTogllerDirective, Section, SelectField, SelectOption, SidebarComponent, SidebarModule, StatsCardComponent, StatsCardModule, StepState, StepsComponent, StepsModule, Structure, TableHeaderCheckboxComponent, TableHeaderCheckboxModule, TableModule, TextAreaField, TextField, ThumbnailComponent, ThumbnailModule, ThumbnailSize, TileComponent, TileModule, TokenListComponent, TokenListModule, ValidateErrors, LocalizedCurrencyImpurePipe as ɵa, TokenListModule as ɵb, FooterComponent as ɵba, InfoSignComponent as ɵbb, NumberLocaleOptions as ɵbc, ThumbnailService as ɵbd, InfiniteScrollModule as ɵbe, InfiniteScrollDirective as ɵbf, TableColumnsComponent as ɵc, InfoSignModule as ɵd, AutocompleteFieldComponent as ɵe, BooleanFieldComponent as ɵf, CalendarFieldComponent as ɵg, ChipsFieldComponent as ɵh, CurrencyFieldComponent as ɵi, BaseFieldComponent as ɵj, DynamicFieldComponent as ɵk, DynamicFormDirective as ɵl, FieldsetComponent as ɵm, FileUploadComponent$1 as ɵn, LookupFieldComponent as ɵo, NumberFieldComponent as ɵp, RadioButtonComponent as ɵq, RowComponent as ɵr, SectionComponent as ɵs, SelectFieldComponent as ɵt, TextAreaFieldComponent as ɵu, TextFieldComponent as ɵv, DecimalField as ɵx, StructureModule as ɵy, HeaderComponent as ɵz };
6523
+ export { AngularComponentsModule, AutocompleteField, BignumberField, BignumberInputDirective, BignumberInputModule, BooleanField, BooleanOptionsLabel, BreadcrumbComponent, BreadcrumbModule, Breakpoints, ButtonComponent, ButtonModule, ButtonPriority, ButtonSize, CalendarField, CalendarLocaleOptions, CalendarMaskDirective, CalendarMaskModule, ChipsField, CollapseLinkComponent, CollapseLinkModule, ControlErrorsComponent, ControlErrorsModule, CurrencyField, CustomFieldsComponent, CustomFieldsModule, CustomFieldsService, DEFAULT_CALENDAR_LOCALE_OPTIONS, DEFAULT_LOCALE_OPTIONS, DEFAULT_NUMBER_LOCALE_OPTIONS, DynamicConfig, DynamicFormComponent, DynamicFormModule, DynamicType, EditableOverlayDirective, EditableOverlayModule, EmptyStateComponent, EmptyStateModule, EnumBadgeColors, EnumColumnFieldType, ExportUtils, Field, FieldType, Fieldset, FileUploadComponent, FileUploadModule, FormField, GlobalSearchComponent, GlobalSearchDropdownItemComponent, GlobalSearchModule, GlobalSearchSizeEnum, ImageCropperComponent, ImageCropperModule, ImageCropperService, InfoSignDirective, InfoSignModule, LoadingStateComponent, LoadingStateDirective, LoadingStateModule, LocaleModule, LocaleOptions, LocaleService, LocalizedCurrencyPipe, LocalizedCurrencyPipeOptions, LocalizedDateImpurePipe, LocalizedDatePipe, LocalizedNumberInputDirective, LocalizedNumberInputModule, LocalizedNumberPipe, LocalizedTimeImpurePipe, LocalizedTimePipe, LongPressDirective, LookupComponent, LookupField, MaskFormatterModule, MaskFormatterPipe, MouseEventsModule, NavigationDirective, NumberAlignmentOption, NumberField, NumberInputDirective, NumberInputModule, NumberLocaleOptions, ObjectCardComponent, ObjectCardFieldComponent, ObjectCardMainComponent, ObjectCardModule, Option, ProductHeaderComponent, ProductHeaderModule, RadioButtonField, RationButtonOption, RowTogllerDirective, Section, SelectField, SelectOption, SidebarComponent, SidebarModule, StatsCardComponent, StatsCardModule, StepState, StepsComponent, StepsModule, Structure, TableHeaderCheckboxComponent, TableHeaderCheckboxModule, TableModule, TextAreaField, TextField, ThumbnailComponent, ThumbnailModule, ThumbnailSize, TileComponent, TileModule, TokenListComponent, TokenListModule, ValidateErrors, LocalizedCurrencyImpurePipe as ɵa, LocalizedBignumberPipe as ɵb, DecimalField as ɵba, StructureModule as ɵbb, HeaderComponent as ɵbc, FooterComponent as ɵbd, InfoSignComponent as ɵbe, NumberLocaleOptions as ɵbf, ThumbnailService as ɵbg, InfiniteScrollModule as ɵbh, InfiniteScrollDirective as ɵbi, LocalizedBignumberImpurePipe as ɵc, TokenListModule as ɵd, TableColumnsComponent as ɵe, InfoSignModule as ɵf, AutocompleteFieldComponent as ɵg, BooleanFieldComponent as ɵh, CalendarFieldComponent as ɵi, ChipsFieldComponent as ɵj, CurrencyFieldComponent as ɵk, BaseFieldComponent as ɵl, DynamicFieldComponent as ɵm, DynamicFormDirective as ɵn, FieldsetComponent as ɵo, FileUploadComponent$1 as ɵp, LookupFieldComponent as ɵq, NumberFieldComponent as ɵr, BignumberFieldComponent as ɵs, RadioButtonComponent as ɵt, RowComponent as ɵu, SectionComponent as ɵv, SelectFieldComponent as ɵw, TextAreaFieldComponent as ɵx, TextFieldComponent as ɵy };
6237
6524
  //# sourceMappingURL=seniorsistemas-angular-components.js.map