@softpak/components 0.1.8-beta.15 → 0.1.8-beta.16

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.
@@ -6,8 +6,17 @@ import { SpxInputComponent, SpxInputTypeEnum } from '@softpak/components/spx-inp
6
6
  import { SpxFormButtonTypeEnum, SpxFormViewComponent } from '@softpak/components/spx-form-view';
7
7
  import { SpxButtonComponent } from '@softpak/components/spx-button';
8
8
  import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
9
+ import { SpxPaginationComponent } from '@softpak/components/spx-pagination';
10
+ import { SpxAlertComponent } from '@softpak/components/spx-alert';
11
+ import { SpxCardComponent, SpxCardLineComponent } from '@softpak/components/spx-card';
12
+ import { TranslateModule } from '@ngx-translate/core';
13
+ import { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';
14
+ import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
9
15
  import * as i0 from "@angular/core";
10
16
  import * as i1 from "@angular/forms";
17
+ import * as i2 from "@angular/common";
18
+ import * as i3 from "@fortawesome/angular-fontawesome";
19
+ import * as i4 from "@ngx-translate/core";
11
20
  export const ctrlCategory = 'ctrlCategory';
12
21
  export const ctrlContainerStatus = 'ctrlContainerStatus';
13
22
  export const ctrlContainerType = 'ctrlContainerType';
@@ -31,11 +40,14 @@ export class SpxStockInfoComponent {
31
40
  this.spxBlurContainerStatus = new EventEmitter();
32
41
  this.spxBlurContainerType = new EventEmitter();
33
42
  this.spxBlurCustomer = new EventEmitter();
43
+ this.spxClickContainer = new EventEmitter();
44
+ this.spxPageChange = new EventEmitter();
34
45
  this.spxSearchCategory = new EventEmitter();
35
46
  this.spxSearchContainerType = new EventEmitter();
36
47
  this.spxSearchContainerStatus = new EventEmitter();
37
48
  this.spxSearchCustomer = new EventEmitter();
38
49
  this.spxSubmit = new EventEmitter();
50
+ this.severityInfo = SpxSeverityEnum.info;
39
51
  this.form = {
40
52
  buttons: [
41
53
  {
@@ -175,6 +187,12 @@ export class SpxStockInfoComponent {
175
187
  this.spxSearchCustomer.emit(data.valuePair);
176
188
  }
177
189
  }
190
+ onPageChange(page) {
191
+ this.spxPageChange.emit(page);
192
+ }
193
+ goToContainer(container) {
194
+ this.spxClickContainer.emit(container);
195
+ }
178
196
  onSubmit() {
179
197
  this.spxSubmit.emit({
180
198
  ctrlCategory: this.ctrlCategory.value,
@@ -186,43 +204,78 @@ export class SpxStockInfoComponent {
186
204
  });
187
205
  }
188
206
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxStockInfoComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
189
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpxStockInfoComponent, isStandalone: true, selector: "spx-stock-info", inputs: { formGroup: "formGroup", containers: "containers", depot: "depot", suggestions: "suggestions", textLocation: "textLocation", textDepot: "textDepot", textCustomer: "textCustomer", textContainerInfo: "textContainerInfo", textCategory: "textCategory", textContainerStatus: "textContainerStatus", textContainerType: "textContainerType", textSearch: "textSearch" }, outputs: { spxBlurCategory: "spxBlurCategory", spxBlurContainerStatus: "spxBlurContainerStatus", spxBlurContainerType: "spxBlurContainerType", spxBlurCustomer: "spxBlurCustomer", spxSearchCategory: "spxSearchCategory", spxSearchContainerType: "spxSearchContainerType", spxSearchContainerStatus: "spxSearchContainerStatus", spxSearchCustomer: "spxSearchCustomer", spxSubmit: "spxSubmit" }, ngImport: i0, template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxForm]=\"form\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n</form>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxForm", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }] }); }
207
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpxStockInfoComponent, isStandalone: true, selector: "spx-stock-info", inputs: { containers: "containers", currentPage: "currentPage", depot: "depot", faArrowLeft: "faArrowLeft", faArrowRight: "faArrowRight", faContainerStorage: "faContainerStorage", formGroup: "formGroup", loaded: "loaded", pageSize: "pageSize", suggestions: "suggestions", textCategory: "textCategory", textContainerInfo: "textContainerInfo", textContainerStatus: "textContainerStatus", textContainerType: "textContainerType", textCustomer: "textCustomer", textDepot: "textDepot", textLocation: "textLocation", textNext: "textNext", textPage: "textPage", textPrevious: "textPrevious", textSearch: "textSearch", txtNoResults: "txtNoResults", txtYouCanChangeYourFilters: "txtYouCanChangeYourFilters", txtType: "txtType", txtContainerCategory: "txtContainerCategory", txtLocation: "txtLocation" }, outputs: { spxBlurCategory: "spxBlurCategory", spxBlurContainerStatus: "spxBlurContainerStatus", spxBlurContainerType: "spxBlurContainerType", spxBlurCustomer: "spxBlurCustomer", spxClickContainer: "spxClickContainer", spxPageChange: "spxPageChange", spxSearchCategory: "spxSearchCategory", spxSearchContainerType: "spxSearchContainerType", spxSearchContainerStatus: "spxSearchContainerStatus", spxSearchCustomer: "spxSearchCustomer", spxSubmit: "spxSubmit" }, ngImport: i0, template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxForm]=\"form\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n</form>\n\n<div class=\"flex flex-col gap-3\" *ngIf=\"loaded\">\n <spx-pagination\n *ngIf=\"containers.length > 0\"\n [spxPage]=\"currentPage\"\n [spxMaxPages]=\"(containers.length < (pageSize + 1)) ? (currentPage + 1) : currentPage\"\n [faArrowLeft]=\"faArrowLeft\"\n [faArrowRight]=\"faArrowRight\"\n [textPage]=\"textPage\"\n [textPrevious]=\"textPrevious\"\n [textNext]=\"textNext\"\n (spxPageChange)=\"onPageChange($event)\">\n </spx-pagination>\n\n <spx-alert *ngIf=\"containers.length === 0\" [spxSeverity]=\"severityInfo\" [spxTitle]=\"txtNoResults | translate | capitalize\">\n {{ txtYouCanChangeYourFilters | translate | capitalize }}\n </spx-alert>\n\n <ng-container *ngFor=\"let container of containers; let i = index;\">\n <spx-card *ngIf=\"i < pageSize\" [hasContent]=\"false\" (clicked)=\"goToContainer(container)\">\n <div card-header class=\"card-header rounded-t-lg p-3 bg-sky-200\">\n <div class=\"flex flex-row space-x-3 items-center w-full\">\n <div\n class=\"card-header-icon-left flex basis-10 py-1.5 shrink-0 grow-0 place-items-center rounded bg-sky-400\">\n <fa-icon class=\"mx-auto\" [icon]=\"faContainerStorage\"></fa-icon>\n </div>\n \n <div class=\"card-header-text-middle grow\">\n <div class=\"block font-medium text-large\">{{ container.formatted.containerNumber }}</div>\n </div>\n \n <div\n class=\"card-header-icons-right text-sm text-gray-900 leading-5 flex flex-wrap items-stretch text-center font-bold\">\n <div *ngIf=\"container.containerStatus\" class=\"min-w-[36px] px-2 py-1 bg-white text-black\"> {{\n container.formatted.containerStatus }}</div>\n </div>\n </div>\n </div>\n <div card-lines class=\"grid grid-cols-2 gap-2\">\n <spx-card-line [text]=\"txtType | translate | capitalize\"\n [value]=\"container.formatted.containerType\"></spx-card-line>\n <spx-card-line [text]=\"txtContainerCategory | translate | capitalize\"\n [value]=\"container.formatted.category\"></spx-card-line>\n <spx-card-line [text]=\"txtLocation | translate | capitalize\"\n [value]=\"container.formatted.location\"></spx-card-line>\n </div>\n </spx-card>\n </ng-container>\n\n <spx-pagination\n *ngIf=\"containers.length > 0\"\n [spxPage]=\"currentPage\"\n [spxMaxPages]=\"(containers.length < (pageSize + 1)) ? (currentPage + 1) : currentPage\"\n [faArrowLeft]=\"faArrowLeft\"\n [faArrowRight]=\"faArrowRight\"\n [textPage]=\"textPage\"\n [textPrevious]=\"textPrevious\"\n [textNext]=\"textNext\"\n (spxPageChange)=\"onPageChange($event)\">\n </spx-pagination>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: SpxAlertComponent, selector: "spx-alert", inputs: ["spxAutoclose", "spxCloseable", "spxHideTitle", "spxTitle", "spxMarginTop", "spxSeverity", "tick"], outputs: ["spxClose"] }, { kind: "pipe", type: SpxCapitalizePipe, name: "capitalize" }, { kind: "component", type: SpxCardComponent, selector: "spx-card", inputs: ["clickable", "hasContent", "onDetailPage", "text", "unit", "tableView"], outputs: ["clicked"] }, { kind: "component", type: SpxCardLineComponent, selector: "spx-card-line", inputs: ["icon", "showPositiveOrNegative", "text", "value", "secondValue", "showProgress", "unit", "newOrderScreen"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxForm", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }, { kind: "component", type: SpxPaginationComponent, selector: "spx-pagination", inputs: ["faArrowLeft", "faArrowRight", "spxPage", "spxMaxPages", "textNext", "textPage", "textPrevious"], outputs: ["spxPageChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
190
208
  }
191
209
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxStockInfoComponent, decorators: [{
192
210
  type: Component,
193
211
  args: [{ selector: 'spx-stock-info', standalone: true, imports: [
194
212
  CommonModule,
195
213
  FormsModule,
214
+ FontAwesomeModule,
196
215
  ReactiveFormsModule,
216
+ SpxAlertComponent,
197
217
  SpxButtonComponent,
218
+ SpxCapitalizePipe,
219
+ SpxCardComponent,
220
+ SpxCardLineComponent,
198
221
  SpxFormViewComponent,
199
222
  SpxInputComponent,
223
+ SpxPaginationComponent,
200
224
  SpxValidateControlComponent,
201
- ], template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxForm]=\"form\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n</form>" }]
202
- }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { formGroup: [{
225
+ TranslateModule,
226
+ ], template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxForm]=\"form\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n</form>\n\n<div class=\"flex flex-col gap-3\" *ngIf=\"loaded\">\n <spx-pagination\n *ngIf=\"containers.length > 0\"\n [spxPage]=\"currentPage\"\n [spxMaxPages]=\"(containers.length < (pageSize + 1)) ? (currentPage + 1) : currentPage\"\n [faArrowLeft]=\"faArrowLeft\"\n [faArrowRight]=\"faArrowRight\"\n [textPage]=\"textPage\"\n [textPrevious]=\"textPrevious\"\n [textNext]=\"textNext\"\n (spxPageChange)=\"onPageChange($event)\">\n </spx-pagination>\n\n <spx-alert *ngIf=\"containers.length === 0\" [spxSeverity]=\"severityInfo\" [spxTitle]=\"txtNoResults | translate | capitalize\">\n {{ txtYouCanChangeYourFilters | translate | capitalize }}\n </spx-alert>\n\n <ng-container *ngFor=\"let container of containers; let i = index;\">\n <spx-card *ngIf=\"i < pageSize\" [hasContent]=\"false\" (clicked)=\"goToContainer(container)\">\n <div card-header class=\"card-header rounded-t-lg p-3 bg-sky-200\">\n <div class=\"flex flex-row space-x-3 items-center w-full\">\n <div\n class=\"card-header-icon-left flex basis-10 py-1.5 shrink-0 grow-0 place-items-center rounded bg-sky-400\">\n <fa-icon class=\"mx-auto\" [icon]=\"faContainerStorage\"></fa-icon>\n </div>\n \n <div class=\"card-header-text-middle grow\">\n <div class=\"block font-medium text-large\">{{ container.formatted.containerNumber }}</div>\n </div>\n \n <div\n class=\"card-header-icons-right text-sm text-gray-900 leading-5 flex flex-wrap items-stretch text-center font-bold\">\n <div *ngIf=\"container.containerStatus\" class=\"min-w-[36px] px-2 py-1 bg-white text-black\"> {{\n container.formatted.containerStatus }}</div>\n </div>\n </div>\n </div>\n <div card-lines class=\"grid grid-cols-2 gap-2\">\n <spx-card-line [text]=\"txtType | translate | capitalize\"\n [value]=\"container.formatted.containerType\"></spx-card-line>\n <spx-card-line [text]=\"txtContainerCategory | translate | capitalize\"\n [value]=\"container.formatted.category\"></spx-card-line>\n <spx-card-line [text]=\"txtLocation | translate | capitalize\"\n [value]=\"container.formatted.location\"></spx-card-line>\n </div>\n </spx-card>\n </ng-container>\n\n <spx-pagination\n *ngIf=\"containers.length > 0\"\n [spxPage]=\"currentPage\"\n [spxMaxPages]=\"(containers.length < (pageSize + 1)) ? (currentPage + 1) : currentPage\"\n [faArrowLeft]=\"faArrowLeft\"\n [faArrowRight]=\"faArrowRight\"\n [textPage]=\"textPage\"\n [textPrevious]=\"textPrevious\"\n [textNext]=\"textNext\"\n (spxPageChange)=\"onPageChange($event)\">\n </spx-pagination>\n</div>" }]
227
+ }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { containers: [{
203
228
  type: Input
204
- }], containers: [{
229
+ }], currentPage: [{
205
230
  type: Input
206
231
  }], depot: [{
207
232
  type: Input
208
- }], suggestions: [{
233
+ }], faArrowLeft: [{
209
234
  type: Input
210
- }], textLocation: [{
235
+ }], faArrowRight: [{
211
236
  type: Input
212
- }], textDepot: [{
237
+ }], faContainerStorage: [{
213
238
  type: Input
214
- }], textCustomer: [{
239
+ }], formGroup: [{
215
240
  type: Input
216
- }], textContainerInfo: [{
241
+ }], loaded: [{
242
+ type: Input
243
+ }], pageSize: [{
244
+ type: Input
245
+ }], suggestions: [{
217
246
  type: Input
218
247
  }], textCategory: [{
219
248
  type: Input
249
+ }], textContainerInfo: [{
250
+ type: Input
220
251
  }], textContainerStatus: [{
221
252
  type: Input
222
253
  }], textContainerType: [{
223
254
  type: Input
255
+ }], textCustomer: [{
256
+ type: Input
257
+ }], textDepot: [{
258
+ type: Input
259
+ }], textLocation: [{
260
+ type: Input
261
+ }], textNext: [{
262
+ type: Input
263
+ }], textPage: [{
264
+ type: Input
265
+ }], textPrevious: [{
266
+ type: Input
224
267
  }], textSearch: [{
225
268
  type: Input
269
+ }], txtNoResults: [{
270
+ type: Input
271
+ }], txtYouCanChangeYourFilters: [{
272
+ type: Input
273
+ }], txtType: [{
274
+ type: Input
275
+ }], txtContainerCategory: [{
276
+ type: Input
277
+ }], txtLocation: [{
278
+ type: Input
226
279
  }], spxBlurCategory: [{
227
280
  type: Output
228
281
  }], spxBlurContainerStatus: [{
@@ -231,6 +284,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
231
284
  type: Output
232
285
  }], spxBlurCustomer: [{
233
286
  type: Output
287
+ }], spxClickContainer: [{
288
+ type: Output
289
+ }], spxPageChange: [{
290
+ type: Output
234
291
  }], spxSearchCategory: [{
235
292
  type: Output
236
293
  }], spxSearchContainerType: [{
@@ -242,4 +299,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
242
299
  }], spxSubmit: [{
243
300
  type: Output
244
301
  }] } });
