@softpak/components 18.6.14 → 18.6.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/fesm2022/softpak-components-spx-alert.mjs +3 -3
  2. package/fesm2022/softpak-components-spx-alert.mjs.map +1 -1
  3. package/fesm2022/softpak-components-spx-app-configuration.mjs.map +1 -1
  4. package/fesm2022/softpak-components-spx-app-expiry.mjs +3 -3
  5. package/fesm2022/softpak-components-spx-app-expiry.mjs.map +1 -1
  6. package/fesm2022/softpak-components-spx-app-update.mjs +3 -3
  7. package/fesm2022/softpak-components-spx-app-update.mjs.map +1 -1
  8. package/fesm2022/softpak-components-spx-button.mjs +3 -3
  9. package/fesm2022/softpak-components-spx-button.mjs.map +1 -1
  10. package/fesm2022/softpak-components-spx-capitalize.mjs +3 -3
  11. package/fesm2022/softpak-components-spx-capitalize.mjs.map +1 -1
  12. package/fesm2022/softpak-components-spx-card.mjs +12 -12
  13. package/fesm2022/softpak-components-spx-card.mjs.map +1 -1
  14. package/fesm2022/softpak-components-spx-change-details.mjs +3 -3
  15. package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -1
  16. package/fesm2022/softpak-components-spx-channel-selection.mjs +6 -6
  17. package/fesm2022/softpak-components-spx-channel-selection.mjs.map +1 -1
  18. package/fesm2022/softpak-components-spx-check-digit.mjs +3 -3
  19. package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
  20. package/fesm2022/softpak-components-spx-form-section.mjs +3 -3
  21. package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -1
  22. package/fesm2022/softpak-components-spx-form-view.mjs +6 -6
  23. package/fesm2022/softpak-components-spx-form-view.mjs.map +1 -1
  24. package/fesm2022/softpak-components-spx-helpers.mjs.map +1 -1
  25. package/fesm2022/softpak-components-spx-inputs.mjs +30 -30
  26. package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
  27. package/fesm2022/softpak-components-spx-navigation.mjs +9 -9
  28. package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -1
  29. package/fesm2022/softpak-components-spx-number-check.mjs +3 -3
  30. package/fesm2022/softpak-components-spx-number-check.mjs.map +1 -1
  31. package/fesm2022/softpak-components-spx-pagination.mjs +3 -3
  32. package/fesm2022/softpak-components-spx-pagination.mjs.map +1 -1
  33. package/fesm2022/softpak-components-spx-patch.mjs +3 -3
  34. package/fesm2022/softpak-components-spx-patch.mjs.map +1 -1
  35. package/fesm2022/softpak-components-spx-progress-bar.mjs +3 -3
  36. package/fesm2022/softpak-components-spx-progress-bar.mjs.map +1 -1
  37. package/fesm2022/softpak-components-spx-spinner.mjs +3 -3
  38. package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -1
  39. package/fesm2022/softpak-components-spx-stock-info.mjs +3 -3
  40. package/fesm2022/softpak-components-spx-stock-info.mjs.map +1 -1
  41. package/fesm2022/softpak-components-spx-storage.mjs.map +1 -1
  42. package/fesm2022/softpak-components-spx-suggestion.mjs +3 -3
  43. package/fesm2022/softpak-components-spx-suggestion.mjs.map +1 -1
  44. package/fesm2022/softpak-components-spx-toaster.mjs +4 -4
  45. package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -1
  46. package/fesm2022/softpak-components-spx-update.mjs +6 -6
  47. package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
  48. package/fesm2022/softpak-components-spx-validation.mjs +3 -3
  49. package/fesm2022/softpak-components-spx-validation.mjs.map +1 -1
  50. package/package.json +31 -85
  51. package/spx-alert/spx-alert.component.d.ts +4 -4
  52. package/spx-inputs/spx-input-box.component.d.ts +4 -4
  53. package/spx-inputs/spx-input-time-modal.component.d.ts +1 -1
  54. package/tailwind.css +1 -1
  55. package/esm2022/placeholder.mjs +0 -2
  56. package/esm2022/public_api.mjs +0 -2
  57. package/esm2022/softpak-components.mjs +0 -5
  58. package/esm2022/spx-alert/public-api.mjs +0 -3
  59. package/esm2022/spx-alert/softpak-components-spx-alert.mjs +0 -5
  60. package/esm2022/spx-alert/spx-alert.component.mjs +0 -203
  61. package/esm2022/spx-alert/spx-alert.interface.mjs +0 -3
  62. package/esm2022/spx-app-configuration/public-api.mjs +0 -8
  63. package/esm2022/spx-app-configuration/softpak-components-spx-app-configuration.mjs +0 -5
  64. package/esm2022/spx-app-configuration/spx-app-alert.interface.mjs +0 -2
  65. package/esm2022/spx-app-configuration/spx-app-bundle-set.interface.mjs +0 -2
  66. package/esm2022/spx-app-configuration/spx-app-channel-type.enum.mjs +0 -8
  67. package/esm2022/spx-app-configuration/spx-app-channel.interface.mjs +0 -2
  68. package/esm2022/spx-app-configuration/spx-app-config.interface.mjs +0 -2
  69. package/esm2022/spx-app-configuration/spx-app-id.enum.mjs +0 -8
  70. package/esm2022/spx-app-configuration/spx-app-lang.enum.mjs +0 -6
  71. package/esm2022/spx-app-configuration/spx-app-release-note.interface.mjs +0 -2
  72. package/esm2022/spx-app-expiry/public-api.mjs +0 -6
  73. package/esm2022/spx-app-expiry/softpak-components-spx-app-expiry.mjs +0 -5
  74. package/esm2022/spx-app-expiry/spx-app-expiry.component.mjs +0 -107
  75. package/esm2022/spx-app-expiry/spx-app-expiry.interface.mjs +0 -2
  76. package/esm2022/spx-app-expiry/spx-check-expiry-final-warning.interface.mjs +0 -5
  77. package/esm2022/spx-app-expiry/spx-check-expiry-happened.interface.mjs +0 -5
  78. package/esm2022/spx-app-expiry/spx-check-expiry-warning.interface.mjs +0 -5
  79. package/esm2022/spx-app-update/public-api.mjs +0 -2
  80. package/esm2022/spx-app-update/softpak-components-spx-app-update.mjs +0 -5
  81. package/esm2022/spx-app-update/spx-app-update.component.mjs +0 -320
  82. package/esm2022/spx-button/public-api.mjs +0 -2
  83. package/esm2022/spx-button/softpak-components-spx-button.mjs +0 -5
  84. package/esm2022/spx-button/spx-button.component.mjs +0 -142
  85. package/esm2022/spx-capitalize/public-api.mjs +0 -2
  86. package/esm2022/spx-capitalize/softpak-components-spx-capitalize.mjs +0 -5
  87. package/esm2022/spx-capitalize/spx-capitalize.pipe.mjs +0 -20
  88. package/esm2022/spx-card/public-api.mjs +0 -5
  89. package/esm2022/spx-card/softpak-components-spx-card.mjs +0 -5
  90. package/esm2022/spx-card/spx-card-grid.component.mjs +0 -46
  91. package/esm2022/spx-card/spx-card-item.component.mjs +0 -117
  92. package/esm2022/spx-card/spx-card-line.component.mjs +0 -124
  93. package/esm2022/spx-card/spx-card.component.mjs +0 -96
  94. package/esm2022/spx-change-details/public-api.mjs +0 -2
  95. package/esm2022/spx-change-details/softpak-components-spx-change-details.mjs +0 -5
  96. package/esm2022/spx-change-details/spx-change-details-value.interface.mjs +0 -2
  97. package/esm2022/spx-change-details/spx-change-details.component.mjs +0 -197
  98. package/esm2022/spx-channel-selection/public-api.mjs +0 -3
  99. package/esm2022/spx-channel-selection/softpak-components-spx-channel-selection.mjs +0 -5
  100. package/esm2022/spx-channel-selection/src/spx-channel-indicator.component.mjs +0 -45
  101. package/esm2022/spx-channel-selection/src/spx-welcome.component.mjs +0 -132
  102. package/esm2022/spx-check-digit/public-api.mjs +0 -2
  103. package/esm2022/spx-check-digit/softpak-components-spx-check-digit.mjs +0 -5
  104. package/esm2022/spx-check-digit/spx-check-digit.component.mjs +0 -91
  105. package/esm2022/spx-form-section/public-api.mjs +0 -2
  106. package/esm2022/spx-form-section/softpak-components-spx-form-section.mjs +0 -5
  107. package/esm2022/spx-form-section/spx-form-section.component.mjs +0 -42
  108. package/esm2022/spx-form-view/public-api.mjs +0 -7
  109. package/esm2022/spx-form-view/softpak-components-spx-form-view.mjs +0 -5
  110. package/esm2022/spx-form-view/spx-autocomplete-search.component.mjs +0 -117
  111. package/esm2022/spx-form-view/spx-form-button-type.enum.mjs +0 -6
  112. package/esm2022/spx-form-view/spx-form-button.interface.mjs +0 -2
  113. package/esm2022/spx-form-view/spx-form-field.interface.mjs +0 -2
  114. package/esm2022/spx-form-view/spx-form-section.interface.mjs +0 -2
  115. package/esm2022/spx-form-view/spx-form-view.component.mjs +0 -297
  116. package/esm2022/spx-form-view/spx-form.interface.mjs +0 -2
  117. package/esm2022/spx-helpers/calc-check-digit.function.mjs +0 -21
  118. package/esm2022/spx-helpers/input-alert.interface.mjs +0 -2
  119. package/esm2022/spx-helpers/public-api.mjs +0 -5
  120. package/esm2022/spx-helpers/softpak-components-spx-helpers.mjs +0 -5
  121. package/esm2022/spx-helpers/spx-severity.enum.mjs +0 -10
  122. package/esm2022/spx-helpers/value-pair-to-value.function.mjs +0 -7
  123. package/esm2022/spx-inputs/public-api.mjs +0 -6
  124. package/esm2022/spx-inputs/softpak-components-spx-inputs.mjs +0 -5
  125. package/esm2022/spx-inputs/spx-dropdown.component.mjs +0 -93
  126. package/esm2022/spx-inputs/spx-input-box.component.mjs +0 -303
  127. package/esm2022/spx-inputs/spx-input-date/spx-input-date.component.mjs +0 -194
  128. package/esm2022/spx-inputs/spx-input-float.component.mjs +0 -157
  129. package/esm2022/spx-inputs/spx-input-number.component.mjs +0 -87
  130. package/esm2022/spx-inputs/spx-input-radio.component.mjs +0 -129
  131. package/esm2022/spx-inputs/spx-input-text.component.mjs +0 -160
  132. package/esm2022/spx-inputs/spx-input-time-modal.component.mjs +0 -129
  133. package/esm2022/spx-inputs/spx-input-time.component.mjs +0 -163
  134. package/esm2022/spx-inputs/spx-input-type.enum.mjs +0 -17
  135. package/esm2022/spx-inputs/spx-input.component.mjs +0 -465
  136. package/esm2022/spx-inputs/spx-value-interface.mjs +0 -2
  137. package/esm2022/spx-navigation/public-api.mjs +0 -5
  138. package/esm2022/spx-navigation/softpak-components-spx-navigation.mjs +0 -5
  139. package/esm2022/spx-navigation/spx-home-tile.component.mjs +0 -71
  140. package/esm2022/spx-navigation/spx-home-tiles.component.mjs +0 -24
  141. package/esm2022/spx-navigation/spx-navigation-item.interface.mjs +0 -2
  142. package/esm2022/spx-navigation/spx-navigation.component.mjs +0 -47
  143. package/esm2022/spx-number-check/public-api.mjs +0 -2
  144. package/esm2022/spx-number-check/softpak-components-spx-number-check.mjs +0 -5
  145. package/esm2022/spx-number-check/spx-number-check.component.mjs +0 -265
  146. package/esm2022/spx-pagination/public-api.mjs +0 -2
  147. package/esm2022/spx-pagination/softpak-components-spx-pagination.mjs +0 -5
  148. package/esm2022/spx-pagination/spx-pagination.component.mjs +0 -44
  149. package/esm2022/spx-patch/patch-check.function.mjs +0 -9
  150. package/esm2022/spx-patch/public-api.mjs +0 -4
  151. package/esm2022/spx-patch/release-check.function.mjs +0 -14
  152. package/esm2022/spx-patch/softpak-components-spx-patch.mjs +0 -5
  153. package/esm2022/spx-patch/spx-patch.component.mjs +0 -54
  154. package/esm2022/spx-progress-bar/public-api.mjs +0 -2
  155. package/esm2022/spx-progress-bar/softpak-components-spx-progress-bar.mjs +0 -5
  156. package/esm2022/spx-progress-bar/spx-progress-bar.component.mjs +0 -29
  157. package/esm2022/spx-spinner/public-api.mjs +0 -2
  158. package/esm2022/spx-spinner/softpak-components-spx-spinner.mjs +0 -5
  159. package/esm2022/spx-spinner/spx-spinner.component.mjs +0 -160
  160. package/esm2022/spx-stock-info/public-api.mjs +0 -3
  161. package/esm2022/spx-stock-info/softpak-components-spx-stock-info.mjs +0 -5
  162. package/esm2022/spx-stock-info/spx-stock-info-value.interface.mjs +0 -2
  163. package/esm2022/spx-stock-info/spx-stock-info.component.mjs +0 -324
  164. package/esm2022/spx-storage/public-api.mjs +0 -3
  165. package/esm2022/spx-storage/softpak-components-spx-storage.mjs +0 -5
  166. package/esm2022/spx-storage/src/spx-storage-key.enum.mjs +0 -13
  167. package/esm2022/spx-storage/src/spx-storage.class.mjs +0 -45
  168. package/esm2022/spx-suggestion/public-api.mjs +0 -2
  169. package/esm2022/spx-suggestion/softpak-components-spx-suggestion.mjs +0 -5
  170. package/esm2022/spx-suggestion/spx-suggestion.component.mjs +0 -61
  171. package/esm2022/spx-toaster/public-api.mjs +0 -4
  172. package/esm2022/spx-toaster/softpak-components-spx-toaster.mjs +0 -5
  173. package/esm2022/spx-toaster/src/spx-toaster-autoclose-speed.mjs +0 -23
  174. package/esm2022/spx-toaster/src/spx-toaster-message.interface.mjs +0 -3
  175. package/esm2022/spx-toaster/src/spx-toaster.component.mjs +0 -168
  176. package/esm2022/spx-update/public-api.mjs +0 -3
  177. package/esm2022/spx-update/softpak-components-spx-update.mjs +0 -5
  178. package/esm2022/spx-update/src/spx-update-info.component.mjs +0 -86
  179. package/esm2022/spx-update/src/spx-update-progress.component.mjs +0 -46
  180. package/esm2022/spx-validation/max.validator.mjs +0 -17
  181. package/esm2022/spx-validation/maxlength.validator.mjs +0 -20
  182. package/esm2022/spx-validation/min.validator.mjs +0 -17
  183. package/esm2022/spx-validation/minlength.validator.mjs +0 -20
  184. package/esm2022/spx-validation/pattern.validator.mjs +0 -12
  185. package/esm2022/spx-validation/public-api.mjs +0 -9
  186. package/esm2022/spx-validation/required.validator.mjs +0 -12
  187. package/esm2022/spx-validation/softpak-components-spx-validation.mjs +0 -5
  188. package/esm2022/spx-validation/spx-validate-control.component.mjs +0 -65
  189. package/esm2022/spx-validation/year-and-month.validator.mjs +0 -42
