@softpak/components 19.19.0 → 19.21.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/fesm2022/softpak-components-spx-alert.mjs +7 -6
  2. package/fesm2022/softpak-components-spx-alert.mjs.map +1 -1
  3. package/fesm2022/softpak-components-spx-app-expiry.mjs +23 -91
  4. package/fesm2022/softpak-components-spx-app-expiry.mjs.map +1 -1
  5. package/fesm2022/softpak-components-spx-button.mjs +8 -22
  6. package/fesm2022/softpak-components-spx-button.mjs.map +1 -1
  7. package/fesm2022/softpak-components-spx-card.mjs +17 -88
  8. package/fesm2022/softpak-components-spx-card.mjs.map +1 -1
  9. package/fesm2022/softpak-components-spx-change-details.mjs +59 -104
  10. package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -1
  11. package/fesm2022/softpak-components-spx-check-digit.mjs +24 -28
  12. package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
  13. package/fesm2022/softpak-components-spx-confirm.mjs.map +1 -1
  14. package/fesm2022/softpak-components-spx-form-section.mjs +8 -33
  15. package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -1
  16. package/fesm2022/softpak-components-spx-form-view.mjs +39 -53
  17. package/fesm2022/softpak-components-spx-form-view.mjs.map +1 -1
  18. package/fesm2022/softpak-components-spx-inputs.mjs +15 -6
  19. package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
  20. package/fesm2022/softpak-components-spx-navigation.mjs +34 -89
  21. package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -1
  22. package/fesm2022/softpak-components-spx-number-check.mjs +91 -198
  23. package/fesm2022/softpak-components-spx-number-check.mjs.map +1 -1
  24. package/fesm2022/softpak-components-spx-pagination.mjs +12 -21
  25. package/fesm2022/softpak-components-spx-pagination.mjs.map +1 -1
  26. package/fesm2022/softpak-components-spx-patch.mjs +8 -39
  27. package/fesm2022/softpak-components-spx-patch.mjs.map +1 -1
  28. package/fesm2022/softpak-components-spx-progress-bar.mjs +8 -22
  29. package/fesm2022/softpak-components-spx-progress-bar.mjs.map +1 -1
  30. package/fesm2022/softpak-components-spx-spinner.mjs +15 -160
  31. package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -1
  32. package/fesm2022/softpak-components-spx-stock-info.mjs +71 -128
  33. package/fesm2022/softpak-components-spx-stock-info.mjs.map +1 -1
  34. package/fesm2022/softpak-components-spx-toaster.mjs +35 -162
  35. package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -1
  36. package/fesm2022/softpak-components-spx-update.mjs +3 -3
  37. package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
  38. package/fesm2022/softpak-components-spx-validation.mjs +56 -55
  39. package/fesm2022/softpak-components-spx-validation.mjs.map +1 -1
  40. package/package.json +23 -23
  41. package/spx-alert/spx-alert.component.d.ts +1 -1
  42. package/spx-app-expiry/spx-app-expiry.component.d.ts +14 -14
  43. package/spx-button/spx-button.component.d.ts +0 -3
  44. package/spx-card/spx-card-item/spx-card-item.component.d.ts +0 -1
  45. package/spx-card/spx-card.component.d.ts +8 -9
  46. package/spx-change-details/spx-change-details.component.d.ts +23 -25
  47. package/spx-check-digit/spx-check-digit.component.d.ts +9 -9
  48. package/spx-form-section/spx-form-section.component.d.ts +5 -5
  49. package/spx-form-view/spx-autocomplete-search.component.d.ts +15 -16
  50. package/spx-form-view/spx-form-view.component.d.ts +1 -1
  51. package/spx-inputs/spx-input-text/spx-input-text.component.d.ts +4 -1
  52. package/spx-inputs/spx-input.component.d.ts +1 -0
  53. package/spx-navigation/public-api.d.ts +2 -2
  54. package/spx-navigation/spx-home-tile/spx-home-tile.component.d.ts +11 -0
  55. package/spx-navigation/{spx-home-tiles.component.d.ts → spx-home-tile/spx-home-tiles.component.d.ts} +2 -2
  56. package/spx-navigation/spx-navigation.component.d.ts +11 -8
  57. package/spx-number-check/spx-number-check.component.d.ts +26 -32
  58. package/spx-pagination/spx-pagination.component.d.ts +9 -10
  59. package/spx-patch/spx-patch.component.d.ts +4 -4
  60. package/spx-progress-bar/spx-progress-bar.component.d.ts +3 -3
  61. package/spx-spinner/spx-spinner.component.d.ts +3 -3
  62. package/spx-stock-info/spx-stock-info.component.d.ts +48 -49
  63. package/spx-toaster/src/spx-toaster-message.interface.d.ts +5 -1
  64. package/spx-toaster/src/spx-toaster.component.d.ts +6 -14
  65. package/spx-validation/spx-validate-control.component.d.ts +22 -20
  66. package/tailwind.css +1 -1
  67. package/spx-navigation/spx-home-tile.component.d.ts +0 -11
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, Input, Output } from '@angular/core';
2
+ import { input, output, computed, Component, ChangeDetectionStrategy } from '@angular/core';
3
3
  import * as i1 from '@angular/forms';