245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXN0b2NrLWluZm8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1zdG9jay1pbmZvL3NweC1zdG9jay1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtc3RvY2staW5mby9zcHgtc3RvY2staW5mby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBdUMsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBZ0IsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRyxPQUFPLEVBQUUscUJBQXFCLEVBQTJCLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFHbEUsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQztBQUMzQyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxxQkFBcUIsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDO0FBQzNDLE1BQU0sQ0FBQyxN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aUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyx3QkFBd0I7c0JBQWpDLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgc3B4VmFsaWRhdG9yUmVxdWlyZWQsIFNweFZhbGlkYXRlQ29udHJvbENvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LXZhbGlkYXRpb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNweElucHV0Q29tcG9uZW50LCBTcHhJbnB1dFR5cGVFbnVtLCBTcHhWYWx1ZVBhaXIgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMnO1xuaW1wb3J0IHsgU3B4Rm9ybUJ1dHRvblR5cGVFbnVtLCBTcHhGb3JtRmllbGRJLCBTcHhGb3JtSSwgU3B4Rm9ybVZpZXdDb21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1mb3JtLXZpZXcnO1xuaW1wb3J0IHsgU3B4QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtYnV0dG9uJztcbmltcG9ydCB7IFNweFNldmVyaXR5RW51bSB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWhlbHBlcnMnO1xuaW1wb3J0IHsgU3B4U3RvY2tJbmZvVmFsdWVJIH0gZnJvbSAnLi9zcHgtc3RvY2staW5mby12YWx1ZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgY3RybENhdGVnb3J5ID0gJ2N0cmxDYXRlZ29yeSc7XG5leHBvcnQgY29uc3QgY3RybENvbnRhaW5lclN0YXR1cyA9ICdjdHJsQ29udGFpbmVyU3RhdHVzJztcbmV4cG9ydCBjb25zdCBjdHJsQ29udGFpbmVyVHlwZSA9ICdjdHJsQ29udGFpbmVyVHlwZSc7XG5leHBvcnQgY29uc3QgY3RybEN1c3RvbWVyID0gJ2N0cmxDdXN0b21lcic7XG5leHBvcnQgY29uc3QgY3RybERlcG90ID0gJ2N0cmxEZXBvdCc7XG5leHBvcnQgY29uc3QgY3RybExvY2F0aW9uID0gJ2N0cmxMb2NhdGlvbic7XG5leHBvcnQgY29uc3Qgc2VjdGlvbkNvbnRhaW5lckluZm8gPSAnc2VjdGlvbkNvbnRhaW5lckluZm8nO1xuZXhwb3J0IGNvbnN0IHNlY3Rpb25DdXN0b21lciA9ICdzZWN0aW9uQ3VzdG9tZXInO1xuZXhwb3J0IGNvbnN0IHNlY3Rpb25Mb2NhdGlvbiA9ICdzZWN0aW9uTG9jYXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHgtc3RvY2staW5mbycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcHgtc3RvY2staW5mby5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBTcHhCdXR0b25Db21wb25lbnQsXG4gICAgU3B4Rm9ybVZpZXdDb21wb25lbnQsXG4gICAgU3B4SW5wdXRDb21wb25lbnQsXG4gICAgU3B4VmFsaWRhdGVDb250cm9sQ29tcG9uZW50LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNweFN0b2NrSW5mb0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgY29udGFpbmVycyE6IGFueVtdO1xuICBASW5wdXQoKSBkZXBvdCE6IHN0cmluZztcbiAgQElucHV0KCkgc3VnZ2VzdGlvbnM6IGFueSA9IHt9O1xuICBASW5wdXQoKSB0ZXh0TG9jYXRpb24hOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRleHREZXBvdCE6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dEN1c3RvbWVyITogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0Q29udGFpbmVySW5mbyE6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dENhdGVnb3J5ITogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0Q29udGFpbmVyU3RhdHVzITogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0Q29udGFpbmVyVHlwZSE6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dFNlYXJjaCE6IHN0cmluZztcbiAgQE91dHB1dCgpIHNweEJsdXJDYXRlZ29yeTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+KCk7XG4gIEBPdXRwdXQoKSBzcHhCbHVyQ29udGFpbmVyU3RhdHVzOiBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4oKTtcbiAgQE91dHB1dCgpIHNweEJsdXJDb250YWluZXJUeXBlOiBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4oKTtcbiAgQE91dHB1dCgpIHNweEJsdXJDdXN0b21lcjogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+KCk7XG4gIEBPdXRwdXQoKSBzcHhTZWFyY2hDYXRlZ29yeTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+KCk7XG4gIEBPdXRwdXQoKSBzcHhTZWFyY2hDb250YWluZXJUeXBlOiBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4oKTtcbiAgQE91dHB1dCgpIHNweFNlYXJjaENvbnRhaW5lclN0YXR1czogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+KCk7XG4gIEBPdXRwdXQoKSBzcHhTZWFyY2hDdXN0b21lcjogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+KCk7XG4gIEBPdXRwdXQoKSBzcHhTdWJtaXQ6IEV2ZW50RW1pdHRlcjxTcHhTdG9ja0luZm9WYWx1ZUk+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhTdG9ja0luZm9WYWx1ZUk+KCk7XG5cbiAgZm9ybTogU3B4Rm9ybUkgPSB7XG4gICAgYnV0dG9uczogW1xuICAgICAge1xuICAgICAgICBzZXZlcml0eTogU3B4U2V2ZXJpdHlFbnVtLnN1Y2Nlc3MsXG4gICAgICAgIHR5cGU6IFNweEZvcm1CdXR0b25UeXBlRW51bS5zdWJtaXQsXG4gICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnRleHRTZWFyY2gsXG4gICAgICB9XG4gICAgXSxcbiAgICBzZWN0aW9uczogW1xuICAgICAge1xuICAgICAgICBrZXk6IHNlY3Rpb25Mb2NhdGlvbixcbiAgICAgICAgc2hvdzogKCkgPT4gdHJ1ZSxcbiAgICAgICAgdGl0bGU6ICgpID0+IHRoaXMudGV4dExvY2F0aW9uLFxuICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IGN0cmxEZXBvdCxcbiAgICAgICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnRleHREZXBvdCxcbiAgICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0udGV4dCxcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogKCkgPT4gdGhpcy5kZXBvdCxcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IFtzcHhWYWxpZGF0b3JSZXF1aXJlZCgpXSxcbiAgICAgICAgICAgIHJlYWRvbmx5OiAoKSA9PiB0cnVlLFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnM6ICgpID0+IGZhbHNlLFxuICAgICAgICAgICAgYWZ0ZXJWYWx1ZUNoYW5nZTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgc2hvdzogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IGN0cmxMb2NhdGlvbixcbiAgICAgICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnRleHRMb2NhdGlvbixcbiAgICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0udGV4dCxcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogKCkgPT4gbnVsbCxcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IFtdLFxuICAgICAgICAgICAgcmVhZG9ubHk6ICgpID0+IGZhbHNlLFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnM6ICgpID0+IGZhbHNlLFxuICAgICAgICAgICAgYWZ0ZXJWYWx1ZUNoYW5nZTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgc2hvdzogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiBzZWN0aW9uQ3VzdG9tZXIsXG4gICAgICAgIHNob3c6ICgpID0+IHRydWUsXG4gICAgICAgIHRpdGxlOiAoKSA9PiB0aGlzLnRleHRDdXN0b21lcixcbiAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAga2V5OiBjdHJsQ3VzdG9tZXIsXG4gICAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50ZXh0Q3VzdG9tZXIsXG4gICAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLmF1dG9jb21wbGV0ZSxcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogKCkgPT4gbnVsbCxcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IFtdLFxuICAgICAgICAgICAgcmVhZG9ubHk6ICgpID0+IGZhbHNlLFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnM6ICgpID0+IHRydWUsXG4gICAgICAgICAgICBhZnRlclZhbHVlQ2hhbmdlOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBzaG93OiAoKSA9PiB0cnVlLFxuICAgICAgICAgICAgY2FwaXRhbGl6ZTogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6IHNlY3Rpb25Db250YWluZXJJbmZvLFxuICAgICAgICBzaG93OiAoKSA9PiB0cnVlLFxuICAgICAgICB0aXRsZTogKCkgPT4gdGhpcy50ZXh0Q29udGFpbmVySW5mbyxcbiAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAga2V5OiBjdHJsQ2F0ZWdvcnksXG4gICAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50ZXh0Q2F0ZWdvcnksXG4gICAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLmF1dG9jb21wbGV0ZSxcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogKCkgPT4gbnVsbCxcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IFtdLFxuICAgICAgICAgICAgcmVhZG9ubHk6ICgpID0+IGZhbHNlLFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnM6ICgpID0+IHRydWUsXG4gICAgICAgICAgICBhZnRlclZhbHVlQ2hhbmdlOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBzaG93OiAoKSA9PiB0cnVlLFxuICAgICAgICAgICAgY2FwaXRhbGl6ZTogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogY3RybENvbnRhaW5lclN0YXR1cyxcbiAgICAgICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnRleHRDb250YWluZXJTdGF0dXMsXG4gICAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLmF1dG9jb21wbGV0ZSxcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogKCkgPT4gbnVsbCxcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IFtdLFxuICAgICAgICAgICAgcmVhZG9ubHk6ICgpID0+IGZhbHNlLFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnM6ICgpID0+IHRydWUsXG4gICAgICAgICAgICBhZnRlclZhbHVlQ2hhbmdlOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBzaG93OiAoKSA9PiB0cnVlLFxuICAgICAgICAgICAgY2FwaXRhbGl6ZTogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogY3RybENvbnRhaW5lclR5cGUsXG4gICAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50ZXh0Q29udGFpbmVyVHlwZSxcbiAgICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0uYXV0b2NvbXBsZXRlLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAoKSA9PiBudWxsLFxuICAgICAgICAgICAgdmFsaWRhdG9yczogKCkgPT4gW10sXG4gICAgICAgICAgICByZWFkb25seTogKCkgPT4gZmFsc2UsXG4gICAgICAgICAgICBzdWdnZXN0aW9uczogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgIGFmdGVyVmFsdWVDaGFuZ2U6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHNob3c6ICgpID0+IHRydWUsXG4gICAgICAgICAgICBjYXBpdGFsaXplOiAoKSA9PiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgXVxuICB9O1xuXG4gIGdldCBjdHJsQ2F0ZWdvcnkoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KGN0cmxDYXRlZ29yeSkgYXMgRm9ybUNvbnRyb2w7IH1cbiAgZ2V0IGN0cmxDb250YWluZXJTdGF0dXMoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KGN0cmxDb250YWluZXJTdGF0dXMpIGFzIEZvcm1Db250cm9sOyB9XG4gIGdldCBjdHJsQ29udGFpbmVyVHlwZSgpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybENvbnRhaW5lclR5cGUpIGFzIEZvcm1Db250cm9sOyB9XG4gIGdldCBjdHJsQ3VzdG9tZXIoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KGN0cmxDdXN0b21lcikgYXMgRm9ybUNvbnRyb2w7IH1cbiAgZ2V0IGN0cmxEZXBvdCgpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybERlcG90KSBhcyBGb3JtQ29udHJvbDsgfVxuICBnZXQgY3RybExvY2F0aW9uKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjdHJsTG9jYXRpb24pIGFzIEZvcm1Db250cm9sOyB9XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7XG4gIH1cblxuICBjcmVhdGVGb3JtKCk6IEZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIFNweEZvcm1WaWV3Q29tcG9uZW50LmNyZWF0ZUZvcm0odGhpcy5mb3JtQnVpbGRlciwgdGhpcy5mb3JtLnNlY3Rpb25zKTtcbiAgfVxuXG4gIGdldFJhd1ZhbGlkYXRvcnMoZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sKSB7XG4gICAgcmV0dXJuIChmb3JtQ29udHJvbCBhcyBhbnkpLl9yYXdWYWxpZGF0b3JzO1xuICB9XG5cbiAgb25CbHVyKGRhdGE6IHsgZmllbGQ6IFNweEZvcm1GaWVsZEksIHZhbHVlUGFpcjogU3B4VmFsdWVQYWlyPGFueT4gfSkge1xuICAgIGlmIChkYXRhLmZpZWxkLmtleSA9PT0gY3RybENhdGVnb3J5KSB7XG4gICAgICB0aGlzLnNweEJsdXJDYXRlZ29yeS5lbWl0KGRhdGEudmFsdWVQYWlyKTtcbiAgICB9XG4gICAgaWYgKGRhdGEuZmllbGQua2V5ID09PSBjdHJsQ29udGFpbmVyU3RhdHVzKSB7XG4gICAgICB0aGlzLnNweEJsdXJDb250YWluZXJTdGF0dXMuZW1pdChkYXRhLnZhbHVlUGFpcik7XG4gICAgfVxuICAgIGlmIChkYXRhLmZpZWxkLmtleSA9PT0gY3RybENvbnRhaW5lclR5cGUpIHtcbiAgICAgIHRoaXMuc3B4Qmx1ckNvbnRhaW5lclR5cGUuZW1pdChkYXRhLnZhbHVlUGFpcik7XG4gICAgfVxuICAgIGlmIChkYXRhLmZpZWxkLmtleSA9PT0gY3RybEN1c3RvbWVyKSB7XG4gICAgICB0aGlzLnNweEJsdXJDdXN0b21lci5lbWl0KGRhdGEudmFsdWVQYWlyKTtcbiAgICB9XG4gIH1cblxuICBvblNlYXJjaChkYXRhOiB7IGZpZWxkOiBTcHhGb3JtRmllbGRJLCB2YWx1ZVBhaXI6IFNweFZhbHVlUGFpcjxhbnk+IH0pIHtcbiAgICBpZiAoZGF0YS5maWVsZC5rZXkgPT09IGN0cmxDYXRlZ29yeSkge1xuICAgICAgdGhpcy5zcHhTZWFyY2hDYXRlZ29yeS5lbWl0KGRhdGEudmFsdWVQYWlyKTtcbiAgICB9XG4gICAgaWYgKGRhdGEuZmllbGQua2V5ID09PSBjdHJsQ29udGFpbmVyVHlwZSkge1xuICAgICAgdGhpcy5zcHhTZWFyY2hDb250YWluZXJUeXBlLmVtaXQoZGF0YS52YWx1ZVBhaXIpO1xuICAgIH1cbiAgICBpZiAoZGF0YS5maWVsZC5rZXkgPT09IGN0cmxDb250YWluZXJTdGF0dXMpIHtcbiAgICAgIHRoaXMuc3B4U2VhcmNoQ29udGFpbmVyU3RhdHVzLmVtaXQoZGF0YS52YWx1ZVBhaXIpO1xuICAgIH1cbiAgICBpZiAoZGF0YS5maWVsZC5rZXkgPT09IGN0cmxDdXN0b21lcikge1xuICAgICAgdGhpcy5zcHhTZWFyY2hDdXN0b21lci5lbWl0KGRhdGEudmFsdWVQYWlyKTtcbiAgICB9XG4gIH1cblxuICBvblN1Ym1pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNweFN1Ym1pdC5lbWl0KHtcbiAgICAgIGN0cmxDYXRlZ29yeTogdGhpcy5jdHJsQ2F0ZWdvcnkudmFsdWUsXG4gICAgICBjdHJsQ29udGFpbmVyU3RhdHVzOiB0aGlzLmN0cmxDb250YWluZXJTdGF0dXMudmFsdWUsXG4gICAgICBjdHJsQ29udGFpbmVyVHlwZTogdGhpcy5jdHJsQ29udGFpbmVyVHlwZS52YWx1ZSxcbiAgICAgIGN0cmxDdXN0b21lcjogdGhpcy5jdHJsQ29udGFpbmVyVHlwZS52YWx1ZSxcbiAgICAgIGN0cmxEZXBvdDogdGhpcy5jdHJsRGVwb3QudmFsdWUsXG4gICAgICBjdHJsTG9jYXRpb246IHRoaXMuY3RybExvY2F0aW9uLnZhbHVlLFxuICAgIH0pO1xuICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIGNsYXNzPVwibWF4LXctbGcgbXgtYXV0byBmbGV4IGZsZXgtY29sIGdhcC0zXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIj5cbiAgPHNweC1mb3JtLXZpZXdcbiAgICBbc3B4Rm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gICAgW3NweEZvcm1dPVwiZm9ybVwiXG4gICAgW3NweFN1Z2dlc3Rpb25zXT1cInN1Z2dlc3Rpb25zXCJcbiAgICAoc3B4Qmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgKHNweFNlYXJjaCk9XCJvblNlYXJjaCgkZXZlbnQpXCI+XG4gIDwvc3B4LWZvcm0tdmlldz5cbjwvZm9ybT4iXX0=
302
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXN0b2NrLWluZm8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1zdG9jay1pbmZvL3NweC1zdG9jay1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtc3RvY2staW5mby9zcHgtc3RvY2staW5mby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBdUMsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBZ0IsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRyxPQUFPLEVBQUUscUJBQXFCLEVBQTJCLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWxFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztB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O3NCQUFsQyxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csc0JBQXNCO3NCQUEvQixNQUFNO2dCQUNHLHdCQUF3QjtzQkFBakMsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBzcHhWYWxpZGF0b3JSZXF1aXJlZCwgU3B4VmFsaWRhdGVDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU3B4SW5wdXRDb21wb25lbnQsIFNweElucHV0VHlwZUVudW0sIFNweFZhbHVlUGFpciB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWlucHV0cyc7XG5pbXBvcnQgeyBTcHhGb3JtQnV0dG9uVHlwZUVudW0sIFNweEZvcm1GaWVsZEksIFNweEZvcm1JLCBTcHhGb3JtVmlld0NvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWZvcm0tdmlldyc7XG5pbXBvcnQgeyBTcHhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1idXR0b24nO1xuaW1wb3J0IHsgU3B4U2V2ZXJpdHlFbnVtIH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtaGVscGVycyc7XG5pbXBvcnQgeyBTcHhTdG9ja0luZm9WYWx1ZUkgfSBmcm9tICcuL3NweC1zdG9jay1pbmZvLXZhbHVlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTcHhQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtcGFnaW5hdGlvbic7XG5pbXBvcnQgeyBJY29uUHJvcCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1zdmctY29yZSc7XG5pbXBvcnQgeyBTcHhBbGVydENvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWFsZXJ0JztcbmltcG9ydCB7IFNweENhcmRDb21wb25lbnQsIFNweENhcmRMaW5lQ29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtY2FyZCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFNweENhcGl0YWxpemVQaXBlIH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtY2FwaXRhbGl6ZSc7XG5pbXBvcnQgeyBGb250QXdlc29tZU1vZHVsZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcblxuZXhwb3J0IGNvbnN0IGN0cmxDYXRlZ29yeSA9ICdjdHJsQ2F0ZWdvcnknO1xuZXhwb3J0IGNvbnN0IGN0cmxDb250YWluZXJTdGF0dXMgPSAnY3RybENvbnRhaW5lclN0YXR1cyc7XG5leHBvcnQgY29uc3QgY3RybENvbnRhaW5lclR5cGUgPSAnY3RybENvbnRhaW5lclR5cGUnO1xuZXhwb3J0IGNvbnN0IGN0cmxDdXN0b21lciA9ICdjdHJsQ3VzdG9tZXInO1xuZXhwb3J0IGNvbnN0IGN0cmxEZXBvdCA9ICdjdHJsRGVwb3QnO1xuZXhwb3J0IGNvbnN0IGN0cmxMb2NhdGlvbiA9ICdjdHJsTG9jYXRpb24nO1xuZXhwb3J0IGNvbnN0IHNlY3Rpb25Db250YWluZXJJbmZvID0gJ3NlY3Rpb25Db250YWluZXJJbmZvJztcbmV4cG9ydCBjb25zdCBzZWN0aW9uQ3VzdG9tZXIgPSAnc2VjdGlvbkN1c3RvbWVyJztcbmV4cG9ydCBjb25zdCBzZWN0aW9uTG9jYXRpb24gPSAnc2VjdGlvbkxvY2F0aW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LXN0b2NrLWluZm8nLFxuICB0ZW1wbGF0ZVVybDogJy4vc3B4LXN0b2NrLWluZm8uY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEZvbnRBd2Vzb21lTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgU3B4QWxlcnRDb21wb25lbnQsXG4gICAgU3B4QnV0dG9uQ29tcG9uZW50LFxuICAgIFNweENhcGl0YWxpemVQaXBlLFxuICAgIFNweENhcmRDb21wb25lbnQsXG4gICAgU3B4Q2FyZExpbmVDb21wb25lbnQsXG4gICAgU3B4Rm9ybVZpZXdDb21wb25lbnQsXG4gICAgU3B4SW5wdXRDb21wb25lbnQsXG4gICAgU3B4UGFnaW5hdGlvbkNvbXBvbmVudCxcbiAgICBTcHhWYWxpZGF0ZUNvbnRyb2xDb21wb25lbnQsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNweFN0b2NrSW5mb0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNvbnRhaW5lcnMhOiBhbnlbXTtcbiAgQElucHV0KCkgY3VycmVudFBhZ2UhOiBudW1iZXI7XG4gIEBJbnB1dCgpIGRlcG90ITogc3RyaW5nO1xuICBASW5wdXQoKSBmYUFycm93TGVmdCE6IEljb25Qcm9wO1xuICBASW5wdXQoKSBmYUFycm93UmlnaHQhOiBJY29uUHJvcDtcbiAgQElucHV0KCkgZmFDb250YWluZXJTdG9yYWdlITogSWNvblByb3A7XG4gIEBJbnB1dCgpIGZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgbG9hZGVkITogYm9vbGVhbjtcbiAgQElucHV0KCkgcGFnZVNpemUhOiBudW1iZXI7XG4gIEBJbnB1dCgpIHN1Z2dlc3Rpb25zOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgdGV4dENhdGVnb3J5ITogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0Q29udGFpbmVySW5mbyE6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dENvbnRhaW5lclN0YXR1cyE6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dENvbnRhaW5lclR5cGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRleHRDdXN0b21lciE6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dERlcG90ITogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0TG9jYXRpb24hOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRleHROZXh0ITogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0UGFnZSE6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dFByZXZpb3VzITogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0U2VhcmNoITogc3RyaW5nO1xuICBASW5wdXQoKSB0eHROb1Jlc3VsdHMhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR4dFlvdUNhbkNoYW5nZVlvdXJGaWx0ZXJzITogc3RyaW5nO1xuICBASW5wdXQoKSB0eHRUeXBlITogc3RyaW5nO1xuICBASW5wdXQoKSB0eHRDb250YWluZXJDYXRlZ29yeSE6IHN0cmluZztcbiAgQElucHV0KCkgdHh0TG9jYXRpb24hOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBzcHhCbHVyQ2F0ZWdvcnk6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PigpO1xuICBAT3V0cHV0KCkgc3B4Qmx1ckNvbnRhaW5lclN0YXR1czogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+KCk7XG4gIEBPdXRwdXQoKSBzcHhCbHVyQ29udGFpbmVyVHlwZTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+KCk7XG4gIEBPdXRwdXQoKSBzcHhCbHVyQ3VzdG9tZXI6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PigpO1xuICBAT3V0cHV0KCkgc3B4Q2xpY2tDb250YWluZXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBzcHhQYWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgc3B4U2VhcmNoQ2F0ZWdvcnk6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PigpO1xuICBAT3V0cHV0KCkgc3B4U2VhcmNoQ29udGFpbmVyVHlwZTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+KCk7XG4gIEBPdXRwdXQoKSBzcHhTZWFyY2hDb250YWluZXJTdGF0dXM6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PigpO1xuICBAT3V0cHV0KCkgc3B4U2VhcmNoQ3VzdG9tZXI6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PigpO1xuICBAT3V0cHV0KCkgc3B4U3VibWl0OiBFdmVudEVtaXR0ZXI8U3B4U3RvY2tJbmZvVmFsdWVJPiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4U3RvY2tJbmZvVmFsdWVJPigpO1xuICBzZXZlcml0eUluZm8gPSBTcHhTZXZlcml0eUVudW0uaW5mbztcblxuXG4gIGZvcm06IFNweEZvcm1JID0ge1xuICAgIGJ1dHRvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgc2V2ZXJpdHk6IFNweFNldmVyaXR5RW51bS5zdWNjZXNzLFxuICAgICAgICB0eXBlOiBTcHhGb3JtQnV0dG9uVHlwZUVudW0uc3VibWl0LFxuICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50ZXh0U2VhcmNoLFxuICAgICAgfVxuICAgIF0sXG4gICAgc2VjdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAga2V5OiBzZWN0aW9uTG9jYXRpb24sXG4gICAgICAgIHNob3c6ICgpID0+IHRydWUsXG4gICAgICAgIHRpdGxlOiAoKSA9PiB0aGlzLnRleHRMb2NhdGlvbixcbiAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAga2V5OiBjdHJsRGVwb3QsXG4gICAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50ZXh0RGVwb3QsXG4gICAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLnRleHQsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICgpID0+IHRoaXMuZGVwb3QsXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiAoKSA9PiBbc3B4VmFsaWRhdG9yUmVxdWlyZWQoKV0sXG4gICAgICAgICAgICByZWFkb25seTogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zOiAoKSA9PiBmYWxzZSxcbiAgICAgICAgICAgIGFmdGVyVmFsdWVDaGFuZ2U6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHNob3c6ICgpID0+IHRydWUsXG4gICAgICAgICAgICBjYXBpdGFsaXplOiAoKSA9PiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAga2V5OiBjdHJsTG9jYXRpb24sXG4gICAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50ZXh0TG9jYXRpb24sXG4gICAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLnRleHQsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICgpID0+IG51bGwsXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiAoKSA9PiBbXSxcbiAgICAgICAgICAgIHJlYWRvbmx5OiAoKSA9PiBmYWxzZSxcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zOiAoKSA9PiBmYWxzZSxcbiAgICAgICAgICAgIGFmdGVyVmFsdWVDaGFuZ2U6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHNob3c6ICgpID0+IHRydWUsXG4gICAgICAgICAgICBjYXBpdGFsaXplOiAoKSA9PiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogc2VjdGlvbkN1c3RvbWVyLFxuICAgICAgICBzaG93OiAoKSA9PiB0cnVlLFxuICAgICAgICB0aXRsZTogKCkgPT4gdGhpcy50ZXh0Q3VzdG9tZXIsXG4gICAgICAgIGZpZWxkczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogY3RybEN1c3RvbWVyLFxuICAgICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudGV4dEN1c3RvbWVyLFxuICAgICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS5hdXRvY29tcGxldGUsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICgpID0+IG51bGwsXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiAoKSA9PiBbXSxcbiAgICAgICAgICAgIHJlYWRvbmx5OiAoKSA9PiBmYWxzZSxcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zOiAoKSA9PiB0cnVlLFxuICAgICAgICAgICAgYWZ0ZXJWYWx1ZUNoYW5nZTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgc2hvdzogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiBzZWN0aW9uQ29udGFpbmVySW5mbyxcbiAgICAgICAgc2hvdzogKCkgPT4gdHJ1ZSxcbiAgICAgICAgdGl0bGU6ICgpID0+IHRoaXMudGV4dENvbnRhaW5lckluZm8sXG4gICAgICAgIGZpZWxkczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogY3RybENhdGVnb3J5LFxuICAgICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudGV4dENhdGVnb3J5LFxuICAgICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS5hdXRvY29tcGxldGUsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICgpID0+IG51bGwsXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiAoKSA9PiBbXSxcbiAgICAgICAgICAgIHJlYWRvbmx5OiAoKSA9PiBmYWxzZSxcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zOiAoKSA9PiB0cnVlLFxuICAgICAgICAgICAgYWZ0ZXJWYWx1ZUNoYW5nZTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgc2hvdzogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IGN0cmxDb250YWluZXJTdGF0dXMsXG4gICAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50ZXh0Q29udGFpbmVyU3RhdHVzLFxuICAgICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS5hdXRvY29tcGxldGUsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICgpID0+IG51bGwsXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiAoKSA9PiBbXSxcbiAgICAgICAgICAgIHJlYWRvbmx5OiAoKSA9PiBmYWxzZSxcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zOiAoKSA9PiB0cnVlLFxuICAgICAgICAgICAgYWZ0ZXJWYWx1ZUNoYW5nZTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgc2hvdzogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IGN0cmxDb250YWluZXJUeXBlLFxuICAgICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudGV4dENvbnRhaW5lclR5cGUsXG4gICAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLmF1dG9jb21wbGV0ZSxcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogKCkgPT4gbnVsbCxcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IFtdLFxuICAgICAgICAgICAgcmVhZG9ubHk6ICgpID0+IGZhbHNlLFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnM6ICgpID0+IHRydWUsXG4gICAgICAgICAgICBhZnRlclZhbHVlQ2hhbmdlOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBzaG93OiAoKSA9PiB0cnVlLFxuICAgICAgICAgICAgY2FwaXRhbGl6ZTogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdXG4gICAgICB9LFxuICAgIF1cbiAgfTtcblxuICBnZXQgY3RybENhdGVnb3J5KCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjdHJsQ2F0ZWdvcnkpIGFzIEZvcm1Db250cm9sOyB9XG4gIGdldCBjdHJsQ29udGFpbmVyU3RhdHVzKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjdHJsQ29udGFpbmVyU3RhdHVzKSBhcyBGb3JtQ29udHJvbDsgfVxuICBnZXQgY3RybENvbnRhaW5lclR5cGUoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KGN0cmxDb250YWluZXJUeXBlKSBhcyBGb3JtQ29udHJvbDsgfVxuICBnZXQgY3RybEN1c3RvbWVyKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjdHJsQ3VzdG9tZXIpIGFzIEZvcm1Db250cm9sOyB9XG4gIGdldCBjdHJsRGVwb3QoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KGN0cmxEZXBvdCkgYXMgRm9ybUNvbnRyb2w7IH1cbiAgZ2V0IGN0cmxMb2NhdGlvbigpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybExvY2F0aW9uKSBhcyBGb3JtQ29udHJvbDsgfVxuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcikge1xuICB9XG5cbiAgY3JlYXRlRm9ybSgpOiBGb3JtR3JvdXAge1xuICAgIHJldHVybiBTcHhGb3JtVmlld0NvbXBvbmVudC5jcmVhdGVGb3JtKHRoaXMuZm9ybUJ1aWxkZXIsIHRoaXMuZm9ybS5zZWN0aW9ucyk7XG4gIH1cblxuICBnZXRSYXdWYWxpZGF0b3JzKGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCkge1xuICAgIHJldHVybiAoZm9ybUNvbnRyb2wgYXMgYW55KS5fcmF3VmFsaWRhdG9ycztcbiAgfVxuXG4gIG9uQmx1cihkYXRhOiB7IGZpZWxkOiBTcHhGb3JtRmllbGRJLCB2YWx1ZVBhaXI6IFNweFZhbHVlUGFpcjxhbnk+IH0pIHtcbiAgICBpZiAoZGF0YS5maWVsZC5rZXkgPT09IGN0cmxDYXRlZ29yeSkge1xuICAgICAgdGhpcy5zcHhCbHVyQ2F0ZWdvcnkuZW1pdChkYXRhLnZhbHVlUGFpcik7XG4gICAgfVxuICAgIGlmIChkYXRhLmZpZWxkLmtleSA9PT0gY3RybENvbnRhaW5lclN0YXR1cykge1xuICAgICAgdGhpcy5zcHhCbHVyQ29udGFpbmVyU3RhdHVzLmVtaXQoZGF0YS52YWx1ZVBhaXIpO1xuICAgIH1cbiAgICBpZiAoZGF0YS5maWVsZC5rZXkgPT09IGN0cmxDb250YWluZXJUeXBlKSB7XG4gICAgICB0aGlzLnNweEJsdXJDb250YWluZXJUeXBlLmVtaXQoZGF0YS52YWx1ZVBhaXIpO1xuICAgIH1cbiAgICBpZiAoZGF0YS5maWVsZC5rZXkgPT09IGN0cmxDdXN0b21lcikge1xuICAgICAgdGhpcy5zcHhCbHVyQ3VzdG9tZXIuZW1pdChkYXRhLnZhbHVlUGFpcik7XG4gICAgfVxuICB9XG5cbiAgb25TZWFyY2goZGF0YTogeyBmaWVsZDogU3B4Rm9ybUZpZWxkSSwgdmFsdWVQYWlyOiBTcHhWYWx1ZVBhaXI8YW55PiB9KSB7XG4gICAgaWYgKGRhdGEuZmllbGQua2V5ID09PSBjdHJsQ2F0ZWdvcnkpIHtcbiAgICAgIHRoaXMuc3B4U2VhcmNoQ2F0ZWdvcnkuZW1pdChkYXRhLnZhbHVlUGFpcik7XG4gICAgfVxuICAgIGlmIChkYXRhLmZpZWxkLmtleSA9PT0gY3RybENvbnRhaW5lclR5cGUpIHtcbiAgICAgIHRoaXMuc3B4U2VhcmNoQ29udGFpbmVyVHlwZS5lbWl0KGRhdGEudmFsdWVQYWlyKTtcbiAgICB9XG4gICAgaWYgKGRhdGEuZmllbGQua2V5ID09PSBjdHJsQ29udGFpbmVyU3RhdHVzKSB7XG4gICAgICB0aGlzLnNweFNlYXJjaENvbnRhaW5lclN0YXR1cy5lbWl0KGRhdGEudmFsdWVQYWlyKTtcbiAgICB9XG4gICAgaWYgKGRhdGEuZmllbGQua2V5ID09PSBjdHJsQ3VzdG9tZXIpIHtcbiAgICAgIHRoaXMuc3B4U2VhcmNoQ3VzdG9tZXIuZW1pdChkYXRhLnZhbHVlUGFpcik7XG4gICAgfVxuICB9XG5cbiAgb25QYWdlQ2hhbmdlKHBhZ2U6IG51bWJlcikge1xuICAgIHRoaXMuc3B4UGFnZUNoYW5nZS5lbWl0KHBhZ2UpO1xuICB9XG5cbiAgZ29Ub0NvbnRhaW5lcihjb250YWluZXI6IGFueSkge1xuICAgIHRoaXMuc3B4Q2xpY2tDb250YWluZXIuZW1pdChjb250YWluZXIpO1xuICB9XG5cbiAgb25TdWJtaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zcHhTdWJtaXQuZW1pdCh7XG4gICAgICBjdHJsQ2F0ZWdvcnk6IHRoaXMuY3RybENhdGVnb3J5LnZhbHVlLFxuICAgICAgY3RybENvbnRhaW5lclN0YXR1czogdGhpcy5jdHJsQ29udGFpbmVyU3RhdHVzLnZhbHVlLFxuICAgICAgY3RybENvbnRhaW5lclR5cGU6IHRoaXMuY3RybENvbnRhaW5lclR5cGUudmFsdWUsXG4gICAgICBjdHJsQ3VzdG9tZXI6IHRoaXMuY3RybENvbnRhaW5lclR5cGUudmFsdWUsXG4gICAgICBjdHJsRGVwb3Q6IHRoaXMuY3RybERlcG90LnZhbHVlLFxuICAgICAgY3RybExvY2F0aW9uOiB0aGlzLmN0cmxMb2NhdGlvbi52YWx1ZSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiBjbGFzcz1cIm1heC13LWxnIG14LWF1dG8gZmxleCBmbGV4LWNvbCBnYXAtM1wiIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgpXCI+XG4gIDxzcHgtZm9ybS12aWV3XG4gICAgW3NweEZvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICAgIFtzcHhGb3JtXT1cImZvcm1cIlxuICAgIFtzcHhTdWdnZXN0aW9uc109XCJzdWdnZXN0aW9uc1wiXG4gICAgKHNweEJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgIChzcHhTZWFyY2gpPVwib25TZWFyY2goJGV2ZW50KVwiPlxuICA8L3NweC1mb3JtLXZpZXc+XG48L2Zvcm0+XG5cbjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0zXCIgKm5nSWY9XCJsb2FkZWRcIj5cbiAgPHNweC1wYWdpbmF0aW9uXG4gICAgICAqbmdJZj1cImNvbnRhaW5lcnMubGVuZ3RoID4gMFwiXG4gICAgICBbc3B4UGFnZV09XCJjdXJyZW50UGFnZVwiXG4gICAgICBbc3B4TWF4UGFnZXNdPVwiKGNvbnRhaW5lcnMubGVuZ3RoIDwgKHBhZ2VTaXplICsgMSkpID8gKGN1cnJlbnRQYWdlICsgMSkgOiBjdXJyZW50UGFnZVwiXG4gICAgICBbZmFBcnJvd0xlZnRdPVwiZmFBcnJvd0xlZnRcIlxuICAgICAgW2ZhQXJyb3dSaWdodF09XCJmYUFycm93UmlnaHRcIlxuICAgICAgW3RleHRQYWdlXT1cInRleHRQYWdlXCJcbiAgICAgIFt0ZXh0UHJldmlvdXNdPVwidGV4dFByZXZpb3VzXCJcbiAgICAgIFt0ZXh0TmV4dF09XCJ0ZXh0TmV4dFwiXG4gICAgICAoc3B4UGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiPlxuICA8L3NweC1wYWdpbmF0aW9uPlxuXG4gIDxzcHgtYWxlcnQgKm5nSWY9XCJjb250YWluZXJzLmxlbmd0aCA9PT0gMFwiIFtzcHhTZXZlcml0eV09XCJzZXZlcml0eUluZm9cIiBbc3B4VGl0bGVdPVwidHh0Tm9SZXN1bHRzIHwgdHJhbnNsYXRlIHwgY2FwaXRhbGl6ZVwiPlxuICAgICAge3sgdHh0WW91Q2FuQ2hhbmdlWW91ckZpbHRlcnMgfCB0cmFuc2xhdGUgfCBjYXBpdGFsaXplIH19XG4gIDwvc3B4LWFsZXJ0PlxuXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbnRhaW5lciBvZiBjb250YWluZXJzOyBsZXQgaSA9IGluZGV4O1wiPlxuICAgICAgPHNweC1jYXJkICpuZ0lmPVwiaSA8IHBhZ2VTaXplXCIgW2hhc0NvbnRlbnRdPVwiZmFsc2VcIiAoY2xpY2tlZCk9XCJnb1RvQ29udGFpbmVyKGNvbnRhaW5lcilcIj5cbiAgICAgICAgICA8ZGl2IGNhcmQtaGVhZGVyIGNsYXNzPVwiY2FyZC1oZWFkZXIgcm91bmRlZC10LWxnIHAtMyBiZy1za3ktMjAwXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IHNwYWNlLXgtMyBpdGVtcy1jZW50ZXIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkLWhlYWRlci1pY29uLWxlZnQgZmxleCBiYXNpcy0xMCBweS0xLjUgc2hyaW5rLTAgZ3Jvdy0wIHBsYWNlLWl0ZW1zLWNlbnRlciByb3VuZGVkIGJnLXNreS00MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZmEtaWNvbiBjbGFzcz1cIm14LWF1dG9cIiBbaWNvbl09XCJmYUNvbnRhaW5lclN0b3JhZ2VcIj48L2ZhLWljb24+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgIFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyLXRleHQtbWlkZGxlIGdyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2sgZm9udC1tZWRpdW0gdGV4dC1sYXJnZVwiPnt7IGNvbnRhaW5lci5mb3JtYXR0ZWQuY29udGFpbmVyTnVtYmVyIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgIFxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FyZC1oZWFkZXItaWNvbnMtcmlnaHQgdGV4dC1zbSB0ZXh0LWdyYXktOTAwIGxlYWRpbmctNSBmbGV4IGZsZXgtd3JhcCBpdGVtcy1zdHJldGNoIHRleHQtY2VudGVyIGZvbnQtYm9sZFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb250YWluZXIuY29udGFpbmVyU3RhdHVzXCIgY2xhc3M9XCJtaW4tdy1bMzZweF0gcHgtMiBweS0xIGJnLXdoaXRlIHRleHQtYmxhY2tcIj4ge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLmZvcm1hdHRlZC5jb250YWluZXJTdGF0dXMgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNhcmQtbGluZXMgY2xhc3M9XCJncmlkIGdyaWQtY29scy0yIGdhcC0yXCI+XG4gICAgICAgICAgICAgIDxzcHgtY2FyZC1saW5lIFt0ZXh0XT1cInR4dFR5cGUgfCB0cmFuc2xhdGUgfCBjYXBpdGFsaXplXCJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjb250YWluZXIuZm9ybWF0dGVkLmNvbnRhaW5lclR5cGVcIj48L3NweC1jYXJkLWxpbmU+XG4gICAgICAgICAgICAgIDxzcHgtY2FyZC1saW5lIFt0ZXh0XT1cInR4dENvbnRhaW5lckNhdGVnb3J5IHwgdHJhbnNsYXRlIHwgY2FwaXRhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiY29udGFpbmVyLmZvcm1hdHRlZC5jYXRlZ29yeVwiPjwvc3B4LWNhcmQtbGluZT5cbiAgICAgICAgICAgICAgPHNweC1jYXJkLWxpbmUgW3RleHRdPVwidHh0TG9jYXRpb24gfCB0cmFuc2xhdGUgfCBjYXBpdGFsaXplXCJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjb250YWluZXIuZm9ybWF0dGVkLmxvY2F0aW9uXCI+PC9zcHgtY2FyZC1saW5lPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgPC9zcHgtY2FyZD5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPHNweC1wYWdpbmF0aW9uXG4gICAgICAqbmdJZj1cImNvbnRhaW5lcnMubGVuZ3RoID4gMFwiXG4gICAgICBbc3B4UGFnZV09XCJjdXJyZW50UGFnZVwiXG4gICAgICBbc3B4TWF4UGFnZXNdPVwiKGNvbnRhaW5lcnMubGVuZ3RoIDwgKHBhZ2VTaXplICsgMSkpID8gKGN1cnJlbnRQYWdlICsgMSkgOiBjdXJyZW50UGFnZVwiXG4gICAgICBbZmFBcnJvd0xlZnRdPVwiZmFBcnJvd0xlZnRcIlxuICAgICAgW2ZhQXJyb3dSaWdodF09XCJmYUFycm93UmlnaHRcIlxuICAgICAgW3RleHRQYWdlXT1cInRleHRQYWdlXCJcbiAgICAgIFt0ZXh0UHJldmlvdXNdPVwidGV4dFByZXZpb3VzXCJcbiAgICAgIFt0ZXh0TmV4dF09XCJ0ZXh0TmV4dFwiXG4gICAgICAoc3B4UGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiPlxuICA8L3NweC1wYWdpbmF0aW9uPlxuPC9kaXY+Il19
@@ -3,11 +3,20 @@ import { EventEmitter, Component, Input, Output } from '@angular/core';
3
3
  import * as i1 from '@angular/forms';
