@senior-gestao-empresarial/angular-components 7.19.0 → 7.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/bundles/senior-gestao-empresarial-angular-components.umd.js +843 -220
  2. package/bundles/senior-gestao-empresarial-angular-components.umd.js.map +1 -1
  3. package/bundles/senior-gestao-empresarial-angular-components.umd.min.js +2 -2
  4. package/bundles/senior-gestao-empresarial-angular-components.umd.min.js.map +1 -1
  5. package/components/object-card/elements/field/object-card-field.component.d.ts +18 -0
  6. package/components/object-card/elements/main/object-card-main.component.d.ts +37 -0
  7. package/components/object-card/index.d.ts +4 -0
  8. package/components/object-card/object-card.component.d.ts +29 -0
  9. package/components/object-card/object-card.module.d.ts +2 -0
  10. package/components/shared/border-button/border-button.component.d.ts +7 -0
  11. package/components/shared/border-button/border-button.module.d.ts +2 -0
  12. package/components/shared/models/border-button-options.d.ts +9 -0
  13. package/components/shared/models/enum-severity.d.ts +7 -0
  14. package/components/thumbnail/index.d.ts +3 -0
  15. package/components/thumbnail/thumbnail-size.d.ts +5 -0
  16. package/components/thumbnail/thumbnail.component.d.ts +28 -0
  17. package/components/thumbnail/thumbnail.module.d.ts +2 -0
  18. package/components/thumbnail/thumbnail.service.d.ts +21 -0
  19. package/esm2015/components/object-card/elements/field/object-card-field.component.js +58 -0
  20. package/esm2015/components/object-card/elements/main/object-card-main.component.js +142 -0
  21. package/esm2015/components/object-card/index.js +5 -0
  22. package/esm2015/components/object-card/object-card.component.js +142 -0
  23. package/esm2015/components/object-card/object-card.module.js +22 -0
  24. package/esm2015/components/shared/border-button/border-button.component.js +24 -0
  25. package/esm2015/components/shared/border-button/border-button.module.js +16 -0
  26. package/esm2015/components/shared/models/border-button-options.js +1 -0
  27. package/esm2015/components/shared/models/enum-severity.js +9 -0
  28. package/esm2015/components/thumbnail/index.js +4 -0
  29. package/esm2015/components/thumbnail/thumbnail-size.js +7 -0
  30. package/esm2015/components/thumbnail/thumbnail.component.js +96 -0
  31. package/esm2015/components/thumbnail/thumbnail.module.js +17 -0
  32. package/esm2015/components/thumbnail/thumbnail.service.js +90 -0
  33. package/esm2015/public-api.js +3 -1
  34. package/esm2015/senior-gestao-empresarial-angular-components.js +8 -5
  35. package/esm5/components/object-card/elements/field/object-card-field.component.js +60 -0
  36. package/esm5/components/object-card/elements/main/object-card-main.component.js +167 -0
  37. package/esm5/components/object-card/index.js +5 -0
  38. package/esm5/components/object-card/object-card.component.js +144 -0
  39. package/esm5/components/object-card/object-card.module.js +25 -0
  40. package/esm5/components/shared/border-button/border-button.component.js +25 -0
  41. package/esm5/components/shared/border-button/border-button.module.js +19 -0
  42. package/esm5/components/shared/models/border-button-options.js +1 -0
  43. package/esm5/components/shared/models/enum-severity.js +9 -0
  44. package/esm5/components/thumbnail/index.js +4 -0
  45. package/esm5/components/thumbnail/thumbnail-size.js +7 -0
  46. package/esm5/components/thumbnail/thumbnail.component.js +99 -0
  47. package/esm5/components/thumbnail/thumbnail.module.js +20 -0
  48. package/esm5/components/thumbnail/thumbnail.service.js +95 -0
  49. package/esm5/public-api.js +3 -1
  50. package/esm5/senior-gestao-empresarial-angular-components.js +8 -5
  51. package/fesm2015/senior-gestao-empresarial-angular-components.js +737 -167
  52. package/fesm2015/senior-gestao-empresarial-angular-components.js.map +1 -1
  53. package/fesm5/senior-gestao-empresarial-angular-components.js +835 -218
  54. package/fesm5/senior-gestao-empresarial-angular-components.js.map +1 -1
  55. package/package.json +1 -1
  56. package/public-api.d.ts +2 -0
  57. package/senior-gestao-empresarial-angular-components.d.ts +7 -4
  58. package/senior-gestao-empresarial-angular-components.metadata.json +1 -1
@@ -1,18 +1,21 @@
1
- import { __decorate, __awaiter, __param } from 'tslib';
2
- import { Input, Component, NgModule, Injectable, Inject, ɵɵdefineInjectable, ɵɵinject } from '@angular/core';
1
+ import { __decorate, __param, __awaiter } from 'tslib';
2
+ import { Input, Component, NgModule, Injectable, ViewChild, EventEmitter, Output, ContentChild, TemplateRef, Inject, HostListener, ContentChildren, ɵɵdefineInjectable, ɵɵinject } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import { BreadcrumbModule as BreadcrumbModule$1 } from 'primeng/breadcrumb';
5
5
  import { NavigationEnd, PRIMARY_OUTLET, ActivatedRoute, Router, RouterModule } from '@angular/router';
6
- import { Subject, throwError, interval, of, BehaviorSubject, ReplaySubject } from 'rxjs';
6
+ import { Subject, throwError, from, of, interval, BehaviorSubject, ReplaySubject } from 'rxjs';
7
7
  import { takeUntil, filter, catchError, map, takeWhile, switchMap, take, finalize } from 'rxjs/operators';
8
- import * as moment_ from 'moment';
9
- import { FormField, FieldType } from '@seniorsistemas/angular-components';
8
+ import * as moment$2 from 'moment';
9
+ import { FormField, FieldType, ButtonModule, LoadingStateModule } from '@seniorsistemas/angular-components';
10
10
  import { HttpParams, HttpClient } from '@angular/common/http';
11
11
  import { MessageService } from 'primeng/api';
12
12
  import { TranslateService } from '@ngx-translate/core';
13
13
  import { HttpInterceptorModule } from '@seniorsistemas/platform-components';
14
- import { user } from '@seniorsistemas/senior-platform-data';
14
+ import { TooltipModule } from 'primeng/tooltip';
15
+ import { DialogModule } from 'primeng/dialog';
16
+ import { trigger, state, style, transition, animate } from '@angular/animations';
15
17
  import { FormControl, FormGroup } from '@angular/forms';
18
+ import { user } from '@seniorsistemas/senior-platform-data';
16
19
  import { Client, FrameImpl } from '@stomp/stompjs';
17
20
  import * as SockJS from 'sockjs-client';
18
21
  import { get } from 'js-cookie';
@@ -184,7 +187,7 @@ ErpLookupsService = __decorate([
184
187
  Injectable()
185
188
  ], ErpLookupsService);
186
189
 
187
- const moment = moment_;
190
+ const moment = moment$2;
188
191
  /** Filter System Query Option - Operators supported in the expression language */
189
192
  var EnumLogicalOperator;
190
193
  (function (EnumLogicalOperator) {
@@ -7082,175 +7085,208 @@ ErpLookupsModule = __decorate([
7082
7085
  })
7083
7086
  ], ErpLookupsModule);
7084
7087
 