4
4
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5
5
  import { spxValidatorRequired } from '@softpak/components/spx-validation';
@@ -26,54 +26,70 @@ const sectionContainerInfo = 'sectionContainerInfo';
26
26
  const sectionCustomer = 'sectionCustomer';
27
27
  const sectionLocation = 'sectionLocation';
28
28
  class SpxStockInfoComponent {
29
- get ctrlCategory() { return this.formGroup.get(ctrlCategory); }
30
- get ctrlContainerStatus() { return this.formGroup.get(ctrlContainerStatus); }
31
- get ctrlContainerStatusGroup() { return this.formGroup.get(ctrlContainerStatusGroup); }
32
- get ctrlContainerType() { return this.formGroup.get(ctrlContainerType); }
33
- get ctrlCustomer() { return this.formGroup.get(ctrlCustomer); }
34
- get ctrlDepot() { return this.formGroup.get(ctrlDepot); }
35
- get ctrlLocation() { return this.formGroup.get(ctrlLocation); }
36
29
  constructor(formBuilder) {
37
30
  this.formBuilder = formBuilder;
38
- this.depotReadonly = true;
39
- this.suggestions = {};
40
- this.spxBlurCategory = new EventEmitter();
41
- this.spxBlurContainerStatus = new EventEmitter();
42
- this.spxBlurContainerStatusGroup = new EventEmitter();
43
- this.spxBlurContainerType = new EventEmitter();
44
- this.spxBlurCustomer = new EventEmitter();
45
- this.spxBlurDepot = new EventEmitter();
46
- this.spxClickContainer = new EventEmitter();
47
- this.spxPageChange = new EventEmitter();
48
- this.spxSearchCategory = new EventEmitter();
49
- this.spxSearchContainerStatus = new EventEmitter();
50
- this.spxSearchContainerStatusGroup = new EventEmitter();
51
- this.spxSearchContainerType = new EventEmitter();
52
- this.spxSearchCustomer = new EventEmitter();
53
- this.spxSearchDepot = new EventEmitter();
54
- this.spxSubmit = new EventEmitter();
31
+ this.depotReadonly = input(false);
32
+ this.statusGroupsInPatch = input.required();
33
+ this.containers = input.required();
34
+ this.currentPage = input.required();
35
+ this.faArrowLeft = input.required();
36
+ this.faArrowRight = input.required();
37
+ this.faContainerStorage = input.required();
38
+ this.formGroup = input.required();
39
+ this.loaded = input.required();
40
+ this.pageSize = input.required();
41
+ this.suggestions = input({});
42
+ this.textCategory = input.required();
43
+ this.textContainerInfo = input.required();
44
+ this.textContainerStatus = input.required();
45
+ this.textContainerStatusGroup = input.required();
46
+ this.textContainerType = input.required();
47
+ this.textCustomer = input.required();
48
+ this.textDepot = input.required();
49
+ this.textLocation = input.required();
50
+ this.textNext = input.required();
51
+ this.textPage = input.required();
52
+ this.textPrevious = input.required();
53
+ this.textSearch = input.required();
54
+ this.textNoResults = input.required();
55
+ this.textYouCanChangeYourFilters = input.required();
56
+ this.spxBlurCategory = output();
57
+ this.spxBlurContainerStatus = output();
58
+ this.spxBlurContainerStatusGroup = output();
59
+ this.spxBlurContainerType = output();
60
+ this.spxBlurCustomer = output();
61
+ this.spxBlurDepot = output();
62
+ this.spxClickContainer = output();
63
+ this.spxPageChange = output();
64
+ this.spxSearchCategory = output();
65
+ this.spxSearchContainerStatus = output();
66
+ this.spxSearchContainerStatusGroup = output();
67
+ this.spxSearchContainerType = output();
68
+ this.spxSearchCustomer = output();
69
+ this.spxSearchDepot = output();
70
+ this.spxSubmit = output();
55
71
  this.severityInfo = SpxSeverityEnum.info;
56
72
  this.form = {
57
73
  buttons: [
58
74
  {
59
75
  severity: SpxSeverityEnum.success,
60
76
  type: SpxFormButtonTypeEnum.submit,
61
- label: () => this.textSearch,
77
+ label: () => this.textSearch(),
62
78
  }
63
79
  ],
64
80
  sections: [
65
81
  {
66
82
  key: sectionLocation,
67
83
  show: () => true,
68
- title: () => this.textLocation,
84
+ title: () => this.textLocation(),
69
85
  fields: [
70
86
  {
71
87
  key: ctrlDepot,
72
- label: () => this.textDepot,
88
+ label: () => this.textDepot(),
73
89
  type: () => SpxInputTypeEnum.autocomplete,
74
90
  defaultValue: () => null,
75
91
  validators: () => [spxValidatorRequired()],
76
- readonly: () => this.depotReadonly,
92
+ readonly: () => this.depotReadonly(),
77
93
  suggestions: () => true,
78
94
  afterValueChange: undefined,
79
95
  show: () => true,
@@ -81,7 +97,7 @@ class SpxStockInfoComponent {
81
97
  },
82
98
  {
83
99
  key: ctrlLocation,
84
- label: () => this.textLocation,
100
+ label: () => this.textLocation(),
85
101
  type: () => SpxInputTypeEnum.text,
86
102
  defaultValue: () => null,
87
103
  validators: () => [],
@@ -96,11 +112,11 @@ class SpxStockInfoComponent {
96
112
  {
97
113
  key: sectionCustomer,
98
114
  show: () => true,
99
- title: () => this.textCustomer,
115
+ title: () => this.textCustomer(),
100
116
  fields: [
101
117
  {
102
118
  key: ctrlCustomer,
103
- label: () => this.textCustomer,
119
+ label: () => this.textCustomer(),
104
120
  type: () => SpxInputTypeEnum.autocomplete,
105
121
  defaultValue: () => null,
106
122
  validators: () => [],
@@ -115,11 +131,11 @@ class SpxStockInfoComponent {
115
131
  {
116
132
  key: sectionContainerInfo,
117
133
  show: () => true,
118
- title: () => this.textContainerInfo,
134
+ title: () => this.textContainerInfo(),
119
135
  fields: [
120
136
  {
121
137
  key: ctrlCategory,
122
- label: () => this.textCategory,
138
+ label: () => this.textCategory(),
123
139
  type: () => SpxInputTypeEnum.autocomplete,
124
140
  defaultValue: () => null,
125
141
  validators: () => [],
@@ -131,7 +147,7 @@ class SpxStockInfoComponent {
131
147
  },
132
148
  {
133
149
  key: ctrlContainerStatus,
134
- label: () => this.textContainerStatus,
150
+ label: () => this.textContainerStatus(),
135
151
  type: () => SpxInputTypeEnum.autocomplete,
136
152
  defaultValue: () => null,
137
153
  validators: () => [],
@@ -143,19 +159,19 @@ class SpxStockInfoComponent {
143
159
  },
144
160
  {
145
161
  key: ctrlContainerStatusGroup,
146
- label: () => this.textContainerStatusGroup,
162
+ label: () => this.textContainerStatusGroup(),
147
163
  type: () => SpxInputTypeEnum.autocomplete,
148
164
  defaultValue: () => null,
149
165
  validators: () => [],
150
166
  readonly: () => false,
151
167
  suggestions: () => true,
152
168
  afterValueChange: undefined,
153
- show: () => this.statusGroupsInPatch,
169
+ show: () => this.statusGroupsInPatch(),
154
170
  capitalize: () => true,
155
171
  },
156
172
  {
157
173
  key: ctrlContainerType,
158
- label: () => this.textContainerType,
174
+ label: () => this.textContainerType(),
159
175
  type: () => SpxInputTypeEnum.autocomplete,
160
176
  defaultValue: () => null,
161
177
  validators: () => [],
@@ -169,6 +185,13 @@ class SpxStockInfoComponent {
169
185
  },
170
186
  ]
171
187
  };
188
+ this.ctrlCategory = computed(() => this.formGroup()?.get(ctrlCategory));
189
+ this.ctrlContainerStatus = computed(() => this.formGroup()?.get(ctrlContainerStatus));
190
+ this.ctrlContainerStatusGroup = computed(() => this.formGroup()?.get(ctrlContainerStatusGroup));
191
+ this.ctrlContainerType = computed(() => this.formGroup()?.get(ctrlContainerType));
192
+ this.ctrlCustomer = computed(() => this.formGroup()?.get(ctrlCustomer));
193
+ this.ctrlDepot = computed(() => this.formGroup()?.get(ctrlDepot));
194
+ this.ctrlLocation = computed(() => this.formGroup()?.get(ctrlLocation));
172
195
  }
173
196
  createForm() {
174
197
  return SpxFormViewComponent.createForm(this.formBuilder, this.form.sections);
@@ -226,17 +249,17 @@ class SpxStockInfoComponent {
226
249
  }
227
250
  onSubmit() {
228
251
  this.spxSubmit.emit({
229
- ctrlCategory: this.ctrlCategory.value,
230
- ctrlContainerStatus: this.ctrlContainerStatus.value,
231
- ctrlContainerStatusGroup: this.ctrlContainerStatusGroup.value,
232
- ctrlContainerType: this.ctrlContainerType.value,
233
- ctrlCustomer: this.ctrlCustomer.value,
234
- ctrlDepot: this.ctrlDepot.value,
235
- ctrlLocation: this.ctrlLocation.value,
252
+ ctrlCategory: this.ctrlCategory().value,
253
+ ctrlContainerStatus: this.ctrlContainerStatus().value,
254
+ ctrlContainerStatusGroup: this.ctrlContainerStatusGroup().value,
255
+ ctrlContainerType: this.ctrlContainerType().value,
256
+ ctrlCustomer: this.ctrlCustomer().value,
257
+ ctrlDepot: this.ctrlDepot().value,
258
+ ctrlLocation: this.ctrlLocation().value,
236
259
  });
237
260
  }
238
261
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxStockInfoComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
239
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: SpxStockInfoComponent, isStandalone: true, selector: "spx-stock-info", inputs: { depotReadonly: "depotReadonly", statusGroupsInPatch: "statusGroupsInPatch", containers: "containers", currentPage: "currentPage", faArrowLeft: "faArrowLeft", faArrowRight: "faArrowRight", faContainerStorage: "faContainerStorage", formGroup: "formGroup", loaded: "loaded", pageSize: "pageSize", suggestions: "suggestions", textCategory: "textCategory", textContainerInfo: "textContainerInfo", textContainerStatus: "textContainerStatus", textContainerStatusGroup: "textContainerStatusGroup", textContainerType: "textContainerType", textCustomer: "textCustomer", textDepot: "textDepot", textLocation: "textLocation", textNext: "textNext", textPage: "textPage", textPrevious: "textPrevious", textSearch: "textSearch", textNoResults: "textNoResults", textYouCanChangeYourFilters: "textYouCanChangeYourFilters" }, outputs: { spxBlurCategory: "spxBlurCategory", spxBlurContainerStatus: "spxBlurContainerStatus", spxBlurContainerStatusGroup: "spxBlurContainerStatusGroup", spxBlurContainerType: "spxBlurContainerType", spxBlurCustomer: "spxBlurCustomer", spxBlurDepot: "spxBlurDepot", spxClickContainer: "spxClickContainer", spxPageChange: "spxPageChange", spxSearchCategory: "spxSearchCategory", spxSearchContainerStatus: "spxSearchContainerStatus", spxSearchContainerStatusGroup: "spxSearchContainerStatusGroup", spxSearchContainerType: "spxSearchContainerType", spxSearchCustomer: "spxSearchCustomer", spxSearchDepot: "spxSearchDepot", spxSubmit: "spxSubmit" }, ngImport: i0, template: "@if (!loaded) {\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\n@if (loaded) {\n <div class=\"flex flex-col gap-3\">\n @if (containers.length > 0) {\n <spx-pagination\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 @if (containers.length === 0) {\n <spx-alert [spxSeverity]=\"severityInfo\" [spxTitle]=\"textNoResults | translate | capitalize\">\n {{ textYouCanChangeYourFilters | translate | capitalize }}\n </spx-alert>\n }\n @for (container of containers; track container; let i = $index) {\n @if (i < pageSize) {\n <spx-card [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 <div class=\"card-header-text-middle grow\">\n <div class=\"block font-medium text-large\">{{ container.formatted.containerNumber }}</div>\n </div>\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 @if (container.containerStatus) {\n <div class=\"min-w-[36px] px-2 py-1 bg-white text-black\"> {{\n container.formatted.containerStatus }}</div>\n }\n </div>\n </div>\n </div>\n <div card-lines class=\"grid grid-cols-2 gap-2\">\n <spx-card-line [text]=\"textContainerType | translate | capitalize\"\n [value]=\"container.formatted.containerType\"></spx-card-line>\n <spx-card-line [text]=\"textCategory | translate | capitalize\"\n [value]=\"container.formatted.category\"></spx-card-line>\n <spx-card-line [text]=\"textLocation | translate | capitalize\"\n [value]=\"container.formatted.location\"></spx-card-line>\n </div>\n </spx-card>\n }\n }\n @if (containers.length > 0) {\n <spx-pagination\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 </div>\n}", dependencies: [{ 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: i2.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"], outputs: ["spxClose", "spxTitleChange"] }, { 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"], outputs: ["valueChange"] }, { 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: i3.TranslatePipe, name: "translate" }] }); }
262
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: SpxStockInfoComponent, isStandalone: true, selector: "spx-stock-info", inputs: { depotReadonly: { classPropertyName: "depotReadonly", publicName: "depotReadonly", isSignal: true, isRequired: false, transformFunction: null }, statusGroupsInPatch: { classPropertyName: "statusGroupsInPatch", publicName: "statusGroupsInPatch", isSignal: true, isRequired: true, transformFunction: null }, containers: { classPropertyName: "containers", publicName: "containers", isSignal: true, isRequired: true, transformFunction: null }, currentPage: { classPropertyName: "currentPage", publicName: "currentPage", isSignal: true, isRequired: true, transformFunction: null }, faArrowLeft: { classPropertyName: "faArrowLeft", publicName: "faArrowLeft", isSignal: true, isRequired: true, transformFunction: null }, faArrowRight: { classPropertyName: "faArrowRight", publicName: "faArrowRight", isSignal: true, isRequired: true, transformFunction: null }, faContainerStorage: { classPropertyName: "faContainerStorage", publicName: "faContainerStorage", isSignal: true, isRequired: true, transformFunction: null }, formGroup: { classPropertyName: "formGroup", publicName: "formGroup", isSignal: true, isRequired: true, transformFunction: null }, loaded: { classPropertyName: "loaded", publicName: "loaded", isSignal: true, isRequired: true, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: true, transformFunction: null }, suggestions: { classPropertyName: "suggestions", publicName: "suggestions", isSignal: true, isRequired: false, transformFunction: null }, textCategory: { classPropertyName: "textCategory", publicName: "textCategory", isSignal: true, isRequired: true, transformFunction: null }, textContainerInfo: { classPropertyName: "textContainerInfo", publicName: "textContainerInfo", isSignal: true, isRequired: true, transformFunction: null }, textContainerStatus: { classPropertyName: "textContainerStatus", publicName: "textContainerStatus", isSignal: true, isRequired: true, transformFunction: null }, textContainerStatusGroup: { classPropertyName: "textContainerStatusGroup", publicName: "textContainerStatusGroup", isSignal: true, isRequired: true, transformFunction: null }, textContainerType: { classPropertyName: "textContainerType", publicName: "textContainerType", isSignal: true, isRequired: true, transformFunction: null }, textCustomer: { classPropertyName: "textCustomer", publicName: "textCustomer", isSignal: true, isRequired: true, transformFunction: null }, textDepot: { classPropertyName: "textDepot", publicName: "textDepot", isSignal: true, isRequired: true, transformFunction: null }, textLocation: { classPropertyName: "textLocation", publicName: "textLocation", isSignal: true, isRequired: true, transformFunction: null }, textNext: { classPropertyName: "textNext", publicName: "textNext", isSignal: true, isRequired: true, transformFunction: null }, textPage: { classPropertyName: "textPage", publicName: "textPage", isSignal: true, isRequired: true, transformFunction: null }, textPrevious: { classPropertyName: "textPrevious", publicName: "textPrevious", isSignal: true, isRequired: true, transformFunction: null }, textSearch: { classPropertyName: "textSearch", publicName: "textSearch", isSignal: true, isRequired: true, transformFunction: null }, textNoResults: { classPropertyName: "textNoResults", publicName: "textNoResults", isSignal: true, isRequired: true, transformFunction: null }, textYouCanChangeYourFilters: { classPropertyName: "textYouCanChangeYourFilters", publicName: "textYouCanChangeYourFilters", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { spxBlurCategory: "spxBlurCategory", spxBlurContainerStatus: "spxBlurContainerStatus", spxBlurContainerStatusGroup: "spxBlurContainerStatusGroup", spxBlurContainerType: "spxBlurContainerType", spxBlurCustomer: "spxBlurCustomer", spxBlurDepot: "spxBlurDepot", spxClickContainer: "spxClickContainer", spxPageChange: "spxPageChange", spxSearchCategory: "spxSearchCategory", spxSearchContainerStatus: "spxSearchContainerStatus", spxSearchContainerStatusGroup: "spxSearchContainerStatusGroup", spxSearchContainerType: "spxSearchContainerType", spxSearchCustomer: "spxSearchCustomer", spxSearchDepot: "spxSearchDepot", spxSubmit: "spxSubmit" }, ngImport: i0, template: "@if (!loaded()) {\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\n@if (loaded()) {\n <div class=\"flex flex-col gap-3\">\n @if (containers().length > 0) {\n <spx-pagination\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 @if (containers().length === 0) {\n <spx-alert [spxSeverity]=\"severityInfo\" [spxTitle]=\"textNoResults() | translate | capitalize\">\n {{ textYouCanChangeYourFilters() | translate | capitalize }}\n </spx-alert>\n }\n @for (container of containers(); track container; let i = $index) {\n @if (i < pageSize()) {\n <spx-card [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 <div class=\"card-header-text-middle grow\">\n <div class=\"block font-medium text-large\">{{ container.formatted.containerNumber }}</div>\n </div>\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 @if (container.containerStatus) {\n <div class=\"min-w-[36px] px-2 py-1 bg-white text-black\"> {{\n container.formatted.containerStatus }}</div>\n }\n </div>\n </div>\n </div>\n <div card-lines class=\"grid grid-cols-2 gap-2\">\n <spx-card-line [text]=\"textContainerType() | translate | capitalize\"\n [value]=\"container.formatted.containerType\"></spx-card-line>\n <spx-card-line [text]=\"textCategory() | translate | capitalize\"\n [value]=\"container.formatted.category\"></spx-card-line>\n <spx-card-line [text]=\"textLocation() | translate | capitalize\"\n [value]=\"container.formatted.location\"></spx-card-line>\n </div>\n </spx-card>\n }\n }\n @if (containers().length > 0) {\n <spx-pagination\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 </div>\n}", dependencies: [{ 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: i2.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"], outputs: ["spxClose", "spxTitleChange"] }, { 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"], outputs: ["valueChange"] }, { 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: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
240
263
  }
241
264
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxStockInfoComponent, decorators: [{
242
265
  type: Component,
@@ -251,88 +274,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
251
274
  SpxFormViewComponent,
252
275
  SpxPaginationComponent,
253
276
  TranslateModule
254
- ], template: "@if (!loaded) {\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\n@if (loaded) {\n <div class=\"flex flex-col gap-3\">\n @if (containers.length > 0) {\n <spx-pagination\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 @if (containers.length === 0) {\n <spx-alert [spxSeverity]=\"severityInfo\" [spxTitle]=\"textNoResults | translate | capitalize\">\n {{ textYouCanChangeYourFilters | translate | capitalize }}\n </spx-alert>\n }\n @for (container of containers; track container; let i = $index) {\n @if (i < pageSize) {\n <spx-card [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 <div class=\"card-header-text-middle grow\">\n <div class=\"block font-medium text-large\">{{ container.formatted.containerNumber }}</div>\n </div>\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 @if (container.containerStatus) {\n <div class=\"min-w-[36px] px-2 py-1 bg-white text-black\"> {{\n container.formatted.containerStatus }}</div>\n }\n </div>\n </div>\n </div>\n <div card-lines class=\"grid grid-cols-2 gap-2\">\n <spx-card-line [text]=\"textContainerType | translate | capitalize\"\n [value]=\"container.formatted.containerType\"></spx-card-line>\n <spx-card-line [text]=\"textCategory | translate | capitalize\"\n [value]=\"container.formatted.category\"></spx-card-line>\n <spx-card-line [text]=\"textLocation | translate | capitalize\"\n [value]=\"container.formatted.location\"></spx-card-line>\n </div>\n </spx-card>\n }\n }\n @if (containers.length > 0) {\n <spx-pagination\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 </div>\n}" }]
255
- }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { depotReadonly: [{
256
- type: Input
257
- }], statusGroupsInPatch: [{
258
- type: Input
259
- }], containers: [{
260
- type: Input
261
- }], currentPage: [{
262
- type: Input
263
- }], faArrowLeft: [{
264
- type: Input
265
- }], faArrowRight: [{
266
- type: Input
267
- }], faContainerStorage: [{
268
- type: Input
269
- }], formGroup: [{
270
- type: Input
271
- }], loaded: [{
272
- type: Input
273
- }], pageSize: [{
274
- type: Input
275
- }], suggestions: [{
276
- type: Input
277
- }], textCategory: [{
278
- type: Input
279
- }], textContainerInfo: [{
280
- type: Input
281
- }], textContainerStatus: [{
282
- type: Input
283
- }], textContainerStatusGroup: [{
284
- type: Input
285
- }], textContainerType: [{
286
- type: Input
287
- }], textCustomer: [{
288
- type: Input
289
- }], textDepot: [{
290
- type: Input
291
- }], textLocation: [{
292
- type: Input
293
- }], textNext: [{
294
- type: Input
295
- }], textPage: [{
296
- type: Input
297
- }], textPrevious: [{
298
- type: Input
299
- }], textSearch: [{
300
- type: Input
301
- }], textNoResults: [{
302
- type: Input
303
- }], textYouCanChangeYourFilters: [{
304
- type: Input
305
- }], spxBlurCategory: [{
306
- type: Output
307
- }], spxBlurContainerStatus: [{
308
- type: Output
309
- }], spxBlurContainerStatusGroup: [{
310
- type: Output
311
- }], spxBlurContainerType: [{
312
- type: Output
313
- }], spxBlurCustomer: [{
314
- type: Output
315
- }], spxBlurDepot: [{
316
- type: Output
317
- }], spxClickContainer: [{
318
- type: Output
319
- }], spxPageChange: [{
320
- type: Output
321
- }], spxSearchCategory: [{
322
- type: Output
323
- }], spxSearchContainerStatus: [{
324
- type: Output
325
- }], spxSearchContainerStatusGroup: [{
326
- type: Output
327
- }], spxSearchContainerType: [{
328
- type: Output
329
- }], spxSearchCustomer: [{
330
- type: Output
331
- }], spxSearchDepot: [{
332
- type: Output
333
- }], spxSubmit: [{
334
- type: Output
335
- }] } });
277
+ ], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "@if (!loaded()) {\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\n@if (loaded()) {\n <div class=\"flex flex-col gap-3\">\n @if (containers().length > 0) {\n <spx-pagination\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 @if (containers().length === 0) {\n <spx-alert [spxSeverity]=\"severityInfo\" [spxTitle]=\"textNoResults() | translate | capitalize\">\n {{ textYouCanChangeYourFilters() | translate | capitalize }}\n </spx-alert>\n }\n @for (container of containers(); track container; let i = $index) {\n @if (i < pageSize()) {\n <spx-card [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 <div class=\"card-header-text-middle grow\">\n <div class=\"block font-medium text-large\">{{ container.formatted.containerNumber }}</div>\n </div>\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 @if (container.containerStatus) {\n <div class=\"min-w-[36px] px-2 py-1 bg-white text-black\"> {{\n container.formatted.containerStatus }}</div>\n }\n </div>\n </div>\n </div>\n <div card-lines class=\"grid grid-cols-2 gap-2\">\n <spx-card-line [text]=\"textContainerType() | translate | capitalize\"\n [value]=\"container.formatted.containerType\"></spx-card-line>\n <spx-card-line [text]=\"textCategory() | translate | capitalize\"\n [value]=\"container.formatted.category\"></spx-card-line>\n <spx-card-line [text]=\"textLocation() | translate | capitalize\"\n [value]=\"container.formatted.location\"></spx-card-line>\n </div>\n </spx-card>\n }\n }\n @if (containers().length > 0) {\n <spx-pagination\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 </div>\n}" }]
278
+ }], ctorParameters: () => [{ type: i1.FormBuilder }] });
336
279
 
337
280
  /**
338
281
  * Generated bundle index. Do not edit.
@@ -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 } from '@softpak/components/spx-validation';\nimport { SpxInputTypeEnum, SpxValuePair } from '@softpak/components/spx-inputs';\nimport { SpxFormButtonTypeEnum, SpxFormFieldI, SpxFormI, SpxFormViewComponent } from '@softpak/components/spx-form-view';\nimport { SpxSeverityEnum, valuePairToValue } 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 ctrlContainerStatusGroup = 'ctrlContainerStatusGroup';\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 imports: [\n FormsModule,\n FontAwesomeModule,\n ReactiveFormsModule,\n SpxAlertComponent,\n SpxCapitalizePipe,\n SpxCardComponent,\n SpxCardLineComponent,\n SpxFormViewComponent,\n SpxPaginationComponent,\n TranslateModule\n ]\n})\nexport class SpxStockInfoComponent {\n @Input() depotReadonly = true;\n @Input() statusGroupsInPatch!: boolean;\n @Input() containers!: any[];\n @Input() currentPage!: number;\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() textContainerStatusGroup!: 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() textNoResults!: string;\n @Input() textYouCanChangeYourFilters!: string;\n @Output() spxBlurCategory: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxBlurContainerStatus: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxBlurContainerStatusGroup: 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() spxBlurDepot: 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() spxSearchContainerStatus: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxSearchContainerStatusGroup: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxSearchContainerType: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxSearchCustomer: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\n @Output() spxSearchDepot: 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.autocomplete,\n defaultValue: () => null,\n validators: () => [spxValidatorRequired()],\n readonly: () => this.depotReadonly,\n suggestions: () => true,\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: ctrlContainerStatusGroup,\n label: () => this.textContainerStatusGroup,\n type: () => SpxInputTypeEnum.autocomplete,\n defaultValue: () => null,\n validators: () => [],\n readonly: () => false,\n suggestions: () => true,\n afterValueChange: undefined,\n show: () => this.statusGroupsInPatch,\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 ctrlContainerStatusGroup(): FormControl { return this.formGroup.get(ctrlContainerStatusGroup) 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 (valuePairToValue(data.valuePair)) {\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 === ctrlContainerStatusGroup) {\n this.spxBlurContainerStatusGroup.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 if (data.field.key === ctrlDepot) {\n this.spxBlurDepot.emit(data.valuePair);\n }\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 === ctrlContainerStatusGroup) {\n this.spxSearchContainerStatusGroup.emit(data.valuePair);\n }\n if (data.field.key === ctrlCustomer) {\n this.spxSearchCustomer.emit(data.valuePair);\n }\n if (data.field.key === ctrlDepot) {\n this.spxSearchDepot.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 ctrlContainerStatusGroup: this.ctrlContainerStatusGroup.value,\n ctrlContainerType: this.ctrlContainerType.value,\n ctrlCustomer: this.ctrlCustomer.value,\n ctrlDepot: this.ctrlDepot.value,\n ctrlLocation: this.ctrlLocation.value,\n });\n }\n}\n","@if (!loaded) {\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\n@if (loaded) {\n <div class=\"flex flex-col gap-3\">\n @if (containers.length > 0) {\n <spx-pagination\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 @if (containers.length === 0) {\n <spx-alert [spxSeverity]=\"severityInfo\" [spxTitle]=\"textNoResults | translate | capitalize\">\n {{ textYouCanChangeYourFilters | translate | capitalize }}\n </spx-alert>\n }\n @for (container of containers; track container; let i = $index) {\n @if (i < pageSize) {\n <spx-card [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 <div class=\"card-header-text-middle grow\">\n <div class=\"block font-medium text-large\">{{ container.formatted.containerNumber }}</div>\n </div>\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 @if (container.containerStatus) {\n <div class=\"min-w-[36px] px-2 py-1 bg-white text-black\"> {{\n container.formatted.containerStatus }}</div>\n }\n </div>\n </div>\n </div>\n <div card-lines class=\"grid grid-cols-2 gap-2\">\n <spx-card-line [text]=\"textContainerType | translate | capitalize\"\n [value]=\"container.formatted.containerType\"></spx-card-line>\n <spx-card-line [text]=\"textCategory | translate | capitalize\"\n [value]=\"container.formatted.category\"></spx-card-line>\n <spx-card-line [text]=\"textLocation | translate | capitalize\"\n [value]=\"container.formatted.location\"></spx-card-line>\n </div>\n </spx-card>\n }\n }\n @if (containers.length > 0) {\n <spx-pagination\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 </div>\n}","/**\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 { ChangeDetectionStrategy, Component, computed, input, output } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { spxValidatorRequired } from '@softpak/components/spx-validation';\nimport { SpxInputTypeEnum, SpxValuePair } from '@softpak/components/spx-inputs';\nimport { SpxFormButtonTypeEnum, SpxFormFieldI, SpxFormI, SpxFormViewComponent } from '@softpak/components/spx-form-view';\nimport { SpxSeverityEnum, valuePairToValue } 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 ctrlContainerStatusGroup = 'ctrlContainerStatusGroup';\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 imports: [\n FormsModule,\n FontAwesomeModule,\n ReactiveFormsModule,\n SpxAlertComponent,\n SpxCapitalizePipe,\n SpxCardComponent,\n SpxCardLineComponent,\n SpxFormViewComponent,\n SpxPaginationComponent,\n TranslateModule\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class SpxStockInfoComponent {\n readonly depotReadonly = input<boolean>(false);\n readonly statusGroupsInPatch = input.required<boolean>();\n readonly containers = input.required<any[]>();\n readonly currentPage = input.required<number>();\n readonly faArrowLeft = input.required<IconProp>();\n readonly faArrowRight = input.required<IconProp>();\n readonly faContainerStorage = input.required<IconProp>();\n readonly formGroup = input.required<FormGroup>();\n readonly loaded = input.required<boolean>();\n readonly pageSize = input.required<number>();\n readonly suggestions = input<any>({});\n readonly textCategory = input.required<string>();\n readonly textContainerInfo = input.required<string>();\n readonly textContainerStatus = input.required<string>();\n readonly textContainerStatusGroup = input.required<string>();\n readonly textContainerType = input.required<string>();\n readonly textCustomer = input.required<string>();\n readonly textDepot = input.required<string>();\n readonly textLocation = input.required<string>();\n readonly textNext = input.required<string>();\n readonly textPage = input.required<string>();\n readonly textPrevious = input.required<string>();\n readonly textSearch = input.required<string>();\n readonly textNoResults = input.required<string>();\n readonly textYouCanChangeYourFilters = input.required<string>();\n readonly spxBlurCategory = output<SpxValuePair<string>>();\n readonly spxBlurContainerStatus = output<SpxValuePair<string>>();\n readonly spxBlurContainerStatusGroup = output<SpxValuePair<string>>();\n readonly spxBlurContainerType = output<SpxValuePair<string>>();\n readonly spxBlurCustomer = output<SpxValuePair<string>>();\n readonly spxBlurDepot = output<SpxValuePair<string>>();\n readonly spxClickContainer = output<any>();\n readonly spxPageChange = output<number>();\n readonly spxSearchCategory = output<SpxValuePair<string>>();\n readonly spxSearchContainerStatus = output<SpxValuePair<string>>();\n readonly spxSearchContainerStatusGroup = output<SpxValuePair<string>>();\n readonly spxSearchContainerType = output<SpxValuePair<string>>();\n readonly spxSearchCustomer = output<SpxValuePair<string>>();\n readonly spxSearchDepot = output<SpxValuePair<string>>();\n readonly spxSubmit = output<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.autocomplete,\n defaultValue: () => null,\n validators: () => [spxValidatorRequired()],\n readonly: () => this.depotReadonly(),\n suggestions: () => true,\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: ctrlContainerStatusGroup,\n label: () => this.textContainerStatusGroup(),\n type: () => SpxInputTypeEnum.autocomplete,\n defaultValue: () => null,\n validators: () => [],\n readonly: () => false,\n suggestions: () => true,\n afterValueChange: undefined,\n show: () => this.statusGroupsInPatch(),\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 readonly ctrlCategory = computed(() => this.formGroup()?.get(ctrlCategory) as FormControl);\n readonly ctrlContainerStatus = computed(() => this.formGroup()?.get(ctrlContainerStatus) as FormControl);\n readonly ctrlContainerStatusGroup = computed(() => this.formGroup()?.get(ctrlContainerStatusGroup) as FormControl);\n readonly ctrlContainerType = computed(() => this.formGroup()?.get(ctrlContainerType) as FormControl);\n readonly ctrlCustomer = computed(() => this.formGroup()?.get(ctrlCustomer) as FormControl);\n readonly ctrlDepot = computed(() => this.formGroup()?.get(ctrlDepot) as FormControl);\n readonly ctrlLocation = computed(() => 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 (valuePairToValue(data.valuePair)) {\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 === ctrlContainerStatusGroup) {\n this.spxBlurContainerStatusGroup.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 if (data.field.key === ctrlDepot) {\n this.spxBlurDepot.emit(data.valuePair);\n }\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 === ctrlContainerStatusGroup) {\n this.spxSearchContainerStatusGroup.emit(data.valuePair);\n }\n if (data.field.key === ctrlCustomer) {\n this.spxSearchCustomer.emit(data.valuePair);\n }\n if (data.field.key === ctrlDepot) {\n this.spxSearchDepot.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 ctrlContainerStatusGroup: this.ctrlContainerStatusGroup().value,\n ctrlContainerType: this.ctrlContainerType().value,\n ctrlCustomer: this.ctrlCustomer().value,\n ctrlDepot: this.ctrlDepot().value,\n ctrlLocation: this.ctrlLocation().value,\n });\n }\n}\n","@if (!loaded()) {\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\n@if (loaded()) {\n <div class=\"flex flex-col gap-3\">\n @if (containers().length > 0) {\n <spx-pagination\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 @if (containers().length === 0) {\n <spx-alert [spxSeverity]=\"severityInfo\" [spxTitle]=\"textNoResults() | translate | capitalize\">\n {{ textYouCanChangeYourFilters() | translate | capitalize }}\n </spx-alert>\n }\n @for (container of containers(); track container; let i = $index) {\n @if (i < pageSize()) {\n <spx-card [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 <div class=\"card-header-text-middle grow\">\n <div class=\"block font-medium text-large\">{{ container.formatted.containerNumber }}</div>\n </div>\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 @if (container.containerStatus) {\n <div class=\"min-w-[36px] px-2 py-1 bg-white text-black\"> {{\n container.formatted.containerStatus }}</div>\n }\n </div>\n </div>\n </div>\n <div card-lines class=\"grid grid-cols-2 gap-2\">\n <spx-card-line [text]=\"textContainerType() | translate | capitalize\"\n [value]=\"container.formatted.containerType\"></spx-card-line>\n <spx-card-line [text]=\"textCategory() | translate | capitalize\"\n [value]=\"container.formatted.category\"></spx-card-line>\n <spx-card-line [text]=\"textLocation() | translate | capitalize\"\n [value]=\"container.formatted.location\"></spx-card-line>\n </div>\n </spx-card>\n }\n }\n @if (containers().length > 0) {\n <spx-pagination\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 </div>\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}