@seniorsistemas/angular-components 17.9.5 → 17.9.7

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 (112) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +385 -149
  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/custom-fields/custom-fields.component.d.ts +1 -0
  6. package/components/dynamic-form/components/dynamic-field/dynamic-field.component.d.ts +0 -1
  7. package/components/dynamic-form/components/field-label/field-label.component.d.ts +6 -0
  8. package/components/dynamic-form/components/field-label/field-label.module.d.ts +2 -0
  9. package/components/dynamic-form/components/fields/autocomplete/autocomplete-field.component.d.ts +7 -0
  10. package/components/dynamic-form/components/fields/bignumber/bignumber-field.component.d.ts +5 -2
  11. package/components/dynamic-form/components/fields/calendar/calendar-field.component.d.ts +9 -2
  12. package/components/dynamic-form/components/fields/chips/chips-field.component.d.ts +7 -1
  13. package/components/dynamic-form/components/fields/country-phone-picker/country-phone-picker-field.component.d.ts +7 -0
  14. package/components/dynamic-form/components/fields/currency/currency-field.component.d.ts +6 -3
  15. package/components/dynamic-form/components/fields/file-upload/file-upload.component.d.ts +10 -0
  16. package/components/dynamic-form/components/fields/number/number-field.component.d.ts +7 -2
  17. package/components/dynamic-form/components/fields/password/password-field.component.d.ts +6 -2
  18. package/components/dynamic-form/components/fields/text/text-field.component.d.ts +6 -2
  19. package/components/dynamic-form/components/fields/text-area/text-area-field.component.d.ts +5 -0
  20. package/components/dynamic-form/components/fields/text-area-ia/text-area-ia-field.component.d.ts +2 -1
  21. package/components/dynamic-form/configurations/fields/field.d.ts +2 -0
  22. package/components/dynamic-form/configurations/form-field.d.ts +1 -0
  23. package/components/dynamic-form/dynamic-form.component.d.ts +0 -1
  24. package/components/dynamic-form/dynamic-form.directive.d.ts +0 -1
  25. package/components/info-sign/info-sign.directive.d.ts +4 -2
  26. package/components/locale/index.d.ts +1 -0
  27. package/components/tooltip/tooltip.directive.d.ts +1 -0
  28. package/esm2015/components/custom-fields/custom-fields.component.js +8 -2
  29. package/esm2015/components/dynamic-form/components/dynamic-field/dynamic-field.component.js +2 -5
  30. package/esm2015/components/dynamic-form/components/field-label/field-label.component.js +24 -0
  31. package/esm2015/components/dynamic-form/components/field-label/field-label.module.js +19 -0
  32. package/esm2015/components/dynamic-form/components/fields/autocomplete/autocomplete-field.component.js +18 -3
  33. package/esm2015/components/dynamic-form/components/fields/bignumber/bignumber-field.component.js +13 -5
  34. package/esm2015/components/dynamic-form/components/fields/bignumber/bignumber-field.module.js +3 -1
  35. package/esm2015/components/dynamic-form/components/fields/boolean/boolean-field.component.js +2 -2
  36. package/esm2015/components/dynamic-form/components/fields/calendar/calendar-field.component.js +19 -5
  37. package/esm2015/components/dynamic-form/components/fields/chips/chips-field.component.js +16 -5
  38. package/esm2015/components/dynamic-form/components/fields/country-phone-picker/country-phone-picker-field.component.js +18 -3
  39. package/esm2015/components/dynamic-form/components/fields/currency/currency-field.component.js +14 -6
  40. package/esm2015/components/dynamic-form/components/fields/currency/currency-field.module.js +12 -2
  41. package/esm2015/components/dynamic-form/components/fields/file-upload/file-upload.component.js +36 -3
  42. package/esm2015/components/dynamic-form/components/fields/lookup/lookup-field.component.js +2 -2
  43. package/esm2015/components/dynamic-form/components/fields/number/number-field.component.js +17 -5
  44. package/esm2015/components/dynamic-form/components/fields/number/number-field.module.js +3 -1
  45. package/esm2015/components/dynamic-form/components/fields/password/password-field.component.js +14 -4
  46. package/esm2015/components/dynamic-form/components/fields/password/password-field.module.js +3 -1
  47. package/esm2015/components/dynamic-form/components/fields/profile-picture/profile-picture-field.component.js +2 -2
  48. package/esm2015/components/dynamic-form/components/fields/profile-picture/profile-picture-field.module.js +3 -1
  49. package/esm2015/components/dynamic-form/components/fields/radio-button/radio-button-field.component.js +2 -2
  50. package/esm2015/components/dynamic-form/components/fields/select/select-field.component.js +2 -2
  51. package/esm2015/components/dynamic-form/components/fields/slider/slider-field.component.js +2 -2
  52. package/esm2015/components/dynamic-form/components/fields/text/text-field.component.js +15 -5
  53. package/esm2015/components/dynamic-form/components/fields/text/text-field.module.js +3 -1
  54. package/esm2015/components/dynamic-form/components/fields/text-area/text-area-field.component.js +15 -3
  55. package/esm2015/components/dynamic-form/components/fields/text-area-ia/text-area-ia-field.component.js +6 -3
  56. package/esm2015/components/dynamic-form/components/grid/row/row.component.js +1 -9
  57. package/esm2015/components/dynamic-form/configurations/fields/field.js +2 -1
  58. package/esm2015/components/dynamic-form/configurations/form-field.js +1 -1
  59. package/esm2015/components/dynamic-form/dynamic-form.component.js +2 -5
  60. package/esm2015/components/dynamic-form/dynamic-form.directive.js +1 -4
  61. package/esm2015/components/dynamic-form/dynamic-form.module.js +3 -1
  62. package/esm2015/components/info-sign/info-sign.directive.js +14 -8
  63. package/esm2015/components/locale/index.js +2 -1
  64. package/esm2015/components/locale/services/numeric.service.js +4 -3
  65. package/esm2015/components/tooltip/tooltip.directive.js +33 -2
  66. package/esm2015/seniorsistemas-angular-components.js +86 -84
  67. package/esm5/components/custom-fields/custom-fields.component.js +9 -2
  68. package/esm5/components/dynamic-form/components/dynamic-field/dynamic-field.component.js +2 -5
  69. package/esm5/components/dynamic-form/components/field-label/field-label.component.js +25 -0
  70. package/esm5/components/dynamic-form/components/field-label/field-label.module.js +22 -0
  71. package/esm5/components/dynamic-form/components/fields/autocomplete/autocomplete-field.component.js +17 -4
  72. package/esm5/components/dynamic-form/components/fields/bignumber/bignumber-field.component.js +13 -5
  73. package/esm5/components/dynamic-form/components/fields/bignumber/bignumber-field.module.js +3 -1
  74. package/esm5/components/dynamic-form/components/fields/boolean/boolean-field.component.js +2 -2
  75. package/esm5/components/dynamic-form/components/fields/calendar/calendar-field.component.js +19 -5
  76. package/esm5/components/dynamic-form/components/fields/chips/chips-field.component.js +16 -5
  77. package/esm5/components/dynamic-form/components/fields/country-phone-picker/country-phone-picker-field.component.js +17 -4
  78. package/esm5/components/dynamic-form/components/fields/currency/currency-field.component.js +14 -6
  79. package/esm5/components/dynamic-form/components/fields/currency/currency-field.module.js +12 -2
  80. package/esm5/components/dynamic-form/components/fields/file-upload/file-upload.component.js +37 -5
  81. package/esm5/components/dynamic-form/components/fields/lookup/lookup-field.component.js +2 -2
  82. package/esm5/components/dynamic-form/components/fields/number/number-field.component.js +17 -5
  83. package/esm5/components/dynamic-form/components/fields/number/number-field.module.js +3 -1
  84. package/esm5/components/dynamic-form/components/fields/password/password-field.component.js +14 -4
  85. package/esm5/components/dynamic-form/components/fields/password/password-field.module.js +3 -1
  86. package/esm5/components/dynamic-form/components/fields/profile-picture/profile-picture-field.component.js +2 -2
  87. package/esm5/components/dynamic-form/components/fields/profile-picture/profile-picture-field.module.js +3 -1
  88. package/esm5/components/dynamic-form/components/fields/radio-button/radio-button-field.component.js +2 -2
  89. package/esm5/components/dynamic-form/components/fields/select/select-field.component.js +2 -2
  90. package/esm5/components/dynamic-form/components/fields/slider/slider-field.component.js +2 -2
  91. package/esm5/components/dynamic-form/components/fields/text/text-field.component.js +15 -5
  92. package/esm5/components/dynamic-form/components/fields/text/text-field.module.js +3 -1
  93. package/esm5/components/dynamic-form/components/fields/text-area/text-area-field.component.js +14 -4
  94. package/esm5/components/dynamic-form/components/fields/text-area-ia/text-area-ia-field.component.js +6 -3
  95. package/esm5/components/dynamic-form/components/grid/row/row.component.js +2 -2
  96. package/esm5/components/dynamic-form/configurations/fields/field.js +2 -1
  97. package/esm5/components/dynamic-form/configurations/form-field.js +1 -1
  98. package/esm5/components/dynamic-form/dynamic-form.component.js +2 -5
  99. package/esm5/components/dynamic-form/dynamic-form.directive.js +1 -4
  100. package/esm5/components/dynamic-form/dynamic-form.module.js +3 -1
  101. package/esm5/components/info-sign/info-sign.directive.js +14 -8
  102. package/esm5/components/locale/index.js +2 -1
  103. package/esm5/components/locale/services/numeric.service.js +4 -3
  104. package/esm5/components/tooltip/tooltip.directive.js +40 -8
  105. package/esm5/seniorsistemas-angular-components.js +86 -84
  106. package/fesm2015/seniorsistemas-angular-components.js +290 -64
  107. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  108. package/fesm5/seniorsistemas-angular-components.js +301 -68
  109. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  110. package/package.json +1 -1
  111. package/seniorsistemas-angular-components.d.ts +85 -83
  112. package/seniorsistemas-angular-components.metadata.json +1 -1
