@softpak/components 0.0.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 (229) hide show
  1. package/README.md +24 -0
  2. package/esm2022/placeholder.mjs +2 -0
  3. package/esm2022/public_api.mjs +2 -0
  4. package/esm2022/softpak-components.mjs +5 -0
  5. package/esm2022/spx-alert/public-api.mjs +3 -0
  6. package/esm2022/spx-alert/softpak-components-spx-alert.mjs +5 -0
  7. package/esm2022/spx-alert/spx-alert.component.mjs +191 -0
  8. package/esm2022/spx-alert/spx-alert.interface.mjs +3 -0
  9. package/esm2022/spx-app-configuration/public-api.mjs +8 -0
  10. package/esm2022/spx-app-configuration/softpak-components-spx-app-configuration.mjs +5 -0
  11. package/esm2022/spx-app-configuration/spx-app-alert.interface.mjs +2 -0
  12. package/esm2022/spx-app-configuration/spx-app-bundle-set.interface.mjs +2 -0
  13. package/esm2022/spx-app-configuration/spx-app-channel-type.enum.mjs +8 -0
  14. package/esm2022/spx-app-configuration/spx-app-channel.interface.mjs +2 -0
  15. package/esm2022/spx-app-configuration/spx-app-config.interface.mjs +2 -0
  16. package/esm2022/spx-app-configuration/spx-app-id.enum.mjs +8 -0
  17. package/esm2022/spx-app-configuration/spx-app-lang.enum.mjs +6 -0
  18. package/esm2022/spx-app-configuration/spx-app-release-note.interface.mjs +2 -0
  19. package/esm2022/spx-button/public-api.mjs +2 -0
  20. package/esm2022/spx-button/softpak-components-spx-button.mjs +5 -0
  21. package/esm2022/spx-button/spx-button.component.mjs +129 -0
  22. package/esm2022/spx-capitalize/public-api.mjs +2 -0
  23. package/esm2022/spx-capitalize/softpak-components-spx-capitalize.mjs +5 -0
  24. package/esm2022/spx-capitalize/spx-capitalize.pipe.mjs +20 -0
  25. package/esm2022/spx-channel-selection/public-api.mjs +5 -0
  26. package/esm2022/spx-channel-selection/softpak-components-spx-channel-selection.mjs +5 -0
  27. package/esm2022/spx-channel-selection/src/spx-channel-indicator.component.mjs +45 -0
  28. package/esm2022/spx-channel-selection/src/spx-channel-selection.component.mjs +40 -0
  29. package/esm2022/spx-channel-selection/src/spx-company-selection.component.mjs +48 -0
  30. package/esm2022/spx-channel-selection/src/spx-welcome.component.mjs +43 -0
  31. package/esm2022/spx-check-digit/public-api.mjs +2 -0
  32. package/esm2022/spx-check-digit/softpak-components-spx-check-digit.mjs +5 -0
  33. package/esm2022/spx-check-digit/spx-check-digit.component.mjs +85 -0
  34. package/esm2022/spx-form-section/public-api.mjs +2 -0
  35. package/esm2022/spx-form-section/softpak-components-spx-form-section.mjs +5 -0
  36. package/esm2022/spx-form-section/spx-form-section.component.mjs +37 -0
  37. package/esm2022/spx-helpers/calc-check-digit.function.mjs +21 -0
  38. package/esm2022/spx-helpers/public-api.mjs +4 -0
  39. package/esm2022/spx-helpers/softpak-components-spx-helpers.mjs +5 -0
  40. package/esm2022/spx-helpers/spx-severity.enum.mjs +8 -0
  41. package/esm2022/spx-helpers/value-pair-to-value.function.mjs +7 -0
  42. package/esm2022/spx-inputs/public-api.mjs +5 -0
  43. package/esm2022/spx-inputs/softpak-components-spx-inputs.mjs +5 -0
  44. package/esm2022/spx-inputs/spx-input-box.component.mjs +231 -0
  45. package/esm2022/spx-inputs/spx-input-date.component.mjs +294 -0
  46. package/esm2022/spx-inputs/spx-input-float.component.mjs +154 -0
  47. package/esm2022/spx-inputs/spx-input-number.component.mjs +82 -0
  48. package/esm2022/spx-inputs/spx-input-radio.component.mjs +63 -0
  49. package/esm2022/spx-inputs/spx-input-text.component.mjs +156 -0
  50. package/esm2022/spx-inputs/spx-input.component.mjs +380 -0
  51. package/esm2022/spx-inputs/spx-value-interface.mjs +2 -0
  52. package/esm2022/spx-navigation/public-api.mjs +5 -0
  53. package/esm2022/spx-navigation/softpak-components-spx-navigation.mjs +5 -0
  54. package/esm2022/spx-navigation/spx-home-tile.component.mjs +33 -0
  55. package/esm2022/spx-navigation/spx-home-tiles.component.mjs +17 -0
  56. package/esm2022/spx-navigation/spx-navigation-item.interface.mjs +2 -0
  57. package/esm2022/spx-navigation/spx-navigation.component.mjs +42 -0
  58. package/esm2022/spx-patch/patch-check.function.mjs +9 -0
  59. package/esm2022/spx-patch/public-api.mjs +4 -0
  60. package/esm2022/spx-patch/release-check.function.mjs +11 -0
  61. package/esm2022/spx-patch/softpak-components-spx-patch.mjs +5 -0
  62. package/esm2022/spx-patch/spx-patch.component.mjs +46 -0
  63. package/esm2022/spx-progress-bar/public-api.mjs +2 -0
  64. package/esm2022/spx-progress-bar/softpak-components-spx-progress-bar.mjs +5 -0
  65. package/esm2022/spx-progress-bar/spx-progress-bar.component.mjs +29 -0
  66. package/esm2022/spx-spinner/public-api.mjs +2 -0
  67. package/esm2022/spx-spinner/softpak-components-spx-spinner.mjs +5 -0
  68. package/esm2022/spx-spinner/spx-spinner.component.mjs +157 -0
  69. package/esm2022/spx-storage/public-api.mjs +3 -0
  70. package/esm2022/spx-storage/softpak-components-spx-storage.mjs +5 -0
  71. package/esm2022/spx-storage/src/spx-storage-key.enum.mjs +13 -0
  72. package/esm2022/spx-storage/src/spx-storage.class.mjs +45 -0
  73. package/esm2022/spx-suggestion/public-api.mjs +2 -0
  74. package/esm2022/spx-suggestion/softpak-components-spx-suggestion.mjs +5 -0
  75. package/esm2022/spx-suggestion/spx-suggestion.component.mjs +47 -0
  76. package/esm2022/spx-toaster/public-api.mjs +4 -0
  77. package/esm2022/spx-toaster/softpak-components-spx-toaster.mjs +5 -0
  78. package/esm2022/spx-toaster/src/spx-toaster-autoclose-speed.mjs +23 -0
  79. package/esm2022/spx-toaster/src/spx-toaster-message.interface.mjs +3 -0
  80. package/esm2022/spx-toaster/src/spx-toaster.component.mjs +46 -0
  81. package/esm2022/spx-update/public-api.mjs +3 -0
  82. package/esm2022/spx-update/softpak-components-spx-update.mjs +5 -0
  83. package/esm2022/spx-update/src/spx-update-info.component.mjs +88 -0
  84. package/esm2022/spx-update/src/spx-update-progress.component.mjs +46 -0
  85. package/esm2022/spx-validation/max.validator.mjs +17 -0
  86. package/esm2022/spx-validation/maxlength.validator.mjs +20 -0
  87. package/esm2022/spx-validation/min.validator.mjs +17 -0
  88. package/esm2022/spx-validation/minlength.validator.mjs +20 -0
  89. package/esm2022/spx-validation/pattern.validator.mjs +12 -0
  90. package/esm2022/spx-validation/public-api.mjs +10 -0
  91. package/esm2022/spx-validation/required.validator.mjs +12 -0
  92. package/esm2022/spx-validation/softpak-components-spx-validation.mjs +5 -0
  93. package/esm2022/spx-validation/spx-validate-control.component.mjs +63 -0
  94. package/esm2022/spx-validation/spx-validation.module.mjs +28 -0
  95. package/esm2022/spx-validation/year-and-month.validator.mjs +42 -0
  96. package/fesm2022/softpak-components-spx-alert.mjs +201 -0
  97. package/fesm2022/softpak-components-spx-alert.mjs.map +1 -0
  98. package/fesm2022/softpak-components-spx-app-configuration.mjs +28 -0
  99. package/fesm2022/softpak-components-spx-app-configuration.mjs.map +1 -0
  100. package/fesm2022/softpak-components-spx-button.mjs +136 -0
  101. package/fesm2022/softpak-components-spx-button.mjs.map +1 -0
  102. package/fesm2022/softpak-components-spx-capitalize.mjs +27 -0
  103. package/fesm2022/softpak-components-spx-capitalize.mjs.map +1 -0
  104. package/fesm2022/softpak-components-spx-channel-selection.mjs +171 -0
  105. package/fesm2022/softpak-components-spx-channel-selection.mjs.map +1 -0
  106. package/fesm2022/softpak-components-spx-check-digit.mjs +92 -0
  107. package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -0
  108. package/fesm2022/softpak-components-spx-form-section.mjs +44 -0
  109. package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -0
  110. package/fesm2022/softpak-components-spx-helpers.mjs +42 -0
  111. package/fesm2022/softpak-components-spx-helpers.mjs.map +1 -0
  112. package/fesm2022/softpak-components-spx-inputs.mjs +1340 -0
  113. package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -0
  114. package/fesm2022/softpak-components-spx-navigation.mjs +93 -0
  115. package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -0
  116. package/fesm2022/softpak-components-spx-patch.mjs +72 -0
  117. package/fesm2022/softpak-components-spx-patch.mjs.map +1 -0
  118. package/fesm2022/softpak-components-spx-progress-bar.mjs +36 -0
  119. package/fesm2022/softpak-components-spx-progress-bar.mjs.map +1 -0
  120. package/fesm2022/softpak-components-spx-spinner.mjs +164 -0
  121. package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -0
  122. package/fesm2022/softpak-components-spx-storage.mjs +63 -0
  123. package/fesm2022/softpak-components-spx-storage.mjs.map +1 -0
  124. package/fesm2022/softpak-components-spx-suggestion.mjs +54 -0
  125. package/fesm2022/softpak-components-spx-suggestion.mjs.map +1 -0
  126. package/fesm2022/softpak-components-spx-toaster.mjs +79 -0
  127. package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -0
  128. package/fesm2022/softpak-components-spx-update.mjs +138 -0
  129. package/fesm2022/softpak-components-spx-update.mjs.map +1 -0
  130. package/fesm2022/softpak-components-spx-validation.mjs +223 -0
  131. package/fesm2022/softpak-components-spx-validation.mjs.map +1 -0
  132. package/fesm2022/softpak-components.mjs +8 -0
  133. package/fesm2022/softpak-components.mjs.map +1 -0
  134. package/index.d.ts +5 -0
  135. package/package.json +135 -0
  136. package/placeholder.d.ts +1 -0
  137. package/public_api.d.ts +1 -0
  138. package/spx-alert/index.d.ts +5 -0
  139. package/spx-alert/public-api.d.ts +2 -0
  140. package/spx-alert/spx-alert.component.d.ts +28 -0
  141. package/spx-alert/spx-alert.interface.d.ts +7 -0
  142. package/spx-app-configuration/index.d.ts +5 -0
  143. package/spx-app-configuration/public-api.d.ts +7 -0
  144. package/spx-app-configuration/spx-app-alert.interface.d.ts +7 -0
  145. package/spx-app-configuration/spx-app-bundle-set.interface.d.ts +4 -0
  146. package/spx-app-configuration/spx-app-channel-type.enum.d.ts +6 -0
  147. package/spx-app-configuration/spx-app-channel.interface.d.ts +10 -0
  148. package/spx-app-configuration/spx-app-config.interface.d.ts +19 -0
  149. package/spx-app-configuration/spx-app-id.enum.d.ts +6 -0
  150. package/spx-app-configuration/spx-app-lang.enum.d.ts +4 -0
  151. package/spx-app-configuration/spx-app-release-note.interface.d.ts +8 -0
  152. package/spx-button/index.d.ts +5 -0
  153. package/spx-button/public-api.d.ts +1 -0
  154. package/spx-button/spx-button.component.d.ts +23 -0
  155. package/spx-capitalize/index.d.ts +5 -0
  156. package/spx-capitalize/public-api.d.ts +1 -0
  157. package/spx-capitalize/spx-capitalize.pipe.d.ts +8 -0
  158. package/spx-channel-selection/index.d.ts +5 -0
  159. package/spx-channel-selection/public-api.d.ts +4 -0
  160. package/spx-channel-selection/src/spx-channel-indicator.component.d.ts +13 -0
  161. package/spx-channel-selection/src/spx-channel-selection.component.d.ts +11 -0
  162. package/spx-channel-selection/src/spx-company-selection.component.d.ts +12 -0
  163. package/spx-channel-selection/src/spx-welcome.component.d.ts +12 -0
  164. package/spx-check-digit/index.d.ts +5 -0
  165. package/spx-check-digit/public-api.d.ts +1 -0
  166. package/spx-check-digit/spx-check-digit.component.d.ts +19 -0
  167. package/spx-form-section/index.d.ts +5 -0
  168. package/spx-form-section/public-api.d.ts +1 -0
  169. package/spx-form-section/spx-form-section.component.d.ts +9 -0
  170. package/spx-helpers/calc-check-digit.function.d.ts +1 -0
  171. package/spx-helpers/index.d.ts +5 -0
  172. package/spx-helpers/public-api.d.ts +3 -0
  173. package/spx-helpers/spx-severity.enum.d.ts +6 -0
  174. package/spx-helpers/value-pair-to-value.function.d.ts +1 -0
  175. package/spx-inputs/index.d.ts +5 -0
  176. package/spx-inputs/public-api.d.ts +4 -0
  177. package/spx-inputs/spx-input-box.component.d.ts +33 -0
  178. package/spx-inputs/spx-input-date.component.d.ts +50 -0
  179. package/spx-inputs/spx-input-float.component.d.ts +28 -0
  180. package/spx-inputs/spx-input-number.component.d.ts +22 -0
  181. package/spx-inputs/spx-input-radio.component.d.ts +18 -0
  182. package/spx-inputs/spx-input-text.component.d.ts +29 -0
  183. package/spx-inputs/spx-input.component.d.ts +58 -0
  184. package/spx-inputs/spx-value-interface.d.ts +4 -0
  185. package/spx-navigation/index.d.ts +5 -0
  186. package/spx-navigation/public-api.d.ts +4 -0
  187. package/spx-navigation/spx-home-tile.component.d.ts +6 -0
  188. package/spx-navigation/spx-home-tiles.component.d.ts +5 -0
  189. package/spx-navigation/spx-navigation-item.interface.d.ts +19 -0
  190. package/spx-navigation/spx-navigation.component.d.ts +12 -0
  191. package/spx-patch/index.d.ts +5 -0
  192. package/spx-patch/patch-check.function.d.ts +4 -0
  193. package/spx-patch/public-api.d.ts +3 -0
  194. package/spx-patch/release-check.function.d.ts +1 -0
  195. package/spx-patch/spx-patch.component.d.ts +10 -0
  196. package/spx-progress-bar/index.d.ts +5 -0
  197. package/spx-progress-bar/public-api.d.ts +1 -0
  198. package/spx-progress-bar/spx-progress-bar.component.d.ts +7 -0
  199. package/spx-spinner/index.d.ts +5 -0
  200. package/spx-spinner/public-api.d.ts +1 -0
  201. package/spx-spinner/spx-spinner.component.d.ts +7 -0
  202. package/spx-storage/index.d.ts +5 -0
  203. package/spx-storage/public-api.d.ts +2 -0
  204. package/spx-storage/src/spx-storage-key.enum.d.ts +10 -0
  205. package/spx-storage/src/spx-storage.class.d.ts +9 -0
  206. package/spx-suggestion/index.d.ts +5 -0
  207. package/spx-suggestion/public-api.d.ts +1 -0
  208. package/spx-suggestion/spx-suggestion.component.d.ts +7 -0
  209. package/spx-toaster/index.d.ts +5 -0
  210. package/spx-toaster/public-api.d.ts +3 -0
  211. package/spx-toaster/src/spx-toaster-autoclose-speed.d.ts +11 -0
  212. package/spx-toaster/src/spx-toaster-message.interface.d.ts +9 -0
  213. package/spx-toaster/src/spx-toaster.component.d.ts +11 -0
  214. package/spx-update/index.d.ts +5 -0
  215. package/spx-update/public-api.d.ts +2 -0
  216. package/spx-update/src/spx-update-info.component.d.ts +18 -0
  217. package/spx-update/src/spx-update-progress.component.d.ts +14 -0
  218. package/spx-validation/index.d.ts +5 -0
  219. package/spx-validation/max.validator.d.ts +7 -0
  220. package/spx-validation/maxlength.validator.d.ts +7 -0
  221. package/spx-validation/min.validator.d.ts +7 -0
  222. package/spx-validation/minlength.validator.d.ts +7 -0
  223. package/spx-validation/pattern.validator.d.ts +2 -0
  224. package/spx-validation/public-api.d.ts +9 -0
  225. package/spx-validation/required.validator.d.ts +2 -0
  226. package/spx-validation/spx-validate-control.component.d.ts +24 -0
  227. package/spx-validation/spx-validation.module.d.ts +9 -0
  228. package/spx-validation/year-and-month.validator.d.ts +2 -0
  229. package/tailwind.css +1 -0
