@softpak/components 0.3.4 → 0.3.6

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 (187) hide show
  1. package/esm2022/placeholder.mjs +2 -0
  2. package/esm2022/public_api.mjs +2 -0
  3. package/esm2022/softpak-components.mjs +5 -0
  4. package/esm2022/spx-alert/public-api.mjs +3 -0
  5. package/esm2022/spx-alert/softpak-components-spx-alert.mjs +5 -0
  6. package/esm2022/spx-alert/spx-alert.component.mjs +193 -0
  7. package/esm2022/spx-alert/spx-alert.interface.mjs +3 -0
  8. package/esm2022/spx-app-configuration/public-api.mjs +8 -0
  9. package/esm2022/spx-app-configuration/softpak-components-spx-app-configuration.mjs +5 -0
  10. package/esm2022/spx-app-configuration/spx-app-alert.interface.mjs +2 -0
  11. package/esm2022/spx-app-configuration/spx-app-bundle-set.interface.mjs +2 -0
  12. package/esm2022/spx-app-configuration/spx-app-channel-type.enum.mjs +8 -0
  13. package/esm2022/spx-app-configuration/spx-app-channel.interface.mjs +2 -0
  14. package/esm2022/spx-app-configuration/spx-app-config.interface.mjs +2 -0
  15. package/esm2022/spx-app-configuration/spx-app-id.enum.mjs +8 -0
  16. package/esm2022/spx-app-configuration/spx-app-lang.enum.mjs +6 -0
  17. package/esm2022/spx-app-configuration/spx-app-release-note.interface.mjs +2 -0
  18. package/esm2022/spx-app-expiry/public-api.mjs +6 -0
  19. package/esm2022/spx-app-expiry/softpak-components-spx-app-expiry.mjs +5 -0
  20. package/esm2022/spx-app-expiry/spx-app-expiry.component.mjs +90 -0
  21. package/esm2022/spx-app-expiry/spx-app-expiry.interface.mjs +2 -0
  22. package/esm2022/spx-app-expiry/spx-check-expiry-final-warning.interface.mjs +5 -0
  23. package/esm2022/spx-app-expiry/spx-check-expiry-happened.interface.mjs +5 -0
  24. package/esm2022/spx-app-expiry/spx-check-expiry-warning.interface.mjs +5 -0
  25. package/esm2022/spx-app-update/public-api.mjs +2 -0
  26. package/esm2022/spx-app-update/softpak-components-spx-app-update.mjs +5 -0
  27. package/esm2022/spx-app-update/spx-app-update.component.mjs +314 -0
  28. package/esm2022/spx-button/public-api.mjs +2 -0
  29. package/esm2022/spx-button/softpak-components-spx-button.mjs +5 -0
  30. package/esm2022/spx-button/spx-button.component.mjs +142 -0
  31. package/esm2022/spx-capitalize/public-api.mjs +2 -0
  32. package/esm2022/spx-capitalize/softpak-components-spx-capitalize.mjs +5 -0
  33. package/esm2022/spx-capitalize/spx-capitalize.pipe.mjs +20 -0
  34. package/esm2022/spx-card/public-api.mjs +5 -0
  35. package/esm2022/spx-card/softpak-components-spx-card.mjs +5 -0
  36. package/esm2022/spx-card/spx-card-grid.component.mjs +46 -0
  37. package/esm2022/spx-card/spx-card-item.component.mjs +111 -0
  38. package/esm2022/spx-card/spx-card-line.component.mjs +101 -0
  39. package/esm2022/spx-card/spx-card.component.mjs +93 -0
  40. package/esm2022/spx-change-details/public-api.mjs +2 -0
  41. package/esm2022/spx-change-details/softpak-components-spx-change-details.mjs +5 -0
  42. package/esm2022/spx-change-details/spx-change-details-value.interface.mjs +2 -0
  43. package/esm2022/spx-change-details/spx-change-details.component.mjs +199 -0
  44. package/esm2022/spx-channel-selection/public-api.mjs +3 -0
  45. package/esm2022/spx-channel-selection/softpak-components-spx-channel-selection.mjs +5 -0
  46. package/esm2022/spx-channel-selection/src/spx-channel-indicator.component.mjs +45 -0
  47. package/esm2022/spx-channel-selection/src/spx-welcome.component.mjs +135 -0
  48. package/esm2022/spx-check-digit/public-api.mjs +2 -0
  49. package/esm2022/spx-check-digit/softpak-components-spx-check-digit.mjs +5 -0
  50. package/esm2022/spx-check-digit/spx-check-digit.component.mjs +94 -0
  51. package/esm2022/spx-form-section/public-api.mjs +2 -0
  52. package/esm2022/spx-form-section/softpak-components-spx-form-section.mjs +5 -0
  53. package/esm2022/spx-form-section/spx-form-section.component.mjs +37 -0
  54. package/esm2022/spx-form-view/public-api.mjs +7 -0
  55. package/esm2022/spx-form-view/softpak-components-spx-form-view.mjs +5 -0
  56. package/esm2022/spx-form-view/spx-autocomplete-search.component.mjs +119 -0
  57. package/esm2022/spx-form-view/spx-form-button-type.enum.mjs +6 -0
  58. package/esm2022/spx-form-view/spx-form-button.interface.mjs +2 -0
  59. package/esm2022/spx-form-view/spx-form-field.interface.mjs +2 -0
  60. package/esm2022/spx-form-view/spx-form-section.interface.mjs +2 -0
  61. package/esm2022/spx-form-view/spx-form-view.component.mjs +289 -0
  62. package/esm2022/spx-form-view/spx-form.interface.mjs +2 -0
  63. package/esm2022/spx-helpers/calc-check-digit.function.mjs +21 -0
  64. package/esm2022/spx-helpers/public-api.mjs +4 -0
  65. package/esm2022/spx-helpers/softpak-components-spx-helpers.mjs +5 -0
  66. package/esm2022/spx-helpers/spx-severity.enum.mjs +9 -0
  67. package/esm2022/spx-helpers/value-pair-to-value.function.mjs +7 -0
  68. package/esm2022/spx-inputs/public-api.mjs +6 -0
  69. package/esm2022/spx-inputs/softpak-components-spx-inputs.mjs +5 -0
  70. package/esm2022/spx-inputs/spx-dropdown.component.mjs +94 -0
  71. package/esm2022/spx-inputs/spx-input-box.component.mjs +255 -0
  72. package/esm2022/spx-inputs/spx-input-date.component.mjs +294 -0
  73. package/esm2022/spx-inputs/spx-input-float.component.mjs +159 -0
  74. package/esm2022/spx-inputs/spx-input-number.component.mjs +87 -0
  75. package/esm2022/spx-inputs/spx-input-radio.component.mjs +129 -0
  76. package/esm2022/spx-inputs/spx-input-text.component.mjs +156 -0
  77. package/esm2022/spx-inputs/spx-input-time-modal.component.mjs +116 -0
  78. package/esm2022/spx-inputs/spx-input-time.component.mjs +166 -0
  79. package/esm2022/spx-inputs/spx-input-type.enum.mjs +17 -0
  80. package/esm2022/spx-inputs/spx-input.component.mjs +449 -0
  81. package/esm2022/spx-inputs/spx-value-interface.mjs +2 -0
  82. package/esm2022/spx-navigation/public-api.mjs +5 -0
  83. package/esm2022/spx-navigation/softpak-components-spx-navigation.mjs +5 -0
  84. package/esm2022/spx-navigation/spx-home-tile.component.mjs +68 -0
  85. package/esm2022/spx-navigation/spx-home-tiles.component.mjs +24 -0
  86. package/esm2022/spx-navigation/spx-navigation-item.interface.mjs +2 -0
  87. package/esm2022/spx-navigation/spx-navigation.component.mjs +51 -0
  88. package/esm2022/spx-number-check/public-api.mjs +2 -0
  89. package/esm2022/spx-number-check/softpak-components-spx-number-check.mjs +5 -0
  90. package/esm2022/spx-number-check/spx-number-check.component.mjs +259 -0
  91. package/esm2022/spx-pagination/public-api.mjs +2 -0
  92. package/esm2022/spx-pagination/softpak-components-spx-pagination.mjs +5 -0
  93. package/esm2022/spx-pagination/spx-pagination.component.mjs +44 -0
  94. package/esm2022/spx-patch/patch-check.function.mjs +9 -0
  95. package/esm2022/spx-patch/public-api.mjs +4 -0
  96. package/esm2022/spx-patch/release-check.function.mjs +14 -0
  97. package/esm2022/spx-patch/softpak-components-spx-patch.mjs +5 -0
  98. package/esm2022/spx-patch/spx-patch.component.mjs +48 -0
  99. package/esm2022/spx-progress-bar/public-api.mjs +2 -0
  100. package/esm2022/spx-progress-bar/softpak-components-spx-progress-bar.mjs +5 -0
  101. package/esm2022/spx-progress-bar/spx-progress-bar.component.mjs +29 -0
  102. package/esm2022/spx-spinner/public-api.mjs +2 -0
  103. package/esm2022/spx-spinner/softpak-components-spx-spinner.mjs +5 -0
  104. package/esm2022/spx-spinner/spx-spinner.component.mjs +159 -0
  105. package/esm2022/spx-stock-info/public-api.mjs +3 -0
  106. package/esm2022/spx-stock-info/softpak-components-spx-stock-info.mjs +5 -0
  107. package/esm2022/spx-stock-info/spx-stock-info-value.interface.mjs +2 -0
  108. package/esm2022/spx-stock-info/spx-stock-info.component.mjs +327 -0
  109. package/esm2022/spx-storage/public-api.mjs +3 -0
  110. package/esm2022/spx-storage/softpak-components-spx-storage.mjs +5 -0
  111. package/esm2022/spx-storage/src/spx-storage-key.enum.mjs +13 -0
  112. package/esm2022/spx-storage/src/spx-storage.class.mjs +45 -0
  113. package/esm2022/spx-suggestion/public-api.mjs +2 -0
  114. package/esm2022/spx-suggestion/softpak-components-spx-suggestion.mjs +5 -0
  115. package/esm2022/spx-suggestion/spx-suggestion.component.mjs +69 -0
  116. package/esm2022/spx-toaster/public-api.mjs +4 -0
  117. package/esm2022/spx-toaster/softpak-components-spx-toaster.mjs +5 -0
  118. package/esm2022/spx-toaster/src/spx-toaster-autoclose-speed.mjs +23 -0
  119. package/esm2022/spx-toaster/src/spx-toaster-message.interface.mjs +3 -0
  120. package/esm2022/spx-toaster/src/spx-toaster.component.mjs +173 -0
  121. package/esm2022/spx-update/public-api.mjs +3 -0
  122. package/esm2022/spx-update/softpak-components-spx-update.mjs +5 -0
  123. package/esm2022/spx-update/src/spx-update-info.component.mjs +88 -0
  124. package/esm2022/spx-update/src/spx-update-progress.component.mjs +46 -0
  125. package/esm2022/spx-validation/max.validator.mjs +17 -0
  126. package/esm2022/spx-validation/maxlength.validator.mjs +20 -0
  127. package/esm2022/spx-validation/min.validator.mjs +17 -0
  128. package/esm2022/spx-validation/minlength.validator.mjs +20 -0
  129. package/esm2022/spx-validation/pattern.validator.mjs +12 -0
  130. package/esm2022/spx-validation/public-api.mjs +9 -0
  131. package/esm2022/spx-validation/required.validator.mjs +12 -0
  132. package/esm2022/spx-validation/softpak-components-spx-validation.mjs +5 -0
  133. package/esm2022/spx-validation/spx-validate-control.component.mjs +68 -0
  134. package/esm2022/spx-validation/year-and-month.validator.mjs +42 -0
  135. package/fesm2022/softpak-components-spx-alert.mjs +3 -3
  136. package/fesm2022/softpak-components-spx-alert.mjs.map +1 -1
  137. package/fesm2022/softpak-components-spx-app-configuration.mjs.map +1 -1
  138. package/fesm2022/softpak-components-spx-app-expiry.mjs +3 -3
  139. package/fesm2022/softpak-components-spx-app-expiry.mjs.map +1 -1
  140. package/fesm2022/softpak-components-spx-app-update.mjs +4 -4
  141. package/fesm2022/softpak-components-spx-app-update.mjs.map +1 -1
  142. package/fesm2022/softpak-components-spx-button.mjs +3 -3
  143. package/fesm2022/softpak-components-spx-button.mjs.map +1 -1
  144. package/fesm2022/softpak-components-spx-capitalize.mjs +3 -3
  145. package/fesm2022/softpak-components-spx-capitalize.mjs.map +1 -1
  146. package/fesm2022/softpak-components-spx-card.mjs +16 -16
  147. package/fesm2022/softpak-components-spx-card.mjs.map +1 -1
  148. package/fesm2022/softpak-components-spx-change-details.mjs +3 -3
  149. package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -1
  150. package/fesm2022/softpak-components-spx-channel-selection.mjs +6 -6
  151. package/fesm2022/softpak-components-spx-channel-selection.mjs.map +1 -1
  152. package/fesm2022/softpak-components-spx-check-digit.mjs +3 -3
  153. package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
  154. package/fesm2022/softpak-components-spx-form-section.mjs +3 -3
  155. package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -1
  156. package/fesm2022/softpak-components-spx-form-view.mjs +7 -7
  157. package/fesm2022/softpak-components-spx-form-view.mjs.map +1 -1
  158. package/fesm2022/softpak-components-spx-helpers.mjs.map +1 -1
  159. package/fesm2022/softpak-components-spx-inputs.mjs +39 -33
  160. package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
  161. package/fesm2022/softpak-components-spx-navigation.mjs +9 -9
  162. package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -1
  163. package/fesm2022/softpak-components-spx-number-check.mjs +3 -3
  164. package/fesm2022/softpak-components-spx-number-check.mjs.map +1 -1
  165. package/fesm2022/softpak-components-spx-pagination.mjs +3 -3
  166. package/fesm2022/softpak-components-spx-pagination.mjs.map +1 -1
  167. package/fesm2022/softpak-components-spx-patch.mjs +3 -3
  168. package/fesm2022/softpak-components-spx-patch.mjs.map +1 -1
  169. package/fesm2022/softpak-components-spx-progress-bar.mjs +3 -3
  170. package/fesm2022/softpak-components-spx-progress-bar.mjs.map +1 -1
  171. package/fesm2022/softpak-components-spx-spinner.mjs +3 -3
  172. package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -1
  173. package/fesm2022/softpak-components-spx-stock-info.mjs +3 -3
  174. package/fesm2022/softpak-components-spx-stock-info.mjs.map +1 -1
  175. package/fesm2022/softpak-components-spx-storage.mjs.map +1 -1
  176. package/fesm2022/softpak-components-spx-suggestion.mjs +3 -3
  177. package/fesm2022/softpak-components-spx-suggestion.mjs.map +1 -1
  178. package/fesm2022/softpak-components-spx-toaster.mjs +4 -4
  179. package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -1
  180. package/fesm2022/softpak-components-spx-update.mjs +7 -7
  181. package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
  182. package/fesm2022/softpak-components-spx-validation.mjs +3 -3
  183. package/fesm2022/softpak-components-spx-validation.mjs.map +1 -1
  184. package/package.json +59 -5
  185. package/spx-inputs/spx-input-text.component.d.ts +2 -1
  186. package/spx-inputs/spx-input.component.d.ts +2 -1
  187. package/tailwind.css +1 -1