4
4
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5
5
  import { spxValidatorRequired, SpxValidateControlComponent } from '@softpak/components/spx-validation';
6
+ import * as i2 from '@angular/common';
6
7
  import { CommonModule } from '@angular/common';
7
8
  import { SpxInputTypeEnum, SpxInputComponent } from '@softpak/components/spx-inputs';
8
9
  import { SpxFormButtonTypeEnum, SpxFormViewComponent } from '@softpak/components/spx-form-view';
9
10
  import { SpxButtonComponent } from '@softpak/components/spx-button';
10
11
  import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
12
+ import { SpxPaginationComponent } from '@softpak/components/spx-pagination';
13
+ import { SpxAlertComponent } from '@softpak/components/spx-alert';
14
+ import { SpxCardComponent, SpxCardLineComponent } from '@softpak/components/spx-card';
15
+ import * as i4 from '@ngx-translate/core';
16
+ import { TranslateModule } from '@ngx-translate/core';
17
+ import { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';
18
+ import * as i3 from '@fortawesome/angular-fontawesome';
19
+ import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
11
20
 
12
21
  const ctrlCategory = 'ctrlCategory';
13
22
  const ctrlContainerStatus = 'ctrlContainerStatus';
@@ -32,11 +41,14 @@ class SpxStockInfoComponent {
32
41
  this.spxBlurContainerStatus = new EventEmitter();
33
42
  this.spxBlurContainerType = new EventEmitter();
34
43
  this.spxBlurCustomer = new EventEmitter();
44
+ this.spxClickContainer = new EventEmitter();
45
+ this.spxPageChange = new EventEmitter();
35
46
  this.spxSearchCategory = new EventEmitter();
36
47
  this.spxSearchContainerType = new EventEmitter();
37
48
  this.spxSearchContainerStatus = new EventEmitter();
38
49
  this.spxSearchCustomer = new EventEmitter();
39
50
  this.spxSubmit = new EventEmitter();
51
+ this.severityInfo = SpxSeverityEnum.info;
40
52
  this.form = {
41
53
  buttons: [
42
54
  {
@@ -176,6 +188,12 @@ class SpxStockInfoComponent {
176
188
  this.spxSearchCustomer.emit(data.valuePair);
177
189
  }
178
190
  }
191
+ onPageChange(page) {
192
+ this.spxPageChange.emit(page);
193
+ }
194
+ goToContainer(container) {
195
+ this.spxClickContainer.emit(container);
196
+ }
179
197
  onSubmit() {
180
198
  this.spxSubmit.emit({
181
199
  ctrlCategory: this.ctrlCategory.value,
@@ -187,43 +205,78 @@ class SpxStockInfoComponent {
187
205
  });
188
206
  }
189
207
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxStockInfoComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
190
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpxStockInfoComponent, isStandalone: true, selector: "spx-stock-info", inputs: { formGroup: "formGroup", containers: "containers", depot: "depot", suggestions: "suggestions", textLocation: "textLocation", textDepot: "textDepot", textCustomer: "textCustomer", textContainerInfo: "textContainerInfo", textCategory: "textCategory", textContainerStatus: "textContainerStatus", textContainerType: "textContainerType", textSearch: "textSearch" }, outputs: { spxBlurCategory: "spxBlurCategory", spxBlurContainerStatus: "spxBlurContainerStatus", spxBlurContainerType: "spxBlurContainerType", spxBlurCustomer: "spxBlurCustomer", spxSearchCategory: "spxSearchCategory", spxSearchContainerType: "spxSearchContainerType", spxSearchContainerStatus: "spxSearchContainerStatus", spxSearchCustomer: "spxSearchCustomer", spxSubmit: "spxSubmit" }, ngImport: i0, template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxForm]=\"form\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n</form>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxForm", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }] }); }
208
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpxStockInfoComponent, isStandalone: true, selector: "spx-stock-info", inputs: { containers: "containers", currentPage: "currentPage", depot: "depot", faArrowLeft: "faArrowLeft", faArrowRight: "faArrowRight", faContainerStorage: "faContainerStorage", formGroup: "formGroup", loaded: "loaded", pageSize: "pageSize", suggestions: "suggestions", textCategory: "textCategory", textContainerInfo: "textContainerInfo", textContainerStatus: "textContainerStatus", textContainerType: "textContainerType", textCustomer: "textCustomer", textDepot: "textDepot", textLocation: "textLocation", textNext: "textNext", textPage: "textPage", textPrevious: "textPrevious", textSearch: "textSearch", txtNoResults: "txtNoResults", txtYouCanChangeYourFilters: "txtYouCanChangeYourFilters", txtType: "txtType", txtContainerCategory: "txtContainerCategory", txtLocation: "txtLocation" }, outputs: { spxBlurCategory: "spxBlurCategory", spxBlurContainerStatus: "spxBlurContainerStatus", spxBlurContainerType: "spxBlurContainerType", spxBlurCustomer: "spxBlurCustomer", spxClickContainer: "spxClickContainer", spxPageChange: "spxPageChange", spxSearchCategory: "spxSearchCategory", spxSearchContainerType: "spxSearchContainerType", spxSearchContainerStatus: "spxSearchContainerStatus", spxSearchCustomer: "spxSearchCustomer", spxSubmit: "spxSubmit" }, ngImport: i0, template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxForm]=\"form\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n</form>\n\n<div class=\"flex flex-col gap-3\" *ngIf=\"loaded\">\n <spx-pagination\n *ngIf=\"containers.length > 0\"\n [spxPage]=\"currentPage\"\n [spxMaxPages]=\"(containers.length < (pageSize + 1)) ? (currentPage + 1) : currentPage\"\n [faArrowLeft]=\"faArrowLeft\"\n [faArrowRight]=\"faArrowRight\"\n [textPage]=\"textPage\"\n [textPrevious]=\"textPrevious\"\n [textNext]=\"textNext\"\n (spxPageChange)=\"onPageChange($event)\">\n </spx-pagination>\n\n <spx-alert *ngIf=\"containers.length === 0\" [spxSeverity]=\"severityInfo\" [spxTitle]=\"txtNoResults | translate | capitalize\">\n {{ txtYouCanChangeYourFilters | translate | capitalize }}\n </spx-alert>\n\n <ng-container *ngFor=\"let container of containers; let i = index;\">\n <spx-card *ngIf=\"i < pageSize\" [hasContent]=\"false\" (clicked)=\"goToContainer(container)\">\n <div card-header class=\"card-header rounded-t-lg p-3 bg-sky-200\">\n <div class=\"flex flex-row space-x-3 items-center w-full\">\n <div\n class=\"card-header-icon-left flex basis-10 py-1.5 shrink-0 grow-0 place-items-center rounded bg-sky-400\">\n <fa-icon class=\"mx-auto\" [icon]=\"faContainerStorage\"></fa-icon>\n </div>\n \n <div class=\"card-header-text-middle grow\">\n <div class=\"block font-medium text-large\">{{ container.formatted.containerNumber }}</div>\n </div>\n \n <div\n class=\"card-header-icons-right text-sm text-gray-900 leading-5 flex flex-wrap items-stretch text-center font-bold\">\n <div *ngIf=\"container.containerStatus\" class=\"min-w-[36px] px-2 py-1 bg-white text-black\"> {{\n container.formatted.containerStatus }}</div>\n </div>\n </div>\n </div>\n <div card-lines class=\"grid grid-cols-2 gap-2\">\n <spx-card-line [text]=\"txtType | translate | capitalize\"\n [value]=\"container.formatted.containerType\"></spx-card-line>\n <spx-card-line [text]=\"txtContainerCategory | translate | capitalize\"\n [value]=\"container.formatted.category\"></spx-card-line>\n <spx-card-line [text]=\"txtLocation | translate | capitalize\"\n [value]=\"container.formatted.location\"></spx-card-line>\n </div>\n </spx-card>\n </ng-container>\n\n <spx-pagination\n *ngIf=\"containers.length > 0\"\n [spxPage]=\"currentPage\"\n [spxMaxPages]=\"(containers.length < (pageSize + 1)) ? (currentPage + 1) : currentPage\"\n [faArrowLeft]=\"faArrowLeft\"\n [faArrowRight]=\"faArrowRight\"\n [textPage]=\"textPage\"\n [textPrevious]=\"textPrevious\"\n [textNext]=\"textNext\"\n (spxPageChange)=\"onPageChange($event)\">\n </spx-pagination>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: SpxAlertComponent, selector: "spx-alert", inputs: ["spxAutoclose", "spxCloseable", "spxHideTitle", "spxTitle", "spxMarginTop", "spxSeverity", "tick"], outputs: ["spxClose"] }, { kind: "pipe", type: SpxCapitalizePipe, name: "capitalize" }, { kind: "component", type: SpxCardComponent, selector: "spx-card", inputs: ["clickable", "hasContent", "onDetailPage", "text", "unit", "tableView"], outputs: ["clicked"] }, { kind: "component", type: SpxCardLineComponent, selector: "spx-card-line", inputs: ["icon", "showPositiveOrNegative", "text", "value", "secondValue", "showProgress", "unit", "newOrderScreen"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxForm", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }, { kind: "component", type: SpxPaginationComponent, selector: "spx-pagination", inputs: ["faArrowLeft", "faArrowRight", "spxPage", "spxMaxPages", "textNext", "textPage", "textPrevious"], outputs: ["spxPageChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
191
209
  }
192
210
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxStockInfoComponent, decorators: [{
193
211
  type: Component,
194
212
  args: [{ selector: 'spx-stock-info', standalone: true, imports: [
195
213
  CommonModule,
196
214
  FormsModule,
215
+ FontAwesomeModule,
197
216
  ReactiveFormsModule,
217
+ SpxAlertComponent,
198
218
  SpxButtonComponent,
219
+ SpxCapitalizePipe,
220
+ SpxCardComponent,
221
+ SpxCardLineComponent,
199
222
  SpxFormViewComponent,
200
223
  SpxInputComponent,
224
+ SpxPaginationComponent,
201
225
  SpxValidateControlComponent,
202
- ], template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxForm]=\"form\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n</form>" }]
203
- }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { formGroup: [{
226
+ TranslateModule,
227
+ ], template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxForm]=\"form\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n</form>\n\n<div class=\"flex flex-col gap-3\" *ngIf=\"loaded\">\n <spx-pagination\n *ngIf=\"containers.length > 0\"\n [spxPage]=\"currentPage\"\n [spxMaxPages]=\"(containers.length < (pageSize + 1)) ? (currentPage + 1) : currentPage\"\n [faArrowLeft]=\"faArrowLeft\"\n [faArrowRight]=\"faArrowRight\"\n [textPage]=\"textPage\"\n [textPrevious]=\"textPrevious\"\n [textNext]=\"textNext\"\n (spxPageChange)=\"onPageChange($event)\">\n </spx-pagination>\n\n <spx-alert *ngIf=\"containers.length === 0\" [spxSeverity]=\"severityInfo\" [spxTitle]=\"txtNoResults | translate | capitalize\">\n {{ txtYouCanChangeYourFilters | translate | capitalize }}\n </spx-alert>\n\n <ng-container *ngFor=\"let container of containers; let i = index;\">\n <spx-card *ngIf=\"i < pageSize\" [hasContent]=\"false\" (clicked)=\"goToContainer(container)\">\n <div card-header class=\"card-header rounded-t-lg p-3 bg-sky-200\">\n <div class=\"flex flex-row space-x-3 items-center w-full\">\n <div\n class=\"card-header-icon-left flex basis-10 py-1.5 shrink-0 grow-0 place-items-center rounded bg-sky-400\">\n <fa-icon class=\"mx-auto\" [icon]=\"faContainerStorage\"></fa-icon>\n </div>\n \n <div class=\"card-header-text-middle grow\">\n <div class=\"block font-medium text-large\">{{ container.formatted.containerNumber }}</div>\n </div>\n \n <div\n class=\"card-header-icons-right text-sm text-gray-900 leading-5 flex flex-wrap items-stretch text-center font-bold\">\n <div *ngIf=\"container.containerStatus\" class=\"min-w-[36px] px-2 py-1 bg-white text-black\"> {{\n container.formatted.containerStatus }}</div>\n </div>\n </div>\n </div>\n <div card-lines class=\"grid grid-cols-2 gap-2\">\n <spx-card-line [text]=\"txtType | translate | capitalize\"\n [value]=\"container.formatted.containerType\"></spx-card-line>\n <spx-card-line [text]=\"txtContainerCategory | translate | capitalize\"\n [value]=\"container.formatted.category\"></spx-card-line>\n <spx-card-line [text]=\"txtLocation | translate | capitalize\"\n [value]=\"container.formatted.location\"></spx-card-line>\n </div>\n </spx-card>\n </ng-container>\n\n <spx-pagination\n *ngIf=\"containers.length > 0\"\n [spxPage]=\"currentPage\"\n [spxMaxPages]=\"(containers.length < (pageSize + 1)) ? (currentPage + 1) : currentPage\"\n [faArrowLeft]=\"faArrowLeft\"\n [faArrowRight]=\"faArrowRight\"\n [textPage]=\"textPage\"\n [textPrevious]=\"textPrevious\"\n [textNext]=\"textNext\"\n (spxPageChange)=\"onPageChange($event)\">\n </spx-pagination>\n</div>" }]
228
+ }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { containers: [{
204
229
  type: Input
205
- }], containers: [{
230
+ }], currentPage: [{
206
231
  type: Input
207
232
  }], depot: [{
208
233
  type: Input
209
- }], suggestions: [{
234
+ }], faArrowLeft: [{
210
235
  type: Input
211
- }], textLocation: [{
236
+ }], faArrowRight: [{
212
237
  type: Input
213
- }], textDepot: [{
238
+ }], faContainerStorage: [{
214
239
  type: Input
215
- }], textCustomer: [{
240
+ }], formGroup: [{
216
241
  type: Input
217
- }], textContainerInfo: [{
242
+ }], loaded: [{
243
+ type: Input
244
+ }], pageSize: [{
245
+ type: Input
246
+ }], suggestions: [{
218
247
  type: Input
219
248
  }], textCategory: [{
220
249
  type: Input
250
+ }], textContainerInfo: [{
251
+ type: Input
221
252
  }], textContainerStatus: [{
222
253
  type: Input
223
254
  }], textContainerType: [{
224
255
  type: Input
256
+ }], textCustomer: [{
257
+ type: Input
258
+ }], textDepot: [{
259
+ type: Input
260
+ }], textLocation: [{
261
+ type: Input
262
+ }], textNext: [{
263
+ type: Input
264
+ }], textPage: [{
265
+ type: Input
266
+ }], textPrevious: [{
267
+ type: Input
225
268
  }], textSearch: [{
226
269
  type: Input
270
+ }], txtNoResults: [{
271
+ type: Input
272
+ }], txtYouCanChangeYourFilters: [{
273
+ type: Input
274
+ }], txtType: [{
275
+ type: Input
276
+ }], txtContainerCategory: [{
277
+ type: Input
278
+ }], txtLocation: [{
279
+ type: Input
227
280
  }], spxBlurCategory: [{
228
281
  type: Output
229
282
  }], spxBlurContainerStatus: [{
@@ -232,6 +285,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
232
285
  type: Output
233
286
  }], spxBlurCustomer: [{
234
287
  type: Output
288
+ }], spxClickContainer: [{
289
+ type: Output
290
+ }], spxPageChange: [{
291
+ type: Output
235
292
  }], spxSearchCategory: [{
236
293
  type: Output
237
294
  }], spxSearchContainerType: [{
@@ -1 +1 @@
1
- {"version":3,"file":"softpak-components-spx-stock-info.mjs","sources":["../../../../projects/softpak/components/spx-stock-info/spx-stock-info.component.ts","../../../../projects/softpak/components/spx-stock-info/spx-stock-info.component.html","../../../../projects/softpak/components/spx-stock-info/softpak-components-spx-stock-info.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { spxValidatorRequired, SpxValidateControlComponent } from '@softpak/components/spx-validation';\nimport { CommonModule } from '@angular/common';\nimport { SpxInputComponent, SpxInputTypeEnum, SpxValuePair } from '@softpak/components/spx-inputs';\nimport { SpxFormButtonTypeEnum, SpxFormFieldI, SpxFormI, SpxFormViewComponent } from '@softpak/components/spx-form-view';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\nimport { SpxStockInfoValueI } from './spx-stock-info-value.interface';\n\nexport const ctrlCategory = 'ctrlCategory';\nexport const ctrlContainerStatus = 'ctrlContainerStatus';\nexport const ctrlContainerType = 'ctrlContainerType';\nexport const ctrlCustomer = 'ctrlCustomer';\nexport const ctrlDepot = 'ctrlDepot';\nexport const ctrlLocation = 'ctrlLocation';\nexport const sectionContainerInfo = 'sectionContainerInfo';\nexport const sectionCustomer = 'sectionCustomer';\nexport const sectionLocation = 'sectionLocation';\n\n@Component({\n selector: 'spx-stock-info',\n templateUrl: './spx-stock-info.component.html',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SpxButtonComponent,\n SpxFormViewComponent,\n SpxInputComponent,\n SpxValidateControlComponent,\n ]\n})\nexport class SpxStockInfoComponent {\n @Input() formGroup!: FormGroup;\n @Input() containers!: any[];\n @Input() depot!: string;\n @Input() suggestions: any = {};\n @Input() textLocation!: string;\n @Input() textDepot!: string;\n @Input() textCustomer!: string;\n @Input() textContainerInfo!: string;\n @Input() textCategory!: string;\n @Input() textContainerStatus!: string;\n @Input() textContainerType!: string;\n @Input() textSearch!: string;\n @Output() spxBlurCategory: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxBlurContainerStatus: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxBlurContainerType: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxBlurCustomer: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxSearchCategory: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxSearchContainerType: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxSearchContainerStatus: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxSearchCustomer: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxSubmit: EventEmitter<SpxStockInfoValueI> = new EventEmitter<SpxStockInfoValueI>();\n\n form: SpxFormI = {\n buttons: [\n {\n severity: SpxSeverityEnum.success,\n type: SpxFormButtonTypeEnum.submit,\n label: () => this.textSearch,\n }\n ],\n sections: [\n {\n key: sectionLocation,\n show: () => true,\n title: () => this.textLocation,\n fields: [\n {\n key: ctrlDepot,\n label: () => this.textDepot,\n type: () => SpxInputTypeEnum.text,\n defaultValue: () => this.depot,\n validators: () => [spxValidatorRequired()],\n readonly: () => true,\n suggestions: () => false,\n afterValueChange: undefined,\n show: () => true,\n capitalize: () => true,\n },\n {\n key: ctrlLocation,\n label: () => this.textLocation,\n type: () => SpxInputTypeEnum.text,\n defaultValue: () => null,\n validators: () => [],\n readonly: () => false,\n suggestions: () => false,\n afterValueChange: undefined,\n show: () => true,\n capitalize: () => true,\n },\n ]\n },\n {\n key: sectionCustomer,\n show: () => true,\n title: () => this.textCustomer,\n fields: [\n {\n key: ctrlCustomer,\n label: () => this.textCustomer,\n type: () => SpxInputTypeEnum.autocomplete,\n defaultValue: () => null,\n validators: () => [],\n readonly: () => false,\n suggestions: () => true,\n afterValueChange: undefined,\n show: () => true,\n capitalize: () => true,\n },\n ]\n },\n {\n key: sectionContainerInfo,\n show: () => true,\n title: () => this.textContainerInfo,\n fields: [\n {\n key: ctrlCategory,\n label: () => this.textCategory,\n type: () => SpxInputTypeEnum.autocomplete,\n defaultValue: () => null,\n validators: () => [],\n readonly: () => false,\n suggestions: () => true,\n afterValueChange: undefined,\n show: () => true,\n capitalize: () => true,\n },\n {\n key: ctrlContainerStatus,\n label: () => this.textContainerStatus,\n type: () => SpxInputTypeEnum.autocomplete,\n defaultValue: () => null,\n validators: () => [],\n readonly: () => false,\n suggestions: () => true,\n afterValueChange: undefined,\n show: () => true,\n capitalize: () => true,\n },\n {\n key: ctrlContainerType,\n label: () => this.textContainerType,\n type: () => SpxInputTypeEnum.autocomplete,\n defaultValue: () => null,\n validators: () => [],\n readonly: () => false,\n suggestions: () => true,\n afterValueChange: undefined,\n show: () => true,\n capitalize: () => true,\n },\n ]\n },\n ]\n };\n\n get ctrlCategory(): FormControl { return this.formGroup.get(ctrlCategory) as FormControl; }\n get ctrlContainerStatus(): FormControl { return this.formGroup.get(ctrlContainerStatus) as FormControl; }\n get ctrlContainerType(): FormControl { return this.formGroup.get(ctrlContainerType) as FormControl; }\n get ctrlCustomer(): FormControl { return this.formGroup.get(ctrlCustomer) as FormControl; }\n get ctrlDepot(): FormControl { return this.formGroup.get(ctrlDepot) as FormControl; }\n get ctrlLocation(): FormControl { return this.formGroup.get(ctrlLocation) as FormControl; }\n\n constructor(readonly formBuilder: FormBuilder) {\n }\n\n createForm(): FormGroup {\n return SpxFormViewComponent.createForm(this.formBuilder, this.form.sections);\n }\n\n getRawValidators(formControl: FormControl) {\n return (formControl as any)._rawValidators;\n }\n\n onBlur(data: { field: SpxFormFieldI, valuePair: SpxValuePair<any> }) {\n if (data.field.key === ctrlCategory) {\n this.spxBlurCategory.emit(data.valuePair);\n }\n if (data.field.key === ctrlContainerStatus) {\n this.spxBlurContainerStatus.emit(data.valuePair);\n }\n if (data.field.key === ctrlContainerType) {\n this.spxBlurContainerType.emit(data.valuePair);\n }\n if (data.field.key === ctrlCustomer) {\n this.spxBlurCustomer.emit(data.valuePair);\n }\n }\n\n onSearch(data: { field: SpxFormFieldI, valuePair: SpxValuePair<any> }) {\n if (data.field.key === ctrlCategory) {\n this.spxSearchCategory.emit(data.valuePair);\n }\n if (data.field.key === ctrlContainerType) {\n this.spxSearchContainerType.emit(data.valuePair);\n }\n if (data.field.key === ctrlContainerStatus) {\n this.spxSearchContainerStatus.emit(data.valuePair);\n }\n if (data.field.key === ctrlCustomer) {\n this.spxSearchCustomer.emit(data.valuePair);\n }\n }\n\n onSubmit(): void {\n this.spxSubmit.emit({\n ctrlCategory: this.ctrlCategory.value,\n ctrlContainerStatus: this.ctrlContainerStatus.value,\n ctrlContainerType: this.ctrlContainerType.value,\n ctrlCustomer: this.ctrlContainerType.value,\n ctrlDepot: this.ctrlDepot.value,\n ctrlLocation: this.ctrlLocation.value,\n });\n }\n}\n","<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxForm]=\"form\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n</form>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"softpak-components-spx-stock-info.mjs","sources":["../../../../projects/softpak/components/spx-stock-info/spx-stock-info.component.ts","../../../../projects/softpak/components/spx-stock-info/spx-stock-info.component.html","../../../../projects/softpak/components/spx-stock-info/softpak-components-spx-stock-info.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { spxValidatorRequired, SpxValidateControlComponent } from '@softpak/components/spx-validation';\nimport { CommonModule } from '@angular/common';\nimport { SpxInputComponent, SpxInputTypeEnum, SpxValuePair } from '@softpak/components/spx-inputs';\nimport { SpxFormButtonTypeEnum, SpxFormFieldI, SpxFormI, SpxFormViewComponent } from '@softpak/components/spx-form-view';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\nimport { SpxStockInfoValueI } from './spx-stock-info-value.interface';\nimport { SpxPaginationComponent } from '@softpak/components/spx-pagination';\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\nimport { SpxAlertComponent } from '@softpak/components/spx-alert';\nimport { SpxCardComponent, SpxCardLineComponent } from '@softpak/components/spx-card';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nexport const ctrlCategory = 'ctrlCategory';\nexport const ctrlContainerStatus = 'ctrlContainerStatus';\nexport const ctrlContainerType = 'ctrlContainerType';\nexport const ctrlCustomer = 'ctrlCustomer';\nexport const ctrlDepot = 'ctrlDepot';\nexport const ctrlLocation = 'ctrlLocation';\nexport const sectionContainerInfo = 'sectionContainerInfo';\nexport const sectionCustomer = 'sectionCustomer';\nexport const sectionLocation = 'sectionLocation';\n\n@Component({\n selector: 'spx-stock-info',\n templateUrl: './spx-stock-info.component.html',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n FontAwesomeModule,\n ReactiveFormsModule,\n SpxAlertComponent,\n SpxButtonComponent,\n SpxCapitalizePipe,\n SpxCardComponent,\n SpxCardLineComponent,\n SpxFormViewComponent,\n SpxInputComponent,\n SpxPaginationComponent,\n SpxValidateControlComponent,\n TranslateModule,\n ]\n})\nexport class SpxStockInfoComponent {\n @Input() containers!: any[];\n @Input() currentPage!: number;\n @Input() depot!: string;\n @Input() faArrowLeft!: IconProp;\n @Input() faArrowRight!: IconProp;\n @Input() faContainerStorage!: IconProp;\n @Input() formGroup!: FormGroup;\n @Input() loaded!: boolean;\n @Input() pageSize!: number;\n @Input() suggestions: any = {};\n @Input() textCategory!: string;\n @Input() textContainerInfo!: string;\n @Input() textContainerStatus!: string;\n @Input() textContainerType!: string;\n @Input() textCustomer!: string;\n @Input() textDepot!: string;\n @Input() textLocation!: string;\n @Input() textNext!: string;\n @Input() textPage!: string;\n @Input() textPrevious!: string;\n @Input() textSearch!: string;\n @Input() txtNoResults!: string;\n @Input() txtYouCanChangeYourFilters!: string;\n @Input() txtType!: string;\n @Input() txtContainerCategory!: string;\n @Input() txtLocation!: string;\n @Output() spxBlurCategory: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxBlurContainerStatus: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxBlurContainerType: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxBlurCustomer: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxClickContainer: EventEmitter<any> = new EventEmitter<any>();\n @Output() spxPageChange: EventEmitter<number> = new EventEmitter<number>();\n @Output() spxSearchCategory: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxSearchContainerType: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxSearchContainerStatus: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxSearchCustomer: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxSubmit: EventEmitter<SpxStockInfoValueI> = new EventEmitter<SpxStockInfoValueI>();\n severityInfo = SpxSeverityEnum.info;\n\n\n form: SpxFormI = {\n buttons: [\n {\n severity: SpxSeverityEnum.success,\n type: SpxFormButtonTypeEnum.submit,\n label: () => this.textSearch,\n }\n ],\n sections: [\n {\n key: sectionLocation,\n show: () => true,\n title: () => this.textLocation,\n fields: [\n {\n key: ctrlDepot,\n label: () => this.textDepot,\n type: () => SpxInputTypeEnum.text,\n defaultValue: () => this.depot,\n validators: () => [spxValidatorRequired()],\n readonly: () => true,\n suggestions: () => false,\n afterValueChange: undefined,\n show: () => true,\n capitalize: () => true,\n },\n {\n key: ctrlLocation,\n label: () => this.textLocation,\n type: () => SpxInputTypeEnum.text,\n defaultValue: () => null,\n validators: () => [],\n readonly: () => false,\n suggestions: () => false,\n afterValueChange: undefined,\n show: () => true,\n capitalize: () => true,\n },\n ]\n },\n {\n key: sectionCustomer,\n show: () => true,\n title: () => this.textCustomer,\n fields: [\n {\n key: ctrlCustomer,\n label: () => this.textCustomer,\n type: () => SpxInputTypeEnum.autocomplete,\n defaultValue: () => null,\n validators: () => [],\n readonly: () => false,\n suggestions: () => true,\n afterValueChange: undefined,\n show: () => true,\n capitalize: () => true,\n },\n ]\n },\n {\n key: sectionContainerInfo,\n show: () => true,\n title: () => this.textContainerInfo,\n fields: [\n {\n key: ctrlCategory,\n label: () => this.textCategory,\n type: () => SpxInputTypeEnum.autocomplete,\n defaultValue: () => null,\n validators: () => [],\n readonly: () => false,\n suggestions: () => true,\n afterValueChange: undefined,\n show: () => true,\n capitalize: () => true,\n },\n {\n key: ctrlContainerStatus,\n label: () => this.textContainerStatus,\n type: () => SpxInputTypeEnum.autocomplete,\n defaultValue: () => null,\n validators: () => [],\n readonly: () => false,\n suggestions: () => true,\n afterValueChange: undefined,\n show: () => true,\n capitalize: () => true,\n },\n {\n key: ctrlContainerType,\n label: () => this.textContainerType,\n type: () => SpxInputTypeEnum.autocomplete,\n defaultValue: () => null,\n validators: () => [],\n readonly: () => false,\n suggestions: () => true,\n afterValueChange: undefined,\n show: () => true,\n capitalize: () => true,\n },\n ]\n },\n ]\n };\n\n get ctrlCategory(): FormControl { return this.formGroup.get(ctrlCategory) as FormControl; }\n get ctrlContainerStatus(): FormControl { return this.formGroup.get(ctrlContainerStatus) as FormControl; }\n get ctrlContainerType(): FormControl { return this.formGroup.get(ctrlContainerType) as FormControl; }\n get ctrlCustomer(): FormControl { return this.formGroup.get(ctrlCustomer) as FormControl; }\n get ctrlDepot(): FormControl { return this.formGroup.get(ctrlDepot) as FormControl; }\n get ctrlLocation(): FormControl { return this.formGroup.get(ctrlLocation) as FormControl; }\n\n constructor(readonly formBuilder: FormBuilder) {\n }\n\n createForm(): FormGroup {\n return SpxFormViewComponent.createForm(this.formBuilder, this.form.sections);\n }\n\n getRawValidators(formControl: FormControl) {\n return (formControl as any)._rawValidators;\n }\n\n onBlur(data: { field: SpxFormFieldI, valuePair: SpxValuePair<any> }) {\n if (data.field.key === ctrlCategory) {\n this.spxBlurCategory.emit(data.valuePair);\n }\n if (data.field.key === ctrlContainerStatus) {\n this.spxBlurContainerStatus.emit(data.valuePair);\n }\n if (data.field.key === ctrlContainerType) {\n this.spxBlurContainerType.emit(data.valuePair);\n }\n if (data.field.key === ctrlCustomer) {\n this.spxBlurCustomer.emit(data.valuePair);\n }\n }\n\n onSearch(data: { field: SpxFormFieldI, valuePair: SpxValuePair<any> }) {\n if (data.field.key === ctrlCategory) {\n this.spxSearchCategory.emit(data.valuePair);\n }\n if (data.field.key === ctrlContainerType) {\n this.spxSearchContainerType.emit(data.valuePair);\n }\n if (data.field.key === ctrlContainerStatus) {\n this.spxSearchContainerStatus.emit(data.valuePair);\n }\n if (data.field.key === ctrlCustomer) {\n this.spxSearchCustomer.emit(data.valuePair);\n }\n }\n\n onPageChange(page: number) {\n this.spxPageChange.emit(page);\n }\n\n goToContainer(container: any) {\n this.spxClickContainer.emit(container);\n }\n\n onSubmit(): void {\n this.spxSubmit.emit({\n ctrlCategory: this.ctrlCategory.value,\n ctrlContainerStatus: this.ctrlContainerStatus.value,\n ctrlContainerType: this.ctrlContainerType.value,\n ctrlCustomer: this.ctrlContainerType.value,\n ctrlDepot: this.ctrlDepot.value,\n ctrlLocation: this.ctrlLocation.value,\n });\n }\n}\n","<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxForm]=\"form\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n</form>\n\n<div class=\"flex flex-col gap-3\" *ngIf=\"loaded\">\n <spx-pagination\n *ngIf=\"containers.length > 0\"\n [spxPage]=\"currentPage\"\n [spxMaxPages]=\"(containers.length < (pageSize + 1)) ? (currentPage + 1) : currentPage\"\n [faArrowLeft]=\"faArrowLeft\"\n [faArrowRight]=\"faArrowRight\"\n [textPage]=\"textPage\"\n [textPrevious]=\"textPrevious\"\n [textNext]=\"textNext\"\n (spxPageChange)=\"onPageChange($event)\">\n </spx-pagination>\n\n <spx-alert *ngIf=\"containers.length === 0\" [spxSeverity]=\"severityInfo\" [spxTitle]=\"txtNoResults | translate | capitalize\">\n {{ txtYouCanChangeYourFilters | translate | capitalize }}\n </spx-alert>\n\n <ng-container *ngFor=\"let container of containers; let i = index;\">\n <spx-card *ngIf=\"i < pageSize\" [hasContent]=\"false\" (clicked)=\"goToContainer(container)\">\n <div card-header class=\"card-header rounded-t-lg p-3 bg-sky-200\">\n <div class=\"flex flex-row space-x-3 items-center w-full\">\n <div\n class=\"card-header-icon-left flex basis-10 py-1.5 shrink-0 grow-0 place-items-center rounded bg-sky-400\">\n <fa-icon class=\"mx-auto\" [icon]=\"faContainerStorage\"></fa-icon>\n </div>\n \n <div class=\"card-header-text-middle grow\">\n <div class=\"block font-medium text-large\">{{ container.formatted.containerNumber }}</div>\n </div>\n \n <div\n class=\"card-header-icons-right text-sm text-gray-900 leading-5 flex flex-wrap items-stretch text-center font-bold\">\n <div *ngIf=\"container.containerStatus\" class=\"min-w-[36px] px-2 py-1 bg-white text-black\"> {{\n container.formatted.containerStatus }}</div>\n </div>\n </div>\n </div>\n <div card-lines class=\"grid grid-cols-2 gap-2\">\n <spx-card-line [text]=\"txtType | translate | capitalize\"\n [value]=\"container.formatted.containerType\"></spx-card-line>\n <spx-card-line [text]=\"txtContainerCategory | translate | capitalize\"\n [value]=\"container.formatted.category\"></spx-card-line>\n <spx-card-line [text]=\"txtLocation | translate | capitalize\"\n [value]=\"container.formatted.location\"></spx-card-line>\n </div>\n </spx-card>\n </ng-container>\n\n <spx-pagination\n *ngIf=\"containers.length > 0\"\n [spxPage]=\"currentPage\"\n [spxMaxPages]=\"(containers.length < (pageSize + 1)) ? (currentPage + 1) : currentPage\"\n [faArrowLeft]=\"faArrowLeft\"\n [faArrowRight]=\"faArrowRight\"\n [textPage]=\"textPage\"\n [textPrevious]=\"textPrevious\"\n [textNext]=\"textNext\"\n (spxPageChange)=\"onPageChange($event)\">\n </spx-pagination>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softpak/components",
3
- "version": "0.1.8-beta.15",
3
+ "version": "0.1.8-beta.16",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "15.x.x || 18.x.x",
@@ -34,18 +34,18 @@
34
34
  "esm": "./esm2022/spx-alert/softpak-components-spx-alert.mjs",
35
35
  "default": "./fesm2022/softpak-components-spx-alert.mjs"
36
36
  },
37
- "./spx-app-expiry": {
38
- "types": "./spx-app-expiry/index.d.ts",
39
- "esm2022": "./esm2022/spx-app-expiry/softpak-components-spx-app-expiry.mjs",
40
- "esm": "./esm2022/spx-app-expiry/softpak-components-spx-app-expiry.mjs",
41
- "default": "./fesm2022/softpak-components-spx-app-expiry.mjs"
42
- },
43
37
  "./spx-app-configuration": {
44
38
  "types": "./spx-app-configuration/index.d.ts",
45
39
  "esm2022": "./esm2022/spx-app-configuration/softpak-components-spx-app-configuration.mjs",
46
40
  "esm": "./esm2022/spx-app-configuration/softpak-components-spx-app-configuration.mjs",
47
41
  "default": "./fesm2022/softpak-components-spx-app-configuration.mjs"
48
42
  },
43
+ "./spx-app-expiry": {
44
+ "types": "./spx-app-expiry/index.d.ts",
45
+ "esm2022": "./esm2022/spx-app-expiry/softpak-components-spx-app-expiry.mjs",
46
+ "esm": "./esm2022/spx-app-expiry/softpak-components-spx-app-expiry.mjs",
47
+ "default": "./fesm2022/softpak-components-spx-app-expiry.mjs"
48
+ },
49
49
  "./spx-app-update": {
50
50
  "types": "./spx-app-update/index.d.ts",
51
51
  "esm2022": "./esm2022/spx-app-update/softpak-components-spx-app-update.mjs",
@@ -70,18 +70,18 @@
70
70
  "esm": "./esm2022/spx-card/softpak-components-spx-card.mjs",
71
71
  "default": "./fesm2022/softpak-components-spx-card.mjs"
72
72
  },
73
- "./spx-channel-selection": {
74
- "types": "./spx-channel-selection/index.d.ts",
75
- "esm2022": "./esm2022/spx-channel-selection/softpak-components-spx-channel-selection.mjs",
76
- "esm": "./esm2022/spx-channel-selection/softpak-components-spx-channel-selection.mjs",
77
- "default": "./fesm2022/softpak-components-spx-channel-selection.mjs"
78
- },
79
73
  "./spx-change-details": {
80
74
  "types": "./spx-change-details/index.d.ts",
81
75
  "esm2022": "./esm2022/spx-change-details/softpak-components-spx-change-details.mjs",
82
76
  "esm": "./esm2022/spx-change-details/softpak-components-spx-change-details.mjs",
83
77
  "default": "./fesm2022/softpak-components-spx-change-details.mjs"
84
78
  },
79
+ "./spx-channel-selection": {
80
+ "types": "./spx-channel-selection/index.d.ts",
81
+ "esm2022": "./esm2022/spx-channel-selection/softpak-components-spx-channel-selection.mjs",
82
+ "esm": "./esm2022/spx-channel-selection/softpak-components-spx-channel-selection.mjs",
83
+ "default": "./fesm2022/softpak-components-spx-channel-selection.mjs"
84
+ },
85
85
  "./spx-check-digit": {
86
86
  "types": "./spx-check-digit/index.d.ts",
87
87
  "esm2022": "./esm2022/spx-check-digit/softpak-components-spx-check-digit.mjs",
@@ -2,7 +2,9 @@ import { EventEmitter } from '@angular/core';
2
2
  import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
3
3
  import { SpxValuePair } from '@softpak/components/spx-inputs';
4
4
  import { SpxFormFieldI, SpxFormI } from '@softpak/components/spx-form-view';
5
+ import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
5
6
  import { SpxStockInfoValueI } from './spx-stock-info-value.interface';
7
+ import { IconProp } from '@fortawesome/fontawesome-svg-core';
6
8
  import * as i0 from "@angular/core";
7
9
  export declare const ctrlCategory = "ctrlCategory";
8
10
  export declare const ctrlContainerStatus = "ctrlContainerStatus";
@@ -15,27 +17,44 @@ export declare const sectionCustomer = "sectionCustomer";
15
17
  export declare const sectionLocation = "sectionLocation";
16
18
  export declare class SpxStockInfoComponent {
17
19
  readonly formBuilder: FormBuilder;
18
- formGroup: FormGroup;
19
20
  containers: any[];
21
+ currentPage: number;
20
22
  depot: string;
23
+ faArrowLeft: IconProp;
24
+ faArrowRight: IconProp;
25
+ faContainerStorage: IconProp;
26
+ formGroup: FormGroup;
27
+ loaded: boolean;
28
+ pageSize: number;
21
29
  suggestions: any;
22
- textLocation: string;
23
- textDepot: string;
24
- textCustomer: string;
25
- textContainerInfo: string;
26
30
  textCategory: string;
31
+ textContainerInfo: string;
27
32
  textContainerStatus: string;
28
33
  textContainerType: string;
34
+ textCustomer: string;
35
+ textDepot: string;
36
+ textLocation: string;
37
+ textNext: string;
38
+ textPage: string;
39
+ textPrevious: string;
29
40
  textSearch: string;
41
+ txtNoResults: string;
42
+ txtYouCanChangeYourFilters: string;
43
+ txtType: string;
44
+ txtContainerCategory: string;
45
+ txtLocation: string;
30
46
  spxBlurCategory: EventEmitter<SpxValuePair<string>>;
31
47
  spxBlurContainerStatus: EventEmitter<SpxValuePair<string>>;
32
48
  spxBlurContainerType: EventEmitter<SpxValuePair<string>>;
33
49
  spxBlurCustomer: EventEmitter<SpxValuePair<string>>;
50
+ spxClickContainer: EventEmitter<any>;
51
+ spxPageChange: EventEmitter<number>;
34
52
  spxSearchCategory: EventEmitter<SpxValuePair<string>>;
35
53
  spxSearchContainerType: EventEmitter<SpxValuePair<string>>;
36
54
  spxSearchContainerStatus: EventEmitter<SpxValuePair<string>>;
37
55
  spxSearchCustomer: EventEmitter<SpxValuePair<string>>;
38
56
  spxSubmit: EventEmitter<SpxStockInfoValueI>;
57
+ severityInfo: SpxSeverityEnum;
39
58
  form: SpxFormI;
40
59
  get ctrlCategory(): FormControl;
41
60
  get ctrlContainerStatus(): FormControl;
@@ -54,7 +73,9 @@ export declare class SpxStockInfoComponent {
54
73
  field: SpxFormFieldI;
55
74
  valuePair: SpxValuePair<any>;
56
75
  }): void;
76
+ onPageChange(page: number): void;
77
+ goToContainer(container: any): void;
57
78
  onSubmit(): void;
58
79
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxStockInfoComponent, never>;
59
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxStockInfoComponent, "spx-stock-info", never, { "formGroup": { "alias": "formGroup"; "required": false; }; "containers": { "alias": "containers"; "required": false; }; "depot": { "alias": "depot"; "required": false; }; "suggestions": { "alias": "suggestions"; "required": false; }; "textLocation": { "alias": "textLocation"; "required": false; }; "textDepot": { "alias": "textDepot"; "required": false; }; "textCustomer": { "alias": "textCustomer"; "required": false; }; "textContainerInfo": { "alias": "textContainerInfo"; "required": false; }; "textCategory": { "alias": "textCategory"; "required": false; }; "textContainerStatus": { "alias": "textContainerStatus"; "required": false; }; "textContainerType": { "alias": "textContainerType"; "required": false; }; "textSearch": { "alias": "textSearch"; "required": false; }; }, { "spxBlurCategory": "spxBlurCategory"; "spxBlurContainerStatus": "spxBlurContainerStatus"; "spxBlurContainerType": "spxBlurContainerType"; "spxBlurCustomer": "spxBlurCustomer"; "spxSearchCategory": "spxSearchCategory"; "spxSearchContainerType": "spxSearchContainerType"; "spxSearchContainerStatus": "spxSearchContainerStatus"; "spxSearchCustomer": "spxSearchCustomer"; "spxSubmit": "spxSubmit"; }, never, never, true, never>;
80
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxStockInfoComponent, "spx-stock-info", never, { "containers": { "alias": "containers"; "required": false; }; "currentPage": { "alias": "currentPage"; "required": false; }; "depot": { "alias": "depot"; "required": false; }; "faArrowLeft": { "alias": "faArrowLeft"; "required": false; }; "faArrowRight": { "alias": "faArrowRight"; "required": false; }; "faContainerStorage": { "alias": "faContainerStorage"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "loaded": { "alias": "loaded"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "suggestions": { "alias": "suggestions"; "required": false; }; "textCategory": { "alias": "textCategory"; "required": false; }; "textContainerInfo": { "alias": "textContainerInfo"; "required": false; }; "textContainerStatus": { "alias": "textContainerStatus"; "required": false; }; "textContainerType": { "alias": "textContainerType"; "required": false; }; "textCustomer": { "alias": "textCustomer"; "required": false; }; "textDepot": { "alias": "textDepot"; "required": false; }; "textLocation": { "alias": "textLocation"; "required": false; }; "textNext": { "alias": "textNext"; "required": false; }; "textPage": { "alias": "textPage"; "required": false; }; "textPrevious": { "alias": "textPrevious"; "required": false; }; "textSearch": { "alias": "textSearch"; "required": false; }; "txtNoResults": { "alias": "txtNoResults"; "required": false; }; "txtYouCanChangeYourFilters": { "alias": "txtYouCanChangeYourFilters"; "required": false; }; "txtType": { "alias": "txtType"; "required": false; }; "txtContainerCategory": { "alias": "txtContainerCategory"; "required": false; }; "txtLocation": { "alias": "txtLocation"; "required": false; }; }, { "spxBlurCategory": "spxBlurCategory"; "spxBlurContainerStatus": "spxBlurContainerStatus"; "spxBlurContainerType": "spxBlurContainerType"; "spxBlurCustomer": "spxBlurCustomer"; "spxClickContainer": "spxClickContainer"; "spxPageChange": "spxPageChange"; "spxSearchCategory": "spxSearchCategory"; "spxSearchContainerType": "spxSearchContainerType"; "spxSearchContainerStatus": "spxSearchContainerStatus"; "spxSearchCustomer": "spxSearchCustomer"; "spxSubmit": "spxSubmit"; }, never, never, true, never>;
60
81
  }
package/tailwind.css CHANGED
@@ -1 +1 @@
1
- /*! tailwindcss v3.4.4 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.bottom-16{bottom:4rem}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.top-0{top:0}.top-1\/2{top:50%}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.m-3{margin:.75rem}.m-auto{margin:auto}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-3{margin-top:.75rem}.mt-32{margin-top:8rem}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-4{height:1rem}.h-5{height:1.25rem}.h-\[150px\]{height:150px}.h-\[30px\]{height:30px}.h-full{height:100%}.w-16{width:4rem}.w-24{width:6rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-96{width:24rem}.w-\[150px\]{width:150px}.w-\[30px\]{width:30px}.w-full{width:100%}.max-w-96{max-width:24rem}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-center{align-content:center}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-around{justify-content:space-around}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;white-space:nowrap}.text-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-lg{border-bottom-left-radius:.5rem}.rounded-b-lg,.rounded-r-lg{border-bottom-right-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-t-4{border-top-width:4px}.border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity))}.border-cyan-500{--tw-border-opacity:1;border-color:rgb(6 182 212/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-lime-500{--tw-border-opacity:1;border-color:rgb(132 204 22/var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity))}.border-transparent{border-color:#0000}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity))}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-cyan-100{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-lime-100{--tw-bg-opacity:1;background-color:rgb(236 252 203/var(--tw-bg-opacity))}.bg-lime-600{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity))}.bg-neutral-700{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity))}.bg-sky-600{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity))}.bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity))}.bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity))}.bg-teal-700{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-300{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity))}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-2{padding-bottom:.5rem}.pl-3{padding-left:.75rem}.pt-1{padding-top:.25rem}.pt-16{padding-top:4rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-5{line-height:1.25rem}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity))}.text-cyan-900{--tw-text-opacity:1;color:rgb(22 78 99/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-lime-600{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity))}.text-lime-900{--tw-text-opacity:1;color:rgb(54 83 20/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.ring-offset-2{--tw-ring-offset-width:2px}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:bg-amber-200:hover{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity))}.hover\:bg-amber-600:hover{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity))}.hover\:bg-amber-800:hover{--tw-bg-opacity:1;background-color:rgb(146 64 14/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity))}.hover\:bg-cyan-200:hover{--tw-bg-opacity:1;background-color:rgb(165 243 252/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-lime-200:hover{--tw-bg-opacity:1;background-color:rgb(217 249 157/var(--tw-bg-opacity))}.hover\:bg-lime-600:hover{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity))}.hover\:bg-lime-800:hover{--tw-bg-opacity:1;background-color:rgb(63 98 18/var(--tw-bg-opacity))}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.hover\:bg-red-800:hover{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity))}.hover\:bg-sky-300:hover{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-amber-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity))}.focus\:ring-amber-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(217 119 6/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.focus\:ring-cyan-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(8 145 178/var(--tw-ring-opacity))}.focus\:ring-lime-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(132 204 22/var(--tw-ring-opacity))}.focus\:ring-lime-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(101 163 13/var(--tw-ring-opacity))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity))}.focus\:ring-red-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity))}.focus\:ring-sky-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(125 211 252/var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.active\:bg-sky-300:active{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity))}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.dark\:bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.dark\:bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark\:text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.dark\:text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\:brightness-\[1\.10\]{--tw-brightness:brightness(1.10)}.dark\:brightness-\[1\.10\],.dark\:contrast-\[\.76\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.dark\:contrast-\[\.76\]{--tw-contrast:contrast(.76)}.dark\:hue-rotate-\[156deg\]{--tw-hue-rotate:hue-rotate(156deg)}.dark\:hue-rotate-\[156deg\],.dark\:invert-\[1\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.dark\:invert-\[1\]{--tw-invert:invert(1)}.dark\:saturate-\[\.10\]{--tw-saturate:saturate(.10)}.dark\:saturate-\[\.10\],.dark\:sepia-\[\.04\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.dark\:sepia-\[\.04\]{--tw-sepia:sepia(.04)}}
1
+ /*! tailwindcss v3.4.4 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.bottom-16{bottom:4rem}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.top-0{top:0}.top-1\/2{top:50%}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.m-3{margin:.75rem}.m-auto{margin:auto}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-3{margin-top:.75rem}.mt-32{margin-top:8rem}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-4{height:1rem}.h-5{height:1.25rem}.h-\[150px\]{height:150px}.h-\[30px\]{height:30px}.h-full{height:100%}.w-16{width:4rem}.w-24{width:6rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-96{width:24rem}.w-\[150px\]{width:150px}.w-\[30px\]{width:30px}.w-full{width:100%}.min-w-\[36px\]{min-width:36px}.max-w-96{max-width:24rem}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-10{flex-basis:2.5rem}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-center{align-content:center}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-around{justify-content:space-around}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;white-space:nowrap}.text-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-lg{border-bottom-left-radius:.5rem}.rounded-b-lg,.rounded-r-lg{border-bottom-right-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-t-4{border-top-width:4px}.border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity))}.border-cyan-500{--tw-border-opacity:1;border-color:rgb(6 182 212/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-lime-500{--tw-border-opacity:1;border-color:rgb(132 204 22/var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity))}.border-transparent{border-color:#0000}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity))}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-cyan-100{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-lime-100{--tw-bg-opacity:1;background-color:rgb(236 252 203/var(--tw-bg-opacity))}.bg-lime-600{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity))}.bg-neutral-700{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity))}.bg-sky-200{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity))}.bg-sky-400{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity))}.bg-sky-600{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity))}.bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity))}.bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity))}.bg-teal-700{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-300{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity))}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-2{padding-bottom:.5rem}.pl-3{padding-left:.75rem}.pt-1{padding-top:.25rem}.pt-16{padding-top:4rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-5{line-height:1.25rem}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity))}.text-cyan-900{--tw-text-opacity:1;color:rgb(22 78 99/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-lime-600{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity))}.text-lime-900{--tw-text-opacity:1;color:rgb(54 83 20/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.ring-offset-2{--tw-ring-offset-width:2px}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:bg-amber-200:hover{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity))}.hover\:bg-amber-600:hover{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity))}.hover\:bg-amber-800:hover{--tw-bg-opacity:1;background-color:rgb(146 64 14/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity))}.hover\:bg-cyan-200:hover{--tw-bg-opacity:1;background-color:rgb(165 243 252/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-lime-200:hover{--tw-bg-opacity:1;background-color:rgb(217 249 157/var(--tw-bg-opacity))}.hover\:bg-lime-600:hover{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity))}.hover\:bg-lime-800:hover{--tw-bg-opacity:1;background-color:rgb(63 98 18/var(--tw-bg-opacity))}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.hover\:bg-red-800:hover{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity))}.hover\:bg-sky-300:hover{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-amber-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity))}.focus\:ring-amber-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(217 119 6/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.focus\:ring-cyan-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(8 145 178/var(--tw-ring-opacity))}.focus\:ring-lime-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(132 204 22/var(--tw-ring-opacity))}.focus\:ring-lime-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(101 163 13/var(--tw-ring-opacity))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity))}.focus\:ring-red-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity))}.focus\:ring-sky-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(125 211 252/var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.active\:bg-sky-300:active{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity))}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.dark\:bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.dark\:bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark\:text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.dark\:text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\:brightness-\[1\.10\]{--tw-brightness:brightness(1.10)}.dark\:brightness-\[1\.10\],.dark\:contrast-\[\.76\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.dark\:contrast-\[\.76\]{--tw-contrast:contrast(.76)}.dark\:hue-rotate-\[156deg\]{--tw-hue-rotate:hue-rotate(156deg)}.dark\:hue-rotate-\[156deg\],.dark\:invert-\[1\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.dark\:invert-\[1\]{--tw-invert:invert(1)}.dark\:saturate-\[\.10\]{--tw-saturate:saturate(.10)}.dark\:saturate-\[\.10\],.dark\:sepia-\[\.04\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.dark\:sepia-\[\.04\]{--tw-sepia:sepia(.04)}}