@@ -0,0 +1,380 @@
1
+ import { NgIf } from '@angular/common';
2
+ import { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
3
+ import { SpxInputBoxComponent } from './spx-input-box.component';
4
+ import { SpxInputTextComponent } from './spx-input-text.component';
5
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
+ import { SpxInputDateComponent } from './spx-input-date.component';
7
+ import { SpxInputFloatComponent } from './spx-input-float.component';
8
+ import { SpxInputNumberComponent } from './spx-input-number.component';
9
+ import { SpxInputRadioComponent } from './spx-input-radio.component';
10
+ import * as i0 from "@angular/core";
11
+ export class SpxInputComponent {
12
+ constructor() {
13
+ this.spxLabel = 'label';
14
+ this.spxReadonly = false;
15
+ this.spxAutofocus = false;
16
+ this.spxRequired = false;
17
+ this.spxSelectMonth = true;
18
+ this.spxSelectDay = true;
19
+ this.spxShowEdit = false;
20
+ this.spxShowHelp = false;
21
+ this.spxCompact = false;
22
+ this.spxShowClear = true;
23
+ this.spxShowSearch = false;
24
+ this.spxShowValidationMessages = false;
25
+ this.spxSuggestions = [];
26
+ this.spxType = 'text';
27
+ this.spxCapitalize = false;
28
+ this.spxBlur = new EventEmitter();
29
+ this.spxClear = new EventEmitter();
30
+ this.spxChange = new EventEmitter();
31
+ this.spxFocus = new EventEmitter();
32
+ this.spxEdit = new EventEmitter();
33
+ this.spxHelp = new EventEmitter();
34
+ this.spxSearch = new EventEmitter();
35
+ this.spxFocused = false;
36
+ this.onChange = () => { };
37
+ this.onTouched = () => { };
38
+ }
39
+ async spxSetFocus() {
40
+ this.passFocusToControl();
41
+ }
42
+ handleBlur() {
43
+ this.spxBlur.emit();
44
+ }
45
+ handleChange(event) {
46
+ this.value = event;
47
+ this.spxChange.emit(this.value);
48
+ }
49
+ handleClear() {
50
+ this.spxFocused = true;
51
+ this.passFocusToControl();
52
+ this.value = {
53
+ description: null,
54
+ value: null,
55
+ };
56
+ this.spxChange.emit(this.value);
57
+ }
58
+ handleFocus() {
59
+ this.spxFocused = true;
60
+ // this.elBox.spxSetFocus();
61
+ }
62
+ handleSearch() {
63
+ this.spxSearch.emit();
64
+ }
65
+ setFocus() {
66
+ this.spxFocused = true;
67
+ this.passFocusToControl();
68
+ }
69
+ setFocusOut() {
70
+ this.spxFocused = false;
71
+ }
72
+ handleEdit() {
73
+ this.spxFocused = true;
74
+ }
75
+ handleHelp() {
76
+ this.spxFocused = true;
77
+ }
78
+ passFocusToControl() {
79
+ }
80
+ writeValue(value) {
81
+ this.value = this.lastValue = value == null ? '' : value;
82
+ }
83
+ handleChangeEvent(value) {
84
+ if (value !== this.lastValue) {
85
+ this.lastValue = value;
86
+ this.onChange(value);
87
+ }
88
+ }
89
+ _handleBlurEvent() {
90
+ this.onTouched();
91
+ }
92
+ registerOnChange(fn) {
93
+ this.onChange = fn;
94
+ }
95
+ registerOnTouched(fn) {
96
+ this.onTouched = fn;
97
+ }
98
+ setDisabledState(isDisabled) {
99
+ this.spxReadonly = isDisabled;
100
+ }
101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
102
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxInputComponent, isStandalone: true, selector: "spx-input", inputs: { spxLabel: "spxLabel", spxMax: "spxMax", spxMin: "spxMin", spxName: "spxName", spxReadonly: "spxReadonly", spxAutofocus: "spxAutofocus", spxInputMode: "spxInputMode", spxPattern: "spxPattern", spxRequired: "spxRequired", spxSelectMonth: "spxSelectMonth", spxSelectDay: "spxSelectDay", spxShowEdit: "spxShowEdit", spxShowHelp: "spxShowHelp", spxCompact: "spxCompact", spxShowClear: "spxShowClear", spxShowSearch: "spxShowSearch", spxShowValidationMessages: "spxShowValidationMessages", spxStep: "spxStep", spxSuggestions: "spxSuggestions", spxType: "spxType", spxValidators: "spxValidators", value: "value", spxCapitalize: "spxCapitalize", spxFocused: "spxFocused" }, outputs: { spxBlur: "spxBlur", spxClear: "spxClear", spxChange: "spxChange", spxFocus: "spxFocus", spxEdit: "spxEdit", spxHelp: "spxHelp", spxSearch: "spxSearch" }, host: { listeners: { "spxChange": "handleChangeEvent($event)", "focusout": "_handleBlurEvent()" } }, providers: [
103
+ {
104
+ provide: NG_VALUE_ACCESSOR,
105
+ useExisting: SpxInputComponent,
106
+ multi: true
107
+ }
108
+ ], ngImport: i0, template: `<spx-input-box
109
+ [spxLabel]="this.spxLabel"
110
+ [spxReadonly]="this.spxReadonly"
111
+ [spxRequired]="this.spxRequired"
112
+ [spxValue]="this.value"
113
+ [spxShowHelp]="this.spxShowHelp"
114
+ [spxCompact]="this.spxCompact"
115
+ [spxShowClear]="this.spxShowClear"
116
+ [spxShowEdit]="this.spxShowEdit"
117
+ [spxShowSearch]="this.spxShowSearch ? this.spxShowSearch : this.spxType === 'autocomplete'"
118
+ [spxShowValidationMessages]="this.spxShowValidationMessages"
119
+ (spxClear)="this.handleClear()"
120
+ (spxEdit)="this.handleEdit()"
121
+ (spxHelp)="this.handleHelp()"
122
+ (spxFocus)="this.setFocus()"
123
+ (spxFocusOut)="this.setFocusOut()"
124
+ (spxSearchOutput)="this.handleSearch()">
125
+ <div controls>
126
+ <spx-input-text
127
+ *ngIf="this.spxType === 'autocomplete' || this.spxType === 'overlay' || this.spxType === 'overlaynumber' || this.spxType === 'text' || this.spxType === 'password'"
128
+ [spxAutofocus]="this.spxAutofocus"
129
+ [spxCapitalize]="this.spxCapitalize"
130
+ [spxFocused]="this.spxFocused"
131
+ [spxInputMode]="this.spxType === 'overlaynumber' ? 'numeric' : this.spxInputMode"
132
+ [spxName]="this.spxName"
133
+ [spxPattern]="this.spxType === 'overlaynumber' ? '[0-9]*' : this.spxPattern"
134
+ [spxReadonly]="this.spxReadonly"
135
+ [spxSuggestions]="this.spxSuggestions"
136
+ [spxType]="this.spxType"
137
+ [spxValidators]="this.spxValidators"
138
+ [value]="this.value"
139
+ (spxBlurFromChild)="this.handleBlur()"
140
+ (spxChange)="this.handleChange($event)"
141
+ (spxFocus)="this.handleFocus()"
142
+ ></spx-input-text>
143
+ <spx-input-date
144
+ *ngIf="this.spxType === 'date'"
145
+ [spxFocused]="this.spxFocused"
146
+ [spxMax]="this.spxMax"
147
+ [spxMin]="this.spxMin"
148
+ [spxName]="this.spxName"
149
+ [spxReadonly]="this.spxReadonly"
150
+ [spxSelectDay]="this.spxSelectDay"
151
+ [spxSelectMonth]="this.spxSelectMonth"
152
+ [spxValidators]="this.spxValidators"
153
+ [value]="this.value"
154
+ (spxChange)="this.handleChange($event)"
155
+ (spxFocus)="this.handleFocus()"
156
+ ></spx-input-date>
157
+ <spx-input-float
158
+ *ngIf="this.spxType === 'float'"
159
+ [spxAutofocus]="this.spxAutofocus"
160
+ [spxFocused]="this.spxFocused"
161
+ [spxName]="this.spxName"
162
+ [spxReadonly]="this.spxReadonly"
163
+ [spxStep]="this.spxStep"
164
+ [spxValidators]="this.spxValidators"
165
+ [value]="this.value"
166
+ (spxChange)="this.handleChange($event)"
167
+ (spxFocus)="this.handleFocus()"
168
+ ></spx-input-float>
169
+ <spx-input-number
170
+ *ngIf="this.spxType === 'number'"
171
+ [spxStep]="this.spxStep"
172
+ [spxAutofocus]="this.spxAutofocus"
173
+ [spxFocused]="this.spxFocused"
174
+ [spxInputMode]="this.spxInputMode"
175
+ [spxName]="this.spxName"
176
+ [spxValidators]="this.spxValidators"
177
+ (spxChange)="this.handleChange($event)"
178
+ (spxFocus)="this.handleFocus()"
179
+ (spxReadonly)="this.spxReadonly"
180
+ [value]="this.value"
181
+ ></spx-input-number>
182
+ <spx-input-radio
183
+ *ngIf="this.spxType === 'radio'"
184
+ [spxFocused]="this.spxFocused"
185
+ [spxName]="this.spxName"
186
+ [spxSuggestions]="this.spxSuggestions"
187
+ [spxValidators]="this.spxValidators"
188
+ (spxChange)="this.handleChange($event)"
189
+ (spxFocus)="this.handleFocus()"
190
+ (spxReadonly)="this.spxReadonly"
191
+ [value]="this.value"
192
+ ></spx-input-radio>
193
+ </div>
194
+ <div validation-messages>
195
+ <ng-content></ng-content>
196
+ </div>
197
+ </spx-input-box>`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SpxInputBoxComponent, selector: "spx-input-box", inputs: ["spxLabel", "spxRequired", "spxReadonly", "spxShowHelp", "spxCompact", "spxShowClear", "spxShowEdit", "spxShowSearch", "spxShowValidationMessages", "spxValue", "spxFocused"], outputs: ["spxClear", "spxSearchOutput", "spxFocus", "spxFocusOut", "spxEdit", "spxHelp"] }, { kind: "component", type: SpxInputDateComponent, selector: "spx-input-date", inputs: ["spxMax", "spxMin", "spxName", "spxReadonly", "spxValidators", "spxFocused", "spxSelectMonth", "spxSelectDay", "value", "spxLastKeyPressed", "spxSelectStep", "spxInternalValue", "spxSuggestions", "spxWasInternalUpdate"], outputs: ["spxChange", "spxFocus"] }, { kind: "component", type: SpxInputFloatComponent, selector: "spx-input-float", inputs: ["spxName", "spxAutofocus", "spxReadonly", "spxValidators", "spxFocused", "spxStep", "value", "spxWasInternalUpdate", "tick"], outputs: ["spxChange", "spxFocus"] }, { kind: "component", type: SpxInputNumberComponent, selector: "spx-input-number", inputs: ["spxName", "spxAutofocus", "spxInputMode", "spxReadonly", "spxValidators", "spxFocused", "spxStep", "value"], outputs: ["spxChange", "spxFocus"] }, { kind: "component", type: SpxInputRadioComponent, selector: "spx-input-radio", inputs: ["spxName", "spxValidators", "spxFocused", "spxReadonly", "spxSuggestions", "value"], outputs: ["spxChange", "spxFocus"] }, { kind: "component", type: SpxInputTextComponent, selector: "spx-input-text", inputs: ["spxName", "spxAutofocus", "spxInputMode", "spxPattern", "spxSuggestions", "spxReadonly", "spxValidators", "spxCapitalize", "spxFocused", "spxType", "value", "spxWasInternalUpdate"], outputs: ["spxBlurFromChild", "spxChange", "spxFocus"] }] }); }
198
+ }
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxInputComponent, decorators: [{
200
+ type: Component,
201
+ args: [{
202
+ selector: 'spx-input',
203
+ standalone: true,
204
+ host: {
205
+ '(spxChange)': 'handleChangeEvent($event)'
206
+ },
207
+ imports: [
208
+ NgIf,
209
+ SpxInputBoxComponent,
210
+ SpxInputDateComponent,
211
+ SpxInputFloatComponent,
212
+ SpxInputNumberComponent,
213
+ SpxInputRadioComponent,
214
+ SpxInputTextComponent,
215
+ ],
216
+ providers: [
217
+ {
218
+ provide: NG_VALUE_ACCESSOR,
219
+ useExisting: SpxInputComponent,
220
+ multi: true
221
+ }
222
+ ],
223
+ template: `<spx-input-box
224
+ [spxLabel]="this.spxLabel"
225
+ [spxReadonly]="this.spxReadonly"
226
+ [spxRequired]="this.spxRequired"
227
+ [spxValue]="this.value"
228
+ [spxShowHelp]="this.spxShowHelp"
229
+ [spxCompact]="this.spxCompact"
230
+ [spxShowClear]="this.spxShowClear"
231
+ [spxShowEdit]="this.spxShowEdit"
232
+ [spxShowSearch]="this.spxShowSearch ? this.spxShowSearch : this.spxType === 'autocomplete'"
233
+ [spxShowValidationMessages]="this.spxShowValidationMessages"
234
+ (spxClear)="this.handleClear()"
235
+ (spxEdit)="this.handleEdit()"
236
+ (spxHelp)="this.handleHelp()"
237
+ (spxFocus)="this.setFocus()"
238
+ (spxFocusOut)="this.setFocusOut()"
239
+ (spxSearchOutput)="this.handleSearch()">
240
+ <div controls>
241
+ <spx-input-text
242
+ *ngIf="this.spxType === 'autocomplete' || this.spxType === 'overlay' || this.spxType === 'overlaynumber' || this.spxType === 'text' || this.spxType === 'password'"
243
+ [spxAutofocus]="this.spxAutofocus"
244
+ [spxCapitalize]="this.spxCapitalize"
245
+ [spxFocused]="this.spxFocused"
246
+ [spxInputMode]="this.spxType === 'overlaynumber' ? 'numeric' : this.spxInputMode"
247
+ [spxName]="this.spxName"
248
+ [spxPattern]="this.spxType === 'overlaynumber' ? '[0-9]*' : this.spxPattern"
249
+ [spxReadonly]="this.spxReadonly"
250
+ [spxSuggestions]="this.spxSuggestions"
251
+ [spxType]="this.spxType"
252
+ [spxValidators]="this.spxValidators"
253
+ [value]="this.value"
254
+ (spxBlurFromChild)="this.handleBlur()"
255
+ (spxChange)="this.handleChange($event)"
256
+ (spxFocus)="this.handleFocus()"
257
+ ></spx-input-text>
258
+ <spx-input-date
259
+ *ngIf="this.spxType === 'date'"
260
+ [spxFocused]="this.spxFocused"
261
+ [spxMax]="this.spxMax"
262
+ [spxMin]="this.spxMin"
263
+ [spxName]="this.spxName"
264
+ [spxReadonly]="this.spxReadonly"
265
+ [spxSelectDay]="this.spxSelectDay"
266
+ [spxSelectMonth]="this.spxSelectMonth"
267
+ [spxValidators]="this.spxValidators"
268
+ [value]="this.value"
269
+ (spxChange)="this.handleChange($event)"
270
+ (spxFocus)="this.handleFocus()"
271
+ ></spx-input-date>
272
+ <spx-input-float
273
+ *ngIf="this.spxType === 'float'"
274
+ [spxAutofocus]="this.spxAutofocus"
275
+ [spxFocused]="this.spxFocused"
276
+ [spxName]="this.spxName"
277
+ [spxReadonly]="this.spxReadonly"
278
+ [spxStep]="this.spxStep"
279
+ [spxValidators]="this.spxValidators"
280
+ [value]="this.value"
281
+ (spxChange)="this.handleChange($event)"
282
+ (spxFocus)="this.handleFocus()"
283
+ ></spx-input-float>
284
+ <spx-input-number
285
+ *ngIf="this.spxType === 'number'"
286
+ [spxStep]="this.spxStep"
287
+ [spxAutofocus]="this.spxAutofocus"
288
+ [spxFocused]="this.spxFocused"
289
+ [spxInputMode]="this.spxInputMode"
290
+ [spxName]="this.spxName"
291
+ [spxValidators]="this.spxValidators"
292
+ (spxChange)="this.handleChange($event)"
293
+ (spxFocus)="this.handleFocus()"
294
+ (spxReadonly)="this.spxReadonly"
295
+ [value]="this.value"
296
+ ></spx-input-number>
297
+ <spx-input-radio
298
+ *ngIf="this.spxType === 'radio'"
299
+ [spxFocused]="this.spxFocused"
300
+ [spxName]="this.spxName"
301
+ [spxSuggestions]="this.spxSuggestions"
302
+ [spxValidators]="this.spxValidators"
303
+ (spxChange)="this.handleChange($event)"
304
+ (spxFocus)="this.handleFocus()"
305
+ (spxReadonly)="this.spxReadonly"
306
+ [value]="this.value"
307
+ ></spx-input-radio>
308
+ </div>
309
+ <div validation-messages>
310
+ <ng-content></ng-content>
311
+ </div>
312
+ </spx-input-box>`,
313
+ }]
314
+ }], propDecorators: { spxLabel: [{
315
+ type: Input
316
+ }], spxMax: [{
317
+ type: Input
318
+ }], spxMin: [{
319
+ type: Input
320
+ }], spxName: [{
321
+ type: Input
322
+ }], spxReadonly: [{
323
+ type: Input
324
+ }], spxAutofocus: [{
325
+ type: Input
326
+ }], spxInputMode: [{
327
+ type: Input
328
+ }], spxPattern: [{
329
+ type: Input
330
+ }], spxRequired: [{
331
+ type: Input
332
+ }], spxSelectMonth: [{
333
+ type: Input
334
+ }], spxSelectDay: [{
335
+ type: Input
336
+ }], spxShowEdit: [{
337
+ type: Input
338
+ }], spxShowHelp: [{
339
+ type: Input
340
+ }], spxCompact: [{
341
+ type: Input
342
+ }], spxShowClear: [{
343
+ type: Input
344
+ }], spxShowSearch: [{
345
+ type: Input
346
+ }], spxShowValidationMessages: [{
347
+ type: Input
348
+ }], spxStep: [{
349
+ type: Input
350
+ }], spxSuggestions: [{
351
+ type: Input
352
+ }], spxType: [{
353
+ type: Input
354
+ }], spxValidators: [{
355
+ type: Input
356
+ }], value: [{
357
+ type: Input
358
+ }], spxCapitalize: [{
359
+ type: Input
360
+ }], spxBlur: [{
361
+ type: Output
362
+ }], spxClear: [{
363
+ type: Output
364
+ }], spxChange: [{
365
+ type: Output
366
+ }], spxFocus: [{
367
+ type: Output
368
+ }], spxEdit: [{
369
+ type: Output
370
+ }], spxHelp: [{
371
+ type: Output
372
+ }], spxSearch: [{
373
+ type: Output
374
+ }], spxFocused: [{
375
+ type: Input
376
+ }], _handleBlurEvent: [{
377
+ type: HostListener,
378
+ args: ['focusout']
379
+ }] } });
380
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzL3NweC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQW1IckUsTUFBTSxPQUFPLGlCQUFpQjtJQWpIOUI7UUFrSFcsYUFBUSxHQUFXLE9BQU8sQ0FBQztRQUkzQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUdyQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLDhCQUF5QixHQUFnQyxLQUFLLENBQUM7UUFFL0QsbUJBQWMsR0FBOEMsRUFBRSxDQUFDO1FBQy9ELFlBQU8sR0FBeUgsTUFBTSxDQUFDO1FBR3ZJLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLFlBQU8sR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN2RCxhQUFRLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDeEQsY0FBUyxHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUNuRixhQUFRLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDeEQsWUFBTyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3ZELFlBQU8sR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN2RCxjQUFTLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDMUQsZUFBVSxHQUFHLEtBQUssQ0FBQztRQXNEcEIsYUFBUSxHQUF5QixHQUFHLEVBQUUsR0FBTSxDQUFDLENBQUM7UUFDOUMsY0FBUyxHQUFlLEdBQUcsRUFBRSxHQUFNLENBQUMsQ0FBQztLQWdDOUM7SUF0RkMsS0FBSyxDQUFDLFdBQVc7UUFDZixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxXQUFXLEVBQUUsSUFBSTtZQUNqQixLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUM7UUFDRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2Qiw0QkFBNEI7SUFDOUIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVPLGtCQUFrQjtJQUMxQixDQUFDO0lBT0QsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzNELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFVO1FBQzFCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBR0QsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUF3QjtRQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBQ0QsaUJBQWlCLENBQUMsRUFBYztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7SUFDaEMsQ0FBQzs4R0FsSFUsaUJBQWlCO2tHQUFqQixpQkFBaUIscytCQWxHakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsaUJBQWlCO2dCQUM5QixLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lCQXlGSyw0REF4R2IsSUFBSSw2RkFDSixvQkFBb0IsNlVBQ3BCLHFCQUFxQixxVUFDckIsc0JBQXNCLHVPQUN0Qix1QkFBdUIsd05BQ3ZCLHNCQUFzQiw4TEFDdEIscUJBQXFCOzsyRkFvR1osaUJBQWlCO2tCQWpIN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDSixhQUFhLEVBQUUsMkJBQTJCO3FCQUMzQztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsSUFBSTt3QkFDSixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIsc0JBQXNCO3dCQUN0Qix1QkFBdUI7d0JBQ3ZCLHNCQUFzQjt3QkFDdEIscUJBQXFCO3FCQUN0QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxtQkFBbUI7NEJBQzlCLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO29CQUNELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUJBeUZLO2lCQUNoQjs4QkFFVSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNFLFVBQVU7c0JBQWxCLEtBQUs7Z0JBc0VOLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNweElucHV0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcHhJbnB1dFRleHRDb21wb25lbnQgfSBmcm9tICcuL3NweC1pbnB1dC10ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcHhWYWx1ZVBhaXIgfSBmcm9tICcuL3NweC12YWx1ZS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTcHhJbnB1dERhdGVDb21wb25lbnQgfSBmcm9tICcuL3NweC1pbnB1dC1kYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcHhJbnB1dEZsb2F0Q29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtZmxvYXQuY29tcG9uZW50JztcbmltcG9ydCB7IFNweElucHV0TnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtbnVtYmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcHhJbnB1dFJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtcmFkaW8uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LWlucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgICcoc3B4Q2hhbmdlKSc6ICdoYW5kbGVDaGFuZ2VFdmVudCgkZXZlbnQpJ1xuICB9LFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBTcHhJbnB1dEJveENvbXBvbmVudCxcbiAgICBTcHhJbnB1dERhdGVDb21wb25lbnQsXG4gICAgU3B4SW5wdXRGbG9hdENvbXBvbmVudCxcbiAgICBTcHhJbnB1dE51bWJlckNvbXBvbmVudCxcbiAgICBTcHhJbnB1dFJhZGlvQ29tcG9uZW50LFxuICAgIFNweElucHV0VGV4dENvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogU3B4SW5wdXRDb21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgdGVtcGxhdGU6IGA8c3B4LWlucHV0LWJveFxuICBbc3B4TGFiZWxdPVwidGhpcy5zcHhMYWJlbFwiXG4gIFtzcHhSZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgW3NweFJlcXVpcmVkXT1cInRoaXMuc3B4UmVxdWlyZWRcIlxuICBbc3B4VmFsdWVdPVwidGhpcy52YWx1ZVwiXG4gIFtzcHhTaG93SGVscF09XCJ0aGlzLnNweFNob3dIZWxwXCJcbiAgW3NweENvbXBhY3RdPVwidGhpcy5zcHhDb21wYWN0XCJcbiAgW3NweFNob3dDbGVhcl09XCJ0aGlzLnNweFNob3dDbGVhclwiXG4gIFtzcHhTaG93RWRpdF09XCJ0aGlzLnNweFNob3dFZGl0XCJcbiAgW3NweFNob3dTZWFyY2hdPVwidGhpcy5zcHhTaG93U2VhcmNoID8gdGhpcy5zcHhTaG93U2VhcmNoIDogdGhpcy5zcHhUeXBlID09PSAnYXV0b2NvbXBsZXRlJ1wiXG4gIFtzcHhTaG93VmFsaWRhdGlvbk1lc3NhZ2VzXT1cInRoaXMuc3B4U2hvd1ZhbGlkYXRpb25NZXNzYWdlc1wiXG4gIChzcHhDbGVhcik9XCJ0aGlzLmhhbmRsZUNsZWFyKClcIlxuICAoc3B4RWRpdCk9XCJ0aGlzLmhhbmRsZUVkaXQoKVwiXG4gIChzcHhIZWxwKT1cInRoaXMuaGFuZGxlSGVscCgpXCJcbiAgKHNweEZvY3VzKT1cInRoaXMuc2V0Rm9jdXMoKVwiXG4gIChzcHhGb2N1c091dCk9XCJ0aGlzLnNldEZvY3VzT3V0KClcIlxuICAoc3B4U2VhcmNoT3V0cHV0KT1cInRoaXMuaGFuZGxlU2VhcmNoKClcIj5cbiAgPGRpdiBjb250cm9scz5cbiAgICA8c3B4LWlucHV0LXRleHRcbiAgICAgICpuZ0lmPVwidGhpcy5zcHhUeXBlID09PSAnYXV0b2NvbXBsZXRlJyB8fCB0aGlzLnNweFR5cGUgPT09ICdvdmVybGF5JyB8fCB0aGlzLnNweFR5cGUgPT09ICdvdmVybGF5bnVtYmVyJyB8fCB0aGlzLnNweFR5cGUgPT09ICd0ZXh0JyB8fCB0aGlzLnNweFR5cGUgPT09ICdwYXNzd29yZCdcIlxuICAgICAgW3NweEF1dG9mb2N1c109XCJ0aGlzLnNweEF1dG9mb2N1c1wiXG4gICAgICBbc3B4Q2FwaXRhbGl6ZV09XCJ0aGlzLnNweENhcGl0YWxpemVcIlxuICAgICAgW3NweEZvY3VzZWRdPVwidGhpcy5zcHhGb2N1c2VkXCJcbiAgICAgIFtzcHhJbnB1dE1vZGVdPVwidGhpcy5zcHhUeXBlID09PSAnb3ZlcmxheW51bWJlcicgPyAnbnVtZXJpYycgOiB0aGlzLnNweElucHV0TW9kZVwiXG4gICAgICBbc3B4TmFtZV09XCJ0aGlzLnNweE5hbWVcIlxuICAgICAgW3NweFBhdHRlcm5dPVwidGhpcy5zcHhUeXBlID09PSAnb3ZlcmxheW51bWJlcicgPyAnWzAtOV0qJyA6IHRoaXMuc3B4UGF0dGVyblwiXG4gICAgICBbc3B4UmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seVwiXG4gICAgICBbc3B4U3VnZ2VzdGlvbnNdPVwidGhpcy5zcHhTdWdnZXN0aW9uc1wiXG4gICAgICBbc3B4VHlwZV09XCJ0aGlzLnNweFR5cGVcIlxuICAgICAgW3NweFZhbGlkYXRvcnNdPVwidGhpcy5zcHhWYWxpZGF0b3JzXCJcbiAgICAgIFt2YWx1ZV09XCJ0aGlzLnZhbHVlXCJcbiAgICAgIChzcHhCbHVyRnJvbUNoaWxkKT1cInRoaXMuaGFuZGxlQmx1cigpXCJcbiAgICAgIChzcHhDaGFuZ2UpPVwidGhpcy5oYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAoc3B4Rm9jdXMpPVwidGhpcy5oYW5kbGVGb2N1cygpXCJcbiAgICAgID48L3NweC1pbnB1dC10ZXh0PlxuICAgIDxzcHgtaW5wdXQtZGF0ZVxuICAgICAgKm5nSWY9XCJ0aGlzLnNweFR5cGUgPT09ICdkYXRlJ1wiXG4gICAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxuICAgICAgW3NweE1heF09XCJ0aGlzLnNweE1heFwiXG4gICAgICBbc3B4TWluXT1cInRoaXMuc3B4TWluXCJcbiAgICAgIFtzcHhOYW1lXT1cInRoaXMuc3B4TmFtZVwiXG4gICAgICBbc3B4UmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seVwiXG4gICAgICBbc3B4U2VsZWN0RGF5XT1cInRoaXMuc3B4U2VsZWN0RGF5XCJcbiAgICAgIFtzcHhTZWxlY3RNb250aF09XCJ0aGlzLnNweFNlbGVjdE1vbnRoXCJcbiAgICAgIFtzcHhWYWxpZGF0b3JzXT1cInRoaXMuc3B4VmFsaWRhdG9yc1wiXG4gICAgICBbdmFsdWVdPVwidGhpcy52YWx1ZVwiXG4gICAgICAoc3B4Q2hhbmdlKT1cInRoaXMuaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgKHNweEZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoKVwiXG4gICAgPjwvc3B4LWlucHV0LWRhdGU+XG4gICAgPHNweC1pbnB1dC1mbG9hdFxuICAgICAgKm5nSWY9XCJ0aGlzLnNweFR5cGUgPT09ICdmbG9hdCdcIlxuICAgICAgW3NweEF1dG9mb2N1c109XCJ0aGlzLnNweEF1dG9mb2N1c1wiXG4gICAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxuICAgICAgW3NweE5hbWVdPVwidGhpcy5zcHhOYW1lXCJcbiAgICAgIFtzcHhSZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgICAgIFtzcHhTdGVwXT1cInRoaXMuc3B4U3RlcFwiXG4gICAgICBbc3B4VmFsaWRhdG9yc109XCJ0aGlzLnNweFZhbGlkYXRvcnNcIlxuICAgICAgW3ZhbHVlXT1cInRoaXMudmFsdWVcIlxuICAgICAgKHNweENoYW5nZSk9XCJ0aGlzLmhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChzcHhGb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxuICAgID48L3NweC1pbnB1dC1mbG9hdD5cbiAgICA8c3B4LWlucHV0LW51bWJlclxuICAgICAgKm5nSWY9XCJ0aGlzLnNweFR5cGUgPT09ICdudW1iZXInXCJcbiAgICAgIFtzcHhTdGVwXT1cInRoaXMuc3B4U3RlcFwiXG4gICAgICBbc3B4QXV0b2ZvY3VzXT1cInRoaXMuc3B4QXV0b2ZvY3VzXCJcbiAgICAgIFtzcHhGb2N1c2VkXT1cInRoaXMuc3B4Rm9jdXNlZFwiXG4gICAgICBbc3B4SW5wdXRNb2RlXT1cInRoaXMuc3B4SW5wdXRNb2RlXCJcbiAgICAgIFtzcHhOYW1lXT1cInRoaXMuc3B4TmFtZVwiXG4gICAgICBbc3B4VmFsaWRhdG9yc109XCJ0aGlzLnNweFZhbGlkYXRvcnNcIlxuICAgICAgKHNweENoYW5nZSk9XCJ0aGlzLmhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChzcHhGb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxuICAgICAgKHNweFJlYWRvbmx5KT1cInRoaXMuc3B4UmVhZG9ubHlcIlxuICAgICAgW3ZhbHVlXT1cInRoaXMudmFsdWVcIlxuICAgID48L3NweC1pbnB1dC1udW1iZXI+XG4gICAgPHNweC1pbnB1dC1yYWRpb1xuICAgICAgKm5nSWY9XCJ0aGlzLnNweFR5cGUgPT09ICdyYWRpbydcIlxuICAgICAgW3NweEZvY3VzZWRdPVwidGhpcy5zcHhGb2N1c2VkXCJcbiAgICAgIFtzcHhOYW1lXT1cInRoaXMuc3B4TmFtZVwiXG4gICAgICBbc3B4U3VnZ2VzdGlvbnNdPVwidGhpcy5zcHhTdWdnZXN0aW9uc1wiXG4gICAgICBbc3B4VmFsaWRhdG9yc109XCJ0aGlzLnNweFZhbGlkYXRvcnNcIlxuICAgICAgKHNweENoYW5nZSk9XCJ0aGlzLmhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChzcHhGb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxuICAgICAgKHNweFJlYWRvbmx5KT1cInRoaXMuc3B4UmVhZG9ubHlcIlxuICAgICAgW3ZhbHVlXT1cInRoaXMudmFsdWVcIlxuICAgID48L3NweC1pbnB1dC1yYWRpbz5cbiAgPC9kaXY+XG4gIDxkaXYgdmFsaWRhdGlvbi1tZXNzYWdlcz5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9zcHgtaW5wdXQtYm94PmAsXG59KVxuZXhwb3J0IGNsYXNzIFNweElucHV0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgc3B4TGFiZWw6IHN0cmluZyA9ICdsYWJlbCc7XG4gIEBJbnB1dCgpIHNweE1heD86IHN0cmluZztcbiAgQElucHV0KCkgc3B4TWluPzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhOYW1lITogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhSZWFkb25seSA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhBdXRvZm9jdXMgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4SW5wdXRNb2RlPzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhQYXR0ZXJuPzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhSZXF1aXJlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhTZWxlY3RNb250aCA9IHRydWU7XG4gIEBJbnB1dCgpIHNweFNlbGVjdERheSA9IHRydWU7XG4gIEBJbnB1dCgpIHNweFNob3dFZGl0ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFNob3dIZWxwID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweENvbXBhY3QgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4U2hvd0NsZWFyID0gdHJ1ZTtcbiAgQElucHV0KCkgc3B4U2hvd1NlYXJjaCA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhTaG93VmFsaWRhdGlvbk1lc3NhZ2VzPzogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4U3RlcD86IG51bWJlcjtcbiAgQElucHV0KCkgc3B4U3VnZ2VzdGlvbnM6IFNweFZhbHVlUGFpcjxib29sZWFuIHwgbnVtYmVyIHwgc3RyaW5nPltdID0gW107XG4gIEBJbnB1dCgpIHNweFR5cGU6ICdhdXRvY29tcGxldGUnIHwgJ2RhdGUnIHwgJ2Zsb2F0JyB8ICdvdmVybGF5JyB8ICdvdmVybGF5bnVtYmVyJyB8ICdyYWRpbycgfCAnbnVtYmVyJyB8ICdwYXNzd29yZCcgfCAncGhvdG8nIHwgJ3RleHQnID0gJ3RleHQnO1xuICBASW5wdXQoKSBzcHhWYWxpZGF0b3JzITogYW55W107XG4gIEBJbnB1dCgpIHZhbHVlITogU3B4VmFsdWVQYWlyPGFueT47XG4gIEBJbnB1dCgpIHNweENhcGl0YWxpemUgPSBmYWxzZTtcbiAgQE91dHB1dCgpIHNweEJsdXI6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHNweENsZWFyOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBzcHhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PigpO1xuICBAT3V0cHV0KCkgc3B4Rm9jdXM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHNweEVkaXQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHNweEhlbHA6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHNweFNlYXJjaDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBASW5wdXQoKSBzcHhGb2N1c2VkID0gZmFsc2U7XG4gIGFzeW5jIHNweFNldEZvY3VzKCkge1xuICAgIHRoaXMucGFzc0ZvY3VzVG9Db250cm9sKCk7XG4gIH1cblxuICBoYW5kbGVCbHVyKCkge1xuICAgIHRoaXMuc3B4Qmx1ci5lbWl0KCk7XG4gIH1cblxuICBoYW5kbGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMudmFsdWUgPSBldmVudDtcbiAgICB0aGlzLnNweENoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICB9XG5cbiAgaGFuZGxlQ2xlYXIoKSB7XG4gICAgdGhpcy5zcHhGb2N1c2VkID0gdHJ1ZTtcbiAgICB0aGlzLnBhc3NGb2N1c1RvQ29udHJvbCgpO1xuICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICBkZXNjcmlwdGlvbjogbnVsbCxcbiAgICAgIHZhbHVlOiBudWxsLFxuICAgIH07XG4gICAgdGhpcy5zcHhDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIGhhbmRsZUZvY3VzKCkge1xuICAgIHRoaXMuc3B4Rm9jdXNlZCA9IHRydWU7XG4gICAgLy8gdGhpcy5lbEJveC5zcHhTZXRGb2N1cygpO1xuICB9XG5cbiAgaGFuZGxlU2VhcmNoKCkge1xuICAgIHRoaXMuc3B4U2VhcmNoLmVtaXQoKTtcbiAgfVxuXG4gIHNldEZvY3VzKCkge1xuICAgIHRoaXMuc3B4Rm9jdXNlZCA9IHRydWU7XG4gICAgdGhpcy5wYXNzRm9jdXNUb0NvbnRyb2woKTtcbiAgfVxuXG4gIHNldEZvY3VzT3V0KCkge1xuICAgIHRoaXMuc3B4Rm9jdXNlZCA9IGZhbHNlO1xuICB9XG5cbiAgaGFuZGxlRWRpdCgpIHtcbiAgICB0aGlzLnNweEZvY3VzZWQgPSB0cnVlO1xuICB9XG4gIFxuICBoYW5kbGVIZWxwKCkge1xuICAgIHRoaXMuc3B4Rm9jdXNlZCA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIHBhc3NGb2N1c1RvQ29udHJvbCgpIHtcbiAgfVxuXG5cbiAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7LyoqL307XG4gIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4gey8qKi99O1xuICBwcm90ZWN0ZWQgbGFzdFZhbHVlOiBhbnk7XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMubGFzdFZhbHVlID0gdmFsdWUgPT0gbnVsbCA/ICcnIDogdmFsdWU7XG4gIH1cblxuICBoYW5kbGVDaGFuZ2VFdmVudCh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmxhc3RWYWx1ZSkge1xuICAgICAgdGhpcy5sYXN0VmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JylcbiAgX2hhbmRsZUJsdXJFdmVudCgpIHtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5zcHhSZWFkb25seSA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuXG5cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXZhbHVlLWludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzL3NweC12YWx1ZS1pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU3B4VmFsdWVQYWlyPEE+IHtcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XG4gICAgdmFsdWU6IEE7XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ export * from './spx-navigation-item.interface';
2
+ export * from './spx-navigation.component';
3
+ export * from './spx-home-tile.component';
4
+ export * from './spx-home-tiles.component';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtbmF2aWdhdGlvbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NweC1uYXZpZ2F0aW9uLWl0ZW0uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3B4LW5hdmlnYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3B4LWhvbWUtdGlsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcHgtaG9tZS10aWxlcy5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdHBhay1jb21wb25lbnRzLXNweC1uYXZpZ2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1uYXZpZ2F0aW9uL3NvZnRwYWstY29tcG9uZW50cy1zcHgtbmF2aWdhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,33 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class SpxHomeTileComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxHomeTileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxHomeTileComponent, isStandalone: true, selector: "spx-home-tile", inputs: { spxTitle: "spxTitle" }, ngImport: i0, template: `<button
6
+ class="border border-transparent bg-blue-600 flex flex-col w-full px-4 py-2 relative rounded text-center text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 hover:bg-blue-800 text-sm"
7
+ type="button"
8
+ part="button">
9
+ <div class="flex gap-3 items-center">
10
+ <div class="fal my-2.5 self-center text-xl"><ng-content></ng-content></div>
11
+ <div class="grow text-lg font-bold text-ellipsis overflow-hidden">{{ this.spxTitle }}</div>
12
+ </div>
13
+ </button>`, isInline: true }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxHomeTileComponent, decorators: [{
16
+ type: Component,
17
+ args: [{
18
+ selector: 'spx-home-tile',
19
+ standalone: true,
20
+ template: `<button
21
+ class="border border-transparent bg-blue-600 flex flex-col w-full px-4 py-2 relative rounded text-center text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 hover:bg-blue-800 text-sm"
22
+ type="button"
23
+ part="button">
24
+ <div class="flex gap-3 items-center">
25
+ <div class="fal my-2.5 self-center text-xl"><ng-content></ng-content></div>
26
+ <div class="grow text-lg font-bold text-ellipsis overflow-hidden">{{ this.spxTitle }}</div>
27
+ </div>
28
+ </button>`,
29
+ }]
30
+ }], propDecorators: { spxTitle: [{
31
+ type: Input
32
+ }] } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWhvbWUtdGlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LW5hdmlnYXRpb24vc3B4LWhvbWUtdGlsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBZWpELE1BQU0sT0FBTyxvQkFBb0I7OEdBQXBCLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDJHQVZyQjs7Ozs7Ozs7VUFRRjs7MkZBRUcsb0JBQW9CO2tCQWJoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7OztVQVFGO2lCQUNUOzhCQUVVLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC1ob21lLXRpbGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogYDxidXR0b25cbiAgY2xhc3M9XCJib3JkZXIgYm9yZGVyLXRyYW5zcGFyZW50IGJnLWJsdWUtNjAwIGZsZXggZmxleC1jb2wgdy1mdWxsIHB4LTQgcHktMiByZWxhdGl2ZSByb3VuZGVkIHRleHQtY2VudGVyIHRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLW9mZnNldC0yIGZvY3VzOnJpbmctYmx1ZS01MDAgaG92ZXI6YmctYmx1ZS04MDAgdGV4dC1zbVwiXG4gIHR5cGU9XCJidXR0b25cIlxuICBwYXJ0PVwiYnV0dG9uXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0zIGl0ZW1zLWNlbnRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJmYWwgbXktMi41IHNlbGYtY2VudGVyIHRleHQteGxcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImdyb3cgdGV4dC1sZyBmb250LWJvbGQgdGV4dC1lbGxpcHNpcyBvdmVyZmxvdy1oaWRkZW5cIj57eyB0aGlzLnNweFRpdGxlIH19PC9kaXY+XG4gIDwvZGl2PlxuPC9idXR0b24+YCxcbn0pXG5leHBvcnQgY2xhc3MgU3B4SG9tZVRpbGVDb21wb25lbnQge1xuICBASW5wdXQoKSBzcHhUaXRsZT86IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class SpxHomeTilesComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxHomeTilesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxHomeTilesComponent, isStandalone: true, selector: "spx-home-tiles", ngImport: i0, template: `<div
6
+ class="flex flex-wrap gap-2 place-content-center w-full"><ng-content></ng-content></div>`, isInline: true }); }
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxHomeTilesComponent, decorators: [{
9
+ type: Component,
10
+ args: [{
11
+ selector: 'spx-home-tiles',
12
+ standalone: true,
13
+ template: `<div
14
+ class="flex flex-wrap gap-2 place-content-center w-full"><ng-content></ng-content></div>`,
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWhvbWUtdGlsZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1uYXZpZ2F0aW9uL3NweC1ob21lLXRpbGVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVExQyxNQUFNLE9BQU8scUJBQXFCOzhHQUFyQixxQkFBcUI7a0dBQXJCLHFCQUFxQiwwRUFIdEI7NkZBQ2lGOzsyRkFFaEYscUJBQXFCO2tCQU5qQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7NkZBQ2lGO2lCQUM1RiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHgtaG9tZS10aWxlcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlOiBgPGRpdlxuICAgIGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgZ2FwLTIgcGxhY2UtY29udGVudC1jZW50ZXIgdy1mdWxsXCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvZGl2PmAsXG59KVxuZXhwb3J0IGNsYXNzIFNweEhvbWVUaWxlc0NvbXBvbmVudCB7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LW5hdmlnYXRpb24taXRlbS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LW5hdmlnYXRpb24vc3B4LW5hdmlnYXRpb24taXRlbS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEljb25EZWZpbml0aW9uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWNvbW1vbi10eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3B4TmF2aWdhdGlvbkl0ZW1JIHtcbiAgICBhY2Nlc3NLZXk/OiBzdHJpbmc7XG4gICAgYWNjZXNzS2V5SW50cm9kdWNlZEluUGF0Y2hlcz86IHsgcmVsZWFzZTogc3RyaW5nOyBwYXRjaEF0TGVhc3Q6IG51bWJlcjsgfVtdO1xuICAgIGF0dHJpYnV0ZXM/OiBvYmplY3Q7XG4gICAgY29kZTogc3RyaW5nO1xuICAgIGhhc1RhYj86IGJvb2xlYW47XG4gICAgaGFzVGlsZT86IGJvb2xlYW47XG4gICAgaWNvbjogSWNvbkRlZmluaXRpb247XG4gICAgaWNvblRhYj86IEljb25EZWZpbml0aW9uO1xuICAgIGljb25TaG9ydGN1dD86IEljb25EZWZpbml0aW9uO1xuICAgIHJvdXRlckxpbms6IHN0cmluZztcbiAgICBzaWduSW5SZXF1aXJlZD86IGJvb2xlYW47XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBjdXJyZW50U2V0dGluZ3NSZXF1aXJlZD86IGJvb2xlYW47XG59XG4iXX0=
@@ -0,0 +1,42 @@
1
+ import { Component, ContentChild, EventEmitter, Input, Output } from '@angular/core';
2
+ import { CommonModule, NgFor } from '@angular/common';
3
+ import { TranslateModule } from '@ngx-translate/core';
4
+ import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
5
+ import { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';
6
+ import { SpxHomeTilesComponent } from './spx-home-tiles.component';
7
+ import { SpxHomeTileComponent } from './spx-home-tile.component';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/common";
10
+ import * as i2 from "@ngx-translate/core";
11
+ import * as i3 from "@fortawesome/angular-fontawesome";
12
+ export class SpxNavigationComponent {
13
+ constructor() {
14
+ this.navItems = [];
15
+ this.spxClick = new EventEmitter();
16
+ }
17
+ onNavigate(link) {
18
+ this.spxClick.emit(link);
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxNavigationComponent, isStandalone: true, selector: "spx-navigation", inputs: { navItems: "navItems" }, outputs: { spxClick: "spxClick" }, queries: [{ propertyName: "iconTemplateRef", first: true, predicate: ["icon"], descendants: true }], ngImport: i0, template: "<spx-home-tiles>\n <spx-home-tile *ngFor=\"let item of navItems\" (click)=\"onNavigate(item.routerLink)\"\n [attr.spx-home-tile--code]=\"item.code\" [spxTitle]=\"item.title | translate | capitalize\">\n <fa-icon [icon]=\"item.icon\"></fa-icon>\n </spx-home-tile>\n</spx-home-tiles>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "pipe", type: SpxCapitalizePipe, name: "capitalize" }, { kind: "component", type: SpxHomeTilesComponent, selector: "spx-home-tiles" }, { kind: "component", type: SpxHomeTileComponent, selector: "spx-home-tile", inputs: ["spxTitle"] }] }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxNavigationComponent, decorators: [{
24
+ type: Component,
25
+ args: [{ selector: 'spx-navigation', standalone: true, imports: [
26
+ CommonModule,
27
+ TranslateModule,
28
+ FontAwesomeModule,
29
+ SpxCapitalizePipe,
30
+ SpxHomeTilesComponent,
31
+ SpxHomeTileComponent,
32
+ NgFor,
33
+ ], template: "<spx-home-tiles>\n <spx-home-tile *ngFor=\"let item of navItems\" (click)=\"onNavigate(item.routerLink)\"\n [attr.spx-home-tile--code]=\"item.code\" [spxTitle]=\"item.title | translate | capitalize\">\n <fa-icon [icon]=\"item.icon\"></fa-icon>\n </spx-home-tile>\n</spx-home-tiles>\n" }]
34
+ }], ctorParameters: () => [], propDecorators: { iconTemplateRef: [{
35
+ type: ContentChild,
36
+ args: ['icon', { static: false }]
37
+ }], navItems: [{
38
+ type: Input
39
+ }], spxClick: [{
40
+ type: Output
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1uYXZpZ2F0aW9uL3NweC1uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtbmF2aWdhdGlvbi9zcHgtbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUVsRyxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7QUFnQmpFLE1BQU0sT0FBTyxzQkFBc0I7SUFLakM7UUFIUyxhQUFRLEdBQXlCLEVBQUUsQ0FBQztRQUNuQyxhQUFRLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7SUFHbkUsQ0FBQztJQUVHLFVBQVUsQ0FBQyxJQUFZO1FBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7OEdBVlUsc0JBQXNCO2tHQUF0QixzQkFBc0Isb1BDdkJuQyxxU0FNQSwyQ0RRSSxZQUFZLDJKQUNaLGVBQWUsMkZBQ2YsaUJBQWlCLDhSQUNqQixpQkFBaUIsbURBQ2pCLHFCQUFxQiwyREFDckIsb0JBQW9COzsyRkFJWCxzQkFBc0I7a0JBZGxDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBRWQsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIscUJBQXFCO3dCQUNyQixvQkFBb0I7d0JBQ3BCLEtBQUs7cUJBQ047d0RBR3FDLGVBQWU7c0JBQXBELFlBQVk7dUJBQUMsTUFBTSxFQUFDLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFDM0IsUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNweE5hdmlnYXRpb25JdGVtSSB9IGZyb20gJy4vc3B4LW5hdmlnYXRpb24taXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lTW9kdWxlIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgU3B4Q2FwaXRhbGl6ZVBpcGUgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1jYXBpdGFsaXplJztcbmltcG9ydCB7IFNweEhvbWVUaWxlc0NvbXBvbmVudCB9IGZyb20gJy4vc3B4LWhvbWUtdGlsZXMuY29tcG9uZW50JztcbmltcG9ydCB7IFNweEhvbWVUaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaG9tZS10aWxlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC1uYXZpZ2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NweC1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgRm9udEF3ZXNvbWVNb2R1bGUsXG4gICAgU3B4Q2FwaXRhbGl6ZVBpcGUsXG4gICAgU3B4SG9tZVRpbGVzQ29tcG9uZW50LFxuICAgIFNweEhvbWVUaWxlQ29tcG9uZW50LFxuICAgIE5nRm9yLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTcHhOYXZpZ2F0aW9uQ29tcG9uZW50IHtcbiAgQENvbnRlbnRDaGlsZCgnaWNvbicse3N0YXRpYzogZmFsc2V9KSBpY29uVGVtcGxhdGVSZWY/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSBuYXZJdGVtczogU3B4TmF2aWdhdGlvbkl0ZW1JW10gPSBbXTtcbiAgQE91dHB1dCgpIHNweENsaWNrOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICApIHt9XG5cbiAgcHVibGljIG9uTmF2aWdhdGUobGluazogc3RyaW5nKSB7XG4gICAgdGhpcy5zcHhDbGljay5lbWl0KGxpbmspO1xuICB9XG59XG4iLCI8c3B4LWhvbWUtdGlsZXM+XG4gIDxzcHgtaG9tZS10aWxlICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5hdkl0ZW1zXCIgKGNsaWNrKT1cIm9uTmF2aWdhdGUoaXRlbS5yb3V0ZXJMaW5rKVwiXG4gICAgW2F0dHIuc3B4LWhvbWUtdGlsZS0tY29kZV09XCJpdGVtLmNvZGVcIiBbc3B4VGl0bGVdPVwiaXRlbS50aXRsZSB8IHRyYW5zbGF0ZSB8IGNhcGl0YWxpemVcIj5cbiAgICA8ZmEtaWNvbiBbaWNvbl09XCJpdGVtLmljb25cIj48L2ZhLWljb24+XG4gIDwvc3B4LWhvbWUtdGlsZT5cbjwvc3B4LWhvbWUtdGlsZXM+XG4iXX0=
@@ -0,0 +1,9 @@
1
+ import { SpxStorage, SpxStorageKeyEnum } from "@softpak/components/spx-storage";
2
+ export const patchCheck = (pair) => {
3
+ const release = pair.find(p => p.release === SpxStorage.getSetting(SpxStorageKeyEnum.release));
4
+ if (!release || (parseInt(SpxStorage.getSetting(SpxStorageKeyEnum.patch) ?? '0', 10) >= release.patchAtLeast)) {
5
+ return null;
6
+ }
7
+ return release.patchAtLeast;
8
+ };
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2gtY2hlY2suZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LXBhdGNoL3BhdGNoLWNoZWNrLmZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVoRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFrRCxFQUFFLEVBQUU7SUFDN0UsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssVUFBVSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQy9GLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDNUcsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU8sT0FBTyxDQUFDLFlBQVksQ0FBQztBQUNoQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTcHhTdG9yYWdlLCBTcHhTdG9yYWdlS2V5RW51bSB9IGZyb20gXCJAc29mdHBhay9jb21wb25lbnRzL3NweC1zdG9yYWdlXCI7XG5cbmV4cG9ydCBjb25zdCBwYXRjaENoZWNrID0gKHBhaXI6IHsgcmVsZWFzZTogc3RyaW5nOyBwYXRjaEF0TGVhc3Q6IG51bWJlcjsgfVtdKSA9PiB7XG4gICAgY29uc3QgcmVsZWFzZSA9IHBhaXIuZmluZChwID0+IHAucmVsZWFzZSA9PT0gU3B4U3RvcmFnZS5nZXRTZXR0aW5nKFNweFN0b3JhZ2VLZXlFbnVtLnJlbGVhc2UpKTtcbiAgICBpZiAoIXJlbGVhc2UgfHwgKHBhcnNlSW50KFNweFN0b3JhZ2UuZ2V0U2V0dGluZyhTcHhTdG9yYWdlS2V5RW51bS5wYXRjaCkgPz8gJzAnLCAxMCkgPj0gcmVsZWFzZS5wYXRjaEF0TGVhc3QpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gcmVsZWFzZS5wYXRjaEF0TGVhc3Q7XG59O1xuXG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './patch-check.function';
2
+ export * from './release-check.function';
3
+ export * from './spx-patch.component';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtcGF0Y2gvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGF0Y2gtY2hlY2suZnVuY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9yZWxlYXNlLWNoZWNrLmZ1bmN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vc3B4LXBhdGNoLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,11 @@
1
+ import { SpxStorage, SpxStorageKeyEnum } from "@softpak/components/spx-storage";
2
+ export const releaseCheck = (releaseAtLeast) => {
3
+ const currentRelease = (SpxStorage.getSetting(SpxStorageKeyEnum.release) ?? '00.00').split('.').map((v) => parseInt(v, 10));
4
+ const requiredRelease = releaseAtLeast.split('.').map((v) => parseInt(v, 10));
5
+ if (requiredRelease[0] < currentRelease[0] ||
6
+ requiredRelease[0] === currentRelease[0] && requiredRelease[1] <= currentRelease[1]) {
7
+ return null;
8
+ }
9
+ return releaseAtLeast;
10
+ };
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsZWFzZS1jaGVjay5mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtcGF0Y2gvcmVsZWFzZS1jaGVjay5mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFaEYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsY0FBc0IsRUFBRSxFQUFFO0lBQ25ELE1BQU0sY0FBYyxHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEksTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUV0RixJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLGVBQWUsQ0FBQyxDQUFDLENBQUMsS0FBSyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFDckYsQ0FBQztRQUNDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPLGNBQWMsQ0FBQztBQUMxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTcHhTdG9yYWdlLCBTcHhTdG9yYWdlS2V5RW51bSB9IGZyb20gXCJAc29mdHBhay9jb21wb25lbnRzL3NweC1zdG9yYWdlXCI7XG5cbmV4cG9ydCBjb25zdCByZWxlYXNlQ2hlY2sgPSAocmVsZWFzZUF0TGVhc3Q6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnRSZWxlYXNlID0gKFNweFN0b3JhZ2UuZ2V0U2V0dGluZyhTcHhTdG9yYWdlS2V5RW51bS5yZWxlYXNlKSA/PyAnMDAuMDAnKS5zcGxpdCgnLicpLm1hcCgodjogc3RyaW5nKSA9PiBwYXJzZUludCh2LCAxMCkpO1xuICAgIGNvbnN0IHJlcXVpcmVkUmVsZWFzZSA9IHJlbGVhc2VBdExlYXN0LnNwbGl0KCcuJykubWFwKCh2OiBzdHJpbmcpID0+IHBhcnNlSW50KHYsIDEwKSk7XG4gICAgXG4gICAgaWYgKHJlcXVpcmVkUmVsZWFzZVswXSA8IGN1cnJlbnRSZWxlYXNlWzBdIHx8XG4gICAgICAgIHJlcXVpcmVkUmVsZWFzZVswXSA9PT0gY3VycmVudFJlbGVhc2VbMF0gJiYgcmVxdWlyZWRSZWxlYXNlWzFdIDw9IGN1cnJlbnRSZWxlYXNlWzFdXG4gICAgKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gcmVsZWFzZUF0TGVhc3Q7XG59O1xuXG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdHBhay1jb21wb25lbnRzLXNweC1wYXRjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtcGF0Y2gvc29mdHBhay1jb21wb25lbnRzLXNweC1wYXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19