@@ -1,42 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class SpxFormSectionComponent {
4
- constructor() {
5
- this.spxShowTitle = true;
6
- }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxFormSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SpxFormSectionComponent, isStandalone: true, selector: "spx-form-section", inputs: { spxIndex: "spxIndex", spxIndexSecondary: "spxIndexSecondary", spxTitle: "spxTitle", spxShowTitle: "spxShowTitle" }, ngImport: i0, template: `@if (this.spxShowTitle) {
9
- <div class="spx-form-section__title mb-3 flex gap-3 items-center">
10
- <div class="spx-form-section__title-index flex content-center text-center text-sm h-[30px] w-[30px] font-bold rounded">{{this.spxIndex}}@if (this.spxIndexSecondary) {
11
- {{ this.spxIndexSecondary }}
12
- }</div>
13
- <div class="spx-form-section__content font-bold grow text-black dark:text-white">{{this.spxTitle}}</div>
14
- </div>
15
- }
16
- <div class="flex flex-col gap-3">
17
- <ng-content></ng-content>
18
- </div>`, isInline: true, styles: [":host{display:block}.spx-form-section__title-index{background-color:#000;display:inline-block;vertical-align:middle}.spx-form-section__title{color:var(--spx-form-section--color, #FFFFFF)}.spx-form-section__content{color:#000}@media (prefers-color-scheme: dark){.spx-form-section__title-index{background-color:var(--spx-form-section--color, #FFFFFF);color:#000}.spx-form-section__content{color:var(--spx-form-section--color, #FFFFFF)}}\n"] }); }
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxFormSectionComponent, decorators: [{
21
- type: Component,
22
- args: [{ selector: 'spx-form-section', standalone: true, imports: [], template: `@if (this.spxShowTitle) {
23
- <div class="spx-form-section__title mb-3 flex gap-3 items-center">
24
- <div class="spx-form-section__title-index flex content-center text-center text-sm h-[30px] w-[30px] font-bold rounded">{{this.spxIndex}}@if (this.spxIndexSecondary) {
25
- {{ this.spxIndexSecondary }}
26
- }</div>
27
- <div class="spx-form-section__content font-bold grow text-black dark:text-white">{{this.spxTitle}}</div>
28
- </div>
29
- }
30
- <div class="flex flex-col gap-3">
31
- <ng-content></ng-content>
32
- </div>`, styles: [":host{display:block}.spx-form-section__title-index{background-color:#000;display:inline-block;vertical-align:middle}.spx-form-section__title{color:var(--spx-form-section--color, #FFFFFF)}.spx-form-section__content{color:#000}@media (prefers-color-scheme: dark){.spx-form-section__title-index{background-color:var(--spx-form-section--color, #FFFFFF);color:#000}.spx-form-section__content{color:var(--spx-form-section--color, #FFFFFF)}}\n"] }]
33
- }], propDecorators: { spxIndex: [{
34
- type: Input
35
- }], spxIndexSecondary: [{
36
- type: Input
37
- }], spxTitle: [{
38
- type: Input
39
- }], spxShowTitle: [{
40
- type: Input
41
- }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWZvcm0tc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWZvcm0tc2VjdGlvbi9zcHgtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFnRGpELE1BQU0sT0FBTyx1QkFBdUI7SUE5Q3BDO1FBa0RXLGlCQUFZLEdBQUcsSUFBSSxDQUFDO0tBQzlCOytHQUxZLHVCQUF1QjttR0FBdkIsdUJBQXVCLDBNQTFDeEI7Ozs7Ozs7Ozs7T0FVTDs7NEZBZ0NNLHVCQUF1QjtrQkE5Q25DLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxFQUFFLFlBQ0Q7Ozs7Ozs7Ozs7T0FVTDs4QkFpQ0ksUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3B4LWZvcm0tc2VjdGlvbicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXSxcclxuICB0ZW1wbGF0ZTogYEBpZiAodGhpcy5zcHhTaG93VGl0bGUpIHtcclxuICA8ZGl2IGNsYXNzPVwic3B4LWZvcm0tc2VjdGlvbl9fdGl0bGUgbWItMyBmbGV4IGdhcC0zIGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNweC1mb3JtLXNlY3Rpb25fX3RpdGxlLWluZGV4IGZsZXggY29udGVudC1jZW50ZXIgdGV4dC1jZW50ZXIgdGV4dC1zbSBoLVszMHB4XSB3LVszMHB4XSBmb250LWJvbGQgcm91bmRlZFwiPnt7dGhpcy5zcHhJbmRleH19QGlmICh0aGlzLnNweEluZGV4U2Vjb25kYXJ5KSB7XHJcbiAgICAgIHt7IHRoaXMuc3B4SW5kZXhTZWNvbmRhcnkgfX1cclxuICAgIH08L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJzcHgtZm9ybS1zZWN0aW9uX19jb250ZW50IGZvbnQtYm9sZCBncm93IHRleHQtYmxhY2sgZGFyazp0ZXh0LXdoaXRlXCI+e3t0aGlzLnNweFRpdGxlfX08L2Rpdj5cclxuICA8L2Rpdj5cclxufVxyXG48ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtM1wiPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9kaXY+YCxcclxuICBzdHlsZXM6IGBcclxuICA6aG9zdCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbiAgXHJcbiAgLnNweC1mb3JtLXNlY3Rpb25fX3RpdGxlLWluZGV4IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIH1cclxuXHJcbiAgLnNweC1mb3JtLXNlY3Rpb25fX3RpdGxlIHtcclxuICAgIGNvbG9yOiB2YXIoLS1zcHgtZm9ybS1zZWN0aW9uLS1jb2xvciwgI0ZGRkZGRik7XHJcbiAgfVxyXG5cclxuICAuc3B4LWZvcm0tc2VjdGlvbl9fY29udGVudCB7XHJcbiAgICBjb2xvcjogIzAwMDAwMDtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcclxuICAgIC5zcHgtZm9ybS1zZWN0aW9uX190aXRsZS1pbmRleCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNweC1mb3JtLXNlY3Rpb24tLWNvbG9yLCAjRkZGRkZGKTtcclxuICAgICAgY29sb3I6ICMwMDAwMDA7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5zcHgtZm9ybS1zZWN0aW9uX19jb250ZW50IHtcclxuICAgICAgY29sb3I6IHZhcigtLXNweC1mb3JtLXNlY3Rpb24tLWNvbG9yLCAjRkZGRkZGKTtcclxuICAgIH1cclxufVxyXG4gIGAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcHhGb3JtU2VjdGlvbkNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgc3B4SW5kZXg/OiBudW1iZXI7XHJcbiAgQElucHV0KCkgc3B4SW5kZXhTZWNvbmRhcnk/OiBudW1iZXI7XHJcbiAgQElucHV0KCkgc3B4VGl0bGU/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc3B4U2hvd1RpdGxlID0gdHJ1ZTtcclxufVxyXG4iXX0=
@@ -1,7 +0,0 @@
1
- export * from './spx-form-button-type.enum';
2
- export * from './spx-form-button.interface';
3
- export * from './spx-form-field.interface';
4
- export * from './spx-form-section.interface';
5
- export * from './spx-form-view.component';
6
- export * from './spx-form.interface';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtZm9ybS12aWV3L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NweC1mb3JtLWJ1dHRvbi10eXBlLmVudW0nO1xyXG5leHBvcnQgKiBmcm9tICcuL3NweC1mb3JtLWJ1dHRvbi5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NweC1mb3JtLWZpZWxkLmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3B4LWZvcm0tc2VjdGlvbi5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NweC1mb3JtLXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zcHgtZm9ybS5pbnRlcmZhY2UnO1xyXG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdHBhay1jb21wb25lbnRzLXNweC1mb3JtLXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWZvcm0tdmlldy9zb2Z0cGFrLWNvbXBvbmVudHMtc3B4LWZvcm0tdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,117 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
3
- import { debounceTime } from 'rxjs';
4
- import { SpxInputComponent, SpxInputTypeEnum } from '@softpak/components/spx-inputs';
5
- import { SpxButtonComponent } from '@softpak/components/spx-button';
6
- import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
7
- import { SpxValidateControlComponent } from '@softpak/components/spx-validation';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/forms";
10
- export const sectionAutocompleteSearch = 'autocompleteSearch';
11
- export const ctrlQuery = 'query';
12
- export const ctrlOptions = 'options';
13
- export class SpxAutocompleteSearchComponent {
14
- get ctrlQuery() { return this.formGroup.get(ctrlQuery); }
15
- get ctrlOptions() { return this.formGroup.get(ctrlOptions); }
16
- constructor(formBuilder) {
17
- this.formBuilder = formBuilder;
18
- this.spxSuggestions = [];
19
- this.spxCancel = new EventEmitter();
20
- this.spxSearch = new EventEmitter();
21
- this.spxSubmit = new EventEmitter();
22
- this.inputTypeRadio = SpxInputTypeEnum.radio;
23
- this.inputTypeText = SpxInputTypeEnum.text;
24
- this.severityError = SpxSeverityEnum.error;
25
- this.severitySuccess = SpxSeverityEnum.success;
26
- this.sections = [
27
- {
28
- key: sectionAutocompleteSearch,
29
- showTitle: () => false,
30
- fields: [
31
- {
32
- key: ctrlQuery,
33
- type: () => SpxInputTypeEnum.text,
34
- label: () => this.txtQuery,
35
- capitalize: () => true,
36
- },
37
- {
38
- key: ctrlOptions,
39
- type: () => SpxInputTypeEnum.radio,
40
- label: () => this.txtOptions,
41
- },
42
- ]
43
- }
44
- ];
45
- this.createForm();
46
- }
47
- ngOnInit() {
48
- this.listenToSelection();
49
- this.listenToQuery();
50
- this.ctrlQuery.setValue(this.spxValuePair, { emitEvent: false });
51
- this.spxSearch.emit(this.spxValuePair);
52
- }
53
- ngOnDestroy() {
54
- if (this.subSelection) {
55
- this.subSelection.unsubscribe();
56
- }
57
- if (this.subQuery) {
58
- this.subQuery.unsubscribe();
59
- }
60
- }
61
- createForm() {
62
- this.formGroup = this.formBuilder.group({
63
- [ctrlQuery]: [null],
64
- [ctrlOptions]: [null],
65
- });
66
- }
67
- getRawValidators(formControl) {
68
- return formControl._rawValidators;
69
- }
70
- onCancel() {
71
- this.spxCancel.emit();
72
- }
73
- onSubmit() {
74
- this.spxSubmit.emit(this.ctrlQuery.value);
75
- }
76
- listenToQuery() {
77
- this.subQuery = this.ctrlQuery.valueChanges.pipe(debounceTime(500)).subscribe(valuePair => {
78
- this.spxSearch.emit(valuePair);
79
- });
80
- }
81
- listenToSelection() {
82
- this.subSelection = this.ctrlOptions.valueChanges.subscribe(valuePair => {
83
- this.ctrlQuery.setValue(valuePair);
84
- });
85
- }
86
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxAutocompleteSearchComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
87
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpxAutocompleteSearchComponent, isStandalone: true, selector: "spx-autocomplete-search", inputs: { spxSuggestions: "spxSuggestions", spxField: "spxField", txtOptions: "txtOptions", txtQuery: "txtQuery", txtSubmit: "txtSubmit", spxValuePair: "spxValuePair" }, outputs: { spxCancel: "spxCancel", spxSearch: "spxSearch", spxSubmit: "spxSubmit" }, ngImport: i0, template: "<form class=\"bg-black fixed pt-16 z-50 top-0 left-0 right-0 bottom-0\" [formGroup]=\"formGroup\" (ngSubmit)=\"onSubmit()\">\r\n <div class=\"h-full w-full px-3 flex flex-col gap-3\">\r\n <div class=\"grow flex flex-col gap-3 overflow-y-auto\">\r\n <spx-input [formControl]=\"ctrlQuery\" [spxLabel]=\"txtQuery\" [spxType]=\"inputTypeText\">\r\n </spx-input>\r\n <spx-input [formControl]=\"ctrlOptions\" [spxLabel]=\"txtOptions\" [spxSuggestions]=\"spxSuggestions\"\r\n [spxType]=\"inputTypeRadio\">\r\n </spx-input>\r\n </div>\r\n <div class=\"py-3 flex flex-col gap-3\">\r\n <spx-button [spxFullWidth]=\"true\" [spxSeverity]=\"severitySuccess\">\r\n Save\r\n </spx-button>\r\n <spx-button [spxFullWidth]=\"true\" [spxSeverity]=\"severityError\" [spxType]=\"'button'\" (spxClick)=\"onCancel()\">\r\n Cancel\r\n </spx-button>\r\n </div>\r\n </div>\r\n</form>", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: SpxButtonComponent, selector: "spx-button", inputs: ["spxDisabled", "spxClass", "spxClassObject", "spxForm", "spxFullHeight", "spxFullWidth", "spxSeverity", "spxSize", "spxTabIndex", "spxType"], outputs: ["spxClick"] }, { kind: "component", type: SpxInputComponent, selector: "spx-input", inputs: ["spxLabel", "spxMax", "spxMin", "spxName", "spxReadonly", "spxAutocomplete", "spxAutofocus", "spxInputMode", "spxPattern", "spxRequired", "spxSelectMonth", "spxSelectDay", "spxShowEdit", "spxShowHelp", "spxShowLabel", "spxCompact", "spxShowClear", "spxShowSearch", "spxAlert", "spxShowValidationMessages", "spxStep", "spxSuggestions", "spxType", "spxValidators", "value", "spxCapitalize", "spxFocused"], outputs: ["spxBlur", "spxClear", "spxChange", "spxFocus", "spxEdit", "spxHelp", "spxSearch"] }] }); }
88
- }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxAutocompleteSearchComponent, decorators: [{
90
- type: Component,
91
- args: [{ selector: 'spx-autocomplete-search', standalone: true, imports: [
92
- FormsModule,
93
- ReactiveFormsModule,
94
- SpxButtonComponent,
95
- SpxInputComponent,
96
- SpxValidateControlComponent
97
- ], template: "<form class=\"bg-black fixed pt-16 z-50 top-0 left-0 right-0 bottom-0\" [formGroup]=\"formGroup\" (ngSubmit)=\"onSubmit()\">\r\n <div class=\"h-full w-full px-3 flex flex-col gap-3\">\r\n <div class=\"grow flex flex-col gap-3 overflow-y-auto\">\r\n <spx-input [formControl]=\"ctrlQuery\" [spxLabel]=\"txtQuery\" [spxType]=\"inputTypeText\">\r\n </spx-input>\r\n <spx-input [formControl]=\"ctrlOptions\" [spxLabel]=\"txtOptions\" [spxSuggestions]=\"spxSuggestions\"\r\n [spxType]=\"inputTypeRadio\">\r\n </spx-input>\r\n </div>\r\n <div class=\"py-3 flex flex-col gap-3\">\r\n <spx-button [spxFullWidth]=\"true\" [spxSeverity]=\"severitySuccess\">\r\n Save\r\n </spx-button>\r\n <spx-button [spxFullWidth]=\"true\" [spxSeverity]=\"severityError\" [spxType]=\"'button'\" (spxClick)=\"onCancel()\">\r\n Cancel\r\n </spx-button>\r\n </div>\r\n </div>\r\n</form>" }]
98
- }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { spxSuggestions: [{
99
- type: Input
100
- }], spxField: [{
101
- type: Input
102
- }], txtOptions: [{
103
- type: Input
104
- }], txtQuery: [{
105
- type: Input
106
- }], txtSubmit: [{
107
- type: Input
108
- }], spxValuePair: [{
109
- type: Input
110
- }], spxCancel: [{
111
- type: Output
112
- }], spxSearch: [{
113
- type: Output
114
- }], spxSubmit: [{
115
- type: Output
116
- }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWF1dG9jb21wbGV0ZS1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1mb3JtLXZpZXcvc3B4LWF1dG9jb21wbGV0ZS1zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1mb3JtLXZpZXcvc3B4LWF1dG9jb21wbGV0ZS1zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUF1QyxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RyxPQUFPLEVBQWdCLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR2xFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFFakYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsb0JBQW9CLENBQUM7QUFDOUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQztBQUNqQyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDO0FBY3JDLE1BQU0sT0FBTyw4QkFBOEI7SUFvQ3pDLElBQUksU0FBUyxLQUFrQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBZ0IsQ0FBQyxDQUFDLENBQUM7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QUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDeEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3RFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0EzRlUsOEJBQThCO21HQUE5Qiw4QkFBOEIsa1ZDM0IzQyxzNkJBa0JPLDJDREVILFdBQVcsMllBQ1gsbUJBQW1CLG1XQUNuQixrQkFBa0IscU9BQ2xCLGlCQUFpQjs7NEZBSVIsOEJBQThCO2tCQVoxQyxTQUFTOytCQUNFLHlCQUF5QixjQUV2QixJQUFJLFdBQ1A7d0JBQ1AsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQiwyQkFBMkI7cUJBQzlCO2dGQUlVLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IFNweElucHV0Q29tcG9uZW50LCBTcHhJbnB1dFR5cGVFbnVtLCBTcHhWYWx1ZVBhaXIgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMnO1xyXG5pbXBvcnQgeyBTcHhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1idXR0b24nO1xyXG5pbXBvcnQgeyBTcHhTZXZlcml0eUVudW0gfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzJztcclxuaW1wb3J0IHsgU3B4Rm9ybUZpZWxkSSB9IGZyb20gJy4vc3B4LWZvcm0tZmllbGQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgU3B4Rm9ybVNlY3Rpb25JIH0gZnJvbSAnLi9zcHgtZm9ybS1zZWN0aW9uLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFNweFZhbGlkYXRlQ29udHJvbENvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LXZhbGlkYXRpb24nO1xyXG5cclxuZXhwb3J0IGNvbnN0IHNlY3Rpb25BdXRvY29tcGxldGVTZWFyY2ggPSAnYXV0b2NvbXBsZXRlU2VhcmNoJztcclxuZXhwb3J0IGNvbnN0IGN0cmxRdWVyeSA9ICdxdWVyeSc7XHJcbmV4cG9ydCBjb25zdCBjdHJsT3B0aW9ucyA9ICdvcHRpb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3B4LWF1dG9jb21wbGV0ZS1zZWFyY2gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zcHgtYXV0b2NvbXBsZXRlLXNlYXJjaC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBTcHhCdXR0b25Db21wb25lbnQsXHJcbiAgICBTcHhJbnB1dENvbXBvbmVudCxcclxuICAgIFNweFZhbGlkYXRlQ29udHJvbENvbXBvbmVudFxyXG5dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcHhBdXRvY29tcGxldGVTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIHNweFN1Z2dlc3Rpb25zOiBTcHhWYWx1ZVBhaXI8YW55PltdID0gW107XHJcbiAgQElucHV0KCkgc3B4RmllbGQhOiBTcHhGb3JtRmllbGRJO1xyXG4gIEBJbnB1dCgpIHR4dE9wdGlvbnMhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdHh0UXVlcnkhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdHh0U3VibWl0ITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNweFZhbHVlUGFpciE6IFNweFZhbHVlUGFpcjxhbnk+O1xyXG4gIEBPdXRwdXQoKSBzcHhDYW5jZWw6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAT3V0cHV0KCkgc3B4U2VhcmNoOiBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPGFueT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8YW55Pj4oKTsgXHJcbiAgQE91dHB1dCgpIHNweFN1Ym1pdDogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPGFueT4+KCk7XHJcbiAgaW5wdXRUeXBlUmFkaW8gPSBTcHhJbnB1dFR5cGVFbnVtLnJhZGlvO1xyXG4gIGlucHV0VHlwZVRleHQgPSBTcHhJbnB1dFR5cGVFbnVtLnRleHQ7XHJcbiAgc2V2ZXJpdHlFcnJvciA9IFNweFNldmVyaXR5RW51bS5lcnJvcjtcclxuICBzZXZlcml0eVN1Y2Nlc3MgPSBTcHhTZXZlcml0eUVudW0uc3VjY2VzcztcclxuIFxyXG4gIHNlY3Rpb25zOiBTcHhGb3JtU2VjdGlvbklbXSA9IFtcclxuICAgIHtcclxuICAgICAga2V5OiBzZWN0aW9uQXV0b2NvbXBsZXRlU2VhcmNoLFxyXG4gICAgICBzaG93VGl0bGU6ICgpID0+IGZhbHNlLFxyXG4gICAgICBmaWVsZHM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBrZXk6IGN0cmxRdWVyeSxcclxuICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0udGV4dCxcclxuICAgICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnR4dFF1ZXJ5LFxyXG4gICAgICAgICAgY2FwaXRhbGl6ZTogKCkgPT4gdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGtleTogY3RybE9wdGlvbnMsXHJcbiAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLnJhZGlvLFxyXG4gICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudHh0T3B0aW9ucyxcclxuICAgICAgICB9LFxyXG4gICAgICBdXHJcbiAgICB9XHJcbiAgXTtcclxuXHJcbiAgZ2V0IGN0cmxRdWVyeSgpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybFF1ZXJ5KSBhcyBGb3JtQ29udHJvbDsgfVxyXG4gIGdldCBjdHJsT3B0aW9ucygpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybE9wdGlvbnMpIGFzIEZvcm1Db250cm9sOyB9XHJcblxyXG4gIHByaXZhdGUgc3ViU2VsZWN0aW9uPzogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgc3ViUXVlcnk/OiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcikge1xyXG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubGlzdGVuVG9TZWxlY3Rpb24oKTtcclxuICAgIHRoaXMubGlzdGVuVG9RdWVyeSgpO1xyXG4gICAgdGhpcy5jdHJsUXVlcnkuc2V0VmFsdWUodGhpcy5zcHhWYWx1ZVBhaXIsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIHRoaXMuc3B4U2VhcmNoLmVtaXQodGhpcy5zcHhWYWx1ZVBhaXIpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zdWJTZWxlY3Rpb24pIHtcclxuICAgICAgdGhpcy5zdWJTZWxlY3Rpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnN1YlF1ZXJ5KSB7XHJcbiAgICAgIHRoaXMuc3ViUXVlcnkudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgIFtjdHJsUXVlcnldOiBbbnVsbF0sXHJcbiAgICAgIFtjdHJsT3B0aW9uc106IFtudWxsXSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0UmF3VmFsaWRhdG9ycyhmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wpIHtcclxuICAgIHJldHVybiAoZm9ybUNvbnRyb2wgYXMgYW55KS5fcmF3VmFsaWRhdG9ycztcclxuICB9XHJcblxyXG4gIG9uQ2FuY2VsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zcHhDYW5jZWwuZW1pdCgpO1xyXG4gIH1cclxuICBcclxuICBvblN1Ym1pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3B4U3VibWl0LmVtaXQodGhpcy5jdHJsUXVlcnkudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsaXN0ZW5Ub1F1ZXJ5KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJRdWVyeSA9IHRoaXMuY3RybFF1ZXJ5LnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSg1MDApKS5zdWJzY3JpYmUodmFsdWVQYWlyID0+IHtcclxuICAgICAgdGhpcy5zcHhTZWFyY2guZW1pdCh2YWx1ZVBhaXIpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxpc3RlblRvU2VsZWN0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJTZWxlY3Rpb24gPSB0aGlzLmN0cmxPcHRpb25zLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWVQYWlyID0+IHtcclxuICAgICAgdGhpcy5jdHJsUXVlcnkuc2V0VmFsdWUodmFsdWVQYWlyKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBjbGFzcz1cImJnLWJsYWNrIGZpeGVkIHB0LTE2IHotNTAgdG9wLTAgbGVmdC0wIHJpZ2h0LTAgYm90dG9tLTBcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgpXCI+XHJcbiAgPGRpdiBjbGFzcz1cImgtZnVsbCB3LWZ1bGwgcHgtMyBmbGV4IGZsZXgtY29sIGdhcC0zXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZ3JvdyBmbGV4IGZsZXgtY29sIGdhcC0zIG92ZXJmbG93LXktYXV0b1wiPlxyXG4gICAgICA8c3B4LWlucHV0IFtmb3JtQ29udHJvbF09XCJjdHJsUXVlcnlcIiBbc3B4TGFiZWxdPVwidHh0UXVlcnlcIiBbc3B4VHlwZV09XCJpbnB1dFR5cGVUZXh0XCI+XHJcbiAgICAgIDwvc3B4LWlucHV0PlxyXG4gICAgICA8c3B4LWlucHV0IFtmb3JtQ29udHJvbF09XCJjdHJsT3B0aW9uc1wiIFtzcHhMYWJlbF09XCJ0eHRPcHRpb25zXCIgW3NweFN1Z2dlc3Rpb25zXT1cInNweFN1Z2dlc3Rpb25zXCJcclxuICAgICAgICBbc3B4VHlwZV09XCJpbnB1dFR5cGVSYWRpb1wiPlxyXG4gICAgICA8L3NweC1pbnB1dD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInB5LTMgZmxleCBmbGV4LWNvbCBnYXAtM1wiPlxyXG4gICAgICA8c3B4LWJ1dHRvbiBbc3B4RnVsbFdpZHRoXT1cInRydWVcIiBbc3B4U2V2ZXJpdHldPVwic2V2ZXJpdHlTdWNjZXNzXCI+XHJcbiAgICAgICAgU2F2ZVxyXG4gICAgICA8L3NweC1idXR0b24+XHJcbiAgICAgIDxzcHgtYnV0dG9uIFtzcHhGdWxsV2lkdGhdPVwidHJ1ZVwiIFtzcHhTZXZlcml0eV09XCJzZXZlcml0eUVycm9yXCIgW3NweFR5cGVdPVwiJ2J1dHRvbidcIiAoc3B4Q2xpY2spPVwib25DYW5jZWwoKVwiPlxyXG4gICAgICAgIENhbmNlbFxyXG4gICAgICA8L3NweC1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9mb3JtPiJdfQ==
@@ -1,6 +0,0 @@
1
- export var SpxFormButtonTypeEnum;
2
- (function (SpxFormButtonTypeEnum) {
3
- SpxFormButtonTypeEnum["button"] = "button";
4
- SpxFormButtonTypeEnum["submit"] = "submit";
5
- })(SpxFormButtonTypeEnum || (SpxFormButtonTypeEnum = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWZvcm0tYnV0dG9uLXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtZm9ybS12aWV3L3NweC1mb3JtLWJ1dHRvbi10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVkscUJBR1g7QUFIRCxXQUFZLHFCQUFxQjtJQUM3QiwwQ0FBaUIsQ0FBQTtJQUNqQiwwQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcscUJBQXFCLEtBQXJCLHFCQUFxQixRQUdoQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNweEZvcm1CdXR0b25UeXBlRW51bSB7XHJcbiAgICBidXR0b24gPSAnYnV0dG9uJyxcclxuICAgIHN1Ym1pdCA9ICdzdWJtaXQnLFxyXG59XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWZvcm0tYnV0dG9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtZm9ybS12aWV3L3NweC1mb3JtLWJ1dHRvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNweFNldmVyaXR5RW51bSB9IGZyb20gXCJAc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzXCI7XHJcbmltcG9ydCB7IFNweEZvcm1CdXR0b25UeXBlRW51bSB9IGZyb20gXCIuL3NweC1mb3JtLWJ1dHRvbi10eXBlLmVudW1cIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3B4Rm9ybUJ1dHRvbkkge1xyXG4gICAgb25DbGljaz86ICgpID0+IHt9O1xyXG4gICAgc2V2ZXJpdHk6IFNweFNldmVyaXR5RW51bTtcclxuICAgIGxhYmVsPzogKCkgPT4gc3RyaW5nO1xyXG4gICAgdHlwZTogU3B4Rm9ybUJ1dHRvblR5cGVFbnVtO1xyXG59XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWZvcm0tZmllbGQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1mb3JtLXZpZXcvc3B4LWZvcm0tZmllbGQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTcHhTZXZlcml0eUVudW0gfSBmcm9tIFwiQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtaGVscGVyc1wiO1xyXG5pbXBvcnQgeyBTcHhJbnB1dFR5cGVFbnVtLCBTcHhWYWx1ZVBhaXIgfSBmcm9tIFwiQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNweEZvcm1GaWVsZEkge1xyXG4gICAgYWZ0ZXJWYWx1ZUNoYW5nZT86ICh2YWx1ZTogU3B4VmFsdWVQYWlyPHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBhbnk+KSA9PiB2b2lkO1xyXG4gICAgYXV0b2ZvY3VzPzogKCkgPT4gYm9vbGVhbjtcclxuICAgIGNhcGl0YWxpemU/OiAoKSA9PiBib29sZWFuO1xyXG4gICAgZGVmYXVsdFZhbHVlPzogKCkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IGFueTtcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgbGFiZWw/OiAoKSA9PiBzdHJpbmc7XHJcbiAgICByZWFkb25seT86ICgpID0+IGJvb2xlYW47XHJcbiAgICBzZXZlcml0eT86ICgpID0+IFNweFNldmVyaXR5RW51bTtcclxuICAgIHNob3c/OiAoKSA9PiBib29sZWFuO1xyXG4gICAgc3RlcD86ICgpID0+IG51bWJlcjtcclxuICAgIHN1Z2dlc3Rpb25zPzogKCkgPT4gYm9vbGVhbjtcclxuICAgIHN1Z2dlc3Rpb25zRml4ZWQ/OiAoKSA9PiBTcHhWYWx1ZVBhaXI8c3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IGFueT5bXVxyXG4gICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bTtcclxuICAgIHZhbGlkYXRvcnM/OiAoKSA9PiBhbnlbXTtcclxufVxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWZvcm0tc2VjdGlvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWZvcm0tdmlldy9zcHgtZm9ybS1zZWN0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3B4Rm9ybUZpZWxkSSB9IGZyb20gXCIuL3NweC1mb3JtLWZpZWxkLmludGVyZmFjZVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTcHhGb3JtU2VjdGlvbkkge1xyXG4gICAgZmllbGRzOiBTcHhGb3JtRmllbGRJW107XHJcbiAgICBpbmRleD86ICgpID0+IG51bWJlcjtcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgc2hvdz86ICgpID0+IGJvb2xlYW47XHJcbiAgICBzaG93VGl0bGU/OiAoKSA9PiBib29sZWFuO1xyXG4gICAgdGl0bGU/OiAoKSA9PiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -1,297 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChildren } from '@angular/core';
2
- import { SpxFormSectionComponent } from '@softpak/components/spx-form-section';
3
- import { SpxInputComponent, SpxInputTypeEnum } from '@softpak/components/spx-inputs';
4
- import { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';
5
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
6
- import { SpxAutocompleteSearchComponent } from './spx-autocomplete-search.component';
7
- import { SpxValidateControlComponent } from '@softpak/components/spx-validation';
8
- import { TranslateModule } from '@ngx-translate/core';
9
- import { SpxButtonComponent } from '@softpak/components/spx-button';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/forms";
12
- import * as i2 from "@ngx-translate/core";
13
- export class SpxFormViewComponent {
14
- setAutofocus(key) {
15
- const field = this.spxInputs.find(input => input.spxName === key);
16
- if (field) {
17
- field.setFocusIn();
18
- }
19
- }
20
- onBlur(field) {
21
- this.spxBlur.emit({
22
- field,
23
- valuePair: this.spxFormGroup.get(field.key).value,
24
- });
25
- }
26
- onClick(field) {
27
- this.spxClick.emit({
28
- field,
29
- });
30
- }
31
- onAutocompleteCancel() {
32
- this.autocompleteField = undefined;
33
- }
34
- onAutocompleteSearch(valuePair) {
35
- if (this.autocompleteField) {
36
- this.spxSearch.emit({
37
- field: this.autocompleteField,
38
- valuePair,
39
- });
40
- }
41
- }
42
- onAutocompleteSave(valuePair) {
43
- this.spxFormGroup.get(this.autocompleteField.key)?.setValue(valuePair);
44
- this.autocompleteField = undefined;
45
- }
46
- onSearch(field) {
47
- this.autocompleteField = field;
48
- }
49
- getRawValidators(formControl) {
50
- // eslint-disable-next-line no-underscore-dangle
51
- return formControl._rawValidators;
52
- }
53
- hasRequiredField(abstractControl) {
54
- if (abstractControl.validator) {
55
- const validator = abstractControl.validator({});
56
- if (validator && validator['required']) {
57
- return true;
58
- }
59
- }
60
- if (abstractControl['controls']) {
61
- for (const controlName in abstractControl['controls']) {
62
- if (abstractControl['controls'][controlName]) {
63
- if (this.hasRequiredField(abstractControl['controls'][controlName])) {
64
- return true;
65
- }
66
- }
67
- }
68
- }
69
- return false;
70
- }
71
- static initialFormValue(sections) {
72
- const formObject = {};
73
- sections.forEach(section => {
74
- section.fields.forEach(field => {
75
- formObject[field.key] = [field.defaultValue ? field.defaultValue() : null, field.validators ? [...field.validators()] : []];
76
- });
77
- });
78
- return formObject;
79
- }
80
- static createForm(formBuilder, sections) {
81
- return formBuilder.group(this.initialFormValue(sections));
82
- }
83
- constructor(formBuilder) {
84
- this.formBuilder = formBuilder;
85
- this.spxBlur = new EventEmitter();
86
- this.spxClick = new EventEmitter();
87
- this.spxSearch = new EventEmitter();
88
- this.typeAutocomplete = SpxInputTypeEnum.autocomplete;
89
- this.typeButton = SpxInputTypeEnum.button;
90
- this.typeFloat = SpxInputTypeEnum.float;
91
- this.typeNumber = SpxInputTypeEnum.number;
92
- this.typeRadio = SpxInputTypeEnum.radio;
93
- this.typeText = SpxInputTypeEnum.text;
94
- this.typeNumericKeyboard = SpxInputTypeEnum.textNumericKeyboard;
95
- this.typeOverlay = SpxInputTypeEnum.overlay;
96
- this.typeOverlayNumber = SpxInputTypeEnum.overlayNumber;
97
- }
98
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxFormViewComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
99
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SpxFormViewComponent, isStandalone: true, selector: "spx-form-view", inputs: { spxFormGroup: "spxFormGroup", spxForm: "spxForm", spxSuggestions: "spxSuggestions" }, outputs: { spxBlur: "spxBlur", spxClick: "spxClick", spxSearch: "spxSearch" }, viewQueries: [{ propertyName: "spxInputs", predicate: SpxInputComponent, descendants: true }], ngImport: i0, template: `@if (autocompleteField) {
100
- <spx-autocomplete-search
101
- [spxField]="autocompleteField"
102
- [spxSuggestions]="this.spxSuggestions[autocompleteField.key]"
103
- [spxValuePair]="$any(this.spxFormGroup.get(autocompleteField.key)).value"
104
- [txtOptions]="'Options'"
105
- [txtQuery]="'Query'"
106
- [txtSubmit]="'Save'"
107
- (spxCancel)="onAutocompleteCancel()"
108
- (spxSearch)="onAutocompleteSearch($event)"
109
- (spxSubmit)="onAutocompleteSave($event)">
110
- </spx-autocomplete-search>
111
- }
112
- <div class="flex flex-col gap-3">
113
- @for (spxSection of spxForm.sections; track spxSection; let spxSectionIndex = $index) {
114
- <spx-form-section
115
- [spxShowTitle]="!spxSection.showTitle || spxSection.showTitle()"
116
- [spxIndex]="spxSectionIndex + 1"
117
- [spxTitle]="spxSection.title ? (spxSection.title() | translate | capitalize) : undefined">
118
- @for (spxField of spxSection.fields; track spxField; let spxFieldIndex = $index) {
119
- @if (spxField.show === undefined || spxField.show()) {
120
- @if (spxField.type() === typeButton) {
121
- <spx-button
122
- [spxFullWidth]="true"
123
- [spxSeverity]="spxField.severity ? spxField.severity() : undefined"
124
- [spxType]="'button'"
125
- (spxClick)="onClick(spxField)"
126
- >{{ (spxField.label ? spxField.label() : spxField.key) | translate | capitalize }}</spx-button>
127
- }
128
- @if (spxField.type() === typeOverlay || spxField.type() === typeOverlayNumber || spxField.type() === typeFloat || spxField.type() === typeNumber || spxField.type() === typeText || spxField.type() === typeAutocomplete || spxField.type() === typeNumericKeyboard) {
129
- <spx-input
130
- [formControl]="$any(this.spxFormGroup.get(spxField.key))"
131
- [spxAutofocus]="spxField.autofocus ? spxField.autofocus() : false"
132
- [spxCapitalize]="spxField.capitalize ? spxField.capitalize() : false"
133
- [spxLabel]="(spxField.label ? spxField.label() : spxField.key) | translate | capitalize"
134
- [spxName]="spxField.key"
135
- [spxPattern]="spxField.type() === typeNumericKeyboard ? '\\d*' : undefined"
136
- [spxReadonly]="spxField.readonly ? spxField.readonly() : false"
137
- [spxRequired]="hasRequiredField(this.spxFormGroup.get(spxField.key)!)"
138
- [spxShowSearch]="spxField.type() === typeAutocomplete"
139
- [spxShowHelp]="false"
140
- [spxShowValidationMessages]="this.spxFormGroup.get(spxField.key)! && this.spxFormGroup.get(spxField.key)!.errors && this.spxFormGroup.get(spxField.key)!.touched"
141
- [spxStep]="spxField.step ? spxField.step() : undefined"
142
- [spxType]="spxField.type()"
143
- [spxValidators]="getRawValidators(this.spxFormGroup.get(spxField.key)!)"
144
- [spxSuggestions]="spxField.suggestionsFixed ? spxField.suggestionsFixed() : this.spxSuggestions[spxField.key]"
145
- (spxBlur)="onBlur(spxField)"
146
- (spxSearch)="onSearch(spxField)">
147
- <spx-validate-control [control]="$any(this.spxFormGroup.get(spxField.key))" [label]="(spxField.label ? spxField.label() : spxField.key)| translate | capitalize"></spx-validate-control>
148
- </spx-input>
149
- }
150
- @if (spxField.type() === typeRadio) {
151
- <spx-input
152
- [formControl]="$any(this.spxFormGroup.get(spxField.key))"
153
- [spxLabel]="(spxField.label ? spxField.label() : spxField.key) | translate | capitalize"
154
- [spxName]="spxField.key"
155
- [spxReadonly]="spxField.readonly ? spxField.readonly() : false"
156
- [spxRequired]="hasRequiredField(this.spxFormGroup.get(spxField.key)!)"
157
- [spxShowHelp]="false"
158
- [spxShowValidationMessages]="this.spxFormGroup.get(spxField.key)! && this.spxFormGroup.get(spxField.key)!.errors && this.spxFormGroup.get(spxField.key)!.touched"
159
- [spxSuggestions]="spxField.suggestionsFixed ? spxField.suggestionsFixed() : this.spxSuggestions[spxField.key]"
160
- [spxType]="typeRadio"
161
- [spxValidators]="getRawValidators(this.spxFormGroup.get(spxField.key)!)">
162
- <spx-validate-control [control]="$any(this.spxFormGroup.get(spxField.key))" [label]="(spxField.label ? spxField.label() : spxField.key) | translate | capitalize"></spx-validate-control>
163
- </spx-input>
164
- }
165
- }
166
- }
167
- </spx-form-section>
168
- }
169
-
170
- @for (spxButton of spxForm.buttons; track spxButton) {
171
- <spx-button
172
- [spxFullWidth]="true"
173
- [spxSeverity]="spxButton.severity"
174
- [spxType]="spxButton.type"
175
- (spxClick)="spxButton.onClick ? spxButton.onClick() : undefined">
176
- {{ ((spxButton && spxButton.label) ? spxButton.label() : '') | translate | capitalize }}
177
- </spx-button>
178
- }
179
- </div>
180
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: SpxAutocompleteSearchComponent, selector: "spx-autocomplete-search", inputs: ["spxSuggestions", "spxField", "txtOptions", "txtQuery", "txtSubmit", "spxValuePair"], outputs: ["spxCancel", "spxSearch", "spxSubmit"] }, { kind: "component", type: SpxButtonComponent, selector: "spx-button", inputs: ["spxDisabled", "spxClass", "spxClassObject", "spxForm", "spxFullHeight", "spxFullWidth", "spxSeverity", "spxSize", "spxTabIndex", "spxType"], outputs: ["spxClick"] }, { kind: "pipe", type: SpxCapitalizePipe, name: "capitalize" }, { kind: "component", type: SpxFormSectionComponent, selector: "spx-form-section", inputs: ["spxIndex", "spxIndexSecondary", "spxTitle", "spxShowTitle"] }, { kind: "component", type: SpxInputComponent, selector: "spx-input", inputs: ["spxLabel", "spxMax", "spxMin", "spxName", "spxReadonly", "spxAutocomplete", "spxAutofocus", "spxInputMode", "spxPattern", "spxRequired", "spxSelectMonth", "spxSelectDay", "spxShowEdit", "spxShowHelp", "spxShowLabel", "spxCompact", "spxShowClear", "spxShowSearch", "spxAlert", "spxShowValidationMessages", "spxStep", "spxSuggestions", "spxType", "spxValidators", "value", "spxCapitalize", "spxFocused"], outputs: ["spxBlur", "spxClear", "spxChange", "spxFocus", "spxEdit", "spxHelp", "spxSearch"] }, { kind: "component", type: SpxValidateControlComponent, selector: "spx-validate-control", inputs: ["control", "label", "submitTried"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
181
- }
182
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxFormViewComponent, decorators: [{
183
- type: Component,
184
- args: [{
185
- selector: 'spx-form-view',
186
- standalone: true,
187
- imports: [
188
- FormsModule,
189
- ReactiveFormsModule,
190
- SpxAutocompleteSearchComponent,
191
- SpxButtonComponent,
192
- SpxCapitalizePipe,
193
- SpxFormSectionComponent,
194
- SpxInputComponent,
195
- SpxValidateControlComponent,
196
- TranslateModule
197
- ],
198
- template: `@if (autocompleteField) {
199
- <spx-autocomplete-search
200
- [spxField]="autocompleteField"
201
- [spxSuggestions]="this.spxSuggestions[autocompleteField.key]"
202
- [spxValuePair]="$any(this.spxFormGroup.get(autocompleteField.key)).value"
203
- [txtOptions]="'Options'"
204
- [txtQuery]="'Query'"
205
- [txtSubmit]="'Save'"
206
- (spxCancel)="onAutocompleteCancel()"
207
- (spxSearch)="onAutocompleteSearch($event)"
208
- (spxSubmit)="onAutocompleteSave($event)">
209
- </spx-autocomplete-search>
210
- }
211
- <div class="flex flex-col gap-3">
212
- @for (spxSection of spxForm.sections; track spxSection; let spxSectionIndex = $index) {
213
- <spx-form-section
214
- [spxShowTitle]="!spxSection.showTitle || spxSection.showTitle()"
215
- [spxIndex]="spxSectionIndex + 1"
216
- [spxTitle]="spxSection.title ? (spxSection.title() | translate | capitalize) : undefined">
217
- @for (spxField of spxSection.fields; track spxField; let spxFieldIndex = $index) {
218
- @if (spxField.show === undefined || spxField.show()) {
219
- @if (spxField.type() === typeButton) {
220
- <spx-button
221
- [spxFullWidth]="true"
222
- [spxSeverity]="spxField.severity ? spxField.severity() : undefined"
223
- [spxType]="'button'"
224
- (spxClick)="onClick(spxField)"
225
- >{{ (spxField.label ? spxField.label() : spxField.key) | translate | capitalize }}</spx-button>
226
- }
227
- @if (spxField.type() === typeOverlay || spxField.type() === typeOverlayNumber || spxField.type() === typeFloat || spxField.type() === typeNumber || spxField.type() === typeText || spxField.type() === typeAutocomplete || spxField.type() === typeNumericKeyboard) {
228
- <spx-input
229
- [formControl]="$any(this.spxFormGroup.get(spxField.key))"
230
- [spxAutofocus]="spxField.autofocus ? spxField.autofocus() : false"
231
- [spxCapitalize]="spxField.capitalize ? spxField.capitalize() : false"
232
- [spxLabel]="(spxField.label ? spxField.label() : spxField.key) | translate | capitalize"
233
- [spxName]="spxField.key"
234
- [spxPattern]="spxField.type() === typeNumericKeyboard ? '\\d*' : undefined"
235
- [spxReadonly]="spxField.readonly ? spxField.readonly() : false"
236
- [spxRequired]="hasRequiredField(this.spxFormGroup.get(spxField.key)!)"
237
- [spxShowSearch]="spxField.type() === typeAutocomplete"
238
- [spxShowHelp]="false"
239
- [spxShowValidationMessages]="this.spxFormGroup.get(spxField.key)! && this.spxFormGroup.get(spxField.key)!.errors && this.spxFormGroup.get(spxField.key)!.touched"
240
- [spxStep]="spxField.step ? spxField.step() : undefined"
241
- [spxType]="spxField.type()"
242
- [spxValidators]="getRawValidators(this.spxFormGroup.get(spxField.key)!)"
243
- [spxSuggestions]="spxField.suggestionsFixed ? spxField.suggestionsFixed() : this.spxSuggestions[spxField.key]"
244
- (spxBlur)="onBlur(spxField)"
245
- (spxSearch)="onSearch(spxField)">
246
- <spx-validate-control [control]="$any(this.spxFormGroup.get(spxField.key))" [label]="(spxField.label ? spxField.label() : spxField.key)| translate | capitalize"></spx-validate-control>
247
- </spx-input>
248
- }
249
- @if (spxField.type() === typeRadio) {
250
- <spx-input
251
- [formControl]="$any(this.spxFormGroup.get(spxField.key))"
252
- [spxLabel]="(spxField.label ? spxField.label() : spxField.key) | translate | capitalize"
253
- [spxName]="spxField.key"
254
- [spxReadonly]="spxField.readonly ? spxField.readonly() : false"
255
- [spxRequired]="hasRequiredField(this.spxFormGroup.get(spxField.key)!)"
256
- [spxShowHelp]="false"
257
- [spxShowValidationMessages]="this.spxFormGroup.get(spxField.key)! && this.spxFormGroup.get(spxField.key)!.errors && this.spxFormGroup.get(spxField.key)!.touched"
258
- [spxSuggestions]="spxField.suggestionsFixed ? spxField.suggestionsFixed() : this.spxSuggestions[spxField.key]"
259
- [spxType]="typeRadio"
260
- [spxValidators]="getRawValidators(this.spxFormGroup.get(spxField.key)!)">
261
- <spx-validate-control [control]="$any(this.spxFormGroup.get(spxField.key))" [label]="(spxField.label ? spxField.label() : spxField.key) | translate | capitalize"></spx-validate-control>
262
- </spx-input>
263
- }
264
- }
265
- }
266
- </spx-form-section>
267
- }
268
-
269
- @for (spxButton of spxForm.buttons; track spxButton) {
270
- <spx-button
271
- [spxFullWidth]="true"
272
- [spxSeverity]="spxButton.severity"
273
- [spxType]="spxButton.type"
274
- (spxClick)="spxButton.onClick ? spxButton.onClick() : undefined">
275
- {{ ((spxButton && spxButton.label) ? spxButton.label() : '') | translate | capitalize }}
276
- </spx-button>
277
- }
278
- </div>
279
- `,
280
- }]
281
- }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { spxFormGroup: [{
282
- type: Input
283
- }], spxForm: [{
284
- type: Input
285
- }], spxSuggestions: [{
286
- type: Input
287
- }], spxBlur: [{
288
- type: Output
289
- }], spxClick: [{
290
- type: Output
291
- }], spxSearch: [{
292
- type: Output
293
- }], spxInputs: [{
294
- type: ViewChildren,
295
- args: [SpxInputComponent]
296
- }] } });
297
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWZvcm0tdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWZvcm0tdmlldy9zcHgtZm9ybS12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUF3QixZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0csT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFnQixNQUFNLGdDQUFnQyxDQUFDO0FBQ25HLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBMkMsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0csT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7O0FBb0dwRSxNQUFNLE9BQU8sb0JBQW9CO0lBb0IvQixZQUFZLENBQUMsR0FBVztRQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDbEUsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFv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cUZOLG9CQUFvQjtrQkFqR2hDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLDhCQUE4Qjt3QkFDOUIsa0JBQWtCO3dCQUNsQixpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3dCQUNqQiwyQkFBMkI7d0JBQzNCLGVBQWU7cUJBQ2xCO29CQUNDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBaUZYO2lCQUNBO2dGQUVVLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQzBCLFNBQVM7c0JBQXpDLFlBQVk7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSnNvblBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGQsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTcHhGb3JtU2VjdGlvbkkgfSBmcm9tICcuL3NweC1mb3JtLXNlY3Rpb24uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgU3B4Rm9ybVNlY3Rpb25Db21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1mb3JtLXNlY3Rpb24nO1xyXG5pbXBvcnQgeyBTcHhJbnB1dENvbXBvbmVudCwgU3B4SW5wdXRUeXBlRW51bSwgU3B4VmFsdWVQYWlyIH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzJztcclxuaW1wb3J0IHsgU3B4Q2FwaXRhbGl6ZVBpcGUgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1jYXBpdGFsaXplJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3B4Rm9ybUZpZWxkSSB9IGZyb20gJy4vc3B4LWZvcm0tZmllbGQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgU3B4QXV0b2NvbXBsZXRlU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9zcHgtYXV0b2NvbXBsZXRlLXNlYXJjaC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTcHhWYWxpZGF0ZUNvbnRyb2xDb21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC12YWxpZGF0aW9uJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IFNweEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWJ1dHRvbic7XHJcbmltcG9ydCB7IFNweEZvcm1JIH0gZnJvbSAnLi9zcHgtZm9ybS5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzcHgtZm9ybS12aWV3JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIFNweEF1dG9jb21wbGV0ZVNlYXJjaENvbXBvbmVudCxcclxuICAgIFNweEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFNweENhcGl0YWxpemVQaXBlLFxyXG4gICAgU3B4Rm9ybVNlY3Rpb25Db21wb25lbnQsXHJcbiAgICBTcHhJbnB1dENvbXBvbmVudCxcclxuICAgIFNweFZhbGlkYXRlQ29udHJvbENvbXBvbmVudCxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZVxyXG5dLFxyXG4gIHRlbXBsYXRlOiBgQGlmIChhdXRvY29tcGxldGVGaWVsZCkge1xyXG4gIDxzcHgtYXV0b2NvbXBsZXRlLXNlYXJjaFxyXG4gICAgW3NweEZpZWxkXT1cImF1dG9jb21wbGV0ZUZpZWxkXCJcclxuICAgIFtzcHhTdWdnZXN0aW9uc109XCJ0aGlzLnNweFN1Z2dlc3Rpb25zW2F1dG9jb21wbGV0ZUZpZWxkLmtleV1cIlxyXG4gICAgW3NweFZhbHVlUGFpcl09XCIkYW55KHRoaXMuc3B4Rm9ybUdyb3VwLmdldChhdXRvY29tcGxldGVGaWVsZC5rZXkpKS52YWx1ZVwiXHJcbiAgICBbdHh0T3B0aW9uc109XCInT3B0aW9ucydcIlxyXG4gICAgW3R4dFF1ZXJ5XT1cIidRdWVyeSdcIlxyXG4gICAgW3R4dFN1Ym1pdF09XCInU2F2ZSdcIlxyXG4gICAgKHNweENhbmNlbCk9XCJvbkF1dG9jb21wbGV0ZUNhbmNlbCgpXCJcclxuICAgIChzcHhTZWFyY2gpPVwib25BdXRvY29tcGxldGVTZWFyY2goJGV2ZW50KVwiXHJcbiAgICAoc3B4U3VibWl0KT1cIm9uQXV0b2NvbXBsZXRlU2F2ZSgkZXZlbnQpXCI+XHJcbiAgPC9zcHgtYXV0b2NvbXBsZXRlLXNlYXJjaD5cclxufVxyXG48ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtM1wiPlxyXG4gIEBmb3IgKHNweFNlY3Rpb24gb2Ygc3B4Rm9ybS5zZWN0aW9uczsgdHJhY2sgc3B4U2VjdGlvbjsgbGV0IHNweFNlY3Rpb25JbmRleCA9ICRpbmRleCkge1xyXG4gICAgPHNweC1mb3JtLXNlY3Rpb25cclxuICAgICAgW3NweFNob3dUaXRsZV09XCIhc3B4U2VjdGlvbi5zaG93VGl0bGUgfHwgc3B4U2VjdGlvbi5zaG93VGl0bGUoKVwiXHJcbiAgICAgIFtzcHhJbmRleF09XCJzcHhTZWN0aW9uSW5kZXggKyAxXCJcclxuICAgICAgW3NweFRpdGxlXT1cInNweFNlY3Rpb24udGl0bGUgPyAoc3B4U2VjdGlvbi50aXRsZSgpIHwgdHJhbnNsYXRlIHwgY2FwaXRhbGl6ZSkgOiB1bmRlZmluZWRcIj5cclxuICAgICAgQGZvciAoc3B4RmllbGQgb2Ygc3B4U2VjdGlvbi5maWVsZHM7IHRyYWNrIHNweEZpZWxkOyBsZXQgc3B4RmllbGRJbmRleCA9ICRpbmRleCkge1xyXG4gICAgICAgIEBpZiAoc3B4RmllbGQuc2hvdyA9PT0gdW5kZWZpbmVkIHx8IHNweEZpZWxkLnNob3coKSkge1xyXG4gICAgICAgICAgQGlmIChzcHhGaWVsZC50eXBlKCkgPT09IHR5cGVCdXR0b24pIHtcclxuICAgICAgICAgICAgPHNweC1idXR0b25cclxuICAgICAgICAgICAgICBbc3B4RnVsbFdpZHRoXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtzcHhTZXZlcml0eV09XCJzcHhGaWVsZC5zZXZlcml0eSA/IHNweEZpZWxkLnNldmVyaXR5KCkgOiB1bmRlZmluZWRcIlxyXG4gICAgICAgICAgICAgIFtzcHhUeXBlXT1cIididXR0b24nXCJcclxuICAgICAgICAgICAgICAoc3B4Q2xpY2spPVwib25DbGljayhzcHhGaWVsZClcIlxyXG4gICAgICAgICAgICA+e3sgKHNweEZpZWxkLmxhYmVsID8gc3B4RmllbGQubGFiZWwoKSA6IHNweEZpZWxkLmtleSkgfCB0cmFuc2xhdGUgIHwgY2FwaXRhbGl6ZSB9fTwvc3B4LWJ1dHRvbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpZiAoc3B4RmllbGQudHlwZSgpID09PSB0eXBlT3ZlcmxheSB8fCBzcHhGaWVsZC50eXBlKCkgPT09IHR5cGVPdmVybGF5TnVtYmVyIHx8IHNweEZpZWxkLnR5cGUoKSA9PT0gdHlwZUZsb2F0IHx8IHNweEZpZWxkLnR5cGUoKSA9PT0gdHlwZU51bWJlciB8fCBzcHhGaWVsZC50eXBlKCkgPT09IHR5cGVUZXh0IHx8IHNweEZpZWxkLnR5cGUoKSA9PT0gdHlwZUF1dG9jb21wbGV0ZSB8fCBzcHhGaWVsZC50eXBlKCkgPT09IHR5cGVOdW1lcmljS2V5Ym9hcmQpIHtcclxuICAgICAgICAgICAgPHNweC1pbnB1dFxyXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCIkYW55KHRoaXMuc3B4Rm9ybUdyb3VwLmdldChzcHhGaWVsZC5rZXkpKVwiXHJcbiAgICAgICAgICAgICAgW3NweEF1dG9mb2N1c109XCJzcHhGaWVsZC5hdXRvZm9jdXMgPyBzcHhGaWVsZC5hdXRvZm9jdXMoKSA6IGZhbHNlXCJcclxuICAgICAgICAgICAgICBbc3B4Q2FwaXRhbGl6ZV09XCJzcHhGaWVsZC5jYXBpdGFsaXplID8gc3B4RmllbGQuY2FwaXRhbGl6ZSgpIDogZmFsc2VcIlxyXG4gICAgICAgICAgICAgIFtzcHhMYWJlbF09XCIoc3B4RmllbGQubGFiZWwgPyBzcHhGaWVsZC5sYWJlbCgpIDogc3B4RmllbGQua2V5KSB8IHRyYW5zbGF0ZSAgfCBjYXBpdGFsaXplXCJcclxuICAgICAgICAgICAgICBbc3B4TmFtZV09XCJzcHhGaWVsZC5rZXlcIlxyXG4gICAgICAgICAgICAgIFtzcHhQYXR0ZXJuXT1cInNweEZpZWxkLnR5cGUoKSA9PT0gdHlwZU51bWVyaWNLZXlib2FyZCA/ICdcXFxcZConIDogdW5kZWZpbmVkXCJcclxuICAgICAgICAgICAgICBbc3B4UmVhZG9ubHldPVwic3B4RmllbGQucmVhZG9ubHkgPyBzcHhGaWVsZC5yZWFkb25seSgpIDogZmFsc2VcIlxyXG4gICAgICAgICAgICAgIFtzcHhSZXF1aXJlZF09XCJoYXNSZXF1aXJlZEZpZWxkKHRoaXMuc3B4Rm9ybUdyb3VwLmdldChzcHhGaWVsZC5rZXkpISlcIlxyXG4gICAgICAgICAgICAgIFtzcHhTaG93U2VhcmNoXT1cInNweEZpZWxkLnR5cGUoKSA9PT0gdHlwZUF1dG9jb21wbGV0ZVwiXHJcbiAgICAgICAgICAgICAgW3NweFNob3dIZWxwXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICBbc3B4U2hvd1ZhbGlkYXRpb25NZXNzYWdlc109XCJ0aGlzLnNweEZvcm1Hcm91cC5nZXQoc3B4RmllbGQua2V5KSEgJiYgdGhpcy5zcHhGb3JtR3JvdXAuZ2V0KHNweEZpZWxkLmtleSkhLmVycm9ycyAmJiB0aGlzLnNweEZvcm1Hcm91cC5nZXQoc3B4RmllbGQua2V5KSEudG91Y2hlZFwiXHJcbiAgICAgICAgICAgICAgW3NweFN0ZXBdPVwic3B4RmllbGQuc3RlcCA/IHNweEZpZWxkLnN0ZXAoKSA6IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgICAgICAgW3NweFR5cGVdPVwic3B4RmllbGQudHlwZSgpXCJcclxuICAgICAgICAgICAgICBbc3B4VmFsaWRhdG9yc109XCJnZXRSYXdWYWxpZGF0b3JzKHRoaXMuc3B4Rm9ybUdyb3VwLmdldChzcHhGaWVsZC5rZXkpISlcIlxyXG4gICAgICAgICAgICAgIFtzcHhTdWdnZXN0aW9uc109XCJzcHhGaWVsZC5zdWdnZXN0aW9uc0ZpeGVkID8gc3B4RmllbGQuc3VnZ2VzdGlvbnNGaXhlZCgpIDogdGhpcy5zcHhTdWdnZXN0aW9uc1tzcHhGaWVsZC5rZXldXCJcclxuICAgICAgICAgICAgICAoc3B4Qmx1cik9XCJvbkJsdXIoc3B4RmllbGQpXCJcclxuICAgICAgICAgICAgICAoc3B4U2VhcmNoKT1cIm9uU2VhcmNoKHNweEZpZWxkKVwiPlxyXG4gICAgICAgICAgICAgIDxzcHgtdmFsaWRhdGUtY29udHJvbCBbY29udHJvbF09XCIkYW55KHRoaXMuc3B4Rm9ybUdyb3VwLmdldChzcHhGaWVsZC5rZXkpKVwiIFtsYWJlbF09XCIoc3B4RmllbGQubGFiZWwgPyBzcHhGaWVsZC5sYWJlbCgpIDogc3B4RmllbGQua2V5KXwgdHJhbnNsYXRlICB8IGNhcGl0YWxpemVcIj48L3NweC12YWxpZGF0ZS1jb250cm9sPlxyXG4gICAgICAgICAgICA8L3NweC1pbnB1dD5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpZiAoc3B4RmllbGQudHlwZSgpID09PSB0eXBlUmFkaW8pIHtcclxuICAgICAgICAgICAgPHNweC1pbnB1dFxyXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCIkYW55KHRoaXMuc3B4Rm9ybUdyb3VwLmdldChzcHhGaWVsZC5rZXkpKVwiXHJcbiAgICAgICAgICAgICAgW3NweExhYmVsXT1cIihzcHhGaWVsZC5sYWJlbCA/IHNweEZpZWxkLmxhYmVsKCkgOiBzcHhGaWVsZC5rZXkpIHwgdHJhbnNsYXRlIHwgY2FwaXRhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgW3NweE5hbWVdPVwic3B4RmllbGQua2V5XCJcclxuICAgICAgICAgICAgICBbc3B4UmVhZG9ubHldPVwic3B4RmllbGQucmVhZG9ubHkgPyBzcHhGaWVsZC5yZWFkb25seSgpIDogZmFsc2VcIlxyXG4gICAgICAgICAgICAgIFtzcHhSZXF1aXJlZF09XCJoYXNSZXF1aXJlZEZpZWxkKHRoaXMuc3B4Rm9ybUdyb3VwLmdldChzcHhGaWVsZC5rZXkpISlcIlxyXG4gICAgICAgICAgICAgIFtzcHhTaG93SGVscF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgW3NweFNob3dWYWxpZGF0aW9uTWVzc2FnZXNdPVwidGhpcy5zcHhGb3JtR3JvdXAuZ2V0KHNweEZpZWxkLmtleSkhICYmIHRoaXMuc3B4Rm9ybUdyb3VwLmdldChzcHhGaWVsZC5rZXkpIS5lcnJvcnMgJiYgdGhpcy5zcHhGb3JtR3JvdXAuZ2V0KHNweEZpZWxkLmtleSkhLnRvdWNoZWRcIlxyXG4gICAgICAgICAgICAgIFtzcHhTdWdnZXN0aW9uc109XCJzcHhGaWVsZC5zdWdnZXN0aW9uc0ZpeGVkID8gc3B4RmllbGQuc3VnZ2VzdGlvbnNGaXhlZCgpIDogdGhpcy5zcHhTdWdnZXN0aW9uc1tzcHhGaWVsZC5rZXldXCJcclxuICAgICAgICAgICAgICBbc3B4VHlwZV09XCJ0eXBlUmFkaW9cIlxyXG4gICAgICAgICAgICAgIFtzcHhWYWxpZGF0b3JzXT1cImdldFJhd1ZhbGlkYXRvcnModGhpcy5zcHhGb3JtR3JvdXAuZ2V0KHNweEZpZWxkLmtleSkhKVwiPlxyXG4gICAgICAgICAgICAgIDxzcHgtdmFsaWRhdGUtY29udHJvbCBbY29udHJvbF09XCIkYW55KHRoaXMuc3B4Rm9ybUdyb3VwLmdldChzcHhGaWVsZC5rZXkpKVwiIFtsYWJlbF09XCIoc3B4RmllbGQubGFiZWwgPyBzcHhGaWVsZC5sYWJlbCgpIDogc3B4RmllbGQua2V5KSB8IHRyYW5zbGF0ZSB8IGNhcGl0YWxpemVcIj48L3NweC12YWxpZGF0ZS1jb250cm9sPlxyXG4gICAgICAgICAgICA8L3NweC1pbnB1dD5cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIDwvc3B4LWZvcm0tc2VjdGlvbj5cclxuICB9XHJcblxyXG4gIEBmb3IgKHNweEJ1dHRvbiBvZiBzcHhGb3JtLmJ1dHRvbnM7IHRyYWNrIHNweEJ1dHRvbikge1xyXG4gICAgPHNweC1idXR0b25cclxuICAgICAgW3NweEZ1bGxXaWR0aF09XCJ0cnVlXCJcclxuICAgICAgW3NweFNldmVyaXR5XT1cInNweEJ1dHRvbi5zZXZlcml0eVwiXHJcbiAgICAgIFtzcHhUeXBlXT1cInNweEJ1dHRvbi50eXBlXCJcclxuICAgICAgKHNweENsaWNrKT1cInNweEJ1dHRvbi5vbkNsaWNrID8gc3B4QnV0dG9uLm9uQ2xpY2soKSA6IHVuZGVmaW5lZFwiPlxyXG4gICAgICB7eyAoKHNweEJ1dHRvbiAmJiBzcHhCdXR0b24ubGFiZWwpID8gc3B4QnV0dG9uLmxhYmVsKCkgOiAnJykgfCB0cmFuc2xhdGUgfCBjYXBpdGFsaXplIH19XHJcbiAgICA8L3NweC1idXR0b24+XHJcbiAgfVxyXG48L2Rpdj5cclxuYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNweEZvcm1WaWV3Q29tcG9uZW50IHtcclxuICBASW5wdXQoKSBzcHhGb3JtR3JvdXAhOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgc3B4Rm9ybSE6IFNweEZvcm1JO1xyXG4gIEBJbnB1dCgpIHNweFN1Z2dlc3Rpb25zITogYW55O1xyXG4gIEBPdXRwdXQoKSBzcHhCbHVyOiBFdmVudEVtaXR0ZXI8eyBmaWVsZDogU3B4Rm9ybUZpZWxkSSwgdmFsdWVQYWlyOiBTcHhWYWx1ZVBhaXI8YW55PiB9PiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBmaWVsZDogU3B4Rm9ybUZpZWxkSSwgdmFsdWVQYWlyOiBTcHhWYWx1ZVBhaXI8YW55PiB9PigpO1xyXG4gIEBPdXRwdXQoKSBzcHhDbGljazogRXZlbnRFbWl0dGVyPHsgZmllbGQ6IFNweEZvcm1GaWVsZEkgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHsgZmllbGQ6IFNweEZvcm1GaWVsZEkgfT4oKTtcclxuICBAT3V0cHV0KCkgc3B4U2VhcmNoOiBFdmVudEVtaXR0ZXI8eyBmaWVsZDogU3B4Rm9ybUZpZWxkSSwgdmFsdWVQYWlyOiBTcHhWYWx1ZVBhaXI8YW55PiB9PiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBmaWVsZDogU3B4Rm9ybUZpZWxkSSwgdmFsdWVQYWlyOiBTcHhWYWx1ZVBhaXI8YW55PiB9PigpO1xyXG4gIEBWaWV3Q2hpbGRyZW4oU3B4SW5wdXRDb21wb25lbnQpIHNweElucHV0cyE6IFF1ZXJ5TGlzdDxTcHhJbnB1dENvbXBvbmVudD47XHJcbiAgYXV0b2NvbXBsZXRlRmllbGQ/OiBTcHhGb3JtRmllbGRJO1xyXG5cclxuICB0eXBlQXV0b2NvbXBsZXRlID0gU3B4SW5wdXRUeXBlRW51bS5hdXRvY29tcGxldGU7XHJcbiAgdHlwZUJ1dHRvbiA9IFNweElucHV0VHlwZUVudW0uYnV0dG9uO1xyXG4gIHR5cGVGbG9hdCA9IFNweElucHV0VHlwZUVudW0uZmxvYXQ7XHJcbiAgdHlwZU51bWJlciA9IFNweElucHV0VHlwZUVudW0ubnVtYmVyO1xyXG4gIHR5cGVSYWRpbyA9IFNweElucHV0VHlwZUVudW0ucmFkaW87XHJcbiAgdHlwZVRleHQgPSBTcHhJbnB1dFR5cGVFbnVtLnRleHQ7XHJcbiAgdHlwZU51bWVyaWNLZXlib2FyZCA9IFNweElucHV0VHlwZUVudW0udGV4dE51bWVyaWNLZXlib2FyZDtcclxuICB0eXBlT3ZlcmxheSA9IFNweElucHV0VHlwZUVudW0ub3ZlcmxheTtcclxuICB0eXBlT3ZlcmxheU51bWJlciA9IFNweElucHV0VHlwZUVudW0ub3ZlcmxheU51bWJlcjtcclxuXHJcbiAgc2V0QXV0b2ZvY3VzKGtleTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuc3B4SW5wdXRzLmZpbmQoaW5wdXQgPT4gaW5wdXQuc3B4TmFtZSA9PT0ga2V5KTtcclxuICAgIGlmIChmaWVsZCkge1xyXG4gICAgICBmaWVsZC5zZXRGb2N1c0luKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkJsdXIoZmllbGQ6IFNweEZvcm1GaWVsZEkpIHtcclxuICAgIHRoaXMuc3B4Qmx1ci5lbWl0KHtcclxuICAgICAgZmllbGQsXHJcbiAgICAgIHZhbHVlUGFpcjogdGhpcy5zcHhGb3JtR3JvdXAuZ2V0KGZpZWxkLmtleSkhLnZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrKGZpZWxkOiBTcHhGb3JtRmllbGRJKSB7XHJcbiAgICB0aGlzLnNweENsaWNrLmVtaXQoe1xyXG4gICAgICBmaWVsZCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25BdXRvY29tcGxldGVDYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmF1dG9jb21wbGV0ZUZpZWxkID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgb25BdXRvY29tcGxldGVTZWFyY2godmFsdWVQYWlyOiBTcHhWYWx1ZVBhaXI8YW55Pik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYXV0b2NvbXBsZXRlRmllbGQpIHtcclxuICAgICAgdGhpcy5zcHhTZWFyY2guZW1pdCh7XHJcbiAgICAgICAgZmllbGQ6IHRoaXMuYXV0b2NvbXBsZXRlRmllbGQsXHJcbiAgICAgICAgdmFsdWVQYWlyLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQXV0b2NvbXBsZXRlU2F2ZSh2YWx1ZVBhaXI6IFNweFZhbHVlUGFpcjxhbnk+KSB7XHJcbiAgICB0aGlzLnNweEZvcm1Hcm91cC5nZXQodGhpcy5hdXRvY29tcGxldGVGaWVsZCEua2V5KT8uc2V0VmFsdWUodmFsdWVQYWlyKTtcclxuICAgIHRoaXMuYXV0b2NvbXBsZXRlRmllbGQgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBvblNlYXJjaChmaWVsZDogU3B4Rm9ybUZpZWxkSSkge1xyXG4gICAgdGhpcy5hdXRvY29tcGxldGVGaWVsZCA9IGZpZWxkO1xyXG4gIH1cclxuXHJcbiAgZ2V0UmF3VmFsaWRhdG9ycyhmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZXJzY29yZS1kYW5nbGVcclxuICAgIHJldHVybiAoZm9ybUNvbnRyb2wgYXMgYW55KS5fcmF3VmFsaWRhdG9ycztcclxuICB9XHJcblxyXG4gIGhhc1JlcXVpcmVkRmllbGQoYWJzdHJhY3RDb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBib29sZWFuIHtcclxuICAgIGlmIChhYnN0cmFjdENvbnRyb2wudmFsaWRhdG9yKSB7XHJcbiAgICAgIGNvbnN0IHZhbGlkYXRvciA9IGFic3RyYWN0Q29udHJvbC52YWxpZGF0b3Ioe30gYXMgQWJzdHJhY3RDb250cm9sKTtcclxuICAgICAgaWYgKHZhbGlkYXRvciAmJiB2YWxpZGF0b3JbJ3JlcXVpcmVkJ10pIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKChhYnN0cmFjdENvbnRyb2wgYXMgYW55KVsnY29udHJvbHMnXSkge1xyXG4gICAgICBmb3IgKGNvbnN0IGNvbnRyb2xOYW1lIGluIChhYnN0cmFjdENvbnRyb2wgYXMgYW55KVsnY29udHJvbHMnXSkge1xyXG4gICAgICAgIGlmICgoYWJzdHJhY3RDb250cm9sIGFzIGFueSlbJ2NvbnRyb2xzJ11bY29udHJvbE5hbWVdKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5oYXNSZXF1aXJlZEZpZWxkKChhYnN0cmFjdENvbnRyb2wgYXMgYW55KVsnY29udHJvbHMnXVtjb250cm9sTmFtZV0pKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGluaXRpYWxGb3JtVmFsdWUoc2VjdGlvbnM6IFNweEZvcm1TZWN0aW9uSVtdKSB7XHJcbiAgICBjb25zdCBmb3JtT2JqZWN0OiBhbnkgPSB7fTtcclxuICAgIHNlY3Rpb25zLmZvckVhY2goc2VjdGlvbiA9PiB7XHJcbiAgICAgIHNlY3Rpb24uZmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xyXG4gICAgICAgIGZvcm1PYmplY3RbZmllbGQua2V5XSA9IFtmaWVsZC5kZWZhdWx0VmFsdWUgPyBmaWVsZC5kZWZhdWx0VmFsdWUoKSA6IG51bGwsIGZpZWxkLnZhbGlkYXRvcnMgPyBbLi4uZmllbGQudmFsaWRhdG9ycygpXSA6IFtdXTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBmb3JtT2JqZWN0O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNyZWF0ZUZvcm0oZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLCBzZWN0aW9uczogU3B4Rm9ybVNlY3Rpb25JW10pOiBGb3JtR3JvdXAge1xyXG4gICAgcmV0dXJuIGZvcm1CdWlsZGVyLmdyb3VwKHRoaXMuaW5pdGlhbEZvcm1WYWx1ZShzZWN0aW9ucykpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWZvcm0uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1mb3JtLXZpZXcvc3B4LWZvcm0uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTcHhGb3JtQnV0dG9uSSB9IGZyb20gXCIuL3NweC1mb3JtLWJ1dHRvbi5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHsgU3B4Rm9ybVNlY3Rpb25JIH0gZnJvbSBcIi4vc3B4LWZvcm0tc2VjdGlvbi5pbnRlcmZhY2VcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3B4Rm9ybUkge1xyXG4gICAgYnV0dG9uczogU3B4Rm9ybUJ1dHRvbklbXTtcclxuICAgIHNlY3Rpb25zOiBTcHhGb3JtU2VjdGlvbklbXTtcclxufVxyXG4iXX0=
@@ -1,21 +0,0 @@
1
- export const calcCheckDigit = (container) => {
2
- container = container.toUpperCase();
3
- const mapping = {
4
- 0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9,
5
- A: 10, B: 12, C: 13, D: 14, E: 15, F: 16, G: 17, H: 18, I: 19, J: 20, K: 21, L: 23, M: 24,
6
- N: 25, O: 26, P: 27, Q: 28, R: 29, S: 30, T: 31, U: 32, V: 34, W: 35, X: 36, Y: 37, Z: 38
7
- };
8
- let total = 0;
9
- for (let i = 0; i < container.length; i++) {
10
- const cChar = container.substr(i, 1);
11
- const value = mapping[cChar];
12
- const multiplier = Math.pow(2, i);
13
- total = total + (value * multiplier);
14
- }
15
- let outcome = total % 11;
16
- if (outcome === 10) {
17
- outcome = 0;
18
- }
19
- return outcome.toString();
20
- };
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsYy1jaGVjay1kaWdpdC5mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaGVscGVycy9jYWxjLWNoZWNrLWRpZ2l0LmZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLFNBQWlCLEVBQVUsRUFBRTtJQUMxRCxTQUFTLEdBQUcsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRXBDLE1BQU0sT0FBTyxHQUFHO1FBQ2QsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDMUQsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDekYsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7S0FDMUYsQ0FBQztJQUVGLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztJQUVkLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDMUMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckMsTUFBTSxLQUFLLEdBQUksT0FBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLEtBQUssR0FBRyxLQUFLLEdBQUcsQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksT0FBTyxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDekIsSUFBSSxPQUFPLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDbkIsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUM1QixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgY2FsY0NoZWNrRGlnaXQgPSAoY29udGFpbmVyOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xyXG4gIGNvbnRhaW5lciA9IGNvbnRhaW5lci50b1VwcGVyQ2FzZSgpO1xyXG5cclxuICBjb25zdCBtYXBwaW5nID0ge1xyXG4gICAgMDogMCwgMTogMSwgMjogMiwgMzogMywgNDogNCwgNTogNSwgNjogNiwgNzogNywgODogOCwgOTogOSxcclxuICAgIEE6IDEwLCBCOiAxMiwgQzogMTMsIEQ6IDE0LCBFOiAxNSwgRjogMTYsIEc6IDE3LCBIOiAxOCwgSTogMTksIEo6IDIwLCBLOiAyMSwgTDogMjMsIE06IDI0LFxyXG4gICAgTjogMjUsIE86IDI2LCBQOiAyNywgUTogMjgsIFI6IDI5LCBTOiAzMCwgVDogMzEsIFU6IDMyLCBWOiAzNCwgVzogMzUsIFg6IDM2LCBZOiAzNywgWjogMzhcclxuICB9O1xyXG5cclxuICBsZXQgdG90YWwgPSAwO1xyXG5cclxuICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbnRhaW5lci5sZW5ndGg7IGkrKykge1xyXG4gICAgY29uc3QgY0NoYXIgPSBjb250YWluZXIuc3Vic3RyKGksIDEpO1xyXG4gICAgY29uc3QgdmFsdWUgPSAobWFwcGluZyBhcyBhbnkpW2NDaGFyXTtcclxuICAgIGNvbnN0IG11bHRpcGxpZXIgPSBNYXRoLnBvdygyLCBpKTtcclxuICAgIHRvdGFsID0gdG90YWwgKyAodmFsdWUgKiBtdWx0aXBsaWVyKTtcclxuICB9XHJcblxyXG4gIGxldCBvdXRjb21lID0gdG90YWwgJSAxMTtcclxuICBpZiAob3V0Y29tZSA9PT0gMTApIHtcclxuICAgIG91dGNvbWUgPSAwO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG91dGNvbWUudG9TdHJpbmcoKTtcclxufVxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYWxlcnQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzL2lucHV0LWFsZXJ0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3B4U2V2ZXJpdHlFbnVtIH0gZnJvbSBcIi4vc3B4LXNldmVyaXR5LmVudW1cIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3B4SW5wdXRBbGVydEkge1xyXG4gIHRleHQ6IHN0cmluZztcclxuICBzZXZlcml0eTogU3B4U2V2ZXJpdHlFbnVtO1xyXG59Il19
@@ -1,5 +0,0 @@
1
- export * from './calc-check-digit.function';
2
- export * from './spx-severity.enum';
3
- export * from './value-pair-to-value.function';
4
- export * from './input-alert.interface';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaGVscGVycy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhbGMtY2hlY2stZGlnaXQuZnVuY3Rpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL3NweC1zZXZlcml0eS5lbnVtJztcclxuZXhwb3J0ICogZnJvbSAnLi92YWx1ZS1wYWlyLXRvLXZhbHVlLmZ1bmN0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1hbGVydC5pbnRlcmZhY2UnO1xyXG4iXX0=