@@ -641,13 +641,14 @@
641
641
  TooltipDirective.prototype.updateTooltipVisibilityWhenFocusOnInput = function () {
642
642
  var _this = this;
643
643
  if (this.focusedInputRef) {
644
+ var inputFocus = this.focusedInputRef;
644
645
  var icon_1 = this.getIconFromFocusedInput();
645
646
  this.renderer.listen(this.focusedInputRef, 'focus', function () {
646
647
  if (icon_1 && _this.isMatchingTooltip(icon_1)) {
647
648
  _this.createTootipByFocus(icon_1);
648
649
  }
649
650
  });
650
- this.renderer.listen(this.focusedInputRef, 'blur', function () {
651
+ this.renderer.listen(inputFocus, 'blur', function () {
651
652
  if (icon_1 && _this.isMatchingTooltip(icon_1)) {
652
653
  _this.removeTooltip(icon_1);
653
654
  _this.destroy();
@@ -767,6 +768,7 @@
767
768
  * @param icon O ícone do input em focus.
768
769
  */
769
770
  TooltipDirective.prototype.createTootipByFocus = function (icon) {
771
+ var _this = this;
770
772
  var _a;
771
773
  if (this.componentRef === null && ((_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.length)) {
772
774
  var domElem = this.getDomElement();
@@ -774,6 +776,36 @@
774
776
  icon.appendChild(tooltip_1);
775
777
  this.setTooltipComponentProperties();
776
778
  setTimeout(function () { return tooltip_1.classList.add("tooltip--visible"); }, 0);
779
+ this.renderer.listen(window, 'scroll', function () {
780
+ _this.updateTooltipPosition();
781
+ });
782
+ }
783
+ };
784
+ TooltipDirective.prototype.updateTooltipPosition = function () {
785
+ if (this.componentRef) {
786
+ var _a = this.elementRef.nativeElement.getBoundingClientRect(), left = _a.left, right = _a.right, top_1 = _a.top, bottom = _a.bottom;
787
+ var tooltipWidth = right - left;
788
+ var tooltipHeight = bottom - top_1;
789
+ switch (this.position) {
790
+ case exports.TooltipPosition.Top:
791
+ this.componentRef.instance.left = Math.round(tooltipWidth / 2 + left);
792
+ this.componentRef.instance.top = Math.round(top_1 - 20 - 5);
793
+ break;
794
+ case exports.TooltipPosition.Bottom:
795
+ this.componentRef.instance.left = Math.round(tooltipWidth / 2 + left);
796
+ this.componentRef.instance.top = Math.round(bottom + 20);
797
+ break;
798
+ case exports.TooltipPosition.Left:
799
+ this.componentRef.instance.left = Math.round(left - 20);
800
+ this.componentRef.instance.top = Math.round(top_1 + tooltipHeight / 2 - 5);
801
+ break;
802
+ case exports.TooltipPosition.Right:
803
+ this.componentRef.instance.left = Math.round(right + 20);
804
+ this.componentRef.instance.top = Math.round(top_1 + tooltipHeight / 2 - 5);
805
+ break;
806
+ default:
807
+ break;
808
+ }
777
809
  }
778
810
  };
779
811
  TooltipDirective.prototype.showTooltip = function () {
@@ -788,8 +820,8 @@
788
820
  if (this.componentRef !== null) {
789
821
  this.componentRef.instance.tooltip = this.tooltip;
790
822
  this.componentRef.instance.escape = this.escape;
791
- var _a = this.elementRef.nativeElement.getBoundingClientRect(), left = _a.left, right = _a.right, top_1 = _a.top, bottom = _a.bottom;
792
- var tooltipHeight = bottom - top_1;
823
+ var _a = this.elementRef.nativeElement.getBoundingClientRect(), left = _a.left, right = _a.right, top_2 = _a.top, bottom = _a.bottom;
824
+ var tooltipHeight = bottom - top_2;
793
825
  var tooltipWidth = right - left;
794
826
  var safeSpace = 150;
795
827
  var positioned = false;
@@ -808,7 +840,7 @@
808
840
  this.position = exports.TooltipPosition.Left;
809
841
  break;
810
842
  }
811
- var topShift = top_1;
843
+ var topShift = top_2;
812
844
  if (topShift <= tooltipHeight + safeSpace) {
813
845
  this.position = exports.TooltipPosition.Bottom;
814
846
  invalidOptions.push(exports.TooltipPosition.Top);
@@ -816,7 +848,7 @@
816
848
  break;
817
849
  }
818
850
  this.componentRef.instance.left = Math.round(tooltipWidth / 2 + left);
819
- this.componentRef.instance.top = Math.round(top_1 - margin - anchorSize);
851
+ this.componentRef.instance.top = Math.round(top_2 - margin - anchorSize);
820
852
  positioned = true;
821
853
  break;
822
854
  }
@@ -849,7 +881,7 @@
849
881
  break;
850
882
  }
851
883
  this.componentRef.instance.left = Math.round(left - margin);
852
- this.componentRef.instance.top = Math.round(top_1 + tooltipHeight / 2 - anchorSize);
884
+ this.componentRef.instance.top = Math.round(top_2 + tooltipHeight / 2 - anchorSize);
853
885
  positioned = true;
854
886
  break;
855
887
  }
@@ -866,7 +898,7 @@
866
898
  break;
867
899
  }
868
900
  this.componentRef.instance.left = Math.round(right + margin);
869
- this.componentRef.instance.top = Math.round(top_1 + tooltipHeight / 2 - anchorSize);
901
+ this.componentRef.instance.top = Math.round(top_2 + tooltipHeight / 2 - anchorSize);
870
902
  positioned = true;
871
903
  break;
872
904
  }
@@ -4669,6 +4701,7 @@
4669
4701
  this.representedBy = config.representedBy;
4670
4702
  this.CustomFieldClass = config.CustomFieldClass;
4671
4703
  this.CustomFieldComponentClass = config.CustomFieldComponentClass;
4704
+ this.displayTimeInfoSign = config.displayTimeInfoSign;
4672
4705
  }
4673
4706
  return Field;
4674
4707
  }());
@@ -6039,13 +6072,10 @@
6039
6072
  __decorate([
6040
6073
  core.Input()
6041
6074
  ], DynamicFormComponent.prototype, "errorMessages", void 0);
6042
- __decorate([
6043
- core.Input()
6044
- ], DynamicFormComponent.prototype, "displayTimeInfoSign", void 0);
6045
6075
  DynamicFormComponent = __decorate([
6046
6076
  core.Component({
6047
6077
  selector: "s-dynamic-form",
6048
- template: "<div *ngIf=\"configs; else templateFields\">\n <ng-container *ngFor=\"let config of configs\">\n <ng-container\n *sDynamicForm=\"{\n id: id,\n config: config,\n group: form,\n errorMessages: errorMessages\n }\">\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #templateFields>\n <s-dynamic-field\n [id]=\"id\"\n [fields]=\"fields\"\n [form]=\"form\"\n [errorMessages]=\"errorMessages\"\n [displayTimeInfoSign]=\"displayTimeInfoSign\">\n </s-dynamic-field>\n</ng-template>\n",
6078
+ template: "<div *ngIf=\"configs; else templateFields\">\n <ng-container *ngFor=\"let config of configs\">\n <ng-container\n *sDynamicForm=\"{\n id: id,\n config: config,\n group: form,\n errorMessages: errorMessages\n }\">\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #templateFields>\n <s-dynamic-field\n [id]=\"id\"\n [fields]=\"fields\"\n [form]=\"form\"\n [errorMessages]=\"errorMessages\">\n </s-dynamic-field>\n</ng-template>\n",
6049
6079
  encapsulation: core.ViewEncapsulation.None,
6050
6080
  styles: ["label.required:after{content:\" *\";color:#c13018}"]
6051
6081
  })
@@ -6802,7 +6832,18 @@
6802
6832
  this.componentFactoryResolver = componentFactoryResolver;
6803
6833
  this.displayTime = 5000;
6804
6834
  }
6835
+ InfoSignDirective.prototype.ngOnChanges = function () {
6836
+ this.createInfoSign();
6837
+ };
6805
6838
  InfoSignDirective.prototype.ngOnInit = function () {
6839
+ this.createInfoSign();
6840
+ };
6841
+ InfoSignDirective.prototype.ngOnDestroy = function () {
6842
+ if (this.componentRef) {
6843
+ this.componentRef.destroy();
6844
+ }
6845
+ };
6846
+ InfoSignDirective.prototype.createInfoSign = function () {
6806
6847
  if (!this.componentRef && this.sInfoSign) {
6807
6848
  this.viewContainer.clear();
6808
6849
  var componentFactory = this.componentFactoryResolver.resolveComponentFactory(InfoSignComponent);
@@ -6820,11 +6861,6 @@
6820
6861
  this.viewContainer.createEmbeddedView(this.templateRef);
6821
6862
  }
6822
6863
  };
6823
- InfoSignDirective.prototype.ngOnDestroy = function () {
6824
- if (this.componentRef) {
6825
- this.componentRef.destroy();
6826
- }
6827
- };
6828
6864
  InfoSignDirective.ctorParameters = function () { return [
6829
6865
  { type: core.TemplateRef },
6830
6866
  { type: core.ViewContainerRef },
@@ -6841,7 +6877,7 @@
6841
6877
  ], InfoSignDirective.prototype, "focusedInputRef", void 0);
6842
6878
  InfoSignDirective = __decorate([
6843
6879
  core.Directive({
6844
- selector: "[sInfoSign]",
6880
+ selector: "[sInfoSign]"
6845
6881
  })
6846
6882
  ], InfoSignDirective);
6847
6883
  return InfoSignDirective;
@@ -7387,10 +7423,11 @@
7387
7423
  * @return `string` The formatted value.
7388
7424
  */
7389
7425
  NumericService.prototype.instant = function (value, options) {
7390
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
7426
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
7391
7427
  options = __assign(__assign({}, options), { locale: (_c = (_a = options === null || options === void 0 ? void 0 : options.locale) !== null && _a !== void 0 ? _a : (_b = this.localeService.getLocaleOptions()) === null || _b === void 0 ? void 0 : _b.locale) !== null && _c !== void 0 ? _c : "pt-BR", numberFormatOptions: __assign(__assign({}, options === null || options === void 0 ? void 0 : options.numberFormatOptions), { currency: ((_d = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _d === void 0 ? void 0 : _d.style) === "currency" ? ((_f = (_e = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _e === void 0 ? void 0 : _e.currency) !== null && _f !== void 0 ? _f : "BRL") : undefined, currencyDisplay: ((_g = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _g === void 0 ? void 0 : _g.style) === "currency"
7392
7428
  ? ((_j = (_h = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _h === void 0 ? void 0 : _h.currencyDisplay) !== null && _j !== void 0 ? _j : "narrowSymbol")
7393
- : undefined, minimumFractionDigits: (_l = (_k = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _k === void 0 ? void 0 : _k.minimumFractionDigits) !== null && _l !== void 0 ? _l : 2, maximumFractionDigits: (_o = (_m = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _m === void 0 ? void 0 : _m.maximumFractionDigits) !== null && _o !== void 0 ? _o : 2 }) });
7429
+ : undefined, minimumFractionDigits: (_o = (_l = (_k = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _k === void 0 ? void 0 : _k.minimumFractionDigits) !== null && _l !== void 0 ? _l : (_m = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _m === void 0 ? void 0 : _m.maximumFractionDigits) !== null && _o !== void 0 ? _o : 2, maximumFractionDigits: (_s = (_q = (_p = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _p === void 0 ? void 0 : _p.maximumFractionDigits) !== null && _q !== void 0 ? _q : (_r = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _r === void 0 ? void 0 : _r.minimumFractionDigits) !== null && _s !== void 0 ? _s : 2 }) });
7430
+ options.numberFormatOptions["roundingMode"] = "trunc";
7394
7431
  options.numberFormatOptions["trailingZeroDisplay"] = "stripIfInteger";
7395
7432
  // From https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
7396
7433
  return new Intl.NumberFormat(options.locale, options.numberFormatOptions).format(this.getType(value) === "number" || this.getType(value) === "string" ? value : value.toString());
@@ -9198,8 +9235,21 @@
9198
9235
  }());
9199
9236
 
9200
9237
  var AutocompleteFieldComponent = /** @class */ (function () {
9201
- function AutocompleteFieldComponent() {
9238
+ function AutocompleteFieldComponent(changeDetectorRef, elementRef) {
9239
+ this.changeDetectorRef = changeDetectorRef;
9240
+ this.elementRef = elementRef;
9202
9241
  }
9242
+ AutocompleteFieldComponent.prototype.ngAfterViewInit = function () {
9243
+ this.setInputRef();
9244
+ this.changeDetectorRef.detectChanges();
9245
+ };
9246
+ AutocompleteFieldComponent.prototype.setInputRef = function () {
9247
+ this.inputRef = this.elementRef.nativeElement.querySelector('input');
9248
+ };
9249
+ AutocompleteFieldComponent.ctorParameters = function () { return [
9250
+ { type: core.ChangeDetectorRef },
9251
+ { type: core.ElementRef }
9252
+ ]; };
9203
9253
  __decorate([
9204
9254
  core.Input()
9205
9255
  ], AutocompleteFieldComponent.prototype, "field", void 0);
@@ -9208,7 +9258,7 @@
9208
9258
  ], AutocompleteFieldComponent.prototype, "formControl", void 0);
9209
9259
  AutocompleteFieldComponent = __decorate([
9210
9260
  core.Component({
9211
- template: "<div\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\">\n <s-lookup\n [id]=\"(field.id || field.name)\"\n [multiple]=\"field.multiple\"\n [formControl]=\"formControl\"\n [placeholder]=\"field.placeholder\"\n [lookupSuggestions]=\"field.suggestions\"\n [dataKey]=\"field.dataKey\"\n (onLookupRequest)=\"field.onSearch($event)\"\n [lookupDisplayField]=\"field.displayField\"\n [showSearch]=\"false\"\n [lookupAppendTo]=\"field.appendTo\"\n (onSelect)=\"field.onSelect ? field.onSelect($event) : null\"\n (onUnselect)=\"field.onUnselect ? field.onUnselect($event) : null\"\n (onClear)=\"field.onClear ? field.onClear($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n [lookupEmptyMessage]=\"field.emptyMessage\">\n </s-lookup>\n</div>\n"
9261
+ template: "<s-field-label *ngIf=\"inputRef\" [field]=\"field\"\n [fieldContainerRef]=\"inputRef\"></s-field-label>\n \n<div\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\">\n <s-lookup\n [id]=\"(field.id || field.name)\"\n [multiple]=\"field.multiple\"\n [formControl]=\"formControl\"\n [placeholder]=\"field.placeholder\"\n [lookupSuggestions]=\"field.suggestions\"\n [dataKey]=\"field.dataKey\"\n (onLookupRequest)=\"field.onSearch($event)\"\n [lookupDisplayField]=\"field.displayField\"\n [showSearch]=\"false\"\n [lookupAppendTo]=\"field.appendTo\"\n (onSelect)=\"field.onSelect ? field.onSelect($event) : null\"\n (onUnselect)=\"field.onUnselect ? field.onUnselect($event) : null\"\n (onClear)=\"field.onClear ? field.onClear($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n [lookupEmptyMessage]=\"field.emptyMessage\">\n </s-lookup>\n</div>\n"
9212
9262
  })
9213
9263
  ], AutocompleteFieldComponent);
9214
9264
  return AutocompleteFieldComponent;
@@ -9228,7 +9278,7 @@
9228
9278
  ], BooleanFieldComponent.prototype, "formControl", void 0);
9229
9279
  BooleanFieldComponent = __decorate([
9230
9280
  core.Component({
9231
- template: "<ng-container *ngIf=\"field.verticalAlignment;else horizontalAlignment\">\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <p-radioButton\n [name]=\"field.name\"\n [value]=\"true\"\n [label]=\"field.optionsLabel.true\"\n [formControl]=\"formControl\"\n [inputId]=\"(field.id || field.name) + '-1'\"\n (onClick)=\"field.onClick ? field.onClick($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\">\n </p-radioButton>\n </div>\n <div class=\"ui-g-12\">\n <p-radioButton\n [name]=\"field.name\"\n [value]=\"false\"\n [label]=\"field.optionsLabel.false\"\n [formControl]=\"formControl\"\n [inputId]=\"(field.id || field.name) + '-2'\"\n (onClick)=\"field.onClick ? field.onClick($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\">\n </p-radioButton>\n </div>\n <div\n *ngIf=\"!field.showClear && !field.required()\"\n class=\"ui-g-12\">\n <p-radioButton \n [name]=\"field.name\"\n [value]=\"null\"\n [label]=\"field.optionsLabel.empty\"\n [formControl]=\"formControl\"\n [inputId]=\"(field.id || field.name) + '-3'\"\n (onClick)=\"field.onClick ? field.onClick($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\">\n </p-radioButton> \n </div>\n <div>\n <s-button\n *ngIf=\"field.showClear && !field.required() && !formControl.disabled\"\n [label]=\"field.optionsLabel.clear || 'Clear selection'\"\n (onClick)=\"onClear()\"\n priority=\"link\">\n </s-button>\n </div>\n\n </div>\n</ng-container>\n\n<ng-template #horizontalAlignment>\n <div class=\"ui-g\">\n <p-radioButton\n [name]=\"field.name\"\n [value]=\"true\"\n [label]=\"field.optionsLabel.true\"\n [formControl]=\"formControl\"\n [inputId]=\"(field.id || field.name) + '-1'\"\n (onClick)=\"field.onClick ? field.onClick($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\">\n </p-radioButton>\n \n <p-radioButton\n [name]=\"field.name\"\n [value]=\"false\"\n [label]=\"field.optionsLabel.false\"\n [formControl]=\"formControl\"\n [inputId]=\"(field.id || field.name) + '-2'\"\n (onClick)=\"field.onClick ? field.onClick($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\">\n </p-radioButton>\n\n <p-radioButton\n *ngIf=\"!field.showClear && !field.required()\"\n [name]=\"field.name\"\n [value]=\"null\"\n [label]=\"field.optionsLabel.empty\"\n [formControl]=\"formControl\"\n [inputId]=\"(field.id || field.name) + '-3'\"\n (onClick)=\"field.onClick ? field.onClick($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\">\n </p-radioButton>\n\n <s-button\n *ngIf=\"field.showClear && !field.required() && !formControl.disabled\"\n style=\"margin-left: 40px;\"\n [label]=\"field.optionsLabel.clear || 'Clear selection'\"\n (onClick)=\"onClear()\"\n priority=\"link\">\n </s-button>\n </div>\n</ng-template>\n"
9281
+ template: "<s-field-label [field]=\"field\"></s-field-label>\n\n<ng-container *ngIf=\"field.verticalAlignment;else horizontalAlignment\">\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <p-radioButton\n [name]=\"field.name\"\n [value]=\"true\"\n [label]=\"field.optionsLabel.true\"\n [formControl]=\"formControl\"\n [inputId]=\"(field.id || field.name) + '-1'\"\n (onClick)=\"field.onClick ? field.onClick($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\">\n </p-radioButton>\n </div>\n <div class=\"ui-g-12\">\n <p-radioButton\n [name]=\"field.name\"\n [value]=\"false\"\n [label]=\"field.optionsLabel.false\"\n [formControl]=\"formControl\"\n [inputId]=\"(field.id || field.name) + '-2'\"\n (onClick)=\"field.onClick ? field.onClick($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\">\n </p-radioButton>\n </div>\n <div\n *ngIf=\"!field.showClear && !field.required()\"\n class=\"ui-g-12\">\n <p-radioButton \n [name]=\"field.name\"\n [value]=\"null\"\n [label]=\"field.optionsLabel.empty\"\n [formControl]=\"formControl\"\n [inputId]=\"(field.id || field.name) + '-3'\"\n (onClick)=\"field.onClick ? field.onClick($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\">\n </p-radioButton> \n </div>\n <div>\n <s-button\n *ngIf=\"field.showClear && !field.required() && !formControl.disabled\"\n [label]=\"field.optionsLabel.clear || 'Clear selection'\"\n (onClick)=\"onClear()\"\n priority=\"link\">\n </s-button>\n </div>\n\n </div>\n</ng-container>\n\n<ng-template #horizontalAlignment>\n <div class=\"ui-g\">\n <p-radioButton\n [name]=\"field.name\"\n [value]=\"true\"\n [label]=\"field.optionsLabel.true\"\n [formControl]=\"formControl\"\n [inputId]=\"(field.id || field.name) + '-1'\"\n (onClick)=\"field.onClick ? field.onClick($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\">\n </p-radioButton>\n \n <p-radioButton\n [name]=\"field.name\"\n [value]=\"false\"\n [label]=\"field.optionsLabel.false\"\n [formControl]=\"formControl\"\n [inputId]=\"(field.id || field.name) + '-2'\"\n (onClick)=\"field.onClick ? field.onClick($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\">\n </p-radioButton>\n\n <p-radioButton\n *ngIf=\"!field.showClear && !field.required()\"\n [name]=\"field.name\"\n [value]=\"null\"\n [label]=\"field.optionsLabel.empty\"\n [formControl]=\"formControl\"\n [inputId]=\"(field.id || field.name) + '-3'\"\n (onClick)=\"field.onClick ? field.onClick($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\">\n </p-radioButton>\n\n <s-button\n *ngIf=\"field.showClear && !field.required() && !formControl.disabled\"\n style=\"margin-left: 40px;\"\n [label]=\"field.optionsLabel.clear || 'Clear selection'\"\n (onClick)=\"onClear()\"\n priority=\"link\">\n </s-button>\n </div>\n</ng-template>\n"
9232
9282
  })
9233
9283
  ], BooleanFieldComponent);
9234
9284
  return BooleanFieldComponent;
@@ -9252,8 +9302,10 @@
9252
9302
  }());
9253
9303
 
9254
9304
  var CalendarFieldComponent = /** @class */ (function () {
9255
- function CalendarFieldComponent(translateService) {
9305
+ function CalendarFieldComponent(translateService, changeDetectorRef, elementRef) {
9256
9306
  this.translateService = translateService;
9307
+ this.changeDetectorRef = changeDetectorRef;
9308
+ this.elementRef = elementRef;
9257
9309
  this.locale = {
9258
9310
  firstDayOfWeek: 0,
9259
9311
  dayNames: [
@@ -9317,8 +9369,17 @@
9317
9369
  hourFormat: this.translateService.instant("platform.angular_components.hour_format"),
9318
9370
  };
9319
9371
  }
9372
+ CalendarFieldComponent.prototype.ngAfterViewInit = function () {
9373
+ this.setInputRef();
9374
+ this.changeDetectorRef.detectChanges();
9375
+ };
9376
+ CalendarFieldComponent.prototype.setInputRef = function () {
9377
+ this.inputRef = this.elementRef.nativeElement.querySelector('input');
9378
+ };
9320
9379
  CalendarFieldComponent.ctorParameters = function () { return [
9321
- { type: core$1.TranslateService }
9380
+ { type: core$1.TranslateService },
9381
+ { type: core.ChangeDetectorRef },
9382
+ { type: core.ElementRef }
9322
9383
  ]; };
9323
9384
  __decorate([
9324
9385
  core.Input()
@@ -9332,17 +9393,22 @@
9332
9393
  __decorate([
9333
9394
  core.Input()
9334
9395
  ], CalendarFieldComponent.prototype, "timeOnly", void 0);
9396
+ __decorate([
9397
+ core.ViewChild('calendar')
9398
+ ], CalendarFieldComponent.prototype, "calendar", void 0);
9335
9399
  CalendarFieldComponent = __decorate([
9336
9400
  core.Component({
9337
- template: "<div\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\">\n <!-- Remover as propriedades [showTransitionOptions] e [hideTransitionOptions] quando atualizar para o PrimeNG v10, esses atributos foram\n usados para remover um bug ocasionado pela anima\u00E7\u00E3o do componente p-calendar, bug explicado nas issues: #ERPROM-5534, #ERPROM-8248 e #DSN-1045. -->\n <p-calendar\n #calendar\n sCalendarMask\n [inputId]=\"(field.id || field.name)\"\n [name]=\"field.name\"\n [showIcon]=\"true\"\n [timeOnly]=\"timeOnly\"\n [selectionMode]=\"field.selectionMode\"\n [rangeSeparator]=\"field.rangeSeparator\"\n [showTime]=\"showTime\"\n [showSeconds]=\"field.showSeconds\"\n [showOnFocus]=\"field.showOnFocus\"\n [formControl]=\"formControl\"\n [icon]=\"timeOnly ? 'fa fa-clock' : 'fa fa-calendar'\"\n [minDate]=\"field.minDate\"\n [maxDate]=\"field.maxDate\"\n [defaultDate]=\"field.defaultDate\"\n [locale]=\"field.calendarLocaleOptions || locale\"\n [dateFormat]=\"field.calendarLocaleOptions?.dateFormat || 'platform.angular_components.date_format' | translate\"\n [hourFormat]=\"field.calendarLocaleOptions?.hourFormat || 'platform.angular_components.hour_format' | translate\"\n [view]=\"field.view\"\n [placeholder]=\"field.placeholder\"\n inputStyleClass=\"mousetrap\"\n [appendTo]=\"field.appendTo\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event): null\"\n (onSelect)=\"field.onSelect ? field.onSelect($event) : null\"\n (onClose)=\"field.onClose ? field.onClose($event) : null\"\n (onTodayClick)=\"field.onTodayClick ? field.onTodayClick($event) : null\"\n (onClearClick)=\"field.onClearClick ? field.onClearClick($event) : null\"\n (onMonthChange)=\"field.onMonthChange ? field.onMonthChange($event) : null\"\n (onYearChange)=\"field.onYearChange ? field.onYearChange($event) : null\"\n [showTransitionOptions]=\"'0ms'\"\n [hideTransitionOptions]=\"'0ms'\">\n </p-calendar>\n</div>\n"
9401
+ template: "<s-field-label *ngIf=\"inputRef\" [field]=\"field\"\n [fieldContainerRef]=\"inputRef\"></s-field-label>\n\n<div\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\">\n <!-- Remover as propriedades [showTransitionOptions] e [hideTransitionOptions] quando atualizar para o PrimeNG v10, esses atributos foram\n usados para remover um bug ocasionado pela anima\u00E7\u00E3o do componente p-calendar, bug explicado nas issues: #ERPROM-5534, #ERPROM-8248 e #DSN-1045. -->\n <p-calendar\n #calendar\n sCalendarMask\n [inputId]=\"(field.id || field.name)\"\n [name]=\"field.name\"\n [showIcon]=\"true\"\n [timeOnly]=\"timeOnly\"\n [selectionMode]=\"field.selectionMode\"\n [rangeSeparator]=\"field.rangeSeparator\"\n [showTime]=\"showTime\"\n [showSeconds]=\"field.showSeconds\"\n [showOnFocus]=\"field.showOnFocus\"\n [formControl]=\"formControl\"\n [icon]=\"timeOnly ? 'fa fa-clock' : 'fa fa-calendar'\"\n [minDate]=\"field.minDate\"\n [maxDate]=\"field.maxDate\"\n [defaultDate]=\"field.defaultDate\"\n [locale]=\"field.calendarLocaleOptions || locale\"\n [dateFormat]=\"field.calendarLocaleOptions?.dateFormat || 'platform.angular_components.date_format' | translate\"\n [hourFormat]=\"field.calendarLocaleOptions?.hourFormat || 'platform.angular_components.hour_format' | translate\"\n [view]=\"field.view\"\n [placeholder]=\"field.placeholder\"\n inputStyleClass=\"mousetrap\"\n [appendTo]=\"field.appendTo\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event): null\"\n (onSelect)=\"field.onSelect ? field.onSelect($event) : null\"\n (onClose)=\"field.onClose ? field.onClose($event) : null\"\n (onTodayClick)=\"field.onTodayClick ? field.onTodayClick($event) : null\"\n (onClearClick)=\"field.onClearClick ? field.onClearClick($event) : null\"\n (onMonthChange)=\"field.onMonthChange ? field.onMonthChange($event) : null\"\n (onYearChange)=\"field.onYearChange ? field.onYearChange($event) : null\"\n [showTransitionOptions]=\"'0ms'\"\n [hideTransitionOptions]=\"'0ms'\">\n </p-calendar>\n</div>\n"
9338
9402
  })
9339
9403
  ], CalendarFieldComponent);
9340
9404
  return CalendarFieldComponent;
9341
9405
  }());
9342
9406
 
9343
9407
  var ChipsFieldComponent = /** @class */ (function () {
9344
- function ChipsFieldComponent(clipboard) {
9408
+ function ChipsFieldComponent(clipboard, changeDetectorRef, elementRef) {
9345
9409
  this.clipboard = clipboard;
9410
+ this.changeDetectorRef = changeDetectorRef;
9411
+ this.elementRef = elementRef;
9346
9412
  this.feedbackMessageVisible = false;
9347
9413
  this.copyButtonVisible = true;
9348
9414
  }
@@ -9362,8 +9428,17 @@
9362
9428
  }
9363
9429
  }
9364
9430
  };
9431
+ ChipsFieldComponent.prototype.ngAfterViewInit = function () {
9432
+ this.setInputRef();
9433
+ this.changeDetectorRef.detectChanges();
9434
+ };
9435
+ ChipsFieldComponent.prototype.setInputRef = function () {
9436
+ this.inputRef = this.elementRef.nativeElement.querySelector('input');
9437
+ };
9365
9438
  ChipsFieldComponent.ctorParameters = function () { return [
9366
- { type: clipboard.Clipboard }
9439
+ { type: clipboard.Clipboard },
9440
+ { type: core.ChangeDetectorRef },
9441
+ { type: core.ElementRef }
9367
9442
  ]; };
9368
9443
  __decorate([
9369
9444
  core.Input()
@@ -9373,7 +9448,7 @@
9373
9448
  ], ChipsFieldComponent.prototype, "formControl", void 0);
9374
9449
  ChipsFieldComponent = __decorate([
9375
9450
  core.Component({
9376
- template: "<div class=\"chips-field-wrapper\">\n <div style=\"width: 100%;\">\n <p-chips\n *ngIf=\"field.keyFilter\"\n [inputId]=\"(field.id || field.name)\"\n [formControl]=\"formControl\"\n [placeholder]=\"field.placeholder\"\n [allowDuplicate]=\"false\"\n [addOnTab]=\"true\"\n [addOnBlur]=\"true\"\n (onAdd)=\"field.onAdd ? field.onAdd($event) : null\"\n (onRemove)=\"field.onRemove ? field.onRemove($event) : null\"\n (onChipClick)=\"field.onChipClick ? field.onChipClick($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n [pKeyFilter]=\"field.keyFilter\">\n <ng-template let-item pTemplate=\"item\">\n <span\n class=\"chip-content\"\n [sTooltip]=\"item\">\n {{ item }}\n </span>\n </ng-template>\n </p-chips>\n \n <p-chips\n *ngIf=\"!field.keyFilter\"\n [inputId]=\"(field.id || field.name)\"\n [formControl]=\"formControl\"\n [placeholder]=\"field.placeholder\"\n [allowDuplicate]=\"false\"\n [addOnTab]=\"true\"\n [addOnBlur]=\"true\"\n (onAdd)=\"field.onAdd ? field.onAdd($event) : null\"\n (onRemove)=\"field.onRemove ? field.onRemove($event) : null\"\n (onChipClick)=\"field.onChipClick ? field.onChipClick($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\">\n <ng-template let-item pTemplate=\"item\">\n <span\n class=\"chip-content\"\n [sTooltip]=\"item\">\n {{ item }}\n </span>\n </ng-template>\n </p-chips>\n </div>\n \n <button\n *ngIf=\"field.showCopyButton && formControl.value?.length > 0 && copyButtonVisible\"\n class=\"copy-content-button\"\n (click)=\"onCopyFieldContent()\">\n {{ \"platform.angular_components.copy_field_content\" | translate }}\n </button>\n \n <span\n *ngIf=\"feedbackMessageVisible\"\n class=\"feedback-message\">\n {{ \"platform.angular_components.copied_to_clipboard\" | translate }}\n </span>\n</div>\n",
9451
+ template: "<s-field-label *ngIf=\"inputRef\" [field]=\"field\"\n [fieldContainerRef]=\"inputRef\"></s-field-label>\n \n<div class=\"chips-field-wrapper\">\n <div style=\"width: 100%;\">\n <p-chips\n *ngIf=\"field.keyFilter\"\n [inputId]=\"(field.id || field.name)\"\n [formControl]=\"formControl\"\n [placeholder]=\"field.placeholder\"\n [allowDuplicate]=\"false\"\n [addOnTab]=\"true\"\n [addOnBlur]=\"true\"\n (onAdd)=\"field.onAdd ? field.onAdd($event) : null\"\n (onRemove)=\"field.onRemove ? field.onRemove($event) : null\"\n (onChipClick)=\"field.onChipClick ? field.onChipClick($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n [pKeyFilter]=\"field.keyFilter\">\n <ng-template let-item pTemplate=\"item\">\n <span\n class=\"chip-content\"\n [sTooltip]=\"item\">\n {{ item }}\n </span>\n </ng-template>\n </p-chips>\n \n <p-chips\n *ngIf=\"!field.keyFilter\"\n [inputId]=\"(field.id || field.name)\"\n [formControl]=\"formControl\"\n [placeholder]=\"field.placeholder\"\n [allowDuplicate]=\"false\"\n [addOnTab]=\"true\"\n [addOnBlur]=\"true\"\n (onAdd)=\"field.onAdd ? field.onAdd($event) : null\"\n (onRemove)=\"field.onRemove ? field.onRemove($event) : null\"\n (onChipClick)=\"field.onChipClick ? field.onChipClick($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\">\n <ng-template let-item pTemplate=\"item\">\n <span\n class=\"chip-content\"\n [sTooltip]=\"item\">\n {{ item }}\n </span>\n </ng-template>\n </p-chips>\n </div>\n \n <button\n *ngIf=\"field.showCopyButton && formControl.value?.length > 0 && copyButtonVisible\"\n class=\"copy-content-button\"\n (click)=\"onCopyFieldContent()\">\n {{ \"platform.angular_components.copy_field_content\" | translate }}\n </button>\n \n <span\n *ngIf=\"feedbackMessageVisible\"\n class=\"feedback-message\">\n {{ \"platform.angular_components.copied_to_clipboard\" | translate }}\n </span>\n</div>\n",
9377
9452
  styles: [".chips-field-wrapper{-ms-flex-align:start;align-items:flex-start;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.chips-field-wrapper .chip-content{display:block;overflow:hidden;padding-right:1rem;text-overflow:ellipsis}.chips-field-wrapper .copy-content-button{background-color:transparent;border:none;color:#2a6496;cursor:pointer;margin-top:8px}.chips-field-wrapper .feedback-message{color:#0c9348;display:block;margin-top:8px;-webkit-user-select:none;-ms-user-select:none;user-select:none}"]
9378
9453
  })
9379
9454
  ], ChipsFieldComponent);
@@ -9381,8 +9456,21 @@
9381
9456
  }());
9382
9457
 
9383
9458
  var CountryPhonePickerFieldComponent = /** @class */ (function () {
9384
- function CountryPhonePickerFieldComponent() {
9459
+ function CountryPhonePickerFieldComponent(changeDetectorRef, elementRef) {
9460
+ this.changeDetectorRef = changeDetectorRef;
9461
+ this.elementRef = elementRef;
9385
9462
  }
9463
+ CountryPhonePickerFieldComponent.prototype.ngAfterViewInit = function () {
9464
+ this.setInputRef();
9465
+ this.changeDetectorRef.detectChanges();
9466
+ };
9467
+ CountryPhonePickerFieldComponent.prototype.setInputRef = function () {
9468
+ this.inputRef = this.elementRef.nativeElement.querySelector('input');
9469
+ };
9470
+ CountryPhonePickerFieldComponent.ctorParameters = function () { return [
9471
+ { type: core.ChangeDetectorRef },
9472
+ { type: core.ElementRef }
9473
+ ]; };
9386
9474
  __decorate([
9387
9475
  core.Input()
9388
9476
  ], CountryPhonePickerFieldComponent.prototype, "field", void 0);
@@ -9391,7 +9479,7 @@
9391
9479
  ], CountryPhonePickerFieldComponent.prototype, "formControl", void 0);
9392
9480
  CountryPhonePickerFieldComponent = __decorate([
9393
9481
  core.Component({
9394
- template: "<s-country-phone-picker\n [formControl]=\"formControl\"\n [ordination]=\"field.ordination\"\n [countries]=\"field.countries\"\n (selected)=\"field.onSelected\"\n (focusLost)=\"field.onFocusLost\">\n</s-country-phone-picker>"
9482
+ template: "<s-field-label *ngIf=\"inputRef\" [field]=\"field\"\n [fieldContainerRef]=\"inputRef\"></s-field-label>\n\n<s-country-phone-picker\n [formControl]=\"formControl\"\n [ordination]=\"field.ordination\"\n [countries]=\"field.countries\"\n (selected)=\"field.onSelected\"\n (focusLost)=\"field.onFocusLost\">\n</s-country-phone-picker>"
9395
9483
  })
9396
9484
  ], CountryPhonePickerFieldComponent);
9397
9485
  return CountryPhonePickerFieldComponent;
@@ -9423,18 +9511,48 @@
9423
9511
 
9424
9512
  var FileUploadComponent$1 = /** @class */ (function (_super) {
9425
9513
  __extends(FileUploadComponent, _super);
9426
- function FileUploadComponent() {
9427
- return _super !== null && _super.apply(this, arguments) || this;
9514
+ function FileUploadComponent(changeDetectorRef, elementRef) {
9515
+ var _this = _super.call(this) || this;
9516
+ _this.changeDetectorRef = changeDetectorRef;
9517
+ _this.elementRef = elementRef;
9518
+ return _this;
9428
9519
  }
9520
+ FileUploadComponent.prototype.onClick = function () {
9521
+ this.dispatchFocusInputRef();
9522
+ this.addEventOnBlur();
9523
+ };
9524
+ FileUploadComponent.prototype.ngAfterViewInit = function () {
9525
+ this.setInputRef();
9526
+ this.changeDetectorRef.detectChanges();
9527
+ };
9528
+ FileUploadComponent.prototype.addEventOnBlur = function () {
9529
+ var _this = this;
9530
+ rxjs.fromEvent(document, 'click')
9531
+ .pipe(operators.filter(function (event) { return !_this.elementRef.nativeElement.contains(event.target); }), operators.take(1))
9532
+ .subscribe(function () { return _this.inputRef.dispatchEvent(new Event('blur')); });
9533
+ };
9534
+ FileUploadComponent.prototype.setInputRef = function () {
9535
+ this.inputRef = this.elementRef.nativeElement.querySelector('input');
9536
+ };
9537
+ FileUploadComponent.prototype.dispatchFocusInputRef = function () {
9538
+ this.inputRef.dispatchEvent(new Event('focus'));
9539
+ };
9540
+ FileUploadComponent.ctorParameters = function () { return [
9541
+ { type: core.ChangeDetectorRef },
9542
+ { type: core.ElementRef }
9543
+ ]; };
9429
9544
  __decorate([
9430
9545
  core.Input()
9431
9546
  ], FileUploadComponent.prototype, "field", void 0);
9432
9547
  __decorate([
9433
9548
  core.Input()
9434
9549
  ], FileUploadComponent.prototype, "formControl", void 0);
9550
+ __decorate([
9551
+ core.HostListener('click')
9552
+ ], FileUploadComponent.prototype, "onClick", null);
9435
9553
  FileUploadComponent = __decorate([
9436
9554
  core.Component({
9437
- template: "<s-file-upload [id]=\"(field.id || field.name)\" [accept]=\"field.accept\" [files]=\"field.files\" [multiple]=\"field.multiple\"\n [chooseLabel]=\"field.chooseLabel\" [removeLabel]=\"field.removeLabel\" [cancelLabel]=\"field.cancelLabel\"\n [successTooltip]=\"field.successTooltip\" (uploadHandler)=\"field.onUploadFile($event, field)\"\n (removeFile)=\"field.onRemoveFile($event, field)\" (cancelUpload)=\"field.onCancelUpload($event, field)\"\n (downloadFile)=\"field.onDownloadFile($event, field)\" [formGroup]=\"formControl\"\n [showFileUploadDate]=\"field.showFileUploadDate\"> \n</s-file-upload>\n"
9555
+ template: "<s-field-label *ngIf=\"inputRef\" [field]=\"field\"\n [fieldContainerRef]=\"inputRef\"></s-field-label>\n \n<s-file-upload\n [id]=\"(field.id || field.name)\"\n [accept]=\"field.accept\"\n [files]=\"field.files\"\n [multiple]=\"field.multiple\"\n [chooseLabel]=\"field.chooseLabel\"\n [removeLabel]=\"field.removeLabel\"\n [cancelLabel]=\"field.cancelLabel\"\n [successTooltip]=\"field.successTooltip\"\n (uploadHandler)=\"field.onUploadFile($event, field)\"\n (removeFile)=\"field.onRemoveFile($event, field)\"\n (cancelUpload)=\"field.onCancelUpload($event, field)\"\n (downloadFile)=\"field.onDownloadFile($event, field)\"\n [formGroup]=\"formControl\"\n [showFileUploadDate]=\"field.showFileUploadDate\"> \n</s-file-upload>\n"
9438
9556
  })
9439
9557
  ], FileUploadComponent);
9440
9558
  return FileUploadComponent;
@@ -9451,7 +9569,7 @@
9451
9569
  ], LookupFieldComponent.prototype, "formControl", void 0);
9452
9570
  LookupFieldComponent = __decorate([
9453
9571
  core.Component({
9454
- template: "<div [sTooltip]=\"field.tooltip\" tooltipPosition=\"top\" [showDelay]=\"500\">\n <s-lookup\n [id]=\"field.id || field.name\"\n [multiple]=\"field.multiple\"\n [formControl]=\"formControl\"\n [lookupSuggestions]=\"field.lookupSuggestions\"\n [dataKey]=\"field.dataKey\"\n [placeholder]=\"field.placeholder\"\n [showSearch]=\"field.showSearch\"\n [searchFields]=\"field.searchFields\"\n [searchGridFields]=\"field.searchGridFields\"\n [searchGridData]=\"field.gridData\"\n (onLookupRequest)=\"field.onLookupRequest($event)\"\n (onSearchRequest)=\"field.onSearchRequest($event)\"\n [lookupDisplayField]=\"field.lookupDisplayField\"\n [searchTotalRecords]=\"field.searchTotalRecords\"\n [searchTotalRecordsLabel]=\"field.searchTotalRecordsLabel\"\n [searchTitle]=\"field.searchTitle\"\n [selectLabel]=\"field.selectLabel\"\n [searchEmptyTitle]=\"field.searchEmptyTitle\"\n [filterLabel]=\"field.filterLabel\"\n [filterTitle]=\"field.filterTitle\"\n [clearLabel]=\"field.clearLabel\"\n [cancelLabel]=\"field.cancelLabel\"\n [emptyFieldLabel]=\"field.emptyFieldLabel\"\n (onSelect)=\"field.onSelect($event)\"\n (onUnselect)=\"field.onUnselect($event)\"\n (onClear)=\"field.onClear ? field.onClear($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n [lookupAppendTo]=\"field.appendTo\"\n [lookupEmptyMessage]=\"field.emptyMessage\"\n [recordLabel]=\"field.recordLabel\"\n [recordsLabel]=\"field.recordsLabel\"\n [defaultFilter]=\"field.defaultFilter\"\n [autocompleteForceSelection]=\"field.autocompleteForceSelection\"\n [showAddOption]=\"field.showAddOption\"\n [showEditOption]=\"field.showEditOption\"\n [showRemoveOption]=\"field.showRemoveOption\"\n (onAdd)=\"field.onAdd()\"\n (onEdit)=\"field.onEdit($event)\"\n (onRemove)=\"field.onRemove($event)\"\n >\n </s-lookup>\n</div>\n"
9572
+ template: "<s-field-label [field]=\"field\">\n\n<div [sTooltip]=\"field.tooltip\" tooltipPosition=\"top\" [showDelay]=\"500\">\n <s-lookup\n [id]=\"field.id || field.name\"\n [multiple]=\"field.multiple\"\n [formControl]=\"formControl\"\n [lookupSuggestions]=\"field.lookupSuggestions\"\n [dataKey]=\"field.dataKey\"\n [placeholder]=\"field.placeholder\"\n [showSearch]=\"field.showSearch\"\n [searchFields]=\"field.searchFields\"\n [searchGridFields]=\"field.searchGridFields\"\n [searchGridData]=\"field.gridData\"\n (onLookupRequest)=\"field.onLookupRequest($event)\"\n (onSearchRequest)=\"field.onSearchRequest($event)\"\n [lookupDisplayField]=\"field.lookupDisplayField\"\n [searchTotalRecords]=\"field.searchTotalRecords\"\n [searchTotalRecordsLabel]=\"field.searchTotalRecordsLabel\"\n [searchTitle]=\"field.searchTitle\"\n [selectLabel]=\"field.selectLabel\"\n [searchEmptyTitle]=\"field.searchEmptyTitle\"\n [filterLabel]=\"field.filterLabel\"\n [filterTitle]=\"field.filterTitle\"\n [clearLabel]=\"field.clearLabel\"\n [cancelLabel]=\"field.cancelLabel\"\n [emptyFieldLabel]=\"field.emptyFieldLabel\"\n (onSelect)=\"field.onSelect($event)\"\n (onUnselect)=\"field.onUnselect($event)\"\n (onClear)=\"field.onClear ? field.onClear($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n [lookupAppendTo]=\"field.appendTo\"\n [lookupEmptyMessage]=\"field.emptyMessage\"\n [recordLabel]=\"field.recordLabel\"\n [recordsLabel]=\"field.recordsLabel\"\n [defaultFilter]=\"field.defaultFilter\"\n [autocompleteForceSelection]=\"field.autocompleteForceSelection\"\n [showAddOption]=\"field.showAddOption\"\n [showEditOption]=\"field.showEditOption\"\n [showRemoveOption]=\"field.showRemoveOption\"\n (onAdd)=\"field.onAdd()\"\n (onEdit)=\"field.onEdit($event)\"\n (onRemove)=\"field.onRemove($event)\"\n >\n </s-lookup>\n</div>\n"
9455
9573
  })
9456
9574
  ], LookupFieldComponent);
9457
9575
  return LookupFieldComponent;
@@ -9495,7 +9613,7 @@
9495
9613
  ], RadioButtonComponent.prototype, "onFocus", void 0);
9496
9614
  RadioButtonComponent = __decorate([
9497
9615
  core.Component({
9498
- template: "<ng-container *ngIf=\"field.verticalAlignment;else horizontalAlignment\">\n <div class=\"ui-g\">\n <div\n *ngFor=\"let option of field.options; let i = index\"\n class=\"ui-g-12\">\n <ng-container\n [ngTemplateOutlet]=\"radioButton\"\n [ngTemplateOutletContext]=\"{option: option, index: i}\">\n </ng-container>\n </div>\n <s-button\n *ngIf=\"field.showClear && !field.required() && !formControl.disabled\"\n [label]=\"field.clearLabel || 'Clear selection'\"\n (onClick)=\"onClear()\"\n priority=\"link\">\n </s-button>\n </div>\n</ng-container>\n\n<ng-template #horizontalAlignment>\n <div class=\"ui-g\">\n <ng-container\n *ngFor=\"let option of field.options; let i = index\"\n [ngTemplateOutlet]=\"radioButton\"\n [ngTemplateOutletContext]=\"{option: option, index: i}\">\n </ng-container>\n </div>\n <s-button\n *ngIf=\"field.showClear && !field.required() && !formControl.disabled\"\n class=\"horizontal-clear-option\"\n [label]=\"field.clearLabel || 'Clear selection'\"\n (onClick)=\"onClear()\"\n priority=\"link\">\n </s-button>\n</ng-template>\n\n<ng-template #radioButton let-option=\"option\" let-i=\"index\">\n <p-radioButton\n [name]=\"field.name\"\n [value]=\"option.value\"\n [label]=\"option.label\"\n [formControl]=\"formControl\"\n [inputId]=\"(field.id || field.name) + '-' + i\"\n [sTooltip]=\"field.tooltip\"\n (onClick)=\"onClick.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\">\n </p-radioButton>\n</ng-template>\n",
9616
+ template: "<s-field-label [field]=\"field\"></s-field-label>\n\n<ng-container *ngIf=\"field.verticalAlignment;else horizontalAlignment\">\n <div class=\"ui-g\">\n <div\n *ngFor=\"let option of field.options; let i = index\"\n class=\"ui-g-12\">\n <ng-container\n [ngTemplateOutlet]=\"radioButton\"\n [ngTemplateOutletContext]=\"{option: option, index: i}\">\n </ng-container>\n </div>\n <s-button\n *ngIf=\"field.showClear && !field.required() && !formControl.disabled\"\n [label]=\"field.clearLabel || 'Clear selection'\"\n (onClick)=\"onClear()\"\n priority=\"link\">\n </s-button>\n </div>\n</ng-container>\n\n<ng-template #horizontalAlignment>\n <div class=\"ui-g\">\n <ng-container\n *ngFor=\"let option of field.options; let i = index\"\n [ngTemplateOutlet]=\"radioButton\"\n [ngTemplateOutletContext]=\"{option: option, index: i}\">\n </ng-container>\n </div>\n <s-button\n *ngIf=\"field.showClear && !field.required() && !formControl.disabled\"\n class=\"horizontal-clear-option\"\n [label]=\"field.clearLabel || 'Clear selection'\"\n (onClick)=\"onClear()\"\n priority=\"link\">\n </s-button>\n</ng-template>\n\n<ng-template #radioButton let-option=\"option\" let-i=\"index\">\n <p-radioButton\n [name]=\"field.name\"\n [value]=\"option.value\"\n [label]=\"option.label\"\n [formControl]=\"formControl\"\n [inputId]=\"(field.id || field.name) + '-' + i\"\n [sTooltip]=\"field.tooltip\"\n (onClick)=\"onClick.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\">\n </p-radioButton>\n</ng-template>\n",
9499
9617
  encapsulation: core.ViewEncapsulation.None,
9500
9618
  styles: ["\n s-button.horizontal-clear-option button {\n width: min-content !important;\n }\n "]
9501
9619
  })
@@ -9539,7 +9657,7 @@
9539
9657
  ], SelectFieldComponent.prototype, "formControl", void 0);
9540
9658
  SelectFieldComponent = __decorate([
9541
9659
  core.Component({
9542
- template: "<p-dropdown\n *ngIf=\"!field.multiple\"\n [inputId]=\"(field.id || field.name)\"\n [name]=\"field.name\"\n [options]=\"isFunction(field.options) ? field.options() : field.options\"\n [placeholder]=\"field.placeholder || ' '\"\n [formControl]=\"formControl\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [showClear]=\"field.showClear\"\n dataKey=\"{{field.dataKey}}\"\n optionLabel=\"{{field.optionLabel}}\"\n [autoDisplayFirst]=\"field.autoDisplayFirst\"\n [appendTo]=\"field.appendTo || 'body'\"\n (onClick)=\"field.onClick ? field.onClick($event) : null\"\n (onChange)=\"field.onChange ? field.onChange($event) : null\">\n</p-dropdown>\n<p-multiSelect\n *ngIf=\"field.multiple\"\n [formControl]=\"formControl\"\n [name]=\"field.name\"\n [inputId]=\"(field.id || field.name)\"\n [options]=\"isFunction(field.options) ? field.options() : field.options\"\n [defaultLabel]=\"field.placeholder\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [emptyFilterMessage]=\"field.emptyMessage || 'platform.angular_components.no_records_found' | translate\"\n [showDelay]=\"500\"\n [selectedItemsLabel]=\"field.multipleSelectedLabel || 'platform.angular_components.total_records_selected' | translate\"\n [appendTo]=\"field.appendTo || 'body'\"\n (onClick)=\"field.onClick ? field.onClick($event) : null\"\n (onChange)=\"field.onChange ? field.onChange($event) : null\">\n</p-multiSelect>\n\n"
9660
+ template: "<s-field-label [field]=\"field\"></s-field-label>\n\n<p-dropdown\n *ngIf=\"!field.multiple\"\n [inputId]=\"(field.id || field.name)\"\n [name]=\"field.name\"\n [options]=\"isFunction(field.options) ? field.options() : field.options\"\n [placeholder]=\"field.placeholder || ' '\"\n [formControl]=\"formControl\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [showClear]=\"field.showClear\"\n dataKey=\"{{field.dataKey}}\"\n optionLabel=\"{{field.optionLabel}}\"\n [autoDisplayFirst]=\"field.autoDisplayFirst\"\n [appendTo]=\"field.appendTo || 'body'\"\n (onClick)=\"field.onClick ? field.onClick($event) : null\"\n (onChange)=\"field.onChange ? field.onChange($event) : null\">\n</p-dropdown>\n<p-multiSelect\n *ngIf=\"field.multiple\"\n [formControl]=\"formControl\"\n [name]=\"field.name\"\n [inputId]=\"(field.id || field.name)\"\n [options]=\"isFunction(field.options) ? field.options() : field.options\"\n [defaultLabel]=\"field.placeholder\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [emptyFilterMessage]=\"field.emptyMessage || 'platform.angular_components.no_records_found' | translate\"\n [showDelay]=\"500\"\n [selectedItemsLabel]=\"field.multipleSelectedLabel || 'platform.angular_components.total_records_selected' | translate\"\n [appendTo]=\"field.appendTo || 'body'\"\n (onClick)=\"field.onClick ? field.onClick($event) : null\"\n (onChange)=\"field.onChange ? field.onChange($event) : null\">\n</p-multiSelect>\n\n"
9543
9661
  })
9544
9662
  ], SelectFieldComponent);
9545
9663
  return SelectFieldComponent;
@@ -9654,7 +9772,7 @@
9654
9772
  ], SliderFieldComponent.prototype, "onSlideEnd", void 0);
9655
9773
  SliderFieldComponent = __decorate([
9656
9774
  core.Component({
9657
- template: "<ng-container>\n <div class=\"slider-group\">\n <div class=\"slider-label\">\n <span>{{label}}</span>\n </div>\n <p-slider \n [id]=\"(field.id || field.name)\"\n [formControl]=\"formControl\"\n [range]=\"field.range\"\n [orientation]=\"field.orientation\"\n [min]=\"field.min\" \n [max]=\"field.max\"\n [step]=\"field.step\"\n [animate]=\"field.animate\" \n (onChange)=\"field.onChange ? field.onChange($event) : null\"\n (onSlideEnd)=\"field.onSlideEnd ? field.onSlideEnd($event) : null\">\n </p-slider>\n </div>\n</ng-container>",
9775
+ template: "<s-field-label [field]=\"field\"></s-field-label>\n\n<ng-container>\n <div class=\"slider-group\">\n <div class=\"slider-label\">\n <span>{{label}}</span>\n </div>\n <p-slider \n [id]=\"(field.id || field.name)\"\n [formControl]=\"formControl\"\n [range]=\"field.range\"\n [orientation]=\"field.orientation\"\n [min]=\"field.min\" \n [max]=\"field.max\"\n [step]=\"field.step\"\n [animate]=\"field.animate\" \n (onChange)=\"field.onChange ? field.onChange($event) : null\"\n (onSlideEnd)=\"field.onSlideEnd ? field.onSlideEnd($event) : null\">\n </p-slider>\n </div>\n</ng-container>",
9658
9776
  styles: [".slider-label{margin-bottom:5px;margin-left:-10px}.slider-group{margin-left:9px;margin-right:11px}"]
9659
9777
  })
9660
9778
  ], SliderFieldComponent);
@@ -9662,17 +9780,27 @@
9662
9780
  }(BaseFieldComponent));
9663
9781
 
9664
9782
  var TextAreaFieldComponent = /** @class */ (function () {
9665
- function TextAreaFieldComponent() {
9783
+ function TextAreaFieldComponent(changeDetectorRef) {
9784
+ this.changeDetectorRef = changeDetectorRef;
9666
9785
  }
9786
+ TextAreaFieldComponent.prototype.ngAfterViewInit = function () {
9787
+ this.changeDetectorRef.detectChanges();
9788
+ };
9789
+ TextAreaFieldComponent.ctorParameters = function () { return [
9790
+ { type: core.ChangeDetectorRef }
9791
+ ]; };
9667
9792
  __decorate([
9668
9793
  core.Input()
9669
9794
  ], TextAreaFieldComponent.prototype, "field", void 0);
9670
9795
  __decorate([
9671
9796
  core.Input()
9672
9797
  ], TextAreaFieldComponent.prototype, "formControl", void 0);
9798
+ __decorate([
9799
+ core.ViewChild('inputRef')
9800
+ ], TextAreaFieldComponent.prototype, "inputRef", void 0);
9673
9801
  TextAreaFieldComponent = __decorate([
9674
9802
  core.Component({
9675
- template: "<textarea\n [id]=\"(field.id || field.name)\"\n *ngIf=\"!field.keyFilter\"\n pInputTextarea\n [rows]=\"field.rows\"\n [cols]=\"field.cols\"\n [formControl]=\"formControl\"\n style=\"resize: vertical;\"\n [ngStyle]=\"field.style\"\n [readonly]=\"field.readonly ? field.readonly() : false\"\n></textarea>\n<textarea\n [id]=\"(field.id || field.name)\"\n *ngIf=\"field.keyFilter\"\n pInputTextarea\n [rows]=\"field.rows\"\n [cols]=\"field.cols\"\n [formControl]=\"formControl\"\n style=\"resize: vertical;\"\n [pKeyFilter]=\"field.keyFilter\"\n [ngStyle]=\"field.style\"\n [readonly]=\"field.readonly ? field.readonly() : false\"\n></textarea>\n"
9803
+ template: "<s-field-label *ngIf=\"inputRef\" [field]=\"field\"\n [fieldContainerRef]=\"inputRef?.nativeElement\"></s-field-label>\n\n<textarea #inputRef\n [id]=\"(field.id || field.name)\"\n *ngIf=\"!field.keyFilter\"\n pInputTextarea\n [rows]=\"field.rows\"\n [cols]=\"field.cols\"\n [formControl]=\"formControl\"\n style=\"resize: vertical;\"\n [ngStyle]=\"field.style\"\n [readonly]=\"field.readonly ? field.readonly() : false\"\n></textarea>\n<textarea #inputRef\n [id]=\"(field.id || field.name)\"\n *ngIf=\"field.keyFilter\"\n pInputTextarea\n [rows]=\"field.rows\"\n [cols]=\"field.cols\"\n [formControl]=\"formControl\"\n style=\"resize: vertical;\"\n [pKeyFilter]=\"field.keyFilter\"\n [ngStyle]=\"field.style\"\n [readonly]=\"field.readonly ? field.readonly() : false\"\n></textarea>\n"
9676
9804
  })
9677
9805
  ], TextAreaFieldComponent);
9678
9806
  return TextAreaFieldComponent;
@@ -9746,9 +9874,12 @@
9746
9874
  __decorate([
9747
9875
  core.Input()
9748
9876
  ], TextAreaIAFieldComponent.prototype, "formControl", void 0);
9877
+ __decorate([
9878
+ core.ViewChild('inputRef')
9879
+ ], TextAreaIAFieldComponent.prototype, "inputRef", void 0);
9749
9880
  TextAreaIAFieldComponent = __decorate([
9750
9881
  core.Component({
9751
- template: "<s-loading-state\n [loading]=\"isLoading\"\n [blockWindow]=\"true\"> \n</s-loading-state>\n\n<p-dialog\n [(visible)]=\"isVisible\"\n [modal]=\"true\"\n [style]=\"{ width: '50vw' }\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n (onHide)=\"onHideDialog()\">\n <p-header>\n <div class=\"dialog-header\">\n <span class=\"iassist-icon\">\n <ng-container [ngTemplateOutlet]=\"iassistIcon\"></ng-container>\n </span>\n IAssist - Content Generator\n </div>\n </p-header>\n <s-dynamic-form\n [fields]=\"fields\"\n [form]=\"formGroup\">\n </s-dynamic-form>\n <p-footer>\n <div class=\"footer-content\">\n <s-button\n id=\"-submit-button\"\n type=\"button\"\n [label]=\"'platform.angular_components.generate_text' | translate\"\n (onClick)=\"submitContext()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\">\n </s-button>\n <s-button\n id=\"-cancel-button\"\n type=\"button\"\n priority=\"link\"\n [label]=\"'platform.angular_components.cancel' | translate\"\n (onClick)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\">\n </s-button>\n </div>\n </p-footer>\n</p-dialog>\n\n<div class=\"textarea-ia\">\n <textarea\n [id]=\"(field.id || field.name)\"\n pInputTextarea\n [rows]=\"field.rows\"\n [cols]=\"field.cols\"\n [formControl]=\"formControl\"\n style=\"resize: vertical;\"\n [ngStyle]=\"field.style\"\n [readOnly]=\"field.readonly ? field.readonly() : false\">\n </textarea>\n <button\n class=\"iassist-button\"\n (click)=\"showDialog()\"\n sTooltip=\"IAssist - Content Generator\">\n <ng-container [ngTemplateOutlet]=\"iassistIcon\"></ng-container>\n </button>\n</div>\n\n<ng-template #iassistIcon>\n <svg style=\"width: 100%; height: 100%;\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5.81451 18.1054L5.99593 17.6059L7.52166 13.4099L7.60877 13.1726L7.61277 13.1614L7.94285 12.2543L8.01159 12.0648L8.05394 11.949L5.2998 8.52426L5.02726 8.18379C5.00569 8.15821 4.9881 8.13104 4.97292 8.10226C4.90099 7.9632 4.85063 7.81294 4.82186 7.6531C4.73075 7.1344 4.90418 6.60771 5.28382 6.24326C5.29421 6.23447 5.3038 6.22567 5.31419 6.21688L5.47164 6.0914L9.3439 3.00238L9.5469 2.84094L9.57088 2.82096L10.4101 2.15041L11.8007 1.04188C11.2181 0.925188 10.6163 0.863647 10.0001 0.863647C4.95374 0.863647 0.863281 4.9541 0.863281 9.99963C0.863281 13.5346 2.87254 16.5989 5.80971 18.1182\" fill=\"#0FA389\"/>\n <path d=\"M14.099 1.83472L13.9495 2.24632L11.997 7.61074L11.9427 7.7594L11.9003 7.87369L14.7448 11.4103C14.7463 11.4127 14.7479 11.4143 14.7495 11.4167L14.9414 11.654C14.9541 11.67 14.9661 11.6868 14.9765 11.7044C15.0764 11.8698 15.1444 12.0505 15.1779 12.2431C15.273 12.7826 15.0812 13.3284 14.676 13.6897C14.656 13.7129 14.6345 13.7344 14.6105 13.7536L11.8563 15.9507L11.6789 16.0922L11.6022 16.1537L10.7406 16.8402V16.841L10.3937 17.1176L9.85747 17.5452L9.39951 17.9112L8.11035 18.9398C8.72016 19.0677 9.35155 19.1364 9.99973 19.1364C15.0461 19.1364 19.1365 15.046 19.1365 9.99964C19.1365 6.42789 17.0857 3.33727 14.099 1.83472Z\" fill=\"#0FA389\"/>\n <path d=\"M14.7287 12.3222C14.7047 12.1832 14.6551 12.0545 14.5864 11.941L14.3954 11.7036C14.3954 11.7036 14.3946 11.7028 14.3938 11.7028L11.3839 7.96005L10.5031 6.86511L10.4256 6.7676L9.03255 5.03487L8.83674 4.79191C8.79278 4.71678 8.75681 4.63446 8.73204 4.54814C8.72085 4.51058 8.71286 4.47222 8.70566 4.43465C8.68568 4.32196 8.68408 4.21007 8.69847 4.10217L8.62334 4.16291L8.44511 4.30438L5.75731 6.44871L5.60066 6.57339C5.34011 6.82275 5.20584 7.19279 5.27218 7.57482C5.29296 7.68751 5.32892 7.79541 5.37927 7.89292C5.37927 7.89292 5.37927 7.89292 5.38007 7.89371L5.6566 8.23818L8.57139 11.8627L8.63293 11.9394L9.53047 13.0559L9.59041 13.1303L9.98363 13.6186L11.0178 14.9046C11.0186 14.9054 11.0194 14.9069 11.0202 14.9077L11.1361 15.0516V15.0524C11.2184 15.1755 11.2768 15.317 11.3048 15.4728C11.3239 15.5807 11.3263 15.6878 11.3143 15.7925L11.3175 15.7965L11.3943 15.735L11.5717 15.5935L14.3266 13.3964L14.3218 13.3908C14.6335 13.1438 14.8022 12.7394 14.7287 12.3222Z\" fill=\"#F3F3F5\"/>\n <path d=\"M10.6822 15.0082C10.6814 15.0074 10.6806 15.0058 10.6806 15.005L10.5672 14.8643L10.3809 14.6325L10.3282 14.567L10.2211 14.4335L9.40028 13.4129L9.32835 13.3242L8.77289 12.6345L8.68098 12.5194L8.44121 12.2205L8.37168 12.4099L8.04159 13.317L8.0376 13.329L7.95128 13.5664L6.42475 17.7623L6.24333 18.2618L5.90605 19.1881L5.73262 19.6645C5.73182 19.6661 5.73102 19.6677 5.73102 19.6685C5.72863 19.6749 5.72703 19.6821 5.72543 19.6885C5.71584 19.7228 5.71424 19.758 5.72063 19.7948C5.74461 19.929 5.87329 20.0193 6.00836 19.9962C6.04112 19.9898 6.07229 19.9778 6.09867 19.9602C6.09867 19.9602 6.09947 19.9602 6.10027 19.9594L6.14103 19.9266L7.39422 18.9268L9.11496 17.5537L9.57292 17.1877L10.1092 16.7601L10.4561 16.4827L10.4537 16.4811C10.7582 16.2382 10.9236 15.8402 10.8509 15.4294C10.8237 15.2735 10.7654 15.1313 10.6822 15.0082Z\" fill=\"#0C847B\"/>\n <path d=\"M9.17644 4.56325C9.2124 4.68713 9.26915 4.80062 9.34268 4.90053C9.34348 4.90053 9.34428 4.90213 9.34428 4.90213L9.40342 4.97645C9.40502 4.97805 9.40582 4.97885 9.40662 4.98045L9.56806 5.17946L9.64878 5.28096L9.67915 5.31932L9.8414 5.51993L10.5559 6.40947L10.7054 6.59569L11.2169 7.23188L11.5142 7.60192L11.5693 7.45247L13.5202 2.08964L14.1596 0.332135C14.1596 0.330536 14.1604 0.328139 14.1612 0.32654C14.174 0.288177 14.1772 0.246617 14.17 0.205058C14.1468 0.0699879 14.0182 -0.0195258 13.8823 0.00365186C13.8407 0.0116442 13.8024 0.028428 13.7712 0.0540033L12.578 1.00589L12.498 1.06982L10.6958 2.50844L9.85658 3.17819L9.8326 3.19737L9.6296 3.35961L9.45297 3.50028C9.2116 3.73925 9.08692 4.08931 9.15006 4.44976C9.15726 4.48813 9.16525 4.52649 9.17644 4.56325Z\" fill=\"#0C847B\"/>\n </svg>\n</ng-template>",
9882
+ template: "<s-field-label [field]=\"field\"\n [fieldContainerRef]=\"inputRef?.nativeElement\"></s-field-label>\n\n<s-loading-state\n [loading]=\"isLoading\"\n [blockWindow]=\"true\"> \n</s-loading-state>\n\n<p-dialog\n [(visible)]=\"isVisible\"\n [modal]=\"true\"\n [style]=\"{ width: '50vw' }\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n (onHide)=\"onHideDialog()\">\n <p-header>\n <div class=\"dialog-header\">\n <span class=\"iassist-icon\">\n <ng-container [ngTemplateOutlet]=\"iassistIcon\"></ng-container>\n </span>\n IAssist - Content Generator\n </div>\n </p-header>\n <s-dynamic-form\n [fields]=\"fields\"\n [form]=\"formGroup\">\n </s-dynamic-form>\n <p-footer>\n <div class=\"footer-content\">\n <s-button\n id=\"-submit-button\"\n type=\"button\"\n [label]=\"'platform.angular_components.generate_text' | translate\"\n (onClick)=\"submitContext()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\">\n </s-button>\n <s-button\n id=\"-cancel-button\"\n type=\"button\"\n priority=\"link\"\n [label]=\"'platform.angular_components.cancel' | translate\"\n (onClick)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\">\n </s-button>\n </div>\n </p-footer>\n</p-dialog>\n\n<div class=\"textarea-ia\">\n <textarea #inputRef\n [id]=\"(field.id || field.name)\"\n pInputTextarea\n [rows]=\"field.rows\"\n [cols]=\"field.cols\"\n [formControl]=\"formControl\"\n style=\"resize: vertical;\"\n [ngStyle]=\"field.style\"\n [readOnly]=\"field.readonly ? field.readonly() : false\">\n </textarea>\n <button\n class=\"iassist-button\"\n (click)=\"showDialog()\"\n sTooltip=\"IAssist - Content Generator\">\n <ng-container [ngTemplateOutlet]=\"iassistIcon\"></ng-container>\n </button>\n</div>\n\n<ng-template #iassistIcon>\n <svg style=\"width: 100%; height: 100%;\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5.81451 18.1054L5.99593 17.6059L7.52166 13.4099L7.60877 13.1726L7.61277 13.1614L7.94285 12.2543L8.01159 12.0648L8.05394 11.949L5.2998 8.52426L5.02726 8.18379C5.00569 8.15821 4.9881 8.13104 4.97292 8.10226C4.90099 7.9632 4.85063 7.81294 4.82186 7.6531C4.73075 7.1344 4.90418 6.60771 5.28382 6.24326C5.29421 6.23447 5.3038 6.22567 5.31419 6.21688L5.47164 6.0914L9.3439 3.00238L9.5469 2.84094L9.57088 2.82096L10.4101 2.15041L11.8007 1.04188C11.2181 0.925188 10.6163 0.863647 10.0001 0.863647C4.95374 0.863647 0.863281 4.9541 0.863281 9.99963C0.863281 13.5346 2.87254 16.5989 5.80971 18.1182\" fill=\"#0FA389\"/>\n <path d=\"M14.099 1.83472L13.9495 2.24632L11.997 7.61074L11.9427 7.7594L11.9003 7.87369L14.7448 11.4103C14.7463 11.4127 14.7479 11.4143 14.7495 11.4167L14.9414 11.654C14.9541 11.67 14.9661 11.6868 14.9765 11.7044C15.0764 11.8698 15.1444 12.0505 15.1779 12.2431C15.273 12.7826 15.0812 13.3284 14.676 13.6897C14.656 13.7129 14.6345 13.7344 14.6105 13.7536L11.8563 15.9507L11.6789 16.0922L11.6022 16.1537L10.7406 16.8402V16.841L10.3937 17.1176L9.85747 17.5452L9.39951 17.9112L8.11035 18.9398C8.72016 19.0677 9.35155 19.1364 9.99973 19.1364C15.0461 19.1364 19.1365 15.046 19.1365 9.99964C19.1365 6.42789 17.0857 3.33727 14.099 1.83472Z\" fill=\"#0FA389\"/>\n <path d=\"M14.7287 12.3222C14.7047 12.1832 14.6551 12.0545 14.5864 11.941L14.3954 11.7036C14.3954 11.7036 14.3946 11.7028 14.3938 11.7028L11.3839 7.96005L10.5031 6.86511L10.4256 6.7676L9.03255 5.03487L8.83674 4.79191C8.79278 4.71678 8.75681 4.63446 8.73204 4.54814C8.72085 4.51058 8.71286 4.47222 8.70566 4.43465C8.68568 4.32196 8.68408 4.21007 8.69847 4.10217L8.62334 4.16291L8.44511 4.30438L5.75731 6.44871L5.60066 6.57339C5.34011 6.82275 5.20584 7.19279 5.27218 7.57482C5.29296 7.68751 5.32892 7.79541 5.37927 7.89292C5.37927 7.89292 5.37927 7.89292 5.38007 7.89371L5.6566 8.23818L8.57139 11.8627L8.63293 11.9394L9.53047 13.0559L9.59041 13.1303L9.98363 13.6186L11.0178 14.9046C11.0186 14.9054 11.0194 14.9069 11.0202 14.9077L11.1361 15.0516V15.0524C11.2184 15.1755 11.2768 15.317 11.3048 15.4728C11.3239 15.5807 11.3263 15.6878 11.3143 15.7925L11.3175 15.7965L11.3943 15.735L11.5717 15.5935L14.3266 13.3964L14.3218 13.3908C14.6335 13.1438 14.8022 12.7394 14.7287 12.3222Z\" fill=\"#F3F3F5\"/>\n <path d=\"M10.6822 15.0082C10.6814 15.0074 10.6806 15.0058 10.6806 15.005L10.5672 14.8643L10.3809 14.6325L10.3282 14.567L10.2211 14.4335L9.40028 13.4129L9.32835 13.3242L8.77289 12.6345L8.68098 12.5194L8.44121 12.2205L8.37168 12.4099L8.04159 13.317L8.0376 13.329L7.95128 13.5664L6.42475 17.7623L6.24333 18.2618L5.90605 19.1881L5.73262 19.6645C5.73182 19.6661 5.73102 19.6677 5.73102 19.6685C5.72863 19.6749 5.72703 19.6821 5.72543 19.6885C5.71584 19.7228 5.71424 19.758 5.72063 19.7948C5.74461 19.929 5.87329 20.0193 6.00836 19.9962C6.04112 19.9898 6.07229 19.9778 6.09867 19.9602C6.09867 19.9602 6.09947 19.9602 6.10027 19.9594L6.14103 19.9266L7.39422 18.9268L9.11496 17.5537L9.57292 17.1877L10.1092 16.7601L10.4561 16.4827L10.4537 16.4811C10.7582 16.2382 10.9236 15.8402 10.8509 15.4294C10.8237 15.2735 10.7654 15.1313 10.6822 15.0082Z\" fill=\"#0C847B\"/>\n <path d=\"M9.17644 4.56325C9.2124 4.68713 9.26915 4.80062 9.34268 4.90053C9.34348 4.90053 9.34428 4.90213 9.34428 4.90213L9.40342 4.97645C9.40502 4.97805 9.40582 4.97885 9.40662 4.98045L9.56806 5.17946L9.64878 5.28096L9.67915 5.31932L9.8414 5.51993L10.5559 6.40947L10.7054 6.59569L11.2169 7.23188L11.5142 7.60192L11.5693 7.45247L13.5202 2.08964L14.1596 0.332135C14.1596 0.330536 14.1604 0.328139 14.1612 0.32654C14.174 0.288177 14.1772 0.246617 14.17 0.205058C14.1468 0.0699879 14.0182 -0.0195258 13.8823 0.00365186C13.8407 0.0116442 13.8024 0.028428 13.7712 0.0540033L12.578 1.00589L12.498 1.06982L10.6958 2.50844L9.85658 3.17819L9.8326 3.19737L9.6296 3.35961L9.45297 3.50028C9.2116 3.73925 9.08692 4.08931 9.15006 4.44976C9.15726 4.48813 9.16525 4.52649 9.17644 4.56325Z\" fill=\"#0C847B\"/>\n </svg>\n</ng-template>",
9752
9883
  styles: [".footer-content{display:-ms-flexbox;display:flex;-ms-flex-positive:0;flex-grow:0}.textarea-ia{display:-ms-flexbox;display:flex;-ms-flex-align:end;align-items:flex-end;gap:8px}.iassist-button{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;border:none;border-radius:50%;box-shadow:none;cursor:pointer;height:32px;width:32px}.dialog-header{display:-ms-flexbox;display:flex;gap:12px}.dialog-header .iassist-icon{display:block;height:24px;width:24px}"]
9753
9884
  })
9754
9885
  ], TextAreaIAFieldComponent);
@@ -9781,7 +9912,7 @@
9781
9912
  ], RowComponent.prototype, "errorMessages", void 0);
9782
9913
  RowComponent = __decorate([
9783
9914
  core.Component({
9784
- template: "\n <div class=\"ui-fluid\" [formGroup]=\"group\">\n <div class=\"ui-g\">\n <ng-container *ngFor=\"let field of config.fields\">\n <div [ngClass]=\"field.gridClass\" *ngIf=\"field.visible()\">\n <label\n [for]=\"field.name\"\n [ngClass]=\"{ 'required': field.required() }\"\n *sInfoSign=\"field.infoSign\"\n >\n {{ field.label }}\n </label>\n\n <ng-container *sDynamicForm=\"{ id: id, config: field, group: group}\"></ng-container>\n\n <s-control-errors [form]=\"group\" [control]=\"group.controls[field.name]\"\n [errorMessages]=\"getErrorMessages(field.errorMessages)\"></s-control-errors>\n\n <ng-container *ngIf=\"field.footer\">\n <ng-container *ngIf=\"field.footer.help\">\n <span *ngIf=\"field.footer.help.visible({ abstractControl: group.controls[field.name], formField: field })\" style=\"color: #888B99\">{{ field.footer.help.text }}</span>\n </ng-container>\n\n <ng-container *ngIf=\"field.footer.link\">\n <div\n *ngIf=\"field.footer.link.visible({ abstractControl: group.controls[field.name], formField: field })\"\n class=\"ui-g\"\n style=\"margin-left: -17px\"\n >\n <s-button\n [label]=\"field.footer.link.label\"\n priority=\"link\"\n (onClick)=\"field.footer.link.onClick({ abstractControl: group.controls[field.name], formField: field })\"\n [auxiliary]=\"true\"\n ></s-button>\n </div>\n </ng-container>\n </ng-container>\n\n <ng-template *ngIf=\"field?.bottomTemplate\" [ngTemplateOutlet]=\"field.bottomTemplate\"></ng-template>\n </div>\n </ng-container>\n </div>\n "
9915
+ template: "\n <div class=\"ui-fluid\" [formGroup]=\"group\">\n <div class=\"ui-g\">\n <ng-container *ngFor=\"let field of config.fields\">\n <div [ngClass]=\"field.gridClass\" *ngIf=\"field.visible()\">\n <ng-container *sDynamicForm=\"{ id: id, config: field, group: group}\"></ng-container>\n\n <s-control-errors [form]=\"group\" [control]=\"group.controls[field.name]\"\n [errorMessages]=\"getErrorMessages(field.errorMessages)\"></s-control-errors>\n\n <ng-container *ngIf=\"field.footer\">\n <ng-container *ngIf=\"field.footer.help\">\n <span *ngIf=\"field.footer.help.visible({ abstractControl: group.controls[field.name], formField: field })\" style=\"color: #888B99\">{{ field.footer.help.text }}</span>\n </ng-container>\n\n <ng-container *ngIf=\"field.footer.link\">\n <div\n *ngIf=\"field.footer.link.visible({ abstractControl: group.controls[field.name], formField: field })\"\n class=\"ui-g\"\n style=\"margin-left: -17px\"\n >\n <s-button\n [label]=\"field.footer.link.label\"\n priority=\"link\"\n (onClick)=\"field.footer.link.onClick({ abstractControl: group.controls[field.name], formField: field })\"\n [auxiliary]=\"true\"\n ></s-button>\n </div>\n </ng-container>\n </ng-container>\n\n <ng-template *ngIf=\"field?.bottomTemplate\" [ngTemplateOutlet]=\"field.bottomTemplate\"></ng-template>\n </div>\n </ng-container>\n </div>\n "
9785
9916
  })
9786
9917
  ], RowComponent);
9787
9918
  return RowComponent;
@@ -9811,13 +9942,10 @@
9811
9942
  __decorate([
9812
9943
  core.Input()
9813
9944
  ], DynamicFieldComponent.prototype, "errorMessages", void 0);
9814
- __decorate([
9815
- core.Input()
9816
- ], DynamicFieldComponent.prototype, "displayTimeInfoSign", void 0);
9817
9945
  DynamicFieldComponent = __decorate([
9818
9946
  core.Component({
9819
9947
  selector: "s-dynamic-field",
9820
- template: "<div class=\"ui-fluid\" [formGroup]=\"form\">\n <div class=\"ui-g\">\n <ng-container *ngFor=\"let field of fields\">\n <div\n *ngIf=\"!field.visible || field.visible()\"\n [ngClass]=\"field.gridClass\"\n >\n <span *ngIf=\"field.label\">\n <label\n *sInfoSign=\"\n field.infoSign;\n displayTime: displayTimeInfoSign\n \"\n [for]=\"field.name\"\n [ngClass]=\"{ required: field.required() }\"\n >\n {{ field.label }}\n </label>\n </span>\n\n <ng-container\n *sDynamicForm=\"{\n id: id,\n config: field,\n group: form\n }\"\n ></ng-container>\n\n <s-control-errors\n [form]=\"form\"\n [control]=\"form.controls[field.name]\"\n [errorMessages]=\"getErrorMessages(field.errorMessages)\"\n ></s-control-errors>\n\n <ng-container *ngIf=\"field.footer\">\n <ng-container *ngIf=\"field.footer.help\">\n <span\n *ngIf=\"\n field.footer.help.visible({\n abstractControl: form.controls[field.name],\n formField: field\n })\n \"\n style=\"color: #888b99\"\n >\n {{ field.footer.help.text }}\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"field.footer.link\">\n <div\n *ngIf=\"\n field.footer.link.visible({\n abstractControl: form.controls[field.name],\n formField: field\n })\n \"\n class=\"ui-g\"\n style=\"margin-left: -10px\"\n >\n <s-button\n [label]=\"field.footer.link.label\"\n priority=\"link\"\n (onClick)=\"\n field.footer.link.onClick({\n abstractControl:\n form.controls[field.name],\n formField: field\n })\n \"\n [auxiliary]=\"true\"\n ></s-button>\n </div>\n </ng-container>\n </ng-container>\n\n <ng-template\n *ngIf=\"field?.bottomTemplate\"\n [ngTemplateOutlet]=\"field.bottomTemplate\"\n ></ng-template>\n </div>\n </ng-container>\n </div>\n</div>\n"
9948
+ template: "<div class=\"ui-fluid\" [formGroup]=\"form\">\n <div class=\"ui-g\">\n <ng-container *ngFor=\"let field of fields\">\n <div\n *ngIf=\"!field.visible || field.visible()\"\n [ngClass]=\"field.gridClass\">\n\n <ng-container\n *sDynamicForm=\"{\n id: id,\n config: field,\n group: form\n }\"\n ></ng-container>\n\n <s-control-errors\n [form]=\"form\"\n [control]=\"form.controls[field.name]\"\n [errorMessages]=\"getErrorMessages(field.errorMessages)\"\n ></s-control-errors>\n\n <ng-container *ngIf=\"field.footer\">\n <ng-container *ngIf=\"field.footer.help\">\n <span\n *ngIf=\"\n field.footer.help.visible({\n abstractControl: form.controls[field.name],\n formField: field\n })\n \"\n style=\"color: #888b99\"\n >\n {{ field.footer.help.text }}\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"field.footer.link\">\n <div\n *ngIf=\"\n field.footer.link.visible({\n abstractControl: form.controls[field.name],\n formField: field\n })\n \"\n class=\"ui-g\"\n style=\"margin-left: -10px\"\n >\n <s-button\n [label]=\"field.footer.link.label\"\n priority=\"link\"\n (onClick)=\"\n field.footer.link.onClick({\n abstractControl:\n form.controls[field.name],\n formField: field\n })\n \"\n [auxiliary]=\"true\"\n ></s-button>\n </div>\n </ng-container>\n </ng-container>\n\n <ng-template\n *ngIf=\"field?.bottomTemplate\"\n [ngTemplateOutlet]=\"field.bottomTemplate\"\n ></ng-template>\n </div>\n </ng-container>\n </div>\n</div>\n"
9821
9949
  })
9822
9950
  ], DynamicFieldComponent);
9823
9951
  return DynamicFieldComponent;
@@ -9836,9 +9964,10 @@
9836
9964
 
9837
9965
  var BignumberFieldComponent = /** @class */ (function (_super) {
9838
9966
  __extends(BignumberFieldComponent, _super);
9839
- function BignumberFieldComponent(localeService) {
9967
+ function BignumberFieldComponent(localeService, changeDetectorRef) {
9840
9968
  var _this = _super.call(this) || this;
9841
9969
  _this.localeService = localeService;
9970
+ _this.changeDetectorRef = changeDetectorRef;
9842
9971
  _this.onInput = new core.EventEmitter();
9843
9972
  _this.onFocus = new core.EventEmitter();
9844
9973
  _this.onComplete = new core.EventEmitter();
@@ -9903,8 +10032,12 @@
9903
10032
  },
9904
10033
  });
9905
10034
  };
10035
+ BignumberFieldComponent.prototype.ngAfterViewInit = function () {
10036
+ this.changeDetectorRef.detectChanges();
10037
+ };
9906
10038
  BignumberFieldComponent.ctorParameters = function () { return [
9907
- { type: LocaleService }
10039
+ { type: LocaleService },
10040
+ { type: core.ChangeDetectorRef }
9908
10041
  ]; };
9909
10042
  __decorate([
9910
10043
  core.Input()
@@ -9921,9 +10054,12 @@
9921
10054
  __decorate([
9922
10055
  core.Output()
9923
10056
  ], BignumberFieldComponent.prototype, "onComplete", void 0);
10057
+ __decorate([
10058
+ core.ViewChild('inputRef')
10059
+ ], BignumberFieldComponent.prototype, "inputRef", void 0);
9924
10060
  BignumberFieldComponent = __decorate([
9925
10061
  core.Component({
9926
- 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 [sTooltip]=\"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 [autoClear]=\"field.autoClear\">\n</p-inputMask>\n\n<ng-template #noMask>\n <ng-container>\n <div class=\"ui-inputgroup\">\n <ng-container *ngIf=\"field.leftAddon\">\n <span *ngIf=\"field.leftAddon.callback\" class=\"addon-button addon-button--left\">\n <s-button\n [label]=\"field.leftAddon.label\"\n [iconClass]=\"field.leftAddon.icon\"\n [priority]=\"field.leftAddon.priority\"\n [disabled]=\"isFunction(field.leftAddon.disabled) ? field.leftAddon.disabled() : field.leftAddon.disabled\"\n (onClick)=\"field.leftAddon.callback()\">\n </s-button>\n </span>\n <span *ngIf=\"!field.leftAddon.callback\" 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 [allowNegative]=\"field.allowNegative\"\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 [sTooltip]=\"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 <ng-container *ngIf=\"field.rightAddon\">\n <span *ngIf=\"field.rightAddon.callback\" class=\"addon-button addon-button--right\">\n <s-button\n [label]=\"field.rightAddon.label\"\n [iconClass]=\"field.rightAddon.icon\"\n [priority]=\"field.rightAddon.priority\"\n [disabled]=\"isFunction(field.rightAddon.disabled) ? field.rightAddon.disabled() : field.rightAddon.disabled\"\n (onClick)=\"field.rightAddon.callback()\">\n </s-button>\n </span>\n <span *ngIf=\"!field.rightAddon.callback\" 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>\n",
10062
+ template: "<s-field-label *ngIf=\"inputRef\" [field]=\"field\"\n [fieldContainerRef]=\"inputRef?.nativeElement\"></s-field-label>\n \n<p-inputMask #inputRef\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 [sTooltip]=\"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 [autoClear]=\"field.autoClear\">\n</p-inputMask>\n\n<ng-template #noMask>\n <ng-container>\n <div class=\"ui-inputgroup\">\n <ng-container *ngIf=\"field.leftAddon\">\n <span *ngIf=\"field.leftAddon.callback\" class=\"addon-button addon-button--left\">\n <s-button\n [label]=\"field.leftAddon.label\"\n [iconClass]=\"field.leftAddon.icon\"\n [priority]=\"field.leftAddon.priority\"\n [disabled]=\"isFunction(field.leftAddon.disabled) ? field.leftAddon.disabled() : field.leftAddon.disabled\"\n (onClick)=\"field.leftAddon.callback()\">\n </s-button>\n </span>\n <span *ngIf=\"!field.leftAddon.callback\" 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 #inputRef\n [id]=\"(field.id || field.name)\"\n type=\"text\"\n [name]=\"field.name\"\n sBignumberInput\n [allowNegative]=\"field.allowNegative\"\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 [sTooltip]=\"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 <ng-container *ngIf=\"field.rightAddon\">\n <span *ngIf=\"field.rightAddon.callback\" class=\"addon-button addon-button--right\">\n <s-button\n [label]=\"field.rightAddon.label\"\n [iconClass]=\"field.rightAddon.icon\"\n [priority]=\"field.rightAddon.priority\"\n [disabled]=\"isFunction(field.rightAddon.disabled) ? field.rightAddon.disabled() : field.rightAddon.disabled\"\n (onClick)=\"field.rightAddon.callback()\">\n </s-button>\n </span>\n <span *ngIf=\"!field.rightAddon.callback\" 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>\n",
9927
10063
  encapsulation: core.ViewEncapsulation.None,
9928
10064
  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}.addon-button{border:1px solid #c1c1cc}.addon-button s-button .s-button-with-text,.addon-button s-button button{height:100%;min-width:40px!important}.addon-button--left{border-radius:5px 0 0 5px;border-right:none}.addon-button--left s-button button{border-bottom-right-radius:0;border-top-right-radius:0}.addon-button--right{border-left:none;border-radius:0 5px 5px 0}.addon-button--right s-button button{border-bottom-left-radius:0;border-top-left-radius:0}"]
9929
10065
  })
@@ -10121,10 +10257,11 @@
10121
10257
  */
10122
10258
  var CurrencyFieldComponent = /** @class */ (function (_super) {
10123
10259
  __extends(CurrencyFieldComponent, _super);
10124
- function CurrencyFieldComponent(localeService, currencyService) {
10260
+ function CurrencyFieldComponent(currencyService, localeService, changeDetectorRef) {
10125
10261
  var _this = _super.call(this) || this;
10126
- _this.localeService = localeService;
10127
10262
  _this.currencyService = currencyService;
10263
+ _this.localeService = localeService;
10264
+ _this.changeDetectorRef = changeDetectorRef;
10128
10265
  return _this;
10129
10266
  }
10130
10267
  CurrencyFieldComponent.prototype.ngOnInit = function () {
@@ -10158,9 +10295,13 @@
10158
10295
  },
10159
10296
  });
10160
10297
  };
10298
+ CurrencyFieldComponent.prototype.ngAfterViewInit = function () {
10299
+ this.changeDetectorRef.detectChanges();
10300
+ };
10161
10301
  CurrencyFieldComponent.ctorParameters = function () { return [
10302
+ { type: CurrencyService },
10162
10303
  { type: LocaleService },
10163
- { type: CurrencyService }
10304
+ { type: core.ChangeDetectorRef }
10164
10305
  ]; };
10165
10306
  __decorate([
10166
10307
  core.Input()
@@ -10168,16 +10309,20 @@
10168
10309
  __decorate([
10169
10310
  core.Input()
10170
10311
  ], CurrencyFieldComponent.prototype, "formControl", void 0);
10312
+ __decorate([
10313
+ core.ViewChild('inputRef')
10314
+ ], CurrencyFieldComponent.prototype, "inputRef", void 0);
10171
10315
  CurrencyFieldComponent = __decorate([
10172
10316
  core.Component({
10173
- template: "<div class=\"ui-inputgroup\">\n <span\n *ngIf=\"field.currency || field.numberLocaleOptions?.currencySymbol\"\n class=\"ui-inputgroup-addon\"\n >\n {{\n field.currency\n ? currencyService.getCurrencySymbol({\n currency: field.currency()\n })\n : field.numberLocaleOptions.currencySymbol\n }}\n </span>\n\n <input\n *ngIf=\"!field.mask\"\n type=\"text\"\n [id]=\"field.id || field.name\"\n [name]=\"field.name\"\n [formControl]=\"formControl\"\n sNumberInput\n [precision]=\"\n field.precision\n ? isFunction(field.precision)\n ? trigger(field.precision)\n : field.precision\n : field.currency && field.currency()\n ? currencyService.currencies[field.currency()].precision\n : 15\n \"\n [scale]=\"\n field.scale\n ? isFunction(field.scale)\n ? trigger(field.scale)\n : field.scale\n : field.currency && field.currency()\n ? currencyService.currencies[field.currency()].scale\n : 0\n \"\n [decimalSeparator]=\"field.numberLocaleOptions.decimalSeparator\"\n [thousandsSeparator]=\"field.numberLocaleOptions.thousandsSeparator\"\n [alignTo]=\"field.alignTo\"\n [sTooltip]=\"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)=\"field.onFocus ? field.onFocus($event) : null\"\n />\n\n <p-inputMask\n *ngIf=\"field.mask\"\n type=\"text\"\n [inputId]=\"field.id || field.name\"\n [name]=\"field.name\"\n [formControl]=\"formControl\"\n [mask]=\"field.mask\"\n [placeholder]=\"field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onComplete)=\"field.onComplete ? field.onComplete($event) : null\"\n (onInput)=\"field.onInput ? field.onInput($event) : null\"\n ></p-inputMask>\n</div>\n"
10317
+ template: "<s-field-label *ngIf=\"inputRef\" [field]=\"field\"\n [fieldContainerRef]=\"inputRef?.nativeElement\"></s-field-label>\n \n<div class=\"ui-inputgroup\">\n <span\n *ngIf=\"field.currency || field.numberLocaleOptions?.currencySymbol\"\n class=\"ui-inputgroup-addon\"\n >\n {{\n field.currency\n ? currencyService.getCurrencySymbol({\n currency: field.currency()\n })\n : field.numberLocaleOptions.currencySymbol\n }}\n </span>\n <input #inputRef\n *ngIf=\"!field.mask\"\n type=\"text\"\n [id]=\"field.id || field.name\"\n [name]=\"field.name\"\n [formControl]=\"formControl\"\n sNumberInput\n [precision]=\"\n field.precision\n ? isFunction(field.precision)\n ? trigger(field.precision)\n : field.precision\n : field.currency && field.currency()\n ? currencyService.currencies[field.currency()].precision\n : 15\n \"\n [scale]=\"\n field.scale\n ? isFunction(field.scale)\n ? trigger(field.scale)\n : field.scale\n : field.currency && field.currency()\n ? currencyService.currencies[field.currency()].scale\n : 0\n \"\n [decimalSeparator]=\"field.numberLocaleOptions.decimalSeparator\"\n [thousandsSeparator]=\"field.numberLocaleOptions.thousandsSeparator\"\n [alignTo]=\"field.alignTo\"\n [sTooltip]=\"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)=\"field.onFocus ? field.onFocus($event): null\" />\n <p-inputMask #inputRef\n *ngIf=\"field.mask\"\n type=\"text\"\n [inputId]=\"field.id || field.name\"\n [name]=\"field.name\"\n [formControl]=\"formControl\"\n [mask]=\"field.mask\"\n [placeholder]=\"field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onComplete)=\"field.onComplete ? field.onComplete($event) : null\"\n (onInput)=\"field.onInput ? field.onInput($event) : null\"\n ></p-inputMask>\n</div>\n"
10174
10318
  })
10175
10319
  ], CurrencyFieldComponent);
10176
10320
  return CurrencyFieldComponent;
10177
10321
  }(BaseFieldComponent));
10178
10322
 
10179
10323
  var PasswordFieldComponent = /** @class */ (function () {
10180
- function PasswordFieldComponent() {
10324
+ function PasswordFieldComponent(changeDetectorRef) {
10325
+ this.changeDetectorRef = changeDetectorRef;
10181
10326
  this.onInput = new core.EventEmitter();
10182
10327
  this.onFocus = new core.EventEmitter();
10183
10328
  this.onComplete = new core.EventEmitter();
@@ -10215,6 +10360,12 @@
10215
10360
  PasswordFieldComponent.prototype.onChangeVisible = function () {
10216
10361
  this.passwordVisible = !this.passwordVisible;
10217
10362
  };
10363
+ PasswordFieldComponent.prototype.ngAfterViewInit = function () {
10364
+ this.changeDetectorRef.detectChanges();
10365
+ };
10366
+ PasswordFieldComponent.ctorParameters = function () { return [
10367
+ { type: core.ChangeDetectorRef }
10368
+ ]; };
10218
10369
  __decorate([
10219
10370
  core.Input()
10220
10371
  ], PasswordFieldComponent.prototype, "field", void 0);
@@ -10230,9 +10381,12 @@
10230
10381
  __decorate([
10231
10382
  core.Output()
10232
10383
  ], PasswordFieldComponent.prototype, "onComplete", void 0);
10384
+ __decorate([
10385
+ core.ViewChild('inputRef')
10386
+ ], PasswordFieldComponent.prototype, "inputRef", void 0);
10233
10387
  PasswordFieldComponent = __decorate([
10234
10388
  core.Component({
10235
- template: "<div class=\"password-field\" [ngClass]=\"{ 'password-field--toggle': field.showToggle }\">\n <input\n [type]=\"passwordVisible ? 'text' : 'password'\"\n [id]=\"field.id || field.name\"\n class=\"password-input\"\n [name]=\"field.name\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"field.placeholder\"\n [showDelay]=\"500\"\n [maxLength]=\"field.maxLength\"\n pInputText\n [ngClass]=\"'mousetrap'\"\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [formControl]=\"formControl\"\n [ngStyle]=\"field.style\"\n [sPasswordStrength]=\"field.passwordStrength\"\n [psDescription]=\"field.passwordStrengthOptions?.description\"\n [psWeakTitle]=\"field.passwordStrengthOptions?.weakTitle\"\n [psMediumTitle]=\"field.passwordStrengthOptions?.mediumTitle\"\n [psStrongTitle]=\"field.passwordStrengthOptions?.strongTitle\"\n [psValidation]=\"field.passwordStrengthOptions?.validation\"\n />\n <span *ngIf=\"field.showToggle\" class=\"toggle-button\">\n <s-button\n [iconClass]=\"passwordVisible ? 'fas fa-eye-slash' : 'fas fa-eye'\"\n priority=\"default\"\n (onClick)=\"onChangeVisible()\">\n </s-button>\n </span>\n</div>\n",
10389
+ template: "<s-field-label *ngIf=\"inputRef\" [field]=\"field\"\n [fieldContainerRef]=\"inputRef\"></s-field-label>\n \n<div class=\"password-field\" [ngClass]=\"{ 'password-field--toggle': field.showToggle }\">\n <input #inputRef\n [type]=\"passwordVisible ? 'text' : 'password'\"\n [id]=\"field.id || field.name\"\n class=\"password-input\"\n [name]=\"field.name\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"field.placeholder\"\n [showDelay]=\"500\"\n [maxLength]=\"field.maxLength\"\n pInputText\n [ngClass]=\"'mousetrap'\"\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [formControl]=\"formControl\"\n [ngStyle]=\"field.style\"\n [sPasswordStrength]=\"field.passwordStrength\"\n [psDescription]=\"field.passwordStrengthOptions?.description\"\n [psWeakTitle]=\"field.passwordStrengthOptions?.weakTitle\"\n [psMediumTitle]=\"field.passwordStrengthOptions?.mediumTitle\"\n [psStrongTitle]=\"field.passwordStrengthOptions?.strongTitle\"\n [psValidation]=\"field.passwordStrengthOptions?.validation\"\n />\n <span *ngIf=\"field.showToggle\" class=\"toggle-button\">\n <s-button\n [iconClass]=\"passwordVisible ? 'fas fa-eye-slash' : 'fas fa-eye'\"\n priority=\"default\"\n (onClick)=\"onChangeVisible()\">\n </s-button>\n </span>\n</div>\n",
10236
10390
  encapsulation: core.ViewEncapsulation.None,
10237
10391
  styles: ["s-text-field.ng-dirty.ng-invalid .ui-inputtext{border-color:#c13018}s-text-field.ng-dirty.ng-invalid .ui-inputtext:hover{border-color:#e44328}.password-field{display:-ms-flexbox;display:flex}.password-field--toggle .password-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.password-field--toggle .toggle-button s-button button{border-bottom-left-radius:0;border-top-left-radius:0}"]
10238
10392
  })
@@ -10242,8 +10396,9 @@
10242
10396
 
10243
10397
  var TextFieldComponent = /** @class */ (function (_super) {
10244
10398
  __extends(TextFieldComponent, _super);
10245
- function TextFieldComponent() {
10246
- var _this = _super !== null && _super.apply(this, arguments) || this;
10399
+ function TextFieldComponent(changeDetectorRef) {
10400
+ var _this = _super.call(this) || this;
10401
+ _this.changeDetectorRef = changeDetectorRef;
10247
10402
  _this.onInput = new core.EventEmitter();
10248
10403
  _this.onFocus = new core.EventEmitter();
10249
10404
  _this.onComplete = new core.EventEmitter();
@@ -10265,10 +10420,16 @@
10265
10420
  _this.field.onComplete(event);
10266
10421
  });
10267
10422
  };
10423
+ TextFieldComponent.prototype.ngAfterViewInit = function () {
10424
+ this.changeDetectorRef.detectChanges();
10425
+ };
10268
10426
  TextFieldComponent.prototype.ngOnDestroy = function () {
10269
10427
  this.ngUnsubscribe.next();
10270
10428
  this.ngUnsubscribe.complete();
10271
10429
  };
10430
+ TextFieldComponent.ctorParameters = function () { return [
10431
+ { type: core.ChangeDetectorRef }
10432
+ ]; };
10272
10433
  __decorate([
10273
10434
  core.Input()
10274
10435
  ], TextFieldComponent.prototype, "field", void 0);
@@ -10284,9 +10445,12 @@
10284
10445
  __decorate([
10285
10446
  core.Output()
10286
10447
  ], TextFieldComponent.prototype, "onComplete", void 0);
10448
+ __decorate([
10449
+ core.ViewChild('inputRef')
10450
+ ], TextFieldComponent.prototype, "inputRef", void 0);
10287
10451
  TextFieldComponent = __decorate([
10288
10452
  core.Component({
10289
- template: "<p-inputMask\n *ngIf=\"field.mask; else noMask\"\n [type]=\"field.inputType || '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 [sTooltip]=\"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 [readonly]=\"field.readonly ? field.readonly() : false\">\n</p-inputMask>\n<ng-template #noMask>\n <ng-container>\n <div class=\"ui-inputgroup\">\n\n <ng-container *ngIf=\"field.leftAddon\">\n <span *ngIf=\"field.leftAddon.callback\" class=\"addon-button addon-button--left\">\n <s-button\n [label]=\"field.leftAddon.label\"\n [iconClass]=\"field.leftAddon.icon\"\n [priority]=\"field.leftAddon.priority\"\n [disabled]=\"isFunction(field.leftAddon.disabled) ? field.leftAddon.disabled(): field.leftAddon.disabled\"\n (onClick)=\"field.leftAddon.callback()\">\n </s-button>\n </span>\n <span *ngIf=\"!field.leftAddon.callback\" 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 <ng-container *ngTemplateOutlet=\"field.keyFilter ? inputKeyFilter : input\"></ng-container>\n\n <ng-container *ngIf=\"field.rightAddon\">\n <span *ngIf=\"field.rightAddon.callback\" class=\"addon-button addon-button--right\">\n <s-button\n [label]=\"field.rightAddon.label\"\n [iconClass]=\"field.rightAddon.icon\"\n [priority]=\"field.rightAddon.priority\"\n [disabled]=\"isFunction(field.rightAddon.disabled) ? field.rightAddon.disabled() : field.rightAddon.disabled\"\n (onClick)=\"field.rightAddon.callback()\">\n </s-button>\n </span>\n <span *ngIf=\"!field.rightAddon.callback\" 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>\n<ng-template #input>\n <input\n [type]=\"field.inputType || 'text'\"\n [id]=\"field.id || field.name\"\n [name]=\"field.name\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"field.placeholder\"\n [showDelay]=\"500\"\n [maxLength]=\"field.maxLength\"\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 (input)=\"onInput.next($event)\"\n [formControl]=\"formControl\"\n [ngStyle]=\"field.style\"\n [readOnly]=\"field.readonly ? field.readonly() : false\" />\n</ng-template>\n<ng-template #inputKeyFilter>\n <input\n #inputText\n [type]=\"field.inputType || 'text'\"\n [id]=\"field.id || field.name\"\n [name]=\"field.name\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"field.placeholder\"\n [showDelay]=\"500\"\n [maxLength]=\"field.maxLength\"\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 (input)=\"onInput.next($event)\"\n [pKeyFilter]=\"field.keyFilter\"\n [formControl]=\"formControl\"\n [ngStyle]=\"field.style\"\n [readOnly]=\"field.readonly ? field.readonly() : false\" />\n</ng-template>\n",
10453
+ template: "<s-field-label *ngIf=\"inputRef\" [field]=\"field\"\n [fieldContainerRef]=\"inputRef?.nativeElement\"></s-field-label>\n\n<p-inputMask #inputRef\n *ngIf=\"field.mask; else noMask\"\n [type]=\"field.inputType || '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 [sTooltip]=\"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 [readonly]=\"field.readonly ? field.readonly() : false\">\n</p-inputMask>\n<ng-template #noMask>\n <ng-container>\n <div class=\"ui-inputgroup\">\n\n <ng-container *ngIf=\"field.leftAddon\">\n <span *ngIf=\"field.leftAddon.callback\" class=\"addon-button addon-button--left\">\n <s-button\n [label]=\"field.leftAddon.label\"\n [iconClass]=\"field.leftAddon.icon\"\n [priority]=\"field.leftAddon.priority\"\n [disabled]=\"isFunction(field.leftAddon.disabled) ? field.leftAddon.disabled(): field.leftAddon.disabled\"\n (onClick)=\"field.leftAddon.callback()\">\n </s-button>\n </span>\n <span *ngIf=\"!field.leftAddon.callback\" 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 <ng-container *ngTemplateOutlet=\"field.keyFilter ? inputKeyFilter : input\"></ng-container>\n\n <ng-container *ngIf=\"field.rightAddon\">\n <span *ngIf=\"field.rightAddon.callback\" class=\"addon-button addon-button--right\">\n <s-button\n [label]=\"field.rightAddon.label\"\n [iconClass]=\"field.rightAddon.icon\"\n [priority]=\"field.rightAddon.priority\"\n [disabled]=\"isFunction(field.rightAddon.disabled) ? field.rightAddon.disabled() : field.rightAddon.disabled\"\n (onClick)=\"field.rightAddon.callback()\">\n </s-button>\n </span>\n <span *ngIf=\"!field.rightAddon.callback\" 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>\n<ng-template #input>\n <input #inputRef\n [type]=\"field.inputType || 'text'\"\n [id]=\"field.id || field.name\"\n [name]=\"field.name\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"field.placeholder\"\n [showDelay]=\"500\"\n [maxLength]=\"field.maxLength\"\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 (input)=\"onInput.next($event)\"\n [formControl]=\"formControl\"\n [ngStyle]=\"field.style\"\n [readOnly]=\"field.readonly ? field.readonly() : false\" />\n</ng-template>\n<ng-template #inputKeyFilter>\n <input #inputText\n [type]=\"field.inputType || 'text'\"\n [id]=\"field.id || field.name\"\n [name]=\"field.name\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"field.placeholder\"\n [showDelay]=\"500\"\n [maxLength]=\"field.maxLength\"\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 (input)=\"onInput.next($event)\"\n [pKeyFilter]=\"field.keyFilter\"\n [formControl]=\"formControl\"\n [ngStyle]=\"field.style\"\n [readOnly]=\"field.readonly ? field.readonly() : false\" />\n</ng-template>\n",
10290
10454
  encapsulation: core.ViewEncapsulation.None,
10291
10455
  styles: ["s-text-field.ng-dirty.ng-invalid .ui-inputtext{border-color:#c13018}s-text-field.ng-dirty.ng-invalid .ui-inputtext:hover{border-color:#e44328}.addon-button{border:1px solid #c1c1cc}.addon-button s-button .s-button-with-text,.addon-button s-button button{height:100%;min-width:40px}.addon-button--left{border-radius:5px 0 0 5px;border-right:none}.addon-button--left s-button button{border-bottom-right-radius:0;border-top-right-radius:0}.addon-button--right{border-left:none;border-radius:0 5px 5px 0}.addon-button--right s-button button{border-bottom-left-radius:0;border-top-left-radius:0}"]
10292
10456
  })
@@ -10305,7 +10469,7 @@
10305
10469
  ], ProfilePictureFieldComponent.prototype, "formControl", void 0);
10306
10470
  ProfilePictureFieldComponent = __decorate([
10307
10471
  core.Component({
10308
- template: "<s-profile-picture-picker\n [formControl]=\"formControl\"\n [simpleTitle]=\"field.simpleTitle\"\n [actionTitle]=\"field.actionTitle\"\n [subtitle]=\"field.subtitle\"\n [aspectRatio]=\"field.aspectRatio\"\n [cropperLabelsConfig]=\"field.cropperLabelsConfig\"\n [removeButtonLabel]=\"field.removeButtonLabel\"\n [changeButtonLabel]=\"field.changeButtonLabel\"\n [confirmationTexts]=\"field.confirmationTexts\"\n [maxFileSize]=\"field.maxFileSize\"\n [accept]=\"field.accept\"\n [supportedExtensions]=\"field.supportedExtensions\"\n (changedImage)=\"field.onChangeImage ? field.onChangeImage($event) : null\"\n (removedImage)=\"field.onRemovedImage ? field.onRemovedImage() : null\"\n (invalidFile)=\"field.onInvalidFile ? field.onInvalidFile($event) : null\">\n</s-profile-picture-picker>"
10472
+ template: "<s-field-label [field]=\"field\"></s-field-label>\n\n<s-profile-picture-picker\n [formControl]=\"formControl\"\n [simpleTitle]=\"field.simpleTitle\"\n [actionTitle]=\"field.actionTitle\"\n [subtitle]=\"field.subtitle\"\n [aspectRatio]=\"field.aspectRatio\"\n [cropperLabelsConfig]=\"field.cropperLabelsConfig\"\n [removeButtonLabel]=\"field.removeButtonLabel\"\n [changeButtonLabel]=\"field.changeButtonLabel\"\n [confirmationTexts]=\"field.confirmationTexts\"\n [maxFileSize]=\"field.maxFileSize\"\n [accept]=\"field.accept\"\n [supportedExtensions]=\"field.supportedExtensions\"\n (changedImage)=\"field.onChangeImage ? field.onChangeImage($event) : null\"\n (removedImage)=\"field.onRemovedImage ? field.onRemovedImage() : null\"\n (invalidFile)=\"field.onInvalidFile ? field.onInvalidFile($event) : null\">\n</s-profile-picture-picker>"
10309
10473
  })
10310
10474
  ], ProfilePictureFieldComponent);
10311
10475
  return ProfilePictureFieldComponent;
@@ -10559,15 +10723,50 @@
10559
10723
  __decorate([
10560
10724
  core.Input()
10561
10725
  ], DynamicFormDirective.prototype, "sDynamicForm", null);
10562
- __decorate([
10563
- core.Input("sDynamicFormDisplayTimeInfoSign")
10564
- ], DynamicFormDirective.prototype, "displayTimeInfoSign", void 0);
10565
10726
  DynamicFormDirective = __decorate([
10566
10727
  core.Directive({ selector: "[sDynamicForm]" })
10567
10728
  ], DynamicFormDirective);
10568
10729
  return DynamicFormDirective;
10569
10730
  }());
10570
10731
 
10732
+ var FieldLabelComponent = /** @class */ (function () {
10733
+ function FieldLabelComponent() {
10734
+ this.displayTimeInfoSign = 5000;
10735
+ }
10736
+ __decorate([
10737
+ core.Input()
10738
+ ], FieldLabelComponent.prototype, "field", void 0);
10739
+ __decorate([
10740
+ core.Input()
10741
+ ], FieldLabelComponent.prototype, "displayTimeInfoSign", void 0);
10742
+ __decorate([
10743
+ core.Input()
10744
+ ], FieldLabelComponent.prototype, "fieldContainerRef", void 0);
10745
+ FieldLabelComponent = __decorate([
10746
+ core.Component({
10747
+ selector: 's-field-label',
10748
+ template: "<span *ngIf=\"field.label\">\n <label\n *sInfoSign=\"\n field.infoSign;\n displayTime: field.displayTimeInfoSign;\n focusedInputRef: fieldContainerRef\n \"\n [for]=\"field.name\"\n [ngClass]=\"{ required: field.required() }\">\n {{ field.label }}\n </label>\n</span>\n"
10749
+ })
10750
+ ], FieldLabelComponent);
10751
+ return FieldLabelComponent;
10752
+ }());
10753
+
10754
+ var FieldLabelModule = /** @class */ (function () {
10755
+ function FieldLabelModule() {
10756
+ }
10757
+ FieldLabelModule = __decorate([
10758
+ core.NgModule({
10759
+ imports: [
10760
+ common.CommonModule,
10761
+ InfoSignModule
10762
+ ],
10763
+ declarations: [FieldLabelComponent],
10764
+ exports: [FieldLabelComponent],
10765
+ })
10766
+ ], FieldLabelModule);
10767
+ return FieldLabelModule;
10768
+ }());
10769
+
10571
10770
  var PasswordFieldModule = /** @class */ (function () {
10572
10771
  function PasswordFieldModule() {
10573
10772
  }
@@ -10581,6 +10780,7 @@
10581
10780
  TooltipModule,
10582
10781
  PasswordStrengthModule,
10583
10782
  inputtext.InputTextModule,
10783
+ FieldLabelModule
10584
10784
  ],
10585
10785
  declarations: [PasswordFieldComponent],
10586
10786
  exports: [PasswordFieldComponent],
@@ -10603,6 +10803,7 @@
10603
10803
  inputmask.InputMaskModule,
10604
10804
  inputtext.InputTextModule,
10605
10805
  keyfilter.KeyFilterModule,
10806
+ FieldLabelModule
10606
10807
  ],
10607
10808
  declarations: [TextFieldComponent],
10608
10809
  exports: [TextFieldComponent],
@@ -10613,9 +10814,11 @@
10613
10814
 
10614
10815
  var NumberFieldComponent = /** @class */ (function (_super) {
10615
10816
  __extends(NumberFieldComponent, _super);
10616
- function NumberFieldComponent(localeService) {
10817
+ function NumberFieldComponent(localeService, elementRef, changeDetectorRef) {
10617
10818
  var _this = _super.call(this) || this;
10618
10819
  _this.localeService = localeService;
10820
+ _this.elementRef = elementRef;
10821
+ _this.changeDetectorRef = changeDetectorRef;
10619
10822
  _this.onInput = new core.EventEmitter();
10620
10823
  _this.onFocus = new core.EventEmitter();
10621
10824
  _this.onComplete = new core.EventEmitter();
@@ -10638,6 +10841,10 @@
10638
10841
  _this.field.onComplete(event);
10639
10842
  });
10640
10843
  };
10844
+ NumberFieldComponent.prototype.ngAfterViewInit = function () {
10845
+ this.setInputRef();
10846
+ this.changeDetectorRef.detectChanges();
10847
+ };
10641
10848
  NumberFieldComponent.prototype.ngOnDestroy = function () {
10642
10849
  this.ngUnsubscribe.next();
10643
10850
  this.ngUnsubscribe.complete();
@@ -10684,8 +10891,14 @@
10684
10891
  },
10685
10892
  });
10686
10893
  };
10894
+ NumberFieldComponent.prototype.setInputRef = function () {
10895
+ var input = this.elementRef.nativeElement.querySelector("input");
10896
+ this.inputRef = input;
10897
+ };
10687
10898
  NumberFieldComponent.ctorParameters = function () { return [
10688
- { type: LocaleService }
10899
+ { type: LocaleService },
10900
+ { type: core.ElementRef },
10901
+ { type: core.ChangeDetectorRef }
10689
10902
  ]; };
10690
10903
  __decorate([
10691
10904
  core.Input()
@@ -10704,7 +10917,7 @@
10704
10917
  ], NumberFieldComponent.prototype, "onComplete", void 0);
10705
10918
  NumberFieldComponent = __decorate([
10706
10919
  core.Component({
10707
- 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 [sTooltip]=\"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<ng-template #noMask>\n <ng-container>\n <div class=\"ui-inputgroup\">\n <ng-container *ngIf=\"field.leftAddon\">\n <span *ngIf=\"field.leftAddon.callback\" class=\"addon-button addon-button--left\">\n <s-button\n [label]=\"field.leftAddon.label\"\n [iconClass]=\"field.leftAddon.icon\"\n [priority]=\"field.leftAddon.priority\"\n [disabled]=\"isFunction(field.leftAddon.disabled) ? field.leftAddon.disabled() : field.leftAddon.disabled\"\n (onClick)=\"field.leftAddon.callback()\">\n </s-button>\n </span>\n <span *ngIf=\"!field.leftAddon.callback\" 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 <ng-container *ngTemplateOutlet=\"field.type === fieldType.Double && field.alignTo === numberAlignmentOption.LEFT ? localizedNumber : input\"></ng-container>\n\n <ng-container *ngIf=\"field.rightAddon\">\n <span *ngIf=\"field.rightAddon.callback\" class=\"addon-button addon-button--right\">\n <s-button\n [label]=\"field.rightAddon.label\"\n [iconClass]=\"field.rightAddon.icon\"\n [priority]=\"field.rightAddon.priority\"\n [disabled]=\"isFunction(field.rightAddon.disabled) ? field.rightAddon.disabled() : field.rightAddon.disabled\"\n (onClick)=\"field.rightAddon.callback()\">\n </s-button>\n </span>\n <span *ngIf=\"!field.rightAddon.callback\" 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>\n<ng-template #input>\n <input\n [id]=\"(field.id || field.name)\"\n type=\"text\"\n [name]=\"field.name\"\n sNumberInput\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 [sTooltip]=\"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</ng-template>\n<ng-template #localizedNumber>\n <input\n [id]=\"(field.id || field.name)\"\n type=\"text\"\n [name]=\"field.name\"\n sLocalizedNumberInput\n [precision]=\"isFunction(field.precision) ? trigger(field.precision) : field.precision\"\n [decimalSeparator]=\"field.numberLocaleOptions.decimalSeparator\"\n [thousandsSeparator]=\"field.numberLocaleOptions.thousandsSeparator\"\n [sTooltip]=\"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</ng-template>\n",
10920
+ template: "<s-field-label *ngIf=\"inputRef\" [field]=\"field\"\n [fieldContainerRef]=\"inputRef\"></s-field-label>\n\n<p-inputMask #inputRef\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 [sTooltip]=\"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<ng-template #noMask>\n <ng-container>\n <div class=\"ui-inputgroup\">\n <ng-container *ngIf=\"field.leftAddon\">\n <span *ngIf=\"field.leftAddon.callback\" class=\"addon-button addon-button--left\">\n <s-button\n [label]=\"field.leftAddon.label\"\n [iconClass]=\"field.leftAddon.icon\"\n [priority]=\"field.leftAddon.priority\"\n [disabled]=\"isFunction(field.leftAddon.disabled) ? field.leftAddon.disabled() : field.leftAddon.disabled\"\n (onClick)=\"field.leftAddon.callback()\">\n </s-button>\n </span>\n <span *ngIf=\"!field.leftAddon.callback\" 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 <ng-container *ngTemplateOutlet=\"field.type === fieldType.Double && field.alignTo === numberAlignmentOption.LEFT ? localizedNumber : input\"></ng-container>\n\n <ng-container *ngIf=\"field.rightAddon\">\n <span *ngIf=\"field.rightAddon.callback\" class=\"addon-button addon-button--right\">\n <s-button\n [label]=\"field.rightAddon.label\"\n [iconClass]=\"field.rightAddon.icon\"\n [priority]=\"field.rightAddon.priority\"\n [disabled]=\"isFunction(field.rightAddon.disabled) ? field.rightAddon.disabled() : field.rightAddon.disabled\"\n (onClick)=\"field.rightAddon.callback()\">\n </s-button>\n </span>\n <span *ngIf=\"!field.rightAddon.callback\" 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>\n<ng-template #input>\n <input #inputRef\n [id]=\"(field.id || field.name)\"\n type=\"text\"\n [name]=\"field.name\"\n sNumberInput\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 [sTooltip]=\"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</ng-template>\n<ng-template #localizedNumber>\n <input #inputRef\n [id]=\"(field.id || field.name)\"\n type=\"text\"\n [name]=\"field.name\"\n sLocalizedNumberInput\n [precision]=\"isFunction(field.precision) ? trigger(field.precision) : field.precision\"\n [decimalSeparator]=\"field.numberLocaleOptions.decimalSeparator\"\n [thousandsSeparator]=\"field.numberLocaleOptions.thousandsSeparator\"\n [sTooltip]=\"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</ng-template>\n",
10708
10921
  encapsulation: core.ViewEncapsulation.None,
10709
10922
  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}.addon-button{border:1px solid #c1c1cc}.addon-button s-button .s-button-with-text,.addon-button s-button button{height:100%;min-width:40px}.addon-button--left{border-radius:5px 0 0 5px;border-right:none}.addon-button--left s-button button{border-bottom-right-radius:0;border-top-right-radius:0}.addon-button--right{border-left:none;border-radius:0 5px 5px 0}.addon-button--right s-button button{border-bottom-left-radius:0;border-top-left-radius:0}"]
10710
10923
  })
@@ -10727,6 +10940,7 @@
10727
10940
  TooltipModule,
10728
10941
  inputmask.InputMaskModule,
10729
10942
  inputtext.InputTextModule,
10943
+ FieldLabelModule
10730
10944
  ],
10731
10945
  declarations: [NumberFieldComponent],
10732
10946
  exports: [NumberFieldComponent],
@@ -10740,7 +10954,16 @@
10740
10954
  }
10741
10955
  CurrencyFieldModule = __decorate([
10742
10956
  core.NgModule({
10743
- imports: [common.CommonModule, forms.FormsModule, forms.ReactiveFormsModule, NumberInputModule, TooltipModule, inputmask.InputMaskModule, inputtext.InputTextModule],
10957
+ imports: [
10958
+ common.CommonModule,
10959
+ forms.FormsModule,
10960
+ forms.ReactiveFormsModule,
10961
+ NumberInputModule,
10962
+ TooltipModule,
10963
+ inputmask.InputMaskModule,
10964
+ inputtext.InputTextModule,
10965
+ FieldLabelModule
10966
+ ],
10744
10967
  declarations: [CurrencyFieldComponent],
10745
10968
  exports: [CurrencyFieldComponent],
10746
10969
  })
@@ -10762,6 +10985,7 @@
10762
10985
  TooltipModule,
10763
10986
  inputmask.InputMaskModule,
10764
10987
  inputtext.InputTextModule,
10988
+ FieldLabelModule
10765
10989
  ],
10766
10990
  declarations: [BignumberFieldComponent],
10767
10991
  exports: [BignumberFieldComponent],
@@ -11527,6 +11751,7 @@
11527
11751
  forms.FormsModule,
11528
11752
  forms.ReactiveFormsModule,
11529
11753
  ProfilePicturePickerModule,
11754
+ FieldLabelModule
11530
11755
  ],
11531
11756
  declarations: [ProfilePictureFieldComponent],
11532
11757
  exports: [ProfilePictureFieldComponent],
@@ -11589,6 +11814,7 @@
11589
11814
  CurrencyFieldModule,
11590
11815
  BignumberFieldModule,
11591
11816
  ProfilePictureModule,
11817
+ FieldLabelModule
11592
11818
  ],
11593
11819
  declarations: [
11594
11820
  AutocompleteFieldComponent,
@@ -11793,6 +12019,7 @@
11793
12019
  _this.formGroup.patchValue(_this.parseValuesForFields(_this.value));
11794
12020
  _this.ready = true;
11795
12021
  });
12022
+ this.addDisplayTimeInfoSignToFields();
11796
12023
  };
11797
12024
  CustomFieldsComponent.prototype.ngAfterViewInit = function () {
11798
12025
  this.enableOrDisableFields(this.disableFields);
@@ -12220,6 +12447,12 @@
12220
12447
  CustomFieldsComponent.prototype.getTranslateLabel = function (label) {
12221
12448
  return this.translateService.instant(this.domain + "." + this.service + "." + label);
12222
12449
  };
12450
+ CustomFieldsComponent.prototype.addDisplayTimeInfoSignToFields = function () {
12451
+ var _this = this;
12452
+ this.fields.forEach(function (field) {
12453
+ field.displayTimeInfoSign = _this.displayTimeInfoSign;
12454
+ });
12455
+ };
12223
12456
  var CustomFieldsComponent_1;
12224
12457
  CustomFieldsComponent.ctorParameters = function () { return [
12225
12458
  { type: CustomFieldsService },
@@ -12270,7 +12503,7 @@
12270
12503
  CustomFieldsComponent = CustomFieldsComponent_1 = __decorate([
12271
12504
  core.Component({
12272
12505
  selector: "s-custom-fields",
12273
- template: "<s-dynamic-form [fields]=\"fields\"\n [form]=\"formGroup\"\n [errorMessages]=\"{pattern: invalidErrorLabel, required: requiredErrorMessage}\"\n [displayTimeInfoSign]=\"displayTimeInfoSign\"></s-dynamic-form>",
12506
+ template: "<s-dynamic-form [fields]=\"fields\"\n [form]=\"formGroup\"\n [errorMessages]=\"{\n pattern: invalidErrorLabel,\n required: requiredErrorMessage}\">\n</s-dynamic-form>",
12274
12507
  providers: [
12275
12508
  {
12276
12509
  provide: forms.NG_VALUE_ACCESSOR,
@@ -18729,6 +18962,7 @@
18729
18962
  exports.NumberInputDirective = NumberInputDirective;
18730
18963
  exports.NumberInputModule = NumberInputModule;
18731
18964
  exports.NumberLocaleOptions = NumberLocaleOptions;
18965
+ exports.NumericService = NumericService;
18732
18966
  exports.ObjectCardComponent = ObjectCardComponent;
18733
18967
  exports.ObjectCardFieldComponent = ObjectCardFieldComponent;
18734
18968
  exports.ObjectCardMainComponent = ObjectCardMainComponent;
@@ -18797,78 +19031,80 @@
18797
19031
  exports.fallback = fallback;
18798
19032
  exports.ɵa = TooltipComponent;
18799
19033
  exports.ɵb = TooltipDirective;
18800
- exports.ɵba = TextFieldComponent;
18801
- exports.ɵbb = NumberFieldModule;
18802
- exports.ɵbc = LocalizedNumberInputModule;
18803
- exports.ɵbd = NumberInputModule;
18804
- exports.ɵbe = NumberFieldComponent;
18805
- exports.ɵbf = CurrencyFieldModule;
18806
- exports.ɵbg = CurrencyFieldComponent;
18807
- exports.ɵbh = BignumberFieldModule;
18808
- exports.ɵbi = BignumberInputModule;
18809
- exports.ɵbj = BignumberFieldComponent;
18810
- exports.ɵbk = ProfilePictureModule;
18811
- exports.ɵbl = ThumbnailService;
18812
- exports.ɵbm = StructureModule;
18813
- exports.ɵbn = HeaderComponent;
18814
- exports.ɵbo = FooterComponent;
18815
- exports.ɵbp = ProfilePictureFieldComponent;
18816
- exports.ɵbq = AutocompleteFieldComponent;
18817
- exports.ɵbr = BooleanFieldComponent;
18818
- exports.ɵbs = BooleanSwitchFieldComponent;
18819
- exports.ɵbt = CalendarFieldComponent;
18820
- exports.ɵbu = ChipsFieldComponent;
18821
- exports.ɵbv = CountryPhonePickerFieldComponent;
18822
- exports.ɵbw = DynamicFieldComponent;
18823
- exports.ɵbx = DynamicFormDirective;
18824
- exports.ɵby = FieldsetComponent;
18825
- exports.ɵbz = FileUploadComponent$1;
19034
+ exports.ɵba = PasswordFieldComponent;
19035
+ exports.ɵbb = TextFieldModule;
19036
+ exports.ɵbc = TextFieldComponent;
19037
+ exports.ɵbd = NumberFieldModule;
19038
+ exports.ɵbe = LocalizedNumberInputModule;
19039
+ exports.ɵbf = NumberInputModule;
19040
+ exports.ɵbg = NumberFieldComponent;
19041
+ exports.ɵbh = CurrencyFieldModule;
19042
+ exports.ɵbi = CurrencyFieldComponent;
19043
+ exports.ɵbj = BignumberFieldModule;
19044
+ exports.ɵbk = BignumberInputModule;
19045
+ exports.ɵbl = BignumberFieldComponent;
19046
+ exports.ɵbm = ProfilePictureModule;
19047
+ exports.ɵbn = ThumbnailService;
19048
+ exports.ɵbo = StructureModule;
19049
+ exports.ɵbp = HeaderComponent;
19050
+ exports.ɵbq = FooterComponent;
19051
+ exports.ɵbr = ProfilePictureFieldComponent;
19052
+ exports.ɵbs = AutocompleteFieldComponent;
19053
+ exports.ɵbt = BooleanFieldComponent;
19054
+ exports.ɵbu = BooleanSwitchFieldComponent;
19055
+ exports.ɵbv = CalendarFieldComponent;
19056
+ exports.ɵbw = ChipsFieldComponent;
19057
+ exports.ɵbx = CountryPhonePickerFieldComponent;
19058
+ exports.ɵby = DynamicFieldComponent;
19059
+ exports.ɵbz = DynamicFormDirective;
18826
19060
  exports.ɵc = TemplateDirective;
18827
- exports.ɵca = LookupFieldComponent;
18828
- exports.ɵcb = RadioButtonComponent;
18829
- exports.ɵcc = RowComponent;
18830
- exports.ɵcd = SectionComponent;
18831
- exports.ɵce = SelectFieldComponent;
18832
- exports.ɵcf = SliderFieldComponent;
18833
- exports.ɵcg = TextAreaFieldComponent;
18834
- exports.ɵch = TextAreaIAFieldComponent;
18835
- exports.ɵci = IAssistService;
18836
- exports.ɵck = DecimalField;
18837
- exports.ɵcl = SideTableComponent;
18838
- exports.ɵcm = InfiniteScrollModule;
18839
- exports.ɵcn = InfiniteScrollDirective;
18840
- exports.ɵco = IAInsightSidebarComponent;
18841
- exports.ɵcp = IAInsightCardComponent;
18842
- exports.ɵcq = IAInsightCardLoaderComponent;
18843
- exports.ɵcr = KanbanEventService;
18844
- exports.ɵcs = KanbanItemComponent;
18845
- exports.ɵct = KanbanColumnComponent;
18846
- exports.ɵcu = KanbanItemDraggingComponent;
18847
- exports.ɵcv = NumberLocaleOptions;
18848
- exports.ɵcw = TieredMenuEventService;
18849
- exports.ɵcx = TieredMenuService;
18850
- exports.ɵcy = TieredMenuGlobalService;
18851
- exports.ɵcz = TieredMenuComponent;
19061
+ exports.ɵca = FieldsetComponent;
19062
+ exports.ɵcb = FileUploadComponent$1;
19063
+ exports.ɵcc = LookupFieldComponent;
19064
+ exports.ɵcd = RadioButtonComponent;
19065
+ exports.ɵce = RowComponent;
19066
+ exports.ɵcf = SectionComponent;
19067
+ exports.ɵcg = SelectFieldComponent;
19068
+ exports.ɵch = SliderFieldComponent;
19069
+ exports.ɵci = TextAreaFieldComponent;
19070
+ exports.ɵcj = TextAreaIAFieldComponent;
19071
+ exports.ɵck = IAssistService;
19072
+ exports.ɵcm = DecimalField;
19073
+ exports.ɵcn = SideTableComponent;
19074
+ exports.ɵco = InfiniteScrollModule;
19075
+ exports.ɵcp = InfiniteScrollDirective;
19076
+ exports.ɵcq = IAInsightSidebarComponent;
19077
+ exports.ɵcr = IAInsightCardComponent;
19078
+ exports.ɵcs = IAInsightCardLoaderComponent;
19079
+ exports.ɵct = KanbanEventService;
19080
+ exports.ɵcu = KanbanItemComponent;
19081
+ exports.ɵcv = KanbanColumnComponent;
19082
+ exports.ɵcw = KanbanItemDraggingComponent;
19083
+ exports.ɵcx = NumberLocaleOptions;
19084
+ exports.ɵcy = TieredMenuEventService;
19085
+ exports.ɵcz = TieredMenuService;
18852
19086
  exports.ɵd = TemplateModule;
18853
- exports.ɵda = TieredMenuNestedComponent;
18854
- exports.ɵdb = TieredMenuItemComponent;
18855
- exports.ɵdc = TieredMenuDividerComponent;
18856
- exports.ɵdd = BorderButtonModule;
18857
- exports.ɵde = BorderButtonComponent;
18858
- exports.ɵdf = ProgressBarDeterminateComponent;
18859
- exports.ɵdg = ProgressBarIndeterminateComponent;
18860
- exports.ɵdh = SelectButtonItemComponent;
18861
- exports.ɵdi = SlidePanelService;
18862
- exports.ɵdj = TimelineItemModule;
18863
- exports.ɵdk = TimelineIconItemComponent;
18864
- exports.ɵdl = HorizontalTimelineModule;
18865
- exports.ɵdm = HorizontalTimelineComponent;
18866
- exports.ɵdn = VerticalTimelineModule;
18867
- exports.ɵdo = VerticalTimelineComponent;
18868
- exports.ɵdp = RangeLineComponent;
18869
- exports.ɵdq = CollapseOptionComponent;
18870
- exports.ɵdr = CollapsedItemsComponent;
18871
- exports.ɵds = VerticalItemsComponent;
19087
+ exports.ɵda = TieredMenuGlobalService;
19088
+ exports.ɵdb = TieredMenuComponent;
19089
+ exports.ɵdc = TieredMenuNestedComponent;
19090
+ exports.ɵdd = TieredMenuItemComponent;
19091
+ exports.ɵde = TieredMenuDividerComponent;
19092
+ exports.ɵdf = BorderButtonModule;
19093
+ exports.ɵdg = BorderButtonComponent;
19094
+ exports.ɵdh = ProgressBarDeterminateComponent;
19095
+ exports.ɵdi = ProgressBarIndeterminateComponent;
19096
+ exports.ɵdj = SelectButtonItemComponent;
19097
+ exports.ɵdk = SlidePanelService;
19098
+ exports.ɵdl = TimelineItemModule;
19099
+ exports.ɵdm = TimelineIconItemComponent;
19100
+ exports.ɵdn = HorizontalTimelineModule;
19101
+ exports.ɵdo = HorizontalTimelineComponent;
19102
+ exports.ɵdp = VerticalTimelineModule;
19103
+ exports.ɵdq = VerticalTimelineComponent;
19104
+ exports.ɵdr = RangeLineComponent;
19105
+ exports.ɵds = CollapseOptionComponent;
19106
+ exports.ɵdt = CollapsedItemsComponent;
19107
+ exports.ɵdu = VerticalItemsComponent;
18872
19108
  exports.ɵe = CustomTranslationsModule;
18873
19109
  exports.ɵf = CodeEditorComponent;
18874
19110
  exports.ɵg = CoreFacade;
@@ -18878,19 +19114,19 @@
18878
19114
  exports.ɵk = LocalizedBignumberPipe;
18879
19115
  exports.ɵl = LocalizedBignumberImpurePipe;
18880
19116
  exports.ɵm = NumericPipe;
18881
- exports.ɵn = NumericService;
18882
- exports.ɵo = EmptyStateGoBackComponent;
18883
- exports.ɵp = IAssistIconComponent;
18884
- exports.ɵq = SeniorIconComponent;
18885
- exports.ɵr = DotsIndicatorComponent;
18886
- exports.ɵs = LoadingIndicatorComponent;
18887
- exports.ɵt = FileUploadService;
18888
- exports.ɵu = InfoSignComponent;
18889
- exports.ɵv = TableColumnsComponent;
18890
- exports.ɵw = TablePagingComponent;
18891
- exports.ɵx = PasswordFieldModule;
18892
- exports.ɵy = PasswordFieldComponent;
18893
- exports.ɵz = TextFieldModule;
19117
+ exports.ɵn = EmptyStateGoBackComponent;
19118
+ exports.ɵo = IAssistIconComponent;
19119
+ exports.ɵp = SeniorIconComponent;
19120
+ exports.ɵq = DotsIndicatorComponent;
19121
+ exports.ɵr = LoadingIndicatorComponent;
19122
+ exports.ɵs = FileUploadService;
19123
+ exports.ɵt = InfoSignComponent;
19124
+ exports.ɵu = TableColumnsComponent;
19125
+ exports.ɵv = TablePagingComponent;
19126
+ exports.ɵw = PasswordFieldModule;
19127
+ exports.ɵx = FieldLabelModule;
19128
+ exports.ɵy = InfoSignModule;
19129
+ exports.ɵz = FieldLabelComponent;
18894
19130
 
18895
19131
  Object.defineProperty(exports, '__esModule', { value: true });
18896
19132