@softpak/components 19.0.0-beta.1 → 19.0.0-beta.10

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 (195) 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 +203 -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 +107 -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 +323 -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 +117 -0
  38. package/esm2022/spx-card/spx-card-line.component.mjs +124 -0
  39. package/esm2022/spx-card/spx-card.component.mjs +96 -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 +197 -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 +132 -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 +91 -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 +42 -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 +117 -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 +297 -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 +10 -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 +93 -0
  71. package/esm2022/spx-inputs/spx-input-box.component.mjs +273 -0
  72. package/esm2022/spx-inputs/spx-input-date/spx-input-date.component.mjs +194 -0
  73. package/esm2022/spx-inputs/spx-input-float.component.mjs +157 -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 +160 -0
  77. package/esm2022/spx-inputs/spx-input-time-modal.component.mjs +131 -0
  78. package/esm2022/spx-inputs/spx-input-time.component.mjs +156 -0
  79. package/esm2022/spx-inputs/spx-input-type.enum.mjs +17 -0
  80. package/esm2022/spx-inputs/spx-input.component.mjs +461 -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 +71 -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 +47 -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 +265 -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 +54 -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 +160 -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 +324 -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 +61 -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 +168 -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 +86 -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 +65 -0
  134. package/esm2022/spx-validation/year-and-month.validator.mjs +42 -0
  135. package/fesm2022/softpak-components-spx-alert.mjs +56 -45
  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 +59 -41
  139. package/fesm2022/softpak-components-spx-app-expiry.mjs.map +1 -1
  140. package/fesm2022/softpak-components-spx-app-update.mjs +74 -68
  141. package/fesm2022/softpak-components-spx-app-update.mjs.map +1 -1
  142. package/fesm2022/softpak-components-spx-button.mjs +5 -4
  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 +163 -127
  147. package/fesm2022/softpak-components-spx-card.mjs.map +1 -1
  148. package/fesm2022/softpak-components-spx-change-details.mjs +5 -7
  149. package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -1
  150. package/fesm2022/softpak-components-spx-channel-selection.mjs +11 -12
  151. package/fesm2022/softpak-components-spx-channel-selection.mjs.map +1 -1
  152. package/fesm2022/softpak-components-spx-check-digit.mjs +6 -9
  153. package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
  154. package/fesm2022/softpak-components-spx-form-section.mjs +20 -15
  155. package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -1
  156. package/fesm2022/softpak-components-spx-form-view.mjs +147 -139
  157. package/fesm2022/softpak-components-spx-form-view.mjs.map +1 -1
  158. package/fesm2022/softpak-components-spx-helpers.mjs +1 -0
  159. package/fesm2022/softpak-components-spx-helpers.mjs.map +1 -1
  160. package/fesm2022/softpak-components-spx-inputs.mjs +817 -862
  161. package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
  162. package/fesm2022/softpak-components-spx-navigation.mjs +53 -52
  163. package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -1
  164. package/fesm2022/softpak-components-spx-number-check.mjs +49 -42
  165. package/fesm2022/softpak-components-spx-number-check.mjs.map +1 -1
  166. package/fesm2022/softpak-components-spx-pagination.mjs +4 -4
  167. package/fesm2022/softpak-components-spx-pagination.mjs.map +1 -1
  168. package/fesm2022/softpak-components-spx-patch.mjs +29 -22
  169. package/fesm2022/softpak-components-spx-patch.mjs.map +1 -1
  170. package/fesm2022/softpak-components-spx-progress-bar.mjs +3 -3
  171. package/fesm2022/softpak-components-spx-progress-bar.mjs.map +1 -1
  172. package/fesm2022/softpak-components-spx-spinner.mjs +144 -143
  173. package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -1
  174. package/fesm2022/softpak-components-spx-stock-info.mjs +8 -11
  175. package/fesm2022/softpak-components-spx-stock-info.mjs.map +1 -1
  176. package/fesm2022/softpak-components-spx-storage.mjs.map +1 -1
  177. package/fesm2022/softpak-components-spx-suggestion.mjs +41 -49
  178. package/fesm2022/softpak-components-spx-suggestion.mjs.map +1 -1
  179. package/fesm2022/softpak-components-spx-toaster.mjs +94 -98
  180. package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -1
  181. package/fesm2022/softpak-components-spx-update.mjs +11 -11
  182. package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
  183. package/fesm2022/softpak-components-spx-validation.mjs +5 -8
  184. package/fesm2022/softpak-components-spx-validation.mjs.map +1 -1
  185. package/package.json +76 -23
  186. package/spx-app-update/spx-app-update.component.d.ts +3 -3
  187. package/spx-helpers/spx-severity.enum.d.ts +2 -1
  188. package/spx-inputs/spx-input-date/spx-input-date.component.d.ts +43 -0
  189. package/spx-inputs/spx-input-float.component.d.ts +5 -4
  190. package/spx-inputs/spx-input-text.component.d.ts +2 -1
  191. package/spx-inputs/spx-input-time.component.d.ts +1 -1
  192. package/spx-inputs/spx-input.component.d.ts +2 -1
  193. package/spx-suggestion/spx-suggestion.component.d.ts +5 -5
  194. package/tailwind.css +1 -1
  195. package/spx-inputs/spx-input-date.component.d.ts +0 -50