@@ -0,0 +1,314 @@
1
+ import { NgIf } from '@angular/common';
2
+ import { Component, Input } from '@angular/core';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { TranslateModule } from '@ngx-translate/core';
5
+ import { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';
6
+ import { SpxInputComponent } from '@softpak/components/spx-inputs';
7
+ import { SpxProgressBarComponent } from '@softpak/components/spx-progress-bar';
8
+ import { SpxStorage, SpxStorageKeyEnum } from '@softpak/components/spx-storage';
9
+ import { Device } from '@capacitor/device';
10
+ import { getCurrentScope } from '@sentry/angular';
11
+ import { IonicModule } from '@ionic/angular';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "cordova-plugin-ionic/dist/ngx";
14
+ import * as i2 from "@ngx-translate/core";
15
+ import * as i3 from "@angular/forms";
16
+ import * as i4 from "@ionic/angular";
17
+ const ctrlNextVersionNumber = 'ctrlNextVersionNumber';
18
+ const ctrlVersionNumber = 'ctrlVersionNumber';
19
+ const ctrlConfiguredChannel = 'ctrlConfiguredChannel';
20
+ const ctrlAppStoreVersion = 'ctrlAppStoreVersion';
21
+ export class SpxAppUpdateComponent {
22
+ constructor(deploy, changeDetector, applicationRef, translateService, formBuilder, navController) {
23
+ this.deploy = deploy;
24
+ this.changeDetector = changeDetector;
25
+ this.applicationRef = applicationRef;
26
+ this.translateService = translateService;
27
+ this.formBuilder = formBuilder;
28
+ this.navController = navController;
29
+ this.delayedPercentage = 0;
30
+ this.percentage = 0;
31
+ this.syncTruckInterval = null;
32
+ this.updateStatus = this.textCheckingForUpdates;
33
+ this.form = this.formBuilder.group({
34
+ [ctrlNextVersionNumber]: [null, []],
35
+ [ctrlVersionNumber]: [null, []],
36
+ [ctrlConfiguredChannel]: [null, []],
37
+ [ctrlAppStoreVersion]: [null, []],
38
+ });
39
+ }
40
+ get ctrlVersionNumber() { return this.form.get(ctrlVersionNumber); }
41
+ get ctrlNextVersionNumber() { return this.form.get(ctrlNextVersionNumber); }
42
+ get ctrlConfiguredChannel() { return this.form.get(ctrlConfiguredChannel); }
43
+ get ctrlAppStoreVersion() { return this.form.get(ctrlAppStoreVersion); }
44
+ init() {
45
+ this.delayedPercentage = 0;
46
+ this.percentage = 0;
47
+ this.performAutomaticUpdate().then(() => { });
48
+ this.startLoaderSync();
49
+ this.changeStatus({
50
+ percentage: 0,
51
+ text: this.translateService.instant(this.textCheckingForUpdates),
52
+ });
53
+ }
54
+ destroy() {
55
+ this.stopLoaderSync();
56
+ }
57
+ async performAutomaticUpdate() {
58
+ const deviceInfo = await Device.getInfo();
59
+ if (deviceInfo?.platform === 'web') {
60
+ // Local? Skip the update page.
61
+ this.closeUpdateScreen();
62
+ }
63
+ try {
64
+ this.updateInfo();
65
+ // Start upgrade
66
+ const currentVersion = await this.deploy.getCurrentVersion();
67
+ if (currentVersion?.binaryVersionName) {
68
+ const binaryGroup = currentVersion.binaryVersionName.substring(0, 3); // e.g. "1.4"
69
+ const channelGroup = currentVersion.channel.split('-')[1].substring(0, 3); // e.g. "1.4"
70
+ const channelType = currentVersion.channel.split('-')[0];
71
+ if (binaryGroup != channelGroup) {
72
+ await this.deploy.configure({
73
+ appId: this.spxAppId,
74
+ channel: `${channelType}-${binaryGroup}.x`
75
+ }).then(() => {
76
+ this.sync().then(() => { });
77
+ });
78
+ }
79
+ else {
80
+ this.sync().then(() => { });
81
+ }
82
+ }
83
+ else {
84
+ this.sync().then(() => { });
85
+ }
86
+ // End upgrade
87
+ }
88
+ catch (error) {
89
+ this.changeStatus({
90
+ closeScreen: true,
91
+ error,
92
+ percentage: 100,
93
+ text: this.translateService.instant(this.textUnexpectedError)
94
+ });
95
+ }
96
+ }
97
+ async sync() {
98
+ try {
99
+ this.updateInfo();
100
+ const updateAvailableInfo = await this.deploy.checkForUpdate();
101
+ if (!updateAvailableInfo.available) {
102
+ // No update available
103
+ this.changeStatus({
104
+ closeScreen: true,
105
+ percentage: 0,
106
+ text: this.translateService.instant(this.textNoUpdatesAvailable),
107
+ });
108
+ }
109
+ else {
110
+ // Download update
111
+ await this.deploy.sync({ updateMethod: 'auto' }, (percentage) => {
112
+ this.changeStatus({
113
+ percentage: percentage ?? 0,
114
+ text: this.translateService.instant(this.textDownloadingUpdate, { percentage, version: updateAvailableInfo.build }),
115
+ });
116
+ }).catch((error) => {
117
+ this.changeStatus({
118
+ closeScreen: true,
119
+ error,
120
+ percentage: 100,
121
+ text: this.translateService.instant(this.textErrorWhileUpdatingApp),
122
+ });
123
+ });
124
+ this.changeStatus({
125
+ closeScreen: true,
126
+ percentage: 100,
127
+ text: this.translateService.instant(this.textFinishedUpdating, { version: updateAvailableInfo.build })
128
+ });
129
+ }
130
+ }
131
+ catch (error) {
132
+ // Catch unexpected plug-in errors
133
+ this.changeStatus({
134
+ closeScreen: true,
135
+ error,
136
+ percentage: 100,
137
+ text: this.translateService.instant(this.textUnexpectedError)
138
+ });
139
+ }
140
+ }
141
+ async updateInfo() {
142
+ const currentVersion = await this.deploy.getCurrentVersion();
143
+ const configuration = await this.deploy.getConfiguration();
144
+ const updateAvailableInfo = await this.deploy.checkForUpdate();
145
+ if (currentVersion) {
146
+ this.ctrlVersionNumber.setValue({
147
+ value: configuration?.currentBuildId,
148
+ });
149
+ this.ctrlNextVersionNumber.setValue({
150
+ value: updateAvailableInfo?.build
151
+ });
152
+ this.ctrlConfiguredChannel.setValue({
153
+ value: configuration ? configuration.channel : null
154
+ });
155
+ this.ctrlAppStoreVersion.setValue({
156
+ value: configuration ? configuration.binaryVersionName : null
157
+ });
158
+ {
159
+ const scope = getCurrentScope();
160
+ scope.setTag('version_binary_code', currentVersion?.binaryVersionCode);
161
+ scope.setTag('version_binary_name', currentVersion?.binaryVersionName);
162
+ scope.setTag('version_build_id', currentVersion?.buildId);
163
+ scope.setTag('channel_type', currentVersion?.channel);
164
+ scope.setTag('version_snapshot_id', currentVersion?.versionId);
165
+ }
166
+ ;
167
+ this.changeDetector.markForCheck();
168
+ this.applicationRef.tick();
169
+ }
170
+ }
171
+ changeStatus(status) {
172
+ this.updateStatus = status.text;
173
+ this.percentage = status.percentage;
174
+ if (status.closeScreen) {
175
+ this.closeUpdateScreen();
176
+ }
177
+ if (status.error) {
178
+ // this.appStore.dispatch(
179
+ // sharedToasterActions.CREATE_ERROR({
180
+ // messageText: status.error,
181
+ // })
182
+ // );
183
+ }
184
+ this.changeDetector.markForCheck();
185
+ this.applicationRef.tick();
186
+ }
187
+ closeUpdateScreen() {
188
+ // Allowing some time to make a screenshot of version info
189
+ SpxStorage.clearSetting(SpxStorageKeyEnum.updateInProgress);
190
+ setTimeout(() => {
191
+ if (SpxStorage.getSetting(SpxStorageKeyEnum.afterSignIn) &&
192
+ this.spxIsSignedIn) {
193
+ this.navController.navigateRoot([SpxStorage.getSetting(SpxStorageKeyEnum.afterSignIn)]);
194
+ SpxStorage.clearSetting(SpxStorageKeyEnum.afterSignIn);
195
+ }
196
+ else {
197
+ this.navController.navigateRoot([this.spxHomeUrl]);
198
+ }
199
+ }, 0);
200
+ }
201
+ startLoaderSync() {
202
+ SpxStorage.setSetting(SpxStorageKeyEnum.updateInProgress, '1');
203
+ if (this.syncTruckInterval === null) {
204
+ this.syncTruckInterval = setInterval(() => {
205
+ this.delayedPercentage = this.percentage;
206
+ }, 200);
207
+ }
208
+ }
209
+ stopLoaderSync() {
210
+ if (this.syncTruckInterval !== null) {
211
+ clearInterval(this.syncTruckInterval);
212
+ this.syncTruckInterval = null;
213
+ }
214
+ }
215
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxAppUpdateComponent, deps: [{ token: i1.Deploy }, { token: i0.ChangeDetectorRef }, { token: i0.ApplicationRef }, { token: i2.TranslateService }, { token: i3.FormBuilder }, { token: i4.NavController }], target: i0.ɵɵFactoryTarget.Component }); }
216
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpxAppUpdateComponent, isStandalone: true, selector: "spx-app-update", inputs: { spxHomeUrl: "spxHomeUrl", spxIsSignedIn: "spxIsSignedIn", textCheckingForUpdates: "textCheckingForUpdates", textDownloadingUpdate: "textDownloadingUpdate", textErrorWhileUpdatingApp: "textErrorWhileUpdatingApp", textFinishedUpdating: "textFinishedUpdating", textNoUpdatesAvailable: "textNoUpdatesAvailable", textUnexpectedError: "textUnexpectedError", txtAppStoreVersion: "txtAppStoreVersion", txtChannel: "txtChannel", txtNextVersion: "txtNextVersion", txtUpdate: "txtUpdate", txtVersion: "txtVersion", spxAppId: "spxAppId" }, ngImport: i0, template: `<ion-header>
217
+ <ion-toolbar>
218
+ <ion-title>
219
+ {{ txtUpdate | translate | capitalize }}
220
+ </ion-title>
221
+ </ion-toolbar>
222
+ </ion-header>
223
+
224
+ <ion-content class="ion-content--upd" [fullscreen]="true">
225
+ <div class="ion-padding">
226
+ <spx-progress-bar [spxPercentage]="delayedPercentage" [spxTitle]="updateStatus | capitalize">
227
+ </spx-progress-bar>
228
+ <form [formGroup]="form" class="mt-3">
229
+ <div *ngIf="ctrlAppStoreVersion.value && ctrlAppStoreVersion.value.value" class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3">
230
+ <spx-input [formControl]="ctrlAppStoreVersion" [spxLabel]="txtAppStoreVersion | translate | capitalize"
231
+ [spxReadonly]="true"></spx-input>
232
+ <spx-input [formControl]="ctrlConfiguredChannel" [spxLabel]="txtChannel | translate | capitalize"
233
+ [spxReadonly]="true"></spx-input>
234
+ <spx-input [formControl]="ctrlVersionNumber" [spxLabel]="txtVersion | translate | capitalize"
235
+ [spxReadonly]="true"></spx-input>
236
+ <spx-input *ngIf="ctrlNextVersionNumber.value && ctrlNextVersionNumber.value.value" [formControl]="ctrlNextVersionNumber" [spxLabel]="txtNextVersion | translate | capitalize"
237
+ [spxReadonly]="true"></spx-input>
238
+ </div>
239
+ </form>
240
+ </div>
241
+ </ion-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i4.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i4.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i4.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i4.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "pipe", type: SpxCapitalizePipe, name: "capitalize" }, { kind: "component", type: SpxInputComponent, selector: "spx-input", inputs: ["spxLabel", "spxMax", "spxMin", "spxName", "spxReadonly", "spxAutocomplete", "spxAutofocus", "spxInputMode", "spxPattern", "spxRequired", "spxSelectMonth", "spxSelectDay", "spxShowEdit", "spxShowHelp", "spxShowLabel", "spxCompact", "spxShowClear", "spxShowSearch", "spxShowValidationMessages", "spxStep", "spxSuggestions", "spxType", "spxValidators", "value", "spxCapitalize", "spxFocused"], outputs: ["spxBlur", "spxClear", "spxChange", "spxFocus", "spxEdit", "spxHelp", "spxSearch"] }, { kind: "component", type: SpxProgressBarComponent, selector: "spx-progress-bar", inputs: ["spxPercentage", "spxTitle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
242
+ }
243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxAppUpdateComponent, decorators: [{
244
+ type: Component,
245
+ args: [{
246
+ selector: 'spx-app-update',
247
+ standalone: true,
248
+ imports: [
249
+ FormsModule,
250
+ IonicModule,
251
+ NgIf,
252
+ ReactiveFormsModule,
253
+ SpxCapitalizePipe,
254
+ SpxInputComponent,
255
+ SpxProgressBarComponent,
256
+ TranslateModule,
257
+ ],
258
+ template: `<ion-header>
259
+ <ion-toolbar>
260
+ <ion-title>
261
+ {{ txtUpdate | translate | capitalize }}
262
+ </ion-title>
263
+ </ion-toolbar>
264
+ </ion-header>
265
+
266
+ <ion-content class="ion-content--upd" [fullscreen]="true">
267
+ <div class="ion-padding">
268
+ <spx-progress-bar [spxPercentage]="delayedPercentage" [spxTitle]="updateStatus | capitalize">
269
+ </spx-progress-bar>
270
+ <form [formGroup]="form" class="mt-3">
271
+ <div *ngIf="ctrlAppStoreVersion.value && ctrlAppStoreVersion.value.value" class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3">
272
+ <spx-input [formControl]="ctrlAppStoreVersion" [spxLabel]="txtAppStoreVersion | translate | capitalize"
273
+ [spxReadonly]="true"></spx-input>
274
+ <spx-input [formControl]="ctrlConfiguredChannel" [spxLabel]="txtChannel | translate | capitalize"
275
+ [spxReadonly]="true"></spx-input>
276
+ <spx-input [formControl]="ctrlVersionNumber" [spxLabel]="txtVersion | translate | capitalize"
277
+ [spxReadonly]="true"></spx-input>
278
+ <spx-input *ngIf="ctrlNextVersionNumber.value && ctrlNextVersionNumber.value.value" [formControl]="ctrlNextVersionNumber" [spxLabel]="txtNextVersion | translate | capitalize"
279
+ [spxReadonly]="true"></spx-input>
280
+ </div>
281
+ </form>
282
+ </div>
283
+ </ion-content>`,
284
+ }]
285
+ }], ctorParameters: () => [{ type: i1.Deploy }, { type: i0.ChangeDetectorRef }, { type: i0.ApplicationRef }, { type: i2.TranslateService }, { type: i3.FormBuilder }, { type: i4.NavController }], propDecorators: { spxHomeUrl: [{
286
+ type: Input
287
+ }], spxIsSignedIn: [{
288
+ type: Input
289
+ }], textCheckingForUpdates: [{
290
+ type: Input
291
+ }], textDownloadingUpdate: [{
292
+ type: Input
293
+ }], textErrorWhileUpdatingApp: [{
294
+ type: Input
295
+ }], textFinishedUpdating: [{
296
+ type: Input
297
+ }], textNoUpdatesAvailable: [{
298
+ type: Input
299
+ }], textUnexpectedError: [{
300
+ type: Input
301
+ }], txtAppStoreVersion: [{
302
+ type: Input
303
+ }], txtChannel: [{
304
+ type: Input
305
+ }], txtNextVersion: [{
306
+ type: Input
307
+ }], txtUpdate: [{
308
+ type: Input
309
+ }], txtVersion: [{
310
+ type: Input
311
+ }], spxAppId: [{
312
+ type: Input
313
+ }] } });
314
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWFwcC11cGRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1hcHAtdXBkYXRlL3NweC1hcHAtdXBkYXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFxQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBdUMsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkcsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFpQixNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFFNUQsTUFBTSxxQkFBcUIsR0FBRyx1QkFBdUIsQ0FBQztBQUN0RCxNQUFNLGlCQUFpQixHQUFHLG1CQUFtQixDQUFDO0FBQzlDLE1BQU0scUJBQXFCLEdBQUcsdUJBQXVCLENBQUM7QUFDdEQsTUFBTSxtQkFBbUIsR0FBRyxxQkFBcUIsQ0FBQztBQTBDbEQsTUFBTSxPQUFPLHFCQUFxQjtJQXVCaEMsWUFDbUIsTUFBYyxFQUNkLGNBQWlD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QUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBTcHhDYXBpdGFsaXplUGlwZSB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWNhcGl0YWxpemUnO1xuaW1wb3J0IHsgU3B4SW5wdXRDb21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMnO1xuaW1wb3J0IHsgU3B4UHJvZ3Jlc3NCYXJDb21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgU3B4U3RvcmFnZSwgU3B4U3RvcmFnZUtleUVudW0gfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1zdG9yYWdlJztcbmltcG9ydCB7IERldmljZSB9IGZyb20gJ0BjYXBhY2l0b3IvZGV2aWNlJztcbmltcG9ydCB7IERlcGxveSB9IGZyb20gJ2NvcmRvdmEtcGx1Z2luLWlvbmljL2Rpc3Qvbmd4JztcbmltcG9ydCB7IGdldEN1cnJlbnRTY29wZSB9IGZyb20gJ0BzZW50cnkvYW5ndWxhcic7XG5pbXBvcnQgeyBJb25pY01vZHVsZSwgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcblxuY29uc3QgY3RybE5leHRWZXJzaW9uTnVtYmVyID0gJ2N0cmxOZXh0VmVyc2lvbk51bWJlcic7XG5jb25zdCBjdHJsVmVyc2lvbk51bWJlciA9ICdjdHJsVmVyc2lvbk51bWJlcic7XG5jb25zdCBjdHJsQ29uZmlndXJlZENoYW5uZWwgPSAnY3RybENvbmZpZ3VyZWRDaGFubmVsJztcbmNvbnN0IGN0cmxBcHBTdG9yZVZlcnNpb24gPSAnY3RybEFwcFN0b3JlVmVyc2lvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC1hcHAtdXBkYXRlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIElvbmljTW9kdWxlLFxuICAgIE5nSWYsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBTcHhDYXBpdGFsaXplUGlwZSxcbiAgICBTcHhJbnB1dENvbXBvbmVudCxcbiAgICBTcHhQcm9ncmVzc0JhckNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlOiBgPGlvbi1oZWFkZXI+XG4gIDxpb24tdG9vbGJhcj5cbiAgICA8aW9uLXRpdGxlPlxuICAgICAge3sgdHh0VXBkYXRlIHwgdHJhbnNsYXRlIHwgY2FwaXRhbGl6ZSB9fVxuICAgIDwvaW9uLXRpdGxlPlxuICA8L2lvbi10b29sYmFyPlxuPC9pb24taGVhZGVyPlxuXG48aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tY29udGVudC0tdXBkXCIgW2Z1bGxzY3JlZW5dPVwidHJ1ZVwiPlxuICA8ZGl2IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cbiAgICA8c3B4LXByb2dyZXNzLWJhciBbc3B4UGVyY2VudGFnZV09XCJkZWxheWVkUGVyY2VudGFnZVwiIFtzcHhUaXRsZV09XCJ1cGRhdGVTdGF0dXMgfCBjYXBpdGFsaXplXCI+XG4gICAgPC9zcHgtcHJvZ3Jlc3MtYmFyPlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwibXQtM1wiPlxuICAgICAgPGRpdiAqbmdJZj1cImN0cmxBcHBTdG9yZVZlcnNpb24udmFsdWUgJiYgY3RybEFwcFN0b3JlVmVyc2lvbi52YWx1ZS52YWx1ZVwiIGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMiB4bDpncmlkLWNvbHMtMyBnYXAtM1wiPlxuICAgICAgICA8c3B4LWlucHV0IFtmb3JtQ29udHJvbF09XCJjdHJsQXBwU3RvcmVWZXJzaW9uXCIgW3NweExhYmVsXT1cInR4dEFwcFN0b3JlVmVyc2lvbiB8IHRyYW5zbGF0ZSB8IGNhcGl0YWxpemVcIlxuICAgICAgICAgIFtzcHhSZWFkb25seV09XCJ0cnVlXCI+PC9zcHgtaW5wdXQ+XG4gICAgICAgIDxzcHgtaW5wdXQgW2Zvcm1Db250cm9sXT1cImN0cmxDb25maWd1cmVkQ2hhbm5lbFwiIFtzcHhMYWJlbF09XCJ0eHRDaGFubmVsIHwgdHJhbnNsYXRlIHwgY2FwaXRhbGl6ZVwiXG4gICAgICAgICAgW3NweFJlYWRvbmx5XT1cInRydWVcIj48L3NweC1pbnB1dD5cbiAgICAgICAgPHNweC1pbnB1dCBbZm9ybUNvbnRyb2xdPVwiY3RybFZlcnNpb25OdW1iZXJcIiBbc3B4TGFiZWxdPVwidHh0VmVyc2lvbiB8IHRyYW5zbGF0ZSB8IGNhcGl0YWxpemVcIlxuICAgICAgICAgIFtzcHhSZWFkb25seV09XCJ0cnVlXCI+PC9zcHgtaW5wdXQ+XG4gICAgICAgIDxzcHgtaW5wdXQgKm5nSWY9XCJjdHJsTmV4dFZlcnNpb25OdW1iZXIudmFsdWUgJiYgY3RybE5leHRWZXJzaW9uTnVtYmVyLnZhbHVlLnZhbHVlXCIgW2Zvcm1Db250cm9sXT1cImN0cmxOZXh0VmVyc2lvbk51bWJlclwiIFtzcHhMYWJlbF09XCJ0eHROZXh0VmVyc2lvbiB8IHRyYW5zbGF0ZSB8IGNhcGl0YWxpemVcIlxuICAgICAgICAgIFtzcHhSZWFkb25seV09XCJ0cnVlXCI+PC9zcHgtaW5wdXQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG4gIDwvZGl2PlxuPC9pb24tY29udGVudD5gLFxufSlcbmV4cG9ydCBjbGFzcyBTcHhBcHBVcGRhdGVDb21wb25lbnQge1xuICBASW5wdXQoKSBzcHhIb21lVXJsITogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhJc1NpZ25lZEluITogYm9vbGVhbjtcbiAgQElucHV0KCkgdGV4dENoZWNraW5nRm9yVXBkYXRlcyE6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dERvd25sb2FkaW5nVXBkYXRlITogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0RXJyb3JXaGlsZVVwZGF0aW5nQXBwITogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0RmluaXNoZWRVcGRhdGluZyE6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dE5vVXBkYXRlc0F2YWlsYWJsZSE6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dFVuZXhwZWN0ZWRFcnJvciE6IHN0cmluZztcbiAgQElucHV0KCkgdHh0QXBwU3RvcmVWZXJzaW9uITogc3RyaW5nO1xuICBASW5wdXQoKSB0eHRDaGFubmVsITogc3RyaW5nO1xuICBASW5wdXQoKSB0eHROZXh0VmVyc2lvbiE6IHN0cmluZztcbiAgQElucHV0KCkgdHh0VXBkYXRlITogc3RyaW5nO1xuICBASW5wdXQoKSB0eHRWZXJzaW9uITogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhBcHBJZCE6IHN0cmluZztcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgZGVsYXllZFBlcmNlbnRhZ2U6IG51bWJlciA9IDA7XG4gIHBlcmNlbnRhZ2U6IG51bWJlciA9IDA7XG4gIHN5bmNUcnVja0ludGVydmFsOiBhbnkgfCBudWxsID0gbnVsbDtcbiAgdXBkYXRlU3RhdHVzOiBzdHJpbmcgPSB0aGlzLnRleHRDaGVja2luZ0ZvclVwZGF0ZXM7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXBsb3k6IERlcGxveSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuYXZDb250cm9sbGVyOiBOYXZDb250cm9sbGVyLFxuICApIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIFtjdHJsTmV4dFZlcnNpb25OdW1iZXJdOiBbbnVsbCwgW11dLFxuICAgICAgW2N0cmxWZXJzaW9uTnVtYmVyXTogW251bGwsIFtdXSxcbiAgICAgIFtjdHJsQ29uZmlndXJlZENoYW5uZWxdOiBbbnVsbCwgW11dLFxuICAgICAgW2N0cmxBcHBTdG9yZVZlcnNpb25dOiBbbnVsbCwgW11dLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGN0cmxWZXJzaW9uTnVtYmVyKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybS5nZXQoY3RybFZlcnNpb25OdW1iZXIpIGFzIEZvcm1Db250cm9sOyB9XG4gIGdldCBjdHJsTmV4dFZlcnNpb25OdW1iZXIoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtLmdldChjdHJsTmV4dFZlcnNpb25OdW1iZXIpIGFzIEZvcm1Db250cm9sOyB9XG4gIGdldCBjdHJsQ29uZmlndXJlZENoYW5uZWwoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtLmdldChjdHJsQ29uZmlndXJlZENoYW5uZWwpIGFzIEZvcm1Db250cm9sOyB9XG4gIGdldCBjdHJsQXBwU3RvcmVWZXJzaW9uKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybS5nZXQoY3RybEFwcFN0b3JlVmVyc2lvbikgYXMgRm9ybUNvbnRyb2w7IH1cblxuICBpbml0KCkge1xuICAgIHRoaXMuZGVsYXllZFBlcmNlbnRhZ2UgPSAwO1xuICAgIHRoaXMucGVyY2VudGFnZSA9IDA7XG4gICAgdGhpcy5wZXJmb3JtQXV0b21hdGljVXBkYXRlKCkudGhlbigoKSA9PiB7IH0pO1xuICAgIHRoaXMuc3RhcnRMb2FkZXJTeW5jKCk7XG4gICAgdGhpcy5jaGFuZ2VTdGF0dXMoe1xuICAgICAgcGVyY2VudGFnZTogMCxcbiAgICAgIHRleHQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMudGV4dENoZWNraW5nRm9yVXBkYXRlcyksXG4gICAgfSk7XG4gIH1cblxuICBkZXN0cm95KCkge1xuICAgIHRoaXMuc3RvcExvYWRlclN5bmMoKTtcbiAgfVxuXG4gIGFzeW5jIHBlcmZvcm1BdXRvbWF0aWNVcGRhdGUoKSB7XG4gICAgY29uc3QgZGV2aWNlSW5mbyA9IGF3YWl0IERldmljZS5nZXRJbmZvKCk7XG5cbiAgICBpZiAoZGV2aWNlSW5mbz8ucGxhdGZvcm0gPT09ICd3ZWInKSB7XG4gICAgICAvLyBMb2NhbD8gU2tpcCB0aGUgdXBkYXRlIHBhZ2UuXG4gICAgICB0aGlzLmNsb3NlVXBkYXRlU2NyZWVuKCk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICB0aGlzLnVwZGF0ZUluZm8oKTtcblxuICAgICAgLy8gU3RhcnQgdXBncmFkZVxuICAgICAgY29uc3QgY3VycmVudFZlcnNpb24gPSBhd2FpdCB0aGlzLmRlcGxveS5nZXRDdXJyZW50VmVyc2lvbigpO1xuICAgICAgaWYgKGN1cnJlbnRWZXJzaW9uPy5iaW5hcnlWZXJzaW9uTmFtZSkge1xuICAgICAgICBjb25zdCBiaW5hcnlHcm91cCA9IGN1cnJlbnRWZXJzaW9uLmJpbmFyeVZlcnNpb25OYW1lLnN1YnN0cmluZygwLCAzKTsgLy8gZS5nLiBcIjEuNFwiXG4gICAgICAgIGNvbnN0IGNoYW5uZWxHcm91cCA9IGN1cnJlbnRWZXJzaW9uLmNoYW5uZWwuc3BsaXQoJy0nKVsxXS5zdWJzdHJpbmcoMCwgMyk7IC8vIGUuZy4gXCIxLjRcIlxuICAgICAgICBjb25zdCBjaGFubmVsVHlwZSA9IGN1cnJlbnRWZXJzaW9uLmNoYW5uZWwuc3BsaXQoJy0nKVswXTtcblxuICAgICAgICBpZiAoYmluYXJ5R3JvdXAgIT0gY2hhbm5lbEdyb3VwKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5kZXBsb3kuY29uZmlndXJlKHtcbiAgICAgICAgICAgIGFwcElkOiB0aGlzLnNweEFwcElkLFxuICAgICAgICAgICAgY2hhbm5lbDogYCR7Y2hhbm5lbFR5cGV9LSR7YmluYXJ5R3JvdXB9LnhgXG4gICAgICAgICAgfSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN5bmMoKS50aGVuKCgpID0+IHsgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zeW5jKCkudGhlbigoKSA9PiB7IH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnN5bmMoKS50aGVuKCgpID0+IHsgfSk7XG4gICAgICB9XG4gICAgICAvLyBFbmQgdXBncmFkZVxuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHRoaXMuY2hhbmdlU3RhdHVzKHtcbiAgICAgICAgY2xvc2VTY3JlZW46IHRydWUsXG4gICAgICAgIGVycm9yLFxuICAgICAgICBwZXJjZW50YWdlOiAxMDAsXG4gICAgICAgIHRleHQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMudGV4dFVuZXhwZWN0ZWRFcnJvcilcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc3luYygpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy51cGRhdGVJbmZvKCk7XG5cbiAgICAgIGNvbnN0IHVwZGF0ZUF2YWlsYWJsZUluZm8gPSBhd2FpdCB0aGlzLmRlcGxveS5jaGVja0ZvclVwZGF0ZSgpO1xuICAgICAgaWYgKCF1cGRhdGVBdmFpbGFibGVJbmZvLmF2YWlsYWJsZSkge1xuICAgICAgICAvLyBObyB1cGRhdGUgYXZhaWxhYmxlXG4gICAgICAgIHRoaXMuY2hhbmdlU3RhdHVzKHtcbiAgICAgICAgICBjbG9zZVNjcmVlbjogdHJ1ZSxcbiAgICAgICAgICBwZXJjZW50YWdlOiAwLFxuICAgICAgICAgIHRleHQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMudGV4dE5vVXBkYXRlc0F2YWlsYWJsZSksXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gRG93bmxvYWQgdXBkYXRlXG4gICAgICAgIGF3YWl0IHRoaXMuZGVwbG95LnN5bmMoeyB1cGRhdGVNZXRob2Q6ICdhdXRvJyB9LCAocGVyY2VudGFnZSkgPT4ge1xuICAgICAgICAgIHRoaXMuY2hhbmdlU3RhdHVzKHtcbiAgICAgICAgICAgIHBlcmNlbnRhZ2U6IHBlcmNlbnRhZ2UgPz8gMCxcbiAgICAgICAgICAgIHRleHQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMudGV4dERvd25sb2FkaW5nVXBkYXRlLCB7IHBlcmNlbnRhZ2UsIHZlcnNpb246IHVwZGF0ZUF2YWlsYWJsZUluZm8uYnVpbGQgfSksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgIHRoaXMuY2hhbmdlU3RhdHVzKHtcbiAgICAgICAgICAgIGNsb3NlU2NyZWVuOiB0cnVlLFxuICAgICAgICAgICAgZXJyb3IsXG4gICAgICAgICAgICBwZXJjZW50YWdlOiAxMDAsXG4gICAgICAgICAgICB0ZXh0OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLnRleHRFcnJvcldoaWxlVXBkYXRpbmdBcHApLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmNoYW5nZVN0YXR1cyh7XG4gICAgICAgICAgY2xvc2VTY3JlZW46IHRydWUsXG4gICAgICAgICAgcGVyY2VudGFnZTogMTAwLFxuICAgICAgICAgIHRleHQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMudGV4dEZpbmlzaGVkVXBkYXRpbmcsIHsgdmVyc2lvbjogdXBkYXRlQXZhaWxhYmxlSW5mby5idWlsZCB9KVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICAvLyBDYXRjaCB1bmV4cGVjdGVkIHBsdWctaW4gZXJyb3JzXG4gICAgICB0aGlzLmNoYW5nZVN0YXR1cyh7XG4gICAgICAgIGNsb3NlU2NyZWVuOiB0cnVlLFxuICAgICAgICBlcnJvcixcbiAgICAgICAgcGVyY2VudGFnZTogMTAwLFxuICAgICAgICB0ZXh0OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLnRleHRVbmV4cGVjdGVkRXJyb3IpXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHVwZGF0ZUluZm8oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY3VycmVudFZlcnNpb24gPSBhd2FpdCB0aGlzLmRlcGxveS5nZXRDdXJyZW50VmVyc2lvbigpO1xuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSBhd2FpdCB0aGlzLmRlcGxveS5nZXRDb25maWd1cmF0aW9uKCk7XG4gICAgY29uc3QgdXBkYXRlQXZhaWxhYmxlSW5mbyA9IGF3YWl0IHRoaXMuZGVwbG95LmNoZWNrRm9yVXBkYXRlKCk7XG5cbiAgICBpZiAoY3VycmVudFZlcnNpb24pIHtcbiAgICAgIHRoaXMuY3RybFZlcnNpb25OdW1iZXIuc2V0VmFsdWUoe1xuICAgICAgICB2YWx1ZTogY29uZmlndXJhdGlvbj8uY3VycmVudEJ1aWxkSWQsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuY3RybE5leHRWZXJzaW9uTnVtYmVyLnNldFZhbHVlKHtcbiAgICAgICAgdmFsdWU6IHVwZGF0ZUF2YWlsYWJsZUluZm8/LmJ1aWxkXG4gICAgICB9KTtcbiAgICAgIHRoaXMuY3RybENvbmZpZ3VyZWRDaGFubmVsLnNldFZhbHVlKHtcbiAgICAgICAgdmFsdWU6IGNvbmZpZ3VyYXRpb24gPyBjb25maWd1cmF0aW9uLmNoYW5uZWwgOiBudWxsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuY3RybEFwcFN0b3JlVmVyc2lvbi5zZXRWYWx1ZSh7XG4gICAgICAgIHZhbHVlOiBjb25maWd1cmF0aW9uID8gY29uZmlndXJhdGlvbi5iaW5hcnlWZXJzaW9uTmFtZSA6IG51bGxcbiAgICAgIH0pO1xuXG4gICAgICB7XG4gICAgICAgIGNvbnN0IHNjb3BlID0gZ2V0Q3VycmVudFNjb3BlKCk7XG4gICAgICAgIHNjb3BlLnNldFRhZygndmVyc2lvbl9iaW5hcnlfY29kZScsIGN1cnJlbnRWZXJzaW9uPy5iaW5hcnlWZXJzaW9uQ29kZSk7XG4gICAgICAgIHNjb3BlLnNldFRhZygndmVyc2lvbl9iaW5hcnlfbmFtZScsIGN1cnJlbnRWZXJzaW9uPy5iaW5hcnlWZXJzaW9uTmFtZSk7XG4gICAgICAgIHNjb3BlLnNldFRhZygndmVyc2lvbl9idWlsZF9pZCcsIGN1cnJlbnRWZXJzaW9uPy5idWlsZElkKTtcbiAgICAgICAgc2NvcGUuc2V0VGFnKCdjaGFubmVsX3R5cGUnLCBjdXJyZW50VmVyc2lvbj8uY2hhbm5lbCk7XG4gICAgICAgIHNjb3BlLnNldFRhZygndmVyc2lvbl9zbmFwc2hvdF9pZCcsIGN1cnJlbnRWZXJzaW9uPy52ZXJzaW9uSWQpO1xuICAgICAgfTtcblxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHRoaXMuYXBwbGljYXRpb25SZWYudGljaygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2hhbmdlU3RhdHVzKHN0YXR1czoge1xuICAgIGVycm9yPzogc3RyaW5nO1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBjbG9zZVNjcmVlbj86IGJvb2xlYW47XG4gICAgcGVyY2VudGFnZTogbnVtYmVyO1xuICB9KSB7XG4gICAgdGhpcy51cGRhdGVTdGF0dXMgPSBzdGF0dXMudGV4dDtcbiAgICB0aGlzLnBlcmNlbnRhZ2UgPSBzdGF0dXMucGVyY2VudGFnZTtcbiAgICBpZiAoc3RhdHVzLmNsb3NlU2NyZWVuKSB7XG4gICAgICB0aGlzLmNsb3NlVXBkYXRlU2NyZWVuKCk7XG4gICAgfVxuICAgIGlmIChzdGF0dXMuZXJyb3IpIHtcbiAgICAgIC8vIHRoaXMuYXBwU3RvcmUuZGlzcGF0Y2goXG4gICAgICAvLyAgIHNoYXJlZFRvYXN0ZXJBY3Rpb25zLkNSRUFURV9FUlJPUih7XG4gICAgICAvLyAgICAgbWVzc2FnZVRleHQ6IHN0YXR1cy5lcnJvcixcbiAgICAgIC8vICAgfSlcbiAgICAgIC8vICk7XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgdGhpcy5hcHBsaWNhdGlvblJlZi50aWNrKCk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlVXBkYXRlU2NyZWVuKCkge1xuICAgIC8vIEFsbG93aW5nIHNvbWUgdGltZSB0byBtYWtlIGEgc2NyZWVuc2hvdCBvZiB2ZXJzaW9uIGluZm9cbiAgICBTcHhTdG9yYWdlLmNsZWFyU2V0dGluZzxhbnk+KFNweFN0b3JhZ2VLZXlFbnVtLnVwZGF0ZUluUHJvZ3Jlc3MpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBTcHhTdG9yYWdlLmdldFNldHRpbmc8YW55PihTcHhTdG9yYWdlS2V5RW51bS5hZnRlclNpZ25JbikgJiZcbiAgICAgICAgdGhpcy5zcHhJc1NpZ25lZEluXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5uYXZDb250cm9sbGVyLm5hdmlnYXRlUm9vdChbU3B4U3RvcmFnZS5nZXRTZXR0aW5nPGFueT4oU3B4U3RvcmFnZUtleUVudW0uYWZ0ZXJTaWduSW4pXSk7XG4gICAgICAgIFNweFN0b3JhZ2UuY2xlYXJTZXR0aW5nPGFueT4oU3B4U3RvcmFnZUtleUVudW0uYWZ0ZXJTaWduSW4pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm5hdkNvbnRyb2xsZXIubmF2aWdhdGVSb290KFt0aGlzLnNweEhvbWVVcmxdKTtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRMb2FkZXJTeW5jKCkge1xuICAgIFNweFN0b3JhZ2Uuc2V0U2V0dGluZzxhbnk+KFNweFN0b3JhZ2VLZXlFbnVtLnVwZGF0ZUluUHJvZ3Jlc3MsICcxJyk7XG4gICAgaWYgKHRoaXMuc3luY1RydWNrSW50ZXJ2YWwgPT09IG51bGwpIHtcbiAgICAgIHRoaXMuc3luY1RydWNrSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZGVsYXllZFBlcmNlbnRhZ2UgPSB0aGlzLnBlcmNlbnRhZ2U7XG4gICAgICB9LCAyMDApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RvcExvYWRlclN5bmMoKSB7XG4gICAgaWYgKHRoaXMuc3luY1RydWNrSW50ZXJ2YWwgIT09IG51bGwpIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5zeW5jVHJ1Y2tJbnRlcnZhbCk7XG4gICAgICB0aGlzLnN5bmNUcnVja0ludGVydmFsID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './spx-button.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtYnV0dG9uL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3B4LWJ1dHRvbi5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdHBhay1jb21wb25lbnRzLXNweC1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWJ1dHRvbi9zb2Z0cGFrLWNvbXBvbmVudHMtc3B4LWJ1dHRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,142 @@
1
+ import { NgClass } from '@angular/common';
2
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';
3
+ import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
4
+ import * as i0 from "@angular/core";
5
+ export class SpxButtonComponent {
6
+ constructor() {
7
+ this.spxDisabled = false;
8
+ this.spxSeverity = SpxSeverityEnum.info;
9
+ this.spxSize = 'lg';
10
+ this.spxType = 'submit';
11
+ this.spxClick = new EventEmitter();
12
+ this.hasShadowDom = (el) => {
13
+ return !!el.shadowRoot && !!el.attachShadow;
14
+ };
15
+ this.handleClick = () => {
16
+ if (!this.spxDisabled) {
17
+ this.spxClick.emit();
18
+ }
19
+ };
20
+ }
21
+ get hostClassBlock() { return this.spxFullWidth; }
22
+ get hostClassHFull() { return this.spxFullHeight; }
23
+ get hostClassWFull() { return this.spxFullWidth; }
24
+ get severityError() { return this.spxSeverity === SpxSeverityEnum.error; }
25
+ get severityInfo() { return this.spxSeverity === SpxSeverityEnum.info; }
26
+ get severitySuccess() { return this.spxSeverity === SpxSeverityEnum.success; }
27
+ get severityWarning() { return this.spxSeverity === SpxSeverityEnum.warning; }
28
+ spxSetFocus() {
29
+ console.log(this.buttonRef);
30
+ this.buttonRef?.nativeElement?.focus();
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpxButtonComponent, isStandalone: true, selector: "spx-button", inputs: { spxDisabled: "spxDisabled", spxClass: "spxClass", spxClassObject: "spxClassObject", spxForm: "spxForm", spxFullHeight: "spxFullHeight", spxFullWidth: "spxFullWidth", spxSeverity: "spxSeverity", spxSize: "spxSize", spxTabIndex: "spxTabIndex", spxType: "spxType" }, outputs: { spxClick: "spxClick" }, host: { properties: { "class.block": "this.hostClassBlock", "class.h-full": "this.hostClassHFull", "class.w-full": "this.hostClassWFull" } }, viewQueries: [{ propertyName: "buttonRef", first: true, predicate: ["buttonRef"], descendants: true, static: true }], ngImport: i0, template: `
34
+ <button
35
+ #buttonRef
36
+ class="border border-transparent font-bold px-4 relative rounded text-center text-white focus:outline-none focus:ring-2 focus:ring-offset-2 bg-gradient-to-r"
37
+ [class.h-full]="this.spxFullHeight"
38
+ [class.w-full]="this.spxFullWidth"
39
+ [class.bg-blue-600]="!this.spxSeverity || this.severityInfo"
40
+ [class.focus:ring-blue-600]="!this.spxSeverity || this.severityInfo"
41
+ [class.from-red-400]="this.severityError"
42
+ [class.to-red-600]="this.severityError"
43
+ [class.focus:ring-red-600]="this.severityError"
44
+ [class.from-lime-400]="this.severitySuccess"
45
+ [class.to-lime-600]="this.severitySuccess"
46
+ [class.focus:ring-lime-600]="this.severitySuccess"
47
+ [class.from-amber-400]="this.severityWarning"
48
+ [class.to-amber-600]="this.severityWarning"
49
+ [class.focus:ring-amber-600]="this.severityWarning"
50
+ [class.py-2]="!this.spxSize || this.spxSize === 'lg'"
51
+ [class.py-4]="!this.spxSize || this.spxSize === 'xl'"
52
+ [class.text-xl]="this.spxSize === 'xl'"
53
+ [class.text-lg]="this.spxSize === 'lg'"
54
+ [class.cursor-pointer]="!this.spxDisabled"
55
+ [class.cursor-not-allowed]="this.spxDisabled"
56
+ [class.opacity-50]="this.spxDisabled"
57
+ [class.focus:ring-0]="this.spxDisabled"
58
+ [ngClass]="this.spxClass ? this.spxClass : undefined"
59
+ [attr.disabled]="this.spxDisabled ? this.spxDisabled : undefined"
60
+ [attr.form]="this.spxForm ? this.spxForm : undefined"
61
+ [attr.tabindex]="this.spxTabIndex ? this.spxTabIndex : undefined"
62
+ [attr.type]="this.spxType ? this.spxType : undefined"
63
+ (click)="this.handleClick()"
64
+ part="button"><ng-content></ng-content></button>`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
65
+ }
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxButtonComponent, decorators: [{
67
+ type: Component,
68
+ args: [{
69
+ selector: 'spx-button',
70
+ standalone: true,
71
+ imports: [
72
+ NgClass,
73
+ ],
74
+ template: `
75
+ <button
76
+ #buttonRef
77
+ class="border border-transparent font-bold px-4 relative rounded text-center text-white focus:outline-none focus:ring-2 focus:ring-offset-2 bg-gradient-to-r"
78
+ [class.h-full]="this.spxFullHeight"
79
+ [class.w-full]="this.spxFullWidth"
80
+ [class.bg-blue-600]="!this.spxSeverity || this.severityInfo"
81
+ [class.focus:ring-blue-600]="!this.spxSeverity || this.severityInfo"
82
+ [class.from-red-400]="this.severityError"
83
+ [class.to-red-600]="this.severityError"
84
+ [class.focus:ring-red-600]="this.severityError"
85
+ [class.from-lime-400]="this.severitySuccess"
86
+ [class.to-lime-600]="this.severitySuccess"
87
+ [class.focus:ring-lime-600]="this.severitySuccess"
88
+ [class.from-amber-400]="this.severityWarning"
89
+ [class.to-amber-600]="this.severityWarning"
90
+ [class.focus:ring-amber-600]="this.severityWarning"
91
+ [class.py-2]="!this.spxSize || this.spxSize === 'lg'"
92
+ [class.py-4]="!this.spxSize || this.spxSize === 'xl'"
93
+ [class.text-xl]="this.spxSize === 'xl'"
94
+ [class.text-lg]="this.spxSize === 'lg'"
95
+ [class.cursor-pointer]="!this.spxDisabled"
96
+ [class.cursor-not-allowed]="this.spxDisabled"
97
+ [class.opacity-50]="this.spxDisabled"
98
+ [class.focus:ring-0]="this.spxDisabled"
99
+ [ngClass]="this.spxClass ? this.spxClass : undefined"
100
+ [attr.disabled]="this.spxDisabled ? this.spxDisabled : undefined"
101
+ [attr.form]="this.spxForm ? this.spxForm : undefined"
102
+ [attr.tabindex]="this.spxTabIndex ? this.spxTabIndex : undefined"
103
+ [attr.type]="this.spxType ? this.spxType : undefined"
104
+ (click)="this.handleClick()"
105
+ part="button"><ng-content></ng-content></button>`,
106
+ }]
107
+ }], propDecorators: { hostClassBlock: [{
108
+ type: HostBinding,
109
+ args: ['class.block']
110
+ }], hostClassHFull: [{
111
+ type: HostBinding,
112
+ args: ['class.h-full']
113
+ }], hostClassWFull: [{
114
+ type: HostBinding,
115
+ args: ['class.w-full']
116
+ }], spxDisabled: [{
117
+ type: Input
118
+ }], spxClass: [{
119
+ type: Input
120
+ }], spxClassObject: [{
121
+ type: Input
122
+ }], spxForm: [{
123
+ type: Input
124
+ }], spxFullHeight: [{
125
+ type: Input
126
+ }], spxFullWidth: [{
127
+ type: Input
128
+ }], spxSeverity: [{
129
+ type: Input
130
+ }], spxSize: [{
131
+ type: Input
132
+ }], spxTabIndex: [{
133
+ type: Input
134
+ }], spxType: [{
135
+ type: Input
136
+ }], spxClick: [{
137
+ type: Output
138
+ }], buttonRef: [{
139
+ type: ViewChild,
140
+ args: ['buttonRef', { static: true }]
141
+ }] } });
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWJ1dHRvbi9zcHgtYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUF5Q2xFLE1BQU0sT0FBTyxrQkFBa0I7SUF2Qy9CO1FBMkNXLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBTXBCLGdCQUFXLEdBQXFCLGVBQWUsQ0FBQyxJQUFJLENBQUM7UUFDckQsWUFBTyxHQUFnQixJQUFJLENBQUM7UUFFNUIsWUFBTyxHQUF3QixRQUFRLENBQUM7UUFDdkMsYUFBUSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBUWxFLGlCQUFZLEdBQUcsQ0FBQyxFQUFlLEVBQUUsRUFBRTtZQUNqQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBRSxFQUFVLENBQUMsWUFBWSxDQUFDO1FBQ3ZELENBQUMsQ0FBQztRQUNGLGdCQUFXLEdBQUcsR0FBRyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdkIsQ0FBQztRQUNILENBQUMsQ0FBQTtLQU1GO0lBbENDLElBQWdDLGNBQWMsS0FBSyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQzlFLElBQWlDLGNBQWMsS0FBSyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLElBQWlDLGNBQWMsS0FBSyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBYy9FLElBQUksYUFBYSxLQUFLLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMxRSxJQUFJLFlBQVksS0FBSyxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDeEUsSUFBSSxlQUFlLEtBQUssT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzlFLElBQUksZUFBZSxLQUFLLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQVc5RSxXQUFXO1FBQ1QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDekMsQ0FBQzsrR0FsQ1Usa0JBQWtCO21HQUFsQixrQkFBa0IsK25CQWpDbkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7cURBK0J5Qyw0REFqQ2pELE9BQU87OzRGQW1DRSxrQkFBa0I7a0JBdkM5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLE9BQU87cUJBQ1I7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3FEQStCeUM7aUJBQ3BEOzhCQUVpQyxjQUFjO3NCQUE3QyxXQUFXO3VCQUFDLGFBQWE7Z0JBQ08sY0FBYztzQkFBOUMsV0FBVzt1QkFBQyxjQUFjO2dCQUNNLGNBQWM7c0JBQTlDLFdBQVc7dUJBQUMsY0FBYztnQkFDbEIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNtQyxTQUFTO3NCQUFsRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTcHhTZXZlcml0eUVudW0gfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LWJ1dHRvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzLFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICA8YnV0dG9uXG4gICAgI2J1dHRvblJlZlxuICAgIGNsYXNzPVwiYm9yZGVyIGJvcmRlci10cmFuc3BhcmVudCBmb250LWJvbGQgcHgtNCByZWxhdGl2ZSByb3VuZGVkIHRleHQtY2VudGVyIHRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLW9mZnNldC0yIGJnLWdyYWRpZW50LXRvLXJcIlxuICAgIFtjbGFzcy5oLWZ1bGxdPVwidGhpcy5zcHhGdWxsSGVpZ2h0XCJcbiAgICBbY2xhc3Mudy1mdWxsXT1cInRoaXMuc3B4RnVsbFdpZHRoXCJcbiAgICBbY2xhc3MuYmctYmx1ZS02MDBdPVwiIXRoaXMuc3B4U2V2ZXJpdHkgfHwgdGhpcy5zZXZlcml0eUluZm9cIlxuICAgIFtjbGFzcy5mb2N1czpyaW5nLWJsdWUtNjAwXT1cIiF0aGlzLnNweFNldmVyaXR5IHx8IHRoaXMuc2V2ZXJpdHlJbmZvXCJcbiAgICBbY2xhc3MuZnJvbS1yZWQtNDAwXT1cInRoaXMuc2V2ZXJpdHlFcnJvclwiXG4gICAgW2NsYXNzLnRvLXJlZC02MDBdPVwidGhpcy5zZXZlcml0eUVycm9yXCJcbiAgICBbY2xhc3MuZm9jdXM6cmluZy1yZWQtNjAwXT1cInRoaXMuc2V2ZXJpdHlFcnJvclwiXG4gICAgW2NsYXNzLmZyb20tbGltZS00MDBdPVwidGhpcy5zZXZlcml0eVN1Y2Nlc3NcIlxuICAgIFtjbGFzcy50by1saW1lLTYwMF09XCJ0aGlzLnNldmVyaXR5U3VjY2Vzc1wiXG4gICAgW2NsYXNzLmZvY3VzOnJpbmctbGltZS02MDBdPVwidGhpcy5zZXZlcml0eVN1Y2Nlc3NcIlxuICAgIFtjbGFzcy5mcm9tLWFtYmVyLTQwMF09XCJ0aGlzLnNldmVyaXR5V2FybmluZ1wiXG4gICAgW2NsYXNzLnRvLWFtYmVyLTYwMF09XCJ0aGlzLnNldmVyaXR5V2FybmluZ1wiXG4gICAgW2NsYXNzLmZvY3VzOnJpbmctYW1iZXItNjAwXT1cInRoaXMuc2V2ZXJpdHlXYXJuaW5nXCJcbiAgICBbY2xhc3MucHktMl09XCIhdGhpcy5zcHhTaXplIHx8IHRoaXMuc3B4U2l6ZSA9PT0gJ2xnJ1wiXG4gICAgW2NsYXNzLnB5LTRdPVwiIXRoaXMuc3B4U2l6ZSB8fCB0aGlzLnNweFNpemUgPT09ICd4bCdcIlxuICAgIFtjbGFzcy50ZXh0LXhsXT1cInRoaXMuc3B4U2l6ZSA9PT0gJ3hsJ1wiXG4gICAgW2NsYXNzLnRleHQtbGddPVwidGhpcy5zcHhTaXplID09PSAnbGcnXCJcbiAgICBbY2xhc3MuY3Vyc29yLXBvaW50ZXJdPVwiIXRoaXMuc3B4RGlzYWJsZWRcIlxuICAgIFtjbGFzcy5jdXJzb3Itbm90LWFsbG93ZWRdPVwidGhpcy5zcHhEaXNhYmxlZFwiXG4gICAgW2NsYXNzLm9wYWNpdHktNTBdPVwidGhpcy5zcHhEaXNhYmxlZFwiXG4gICAgW2NsYXNzLmZvY3VzOnJpbmctMF09XCJ0aGlzLnNweERpc2FibGVkXCJcbiAgICBbbmdDbGFzc109XCJ0aGlzLnNweENsYXNzID8gdGhpcy5zcHhDbGFzcyA6IHVuZGVmaW5lZFwiXG4gICAgW2F0dHIuZGlzYWJsZWRdPVwidGhpcy5zcHhEaXNhYmxlZCA/IHRoaXMuc3B4RGlzYWJsZWQgOiB1bmRlZmluZWRcIlxuICAgIFthdHRyLmZvcm1dPVwidGhpcy5zcHhGb3JtID8gdGhpcy5zcHhGb3JtIDogdW5kZWZpbmVkXCJcbiAgICBbYXR0ci50YWJpbmRleF09XCJ0aGlzLnNweFRhYkluZGV4ID8gdGhpcy5zcHhUYWJJbmRleCA6IHVuZGVmaW5lZFwiXG4gICAgW2F0dHIudHlwZV09XCJ0aGlzLnNweFR5cGUgPyB0aGlzLnNweFR5cGUgOiB1bmRlZmluZWRcIlxuICAgIChjbGljayk9XCJ0aGlzLmhhbmRsZUNsaWNrKClcIlxuICAgIHBhcnQ9XCJidXR0b25cIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9idXR0b24+YCxcbn0pXG5leHBvcnQgY2xhc3MgU3B4QnV0dG9uQ29tcG9uZW50IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5ibG9jaycpIGdldCBob3N0Q2xhc3NCbG9jaygpIHsgcmV0dXJuIHRoaXMuc3B4RnVsbFdpZHRoOyB9XG4gIEBIb3N0QmluZGluZygnY2xhc3MuaC1mdWxsJykgZ2V0IGhvc3RDbGFzc0hGdWxsKCkgeyByZXR1cm4gdGhpcy5zcHhGdWxsSGVpZ2h0OyB9XG4gIEBIb3N0QmluZGluZygnY2xhc3Mudy1mdWxsJykgZ2V0IGhvc3RDbGFzc1dGdWxsKCkgeyByZXR1cm4gdGhpcy5zcHhGdWxsV2lkdGg7IH1cbiAgQElucHV0KCkgc3B4RGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4Q2xhc3M/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNweENsYXNzT2JqZWN0Pzogb2JqZWN0O1xuICBASW5wdXQoKSBzcHhGb3JtPzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhGdWxsSGVpZ2h0PzogYm9vbGVhbjtcbiAgQElucHV0KCkgc3B4RnVsbFdpZHRoPzogYm9vbGVhbjtcbiAgQElucHV0KCkgc3B4U2V2ZXJpdHk/OiBTcHhTZXZlcml0eUVudW0gPSBTcHhTZXZlcml0eUVudW0uaW5mbztcbiAgQElucHV0KCkgc3B4U2l6ZTogJ2xnJyB8ICd4bCcgPSAnbGcnO1xuICBASW5wdXQoKSBzcHhUYWJJbmRleD86IG51bWJlcjtcbiAgQElucHV0KCkgc3B4VHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyA9ICdzdWJtaXQnO1xuICBAT3V0cHV0KCkgc3B4Q2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQFZpZXdDaGlsZCgnYnV0dG9uUmVmJywgeyBzdGF0aWM6IHRydWUgfSkgYnV0dG9uUmVmPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBnZXQgc2V2ZXJpdHlFcnJvcigpIHsgcmV0dXJuIHRoaXMuc3B4U2V2ZXJpdHkgPT09IFNweFNldmVyaXR5RW51bS5lcnJvcjsgfVxuICBnZXQgc2V2ZXJpdHlJbmZvKCkgeyByZXR1cm4gdGhpcy5zcHhTZXZlcml0eSA9PT0gU3B4U2V2ZXJpdHlFbnVtLmluZm87IH1cbiAgZ2V0IHNldmVyaXR5U3VjY2VzcygpIHsgcmV0dXJuIHRoaXMuc3B4U2V2ZXJpdHkgPT09IFNweFNldmVyaXR5RW51bS5zdWNjZXNzOyB9XG4gIGdldCBzZXZlcml0eVdhcm5pbmcoKSB7IHJldHVybiB0aGlzLnNweFNldmVyaXR5ID09PSBTcHhTZXZlcml0eUVudW0ud2FybmluZzsgfVxuXG4gIGhhc1NoYWRvd0RvbSA9IChlbDogSFRNTEVsZW1lbnQpID0+IHtcbiAgICByZXR1cm4gISFlbC5zaGFkb3dSb290ICYmICEhKGVsIGFzIGFueSkuYXR0YWNoU2hhZG93O1xuICB9O1xuICBoYW5kbGVDbGljayA9ICgpID0+IHtcbiAgICBpZiAoIXRoaXMuc3B4RGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc3B4Q2xpY2suZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIHNweFNldEZvY3VzKCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKHRoaXMuYnV0dG9uUmVmKTtcbiAgICB0aGlzLmJ1dHRvblJlZj8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './spx-capitalize.pipe';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2FwaXRhbGl6ZS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NweC1jYXBpdGFsaXplLnBpcGUnO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdHBhay1jb21wb25lbnRzLXNweC1jYXBpdGFsaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1jYXBpdGFsaXplL3NvZnRwYWstY29tcG9uZW50cy1zcHgtY2FwaXRhbGl6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,20 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class SpxCapitalizePipe {
4
+ transform(value, ..._args) {
5
+ return value = value ? value.charAt(0).toUpperCase() + value.substr(1) : '';
6
+ }
7
+ static transform(value, ..._args) {
8
+ return new SpxCapitalizePipe().transform(value, _args);
9
+ }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxCapitalizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
11
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SpxCapitalizePipe, isStandalone: true, name: "capitalize" }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxCapitalizePipe, decorators: [{
14
+ type: Pipe,
15
+ args: [{
16
+ name: 'capitalize',
17
+ standalone: true,
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWNhcGl0YWxpemUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2FwaXRhbGl6ZS9zcHgtY2FwaXRhbGl6ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU1wRCxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFNBQVMsQ0FBQyxLQUFhLEVBQUUsR0FBRyxLQUFnQjtRQUMxQyxPQUFPLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzlFLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQWEsRUFBRSxHQUFHLEtBQWdCO1FBQ2pELE9BQU8sSUFBSSxpQkFBaUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQzsrR0FSVSxpQkFBaUI7NkdBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFKN0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjYXBpdGFsaXplJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU3B4Q2FwaXRhbGl6ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgLi4uX2FyZ3M6IHVua25vd25bXSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHZhbHVlID0gdmFsdWUgPyB2YWx1ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHZhbHVlLnN1YnN0cigxKSA6ICcnO1xuICB9XG5cbiAgc3RhdGljIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCAuLi5fYXJnczogdW5rbm93bltdKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbmV3IFNweENhcGl0YWxpemVQaXBlKCkudHJhbnNmb3JtKHZhbHVlLCBfYXJncyk7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,5 @@
1
+ export * from './spx-card.component';
2
+ export * from './spx-card-item.component';
3
+ export * from './spx-card-grid.component';
4
+ export * from './spx-card-line.component';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2FyZC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NweC1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NweC1jYXJkLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3B4LWNhcmQtZ3JpZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcHgtY2FyZC1saW5lLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdHBhay1jb21wb25lbnRzLXNweC1jYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1jYXJkL3NvZnRwYWstY29tcG9uZW50cy1zcHgtY2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,46 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class SpxCardGridComponent {
4
+ constructor() {
5
+ this.minWidth2Columns = 460;
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxCardGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpxCardGridComponent, isStandalone: true, selector: "spx-card-grid", inputs: { minWidth2Columns: "minWidth2Columns" }, ngImport: i0, template: `
9
+ <div class='grid gap-3 items-stretch'
10
+ [class.min-[300px]:grid-cols-2]="minWidth2Columns == 300"
11
+ [class.min-[320px]:grid-cols-2]="minWidth2Columns == 320"
12
+ [class.min-[340px]:grid-cols-2]="minWidth2Columns == 340"
13
+ [class.min-[360px]:grid-cols-2]="minWidth2Columns == 360"
14
+ [class.min-[380px]:grid-cols-2]="minWidth2Columns == 380"
15
+ [class.min-[400px]:grid-cols-2]="minWidth2Columns == 400"
16
+ [class.min-[420px]:grid-cols-2]="minWidth2Columns == 420"
17
+ [class.min-[440px]:grid-cols-2]="minWidth2Columns == 440"
18
+ [class.min-[460px]:grid-cols-2]="minWidth2Columns == 460">
19
+ <ng-content></ng-content>
20
+ </div>
21
+ `, isInline: true }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxCardGridComponent, decorators: [{
24
+ type: Component,
25
+ args: [{
26
+ selector: 'spx-card-grid',
27
+ standalone: true,
28
+ template: `
29
+ <div class='grid gap-3 items-stretch'
30
+ [class.min-[300px]:grid-cols-2]="minWidth2Columns == 300"
31
+ [class.min-[320px]:grid-cols-2]="minWidth2Columns == 320"
32
+ [class.min-[340px]:grid-cols-2]="minWidth2Columns == 340"
33
+ [class.min-[360px]:grid-cols-2]="minWidth2Columns == 360"
34
+ [class.min-[380px]:grid-cols-2]="minWidth2Columns == 380"
35
+ [class.min-[400px]:grid-cols-2]="minWidth2Columns == 400"
36
+ [class.min-[420px]:grid-cols-2]="minWidth2Columns == 420"
37
+ [class.min-[440px]:grid-cols-2]="minWidth2Columns == 440"
38
+ [class.min-[460px]:grid-cols-2]="minWidth2Columns == 460">
39
+ <ng-content></ng-content>
40
+ </div>
41
+ `,
42
+ }]
43
+ }], propDecorators: { minWidth2Columns: [{
44
+ type: Input
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWNhcmQtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWNhcmQvc3B4LWNhcmQtZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBb0JqRCxNQUFNLE9BQU8sb0JBQW9CO0lBbEJqQztRQW1CVyxxQkFBZ0IsR0FBeUQsR0FBRyxDQUFDO0tBQ3ZGOytHQUZZLG9CQUFvQjttR0FBcEIsb0JBQW9CLDJIQWZyQjs7Ozs7Ozs7Ozs7OztHQWFUOzs0RkFFVSxvQkFBb0I7a0JBbEJoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7O0dBYVQ7aUJBQ0Y7OEJBRVUsZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHgtY2FyZC1ncmlkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPSdncmlkIGdhcC0zIGl0ZW1zLXN0cmV0Y2gnXG4gICAgW2NsYXNzLm1pbi1bMzAwcHhdOmdyaWQtY29scy0yXT1cIm1pbldpZHRoMkNvbHVtbnMgPT0gMzAwXCJcbiAgICBbY2xhc3MubWluLVszMjBweF06Z3JpZC1jb2xzLTJdPVwibWluV2lkdGgyQ29sdW1ucyA9PSAzMjBcIlxuICAgIFtjbGFzcy5taW4tWzM0MHB4XTpncmlkLWNvbHMtMl09XCJtaW5XaWR0aDJDb2x1bW5zID09IDM0MFwiXG4gICAgW2NsYXNzLm1pbi1bMzYwcHhdOmdyaWQtY29scy0yXT1cIm1pbldpZHRoMkNvbHVtbnMgPT0gMzYwXCJcbiAgICBbY2xhc3MubWluLVszODBweF06Z3JpZC1jb2xzLTJdPVwibWluV2lkdGgyQ29sdW1ucyA9PSAzODBcIlxuICAgIFtjbGFzcy5taW4tWzQwMHB4XTpncmlkLWNvbHMtMl09XCJtaW5XaWR0aDJDb2x1bW5zID09IDQwMFwiXG4gICAgW2NsYXNzLm1pbi1bNDIwcHhdOmdyaWQtY29scy0yXT1cIm1pbldpZHRoMkNvbHVtbnMgPT0gNDIwXCJcbiAgICBbY2xhc3MubWluLVs0NDBweF06Z3JpZC1jb2xzLTJdPVwibWluV2lkdGgyQ29sdW1ucyA9PSA0NDBcIlxuICAgIFtjbGFzcy5taW4tWzQ2MHB4XTpncmlkLWNvbHMtMl09XCJtaW5XaWR0aDJDb2x1bW5zID09IDQ2MFwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgU3B4Q2FyZEdyaWRDb21wb25lbnQge1xuICBASW5wdXQoKSBtaW5XaWR0aDJDb2x1bW5zPzogMzAwIHwgMzIwIHwgMzQwIHwgMzYwIHwgMzgwIHwgNDAwIHwgNDIwIHwgNDQwIHwgNDYwID0gNDYwO1xufVxuIl19