7085
- class StorageService {
7086
- constructor() {
7087
- this.GET_USER_ID = user.getUserData().then(user => user.id);
7088
- }
7089
- store(key, value) {
7090
- return __awaiter(this, void 0, void 0, function* () {
7091
- localStorage.setItem(`${yield this.GET_USER_ID}_${key}`, JSON.stringify(value));
7092
- });
7093
- }
7094
- get(key) {
7095
- return __awaiter(this, void 0, void 0, function* () {
7096
- return JSON.parse(localStorage.getItem(`${yield this.GET_USER_ID}_${key}`)) || {};
7088
+ var ThumbnailSize;
7089
+ (function (ThumbnailSize) {
7090
+ ThumbnailSize["Small"] = "small";
7091
+ ThumbnailSize["Medium"] = "medium";
7092
+ ThumbnailSize["Large"] = "large";
7093
+ })(ThumbnailSize || (ThumbnailSize = {}));
7094
+
7095
+ var ThumbnailService_1;
7096
+ let ThumbnailService = ThumbnailService_1 = class ThumbnailService {
7097
+ getBinaryFile(img) {
7098
+ return new Promise(resolve => {
7099
+ const getOrientation = this.getOrientation.bind(this);
7100
+ let http = new XMLHttpRequest();
7101
+ http.addEventListener("load", () => {
7102
+ if (http.readyState === 4 && (http.status === ThumbnailService_1.HTTP_STATUS_OK || http.status === 0)) {
7103
+ const orientation = getOrientation(http.response);
7104
+ http = null;
7105
+ resolve(orientation);
7106
+ }
7107
+ });
7108
+ http.addEventListener("error", () => {
7109
+ http = null;
7110
+ throw new Error("Não foi possível carregar a imagem");
7111
+ });
7112
+ http.open("GET", img.src, true);
7113
+ http.responseType = "arraybuffer";
7114
+ http.send(null);
7097
7115
  });
7098
7116
  }
7099
- }
7100
-
7101
- const moment$1 = moment_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670
7102
- class FiltersStorageService extends StorageService {
7103
- constructor() {
7104
- super(...arguments);
7105
- this.FILTERS_KEY = "SENIOR_FILTERS";
7117
+ /**
7118
+ * Retorna a tag da orientação EXIF {-1} Não definido, {-2} Não é formato JPEG, {1, 2, 3, 4, 5, 6, 7, 8} valores da orientação.
7119
+ */
7120
+ getOrientation(file) {
7121
+ const view = new DataView(file);
7122
+ if (view.getUint16(0, false) !== ThumbnailService_1.JPEG_MARKER) {
7123
+ return ThumbnailService_1.NOT_JPEG;
7124
+ }
7125
+ const length = view.byteLength;
7126
+ let offset = ThumbnailService_1.INITIAL_OFFSET;
7127
+ while (offset < length) {
7128
+ const marker = view.getUint16(offset, false);
7129
+ offset += ThumbnailService_1.INITIAL_OFFSET;
7130
+ if (marker === ThumbnailService_1.EXIF_MARKER) {
7131
+ const orientation = this.extractOrientationFromExif(view, offset);
7132
+ if (orientation !== null) {
7133
+ return orientation;
7134
+ }
7135
+ return ThumbnailService_1.NOT_DEFINED;
7136
+ }
7137
+ // tslint:disable-next-line: no-bitwise
7138
+ if ((marker & ThumbnailService_1.MARKER_MASK) !== ThumbnailService_1.MARKER_MASK) {
7139
+ break;
7140
+ }
7141
+ offset += view.getUint16(offset, false);
7142
+ }
7143
+ return ThumbnailService_1.NOT_DEFINED;
7106
7144
  }
7107
- storeFilters(key, filters) {
7108
- const _super = Object.create(null, {
7109
- get: { get: () => super.get },
7110
- store: { get: () => super.store }
7111
- });
7112
- return __awaiter(this, void 0, void 0, function* () {
7113
- const store = (yield _super.get.call(this, this.FILTERS_KEY)) || {};
7114
- this.removeEmptyValues(filters);
7115
- store[key] = filters;
7116
- yield _super.store.call(this, this.FILTERS_KEY, store);
7117
- });
7145
+ extractOrientationFromExif(view, initialOffset) {
7146
+ let offset = initialOffset;
7147
+ offset += ThumbnailService_1.INITIAL_OFFSET;
7148
+ if (view.getUint32(offset, false) !== ThumbnailService_1.EXIF_SIGNATURE) {
7149
+ return null;
7150
+ }
7151
+ offset += ThumbnailService_1.EXIF_OFFSET;
7152
+ const little = view.getUint16(offset, false) === ThumbnailService_1.LITTLE_ENDIAN_MARKER;
7153
+ offset += view.getUint32(offset + 4, little);
7154
+ const tags = view.getUint16(offset, little);
7155
+ offset += ThumbnailService_1.INITIAL_OFFSET;
7156
+ for (let i = 0; i < tags; i++) {
7157
+ const tagOffset = offset + i * ThumbnailService_1.TAG_SIZE;
7158
+ if (view.getUint16(tagOffset, little) === ThumbnailService_1.ORIENTATION_TAG) {
7159
+ return view.getUint16(tagOffset + ThumbnailService_1.TAG_VALUE_OFFSET, little);
7160
+ }
7161
+ }
7162
+ return null;
7163
+ }
7164
+ };
7165
+ ThumbnailService.HTTP_STATUS_OK = 200;
7166
+ ThumbnailService.JPEG_MARKER = 0xffd8;
7167
+ ThumbnailService.EXIF_MARKER = 0xffe1;
7168
+ ThumbnailService.EXIF_SIGNATURE = 0x45786966;
7169
+ ThumbnailService.LITTLE_ENDIAN_MARKER = 0x4949;
7170
+ ThumbnailService.ORIENTATION_TAG = 0x0112;
7171
+ ThumbnailService.MARKER_MASK = 0xff00;
7172
+ ThumbnailService.NOT_DEFINED = -1;
7173
+ ThumbnailService.NOT_JPEG = -2;
7174
+ ThumbnailService.INITIAL_OFFSET = 2;
7175
+ ThumbnailService.EXIF_OFFSET = 6;
7176
+ ThumbnailService.TAG_SIZE = 12;
7177
+ ThumbnailService.TAG_VALUE_OFFSET = 8;
7178
+ ThumbnailService = ThumbnailService_1 = __decorate([
7179
+ Injectable()
7180
+ ], ThumbnailService);
7181
+
7182
+ var ThumbnailComponent_1;
7183
+ let ThumbnailComponent = ThumbnailComponent_1 = class ThumbnailComponent {
7184
+ constructor(thumbnailService) {
7185
+ this.thumbnailService = thumbnailService;
7186
+ this.fallback = false;
7187
+ this.id = `s-thumbnail-${ThumbnailComponent_1.getNextId()}`;
7188
+ this.size = ThumbnailSize.Medium;
7189
+ this.iconClass = "far fa-image";
7190
+ this.hasAction = false;
7191
+ this.actionIconClass = "fas fa-camera";
7192
+ this.isTile = false;
7193
+ this.isBrand = false;
7194
+ this.ngUnsubscribe = new Subject();
7118
7195
  }
7119
- getFilters(key) {
7120
- const _super = Object.create(null, {
7121
- get: { get: () => super.get }
7122
- });
7123
- return __awaiter(this, void 0, void 0, function* () {
7124
- const store = (yield _super.get.call(this, this.FILTERS_KEY)) || {};
7125
- return store[key] || {};
7126
- });
7196
+ ngOnDestroy() {
7197
+ this.ngUnsubscribe.next();
7198
+ this.ngUnsubscribe.complete();
7127
7199
  }
7128
- removeFilter(key) {
7129
- const _super = Object.create(null, {
7130
- get: { get: () => super.get },
7131
- store: { get: () => super.store }
7132
- });
7133
- return __awaiter(this, void 0, void 0, function* () {
7134
- const store = (yield _super.get.call(this, this.FILTERS_KEY)) || {};
7135
- delete store[key];
7136
- yield _super.store.call(this, this.FILTERS_KEY, store);
7137
- });
7200
+ ngAfterViewInit() {
7201
+ if (this.imgEl) {
7202
+ this.imgEl.nativeElement.addEventListener("load", () => {
7203
+ from(this.thumbnailService.getBinaryFile(this.imgEl.nativeElement))
7204
+ .pipe(takeUntil(this.ngUnsubscribe))
7205
+ .subscribe((orientation) => (this.orientation = orientation));
7206
+ });
7207
+ }
7138
7208
  }
7139
- clearFilterValue(key, filters) {
7140
- return __awaiter(this, void 0, void 0, function* () {
7141
- yield this.storeFilters(key, filters);
7142
- });
7209
+ static getNextId() {
7210
+ const id = ThumbnailComponent_1.nextId;
7211
+ ThumbnailComponent_1.nextId++;
7212
+ return id;
7143
7213
  }
7144
- removeEmptyValues(filters) {
7145
- Object.keys(filters).forEach((field) => {
7146
- if (this.isInvalid(filters[field])) {
7147
- delete filters[field];
7148
- }
7149
- });
7214
+ getImageAltText() {
7215
+ const altText = this.imageAlt || '';
7216
+ // Remove a palavra "image" ou "imagem" para evitar redundância
7217
+ return altText.replace(/\bimage\b/gi, '').replace(/\bimagem\b/gi, '').trim();
7150
7218
  }
7151
- isInvalid(field) {
7152
- if (field === null || field === undefined) {
7153
- return true;
7154
- }
7155
- if (Array.isArray(field)) {
7156
- return field.length === 0;
7157
- }
7158
- if (typeof field === "string") {
7159
- return field.trim() === "";
7160
- }
7161
- if (typeof field === "object") {
7162
- return Object.keys(field).length === 0;
7163
- }
7164
- return false;
7219
+ onImageError() {
7220
+ this.fallback = true;
7165
7221
  }
7166
- removeInvalidValues(values, fields) {
7167
- if (!values) {
7168
- return {};
7169
- }
7170
- Object.keys(values).forEach(fieldValue => {
7171
- const field = fields.find((it) => it.name == fieldValue);
7172
- if (field) {
7173
- const val = values[fieldValue];
7174
- if (!val)
7175
- return;
7176
- switch (field.type) {
7177
- case FieldType.Integer:
7178
- case FieldType.Double:
7179
- case FieldType.Money:
7180
- if (typeof val !== "number")
7181
- delete values[fieldValue];
7182
- break;
7183
- case FieldType.Boolean:
7184
- if (typeof val !== "boolean")
7185
- delete values[fieldValue];
7186
- break;
7187
- case FieldType.Date:
7188
- case FieldType.DateTime:
7189
- case FieldType.Time:
7190
- if (!moment$1(val, moment$1.ISO_8601, true).isValid())
7191
- delete values[fieldValue];
7192
- break;
7193
- case FieldType.String:
7194
- case FieldType.Text:
7195
- if (typeof val !== "string")
7196
- delete values[fieldValue];
7197
- break;
7198
- case FieldType.Lookup:
7199
- case FieldType.Autocomplete:
7200
- if (field.multiple) {
7201
- if (!(Array.isArray(val) && val.length))
7202
- delete values[fieldValue];
7203
- }
7204
- else {
7205
- if (!(val instanceof Object))
7206
- delete values[fieldValue];
7207
- }
7208
- break;
7209
- case FieldType.Enum:
7210
- if (field.multiple && !(Array.isArray(val) && val.length)) {
7211
- delete values[fieldValue];
7212
- }
7213
- break;
7214
- case FieldType.Chips:
7215
- if (!(Array.isArray(val) && val.length)) {
7216
- delete values[fieldValue];
7217
- }
7218
- break;
7219
- default:
7220
- break;
7221
- }
7222
- }
7223
- });
7224
- return values;
7222
+ onFallbackError() {
7223
+ this.imageFallback = null;
7225
7224
  }
7226
- }
7225
+ };
7226
+ ThumbnailComponent.nextId = 0;
7227
+ ThumbnailComponent.ctorParameters = () => [
7228
+ { type: ThumbnailService }
7229
+ ];
7230
+ __decorate([
7231
+ ViewChild("img", { static: false })
7232
+ ], ThumbnailComponent.prototype, "imgEl", void 0);
7233
+ __decorate([
7234
+ Input()
7235
+ ], ThumbnailComponent.prototype, "id", void 0);
7236
+ __decorate([
7237
+ Input()
7238
+ ], ThumbnailComponent.prototype, "size", void 0);
7239
+ __decorate([
7240
+ Input()
7241
+ ], ThumbnailComponent.prototype, "imageSource", void 0);
7242
+ __decorate([
7243
+ Input()
7244
+ ], ThumbnailComponent.prototype, "imageFallback", void 0);
7245
+ __decorate([
7246
+ Input()
7247
+ ], ThumbnailComponent.prototype, "imageAlt", void 0);
7248
+ __decorate([
7249
+ Input()
7250
+ ], ThumbnailComponent.prototype, "iconClass", void 0);
7251
+ __decorate([
7252
+ Input()
7253
+ ], ThumbnailComponent.prototype, "hasAction", void 0);
7254
+ __decorate([
7255
+ Input()
7256
+ ], ThumbnailComponent.prototype, "actionIconClass", void 0);
7257
+ __decorate([
7258
+ Input()
7259
+ ], ThumbnailComponent.prototype, "isTile", void 0);
7260
+ __decorate([
7261
+ Input()
7262
+ ], ThumbnailComponent.prototype, "isBrand", void 0);
7263
+ ThumbnailComponent = ThumbnailComponent_1 = __decorate([
7264
+ Component({
7265
+ selector: "s-thumbnail",
7266
+ template: "<div\n [id]=\"id\"\n class=\"thumbnail-container thumbnail-container--{{size}}\"\n [attr.title]=\"imageAlt || 'Thumbnail'\"\n [ngClass]=\"{\n 'thumbnail-container--with-action': hasAction,\n 'thumbnail-container--brand': isBrand\n }\">\n <div\n [id]=\"id + '-image-container'\"\n *ngIf=\"imageSource || imageFallback\"\n class=\"image-container\"\n [ngClass]=\"{\n 'image-container--rounded': !isBrand\n }\">\n <ng-container *ngIf=\"!fallback; else fallbackImage\">\n <ng-container *ngTemplateOutlet=\"imageTemplate; context: {\n imgId: id + '-image',\n imgSrc: imageSource,\n errorHandler: onImageError,\n titleText: imageAlt || 'Thumbnail'\n }\"></ng-container>\n </ng-container>\n\n <ng-template #fallbackImage>\n <ng-container *ngIf=\"imageFallback; else iconFallback\">\n <ng-container *ngTemplateOutlet=\"imageTemplate; context: {\n imgId: id + '-image-fallback',\n imgSrc: imageFallback,\n errorHandler: onFallbackError,\n titleText: imageAlt || 'Thumbnail fallback'\n }\"></ng-container>\n </ng-container>\n </ng-template>\n\n <ng-template #iconFallback>\n <i\n ngClass=\"far fa-image\"\n class=\"fallback-img-color\">\n </i>\n </ng-template>\n\n <ng-template\n #imageTemplate\n let-imgId=\"imgId\"\n let-imgSrc=\"imgSrc\"\n let-errorHandler=\"errorHandler\"\n let-titleText=\"titleText\">\n <img\n #img\n [id]=\"imgId\"\n (error)=\"errorHandler()\"\n [src]=\"imgSrc\"\n alt=\"\"\n [attr.alt]=\"getImageAltText()\"\n [attr.title]=\"titleText\"\n width=\"100%\"\n height=\"auto\"\n [ngClass]=\"{\n 'smallThumbnail': isTile,\n 'exif-orientation-2': orientation == 2,\n 'exif-orientation-3': orientation == 3,\n 'exif-orientation-4': orientation == 4,\n 'exif-orientation-5': orientation == 5,\n 'exif-orientation-6': orientation == 6,\n 'exif-orientation-7': orientation == 7,\n 'exif-orientation-8': orientation == 8\n }\"/>\n </ng-template>\n </div>\n <div\n [id]=\"id + '-action-icon-container'\"\n *ngIf=\"hasAction\"\n class=\"action-icon-container action-icon-container--{{size}}\">\n <span\n [id]=\"id + '-action-icon'\"\n [class]=\"actionIconClass\"\n aria-hidden=\"true\">\n </span>\n </div>\n <div\n [id]=\"id + '-icon-container'\"\n *ngIf=\"!imageSource && !imageFallback\"\n class=\"icon-container icon-container--{{size}}\"\n [ngClass]=\"{'image-container--rounded': !isBrand}\">\n <span\n [id]=\"id + '-icon'\"\n [class]=\"iconClass\"\n aria-hidden=\"true\">\n </span>\n </div>\n\n <ng-content></ng-content>\n</div>\n",
7267
+ styles: [":host{display:inline-block}.thumbnail-container{color:#fff;position:relative;text-align:center}.thumbnail-container--large{font-size:50px;height:100px;width:100px}.thumbnail-container--large.thumbnail-container--brand{width:200px}.thumbnail-container--medium{font-size:40px;height:70px;width:70px}.thumbnail-container--medium.thumbnail-container--brand{width:140px}.thumbnail-container--small{font-size:22px;height:40px;width:40px}.thumbnail-container--small.thumbnail-container--brand{width:80px}.thumbnail-container--with-action{cursor:pointer}.action-icon-container{background-color:#428bca;border-radius:50%;bottom:0;position:absolute;right:0}.action-icon-container--large,.action-icon-container--medium{font-size:10pt;height:25px;padding:3px;width:25px}.action-icon-container--small{font-size:6pt;height:16px;padding:2px;width:16px}.icon-container,.image-container{-ms-flex-align:center;align-items:center;height:100%;overflow:hidden;width:100%}.icon-container--rounded,.image-container--rounded{border-radius:50%}.smallThumbnail{height:40px!important}.icon-container{background-color:#ccc;color:#fff}.icon-container--large{line-height:98px}.icon-container--medium{line-height:68px}.icon-container--small{line-height:38px}.image-container{-ms-flex-align:center;align-items:center;background-color:#ccc;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.image-container img{width:100%}.image-container img.exif-orientation-2{transform:rotateY(180deg)}.image-container img.exif-orientation-3{transform:rotate(180deg)}.image-container img.exif-orientation-4{transform:rotate(180deg) rotateY(180deg)}.image-container img.exif-orientation-5{transform:rotate(270deg) rotateY(180deg)}.image-container img.exif-orientation-6{transform:rotate(90deg)}.image-container img.exif-orientation-7{transform:rotate(90deg) rotateY(180deg)}.image-container img.exif-orientation-8{transform:rotate(270deg)}.fallback-img-color{color:#fff}"]
7268
+ })
7269
+ ], ThumbnailComponent);
7227
7270
 
7228
- let ErpPolling =
7229
- /**
7230
- * Erp Polling
7231
- * @class ErpPolling
7232
- */
7233
- class ErpPolling {
7234
- /**
7235
- * Criação de um polling.
7236
- * @typeParam `<T>` Tipo do objeto que o retorno do `observable` vai devolver.
7237
- * @param takeWhileFn Função com retorno booleano, condição para a conclusão do polling, se falso conclui o polling.
7238
- * @param calling Função com retorno `Observable<T>`, será a chamada feita pelo polling a cada X ms.
7239
- * @param intervalMs Valor em ms que determina o intervalo das chamadas do polling.
7240
- * @return Um `observable` com repetição cíclica a cada X ms _(`interval` informado nos parâmetros de entrada)_
7241
- */
7242
- pollingMount(takeWhileFn, calling, intervalMs = 29000) {
7243
- return interval(intervalMs)
7244
- .pipe(takeWhile(takeWhileFn), switchMap(calling));
7245
- }
7271
+ let ThumbnailModule = class ThumbnailModule {
7246
7272
  };
7247
- ErpPolling = __decorate([
7248
- Injectable()
7249
- /**
7250
- * Erp Polling
7251
- * @class ErpPolling
7252
- */
7253
- ], ErpPolling);
7273
+ ThumbnailModule = __decorate([
7274
+ NgModule({
7275
+ imports: [CommonModule],
7276
+ declarations: [ThumbnailComponent],
7277
+ exports: [ThumbnailComponent],
7278
+ providers: [ThumbnailService],
7279
+ })
7280
+ ], ThumbnailModule);
7281
+
7282
+ var EnumSeverity;
7283
+ (function (EnumSeverity) {
7284
+ EnumSeverity["Default"] = "Default";
7285
+ EnumSeverity["Info"] = "Info";
7286
+ EnumSeverity["Warn"] = "Warn";
7287
+ EnumSeverity["Error"] = "Error";
7288
+ EnumSeverity["Success"] = "Success";
7289
+ })(EnumSeverity || (EnumSeverity = {}));
7254
7290
 
7255
7291
  const Breakpoints = {
7256
7292
  SM_MIN: 0,
@@ -7263,6 +7299,60 @@ const Breakpoints = {
7263
7299
  XL_MAX: Infinity,
7264
7300
  };
7265
7301
 
7302
+ var ObjectCardFieldComponent_1;
7303
+ let ObjectCardFieldComponent = ObjectCardFieldComponent_1 = class ObjectCardFieldComponent {
7304
+ constructor() {
7305
+ this.id = `erp-object-card-field-${ObjectCardFieldComponent_1.getNextId()}`;
7306
+ this.buttonClick = new EventEmitter();
7307
+ }
7308
+ static getNextId() {
7309
+ const id = ObjectCardFieldComponent_1.nextId;
7310
+ ObjectCardFieldComponent_1.nextId++;
7311
+ return id;
7312
+ }
7313
+ };
7314
+ ObjectCardFieldComponent.nextId = 0;
7315
+ __decorate([
7316
+ Input()
7317
+ ], ObjectCardFieldComponent.prototype, "id", void 0);
7318
+ __decorate([
7319
+ Input()
7320
+ ], ObjectCardFieldComponent.prototype, "imageSource", void 0);
7321
+ __decorate([
7322
+ Input()
7323
+ ], ObjectCardFieldComponent.prototype, "imageAlt", void 0);
7324
+ __decorate([
7325
+ Input()
7326
+ ], ObjectCardFieldComponent.prototype, "iconClass", void 0);
7327
+ __decorate([
7328
+ Input()
7329
+ ], ObjectCardFieldComponent.prototype, "label", void 0);
7330
+ __decorate([
7331
+ Input()
7332
+ ], ObjectCardFieldComponent.prototype, "description", void 0);
7333
+ __decorate([
7334
+ Input()
7335
+ ], ObjectCardFieldComponent.prototype, "buttonLabel", void 0);
7336
+ __decorate([
7337
+ Input()
7338
+ ], ObjectCardFieldComponent.prototype, "buttonModel", void 0);
7339
+ __decorate([
7340
+ Output()
7341
+ ], ObjectCardFieldComponent.prototype, "buttonClick", void 0);
7342
+ __decorate([
7343
+ ContentChild(ThumbnailComponent, { static: true })
7344
+ ], ObjectCardFieldComponent.prototype, "thumbnailComponent", void 0);
7345
+ __decorate([
7346
+ ViewChild(TemplateRef, { static: true })
7347
+ ], ObjectCardFieldComponent.prototype, "content", void 0);
7348
+ ObjectCardFieldComponent = ObjectCardFieldComponent_1 = __decorate([
7349
+ Component({
7350
+ selector: "erp-object-card-field",
7351
+ template: "<ng-template>\n <div class=\"container\">\n <ng-content select=\"s-thumbnail\"></ng-content>\n <s-thumbnail\n [id]=\"id + '-thumbnail'\"\n *ngIf=\"!thumbnailComponent && (imageSource || iconClass)\"\n [imageSource]=\"imageSource\"\n [imageAlt]=\"imageAlt || label\"\n [iconClass]=\"iconClass\"\n size=\"small\"\n ></s-thumbnail>\n\n <div class=\"info-container\">\n <div #labelTemplate><ng-content select=\"[labelTemplate]\"></ng-content></div>\n <ng-container *ngTemplateOutlet=\"textSpan; context: {\n elementId: id + '-label',\n text: label,\n cssClass: 'label',\n templateWrapper: labelTemplate\n }\"></ng-container>\n\n <div #descriptionTemplate><ng-content select=\"[descriptionTemplate]\"></ng-content></div>\n <ng-container *ngTemplateOutlet=\"textSpan; context: {\n cssClass: 'description',\n elementId: id + '-description',\n templateWrapper: descriptionTemplate,\n text: description\n }\"></ng-container>\n\n <s-button\n *ngIf=\"buttonLabel\"\n [id]=\"id + '-button'\"\n styleClass=\"object-card-button\"\n [label]=\"buttonLabel\"\n priority=\"link\"\n size=\"small\"\n [model]=\"buttonModel\"\n (onClick)=\"buttonClick.emit($event)\"\n ></s-button>\n\n <ng-template\n #textSpan\n let-text=\"text\"\n let-elementId=\"elementId\"\n let-templateWrapper=\"templateWrapper\"\n let-cssClass=\"cssClass\"\n >\n <span\n *ngIf=\"!templateWrapper.children.length\"\n [id]=\"elementId\"\n [pTooltip]=\"text\"\n tooltipPosition=\"top\"\n [class]=\"cssClass\"\n showDelay=\"500\"\n >{{ text }}</span>\n </ng-template>\n </div>\n </div>\n</ng-template>\n",
7352
+ styles: [".container{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;height:100%}.info-container{margin-left:10px}.info-container,.info-container span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.info-container .label{color:#999;display:block}.info-container .description{display:block}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.info-container{-ms-flex:1;flex:1}}@media (max-width:767px){.info-container,.info-container span{white-space:normal}}.info-container:only-child{margin-left:0}"]
7353
+ })
7354
+ ], ObjectCardFieldComponent);
7355
+
7266
7356
  class ExportUtils {
7267
7357
  constructor() {
7268
7358
  throw new Error("Classe não deve ser instanciada.");
@@ -7409,7 +7499,7 @@ let FormUtilsService = class FormUtilsService {
7409
7499
  * @returns A Date object in the format of "format" parameter
7410
7500
  */
7411
7501
  getFormFormattedDate(date, format = "YYYY-MM-DDT00:00:00") {
7412
- return date ? new Date(moment_(date).format(format)) : undefined;
7502
+ return date ? new Date(moment$2(date).format(format)) : undefined;
7413
7503
  }
7414
7504
  /**
7415
7505
  * Method to format dates in a string
@@ -7418,7 +7508,7 @@ let FormUtilsService = class FormUtilsService {
7418
7508
  * @returns A string date in the format of "format" parameter
7419
7509
  */
7420
7510
  getEntityFormattedDate(date, format = "YYYY-MM-DD") {
7421
- return date ? moment_(date).format(format) : undefined;
7511
+ return date ? moment$2(date).format(format) : undefined;
7422
7512
  }
7423
7513
  /**
7424
7514
  * Method to get a object with only the lookup id
@@ -7683,6 +7773,486 @@ const HTTP_STATUS_CODE = {
7683
7773
  GENERIC_ERROR: 600
7684
7774
  };
7685
7775
 
7776
+ var ObjectCardMainComponent_1;
7777
+ let ObjectCardMainComponent = ObjectCardMainComponent_1 = class ObjectCardMainComponent {
7778
+ constructor() {
7779
+ this.id = `erp-object-card-main-${ObjectCardMainComponent_1.getNextId()}`;
7780
+ this.iconClass = "fa fa-picture-o";
7781
+ this.hasThumbnail = true;
7782
+ this.hasDescription = true;
7783
+ this.isBrand = false;
7784
+ this.expandableImage = false;
7785
+ this.buttonClick = new EventEmitter();
7786
+ this.showImageModal = false;
7787
+ this.loadingFullImage = false;
7788
+ this._thumbnailSize = ThumbnailSize.Medium;
7789
+ }
7790
+ set thumbnailSize(value) {
7791
+ this._thumbnailSize = value;
7792
+ if (this.thumbnailComponent) {
7793
+ this.thumbnailComponent.size = value;
7794
+ }
7795
+ }
7796
+ get thumbnailSize() {
7797
+ return this._thumbnailSize;
7798
+ }
7799
+ onResize() {
7800
+ this.update();
7801
+ }
7802
+ ngAfterContentInit() {
7803
+ this.update();
7804
+ }
7805
+ update() {
7806
+ const windowWidth = window.innerWidth;
7807
+ if (windowWidth <= Breakpoints.SM_MAX) {
7808
+ this.thumbnailSize = ThumbnailSize.Small;
7809
+ }
7810
+ else {
7811
+ this.thumbnailSize = ThumbnailSize.Medium;
7812
+ }
7813
+ }
7814
+ static getNextId() {
7815
+ const id = ObjectCardMainComponent_1.nextId;
7816
+ ObjectCardMainComponent_1.nextId++;
7817
+ return id;
7818
+ }
7819
+ getImageAltText() {
7820
+ const altText = this.imageAlt || this.label || '';
7821
+ return altText.replace(/\bimage\b/gi, '').replace(/\bimagem\b/gi, '').trim();
7822
+ }
7823
+ openImageModal() {
7824
+ return __awaiter(this, void 0, void 0, function* () {
7825
+ if (!this.expandableImage || !this.imageSource) {
7826
+ return;
7827
+ }
7828
+ this.showImageModal = true;
7829
+ this.fullImageSource = yield this.resolveFullImageSource();
7830
+ });
7831
+ }
7832
+ resolveFullImageSource() {
7833
+ return __awaiter(this, void 0, void 0, function* () {
7834
+ if (!this.imageLoader || this.fullImageSource) {
7835
+ return this.fullImageSource || this.imageSource;
7836
+ }
7837
+ this.loadingFullImage = true;
7838
+ try {
7839
+ const result = this.imageLoader();
7840
+ return yield (result instanceof Promise ? result : result.toPromise());
7841
+ }
7842
+ catch (error) {
7843
+ console.error('Erro ao carregar imagem completa:', error);
7844
+ return this.imageSource;
7845
+ }
7846
+ finally {
7847
+ this.loadingFullImage = false;
7848
+ }
7849
+ });
7850
+ }
7851
+ };
7852
+ ObjectCardMainComponent.nextId = 0;
7853
+ __decorate([
7854
+ Input()
7855
+ ], ObjectCardMainComponent.prototype, "id", void 0);
7856
+ __decorate([
7857
+ Input()
7858
+ ], ObjectCardMainComponent.prototype, "imageSource", void 0);
7859
+ __decorate([
7860
+ Input()
7861
+ ], ObjectCardMainComponent.prototype, "imageFallback", void 0);
7862
+ __decorate([
7863
+ Input()
7864
+ ], ObjectCardMainComponent.prototype, "imageAlt", void 0);
7865
+ __decorate([
7866
+ Input()
7867
+ ], ObjectCardMainComponent.prototype, "iconClass", void 0);
7868
+ __decorate([
7869
+ Input()
7870
+ ], ObjectCardMainComponent.prototype, "hasThumbnail", void 0);
7871
+ __decorate([
7872
+ Input()
7873
+ ], ObjectCardMainComponent.prototype, "hasDescription", void 0);
7874
+ __decorate([
7875
+ Input()
7876
+ ], ObjectCardMainComponent.prototype, "isBrand", void 0);
7877
+ __decorate([
7878
+ Input()
7879
+ ], ObjectCardMainComponent.prototype, "expandableImage", void 0);
7880
+ __decorate([
7881
+ Input()
7882
+ ], ObjectCardMainComponent.prototype, "imageLoader", void 0);
7883
+ __decorate([
7884
+ Input()
7885
+ ], ObjectCardMainComponent.prototype, "label", void 0);
7886
+ __decorate([
7887
+ Input()
7888
+ ], ObjectCardMainComponent.prototype, "description", void 0);
7889
+ __decorate([
7890
+ Input()
7891
+ ], ObjectCardMainComponent.prototype, "buttonLabel", void 0);
7892
+ __decorate([
7893
+ Input()
7894
+ ], ObjectCardMainComponent.prototype, "buttonModel", void 0);
7895
+ __decorate([
7896
+ Output()
7897
+ ], ObjectCardMainComponent.prototype, "buttonClick", void 0);
7898
+ __decorate([
7899
+ ContentChild(ThumbnailComponent, { static: true })
7900
+ ], ObjectCardMainComponent.prototype, "thumbnailComponent", void 0);
7901
+ __decorate([
7902
+ HostListener("window:resize")
7903
+ ], ObjectCardMainComponent.prototype, "onResize", null);
7904
+ ObjectCardMainComponent = ObjectCardMainComponent_1 = __decorate([
7905
+ Component({
7906
+ selector: "erp-object-card-main",
7907
+ template: "<ng-container *ngIf=\"hasThumbnail\">\n <ng-content select=\"s-thumbnail\"></ng-content>\n <s-thumbnail\n [id]=\"id + '-thumbnail'\"\n [imageSource]=\"imageSource\"\n [imageFallback]=\"imageFallback\"\n [imageAlt]=\"imageAlt\"\n [iconClass]=\"iconClass\"\n [size]=\"thumbnailSize\"\n *ngIf=\"!thumbnailComponent\"\n [isBrand]=\"isBrand\"\n [ngClass]=\"{'expandable-thumbnail': expandableImage && imageSource}\"\n (click)=\"openImageModal()\"\n (keydown.enter)=\"openImageModal()\"\n (keydown.space)=\"openImageModal()\"\n tabindex=\"0\"\n role=\"button\"\n ></s-thumbnail>\n</ng-container>\n\n<p-dialog\n [header]=\"imageAlt || 'Visualizar'\"\n [(visible)]=\"showImageModal\"\n [modal]=\"true\"\n [dismissableMask]=\"true\"\n [styleClass]=\"'image-modal'\"\n [contentStyle]=\"{'overflow': 'auto', 'text-align': 'center'}\"\n>\n <s-loading-state [loading]=\"loadingFullImage\">\n <img\n *ngIf=\"fullImageSource\"\n [src]=\"fullImageSource\"\n alt=\"\"\n [attr.alt]=\"getImageAltText()\"\n width=\"100%\"\n height=\"auto\"\n class=\"expanded-image\"\n />\n </s-loading-state>\n</p-dialog>\n\n<ng-container *ngIf=\"hasDescription\">\n <div class=\"info-container\">\n <div #labelTemplate><ng-content select=\"[labelTemplate]\"></ng-content></div>\n <ng-container *ngTemplateOutlet=\"textSpan; context: {\n elementId: id + '-label',\n text: label,\n cssClass: 'label',\n templateWrapper: labelTemplate\n }\"></ng-container>\n\n <div #descriptionTemplate><ng-content select=\"[descriptionTemplate]\"></ng-content></div>\n <ng-container *ngTemplateOutlet=\"textSpan; context: {\n elementId: id + '-description',\n text: description,\n cssClass: 'description',\n templateWrapper: descriptionTemplate\n }\"></ng-container>\n\n <s-button\n [id]=\"id + '-button'\"\n *ngIf=\"buttonLabel\"\n styleClass=\"object-card-button\"\n priority=\"link\"\n [label]=\"buttonLabel\"\n [model]=\"buttonModel\"\n size=\"small\"\n (onClick)=\"buttonClick.emit($event)\"\n ></s-button>\n\n <ng-template\n #textSpan\n let-elementId=\"elementId\"\n let-text=\"text\"\n let-cssClass=\"cssClass\"\n let-templateWrapper=\"templateWrapper\"\n >\n <span\n [id]=\"elementId\"\n *ngIf=\"!templateWrapper.children.length\"\n [class]=\"cssClass\"\n [pTooltip]=\"text\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n >{{ text }}</span>\n </ng-template>\n </div>\n</ng-container>\n",
7908
+ styles: [":host{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;min-height:70px}.info-container{margin-left:10px;-ms-flex:1;flex:1}.info-container,.info-container span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.info-container .label{display:block;font-weight:700}.info-container .description{color:#999;display:block}@media (max-width:767px){.info-container,.info-container span{white-space:normal}}::ng-deep .expandable-thumbnail{cursor:pointer;transition:opacity .2s}::ng-deep .expandable-thumbnail:hover{opacity:.8}::ng-deep .image-modal .p-dialog{max-width:90vw;max-height:90vh}::ng-deep .image-modal .expanded-image{max-width:80vw;max-height:80vh;width:auto;height:auto;object-fit:contain}"]
7909
+ })
7910
+ ], ObjectCardMainComponent);
7911
+
7912
+ var ObjectCardComponent_1;
7913
+ let ObjectCardComponent = ObjectCardComponent_1 = class ObjectCardComponent {
7914
+ constructor() {
7915
+ this.id = `erp-object-card-${ObjectCardComponent_1.getNextId()}`;
7916
+ this.expanded = false;
7917
+ this.expandTooltip = "Abrir painel";
7918
+ this.collapseTooltip = "Fechar painel";
7919
+ this.fieldsMinWidth = 200;
7920
+ this.expandedChange = new EventEmitter();
7921
+ this.maxVisibleFields = 0;
7922
+ this.severity = EnumSeverity.Default;
7923
+ this.EnumSeverity = EnumSeverity;
7924
+ }
7925
+ ngAfterContentChecked() {
7926
+ this.update();
7927
+ }
7928
+ update() {
7929
+ const windowWidth = window.innerWidth;
7930
+ const containerWidth = this.container.nativeElement.getBoundingClientRect().width;
7931
+ const mainFieldWidth = this.cardMainContainer.nativeElement.getBoundingClientRect().width;
7932
+ let remainingSpace = containerWidth - mainFieldWidth;
7933
+ const fieldsMinWidth = this.fieldsMinWidth;
7934
+ const expandIconWidth = this.iconContainer.nativeElement.getBoundingClientRect().width;
7935
+ let maxFieldQtd;
7936
+ if (windowWidth <= Breakpoints.SM_MAX) {
7937
+ maxFieldQtd = 0;
7938
+ }
7939
+ else {
7940
+ maxFieldQtd = Math.floor((remainingSpace) / fieldsMinWidth);
7941
+ }
7942
+ const hasExpandIcon = maxFieldQtd && maxFieldQtd < this.fields.length;
7943
+ if (hasExpandIcon) {
7944
+ this.iconContainer.nativeElement.style.display = 'flex';
7945
+ remainingSpace = remainingSpace - expandIconWidth;
7946
+ maxFieldQtd = Math.floor((remainingSpace) / fieldsMinWidth);
7947
+ }
7948
+ else {
7949
+ this.iconContainer.nativeElement.style.display = 'none';
7950
+ }
7951
+ this.maxVisibleFields = maxFieldQtd;
7952
+ if (maxFieldQtd >= this.fields.length && this.expanded) {
7953
+ this.collapse();
7954
+ }
7955
+ }
7956
+ toggle() {
7957
+ this.expanded ? this.collapse() : this.expand();
7958
+ }
7959
+ expand() {
7960
+ this.expanded = true;
7961
+ this.expandedChange.emit(this.expanded);
7962
+ }
7963
+ collapse() {
7964
+ this.expanded = false;
7965
+ this.expandedChange.emit(this.expanded);
7966
+ }
7967
+ static getNextId() {
7968
+ const id = ObjectCardComponent_1.nextId;
7969
+ ObjectCardComponent_1.nextId++;
7970
+ return id;
7971
+ }
7972
+ };
7973
+ ObjectCardComponent.nextId = 0;
7974
+ __decorate([
7975
+ Input()
7976
+ ], ObjectCardComponent.prototype, "id", void 0);
7977
+ __decorate([
7978
+ Input()
7979
+ ], ObjectCardComponent.prototype, "expanded", void 0);
7980
+ __decorate([
7981
+ Input()
7982
+ ], ObjectCardComponent.prototype, "expandTooltip", void 0);
7983
+ __decorate([
7984
+ Input()
7985
+ ], ObjectCardComponent.prototype, "collapseTooltip", void 0);
7986
+ __decorate([
7987
+ Input()
7988
+ ], ObjectCardComponent.prototype, "fieldsMinWidth", void 0);
7989
+ __decorate([
7990
+ Output()
7991
+ ], ObjectCardComponent.prototype, "expandedChange", void 0);
7992
+ __decorate([
7993
+ ContentChild(ObjectCardMainComponent, { static: true })
7994
+ ], ObjectCardComponent.prototype, "main", void 0);
7995
+ __decorate([
7996
+ ContentChildren(ObjectCardFieldComponent, { descendants: true })
7997
+ ], ObjectCardComponent.prototype, "fields", void 0);
7998
+ __decorate([
7999
+ Input()
8000
+ ], ObjectCardComponent.prototype, "severity", void 0);
8001
+ __decorate([
8002
+ Input()
8003
+ ], ObjectCardComponent.prototype, "borderButtonOptions", void 0);
8004
+ __decorate([
8005
+ ViewChild('contentContainer', { static: true })
8006
+ ], ObjectCardComponent.prototype, "container", void 0);
8007
+ __decorate([
8008
+ ViewChild('cardMainContainer', { static: true })
8009
+ ], ObjectCardComponent.prototype, "cardMainContainer", void 0);
8010
+ __decorate([
8011
+ ViewChild('iconContainer', { static: true })
8012
+ ], ObjectCardComponent.prototype, "iconContainer", void 0);
8013
+ ObjectCardComponent = ObjectCardComponent_1 = __decorate([
8014
+ Component({
8015
+ selector: "erp-object-card",
8016
+ template: "<div [id]=\"id\" class=\"container\">\n <s-border-button\n *ngIf=\"\n borderButtonOptions?.visible\n ? borderButtonOptions?.visible(severity)\n : false\n \"\n [severity]=\"severity\"\n [options]=\"borderButtonOptions\"\n class=\"object-card__border-button\"\n [@BorderButtonAnimation]\n ></s-border-button>\n\n <div\n [id]=\"id + '-main-container'\"\n class=\"main-container\"\n #contentContainer\n [ngClass]=\"{\n 'with-hidden-fields': fields.length > maxVisibleFields,\n 'with-visible-fields': fields.length && maxVisibleFields,\n 'main-container--severity-default': severity === EnumSeverity.Default,\n 'main-container--severity-info': severity === EnumSeverity.Info,\n 'main-container--severity-warn': severity === EnumSeverity.Warn,\n 'main-container--severity-error': severity === EnumSeverity.Error,\n 'main-container--severity-success': severity == EnumSeverity.Success\n }\"\n >\n <div class=\"object-content\">\n <div class=\"erp-object-card-main\" #cardMainContainer [style.min-width.px]=\"fieldsMinWidth\">\n <ng-content select=\"erp-object-card-main\"></ng-content>\n </div>\n\n <div class=\"divider\" *ngIf=\"maxVisibleFields && fields.length\"></div>\n\n <div *ngFor=\"let field of (fields.toArray() | slice: 0:maxVisibleFields)\"\n class=\"erp-object-card-field\"\n [style.min-width.px]=\"fieldsMinWidth\">\n\n <ng-container *ngTemplateOutlet=\"field.content\"></ng-container>\n </div>\n </div>\n\n <button\n #iconContainer\n [id]=\"id + '-expand-icon-container'\"\n class=\"expand-icon-container\"\n (click)=\"toggle()\"\n [pTooltip]=\"expanded ? collapseTooltip : expandTooltip\"\n [attr.aria-label]=\"expanded ? collapseTooltip : expandTooltip\"\n title=\"Expandir/Recolher\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n type=\"button\"\n >\n <span\n [id]=\"id + '-expand-icon'\"\n class=\"expand-icon fa\"\n [ngClass]=\"{ 'fa-minus': expanded, 'fa-plus': !expanded }\"\n ></span>\n </button>\n </div>\n\n <div\n [id]=\"id + '-expandable-container'\"\n [@expandableContent]=\"expanded\"\n class=\"expandable-container\"\n [ngClass]=\"{\n 'expandable-container--severity-default':\n severity === EnumSeverity.Default,\n 'expandable-container--severity-info': severity === EnumSeverity.Info,\n 'expandable-container--severity-warn': severity === EnumSeverity.Warn,\n 'expandable-container--severity-error': severity === EnumSeverity.Error,\n 'expandable-container--severity-success':\n severity == EnumSeverity.Success\n }\"\n >\n <div class=\"childlist\">\n <ng-container\n *ngFor=\"\n let field of fields.toArray()\n | slice : maxVisibleFields : fields.length\n \"\n >\n <div class=\"erp-object-card-field\" [style.min-width.px]=\"fieldsMinWidth\">\n <ng-container\n *ngTemplateOutlet=\"field.content\"\n ></ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n",
8017
+ animations: [
8018
+ trigger("expandableContent", [
8019
+ state("*", style({
8020
+ height: "0",
8021
+ })),
8022
+ state("false", style({
8023
+ height: "0",
8024
+ })),
8025
+ state("true", style({
8026
+ height: "*",
8027
+ })),
8028
+ transition("* => true", animate("200ms ease-out")),
8029
+ transition("false <=> true", animate("200ms ease-out")),
8030
+ ]),
8031
+ trigger("BorderButtonAnimation", [
8032
+ transition(":enter", [
8033
+ style({ transform: "scaleY(0)", opacity: 0 }),
8034
+ animate("300ms ease", style({ transform: "scaleY(1)", opacity: 1 })),
8035
+ ]),
8036
+ transition(":leave", [
8037
+ style({ transform: "scaleY(1)", opacity: 1 }),
8038
+ animate("300ms ease", style({ transform: "scaleY(0)", opacity: 0 })),
8039
+ ]),
8040
+ ]),
8041
+ ],
8042
+ styles: [":host{display:block}:host::ng-deep .sds-badge{height:auto;white-space:normal}.container{margin-bottom:20px;position:relative}.main-container{display:-ms-flexbox;display:flex}.expandable-container,.main-container{background-color:#fff;border:1px solid #ccc;position:relative;overflow:hidden;width:100%}.expandable-container--severity-default{border-color:#ccc;border-top:initial}.expandable-container--severity-info{transition:border-color .5s;border-color:#428bca;border-top:initial}.expandable-container--severity-warn{transition:border-color .5s;border-color:#f8931f;border-top:initial}.expandable-container--severity-error{transition:border-color .5s;border-color:#c13018;border-top:initial}.expandable-container--severity-success{transition:border-color .5s;border-color:#0c9348;border-top:initial}.main-container--severity-default{border-color:#ccc}.main-container--severity-info{transition:border-color .5s;border-color:#428bca}.main-container--severity-warn{transition:border-color .5s;border-color:#f8931f}.main-container--severity-error{transition:border-color .5s;border-color:#c13018}.main-container--severity-success{transition:border-color .5s;border-color:#0c9348}.object-card__border-button{position:absolute;top:-13px;right:15px;z-index:1}.expandable-container{border-top:none;box-shadow:inset 0 6px 4px -4px #ddd;margin-top:-1px}.expand-icon-container{display:none;text-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;padding:12px;background:0 0;border:none;color:inherit}.expand-icon{-ms-flex:1;flex:1}.object-content{display:-ms-flexbox;display:flex;width:100%}.erp-object-card-main{overflow:hidden;padding:15px}.main-container.with-visible-fields .erp-object-card-main{max-width:30%}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.main-container.with-visible-fields .erp-object-card-main{width:20%}}.erp-object-card-field{overflow:hidden;height:100%}.main-container .erp-object-card-field{padding:15px}.main-container .divider{width:1px;-ms-flex-negative:0;flex-shrink:0;background-color:#ccc;margin:15px -1px 15px 0}.main-container.with-hidden-fields .object-content{width:calc(100% - 35px)}.main-container.with-hidden-fields .expand-icon-container{display:-ms-flexbox;display:flex}::ng-deep .object-card-button{padding-left:0!important;padding-right:10px!important;border:none!important;height:auto!important;min-width:auto!important;text-align:left!important}@media (max-width:767px){.erp-object-card-main{max-width:calc(100% - 50px)}}.childlist{width:100%;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:1em;gap:1em}"]
8043
+ })
8044
+ ], ObjectCardComponent);
8045
+
8046
+ let BorderButtonComponent = class BorderButtonComponent {
8047
+ constructor() {
8048
+ this.severity = EnumSeverity.Default;
8049
+ this.EnumSeverity = EnumSeverity;
8050
+ }
8051
+ };
8052
+ __decorate([
8053
+ Input()
8054
+ ], BorderButtonComponent.prototype, "severity", void 0);
8055
+ __decorate([
8056
+ Input()
8057
+ ], BorderButtonComponent.prototype, "options", void 0);
8058
+ BorderButtonComponent = __decorate([
8059
+ Component({
8060
+ selector: "s-border-button",
8061
+ template: "<button\n class=\"border-button\"\n [ngClass]=\"{\n 'border-button--severity-default': severity === EnumSeverity.Default,\n 'border-button--severity-info': severity === EnumSeverity.Info,\n 'border-button--severity-warn': severity === EnumSeverity.Warn,\n 'border-button--severity-error': severity === EnumSeverity.Error,\n 'border-button--severity-success': severity == EnumSeverity.Success,\n 'border-button--disabled': options?.disabled\n ? options?.disabled(severity)\n : false\n }\"\n (click)=\"options?.onClick ? options?.onClick(severity) : null\"\n [pTooltip]=\"options?.tooltip ? options?.tooltip(severity) : null\"\n tooltipPosition=\"left\"\n [disabled]=\"options?.disabled ? options?.disabled(severity) : false\"\n>\n <span class=\"border-button__label\">\n {{ options?.label ? options?.label(severity) : null }}\n </span>\n <span\n *ngIf=\"options?.icon ? options?.icon(severity) : false\"\n class=\"border-button__icon {{ options?.icon(severity) }}\"\n ></span>\n</button>\n",
8062
+ styles: [".border-button{padding:0 8px;border:1px solid;border-radius:12px;height:23px;max-width:320px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;cursor:pointer}.border-button__label{font-family:Open Sans,sans-serif;font-size:12px;line-height:150%;width:100%;display:block;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border-button__icon{font-size:12px;color:#333;margin-left:8px}.border-button--severity-default{border-color:#ccc;background-color:#fff}.border-button--severity-info{border-color:#428bca;background-color:#d5e8ec;transition:background-color .5s,border-color .5s}.border-button--severity-info:enabled:hover{background-color:#9ecad4;cursor:pointer}.border-button--severity-info:enabled:active{transition:none;background-color:#67acbc;border-color:#67acbc}.border-button--severity-warn{border-color:#f8931f;background-color:#fce3ba;transition:background-color .5s,border-color .5s}.border-button--severity-warn:enabled:hover{background-color:#f8bf5e;cursor:pointer}.border-button--severity-warn:enabled:active{transition:none;background-color:#f5a319;border-color:#f5a319}.border-button--severity-error{border-color:#c13018;background-color:#fcd2d2;transition:background-color .5s,border-color .5s}.border-button--severity-error:enabled:hover{background-color:#f89696;cursor:pointer}.border-button--severity-error:enabled:active{transition:none;background-color:#f45b5b;border-color:#f45b5b}.border-button--severity-success{border-color:#0c9348;background-color:#e6ffb3;transition:background-color .5s,border-color .5s}.border-button--severity-success:enabled:hover{background-color:#c8ff5c;cursor:pointer}.border-button--severity-success:enabled:active{transition:none;background-color:#ade500;border-color:#ade500}.border-button--disabled:disabled:hover{cursor:default}"]
8063
+ })
8064
+ ], BorderButtonComponent);
8065
+
8066
+ let BorderButtonModule = class BorderButtonModule {
8067
+ };
8068
+ BorderButtonModule = __decorate([
8069
+ NgModule({
8070
+ imports: [CommonModule, TooltipModule],
8071
+ declarations: [BorderButtonComponent],
8072
+ exports: [BorderButtonComponent]
8073
+ })
8074
+ ], BorderButtonModule);
8075
+
8076
+ let ErpObjectCardModule = class ErpObjectCardModule {
8077
+ };
8078
+ ErpObjectCardModule = __decorate([
8079
+ NgModule({
8080
+ imports: [CommonModule, TooltipModule, DialogModule, ThumbnailModule, ButtonModule, LoadingStateModule, BorderButtonModule],
8081
+ declarations: [ObjectCardComponent, ObjectCardMainComponent, ObjectCardFieldComponent],
8082
+ exports: [ThumbnailModule, ObjectCardComponent, ObjectCardMainComponent, ObjectCardFieldComponent],
8083
+ })
8084
+ ], ErpObjectCardModule);
8085
+
8086
+ class StorageService {
8087
+ constructor() {
8088
+ this.GET_USER_ID = user.getUserData().then(user => user.id);
8089
+ }
8090
+ store(key, value) {
8091
+ return __awaiter(this, void 0, void 0, function* () {
8092
+ localStorage.setItem(`${yield this.GET_USER_ID}_${key}`, JSON.stringify(value));
8093
+ });
8094
+ }
8095
+ get(key) {
8096
+ return __awaiter(this, void 0, void 0, function* () {
8097
+ return JSON.parse(localStorage.getItem(`${yield this.GET_USER_ID}_${key}`)) || {};
8098
+ });
8099
+ }
8100
+ }
8101
+
8102
+ const moment$1 = moment$2; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670
8103
+ class FiltersStorageService extends StorageService {
8104
+ constructor() {
8105
+ super(...arguments);
8106
+ this.FILTERS_KEY = "SENIOR_FILTERS";
8107
+ }
8108
+ storeFilters(key, filters) {
8109
+ const _super = Object.create(null, {
8110
+ get: { get: () => super.get },
8111
+ store: { get: () => super.store }
8112
+ });
8113
+ return __awaiter(this, void 0, void 0, function* () {
8114
+ const store = (yield _super.get.call(this, this.FILTERS_KEY)) || {};
8115
+ this.removeEmptyValues(filters);
8116
+ store[key] = filters;
8117
+ yield _super.store.call(this, this.FILTERS_KEY, store);
8118
+ });
8119
+ }
8120
+ getFilters(key) {
8121
+ const _super = Object.create(null, {
8122
+ get: { get: () => super.get }
8123
+ });
8124
+ return __awaiter(this, void 0, void 0, function* () {
8125
+ const store = (yield _super.get.call(this, this.FILTERS_KEY)) || {};
8126
+ return store[key] || {};
8127
+ });
8128
+ }
8129
+ removeFilter(key) {
8130
+ const _super = Object.create(null, {
8131
+ get: { get: () => super.get },
8132
+ store: { get: () => super.store }
8133
+ });
8134
+ return __awaiter(this, void 0, void 0, function* () {
8135
+ const store = (yield _super.get.call(this, this.FILTERS_KEY)) || {};
8136
+ delete store[key];
8137
+ yield _super.store.call(this, this.FILTERS_KEY, store);
8138
+ });
8139
+ }
8140
+ clearFilterValue(key, filters) {
8141
+ return __awaiter(this, void 0, void 0, function* () {
8142
+ yield this.storeFilters(key, filters);
8143
+ });
8144
+ }
8145
+ removeEmptyValues(filters) {
8146
+ Object.keys(filters).forEach((field) => {
8147
+ if (this.isInvalid(filters[field])) {
8148
+ delete filters[field];
8149
+ }
8150
+ });
8151
+ }
8152
+ isInvalid(field) {
8153
+ if (field === null || field === undefined) {
8154
+ return true;
8155
+ }
8156
+ if (Array.isArray(field)) {
8157
+ return field.length === 0;
8158
+ }
8159
+ if (typeof field === "string") {
8160
+ return field.trim() === "";
8161
+ }
8162
+ if (typeof field === "object") {
8163
+ return Object.keys(field).length === 0;
8164
+ }
8165
+ return false;
8166
+ }
8167
+ removeInvalidValues(values, fields) {
8168
+ if (!values) {
8169
+ return {};
8170
+ }
8171
+ Object.keys(values).forEach(fieldValue => {
8172
+ const field = fields.find((it) => it.name == fieldValue);
8173
+ if (field) {
8174
+ const val = values[fieldValue];
8175
+ if (!val)
8176
+ return;
8177
+ switch (field.type) {
8178
+ case FieldType.Integer:
8179
+ case FieldType.Double:
8180
+ case FieldType.Money:
8181
+ if (typeof val !== "number")
8182
+ delete values[fieldValue];
8183
+ break;
8184
+ case FieldType.Boolean:
8185
+ if (typeof val !== "boolean")
8186
+ delete values[fieldValue];
8187
+ break;
8188
+ case FieldType.Date:
8189
+ case FieldType.DateTime:
8190
+ case FieldType.Time:
8191
+ if (!moment$1(val, moment$1.ISO_8601, true).isValid())
8192
+ delete values[fieldValue];
8193
+ break;
8194
+ case FieldType.String:
8195
+ case FieldType.Text:
8196
+ if (typeof val !== "string")
8197
+ delete values[fieldValue];
8198
+ break;
8199
+ case FieldType.Lookup:
8200
+ case FieldType.Autocomplete:
8201
+ if (field.multiple) {
8202
+ if (!(Array.isArray(val) && val.length))
8203
+ delete values[fieldValue];
8204
+ }
8205
+ else {
8206
+ if (!(val instanceof Object))
8207
+ delete values[fieldValue];
8208
+ }
8209
+ break;
8210
+ case FieldType.Enum:
8211
+ if (field.multiple && !(Array.isArray(val) && val.length)) {
8212
+ delete values[fieldValue];
8213
+ }
8214
+ break;
8215
+ case FieldType.Chips:
8216
+ if (!(Array.isArray(val) && val.length)) {
8217
+ delete values[fieldValue];
8218
+ }
8219
+ break;
8220
+ default:
8221
+ break;
8222
+ }
8223
+ }
8224
+ });
8225
+ return values;
8226
+ }
8227
+ }
8228
+
8229
+ let ErpPolling =
8230
+ /**
8231
+ * Erp Polling
8232
+ * @class ErpPolling
8233
+ */
8234
+ class ErpPolling {
8235
+ /**
8236
+ * Criação de um polling.
8237
+ * @typeParam `<T>` Tipo do objeto que o retorno do `observable` vai devolver.
8238
+ * @param takeWhileFn Função com retorno booleano, condição para a conclusão do polling, se falso conclui o polling.
8239
+ * @param calling Função com retorno `Observable<T>`, será a chamada feita pelo polling a cada X ms.
8240
+ * @param intervalMs Valor em ms que determina o intervalo das chamadas do polling.
8241
+ * @return Um `observable` com repetição cíclica a cada X ms _(`interval` informado nos parâmetros de entrada)_
8242
+ */
8243
+ pollingMount(takeWhileFn, calling, intervalMs = 29000) {
8244
+ return interval(intervalMs)
8245
+ .pipe(takeWhile(takeWhileFn), switchMap(calling));
8246
+ }
8247
+ };
8248
+ ErpPolling = __decorate([
8249
+ Injectable()
8250
+ /**
8251
+ * Erp Polling
8252
+ * @class ErpPolling
8253
+ */
8254
+ ], ErpPolling);
8255
+
7686
8256
  // https://widget.tracksale.co/
7687
8257
  let NpsService = class NpsService {
7688
8258
  getUserInformation() {
@@ -8327,5 +8897,5 @@ var ModulesEnum;
8327
8897
  * Generated bundle index. Do not edit.
8328
8898
  */
8329
8899
 
8330
- export { AgreementLookup, BankLookup, BeneficioFiscalLookup, BreadcrumbComponent, BreadcrumbModule, Breakpoints, CaracteristicaFiscalLookup, ClassificacaoTributariaLookup, ComposicaoBaseCalculoLookup, ContaInternaFilialLookup, CountryLookup, CplTriNotaSaidaE001EndLookup, CplTriNotaSaidaE001PesLookup, CplTriNotaSaidaE001TnsLookup, CplTriNotaSaidaE007UfsLookup, CplTriNotaSaidaE008RaiLookup, CplTriNotaSaidaE015MedLookup, CplTriNotaSaidaE020SnfLookup, CplTriNotaSaidaE024MsgLookup, CplTriNotaSaidaE028CpgLookup, CplTriNotaSaidaE032EdcLookup, CplTriNotaSaidaE051DisLookup, CplTriNotaSaidaE066FpgLookup, CplTriNotaSaidaE070EmpLookup, CplTriNotaSaidaE070FilLookup, CplTriNotaSaidaE075DerLookup, CplTriNotaSaidaE080SerLookup, CplTriNotaSaidaNaturezaReceitaPisCofinsLookup, CplTriNotaSaidaNcmLookup, CplTriNotaSaidaNfEntradaLookup, CplTriNotaSaidaNfSaidaLookup, CurrencyLookup, DfeEventoLookup, DocumentoLookup, E001EndLookup, E001PesLookup, E001TnsLookup, E001TnsSupEstLookup, E002TptLookup, E006PaiLookup, E007UfsLookup, E008CepLookup, E008RaiLookup, E012FamLookup, E015MedLookup, E020SnfLookup, E021MotLookup, E023CrpLookup, E024MsgLookup, E027EqiLookup, E027StrLookup, E028CpgLookup, E030AgeLookup, E030BanLookup, E031MoeLookup, E032EdcLookup, E034TccLookup, E035OcrLookup, E036InsLookup, E039PorLookup, E041CebLookup, E043MpcLookup, E043PcmLookup, E044CcuLookup, E045PlaLookup, E046HpdLookup, E047NtgLookup, E048FctLookup, E048SfcLookup, E051DisLookup, E066FpgLookup, E067FinLookup, E069GreLookup, E070EmpLookup, E070EntLookup, E070FilLookup, E073PesLookup, E073VeiLookup, E075DerLookup, E076MarLookup, E080SerLookup, E081TabLookup, E082TprLookup, E085PesLookup, E089DocLookup, E090HrpComGerLookup, E090PesLookup, E091PlfLookup, E095HfoSupGerLookup, E095PesLookup, E099UsuComGerLookup, E099UsuSupCprLookup, E140InsLookup, E140NfsLookup, E200LotLookup, E200SerLookup, E205DepLookup, E210DxpE075DerLookup, E210DxpLookup, E301TcrLookup, E403FprLookup, E420IcpLookup, E420IpcLookup, E420OcpLookup, E501TcpLookup, E600CcoLookup, E640LotLookup, EntityPersonProductLookup, EnumLogicalOperator, EquipmentLookup, ErpLookups, ErpLookupsFormField, ErpLookupsModule, ErpLookupsService, ErpPolling, ExportUtils, FiltersStorageService, FormUtilsService, HTTP_STATUS_CODE, IndOperacaoFornecimentoLookup, LeiComplementar1162003Lookup, LigacaoItemFornecedorLookup, ListaServicoNacionalLookup, LookupValidationUtils, ModulesEnum, NbsLookup, NcmLookup, NotaFiscalEntradaLookup, NpsService, OperacoesLookup, OrigemDestinoLookup, OrigemMercadoriaLookup, ParametersLookup, PrimitiveManager, ProdutoServicoLookup, QuantidadeDisponivelDemandaLookup, RequisicaoLookup, SegmentoLookup, TypeTaxesLookup, UnidadeMedidaLookup, UtilsModule, VerifyModulePermission, VerifyModulePermissions, WebsocketService, naturezaReceitaPisCofins, ɵ0, ɵ1, ɵ2, EnumAnaSin as ɵa, EnumNatCtb as ɵb, StorageService as ɵc, UserInformationService as ɵd, VerifyModulePermissionService as ɵe, VerifyModulePermissionsService as ɵf };
8900
+ export { AgreementLookup, BankLookup, BeneficioFiscalLookup, BreadcrumbComponent, BreadcrumbModule, Breakpoints, CaracteristicaFiscalLookup, ClassificacaoTributariaLookup, ComposicaoBaseCalculoLookup, ContaInternaFilialLookup, CountryLookup, CplTriNotaSaidaE001EndLookup, CplTriNotaSaidaE001PesLookup, CplTriNotaSaidaE001TnsLookup, CplTriNotaSaidaE007UfsLookup, CplTriNotaSaidaE008RaiLookup, CplTriNotaSaidaE015MedLookup, CplTriNotaSaidaE020SnfLookup, CplTriNotaSaidaE024MsgLookup, CplTriNotaSaidaE028CpgLookup, CplTriNotaSaidaE032EdcLookup, CplTriNotaSaidaE051DisLookup, CplTriNotaSaidaE066FpgLookup, CplTriNotaSaidaE070EmpLookup, CplTriNotaSaidaE070FilLookup, CplTriNotaSaidaE075DerLookup, CplTriNotaSaidaE080SerLookup, CplTriNotaSaidaNaturezaReceitaPisCofinsLookup, CplTriNotaSaidaNcmLookup, CplTriNotaSaidaNfEntradaLookup, CplTriNotaSaidaNfSaidaLookup, CurrencyLookup, DfeEventoLookup, DocumentoLookup, E001EndLookup, E001PesLookup, E001TnsLookup, E001TnsSupEstLookup, E002TptLookup, E006PaiLookup, E007UfsLookup, E008CepLookup, E008RaiLookup, E012FamLookup, E015MedLookup, E020SnfLookup, E021MotLookup, E023CrpLookup, E024MsgLookup, E027EqiLookup, E027StrLookup, E028CpgLookup, E030AgeLookup, E030BanLookup, E031MoeLookup, E032EdcLookup, E034TccLookup, E035OcrLookup, E036InsLookup, E039PorLookup, E041CebLookup, E043MpcLookup, E043PcmLookup, E044CcuLookup, E045PlaLookup, E046HpdLookup, E047NtgLookup, E048FctLookup, E048SfcLookup, E051DisLookup, E066FpgLookup, E067FinLookup, E069GreLookup, E070EmpLookup, E070EntLookup, E070FilLookup, E073PesLookup, E073VeiLookup, E075DerLookup, E076MarLookup, E080SerLookup, E081TabLookup, E082TprLookup, E085PesLookup, E089DocLookup, E090HrpComGerLookup, E090PesLookup, E091PlfLookup, E095HfoSupGerLookup, E095PesLookup, E099UsuComGerLookup, E099UsuSupCprLookup, E140InsLookup, E140NfsLookup, E200LotLookup, E200SerLookup, E205DepLookup, E210DxpE075DerLookup, E210DxpLookup, E301TcrLookup, E403FprLookup, E420IcpLookup, E420IpcLookup, E420OcpLookup, E501TcpLookup, E600CcoLookup, E640LotLookup, EntityPersonProductLookup, EnumLogicalOperator, EquipmentLookup, ErpLookups, ErpLookupsFormField, ErpLookupsModule, ErpLookupsService, ErpObjectCardModule, ErpPolling, ExportUtils, FiltersStorageService, FormUtilsService, HTTP_STATUS_CODE, IndOperacaoFornecimentoLookup, LeiComplementar1162003Lookup, LigacaoItemFornecedorLookup, ListaServicoNacionalLookup, LookupValidationUtils, ModulesEnum, NbsLookup, NcmLookup, NotaFiscalEntradaLookup, NpsService, ObjectCardComponent, ObjectCardFieldComponent, ObjectCardMainComponent, OperacoesLookup, OrigemDestinoLookup, OrigemMercadoriaLookup, ParametersLookup, PrimitiveManager, ProdutoServicoLookup, QuantidadeDisponivelDemandaLookup, RequisicaoLookup, SegmentoLookup, ThumbnailComponent, ThumbnailModule, ThumbnailSize, TypeTaxesLookup, UnidadeMedidaLookup, UtilsModule, VerifyModulePermission, VerifyModulePermissions, WebsocketService, naturezaReceitaPisCofins, ɵ0, ɵ1, ɵ2, EnumAnaSin as ɵa, EnumNatCtb as ɵb, ThumbnailService as ɵc, BorderButtonModule as ɵd, BorderButtonComponent as ɵe, StorageService as ɵf, UserInformationService as ɵg, VerifyModulePermissionService as ɵh, VerifyModulePermissionsService as ɵi };
8331
8901
  //# sourceMappingURL=senior-gestao-empresarial-angular-components.js.map