@@ -0,0 +1,461 @@
1
+ import { Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
2
+ import { SpxInputBoxComponent } from './spx-input-box.component';
3
+ import { SpxInputTextComponent } from './spx-input-text.component';
4
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
+ import { SpxInputFloatComponent } from './spx-input-float.component';
6
+ import { SpxInputNumberComponent } from './spx-input-number.component';
7
+ import { SpxInputRadioComponent } from './spx-input-radio.component';
8
+ import { SpxInputTypeEnum } from './spx-input-type.enum';
9
+ import { SpxInputTimeComponent } from './spx-input-time.component';
10
+ import { SpxInputDateComponent } from './spx-input-date/spx-input-date.component';
11
+ import * as i0 from "@angular/core";
12
+ export class SpxInputComponent {
13
+ constructor() {
14
+ this.spxLabel = 'label';
15
+ this.spxReadonly = false;
16
+ this.spxAutofocus = false;
17
+ this.spxRequired = false;
18
+ this.spxSelectMonth = true;
19
+ this.spxSelectDay = true;
20
+ this.spxShowEdit = false;
21
+ this.spxShowHelp = false;
22
+ this.spxShowLabel = true;
23
+ this.spxCompact = false;
24
+ this.spxShowClear = true;
25
+ this.spxShowSearch = false;
26
+ this.spxShowValidationMessages = false;
27
+ this.spxSuggestions = [];
28
+ this.spxType = SpxInputTypeEnum.text;
29
+ this.spxCapitalize = false;
30
+ this.spxBlur = new EventEmitter();
31
+ this.spxClear = new EventEmitter();
32
+ this.spxChange = new EventEmitter();
33
+ this.spxFocus = new EventEmitter();
34
+ this.spxEdit = new EventEmitter();
35
+ this.spxHelp = new EventEmitter();
36
+ this.spxSearch = new EventEmitter();
37
+ this.spxFocused = false;
38
+ this.onChange = () => { };
39
+ this.onTouched = () => { };
40
+ }
41
+ handleBlur() {
42
+ this.spxBlur.emit();
43
+ }
44
+ handleChange(event) {
45
+ this.value = event;
46
+ this.spxChange.emit(this.value);
47
+ }
48
+ handleClear() {
49
+ this.spxClear.emit();
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.spxFocus.emit();
60
+ this.spxFocused = true;
61
+ }
62
+ handleSearch() {
63
+ this.spxSearch.emit();
64
+ }
65
+ setFocusIn() {
66
+ setTimeout(() => {
67
+ this.spxFocused = true;
68
+ this.passFocusToControl();
69
+ }, 0);
70
+ }
71
+ setFocusOut() {
72
+ setTimeout(() => {
73
+ this.spxFocused = false;
74
+ if (this.spxType === SpxInputTypeEnum.radio) {
75
+ this.radioInput?.spxFocusOut();
76
+ }
77
+ }, 0);
78
+ }
79
+ handleEdit() {
80
+ this.spxEdit.emit();
81
+ this.spxFocused = true;
82
+ }
83
+ handleHelp() {
84
+ this.spxHelp.emit();
85
+ this.spxFocused = true;
86
+ }
87
+ passFocusToControl() {
88
+ switch (this.spxType) {
89
+ case SpxInputTypeEnum.autocomplete:
90
+ case SpxInputTypeEnum.text:
91
+ case SpxInputTypeEnum.overlayNumber:
92
+ this.textInput?.spxSetFocus();
93
+ break;
94
+ case SpxInputTypeEnum.number:
95
+ this.numberInput?.spxSetFocus();
96
+ break;
97
+ case SpxInputTypeEnum.radio:
98
+ this.radioInput?.spxFocusIn();
99
+ break;
100
+ case SpxInputTypeEnum.time:
101
+ this.timeInput?.spxSetFocus();
102
+ break;
103
+ }
104
+ }
105
+ writeValue(value) {
106
+ this.value = this.lastValue = value; // hier komt initiele waarde van formcontrol binnen
107
+ }
108
+ handleChangeEvent(value) {
109
+ if (value !== this.lastValue) {
110
+ this.lastValue = value;
111
+ this.onChange(value);
112
+ }
113
+ }
114
+ _handleBlurEvent() {
115
+ this.onTouched();
116
+ }
117
+ registerOnChange(fn) {
118
+ this.onChange = fn; // emit verandering aan formcontrol
119
+ }
120
+ registerOnTouched(fn) {
121
+ this.onTouched = fn;
122
+ }
123
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
124
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SpxInputComponent, isStandalone: true, selector: "spx-input", inputs: { spxLabel: "spxLabel", spxMax: "spxMax", spxMin: "spxMin", spxName: "spxName", spxReadonly: "spxReadonly", spxAutocomplete: "spxAutocomplete", spxAutofocus: "spxAutofocus", spxInputMode: "spxInputMode", spxPattern: "spxPattern", spxRequired: "spxRequired", spxSelectMonth: "spxSelectMonth", spxSelectDay: "spxSelectDay", spxShowEdit: "spxShowEdit", spxShowHelp: "spxShowHelp", spxShowLabel: "spxShowLabel", 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: [
125
+ {
126
+ provide: NG_VALUE_ACCESSOR,
127
+ useExisting: SpxInputComponent,
128
+ multi: true
129
+ }
130
+ ], viewQueries: [{ propertyName: "floatInput", first: true, predicate: SpxInputFloatComponent, descendants: true }, { propertyName: "numberInput", first: true, predicate: SpxInputNumberComponent, descendants: true }, { propertyName: "textInput", first: true, predicate: SpxInputTextComponent, descendants: true }, { propertyName: "timeInput", first: true, predicate: SpxInputTimeComponent, descendants: true }, { propertyName: "radioInput", first: true, predicate: SpxInputRadioComponent, descendants: true }], ngImport: i0, template: `<spx-input-box
131
+ [spxFocused]="this.spxFocused"
132
+ [spxLabel]="this.spxLabel"
133
+ [spxReadonly]="this.spxReadonly"
134
+ [spxRequired]="this.spxRequired"
135
+ [spxValue]="this.value"
136
+ [spxShowHelp]="this.spxShowHelp"
137
+ [spxCompact]="this.spxCompact"
138
+ [spxShowClear]="this.spxShowClear"
139
+ [spxShowEdit]="this.spxShowEdit"
140
+ [spxShowLabel]="this.spxShowLabel"
141
+ [spxShowSearch]="this.spxShowSearch ? this.spxShowSearch : this.spxType === 'autocomplete'"
142
+ [spxShowValidationMessages]="this.spxShowValidationMessages"
143
+ (spxClear)="this.handleClear()"
144
+ (spxEdit)="this.handleEdit()"
145
+ (spxHelp)="this.handleHelp()"
146
+ (spxFocus)="this.setFocusIn()"
147
+ (spxFocusOut)="this.setFocusOut()"
148
+ (spxSearch)="this.handleSearch()">
149
+ <div controls>
150
+ @if (this.spxType === 'autocomplete' || this.spxType === 'overlay' || this.spxType === 'overlaynumber' || this.spxType === 'text' || this.spxType === 'password') {
151
+ <spx-input-text
152
+ (spxBlurFromChild)="this.handleBlur()"
153
+ (spxChange)="this.handleChange($event)"
154
+ (spxFocus)="this.handleFocus()"
155
+ [spxAutocomplete]="this.spxAutocomplete ? this.spxAutocomplete : undefined"
156
+ [spxAutofocus]="this.spxAutofocus"
157
+ [spxCapitalize]="this.spxCapitalize"
158
+ [spxFocused]="this.spxFocused"
159
+ [spxInputMode]="this.spxType === 'overlaynumber' ? 'numeric' : this.spxInputMode"
160
+ [spxName]="this.spxName"
161
+ [spxPattern]="this.spxType === 'overlaynumber' ? '[0-9]*' : this.spxPattern"
162
+ [spxReadonly]="this.spxReadonly"
163
+ [spxSuggestions]="this.spxSuggestions"
164
+ [spxType]="this.spxType"
165
+ [spxValidators]="this.spxValidators"
166
+ [value]="this.value"
167
+ ></spx-input-text>
168
+ }
169
+ @if (this.spxType === 'date') {
170
+ <spx-input-date
171
+ (spxChange)="this.handleChange($event)"
172
+ (spxFocus)="this.handleFocus()"
173
+ [spxFocused]="this.spxFocused"
174
+ [spxMax]="this.spxMax!"
175
+ [spxMin]="this.spxMin!"
176
+ [spxReadonly]="this.spxReadonly"
177
+ [spxSelectDay]="this.spxSelectDay"
178
+ [spxSelectMonth]="this.spxSelectMonth"
179
+ [spxValidators]="this.spxValidators"
180
+ [(value)]="this.value"
181
+ ></spx-input-date>
182
+ }
183
+ @if (this.spxType === 'float') {
184
+ <spx-input-float
185
+ (spxChange)="this.handleChange($event)"
186
+ (spxFocus)="this.handleFocus()"
187
+ [spxAutofocus]="this.spxAutofocus"
188
+ [spxFocused]="this.spxFocused"
189
+ [spxName]="this.spxName"
190
+ [spxReadonly]="this.spxReadonly"
191
+ [spxStep]="this.spxStep"
192
+ [spxValidators]="this.spxValidators"
193
+ [value]="this.value"
194
+ ></spx-input-float>
195
+ }
196
+ @if (this.spxType === 'number') {
197
+ <spx-input-number
198
+ (spxChange)="this.handleChange($event)"
199
+ (spxFocus)="this.handleFocus()"
200
+ [spxAutofocus]="this.spxAutofocus"
201
+ [spxFocused]="this.spxFocused"
202
+ [spxInputMode]="this.spxInputMode"
203
+ [spxName]="this.spxName"
204
+ [spxReadonly]="this.spxReadonly"
205
+ [spxStep]="this.spxStep"
206
+ [spxValidators]="this.spxValidators"
207
+ [value]="this.value"
208
+ ></spx-input-number>
209
+ }
210
+ @if (this.spxType === 'radio') {
211
+ <spx-input-radio
212
+ #radioInput
213
+ (spxChange)="this.handleChange($event)"
214
+ [spxFocused]="this.spxFocused"
215
+ [spxName]="this.spxName"
216
+ [spxReadonly]="this.spxReadonly"
217
+ [spxShowLabel]="this.spxShowLabel"
218
+ [spxSuggestions]="this.spxSuggestions"
219
+ [spxValidators]="this.spxValidators"
220
+ [value]="this.value"
221
+ ></spx-input-radio>
222
+ }
223
+ @if (this.spxType === 'time') {
224
+ <spx-input-time
225
+ #timeInput
226
+ (spxChange)="this.handleChange($event)"
227
+ (spxFocus)="this.handleFocus()"
228
+ [spxFocused]="this.spxFocused"
229
+ [spxName]="this.spxName"
230
+ [spxReadonly]="this.spxReadonly"
231
+ [spxValidators]="this.spxValidators"
232
+ [value]="this.value"
233
+ ></spx-input-time>
234
+ }
235
+ </div>
236
+ <div validation-messages>
237
+ <ng-content></ng-content>
238
+ </div>
239
+ </spx-input-box>`, isInline: true, dependencies: [{ kind: "component", type: SpxInputBoxComponent, selector: "spx-input-box", inputs: ["spxCompact", "spxFocused", "spxLabel", "spxReadonly", "spxRequired", "spxShowClear", "spxShowEdit", "spxShowHelp", "spxShowLabel", "spxShowSearch", "spxShowValidationMessages", "spxValue"], outputs: ["spxClear", "spxSearch", "spxFocus", "spxFocusOut", "spxEdit", "spxHelp"] }, { kind: "component", type: SpxInputDateComponent, selector: "spx-input-date", inputs: ["spxMax", "spxMin", "spxReadonly", "spxValidators", "value", "spxFocused", "spxSelectDay", "spxSelectMonth", "spxSuggestions"], outputs: ["valueChange", "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", "spxShowLabel", "spxReadonly", "spxSuggestions", "value"], outputs: ["spxChange", "spxFocus"] }, { kind: "component", type: SpxInputTextComponent, selector: "spx-input-text", inputs: ["spxName", "spxAutofocus", "spxAutocomplete", "spxInputMode", "spxPattern", "spxSuggestions", "spxReadonly", "spxValidators", "spxCapitalize", "spxFocused", "spxType", "value", "spxWasInternalUpdate"], outputs: ["spxBlurFromChild", "spxChange", "spxFocus"] }, { kind: "component", type: SpxInputTimeComponent, selector: "spx-input-time", inputs: ["spxName", "spxAutofocus", "spxInputMode", "spxPattern", "spxSuggestions", "spxReadonly", "spxValidators", "spxCapitalize", "spxFocused", "spxType", "value", "spxWasInternalUpdate"], outputs: ["spxBlurFromChild", "spxChange", "spxFocus"] }] }); }
240
+ }
241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxInputComponent, decorators: [{
242
+ type: Component,
243
+ args: [{
244
+ selector: 'spx-input',
245
+ standalone: true,
246
+ host: {
247
+ '(spxChange)': 'handleChangeEvent($event)'
248
+ },
249
+ imports: [
250
+ SpxInputBoxComponent,
251
+ SpxInputDateComponent,
252
+ SpxInputFloatComponent,
253
+ SpxInputNumberComponent,
254
+ SpxInputRadioComponent,
255
+ SpxInputTextComponent,
256
+ SpxInputTimeComponent
257
+ ],
258
+ providers: [
259
+ {
260
+ provide: NG_VALUE_ACCESSOR,
261
+ useExisting: SpxInputComponent,
262
+ multi: true
263
+ }
264
+ ],
265
+ template: `<spx-input-box
266
+ [spxFocused]="this.spxFocused"
267
+ [spxLabel]="this.spxLabel"
268
+ [spxReadonly]="this.spxReadonly"
269
+ [spxRequired]="this.spxRequired"
270
+ [spxValue]="this.value"
271
+ [spxShowHelp]="this.spxShowHelp"
272
+ [spxCompact]="this.spxCompact"
273
+ [spxShowClear]="this.spxShowClear"
274
+ [spxShowEdit]="this.spxShowEdit"
275
+ [spxShowLabel]="this.spxShowLabel"
276
+ [spxShowSearch]="this.spxShowSearch ? this.spxShowSearch : this.spxType === 'autocomplete'"
277
+ [spxShowValidationMessages]="this.spxShowValidationMessages"
278
+ (spxClear)="this.handleClear()"
279
+ (spxEdit)="this.handleEdit()"
280
+ (spxHelp)="this.handleHelp()"
281
+ (spxFocus)="this.setFocusIn()"
282
+ (spxFocusOut)="this.setFocusOut()"
283
+ (spxSearch)="this.handleSearch()">
284
+ <div controls>
285
+ @if (this.spxType === 'autocomplete' || this.spxType === 'overlay' || this.spxType === 'overlaynumber' || this.spxType === 'text' || this.spxType === 'password') {
286
+ <spx-input-text
287
+ (spxBlurFromChild)="this.handleBlur()"
288
+ (spxChange)="this.handleChange($event)"
289
+ (spxFocus)="this.handleFocus()"
290
+ [spxAutocomplete]="this.spxAutocomplete ? this.spxAutocomplete : undefined"
291
+ [spxAutofocus]="this.spxAutofocus"
292
+ [spxCapitalize]="this.spxCapitalize"
293
+ [spxFocused]="this.spxFocused"
294
+ [spxInputMode]="this.spxType === 'overlaynumber' ? 'numeric' : this.spxInputMode"
295
+ [spxName]="this.spxName"
296
+ [spxPattern]="this.spxType === 'overlaynumber' ? '[0-9]*' : this.spxPattern"
297
+ [spxReadonly]="this.spxReadonly"
298
+ [spxSuggestions]="this.spxSuggestions"
299
+ [spxType]="this.spxType"
300
+ [spxValidators]="this.spxValidators"
301
+ [value]="this.value"
302
+ ></spx-input-text>
303
+ }
304
+ @if (this.spxType === 'date') {
305
+ <spx-input-date
306
+ (spxChange)="this.handleChange($event)"
307
+ (spxFocus)="this.handleFocus()"
308
+ [spxFocused]="this.spxFocused"
309
+ [spxMax]="this.spxMax!"
310
+ [spxMin]="this.spxMin!"
311
+ [spxReadonly]="this.spxReadonly"
312
+ [spxSelectDay]="this.spxSelectDay"
313
+ [spxSelectMonth]="this.spxSelectMonth"
314
+ [spxValidators]="this.spxValidators"
315
+ [(value)]="this.value"
316
+ ></spx-input-date>
317
+ }
318
+ @if (this.spxType === 'float') {
319
+ <spx-input-float
320
+ (spxChange)="this.handleChange($event)"
321
+ (spxFocus)="this.handleFocus()"
322
+ [spxAutofocus]="this.spxAutofocus"
323
+ [spxFocused]="this.spxFocused"
324
+ [spxName]="this.spxName"
325
+ [spxReadonly]="this.spxReadonly"
326
+ [spxStep]="this.spxStep"
327
+ [spxValidators]="this.spxValidators"
328
+ [value]="this.value"
329
+ ></spx-input-float>
330
+ }
331
+ @if (this.spxType === 'number') {
332
+ <spx-input-number
333
+ (spxChange)="this.handleChange($event)"
334
+ (spxFocus)="this.handleFocus()"
335
+ [spxAutofocus]="this.spxAutofocus"
336
+ [spxFocused]="this.spxFocused"
337
+ [spxInputMode]="this.spxInputMode"
338
+ [spxName]="this.spxName"
339
+ [spxReadonly]="this.spxReadonly"
340
+ [spxStep]="this.spxStep"
341
+ [spxValidators]="this.spxValidators"
342
+ [value]="this.value"
343
+ ></spx-input-number>
344
+ }
345
+ @if (this.spxType === 'radio') {
346
+ <spx-input-radio
347
+ #radioInput
348
+ (spxChange)="this.handleChange($event)"
349
+ [spxFocused]="this.spxFocused"
350
+ [spxName]="this.spxName"
351
+ [spxReadonly]="this.spxReadonly"
352
+ [spxShowLabel]="this.spxShowLabel"
353
+ [spxSuggestions]="this.spxSuggestions"
354
+ [spxValidators]="this.spxValidators"
355
+ [value]="this.value"
356
+ ></spx-input-radio>
357
+ }
358
+ @if (this.spxType === 'time') {
359
+ <spx-input-time
360
+ #timeInput
361
+ (spxChange)="this.handleChange($event)"
362
+ (spxFocus)="this.handleFocus()"
363
+ [spxFocused]="this.spxFocused"
364
+ [spxName]="this.spxName"
365
+ [spxReadonly]="this.spxReadonly"
366
+ [spxValidators]="this.spxValidators"
367
+ [value]="this.value"
368
+ ></spx-input-time>
369
+ }
370
+ </div>
371
+ <div validation-messages>
372
+ <ng-content></ng-content>
373
+ </div>
374
+ </spx-input-box>`,
375
+ }]
376
+ }], propDecorators: { spxLabel: [{
377
+ type: Input
378
+ }], spxMax: [{
379
+ type: Input
380
+ }], spxMin: [{
381
+ type: Input
382
+ }], spxName: [{
383
+ type: Input
384
+ }], spxReadonly: [{
385
+ type: Input
386
+ }], spxAutocomplete: [{
387
+ type: Input
388
+ }], spxAutofocus: [{
389
+ type: Input
390
+ }], spxInputMode: [{
391
+ type: Input
392
+ }], spxPattern: [{
393
+ type: Input
394
+ }], spxRequired: [{
395
+ type: Input
396
+ }], spxSelectMonth: [{
397
+ type: Input
398
+ }], spxSelectDay: [{
399
+ type: Input
400
+ }], spxShowEdit: [{
401
+ type: Input
402
+ }], spxShowHelp: [{
403
+ type: Input
404
+ }], spxShowLabel: [{
405
+ type: Input
406
+ }], spxCompact: [{
407
+ type: Input
408
+ }], spxShowClear: [{
409
+ type: Input
410
+ }], spxShowSearch: [{
411
+ type: Input
412
+ }], spxShowValidationMessages: [{
413
+ type: Input
414
+ }], spxStep: [{
415
+ type: Input
416
+ }], spxSuggestions: [{
417
+ type: Input
418
+ }], spxType: [{
419
+ type: Input
420
+ }], spxValidators: [{
421
+ type: Input
422
+ }], value: [{
423
+ type: Input
424
+ }], spxCapitalize: [{
425
+ type: Input
426
+ }], spxBlur: [{
427
+ type: Output
428
+ }], spxClear: [{
429
+ type: Output
430
+ }], spxChange: [{
431
+ type: Output
432
+ }], spxFocus: [{
433
+ type: Output
434
+ }], spxEdit: [{
435
+ type: Output
436
+ }], spxHelp: [{
437
+ type: Output
438
+ }], spxSearch: [{
439
+ type: Output
440
+ }], floatInput: [{
441
+ type: ViewChild,
442
+ args: [SpxInputFloatComponent]
443
+ }], numberInput: [{
444
+ type: ViewChild,
445
+ args: [SpxInputNumberComponent]
446
+ }], textInput: [{
447
+ type: ViewChild,
448
+ args: [SpxInputTextComponent]
449
+ }], timeInput: [{
450
+ type: ViewChild,
451
+ args: [SpxInputTimeComponent]
452
+ }], radioInput: [{
453
+ type: ViewChild,
454
+ args: [SpxInputRadioComponent]
455
+ }], spxFocused: [{
456
+ type: Input
457
+ }], _handleBlurEvent: [{
458
+ type: HostListener,
459
+ args: ['focusout']
460
+ }] } });
461
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzL3NweC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOztBQXVJbEYsTUFBTSxPQUFPLGlCQUFpQjtJQXJJOUI7UUFzSVcsYUFBUSxHQUFXLE9BQU8sQ0FBQztRQUkzQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUdyQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixnQkFB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LFVBQVU7c0JBQTVDLFNBQVM7dUJBQUMsc0JBQXNCO2dCQUN4QixVQUFVO3NCQUFsQixLQUFLO2dCQTJGTixnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNweElucHV0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcHhJbnB1dFRleHRDb21wb25lbnQgfSBmcm9tICcuL3NweC1pbnB1dC10ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcHhWYWx1ZVBhaXIgfSBmcm9tICcuL3NweC12YWx1ZS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTcHhJbnB1dEZsb2F0Q29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtZmxvYXQuY29tcG9uZW50JztcbmltcG9ydCB7IFNweElucHV0TnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtbnVtYmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcHhJbnB1dFJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtcmFkaW8uY29tcG9uZW50JztcbmltcG9ydCB7IFNweElucHV0VHlwZUVudW0gfSBmcm9tICcuL3NweC1pbnB1dC10eXBlLmVudW0nO1xuaW1wb3J0IHsgU3B4SW5wdXRUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtdGltZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3B4SW5wdXREYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtZGF0ZS9zcHgtaW5wdXQtZGF0ZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHgtaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJyhzcHhDaGFuZ2UpJzogJ2hhbmRsZUNoYW5nZUV2ZW50KCRldmVudCknXG4gIH0sXG4gIGltcG9ydHM6IFtcbiAgICBTcHhJbnB1dEJveENvbXBvbmVudCxcbiAgICBTcHhJbnB1dERhdGVDb21wb25lbnQsXG4gICAgU3B4SW5wdXRGbG9hdENvbXBvbmVudCxcbiAgICBTcHhJbnB1dE51bWJlckNvbXBvbmVudCxcbiAgICBTcHhJbnB1dFJhZGlvQ29tcG9uZW50LFxuICAgIFNweElucHV0VGV4dENvbXBvbmVudCxcbiAgICBTcHhJbnB1dFRpbWVDb21wb25lbnRcbl0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNweElucHV0Q29tcG9uZW50LFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG4gIHRlbXBsYXRlOiBgPHNweC1pbnB1dC1ib3hcbiAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxuICAgIFtzcHhMYWJlbF09XCJ0aGlzLnNweExhYmVsXCJcbiAgICBbc3B4UmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seVwiXG4gICAgW3NweFJlcXVpcmVkXT1cInRoaXMuc3B4UmVxdWlyZWRcIlxuICAgIFtzcHhWYWx1ZV09XCJ0aGlzLnZhbHVlXCJcbiAgICBbc3B4U2hvd0hlbHBdPVwidGhpcy5zcHhTaG93SGVscFwiXG4gICAgW3NweENvbXBhY3RdPVwidGhpcy5zcHhDb21wYWN0XCJcbiAgICBbc3B4U2hvd0NsZWFyXT1cInRoaXMuc3B4U2hvd0NsZWFyXCJcbiAgICBbc3B4U2hvd0VkaXRdPVwidGhpcy5zcHhTaG93RWRpdFwiXG4gICAgW3NweFNob3dMYWJlbF09XCJ0aGlzLnNweFNob3dMYWJlbFwiXG4gICAgW3NweFNob3dTZWFyY2hdPVwidGhpcy5zcHhTaG93U2VhcmNoID8gdGhpcy5zcHhTaG93U2VhcmNoIDogdGhpcy5zcHhUeXBlID09PSAnYXV0b2NvbXBsZXRlJ1wiXG4gICAgW3NweFNob3dWYWxpZGF0aW9uTWVzc2FnZXNdPVwidGhpcy5zcHhTaG93VmFsaWRhdGlvbk1lc3NhZ2VzXCJcbiAgICAoc3B4Q2xlYXIpPVwidGhpcy5oYW5kbGVDbGVhcigpXCJcbiAgICAoc3B4RWRpdCk9XCJ0aGlzLmhhbmRsZUVkaXQoKVwiXG4gICAgKHNweEhlbHApPVwidGhpcy5oYW5kbGVIZWxwKClcIlxuICAgIChzcHhGb2N1cyk9XCJ0aGlzLnNldEZvY3VzSW4oKVwiXG4gICAgKHNweEZvY3VzT3V0KT1cInRoaXMuc2V0Rm9jdXNPdXQoKVwiXG4gICAgKHNweFNlYXJjaCk9XCJ0aGlzLmhhbmRsZVNlYXJjaCgpXCI+XG4gICAgPGRpdiBjb250cm9scz5cbiAgICAgIEBpZiAodGhpcy5zcHhUeXBlID09PSAnYXV0b2NvbXBsZXRlJyB8fCB0aGlzLnNweFR5cGUgPT09ICdvdmVybGF5JyB8fCB0aGlzLnNweFR5cGUgPT09ICdvdmVybGF5bnVtYmVyJyB8fCB0aGlzLnNweFR5cGUgPT09ICd0ZXh0JyB8fCB0aGlzLnNweFR5cGUgPT09ICdwYXNzd29yZCcpIHtcbiAgICAgICAgPHNweC1pbnB1dC10ZXh0XG4gICAgICAgICAgKHNweEJsdXJGcm9tQ2hpbGQpPVwidGhpcy5oYW5kbGVCbHVyKClcIlxuICAgICAgICAgIChzcHhDaGFuZ2UpPVwidGhpcy5oYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgKHNweEZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoKVwiXG4gICAgICAgICAgW3NweEF1dG9jb21wbGV0ZV09XCJ0aGlzLnNweEF1dG9jb21wbGV0ZSA/IHRoaXMuc3B4QXV0b2NvbXBsZXRlIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICBbc3B4QXV0b2ZvY3VzXT1cInRoaXMuc3B4QXV0b2ZvY3VzXCJcbiAgICAgICAgICBbc3B4Q2FwaXRhbGl6ZV09XCJ0aGlzLnNweENhcGl0YWxpemVcIlxuICAgICAgICAgIFtzcHhGb2N1c2VkXT1cInRoaXMuc3B4Rm9jdXNlZFwiXG4gICAgICAgICAgW3NweElucHV0TW9kZV09XCJ0aGlzLnNweFR5cGUgPT09ICdvdmVybGF5bnVtYmVyJyA/ICdudW1lcmljJyA6IHRoaXMuc3B4SW5wdXRNb2RlXCJcbiAgICAgICAgICBbc3B4TmFtZV09XCJ0aGlzLnNweE5hbWVcIlxuICAgICAgICAgIFtzcHhQYXR0ZXJuXT1cInRoaXMuc3B4VHlwZSA9PT0gJ292ZXJsYXludW1iZXInID8gJ1swLTldKicgOiB0aGlzLnNweFBhdHRlcm5cIlxuICAgICAgICAgIFtzcHhSZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgICAgICAgICBbc3B4U3VnZ2VzdGlvbnNdPVwidGhpcy5zcHhTdWdnZXN0aW9uc1wiXG4gICAgICAgICAgW3NweFR5cGVdPVwidGhpcy5zcHhUeXBlXCJcbiAgICAgICAgICBbc3B4VmFsaWRhdG9yc109XCJ0aGlzLnNweFZhbGlkYXRvcnNcIlxuICAgICAgICAgIFt2YWx1ZV09XCJ0aGlzLnZhbHVlXCJcbiAgICAgICAgPjwvc3B4LWlucHV0LXRleHQ+XG4gICAgICB9XG4gICAgICBAaWYgKHRoaXMuc3B4VHlwZSA9PT0gJ2RhdGUnKSB7XG4gICAgICAgIDxzcHgtaW5wdXQtZGF0ZVxuICAgICAgICAgIChzcHhDaGFuZ2UpPVwidGhpcy5oYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgKHNweEZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoKVwiXG4gICAgICAgICAgW3NweEZvY3VzZWRdPVwidGhpcy5zcHhGb2N1c2VkXCJcbiAgICAgICAgICBbc3B4TWF4XT1cInRoaXMuc3B4TWF4IVwiXG4gICAgICAgICAgW3NweE1pbl09XCJ0aGlzLnNweE1pbiFcIlxuICAgICAgICAgIFtzcHhSZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgICAgICAgICBbc3B4U2VsZWN0RGF5XT1cInRoaXMuc3B4U2VsZWN0RGF5XCJcbiAgICAgICAgICBbc3B4U2VsZWN0TW9udGhdPVwidGhpcy5zcHhTZWxlY3RNb250aFwiXG4gICAgICAgICAgW3NweFZhbGlkYXRvcnNdPVwidGhpcy5zcHhWYWxpZGF0b3JzXCJcbiAgICAgICAgICBbKHZhbHVlKV09XCJ0aGlzLnZhbHVlXCJcbiAgICAgICAgPjwvc3B4LWlucHV0LWRhdGU+XG4gICAgICB9XG4gICAgICBAaWYgKHRoaXMuc3B4VHlwZSA9PT0gJ2Zsb2F0Jykge1xuICAgICAgICA8c3B4LWlucHV0LWZsb2F0XG4gICAgICAgICAgKHNweENoYW5nZSk9XCJ0aGlzLmhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAoc3B4Rm9jdXMpPVwidGhpcy5oYW5kbGVGb2N1cygpXCJcbiAgICAgICAgICBbc3B4QXV0b2ZvY3VzXT1cInRoaXMuc3B4QXV0b2ZvY3VzXCJcbiAgICAgICAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxuICAgICAgICAgIFtzcHhOYW1lXT1cInRoaXMuc3B4TmFtZVwiXG4gICAgICAgICAgW3NweFJlYWRvbmx5XT1cInRoaXMuc3B4UmVhZG9ubHlcIlxuICAgICAgICAgIFtzcHhTdGVwXT1cInRoaXMuc3B4U3RlcFwiXG4gICAgICAgICAgW3NweFZhbGlkYXRvcnNdPVwidGhpcy5zcHhWYWxpZGF0b3JzXCJcbiAgICAgICAgICBbdmFsdWVdPVwidGhpcy52YWx1ZVwiXG4gICAgICAgID48L3NweC1pbnB1dC1mbG9hdD5cbiAgICAgIH1cbiAgICAgIEBpZiAodGhpcy5zcHhUeXBlID09PSAnbnVtYmVyJykge1xuICAgICAgICA8c3B4LWlucHV0LW51bWJlclxuICAgICAgICAgIChzcHhDaGFuZ2UpPVwidGhpcy5oYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgKHNweEZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoKVwiXG4gICAgICAgICAgW3NweEF1dG9mb2N1c109XCJ0aGlzLnNweEF1dG9mb2N1c1wiXG4gICAgICAgICAgW3NweEZvY3VzZWRdPVwidGhpcy5zcHhGb2N1c2VkXCJcbiAgICAgICAgICBbc3B4SW5wdXRNb2RlXT1cInRoaXMuc3B4SW5wdXRNb2RlXCJcbiAgICAgICAgICBbc3B4TmFtZV09XCJ0aGlzLnNweE5hbWVcIlxuICAgICAgICAgIFtzcHhSZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgICAgICAgICBbc3B4U3RlcF09XCJ0aGlzLnNweFN0ZXBcIlxuICAgICAgICAgIFtzcHhWYWxpZGF0b3JzXT1cInRoaXMuc3B4VmFsaWRhdG9yc1wiXG4gICAgICAgICAgW3ZhbHVlXT1cInRoaXMudmFsdWVcIlxuICAgICAgICA+PC9zcHgtaW5wdXQtbnVtYmVyPlxuICAgICAgfVxuICAgICAgQGlmICh0aGlzLnNweFR5cGUgPT09ICdyYWRpbycpIHtcbiAgICAgICAgPHNweC1pbnB1dC1yYWRpb1xuICAgICAgICAgICNyYWRpb0lucHV0XG4gICAgICAgICAgKHNweENoYW5nZSk9XCJ0aGlzLmhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxuICAgICAgICAgIFtzcHhOYW1lXT1cInRoaXMuc3B4TmFtZVwiXG4gICAgICAgICAgW3NweFJlYWRvbmx5XT1cInRoaXMuc3B4UmVhZG9ubHlcIlxuICAgICAgICAgIFtzcHhTaG93TGFiZWxdPVwidGhpcy5zcHhTaG93TGFiZWxcIlxuICAgICAgICAgIFtzcHhTdWdnZXN0aW9uc109XCJ0aGlzLnNweFN1Z2dlc3Rpb25zXCJcbiAgICAgICAgICBbc3B4VmFsaWRhdG9yc109XCJ0aGlzLnNweFZhbGlkYXRvcnNcIlxuICAgICAgICAgIFt2YWx1ZV09XCJ0aGlzLnZhbHVlXCJcbiAgICAgICAgPjwvc3B4LWlucHV0LXJhZGlvPlxuICAgICAgfVxuICAgICAgQGlmICh0aGlzLnNweFR5cGUgPT09ICd0aW1lJykge1xuICAgICAgICA8c3B4LWlucHV0LXRpbWVcbiAgICAgICAgICAjdGltZUlucHV0XG4gICAgICAgICAgKHNweENoYW5nZSk9XCJ0aGlzLmhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAoc3B4Rm9jdXMpPVwidGhpcy5oYW5kbGVGb2N1cygpXCJcbiAgICAgICAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxuICAgICAgICAgIFtzcHhOYW1lXT1cInRoaXMuc3B4TmFtZVwiXG4gICAgICAgICAgW3NweFJlYWRvbmx5XT1cInRoaXMuc3B4UmVhZG9ubHlcIlxuICAgICAgICAgIFtzcHhWYWxpZGF0b3JzXT1cInRoaXMuc3B4VmFsaWRhdG9yc1wiXG4gICAgICAgICAgW3ZhbHVlXT1cInRoaXMudmFsdWVcIlxuICAgICAgICA+PC9zcHgtaW5wdXQtdGltZT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHZhbGlkYXRpb24tbWVzc2FnZXM+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvc3B4LWlucHV0LWJveD5gLFxufSlcbmV4cG9ydCBjbGFzcyBTcHhJbnB1dENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNweExhYmVsOiBzdHJpbmcgPSAnbGFiZWwnO1xuICBASW5wdXQoKSBzcHhNYXg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNweE1pbj86IHN0cmluZztcbiAgQElucHV0KCkgc3B4TmFtZSE6IHN0cmluZztcbiAgQElucHV0KCkgc3B4UmVhZG9ubHkgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4QXV0b2NvbXBsZXRlPzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhBdXRvZm9jdXMgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4SW5wdXRNb2RlPzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhQYXR0ZXJuPzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhSZXF1aXJlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhTZWxlY3RNb250aCA9IHRydWU7XG4gIEBJbnB1dCgpIHNweFNlbGVjdERheSA9IHRydWU7XG4gIEBJbnB1dCgpIHNweFNob3dFZGl0ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFNob3dIZWxwID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFNob3dMYWJlbCA9IHRydWU7XG4gIEBJbnB1dCgpIHNweENvbXBhY3QgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4U2hvd0NsZWFyID0gdHJ1ZTtcbiAgQElucHV0KCkgc3B4U2hvd1NlYXJjaCA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhTaG93VmFsaWRhdGlvbk1lc3NhZ2VzPzogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4U3RlcD86IG51bWJlcjtcbiAgQElucHV0KCkgc3B4U3VnZ2VzdGlvbnM6IFNweFZhbHVlUGFpcjxib29sZWFuIHwgbnVtYmVyIHwgc3RyaW5nPltdID0gW107XG4gIEBJbnB1dCgpIHNweFR5cGU6IFNweElucHV0VHlwZUVudW0gPSBTcHhJbnB1dFR5cGVFbnVtLnRleHQ7XG4gIEBJbnB1dCgpIHNweFZhbGlkYXRvcnMhOiBhbnlbXTtcbiAgQElucHV0KCkgdmFsdWUhOiBTcHhWYWx1ZVBhaXI8YW55PjtcbiAgQElucHV0KCkgc3B4Q2FwaXRhbGl6ZSA9IGZhbHNlO1xuICBAT3V0cHV0KCkgc3B4Qmx1cjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc3B4Q2xlYXI6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHNweENoYW5nZTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPGFueT4+KCk7XG4gIEBPdXRwdXQoKSBzcHhGb2N1czogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc3B4RWRpdDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc3B4SGVscDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc3B4U2VhcmNoOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBWaWV3Q2hpbGQoU3B4SW5wdXRGbG9hdENvbXBvbmVudCkgZmxvYXRJbnB1dD86IFNweElucHV0RmxvYXRDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoU3B4SW5wdXROdW1iZXJDb21wb25lbnQpIG51bWJlcklucHV0PzogU3B4SW5wdXROdW1iZXJDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoU3B4SW5wdXRUZXh0Q29tcG9uZW50KSB0ZXh0SW5wdXQ/OiBTcHhJbnB1dFRleHRDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoU3B4SW5wdXRUaW1lQ29tcG9uZW50KSB0aW1lSW5wdXQ/OiBTcHhJbnB1dFRpbWVDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoU3B4SW5wdXRSYWRpb0NvbXBvbmVudCkgcmFkaW9JbnB1dD86IFNweElucHV0UmFkaW9Db21wb25lbnQ7XG4gIEBJbnB1dCgpIHNweEZvY3VzZWQgPSBmYWxzZTtcbiAgaGFuZGxlQmx1cigpIHtcbiAgICB0aGlzLnNweEJsdXIuZW1pdCgpO1xuICB9XG5cbiAgaGFuZGxlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnZhbHVlID0gZXZlbnQ7XG4gICAgdGhpcy5zcHhDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIGhhbmRsZUNsZWFyKCkge1xuICAgIHRoaXMuc3B4Q2xlYXIuZW1pdCgpO1xuICAgIHRoaXMuc3B4Rm9jdXNlZCA9IHRydWU7XG4gICAgdGhpcy5wYXNzRm9jdXNUb0NvbnRyb2woKTtcbiAgICB0aGlzLnZhbHVlID0ge1xuICAgICAgZGVzY3JpcHRpb246IG51bGwsXG4gICAgICB2YWx1ZTogbnVsbCxcbiAgICB9O1xuICAgIHRoaXMuc3B4Q2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gIH1cblxuICBoYW5kbGVGb2N1cygpIHtcbiAgICB0aGlzLnNweEZvY3VzLmVtaXQoKTtcbiAgICB0aGlzLnNweEZvY3VzZWQgPSB0cnVlO1xuICB9XG5cbiAgaGFuZGxlU2VhcmNoKCkge1xuICAgIHRoaXMuc3B4U2VhcmNoLmVtaXQoKTtcbiAgfVxuXG4gIHNldEZvY3VzSW4oKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNweEZvY3VzZWQgPSB0cnVlO1xuICAgICAgdGhpcy5wYXNzRm9jdXNUb0NvbnRyb2woKTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIHNldEZvY3VzT3V0KCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zcHhGb2N1c2VkID0gZmFsc2U7XG4gICAgICBpZiAodGhpcy5zcHhUeXBlID09PSBTcHhJbnB1dFR5cGVFbnVtLnJhZGlvKSB7XG4gICAgICAgIHRoaXMucmFkaW9JbnB1dD8uc3B4Rm9jdXNPdXQoKTtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxuXG4gIGhhbmRsZUVkaXQoKSB7XG4gICAgdGhpcy5zcHhFZGl0LmVtaXQoKTtcbiAgICB0aGlzLnNweEZvY3VzZWQgPSB0cnVlO1xuICB9XG4gIFxuICBoYW5kbGVIZWxwKCkge1xuICAgIHRoaXMuc3B4SGVscC5lbWl0KCk7XG4gICAgdGhpcy5zcHhGb2N1c2VkID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgcGFzc0ZvY3VzVG9Db250cm9sKCkge1xuICAgIHN3aXRjaCAodGhpcy5zcHhUeXBlKSB7XG4gICAgICBjYXNlIFNweElucHV0VHlwZUVudW0uYXV0b2NvbXBsZXRlOlxuICAgICAgY2FzZSBTcHhJbnB1dFR5cGVFbnVtLnRleHQ6XG4gICAgICBjYXNlIFNweElucHV0VHlwZUVudW0ub3ZlcmxheU51bWJlcjpcbiAgICAgICAgdGhpcy50ZXh0SW5wdXQ/LnNweFNldEZvY3VzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTcHhJbnB1dFR5cGVFbnVtLm51bWJlcjpcbiAgICAgICAgdGhpcy5udW1iZXJJbnB1dD8uc3B4U2V0Rm9jdXMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNweElucHV0VHlwZUVudW0ucmFkaW86XG4gICAgICAgIHRoaXMucmFkaW9JbnB1dD8uc3B4Rm9jdXNJbigpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU3B4SW5wdXRUeXBlRW51bS50aW1lOlxuICAgICAgICB0aGlzLnRpbWVJbnB1dD8uc3B4U2V0Rm9jdXMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gIH1cblxuICBwcml2YXRlIG9uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IHsvKiovfTtcbiAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7LyoqL307XG4gIHByb3RlY3RlZCBsYXN0VmFsdWU6IGFueTtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5sYXN0VmFsdWUgPSB2YWx1ZTsgLy8gaGllciBrb210IGluaXRpZWxlIHdhYXJkZSB2YW4gZm9ybWNvbnRyb2wgYmlubmVuXG4gIH1cblxuICBoYW5kbGVDaGFuZ2VFdmVudCh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmxhc3RWYWx1ZSkge1xuICAgICAgdGhpcy5sYXN0VmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JylcbiAgX2hhbmRsZUJsdXJFdmVudCgpIHtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47IC8vIGVtaXQgdmVyYW5kZXJpbmcgYWFuIGZvcm1jb250cm9sXG4gIH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG59XG4iXX0=
@@ -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,71 @@
1
+ import { NgClass } from '@angular/common';
2
+ import { Component, Input, ViewChild } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class SpxHomeTileComponent {
5
+ setFocus() {
6
+ this.buttonRef?.nativeElement.focus();
7
+ }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxHomeTileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SpxHomeTileComponent, isStandalone: true, selector: "spx-home-tile", inputs: { spxAutofocus: "spxAutofocus", spxClass: "spxClass", spxSubtitle: "spxSubtitle", spxTitle: "spxTitle" }, viewQueries: [{ propertyName: "buttonRef", first: true, predicate: ["button"], descendants: true }], ngImport: i0, template: `<button #button
10
+ class="border border-transparent flex flex-col w-full px-4 py-2 relative rounded text-center focus:outline-none focus:ring-2 focus:ring-offset-2"
11
+ type="button"
12
+ part="button"
13
+ [attr.autofocus]="this.spxAutofocus ? this.spxAutofocus : undefined"
14
+ [class.bg-blue-600]="!this.spxClass"
15
+ [class.focus:ring-blue-500]="!this.spxClass"
16
+ [class.hover:bg-blue-800]="!this.spxClass"
17
+ [class.text-white]="!this.spxClass"
18
+ [ngClass]="this.spxClass ? this.spxClass : undefined">
19
+ <div class="flex gap-5 items-center">
20
+ <div class="fal my-2 self-center text-xl w-5"><ng-content></ng-content></div>
21
+ <div class="grow flex flex-col text-left">
22
+ <div class="text-lg font-bold text-ellipsis overflow-hidden">{{ this.spxTitle }}</div>
23
+ @if (this.spxSubtitle) {
24
+ <div class="text-sm opacity-70 text-ellipsis overflow-hidden">{{ this.spxSubtitle }}</div>
25
+ }
26
+ </div>
27
+ </div>
28
+ </button>`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxHomeTileComponent, decorators: [{
31
+ type: Component,
32
+ args: [{
33
+ selector: 'spx-home-tile',
34
+ standalone: true,
35
+ imports: [
36
+ NgClass
37
+ ],
38
+ template: `<button #button
39
+ class="border border-transparent flex flex-col w-full px-4 py-2 relative rounded text-center focus:outline-none focus:ring-2 focus:ring-offset-2"
40
+ type="button"
41
+ part="button"
42
+ [attr.autofocus]="this.spxAutofocus ? this.spxAutofocus : undefined"
43
+ [class.bg-blue-600]="!this.spxClass"
44
+ [class.focus:ring-blue-500]="!this.spxClass"
45
+ [class.hover:bg-blue-800]="!this.spxClass"
46
+ [class.text-white]="!this.spxClass"
47
+ [ngClass]="this.spxClass ? this.spxClass : undefined">
48
+ <div class="flex gap-5 items-center">
49
+ <div class="fal my-2 self-center text-xl w-5"><ng-content></ng-content></div>
50
+ <div class="grow flex flex-col text-left">
51
+ <div class="text-lg font-bold text-ellipsis overflow-hidden">{{ this.spxTitle }}</div>
52
+ @if (this.spxSubtitle) {
53
+ <div class="text-sm opacity-70 text-ellipsis overflow-hidden">{{ this.spxSubtitle }}</div>
54
+ }
55
+ </div>
56
+ </div>
57
+ </button>`,
58
+ }]
59
+ }], propDecorators: { spxAutofocus: [{
60
+ type: Input
61
+ }], spxClass: [{
62
+ type: Input
63
+ }], spxSubtitle: [{
64
+ type: Input
65
+ }], spxTitle: [{
66
+ type: Input
67
+ }], buttonRef: [{
68
+ type: ViewChild,
69
+ args: ['button']
70
+ }] } });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWhvbWUtdGlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LW5hdmlnYXRpb24vc3B4LWhvbWUtdGlsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUE2QnhFLE1BQU0sT0FBTyxvQkFBb0I7SUFPL0IsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3hDLENBQUM7K0dBVFUsb0JBQW9CO21HQUFwQixvQkFBb0IsZ1NBckJyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztZQW1CQSw0REFyQlIsT0FBTzs7NEZBdUJFLG9CQUFvQjtrQkEzQmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsT0FBTztxQkFDVjtvQkFDQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7WUFtQkE7aUJBQ1g7OEJBRVUsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDdUIsU0FBUztzQkFBckMsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LWhvbWUtdGlsZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzXG5dLFxuICB0ZW1wbGF0ZTogYDxidXR0b24gI2J1dHRvblxuICAgIGNsYXNzPVwiYm9yZGVyIGJvcmRlci10cmFuc3BhcmVudCBmbGV4IGZsZXgtY29sIHctZnVsbCBweC00IHB5LTIgcmVsYXRpdmUgcm91bmRlZCB0ZXh0LWNlbnRlciBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctb2Zmc2V0LTJcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIHBhcnQ9XCJidXR0b25cIlxuICAgIFthdHRyLmF1dG9mb2N1c109XCJ0aGlzLnNweEF1dG9mb2N1cyA/IHRoaXMuc3B4QXV0b2ZvY3VzIDogdW5kZWZpbmVkXCJcbiAgICBbY2xhc3MuYmctYmx1ZS02MDBdPVwiIXRoaXMuc3B4Q2xhc3NcIlxuICAgIFtjbGFzcy5mb2N1czpyaW5nLWJsdWUtNTAwXT1cIiF0aGlzLnNweENsYXNzXCJcbiAgICBbY2xhc3MuaG92ZXI6YmctYmx1ZS04MDBdPVwiIXRoaXMuc3B4Q2xhc3NcIlxuICAgIFtjbGFzcy50ZXh0LXdoaXRlXT1cIiF0aGlzLnNweENsYXNzXCJcbiAgICBbbmdDbGFzc109XCJ0aGlzLnNweENsYXNzID8gdGhpcy5zcHhDbGFzcyA6IHVuZGVmaW5lZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC01IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZhbCBteS0yIHNlbGYtY2VudGVyIHRleHQteGwgdy01XCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdyb3cgZmxleCBmbGV4LWNvbCB0ZXh0LWxlZnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbGcgZm9udC1ib2xkIHRleHQtZWxsaXBzaXMgb3ZlcmZsb3ctaGlkZGVuXCI+e3sgdGhpcy5zcHhUaXRsZSB9fTwvZGl2PlxuICAgICAgICBAaWYgKHRoaXMuc3B4U3VidGl0bGUpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbSBvcGFjaXR5LTcwIHRleHQtZWxsaXBzaXMgb3ZlcmZsb3ctaGlkZGVuXCI+e3sgdGhpcy5zcHhTdWJ0aXRsZSB9fTwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9idXR0b24+YCxcbn0pXG5leHBvcnQgY2xhc3MgU3B4SG9tZVRpbGVDb21wb25lbnQge1xuICBASW5wdXQoKSBzcHhBdXRvZm9jdXM/OiBib29sZWFuO1xuICBASW5wdXQoKSBzcHhDbGFzcz86IHN0cmluZztcbiAgQElucHV0KCkgc3B4U3VidGl0bGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNweFRpdGxlPzogc3RyaW5nO1xuICBAVmlld0NoaWxkKCdidXR0b24nKSBwcml2YXRlIGJ1dHRvblJlZj86IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG4gIHNldEZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuYnV0dG9uUmVmPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,24 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class SpxHomeTilesComponent {
4
+ constructor() {
5
+ this.spxCols = 2;
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxHomeTilesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpxHomeTilesComponent, isStandalone: true, selector: "spx-home-tiles", inputs: { spxCols: "spxCols" }, ngImport: i0, template: `<div class="mx-auto max-w-lg grid gap-3"
9
+ [class.grid-cols-1]="this.spxCols === 1"
10
+ [class.grid-cols-2]="this.spxCols === 2"><ng-content></ng-content></div>`, isInline: true }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxHomeTilesComponent, decorators: [{
13
+ type: Component,
14
+ args: [{
15
+ selector: 'spx-home-tiles',
16
+ standalone: true,
17
+ template: `<div class="mx-auto max-w-lg grid gap-3"
18
+ [class.grid-cols-1]="this.spxCols === 1"
19
+ [class.grid-cols-2]="this.spxCols === 2"><ng-content></ng-content></div>`,
20
+ }]
21
+ }], propDecorators: { spxCols: [{
22
+ type: Input
23
+ }] } });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWhvbWUtdGlsZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1uYXZpZ2F0aW9uL3NweC1ob21lLXRpbGVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTakQsTUFBTSxPQUFPLHFCQUFxQjtJQVBsQztRQVFXLFlBQU8sR0FBVSxDQUFDLENBQUM7S0FDN0I7K0dBRlkscUJBQXFCO21HQUFyQixxQkFBcUIsMEdBSnRCOzs2RUFFaUU7OzRGQUVoRSxxQkFBcUI7a0JBUGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7NkVBRWlFO2lCQUM1RTs4QkFFVSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC1ob21lLXRpbGVzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwibXgtYXV0byBtYXgtdy1sZyBncmlkIGdhcC0zXCJcbiAgICBbY2xhc3MuZ3JpZC1jb2xzLTFdPVwidGhpcy5zcHhDb2xzID09PSAxXCJcbiAgICBbY2xhc3MuZ3JpZC1jb2xzLTJdPVwidGhpcy5zcHhDb2xzID09PSAyXCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvZGl2PmAsXG59KVxuZXhwb3J0IGNsYXNzIFNweEhvbWVUaWxlc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNweENvbHM6IDEgfCAyID0gMjtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LW5hdmlnYXRpb24taXRlbS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LW5hdmlnYXRpb24vc3B4LW5hdmlnYXRpb24taXRlbS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEljb25EZWZpbml0aW9uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWNvbW1vbi10eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3B4TmF2aWdhdGlvbkl0ZW1JIHtcbiAgICBhY2Nlc3NLZXk/OiBzdHJpbmc7XG4gICAgYWNjZXNzS2V5SW50cm9kdWNlZEluUGF0Y2hlcz86IHsgcmVsZWFzZTogc3RyaW5nOyBwYXRjaEF0TGVhc3Q6IG51bWJlcjsgfVtdO1xuICAgIGF0dHJpYnV0ZXM/OiBvYmplY3Q7XG4gICAgY29kZTogc3RyaW5nO1xuICAgIGhhc1RhYj86IGJvb2xlYW47XG4gICAgaGFzVGlsZT86IGJvb2xlYW47XG4gICAgaWNvbjogSWNvbkRlZmluaXRpb247XG4gICAgaWNvblRhYj86IEljb25EZWZpbml0aW9uO1xuICAgIGljb25TaG9ydGN1dD86IEljb25EZWZpbml0aW9uO1xuICAgIHJvdXRlckxpbms6IHN0cmluZztcbiAgICBzaWduSW5SZXF1aXJlZD86IGJvb2xlYW47XG4gICAgdGlsZUNsYXNzZXM/OiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdWJ0aXRlPzogc3RyaW5nO1xuICAgIGN1cnJlbnRTZXR0aW5nc1JlcXVpcmVkPzogYm9vbGVhbjtcbn1cbiJdfQ==