@acorex/components 19.13.4 → 19.13.5

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 (212) hide show
  1. package/calendar/lib/calendar.component.d.ts +4 -0
  2. package/common/index.d.ts +1 -0
  3. package/common/lib/directives/copy-clipboard.directive.d.ts +40 -0
  4. package/common/lib/services/hotkey.service.d.ts +1 -1
  5. package/datetime-box/lib/datetime-box.component.d.ts +4 -3
  6. package/fesm2022/acorex-components-action-sheet.mjs +10 -10
  7. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  8. package/fesm2022/acorex-components-alert.mjs +7 -7
  9. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  10. package/fesm2022/acorex-components-audio-wave.mjs +7 -7
  11. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  12. package/fesm2022/acorex-components-autocomplete.mjs +7 -7
  13. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  14. package/fesm2022/acorex-components-avatar.mjs +10 -10
  15. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  16. package/fesm2022/acorex-components-badge.mjs +7 -7
  17. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  18. package/fesm2022/acorex-components-bottom-navigation.mjs +10 -10
  19. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  20. package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
  21. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  22. package/fesm2022/acorex-components-button-group.mjs +10 -10
  23. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  24. package/fesm2022/acorex-components-button.mjs +13 -13
  25. package/fesm2022/acorex-components-button.mjs.map +1 -1
  26. package/fesm2022/acorex-components-calendar.mjs +24 -14
  27. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  28. package/fesm2022/acorex-components-check-box.mjs +7 -7
  29. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  30. package/fesm2022/acorex-components-chips.mjs +7 -7
  31. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  32. package/fesm2022/acorex-components-circular-progress.mjs +7 -7
  33. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  34. package/fesm2022/acorex-components-collapse.mjs +10 -10
  35. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  36. package/fesm2022/acorex-components-color-box.mjs +25 -10
  37. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  38. package/fesm2022/acorex-components-color-palette.mjs +25 -25
  39. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  40. package/fesm2022/acorex-components-comment.mjs +28 -28
  41. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  42. package/fesm2022/acorex-components-common.mjs +170 -99
  43. package/fesm2022/acorex-components-common.mjs.map +1 -1
  44. package/fesm2022/acorex-components-conversation.mjs +49 -49
  45. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  46. package/fesm2022/acorex-components-cron-job.mjs +46 -46
  47. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  48. package/fesm2022/acorex-components-data-pager.mjs +31 -31
  49. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  50. package/fesm2022/acorex-components-data-table.mjs +37 -37
  51. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  52. package/fesm2022/acorex-components-datetime-box.mjs +19 -12
  53. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  54. package/fesm2022/acorex-components-datetime-input.mjs +7 -7
  55. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  56. package/fesm2022/acorex-components-datetime-picker.mjs +7 -7
  57. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  58. package/fesm2022/acorex-components-decorators.mjs +27 -27
  59. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  60. package/fesm2022/acorex-components-dialog.mjs +10 -10
  61. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  62. package/fesm2022/acorex-components-drawer.mjs +13 -13
  63. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  64. package/fesm2022/acorex-components-dropdown-button.mjs +7 -7
  65. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  66. package/fesm2022/acorex-components-dropdown.mjs +13 -13
  67. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  68. package/fesm2022/acorex-components-file-explorer.mjs +25 -25
  69. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  70. package/fesm2022/acorex-components-flow-chart.mjs +16 -16
  71. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  72. package/fesm2022/acorex-components-form.mjs +16 -16
  73. package/fesm2022/acorex-components-form.mjs.map +1 -1
  74. package/fesm2022/acorex-components-grid-layout-builder.mjs +10 -10
  75. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  76. package/fesm2022/acorex-components-image-editor.mjs +34 -34
  77. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  78. package/fesm2022/acorex-components-image.mjs +7 -7
  79. package/fesm2022/acorex-components-image.mjs.map +1 -1
  80. package/fesm2022/acorex-components-json-viewer.mjs +7 -7
  81. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  82. package/fesm2022/acorex-components-kbd.mjs +10 -10
  83. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  84. package/fesm2022/acorex-components-label.mjs +7 -7
  85. package/fesm2022/acorex-components-label.mjs.map +1 -1
  86. package/fesm2022/acorex-components-list.mjs +9 -9
  87. package/fesm2022/acorex-components-list.mjs.map +1 -1
  88. package/fesm2022/acorex-components-loading-dialog.mjs +10 -10
  89. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  90. package/fesm2022/acorex-components-loading.mjs +16 -16
  91. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  92. package/fesm2022/acorex-components-map.mjs +10 -10
  93. package/fesm2022/acorex-components-map.mjs.map +1 -1
  94. package/fesm2022/acorex-components-media-viewer.mjs +34 -34
  95. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  96. package/fesm2022/acorex-components-menu.mjs +16 -16
  97. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  98. package/fesm2022/{acorex-components-modal-acorex-components-modal-B4nBGqa3.mjs → acorex-components-modal-acorex-components-modal-C83n2Gqn.mjs} +21 -21
  99. package/fesm2022/{acorex-components-modal-acorex-components-modal-B4nBGqa3.mjs.map → acorex-components-modal-acorex-components-modal-C83n2Gqn.mjs.map} +1 -1
  100. package/fesm2022/{acorex-components-modal-modal-content.component-oWerCvDI.mjs → acorex-components-modal-modal-content.component-YrM5Oi9b.mjs} +5 -5
  101. package/fesm2022/{acorex-components-modal-modal-content.component-oWerCvDI.mjs.map → acorex-components-modal-modal-content.component-YrM5Oi9b.mjs.map} +1 -1
  102. package/fesm2022/acorex-components-modal.mjs +1 -1
  103. package/fesm2022/acorex-components-navbar.mjs +7 -7
  104. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  105. package/fesm2022/acorex-components-notification.mjs +10 -10
  106. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  107. package/fesm2022/acorex-components-number-box.mjs +7 -7
  108. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  109. package/fesm2022/acorex-components-otp.mjs +7 -7
  110. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  111. package/fesm2022/acorex-components-page.mjs +10 -10
  112. package/fesm2022/acorex-components-page.mjs.map +1 -1
  113. package/fesm2022/acorex-components-paint.mjs +25 -25
  114. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  115. package/fesm2022/acorex-components-password-box.mjs +10 -10
  116. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  117. package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
  118. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  119. package/fesm2022/acorex-components-phone-box.mjs +7 -7
  120. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  121. package/fesm2022/acorex-components-picker.mjs +13 -13
  122. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  123. package/fesm2022/acorex-components-popover.mjs +7 -7
  124. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  125. package/fesm2022/acorex-components-popup.mjs +10 -10
  126. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  127. package/fesm2022/acorex-components-progress-bar.mjs +7 -7
  128. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  129. package/fesm2022/acorex-components-qrcode.mjs +7 -7
  130. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  131. package/fesm2022/acorex-components-query-builder.mjs +8 -8
  132. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  133. package/fesm2022/acorex-components-radio.mjs +7 -7
  134. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  135. package/fesm2022/acorex-components-rail-navigation.mjs +13 -13
  136. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  137. package/fesm2022/acorex-components-range-slider.mjs +7 -7
  138. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  139. package/fesm2022/acorex-components-rate-picker.mjs +7 -7
  140. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  141. package/fesm2022/acorex-components-rest-api-generator.mjs +22 -22
  142. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  143. package/fesm2022/acorex-components-result.mjs +7 -7
  144. package/fesm2022/acorex-components-result.mjs.map +1 -1
  145. package/fesm2022/acorex-components-routing-progress.mjs +7 -7
  146. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  147. package/fesm2022/acorex-components-scheduler.mjs +910 -381
  148. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  149. package/fesm2022/acorex-components-scss.mjs +4 -4
  150. package/fesm2022/acorex-components-scss.mjs.map +1 -1
  151. package/fesm2022/acorex-components-search-box.mjs +7 -7
  152. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  153. package/fesm2022/acorex-components-select-box.mjs +24 -12
  154. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  155. package/fesm2022/acorex-components-selection-list.mjs +7 -7
  156. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  157. package/fesm2022/acorex-components-side-menu.mjs +13 -13
  158. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  159. package/fesm2022/acorex-components-skeleton.mjs +7 -7
  160. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  161. package/fesm2022/acorex-components-slider.mjs +7 -7
  162. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  163. package/fesm2022/acorex-components-sliding-item.mjs +13 -13
  164. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  165. package/fesm2022/acorex-components-step-wizard.mjs +13 -13
  166. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  167. package/fesm2022/acorex-components-switch.mjs +10 -10
  168. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  169. package/fesm2022/acorex-components-tabs.mjs +13 -13
  170. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  171. package/fesm2022/acorex-components-tag-box.mjs +7 -7
  172. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  173. package/fesm2022/acorex-components-tag.mjs +7 -7
  174. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  175. package/fesm2022/acorex-components-text-area.mjs +7 -7
  176. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  177. package/fesm2022/acorex-components-text-box.mjs +10 -10
  178. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  179. package/fesm2022/acorex-components-time-duration.mjs +247 -0
  180. package/fesm2022/acorex-components-time-duration.mjs.map +1 -0
  181. package/fesm2022/acorex-components-time-line.mjs +10 -10
  182. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  183. package/fesm2022/acorex-components-toast.mjs +10 -10
  184. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  185. package/fesm2022/acorex-components-toolbar.mjs +7 -7
  186. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  187. package/fesm2022/acorex-components-tooltip.mjs +10 -10
  188. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  189. package/fesm2022/acorex-components-tree-view.mjs +10 -10
  190. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  191. package/fesm2022/acorex-components-uploader.mjs +22 -22
  192. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  193. package/fesm2022/acorex-components-video-player.mjs +7 -7
  194. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  195. package/fesm2022/acorex-components-wysiwyg.mjs +31 -31
  196. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  197. package/package.json +5 -1
  198. package/scheduler/lib/scheduler.class.d.ts +13 -3
  199. package/scheduler/lib/scheduler.component.d.ts +5 -3
  200. package/scheduler/lib/scheduler.service.d.ts +13 -6
  201. package/scheduler/lib/views/agenda/scheduler-agenda-view.component.d.ts +12 -6
  202. package/scheduler/lib/views/day/scheduler-day-view.component.d.ts +9 -4
  203. package/scheduler/lib/views/month/scheduler-month-view.component.d.ts +16 -8
  204. package/scheduler/lib/views/timeline-day/scheduler-timeline-day-view.component.d.ts +12 -4
  205. package/scheduler/lib/views/timeline-month/scheduler-timeline-month-view.component.d.ts +11 -10
  206. package/scheduler/lib/views/timeline-multi-day/scheduler-timeline-multi-day-view.component.d.ts +8 -3
  207. package/scheduler/lib/views/week/scheduler-week-view.component.d.ts +24 -7
  208. package/time-duration/README.md +3 -0
  209. package/time-duration/index.d.ts +3 -0
  210. package/time-duration/lib/time-duration.component.d.ts +29 -0
  211. package/time-duration/lib/time-duration.module.d.ts +7 -0
  212. package/time-duration/lib/time-duration.type.d.ts +1 -0
@@ -266,8 +266,8 @@ class AXRatePickerComponent extends MXValueComponent {
266
266
  get isDisabled() {
267
267
  return this.disabled;
268
268
  }
269
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXRatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
270
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.9", type: AXRatePickerComponent, isStandalone: true, selector: "ax-rate-picker", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, iconName: { classPropertyName: "iconName", publicName: "iconName", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, hasTransition: { classPropertyName: "hasTransition", publicName: "hasTransition", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ax-active": "this.isActive", "class.ax-readonly": "this.isReadonly", "class.ax-disable": "this.isDisabled" } }, providers: [
269
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXRatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
270
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AXRatePickerComponent, isStandalone: true, selector: "ax-rate-picker", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, iconName: { classPropertyName: "iconName", publicName: "iconName", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, hasTransition: { classPropertyName: "hasTransition", publicName: "hasTransition", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ax-active": "this.isActive", "class.ax-readonly": "this.isReadonly", "class.ax-disable": "this.isDisabled" } }, providers: [
271
271
  { provide: AXValuableComponent, useExisting: AXRatePickerComponent },
272
272
  {
273
273
  provide: NG_VALUE_ACCESSOR,
@@ -276,7 +276,7 @@ class AXRatePickerComponent extends MXValueComponent {
276
276
  },
277
277
  ], viewQueries: [{ propertyName: "containerEl", first: true, predicate: ["c"], descendants: true, isSignal: true }, { propertyName: "ratingEl", first: true, predicate: ["r"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\n #c\n class=\"ax-rate-picker-container\"\n (click)=\"calculateRate($event)\"\n (touchstart)=\"calculateRate($event)\"\n (mouseenter)=\"mouseEnter()\"\n (mouseleave)=\"mouseLeave()\"\n>\n <div #r class=\"ax-rate-picker-rating\" [style.width.%]=\"ratePercentage()\">\n <div class=\"ax-rate-picker-icons ax-rp-active\">\n @for (rate of rates(); track rate) {\n <i class=\"ax-rate-picker-icon fa-solid\" [class]=\"iconName()\" [class.pointer]=\"!this.readonly\"></i>\n }\n </div>\n </div>\n <div class=\"ax-rate-picker-icons ax-rp-inactive\">\n @for (rate of rates(); track rate) {\n <i class=\"ax-rate-picker-icon fa-solid\" [class]=\"iconName()\"></i>\n }\n </div>\n</div>\n", styles: ["ax-rate-picker{--ax-comp-rate-picker-bg-color: var(--ax-sys-color-warning-surface);--ax-comp-rate-picker-inactive-bg-color: var(--ax-sys-color-dark);--ax-comp-rate-picker-inactive-bg-color-opacity: .2}.ax-dark ax-rate-picker{--ax-comp-rate-picker-inactive-bg-color: var(--ax-sys-color-light)}.ax-xs ax-rate-picker,ax-rate-picker.ax-xs{--ax-comp-rate-picker-font-size: 1rem}.ax-sm ax-rate-picker,ax-rate-picker.ax-sm{--ax-comp-rate-picker-font-size: 1.5rem}.ax-md ax-rate-picker,ax-rate-picker{--ax-comp-rate-picker-font-size: 2rem}.ax-lg ax-rate-picker,ax-rate-picker.ax-lg{--ax-comp-rate-picker-font-size: 2.5rem}.ax-xl ax-rate-picker,ax-rate-picker.ax-xl{--ax-comp-rate-picker-font-size: 3rem}ax-rate-picker{font-size:var(--ax-comp-rate-picker-font-size, 1.5rem)}ax-rate-picker.ax-active{cursor:pointer}ax-rate-picker.ax-disable{cursor:not-allowed;opacity:.5}ax-rate-picker .ax-rate-picker-container{position:relative;width:min-content}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-rating{position:relative;z-index:10;overflow:hidden}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-rating .ax-rate-picker-icons{display:flex}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-rating .ax-rate-picker-icons.ax-rp-active{color:rgba(var(--ax-comp-rate-picker-bg-color))}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-icons{display:flex}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-icons.ax-rp-inactive{color:rgba(var(--ax-comp-rate-picker-inactive-bg-color),var(--ax-comp-rate-picker-inactive-bg-color-opacity));position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:5}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
278
278
  }
279
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXRatePickerComponent, decorators: [{
279
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXRatePickerComponent, decorators: [{
280
280
  type: Component,
281
281
  args: [{ selector: 'ax-rate-picker', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['readonly', 'disabled'], providers: [
282
282
  { provide: AXValuableComponent, useExisting: AXRatePickerComponent },
@@ -298,11 +298,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
298
298
  }] } });
299
299
 
300
300
  class AXRatePickerModule {
301
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXRatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
302
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.9", ngImport: i0, type: AXRatePickerModule, imports: [CommonModule, AXRatePickerComponent], exports: [AXRatePickerComponent] }); }
303
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXRatePickerModule, imports: [CommonModule] }); }
301
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXRatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
302
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: AXRatePickerModule, imports: [CommonModule, AXRatePickerComponent], exports: [AXRatePickerComponent] }); }
303
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXRatePickerModule, imports: [CommonModule] }); }
304
304
  }
305
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXRatePickerModule, decorators: [{
305
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXRatePickerModule, decorators: [{
306
306
  type: NgModule,
307
307
  args: [{
308
308
  imports: [CommonModule, AXRatePickerComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-rate-picker.mjs","sources":["../../../../libs/components/rate-picker/src/lib/calculatePercentage.ts","../../../../libs/components/rate-picker/src/lib/rate-picker.component.ts","../../../../libs/components/rate-picker/src/lib/rate-picker.component.html","../../../../libs/components/rate-picker/src/lib/rate-picker.module.ts","../../../../libs/components/rate-picker/src/acorex-components-rate-picker.ts"],"sourcesContent":["/**\n * Calculates the horizontal position of a pointer event (mouse or touch) as a percentage\n * of the target element's width.\n *\n * @param event - The mouse or touch event to get the pointer position from.\n * @returns The percentage of the event's position relative to the target element's width,\n * or -1 if the event is invalid.\n *\n * @remarks\n * - For `MouseEvent`, it uses the `clientX` property.\n * - For `TouchEvent`, it uses the `clientX` of the first touch point.\n * - Returns `-1` if the event is neither a valid `MouseEvent` nor a `TouchEvent`.\n *\n * @example\n * ```typescript\n * document.addEventListener('click', function(event) {\n * const percentage = getPointerPercentage(event);\n * console.log(`Click position: ${percentage.toFixed(2)}% of the element's width`);\n * });\n *\n * document.addEventListener('touchstart', function(event) {\n * const percentage = getPointerPercentage(event);\n * console.log(`Touch position: ${percentage.toFixed(2)}% of the element's width`);\n * });\n * ```\n */\nexport function getPointerPercentage(event: MouseEvent | TouchEvent): number {\n let clientX: number;\n\n if (event instanceof MouseEvent) {\n clientX = event.clientX; // Mouse event uses clientX\n } else if (event instanceof TouchEvent && event.touches.length > 0) {\n clientX = event.touches[0].clientX; // Touch event uses the first touch's clientX\n } else {\n return -1; // Return -1 for invalid events\n }\n\n // Use currentTarget to get the bounding box of the element the event listener is attached to\n const rect = (event.currentTarget as HTMLElement).getBoundingClientRect();\n const clickX = clientX - rect.left; // Calculate X position relative to the element\n const divWidth = rect.width; // Get the width from the bounding box\n const percentage = (clickX / divWidth) * 100; // Calculate percentage\n\n return percentage;\n}\n","import { AXValuableComponent, MXValueComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n forwardRef,\n HostBinding,\n inject,\n input,\n Renderer2,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getPointerPercentage } from './calculatePercentage';\n\n/**\n * @description\n * The `AXRatePickerComponent` provides a customizable rating picker.\n * The component allows users to select a rating between 0 and the defined maximum.\n * It supports transitions, dynamic value changes, and hover states.\n *\n * @example\n * <ax-rate-picker [max]=\"5\" [readonly]=\"false\" [disabled]=\"false\"></ax-rate-picker>\n */\n@Component({\n selector: 'ax-rate-picker',\n templateUrl: './rate-picker.component.html',\n styleUrls: ['./rate-picker.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['readonly', 'disabled'],\n providers: [\n { provide: AXValuableComponent, useExisting: AXRatePickerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXRatePickerComponent),\n multi: true,\n },\n ],\n})\nexport class AXRatePickerComponent extends MXValueComponent<number> {\n /**\n * @description\n * The icon to be used for each rating point.\n * @default 'fa-star'\n */\n iconName = input('fa-star');\n\n /**\n * @description\n * Maximum value for the rating.\n * Defines how many rating points are available.\n * @default 5\n */\n max = input(5);\n\n /**\n * @description\n * Defines the step increment between rating values.\n * The rating value will be rounded to the nearest multiple of this step.\n * @default 0.01\n */\n step = input(0.01);\n\n /**\n * @description\n * Whether the rating should have a transition effect when changing values.\n * @default true\n */\n hasTransition = input(true);\n\n /**\n * @description\n * The percentage of the current rating value relative to the maximum rating.\n */\n protected ratePercentage = computed(() => Math.round((this.currentValue() / this.max()) * 10000) / 100);\n\n /**\n * @description\n * The current rating value as a signal.\n */\n private currentValue = signal(this.max());\n\n /**\n * @description\n * State for tracking hover status and previous value.\n */\n private prevState: { ishover: boolean; previousValue?: number } = {\n ishover: false,\n previousValue: undefined,\n };\n\n /**\n * @description\n * Reference to the container element.\n */\n containerEl = viewChild.required<ElementRef>('c');\n\n /**\n * @description\n * Reference to the rating element.\n */\n ratingEl = viewChild.required<ElementRef>('r');\n\n /**\n * @description\n * Renderer for manipulating styles.\n */\n renderer = inject(Renderer2);\n\n /**\n * @description\n * Array of rating values from 1 to `max`.\n */\n protected rates = computed(() =>\n Array(this.max())\n .fill(0)\n .map((_, index) => index + 1),\n );\n\n /**\n * @description\n * Initializes the component and sets up value change subscription.\n */\n constructor() {\n super();\n effect(() => {\n if (!this.hasTransition()) {\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'transition');\n }\n return this.hasTransition();\n });\n this.onValueChanged.subscribe((val: { value }) => {\n if (val.value < 0) {\n this.currentValue.set(0);\n console.warn('ax-rate-picker: value cant be negative!');\n } else if (val.value > this.max()) {\n this.currentValue.set(this.max());\n console.warn('ax-rate-picker: value cant be more than max!');\n } else {\n this.currentValue.set(val.value);\n }\n });\n }\n\n /**\n * @description\n * Calculates and updates the rating based on the mouse or touch event.\n *\n * @param event - The mouse or touch event triggering the rating calculation.\n */\n protected calculateRate(event: MouseEvent | TouchEvent): void {\n if (this.hasTransition()) {\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'transition');\n }\n event.preventDefault();\n if (!this.readonly && !this.disabled) {\n const pointerPercentage = getPointerPercentage(event);\n if (pointerPercentage === -1) {\n return console.warn('Only support touch and click events.');\n }\n const value = this.roundToStep(pointerPercentage);\n const decimals = this.countDecimals(this.step());\n if (this.prevState.ishover === true) {\n this.currentValue.set(value);\n } else {\n this.commitValue(Number(value.toFixed(decimals)));\n this.mouseEnter();\n }\n }\n }\n\n /**\n * @description\n * Rounds the rating value to the nearest step.\n *\n * @param percentage - The calculated percentage from pointer event.\n * @returns The rounded rating value.\n */\n private roundToStep(percentage: number): number {\n const value = (percentage / 100) * this.max();\n const value2 = Math.round(value / (this.step() || 0.01)) * this.step();\n return value2;\n }\n\n /**\n * @description\n * Handles mouse enter events to start tracking mouse movements for rating.\n */\n protected mouseEnter() {\n this.prevState = {\n ishover: true,\n previousValue: this.value,\n };\n if (this.hasTransition()) {\n this.renderer.setStyle(this.ratingEl().nativeElement, 'opacity', '80%');\n }\n const moveListener = (moveEvent: MouseEvent | TouchEvent) => this.calculateRate(moveEvent);\n const endListener = () => this.onEnd(moveListener, endListener);\n const container = this.containerEl().nativeElement;\n container.addEventListener('mousemove', moveListener);\n container.addEventListener('mouseup', endListener);\n container.addEventListener('mouseleave', endListener);\n }\n\n /**\n * @description\n * Handles mouse leave events to reset styles.\n */\n mouseLeave() {\n if (this.hasTransition()) {\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'opacity');\n }\n }\n\n /**\n * @description\n * Cleans up event listeners and restores the previous rating value.\n *\n * @param moveListener - The function to remove for mouse move events.\n * @param endListener - The function to remove for mouse end events.\n */\n private onEnd(moveListener: (event: MouseEvent | TouchEvent) => void, endListener: () => void): void {\n if (this.hasTransition()) {\n this.renderer.setStyle(this.ratingEl().nativeElement, 'transition', `width ${this.max() * 50 + 250}ms cubic-bezier(0.29, 0.72, 0.68, 0.85)`);\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'opacity');\n }\n this.currentValue.set(this.prevState.previousValue);\n this.prevState = {\n ishover: false,\n previousValue: undefined,\n };\n const container = this.containerEl().nativeElement;\n container.removeEventListener('mousemove', moveListener);\n container.removeEventListener('mouseup', endListener);\n container.removeEventListener('mouseleave', endListener);\n }\n\n private countDecimals(number: number): number {\n if (Math.floor(number) === number) return 0;\n return number.toString().split('.')[1].length || 0;\n }\n\n /**\n * @description\n * Determines if the component is active (i.e., not readonly or disabled).\n */\n @HostBinding('class.ax-active') get isActive() {\n return !this.readonly && !this.disabled;\n }\n\n /**\n * @description\n * Determines if the component is in readonly mode.\n */\n @HostBinding('class.ax-readonly') get isReadonly() {\n return this.readonly;\n }\n\n /**\n * @description\n * Determines if the component is disabled.\n */\n @HostBinding('class.ax-disable') get isDisabled() {\n return this.disabled;\n }\n}\n","<div\n #c\n class=\"ax-rate-picker-container\"\n (click)=\"calculateRate($event)\"\n (touchstart)=\"calculateRate($event)\"\n (mouseenter)=\"mouseEnter()\"\n (mouseleave)=\"mouseLeave()\"\n>\n <div #r class=\"ax-rate-picker-rating\" [style.width.%]=\"ratePercentage()\">\n <div class=\"ax-rate-picker-icons ax-rp-active\">\n @for (rate of rates(); track rate) {\n <i class=\"ax-rate-picker-icon fa-solid\" [class]=\"iconName()\" [class.pointer]=\"!this.readonly\"></i>\n }\n </div>\n </div>\n <div class=\"ax-rate-picker-icons ax-rp-inactive\">\n @for (rate of rates(); track rate) {\n <i class=\"ax-rate-picker-icon fa-solid\" [class]=\"iconName()\"></i>\n }\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXRatePickerComponent } from './rate-picker.component';\n\n@NgModule({\n imports: [CommonModule, AXRatePickerComponent],\n exports: [AXRatePickerComponent],\n})\nexport class AXRatePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-rate-picker.mjs","sources":["../../../../libs/components/rate-picker/src/lib/calculatePercentage.ts","../../../../libs/components/rate-picker/src/lib/rate-picker.component.ts","../../../../libs/components/rate-picker/src/lib/rate-picker.component.html","../../../../libs/components/rate-picker/src/lib/rate-picker.module.ts","../../../../libs/components/rate-picker/src/acorex-components-rate-picker.ts"],"sourcesContent":["/**\n * Calculates the horizontal position of a pointer event (mouse or touch) as a percentage\n * of the target element's width.\n *\n * @param event - The mouse or touch event to get the pointer position from.\n * @returns The percentage of the event's position relative to the target element's width,\n * or -1 if the event is invalid.\n *\n * @remarks\n * - For `MouseEvent`, it uses the `clientX` property.\n * - For `TouchEvent`, it uses the `clientX` of the first touch point.\n * - Returns `-1` if the event is neither a valid `MouseEvent` nor a `TouchEvent`.\n *\n * @example\n * ```typescript\n * document.addEventListener('click', function(event) {\n * const percentage = getPointerPercentage(event);\n * console.log(`Click position: ${percentage.toFixed(2)}% of the element's width`);\n * });\n *\n * document.addEventListener('touchstart', function(event) {\n * const percentage = getPointerPercentage(event);\n * console.log(`Touch position: ${percentage.toFixed(2)}% of the element's width`);\n * });\n * ```\n */\nexport function getPointerPercentage(event: MouseEvent | TouchEvent): number {\n let clientX: number;\n\n if (event instanceof MouseEvent) {\n clientX = event.clientX; // Mouse event uses clientX\n } else if (event instanceof TouchEvent && event.touches.length > 0) {\n clientX = event.touches[0].clientX; // Touch event uses the first touch's clientX\n } else {\n return -1; // Return -1 for invalid events\n }\n\n // Use currentTarget to get the bounding box of the element the event listener is attached to\n const rect = (event.currentTarget as HTMLElement).getBoundingClientRect();\n const clickX = clientX - rect.left; // Calculate X position relative to the element\n const divWidth = rect.width; // Get the width from the bounding box\n const percentage = (clickX / divWidth) * 100; // Calculate percentage\n\n return percentage;\n}\n","import { AXValuableComponent, MXValueComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n forwardRef,\n HostBinding,\n inject,\n input,\n Renderer2,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getPointerPercentage } from './calculatePercentage';\n\n/**\n * @description\n * The `AXRatePickerComponent` provides a customizable rating picker.\n * The component allows users to select a rating between 0 and the defined maximum.\n * It supports transitions, dynamic value changes, and hover states.\n *\n * @example\n * <ax-rate-picker [max]=\"5\" [readonly]=\"false\" [disabled]=\"false\"></ax-rate-picker>\n */\n@Component({\n selector: 'ax-rate-picker',\n templateUrl: './rate-picker.component.html',\n styleUrls: ['./rate-picker.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['readonly', 'disabled'],\n providers: [\n { provide: AXValuableComponent, useExisting: AXRatePickerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXRatePickerComponent),\n multi: true,\n },\n ],\n})\nexport class AXRatePickerComponent extends MXValueComponent<number> {\n /**\n * @description\n * The icon to be used for each rating point.\n * @default 'fa-star'\n */\n iconName = input('fa-star');\n\n /**\n * @description\n * Maximum value for the rating.\n * Defines how many rating points are available.\n * @default 5\n */\n max = input(5);\n\n /**\n * @description\n * Defines the step increment between rating values.\n * The rating value will be rounded to the nearest multiple of this step.\n * @default 0.01\n */\n step = input(0.01);\n\n /**\n * @description\n * Whether the rating should have a transition effect when changing values.\n * @default true\n */\n hasTransition = input(true);\n\n /**\n * @description\n * The percentage of the current rating value relative to the maximum rating.\n */\n protected ratePercentage = computed(() => Math.round((this.currentValue() / this.max()) * 10000) / 100);\n\n /**\n * @description\n * The current rating value as a signal.\n */\n private currentValue = signal(this.max());\n\n /**\n * @description\n * State for tracking hover status and previous value.\n */\n private prevState: { ishover: boolean; previousValue?: number } = {\n ishover: false,\n previousValue: undefined,\n };\n\n /**\n * @description\n * Reference to the container element.\n */\n containerEl = viewChild.required<ElementRef>('c');\n\n /**\n * @description\n * Reference to the rating element.\n */\n ratingEl = viewChild.required<ElementRef>('r');\n\n /**\n * @description\n * Renderer for manipulating styles.\n */\n renderer = inject(Renderer2);\n\n /**\n * @description\n * Array of rating values from 1 to `max`.\n */\n protected rates = computed(() =>\n Array(this.max())\n .fill(0)\n .map((_, index) => index + 1),\n );\n\n /**\n * @description\n * Initializes the component and sets up value change subscription.\n */\n constructor() {\n super();\n effect(() => {\n if (!this.hasTransition()) {\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'transition');\n }\n return this.hasTransition();\n });\n this.onValueChanged.subscribe((val: { value }) => {\n if (val.value < 0) {\n this.currentValue.set(0);\n console.warn('ax-rate-picker: value cant be negative!');\n } else if (val.value > this.max()) {\n this.currentValue.set(this.max());\n console.warn('ax-rate-picker: value cant be more than max!');\n } else {\n this.currentValue.set(val.value);\n }\n });\n }\n\n /**\n * @description\n * Calculates and updates the rating based on the mouse or touch event.\n *\n * @param event - The mouse or touch event triggering the rating calculation.\n */\n protected calculateRate(event: MouseEvent | TouchEvent): void {\n if (this.hasTransition()) {\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'transition');\n }\n event.preventDefault();\n if (!this.readonly && !this.disabled) {\n const pointerPercentage = getPointerPercentage(event);\n if (pointerPercentage === -1) {\n return console.warn('Only support touch and click events.');\n }\n const value = this.roundToStep(pointerPercentage);\n const decimals = this.countDecimals(this.step());\n if (this.prevState.ishover === true) {\n this.currentValue.set(value);\n } else {\n this.commitValue(Number(value.toFixed(decimals)));\n this.mouseEnter();\n }\n }\n }\n\n /**\n * @description\n * Rounds the rating value to the nearest step.\n *\n * @param percentage - The calculated percentage from pointer event.\n * @returns The rounded rating value.\n */\n private roundToStep(percentage: number): number {\n const value = (percentage / 100) * this.max();\n const value2 = Math.round(value / (this.step() || 0.01)) * this.step();\n return value2;\n }\n\n /**\n * @description\n * Handles mouse enter events to start tracking mouse movements for rating.\n */\n protected mouseEnter() {\n this.prevState = {\n ishover: true,\n previousValue: this.value,\n };\n if (this.hasTransition()) {\n this.renderer.setStyle(this.ratingEl().nativeElement, 'opacity', '80%');\n }\n const moveListener = (moveEvent: MouseEvent | TouchEvent) => this.calculateRate(moveEvent);\n const endListener = () => this.onEnd(moveListener, endListener);\n const container = this.containerEl().nativeElement;\n container.addEventListener('mousemove', moveListener);\n container.addEventListener('mouseup', endListener);\n container.addEventListener('mouseleave', endListener);\n }\n\n /**\n * @description\n * Handles mouse leave events to reset styles.\n */\n mouseLeave() {\n if (this.hasTransition()) {\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'opacity');\n }\n }\n\n /**\n * @description\n * Cleans up event listeners and restores the previous rating value.\n *\n * @param moveListener - The function to remove for mouse move events.\n * @param endListener - The function to remove for mouse end events.\n */\n private onEnd(moveListener: (event: MouseEvent | TouchEvent) => void, endListener: () => void): void {\n if (this.hasTransition()) {\n this.renderer.setStyle(this.ratingEl().nativeElement, 'transition', `width ${this.max() * 50 + 250}ms cubic-bezier(0.29, 0.72, 0.68, 0.85)`);\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'opacity');\n }\n this.currentValue.set(this.prevState.previousValue);\n this.prevState = {\n ishover: false,\n previousValue: undefined,\n };\n const container = this.containerEl().nativeElement;\n container.removeEventListener('mousemove', moveListener);\n container.removeEventListener('mouseup', endListener);\n container.removeEventListener('mouseleave', endListener);\n }\n\n private countDecimals(number: number): number {\n if (Math.floor(number) === number) return 0;\n return number.toString().split('.')[1].length || 0;\n }\n\n /**\n * @description\n * Determines if the component is active (i.e., not readonly or disabled).\n */\n @HostBinding('class.ax-active') get isActive() {\n return !this.readonly && !this.disabled;\n }\n\n /**\n * @description\n * Determines if the component is in readonly mode.\n */\n @HostBinding('class.ax-readonly') get isReadonly() {\n return this.readonly;\n }\n\n /**\n * @description\n * Determines if the component is disabled.\n */\n @HostBinding('class.ax-disable') get isDisabled() {\n return this.disabled;\n }\n}\n","<div\n #c\n class=\"ax-rate-picker-container\"\n (click)=\"calculateRate($event)\"\n (touchstart)=\"calculateRate($event)\"\n (mouseenter)=\"mouseEnter()\"\n (mouseleave)=\"mouseLeave()\"\n>\n <div #r class=\"ax-rate-picker-rating\" [style.width.%]=\"ratePercentage()\">\n <div class=\"ax-rate-picker-icons ax-rp-active\">\n @for (rate of rates(); track rate) {\n <i class=\"ax-rate-picker-icon fa-solid\" [class]=\"iconName()\" [class.pointer]=\"!this.readonly\"></i>\n }\n </div>\n </div>\n <div class=\"ax-rate-picker-icons ax-rp-inactive\">\n @for (rate of rates(); track rate) {\n <i class=\"ax-rate-picker-icon fa-solid\" [class]=\"iconName()\"></i>\n }\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXRatePickerComponent } from './rate-picker.component';\n\n@NgModule({\n imports: [CommonModule, AXRatePickerComponent],\n exports: [AXRatePickerComponent],\n})\nexport class AXRatePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBG;AACG,SAAU,oBAAoB,CAAC,KAA8B,EAAA;AACjE,IAAA,IAAI,OAAe;AAEnB,IAAA,IAAI,KAAK,YAAY,UAAU,EAAE;AAC/B,QAAA,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;;AACnB,SAAA,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QAClE,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;;SAC9B;AACL,QAAA,OAAO,CAAC,CAAC,CAAC;;;IAIZ,MAAM,IAAI,GAAI,KAAK,CAAC,aAA6B,CAAC,qBAAqB,EAAE;IACzE,MAAM,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;AACnC,IAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;IAC5B,MAAM,UAAU,GAAG,CAAC,MAAM,GAAG,QAAQ,IAAI,GAAG,CAAC;AAE7C,IAAA,OAAO,UAAU;AACnB;;ACzBA;;;;;;;;AAQG;AAiBG,MAAO,qBAAsB,SAAQ,gBAAwB,CAAA;AAgFjE;;;AAGG;AACH,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AApFT;;;;AAIG;AACH,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;AAE3B;;;;;AAKG;AACH,QAAA,IAAA,CAAA,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;AAEd;;;;;AAKG;AACH,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AAElB;;;;AAIG;AACH,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC;AAE3B;;;AAGG;QACO,IAAc,CAAA,cAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC;AAEvG;;;AAGG;QACK,IAAY,CAAA,YAAA,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAEzC;;;AAGG;AACK,QAAA,IAAA,CAAA,SAAS,GAAiD;AAChE,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,aAAa,EAAE,SAAS;SACzB;AAED;;;AAGG;AACH,QAAA,IAAA,CAAA,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAa,GAAG,CAAC;AAEjD;;;AAGG;AACH,QAAA,IAAA,CAAA,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAa,GAAG,CAAC;AAE9C;;;AAGG;AACH,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAE5B;;;AAGG;AACO,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAC,MACzB,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;aACb,IAAI,CAAC,CAAC;AACN,aAAA,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC,CAChC;QAQC,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE;AACzB,gBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;;AAExE,YAAA,OAAO,IAAI,CAAC,aAAa,EAAE;AAC7B,SAAC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,GAAc,KAAI;AAC/C,YAAA,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE;AACjB,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AACxB,gBAAA,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC;;iBAClD,IAAI,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE;gBACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACjC,gBAAA,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC;;iBACvD;gBACL,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;;AAEpC,SAAC,CAAC;;AAGJ;;;;;AAKG;AACO,IAAA,aAAa,CAAC,KAA8B,EAAA;AACpD,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACxB,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;;QAExE,KAAK,CAAC,cAAc,EAAE;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACpC,YAAA,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,KAAK,CAAC;AACrD,YAAA,IAAI,iBAAiB,KAAK,CAAC,CAAC,EAAE;AAC5B,gBAAA,OAAO,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC;;YAE7D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;YACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,IAAI,EAAE;AACnC,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;;iBACvB;AACL,gBAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACjD,IAAI,CAAC,UAAU,EAAE;;;;AAKvB;;;;;;AAMG;AACK,IAAA,WAAW,CAAC,UAAkB,EAAA;AACpC,QAAA,MAAM,KAAK,GAAG,CAAC,UAAU,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE;AACtE,QAAA,OAAO,MAAM;;AAGf;;;AAGG;IACO,UAAU,GAAA;QAClB,IAAI,CAAC,SAAS,GAAG;AACf,YAAA,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI,CAAC,KAAK;SAC1B;AACD,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACxB,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,CAAC;;AAEzE,QAAA,MAAM,YAAY,GAAG,CAAC,SAAkC,KAAK,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;AAC1F,QAAA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC;QAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,aAAa;AAClD,QAAA,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,YAAY,CAAC;AACrD,QAAA,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC;AAClD,QAAA,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,WAAW,CAAC;;AAGvD;;;AAGG;IACH,UAAU,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACxB,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;;;AAIvE;;;;;;AAMG;IACK,KAAK,CAAC,YAAsD,EAAE,WAAuB,EAAA;AAC3F,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;YACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,CAAA,MAAA,EAAS,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAyC,uCAAA,CAAA,CAAC;AAC5I,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;;QAErE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG;AACf,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,aAAa,EAAE,SAAS;SACzB;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,aAAa;AAClD,QAAA,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,YAAY,CAAC;AACxD,QAAA,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,WAAW,CAAC;AACrD,QAAA,SAAS,CAAC,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC;;AAGlD,IAAA,aAAa,CAAC,MAAc,EAAA;AAClC,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,MAAM;AAAE,YAAA,OAAO,CAAC;AAC3C,QAAA,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC;;AAGpD;;;AAGG;AACH,IAAA,IAAoC,QAAQ,GAAA;QAC1C,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ;;AAGzC;;;AAGG;AACH,IAAA,IAAsC,UAAU,GAAA;QAC9C,OAAO,IAAI,CAAC,QAAQ;;AAGtB;;;AAGG;AACH,IAAA,IAAqC,UAAU,GAAA;QAC7C,OAAO,IAAI,CAAC,QAAQ;;+GAhOX,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EATrB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,qBAAqB,EAAE;AACpE,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,qBAAqB,CAAC;AACpD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,GAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,GAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1CH,otBAqBA,EAAA,MAAA,EAAA,CAAA,0lDAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDuBa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAhBjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAGX,aAAA,EAAA,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EACvC,CAAC,UAAU,EAAE,UAAU,CAAC,EACrB,SAAA,EAAA;AACT,wBAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,uBAAuB,EAAE;AACpE,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,2BAA2B,CAAC;AACpD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,otBAAA,EAAA,MAAA,EAAA,CAAA,0lDAAA,CAAA,EAAA;wDAiNmC,QAAQ,EAAA,CAAA;sBAA3C,WAAW;uBAAC,iBAAiB;gBAQQ,UAAU,EAAA,CAAA;sBAA/C,WAAW;uBAAC,mBAAmB;gBAQK,UAAU,EAAA,CAAA;sBAA9C,WAAW;uBAAC,kBAAkB;;;MEnQpB,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EAHnB,OAAA,EAAA,CAAA,YAAY,EAAE,qBAAqB,aACnC,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAEpB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAHnB,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAGX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,qBAAqB,CAAC;oBAC9C,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACjC,iBAAA;;;ACPD;;AAEG;;;;"}
@@ -23,10 +23,10 @@ class AXRestApiGeneratorService {
23
23
  body: '',
24
24
  });
25
25
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXRestApiGeneratorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
27
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXRestApiGeneratorService }); }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXRestApiGeneratorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
27
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXRestApiGeneratorService }); }
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXRestApiGeneratorService, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXRestApiGeneratorService, decorators: [{
30
30
  type: Injectable
31
31
  }] });
32
32
 
@@ -87,10 +87,10 @@ class AXQueryParamsComponent {
87
87
  }
88
88
  return '';
89
89
  }
90
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXQueryParamsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
91
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.9", type: AXQueryParamsComponent, isStandalone: true, selector: "ax-query-params", ngImport: i0, template: "<div class=\"ax-query-params-container\">\n <div class=\"ax-query-params-header\">\n <ax-text>Query Params</ax-text>\n <ax-button look=\"blank\" class=\"ax-sm\" color=\"primary\" (onClick)=\"addQueryParamsHandler()\">\n <ax-icon icon=\"ax-icon ax-icon-plus\"></ax-icon>\n </ax-button>\n </div>\n\n <div class=\"ax-query-params-value-container\">\n @for (item of queryParamsArray(); track item) {\n <div class=\"ax-query-params-value\">\n <ax-text-box (onValueChanged)=\"queryParamsKeyHandler($event, item.tempId)\" placeholder=\"key\" [ngModel]=\"setInitialState(item, 'key')\"></ax-text-box>\n <ax-text-box\n (onValueChanged)=\"queryParamsValueHandler($event, item.tempId)\"\n placeholder=\"value\"\n [ngModel]=\"setInitialState(item, 'value')\"\n ></ax-text-box>\n <ax-button look=\"blank\" class=\"ax-md\" color=\"danger\" (onClick)=\"removeQueryParamsHandler(item.tempId)\">\n <ax-prefix>\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n }\n </div>\n</div>\n", styles: ["ax-query-params{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}ax-query-params .ax-query-params-container{width:100%}ax-query-params .ax-query-params-value-container{display:flex;flex-direction:column;gap:.5rem}ax-query-params .ax-query-params-value-container .ax-query-params-value{display:flex;gap:.5rem;align-items:center}ax-query-params .ax-query-params-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXQueryParamsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
91
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AXQueryParamsComponent, isStandalone: true, selector: "ax-query-params", ngImport: i0, template: "<div class=\"ax-query-params-container\">\n <div class=\"ax-query-params-header\">\n <ax-text>Query Params</ax-text>\n <ax-button look=\"blank\" class=\"ax-sm\" color=\"primary\" (onClick)=\"addQueryParamsHandler()\">\n <ax-icon icon=\"ax-icon ax-icon-plus\"></ax-icon>\n </ax-button>\n </div>\n\n <div class=\"ax-query-params-value-container\">\n @for (item of queryParamsArray(); track item) {\n <div class=\"ax-query-params-value\">\n <ax-text-box (onValueChanged)=\"queryParamsKeyHandler($event, item.tempId)\" placeholder=\"key\" [ngModel]=\"setInitialState(item, 'key')\"></ax-text-box>\n <ax-text-box\n (onValueChanged)=\"queryParamsValueHandler($event, item.tempId)\"\n placeholder=\"value\"\n [ngModel]=\"setInitialState(item, 'value')\"\n ></ax-text-box>\n <ax-button look=\"blank\" class=\"ax-md\" color=\"danger\" (onClick)=\"removeQueryParamsHandler(item.tempId)\">\n <ax-prefix>\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n }\n </div>\n</div>\n", styles: ["ax-query-params{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}ax-query-params .ax-query-params-container{width:100%}ax-query-params .ax-query-params-value-container{display:flex;flex-direction:column;gap:.5rem}ax-query-params .ax-query-params-value-container .ax-query-params-value{display:flex;gap:.5rem;align-items:center}ax-query-params .ax-query-params-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
92
92
  }
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXQueryParamsComponent, decorators: [{
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXQueryParamsComponent, decorators: [{
94
94
  type: Component,
95
95
  args: [{ selector: 'ax-query-params', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXDecoratorGenericComponent, AXButtonComponent, AXDecoratorIconComponent, AXTextBoxComponent, FormsModule], template: "<div class=\"ax-query-params-container\">\n <div class=\"ax-query-params-header\">\n <ax-text>Query Params</ax-text>\n <ax-button look=\"blank\" class=\"ax-sm\" color=\"primary\" (onClick)=\"addQueryParamsHandler()\">\n <ax-icon icon=\"ax-icon ax-icon-plus\"></ax-icon>\n </ax-button>\n </div>\n\n <div class=\"ax-query-params-value-container\">\n @for (item of queryParamsArray(); track item) {\n <div class=\"ax-query-params-value\">\n <ax-text-box (onValueChanged)=\"queryParamsKeyHandler($event, item.tempId)\" placeholder=\"key\" [ngModel]=\"setInitialState(item, 'key')\"></ax-text-box>\n <ax-text-box\n (onValueChanged)=\"queryParamsValueHandler($event, item.tempId)\"\n placeholder=\"value\"\n [ngModel]=\"setInitialState(item, 'value')\"\n ></ax-text-box>\n <ax-button look=\"blank\" class=\"ax-md\" color=\"danger\" (onClick)=\"removeQueryParamsHandler(item.tempId)\">\n <ax-prefix>\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n }\n </div>\n</div>\n", styles: ["ax-query-params{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}ax-query-params .ax-query-params-container{width:100%}ax-query-params .ax-query-params-value-container{display:flex;flex-direction:column;gap:.5rem}ax-query-params .ax-query-params-value-container .ax-query-params-value{display:flex;gap:.5rem;align-items:center}ax-query-params .ax-query-params-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}\n"] }]
96
96
  }] });
@@ -158,10 +158,10 @@ class AXRequestBodyComponent {
158
158
  return copy;
159
159
  });
160
160
  }
161
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXRequestBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
162
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.9", type: AXRequestBodyComponent, isStandalone: true, selector: "ax-request-body", ngImport: i0, template: "<ax-selection-list [showControl]=\"true\" look=\"solid\" [items]=\"items\" [(ngModel)]=\"value\" (onValueChanged)=\"bodyReqHandler($event)\"> </ax-selection-list>\n<ax-text-area [(ngModel)]=\"service.outPutJSON().body\" (onValueChanged)=\"bodyTextHandler($event)\" [placeholder]=\"selectedItem().placeHolder\"> </ax-text-area>\n", styles: ["ax-request-body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}\n"], dependencies: [{ kind: "component", type: AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXTextAreaComponent, selector: "ax-text-area", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "placeholder", "maxLength", "look", "rows", "allowResize", "showCounter", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
161
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXRequestBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
162
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: AXRequestBodyComponent, isStandalone: true, selector: "ax-request-body", ngImport: i0, template: "<ax-selection-list [showControl]=\"true\" look=\"solid\" [items]=\"items\" [(ngModel)]=\"value\" (onValueChanged)=\"bodyReqHandler($event)\"> </ax-selection-list>\n<ax-text-area [(ngModel)]=\"service.outPutJSON().body\" (onValueChanged)=\"bodyTextHandler($event)\" [placeholder]=\"selectedItem().placeHolder\"> </ax-text-area>\n", styles: ["ax-request-body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}\n"], dependencies: [{ kind: "component", type: AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXTextAreaComponent, selector: "ax-text-area", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "placeholder", "maxLength", "look", "rows", "allowResize", "showCounter", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
163
163
  }
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXRequestBodyComponent, decorators: [{
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXRequestBodyComponent, decorators: [{
165
165
  type: Component,
166
166
  args: [{ selector: 'ax-request-body', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXSelectionListComponent, FormsModule, AXTextAreaComponent], template: "<ax-selection-list [showControl]=\"true\" look=\"solid\" [items]=\"items\" [(ngModel)]=\"value\" (onValueChanged)=\"bodyReqHandler($event)\"> </ax-selection-list>\n<ax-text-area [(ngModel)]=\"service.outPutJSON().body\" (onValueChanged)=\"bodyTextHandler($event)\" [placeholder]=\"selectedItem().placeHolder\"> </ax-text-area>\n", styles: ["ax-request-body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}\n"] }]
167
167
  }] });
@@ -240,10 +240,10 @@ class AXRequestHeadersComponent {
240
240
  });
241
241
  return [allHeaders];
242
242
  }
243
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXRequestHeadersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
244
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.9", type: AXRequestHeadersComponent, isStandalone: true, selector: "ax-request-headers", ngImport: i0, template: "<div class=\"ax-headers-container\">\n <div class=\"ax-headers-header\">\n <ax-text>Headers</ax-text>\n <ax-button look=\"blank\" class=\"ax-sm\" color=\"primary\" (onClick)=\"addHeadersHandler()\">\n <ax-icon icon=\"ax-icon ax-icon-plus\"></ax-icon>\n </ax-button>\n </div>\n\n <div class=\"ax-headers-value-container\">\n @for (item of headersArray(); track item.tempId) {\n <div class=\"ax-headers-value\">\n <ax-text-box [ngModel]=\"setInitialState(item, 'key')\" (onValueChanged)=\"headersKeyHandler($event, item.tempId)\" placeholder=\"key\"></ax-text-box>\n <ax-text-box [ngModel]=\"setInitialState(item, 'value')\" (onValueChanged)=\"headersValueHandler($event, item.tempId)\" placeholder=\"value\"></ax-text-box>\n <ax-button look=\"blank\" class=\"ax-md\" color=\"danger\" (onClick)=\"removeHeadersHandler(item.tempId)\">\n <ax-prefix>\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n }\n </div>\n</div>\n", styles: ["ax-request-headers{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}ax-request-headers .ax-headers-container{width:100%}ax-request-headers .ax-headers-value-container{display:flex;flex-direction:column;gap:.5rem}ax-request-headers .ax-headers-value-container .ax-headers-value{display:flex;gap:.5rem;align-items:center}ax-request-headers .ax-headers-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
243
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXRequestHeadersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
244
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AXRequestHeadersComponent, isStandalone: true, selector: "ax-request-headers", ngImport: i0, template: "<div class=\"ax-headers-container\">\n <div class=\"ax-headers-header\">\n <ax-text>Headers</ax-text>\n <ax-button look=\"blank\" class=\"ax-sm\" color=\"primary\" (onClick)=\"addHeadersHandler()\">\n <ax-icon icon=\"ax-icon ax-icon-plus\"></ax-icon>\n </ax-button>\n </div>\n\n <div class=\"ax-headers-value-container\">\n @for (item of headersArray(); track item.tempId) {\n <div class=\"ax-headers-value\">\n <ax-text-box [ngModel]=\"setInitialState(item, 'key')\" (onValueChanged)=\"headersKeyHandler($event, item.tempId)\" placeholder=\"key\"></ax-text-box>\n <ax-text-box [ngModel]=\"setInitialState(item, 'value')\" (onValueChanged)=\"headersValueHandler($event, item.tempId)\" placeholder=\"value\"></ax-text-box>\n <ax-button look=\"blank\" class=\"ax-md\" color=\"danger\" (onClick)=\"removeHeadersHandler(item.tempId)\">\n <ax-prefix>\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n }\n </div>\n</div>\n", styles: ["ax-request-headers{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}ax-request-headers .ax-headers-container{width:100%}ax-request-headers .ax-headers-value-container{display:flex;flex-direction:column;gap:.5rem}ax-request-headers .ax-headers-value-container .ax-headers-value{display:flex;gap:.5rem;align-items:center}ax-request-headers .ax-headers-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
245
245
  }
246
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXRequestHeadersComponent, decorators: [{
246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXRequestHeadersComponent, decorators: [{
247
247
  type: Component,
248
248
  args: [{ selector: 'ax-request-headers', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXDecoratorGenericComponent, AXButtonComponent, AXDecoratorIconComponent, AXTextBoxComponent, FormsModule], template: "<div class=\"ax-headers-container\">\n <div class=\"ax-headers-header\">\n <ax-text>Headers</ax-text>\n <ax-button look=\"blank\" class=\"ax-sm\" color=\"primary\" (onClick)=\"addHeadersHandler()\">\n <ax-icon icon=\"ax-icon ax-icon-plus\"></ax-icon>\n </ax-button>\n </div>\n\n <div class=\"ax-headers-value-container\">\n @for (item of headersArray(); track item.tempId) {\n <div class=\"ax-headers-value\">\n <ax-text-box [ngModel]=\"setInitialState(item, 'key')\" (onValueChanged)=\"headersKeyHandler($event, item.tempId)\" placeholder=\"key\"></ax-text-box>\n <ax-text-box [ngModel]=\"setInitialState(item, 'value')\" (onValueChanged)=\"headersValueHandler($event, item.tempId)\" placeholder=\"value\"></ax-text-box>\n <ax-button look=\"blank\" class=\"ax-md\" color=\"danger\" (onClick)=\"removeHeadersHandler(item.tempId)\">\n <ax-prefix>\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n }\n </div>\n</div>\n", styles: ["ax-request-headers{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}ax-request-headers .ax-headers-container{width:100%}ax-request-headers .ax-headers-value-container{display:flex;flex-direction:column;gap:.5rem}ax-request-headers .ax-headers-value-container .ax-headers-value{display:flex;gap:.5rem;align-items:center}ax-request-headers .ax-headers-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}\n"] }]
249
249
  }] });
@@ -286,10 +286,10 @@ class AXRestApiAuthComponent {
286
286
  return copy;
287
287
  });
288
288
  }
289
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXRestApiAuthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
290
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.9", type: AXRestApiAuthComponent, isStandalone: true, selector: "ax-rest-api-auth", ngImport: i0, template: "<ax-selection-list [showControl]=\"true\" look=\"solid\" [items]=\"items\" [(ngModel)]=\"value\" (onValueChanged)=\"authTypeHandler($event)\"> </ax-selection-list>\n\n@if (selectedItem().text !== 'None') {\n <ax-text-box [(ngModel)]=\"service.outPutJSON().headers.Authorization\" (onValueChanged)=\"authInputHandler($event)\" [placeholder]=\"selectedItem().placeHolder\">\n </ax-text-box>\n}\n", styles: ["ax-rest-api-auth{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}\n"], dependencies: [{ kind: "component", type: AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
289
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXRestApiAuthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
290
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AXRestApiAuthComponent, isStandalone: true, selector: "ax-rest-api-auth", ngImport: i0, template: "<ax-selection-list [showControl]=\"true\" look=\"solid\" [items]=\"items\" [(ngModel)]=\"value\" (onValueChanged)=\"authTypeHandler($event)\"> </ax-selection-list>\n\n@if (selectedItem().text !== 'None') {\n <ax-text-box [(ngModel)]=\"service.outPutJSON().headers.Authorization\" (onValueChanged)=\"authInputHandler($event)\" [placeholder]=\"selectedItem().placeHolder\">\n </ax-text-box>\n}\n", styles: ["ax-rest-api-auth{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}\n"], dependencies: [{ kind: "component", type: AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
291
291
  }
292
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXRestApiAuthComponent, decorators: [{
292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXRestApiAuthComponent, decorators: [{
293
293
  type: Component,
294
294
  args: [{ selector: 'ax-rest-api-auth', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXSelectionListComponent, FormsModule, AXTextBoxComponent], template: "<ax-selection-list [showControl]=\"true\" look=\"solid\" [items]=\"items\" [(ngModel)]=\"value\" (onValueChanged)=\"authTypeHandler($event)\"> </ax-selection-list>\n\n@if (selectedItem().text !== 'None') {\n <ax-text-box [(ngModel)]=\"service.outPutJSON().headers.Authorization\" (onValueChanged)=\"authInputHandler($event)\" [placeholder]=\"selectedItem().placeHolder\">\n </ax-text-box>\n}\n", styles: ["ax-rest-api-auth{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}\n"] }]
295
295
  }] });
@@ -316,10 +316,10 @@ class AXRestApiGeneratorComponent {
316
316
  methodHandler(e) {
317
317
  this.service.outPutJSON.update((prev) => ({ ...prev, method: e.value }));
318
318
  }
319
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXRestApiGeneratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
320
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.9", type: AXRestApiGeneratorComponent, isStandalone: true, selector: "ax-rest-api-generator", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onValueChange: "onValueChange" }, providers: [AXRestApiGeneratorService], ngImport: i0, template: "<div class=\"ax-url-input-container\">\n <ax-text-box [(ngModel)]=\"service.outPutJSON().url\" placeholder=\"URL\" (onValueChanged)=\"urlHandler($event)\">\n <ax-clear-button></ax-clear-button>\n <ax-prefix>\n <ax-select-box\n [(ngModel)]=\"service.outPutJSON().method\"\n (onValueChanged)=\"methodHandler($event)\"\n [dataSource]=\"['GET', 'POST', 'DELETE', 'PUT', 'PATCH']\"\n >\n </ax-select-box\n ></ax-prefix>\n </ax-text-box>\n</div>\n\n<ax-tabs [content]=\"cronTab\" look=\"with-line\" [fitParent]=\"true\" location=\"bottom\">\n <ax-tab-item key=\"1\" text=\"Params\">\n <ax-content> <ax-query-params></ax-query-params> </ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"2\" text=\"Body\">\n <ax-content><ax-request-body></ax-request-body></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"3\" text=\"Auth\">\n <ax-content> <ax-rest-api-auth></ax-rest-api-auth></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"4\" text=\"Headers\">\n <ax-content> <ax-request-headers></ax-request-headers></ax-content>\n </ax-tab-item>\n</ax-tabs>\n\n<ng-template [axTabContent] #cronTab=\"axTabContent\"> </ng-template>\n", styles: ["ax-rest-api-generator{display:flex;flex-direction:column;gap:1rem;min-width:40rem}@media screen and (max-width: 1024px){ax-rest-api-generator{min-width:100%}}ax-rest-api-generator ax-select-box ax-dropdown-box{--ax-comp-editor-border-width: 0px !important}ax-rest-api-generator ax-select-box ax-dropdown-box.ax-editor-container{--ax-comp-editor-box-outline-width: 0}ax-rest-api-generator .ax-select-box{border:0}\n"], dependencies: [{ kind: "component", type: AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "component", type: AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "component", type: AXQueryParamsComponent, selector: "ax-query-params" }, { kind: "component", type: AXRequestBodyComponent, selector: "ax-request-body" }, { kind: "component", type: AXRestApiAuthComponent, selector: "ax-rest-api-auth" }, { kind: "component", type: AXRequestHeadersComponent, selector: "ax-request-headers" }, { kind: "directive", type: AXTabContentDirective, selector: "[axTabContent]", inputs: ["axTabContent"], exportAs: ["axTabContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
319
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXRestApiGeneratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
320
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AXRestApiGeneratorComponent, isStandalone: true, selector: "ax-rest-api-generator", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onValueChange: "onValueChange" }, providers: [AXRestApiGeneratorService], ngImport: i0, template: "<div class=\"ax-url-input-container\">\n <ax-text-box [(ngModel)]=\"service.outPutJSON().url\" placeholder=\"URL\" (onValueChanged)=\"urlHandler($event)\">\n <ax-clear-button></ax-clear-button>\n <ax-prefix>\n <ax-select-box\n [(ngModel)]=\"service.outPutJSON().method\"\n (onValueChanged)=\"methodHandler($event)\"\n [dataSource]=\"['GET', 'POST', 'DELETE', 'PUT', 'PATCH']\"\n >\n </ax-select-box\n ></ax-prefix>\n </ax-text-box>\n</div>\n\n<ax-tabs [content]=\"cronTab\" look=\"with-line\" [fitParent]=\"true\" location=\"bottom\">\n <ax-tab-item key=\"1\" text=\"Params\">\n <ax-content> <ax-query-params></ax-query-params> </ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"2\" text=\"Body\">\n <ax-content><ax-request-body></ax-request-body></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"3\" text=\"Auth\">\n <ax-content> <ax-rest-api-auth></ax-rest-api-auth></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"4\" text=\"Headers\">\n <ax-content> <ax-request-headers></ax-request-headers></ax-content>\n </ax-tab-item>\n</ax-tabs>\n\n<ng-template [axTabContent] #cronTab=\"axTabContent\"> </ng-template>\n", styles: ["ax-rest-api-generator{display:flex;flex-direction:column;gap:1rem;min-width:40rem}@media screen and (max-width: 1024px){ax-rest-api-generator{min-width:100%}}ax-rest-api-generator ax-select-box ax-dropdown-box{--ax-comp-editor-border-width: 0px !important}ax-rest-api-generator ax-select-box ax-dropdown-box.ax-editor-container{--ax-comp-editor-box-outline-width: 0}ax-rest-api-generator .ax-select-box{border:0}\n"], dependencies: [{ kind: "component", type: AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "component", type: AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "component", type: AXQueryParamsComponent, selector: "ax-query-params" }, { kind: "component", type: AXRequestBodyComponent, selector: "ax-request-body" }, { kind: "component", type: AXRestApiAuthComponent, selector: "ax-rest-api-auth" }, { kind: "component", type: AXRequestHeadersComponent, selector: "ax-request-headers" }, { kind: "directive", type: AXTabContentDirective, selector: "[axTabContent]", inputs: ["axTabContent"], exportAs: ["axTabContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
321
321
  }
322
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXRestApiGeneratorComponent, decorators: [{
322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXRestApiGeneratorComponent, decorators: [{
323
323
  type: Component,
324
324
  args: [{ selector: 'ax-rest-api-generator', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [AXRestApiGeneratorService], imports: [
325
325
  AXTextBoxComponent,
@@ -340,11 +340,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
340
340
  const COMPONENT = [AXRestApiGeneratorComponent, AXQueryParamsComponent, AXRequestBodyComponent, AXRestApiAuthComponent, AXRequestHeadersComponent];
341
341
  const MODULES = [AXTextBoxModule, AXDecoratorModule, AXSelectBoxModule, AXTabsModule, AXButtonModule, AXTextAreaModule, AXSelectionListModule, FormsModule];
342
342
  class AXRestApiGeneratorModule {
343
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXRestApiGeneratorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
344
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.9", ngImport: i0, type: AXRestApiGeneratorModule, imports: [AXTextBoxModule, AXDecoratorModule, AXSelectBoxModule, AXTabsModule, AXButtonModule, AXTextAreaModule, AXSelectionListModule, FormsModule, AXRestApiGeneratorComponent, AXQueryParamsComponent, AXRequestBodyComponent, AXRestApiAuthComponent, AXRequestHeadersComponent], exports: [AXRestApiGeneratorComponent, AXQueryParamsComponent, AXRequestBodyComponent, AXRestApiAuthComponent, AXRequestHeadersComponent] }); }
345
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXRestApiGeneratorModule, imports: [MODULES, COMPONENT] }); }
343
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXRestApiGeneratorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
344
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: AXRestApiGeneratorModule, imports: [AXTextBoxModule, AXDecoratorModule, AXSelectBoxModule, AXTabsModule, AXButtonModule, AXTextAreaModule, AXSelectionListModule, FormsModule, AXRestApiGeneratorComponent, AXQueryParamsComponent, AXRequestBodyComponent, AXRestApiAuthComponent, AXRequestHeadersComponent], exports: [AXRestApiGeneratorComponent, AXQueryParamsComponent, AXRequestBodyComponent, AXRestApiAuthComponent, AXRequestHeadersComponent] }); }
345
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXRestApiGeneratorModule, imports: [MODULES, COMPONENT] }); }
346
346
  }
347
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXRestApiGeneratorModule, decorators: [{
347
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXRestApiGeneratorModule, decorators: [{
348
348
  type: NgModule,
349
349
  args: [{
350
350
  imports: [...MODULES, ...COMPONENT],
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-rest-api-generator.mjs","sources":["../../../../libs/components/rest-api-generator/src/lib/rest-api-generator.service.ts","../../../../libs/components/rest-api-generator/src/lib/query-params/query-params.component.ts","../../../../libs/components/rest-api-generator/src/lib/query-params/query-params.component.html","../../../../libs/components/rest-api-generator/src/lib/request-body/request-body.component.ts","../../../../libs/components/rest-api-generator/src/lib/request-body/request-body.component.html","../../../../libs/components/rest-api-generator/src/lib/request-headers/request-headers.component.ts","../../../../libs/components/rest-api-generator/src/lib/request-headers/request-headers.component.html","../../../../libs/components/rest-api-generator/src/lib/rest-api-auth/rest-api-auth.component.ts","../../../../libs/components/rest-api-generator/src/lib/rest-api-auth/rest-api-auth.component.html","../../../../libs/components/rest-api-generator/src/lib/rest-api-generator.component.ts","../../../../libs/components/rest-api-generator/src/lib/rest-api-generator.component.html","../../../../libs/components/rest-api-generator/src/lib/rest-api-generator.module.ts","../../../../libs/components/rest-api-generator/src/acorex-components-rest-api-generator.ts"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\nimport { AXRestApiOutput } from './types';\n\n@Injectable()\nexport class AXRestApiGeneratorService {\n outPutJSON = signal<AXRestApiOutput>({\n url: '',\n method: 'GET',\n headers: {\n Authorization: '',\n ContentType: '',\n },\n queries: [{}],\n body: '',\n });\n}\n","import { AXButtonComponent } from '@acorex/components/button';\nimport { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXTextBoxComponent } from '@acorex/components/text-box';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXRestApiGeneratorService } from '../rest-api-generator.service';\nimport { Queries } from '../types';\n\n@Component({\n selector: 'ax-query-params',\n templateUrl: './query-params.component.html',\n styleUrls: ['./query-params.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXDecoratorGenericComponent, AXButtonComponent, AXDecoratorIconComponent, AXTextBoxComponent, FormsModule],\n})\nexport class AXQueryParamsComponent {\n protected service = inject(AXRestApiGeneratorService);\n\n protected queryParamsArray = signal<Queries[]>(this.service.outPutJSON().queries);\n\n protected addQueryParamsHandler() {\n this.queryParamsArray.update((prev) => [...prev, { tempId: String(Math.random()) }]);\n }\n\n protected removeQueryParamsHandler(id: string) {\n this.queryParamsArray.update((prev) => {\n const copy = [...prev];\n const filter = copy.filter((item) => item.tempId !== id);\n return filter;\n });\n }\n\n protected queryParamsValueHandler(e: AXValueChangedEvent<any>, id: string) {\n this.queryParamsArray.update((prev) => {\n const copy = [...prev];\n const find = copy.find((item) => item.tempId === id);\n Object.keys(find).forEach((key) => {\n if (key !== 'tempId') {\n find[key] = e.value;\n }\n });\n return copy;\n });\n }\n\n protected queryParamsKeyHandler(e: AXValueChangedEvent<any>, id: string) {\n this.queryParamsArray.update((prev) => {\n const copy = [...prev];\n const find = copy.find((item) => item.tempId === id);\n Object.keys(find).forEach((key) => {\n if (key !== 'tempId') {\n delete find[key];\n }\n });\n find[e.value] = '';\n return copy;\n });\n }\n\n #eff = effect(() => {\n this.service.outPutJSON.update((prev) => ({ ...prev, queries: this.queryParamsArray() }));\n });\n\n protected setInitialState(item: Queries, type: string) {\n for (const [key, value] of Object.entries(item)) {\n if (key !== 'tempId') {\n if (type === 'key') {\n return key;\n } else if (type === 'value') {\n return value;\n }\n }\n }\n return '';\n }\n}\n","<div class=\"ax-query-params-container\">\n <div class=\"ax-query-params-header\">\n <ax-text>Query Params</ax-text>\n <ax-button look=\"blank\" class=\"ax-sm\" color=\"primary\" (onClick)=\"addQueryParamsHandler()\">\n <ax-icon icon=\"ax-icon ax-icon-plus\"></ax-icon>\n </ax-button>\n </div>\n\n <div class=\"ax-query-params-value-container\">\n @for (item of queryParamsArray(); track item) {\n <div class=\"ax-query-params-value\">\n <ax-text-box (onValueChanged)=\"queryParamsKeyHandler($event, item.tempId)\" placeholder=\"key\" [ngModel]=\"setInitialState(item, 'key')\"></ax-text-box>\n <ax-text-box\n (onValueChanged)=\"queryParamsValueHandler($event, item.tempId)\"\n placeholder=\"value\"\n [ngModel]=\"setInitialState(item, 'value')\"\n ></ax-text-box>\n <ax-button look=\"blank\" class=\"ax-md\" color=\"danger\" (onClick)=\"removeQueryParamsHandler(item.tempId)\">\n <ax-prefix>\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n }\n </div>\n</div>\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXSelectionListComponent } from '@acorex/components/selection-list';\nimport { AXTextAreaComponent } from '@acorex/components/text-area';\nimport { afterNextRender, ChangeDetectionStrategy, Component, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXRestApiGeneratorService } from '../rest-api-generator.service';\n\n@Component({\n selector: 'ax-request-body',\n templateUrl: './request-body.component.html',\n styleUrls: ['./request-body.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXSelectionListComponent, FormsModule, AXTextAreaComponent],\n})\nexport class AXRequestBodyComponent {\n protected service = inject(AXRestApiGeneratorService);\n\n protected value = signal(null);\n\n protected selectedItem = signal({ id: null, text: '', placeHolder: '' });\n\n #init = afterNextRender(() => {\n const type = this.service.outPutJSON().headers.ContentType;\n\n if (type) {\n switch (type) {\n case 'text/plain':\n this.value.set(1);\n break;\n case 'application/json':\n this.value.set(2);\n break;\n case 'multipart/form-data':\n this.value.set(3);\n break;\n case 'application/xml':\n this.value.set(4);\n break;\n }\n } else {\n this.value.set(2);\n }\n });\n\n protected items = [\n { id: 1, text: 'None', placeHolder: '' },\n { id: 2, text: 'Json', placeHolder: '{\"key\" : \"value\"}' },\n { id: 3, text: 'Form', placeHolder: 'key1=value1' },\n { id: 4, text: 'XML', placeHolder: '<data></data>' },\n ];\n\n protected bodyReqHandler(e: AXValueChangedEvent<any>) {\n const find = this.items.find((item) => item.id === e.value);\n this.selectedItem.set(find);\n }\n\n protected bodyTextHandler(e: AXValueChangedEvent<any>) {\n const type = this.selectedItem().text;\n let contentType: string;\n\n switch (type) {\n case 'None':\n contentType = 'text/plain';\n break;\n case 'Json':\n contentType = 'application/json';\n break;\n case 'Form':\n contentType = 'multipart/form-data';\n break;\n case 'XML':\n contentType = 'application/xml';\n break;\n }\n this.service.outPutJSON.update((prev) => ({ ...prev, body: e.value }));\n\n this.service.outPutJSON.update((prev) => {\n const copy = { ...prev };\n copy.headers.ContentType = contentType;\n return copy;\n });\n }\n}\n","<ax-selection-list [showControl]=\"true\" look=\"solid\" [items]=\"items\" [(ngModel)]=\"value\" (onValueChanged)=\"bodyReqHandler($event)\"> </ax-selection-list>\n<ax-text-area [(ngModel)]=\"service.outPutJSON().body\" (onValueChanged)=\"bodyTextHandler($event)\" [placeholder]=\"selectedItem().placeHolder\"> </ax-text-area>\n","import { AXButtonComponent } from '@acorex/components/button';\nimport { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXTextBoxComponent } from '@acorex/components/text-box';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXRestApiGeneratorService } from '../rest-api-generator.service';\nimport { HeadersDynamic } from '../types';\n\n@Component({\n selector: 'ax-request-headers',\n templateUrl: './request-headers.component.html',\n styleUrls: ['./request-headers.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXDecoratorGenericComponent, AXButtonComponent, AXDecoratorIconComponent, AXTextBoxComponent, FormsModule],\n})\nexport class AXRequestHeadersComponent {\n protected service = inject(AXRestApiGeneratorService);\n\n protected headersArray = signal<HeadersDynamic[]>(this.filterUnnecessaryKey());\n\n protected addHeadersHandler() {\n this.headersArray.update((prev) => [...prev, { tempId: String(Math.random()) }]);\n }\n\n protected removeHeadersHandler(id: string) {\n this.headersArray.update((prev) => {\n const copy = [...prev];\n const filter = copy.filter((item) => item.tempId !== id);\n return filter;\n });\n }\n\n protected headersValueHandler(e: AXValueChangedEvent<any>, id: string) {\n this.headersArray.update((prev) => {\n const copy = [...prev];\n const find = copy.find((item) => item.tempId === id);\n Object.keys(find).forEach((key) => {\n if (key !== 'tempId') {\n find[key] = e.value;\n }\n });\n return copy;\n });\n }\n\n protected headersKeyHandler(e: AXValueChangedEvent<any>, id: string) {\n this.headersArray.update((prev) => {\n const copy = [...prev];\n const find = copy.find((item) => item.tempId === id);\n Object.keys(find).forEach((key) => {\n if (key !== 'tempId') {\n delete find[key];\n }\n });\n find[e.value] = '';\n return copy;\n });\n }\n\n #eff = effect(() => {\n this.service.outPutJSON.update((prev) => {\n const copy = { ...prev };\n const copyHeader = { Authorization: copy.headers.Authorization, ContentType: copy.headers.ContentType };\n copy.headers = copyHeader;\n this.headersArray().forEach((item) => {\n Object.assign(copy.headers, item);\n });\n return copy;\n });\n });\n\n protected setInitialState(item: HeadersDynamic, type: string) {\n for (const [key, value] of Object.entries(item)) {\n if (key !== 'tempId') {\n if (type === 'key') {\n return key;\n } else if (type === 'value') {\n return value;\n }\n }\n }\n return '';\n }\n\n protected filterUnnecessaryKey() {\n const allHeaders = { ...this.service.outPutJSON().headers };\n\n Object.keys(allHeaders).forEach((key) => {\n if (key === 'Authorization' || key === 'ContentType') {\n delete allHeaders[key];\n }\n });\n\n return [allHeaders];\n }\n}\n","<div class=\"ax-headers-container\">\n <div class=\"ax-headers-header\">\n <ax-text>Headers</ax-text>\n <ax-button look=\"blank\" class=\"ax-sm\" color=\"primary\" (onClick)=\"addHeadersHandler()\">\n <ax-icon icon=\"ax-icon ax-icon-plus\"></ax-icon>\n </ax-button>\n </div>\n\n <div class=\"ax-headers-value-container\">\n @for (item of headersArray(); track item.tempId) {\n <div class=\"ax-headers-value\">\n <ax-text-box [ngModel]=\"setInitialState(item, 'key')\" (onValueChanged)=\"headersKeyHandler($event, item.tempId)\" placeholder=\"key\"></ax-text-box>\n <ax-text-box [ngModel]=\"setInitialState(item, 'value')\" (onValueChanged)=\"headersValueHandler($event, item.tempId)\" placeholder=\"value\"></ax-text-box>\n <ax-button look=\"blank\" class=\"ax-md\" color=\"danger\" (onClick)=\"removeHeadersHandler(item.tempId)\">\n <ax-prefix>\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n }\n </div>\n</div>\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXSelectionListComponent } from '@acorex/components/selection-list';\nimport { AXTextBoxComponent } from '@acorex/components/text-box';\nimport { afterNextRender, ChangeDetectionStrategy, Component, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXRestApiGeneratorService } from '../rest-api-generator.service';\n\n@Component({\n selector: 'ax-rest-api-auth',\n templateUrl: './rest-api-auth.component.html',\n styleUrls: ['./rest-api-auth.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXSelectionListComponent, FormsModule, AXTextBoxComponent],\n})\nexport class AXRestApiAuthComponent {\n protected service = inject(AXRestApiGeneratorService);\n\n protected value = signal(null);\n\n #init = afterNextRender(() => {\n const token = this.service.outPutJSON().headers.Authorization;\n if (token) {\n this.value.set(2);\n } else {\n this.value.set(1);\n }\n });\n\n protected selectedItem = signal({ id: null, text: '', placeHolder: '' });\n\n protected items = [\n { id: 1, text: 'None', placeHolder: '' },\n { id: 2, text: 'Bearer Token', placeHolder: 'Token' },\n ];\n\n protected authTypeHandler(e: AXValueChangedEvent<any>) {\n const find = this.items.find((item) => item.id === e.value);\n this.selectedItem.set(find);\n\n if (e.value === 1) {\n this.service.outPutJSON.update((prev) => {\n const copy = { ...prev };\n copy.headers.Authorization = '';\n return copy;\n });\n }\n }\n\n protected authInputHandler(e: AXValueChangedEvent<any>) {\n this.service.outPutJSON.update((prev) => {\n const copy = { ...prev };\n copy.headers.Authorization = e.value;\n return copy;\n });\n }\n}\n","<ax-selection-list [showControl]=\"true\" look=\"solid\" [items]=\"items\" [(ngModel)]=\"value\" (onValueChanged)=\"authTypeHandler($event)\"> </ax-selection-list>\n\n@if (selectedItem().text !== 'None') {\n <ax-text-box [(ngModel)]=\"service.outPutJSON().headers.Authorization\" (onValueChanged)=\"authInputHandler($event)\" [placeholder]=\"selectedItem().placeHolder\">\n </ax-text-box>\n}\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorClearButtonComponent, AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXSelectBoxComponent } from '@acorex/components/select-box';\nimport { AXTabContentDirective, AXTabItemComponent, AXTabsComponent } from '@acorex/components/tabs';\nimport { AXTextBoxComponent } from '@acorex/components/text-box';\nimport { afterNextRender, ChangeDetectionStrategy, Component, effect, inject, input, output, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXQueryParamsComponent } from './query-params/query-params.component';\nimport { AXRequestBodyComponent } from './request-body/request-body.component';\nimport { AXRequestHeadersComponent } from './request-headers/request-headers.component';\nimport { AXRestApiAuthComponent } from './rest-api-auth/rest-api-auth.component';\nimport { AXRestApiGeneratorService } from './rest-api-generator.service';\nimport { AXRestApiOutput } from './types';\n\n@Component({\n selector: 'ax-rest-api-generator',\n templateUrl: './rest-api-generator.component.html',\n styleUrls: ['./rest-api-generator.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [AXRestApiGeneratorService],\n imports: [\n AXTextBoxComponent,\n FormsModule,\n AXDecoratorClearButtonComponent,\n AXDecoratorGenericComponent,\n AXSelectBoxComponent,\n AXTabsComponent,\n AXTabItemComponent,\n AXQueryParamsComponent,\n AXRequestBodyComponent,\n AXRestApiAuthComponent,\n AXRequestHeadersComponent,\n AXTabContentDirective,\n ],\n})\nexport class AXRestApiGeneratorComponent {\n value = input<AXRestApiOutput>();\n\n onValueChange = output<AXRestApiOutput>();\n\n protected service = inject(AXRestApiGeneratorService);\n\n #init = afterNextRender(() => {\n if (this.value()) {\n this.service.outPutJSON.set(this.value());\n }\n });\n\n #eff = effect(() => {\n this.onValueChange.emit(this.service.outPutJSON());\n });\n\n protected urlHandler(e: AXValueChangedEvent<any>) {\n this.service.outPutJSON.update((prev) => ({ ...prev, url: e.value }));\n }\n\n protected methodHandler(e: AXValueChangedEvent<any>) {\n this.service.outPutJSON.update((prev) => ({ ...prev, method: e.value }));\n }\n}\n","<div class=\"ax-url-input-container\">\n <ax-text-box [(ngModel)]=\"service.outPutJSON().url\" placeholder=\"URL\" (onValueChanged)=\"urlHandler($event)\">\n <ax-clear-button></ax-clear-button>\n <ax-prefix>\n <ax-select-box\n [(ngModel)]=\"service.outPutJSON().method\"\n (onValueChanged)=\"methodHandler($event)\"\n [dataSource]=\"['GET', 'POST', 'DELETE', 'PUT', 'PATCH']\"\n >\n </ax-select-box\n ></ax-prefix>\n </ax-text-box>\n</div>\n\n<ax-tabs [content]=\"cronTab\" look=\"with-line\" [fitParent]=\"true\" location=\"bottom\">\n <ax-tab-item key=\"1\" text=\"Params\">\n <ax-content> <ax-query-params></ax-query-params> </ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"2\" text=\"Body\">\n <ax-content><ax-request-body></ax-request-body></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"3\" text=\"Auth\">\n <ax-content> <ax-rest-api-auth></ax-rest-api-auth></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"4\" text=\"Headers\">\n <ax-content> <ax-request-headers></ax-request-headers></ax-content>\n </ax-tab-item>\n</ax-tabs>\n\n<ng-template [axTabContent] #cronTab=\"axTabContent\"> </ng-template>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTextAreaModule } from '@acorex/components/text-area';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXQueryParamsComponent } from './query-params/query-params.component';\nimport { AXRequestBodyComponent } from './request-body/request-body.component';\nimport { AXRequestHeadersComponent } from './request-headers/request-headers.component';\nimport { AXRestApiAuthComponent } from './rest-api-auth/rest-api-auth.component';\nimport { AXRestApiGeneratorComponent } from './rest-api-generator.component';\n\nconst COMPONENT = [AXRestApiGeneratorComponent, AXQueryParamsComponent, AXRequestBodyComponent, AXRestApiAuthComponent, AXRequestHeadersComponent];\n\nconst MODULES = [AXTextBoxModule, AXDecoratorModule, AXSelectBoxModule, AXTabsModule, AXButtonModule, AXTextAreaModule, AXSelectionListModule, FormsModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXRestApiGeneratorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-rest-api-generator.mjs","sources":["../../../../libs/components/rest-api-generator/src/lib/rest-api-generator.service.ts","../../../../libs/components/rest-api-generator/src/lib/query-params/query-params.component.ts","../../../../libs/components/rest-api-generator/src/lib/query-params/query-params.component.html","../../../../libs/components/rest-api-generator/src/lib/request-body/request-body.component.ts","../../../../libs/components/rest-api-generator/src/lib/request-body/request-body.component.html","../../../../libs/components/rest-api-generator/src/lib/request-headers/request-headers.component.ts","../../../../libs/components/rest-api-generator/src/lib/request-headers/request-headers.component.html","../../../../libs/components/rest-api-generator/src/lib/rest-api-auth/rest-api-auth.component.ts","../../../../libs/components/rest-api-generator/src/lib/rest-api-auth/rest-api-auth.component.html","../../../../libs/components/rest-api-generator/src/lib/rest-api-generator.component.ts","../../../../libs/components/rest-api-generator/src/lib/rest-api-generator.component.html","../../../../libs/components/rest-api-generator/src/lib/rest-api-generator.module.ts","../../../../libs/components/rest-api-generator/src/acorex-components-rest-api-generator.ts"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\nimport { AXRestApiOutput } from './types';\n\n@Injectable()\nexport class AXRestApiGeneratorService {\n outPutJSON = signal<AXRestApiOutput>({\n url: '',\n method: 'GET',\n headers: {\n Authorization: '',\n ContentType: '',\n },\n queries: [{}],\n body: '',\n });\n}\n","import { AXButtonComponent } from '@acorex/components/button';\nimport { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXTextBoxComponent } from '@acorex/components/text-box';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXRestApiGeneratorService } from '../rest-api-generator.service';\nimport { Queries } from '../types';\n\n@Component({\n selector: 'ax-query-params',\n templateUrl: './query-params.component.html',\n styleUrls: ['./query-params.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXDecoratorGenericComponent, AXButtonComponent, AXDecoratorIconComponent, AXTextBoxComponent, FormsModule],\n})\nexport class AXQueryParamsComponent {\n protected service = inject(AXRestApiGeneratorService);\n\n protected queryParamsArray = signal<Queries[]>(this.service.outPutJSON().queries);\n\n protected addQueryParamsHandler() {\n this.queryParamsArray.update((prev) => [...prev, { tempId: String(Math.random()) }]);\n }\n\n protected removeQueryParamsHandler(id: string) {\n this.queryParamsArray.update((prev) => {\n const copy = [...prev];\n const filter = copy.filter((item) => item.tempId !== id);\n return filter;\n });\n }\n\n protected queryParamsValueHandler(e: AXValueChangedEvent<any>, id: string) {\n this.queryParamsArray.update((prev) => {\n const copy = [...prev];\n const find = copy.find((item) => item.tempId === id);\n Object.keys(find).forEach((key) => {\n if (key !== 'tempId') {\n find[key] = e.value;\n }\n });\n return copy;\n });\n }\n\n protected queryParamsKeyHandler(e: AXValueChangedEvent<any>, id: string) {\n this.queryParamsArray.update((prev) => {\n const copy = [...prev];\n const find = copy.find((item) => item.tempId === id);\n Object.keys(find).forEach((key) => {\n if (key !== 'tempId') {\n delete find[key];\n }\n });\n find[e.value] = '';\n return copy;\n });\n }\n\n #eff = effect(() => {\n this.service.outPutJSON.update((prev) => ({ ...prev, queries: this.queryParamsArray() }));\n });\n\n protected setInitialState(item: Queries, type: string) {\n for (const [key, value] of Object.entries(item)) {\n if (key !== 'tempId') {\n if (type === 'key') {\n return key;\n } else if (type === 'value') {\n return value;\n }\n }\n }\n return '';\n }\n}\n","<div class=\"ax-query-params-container\">\n <div class=\"ax-query-params-header\">\n <ax-text>Query Params</ax-text>\n <ax-button look=\"blank\" class=\"ax-sm\" color=\"primary\" (onClick)=\"addQueryParamsHandler()\">\n <ax-icon icon=\"ax-icon ax-icon-plus\"></ax-icon>\n </ax-button>\n </div>\n\n <div class=\"ax-query-params-value-container\">\n @for (item of queryParamsArray(); track item) {\n <div class=\"ax-query-params-value\">\n <ax-text-box (onValueChanged)=\"queryParamsKeyHandler($event, item.tempId)\" placeholder=\"key\" [ngModel]=\"setInitialState(item, 'key')\"></ax-text-box>\n <ax-text-box\n (onValueChanged)=\"queryParamsValueHandler($event, item.tempId)\"\n placeholder=\"value\"\n [ngModel]=\"setInitialState(item, 'value')\"\n ></ax-text-box>\n <ax-button look=\"blank\" class=\"ax-md\" color=\"danger\" (onClick)=\"removeQueryParamsHandler(item.tempId)\">\n <ax-prefix>\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n }\n </div>\n</div>\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXSelectionListComponent } from '@acorex/components/selection-list';\nimport { AXTextAreaComponent } from '@acorex/components/text-area';\nimport { afterNextRender, ChangeDetectionStrategy, Component, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXRestApiGeneratorService } from '../rest-api-generator.service';\n\n@Component({\n selector: 'ax-request-body',\n templateUrl: './request-body.component.html',\n styleUrls: ['./request-body.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXSelectionListComponent, FormsModule, AXTextAreaComponent],\n})\nexport class AXRequestBodyComponent {\n protected service = inject(AXRestApiGeneratorService);\n\n protected value = signal(null);\n\n protected selectedItem = signal({ id: null, text: '', placeHolder: '' });\n\n #init = afterNextRender(() => {\n const type = this.service.outPutJSON().headers.ContentType;\n\n if (type) {\n switch (type) {\n case 'text/plain':\n this.value.set(1);\n break;\n case 'application/json':\n this.value.set(2);\n break;\n case 'multipart/form-data':\n this.value.set(3);\n break;\n case 'application/xml':\n this.value.set(4);\n break;\n }\n } else {\n this.value.set(2);\n }\n });\n\n protected items = [\n { id: 1, text: 'None', placeHolder: '' },\n { id: 2, text: 'Json', placeHolder: '{\"key\" : \"value\"}' },\n { id: 3, text: 'Form', placeHolder: 'key1=value1' },\n { id: 4, text: 'XML', placeHolder: '<data></data>' },\n ];\n\n protected bodyReqHandler(e: AXValueChangedEvent<any>) {\n const find = this.items.find((item) => item.id === e.value);\n this.selectedItem.set(find);\n }\n\n protected bodyTextHandler(e: AXValueChangedEvent<any>) {\n const type = this.selectedItem().text;\n let contentType: string;\n\n switch (type) {\n case 'None':\n contentType = 'text/plain';\n break;\n case 'Json':\n contentType = 'application/json';\n break;\n case 'Form':\n contentType = 'multipart/form-data';\n break;\n case 'XML':\n contentType = 'application/xml';\n break;\n }\n this.service.outPutJSON.update((prev) => ({ ...prev, body: e.value }));\n\n this.service.outPutJSON.update((prev) => {\n const copy = { ...prev };\n copy.headers.ContentType = contentType;\n return copy;\n });\n }\n}\n","<ax-selection-list [showControl]=\"true\" look=\"solid\" [items]=\"items\" [(ngModel)]=\"value\" (onValueChanged)=\"bodyReqHandler($event)\"> </ax-selection-list>\n<ax-text-area [(ngModel)]=\"service.outPutJSON().body\" (onValueChanged)=\"bodyTextHandler($event)\" [placeholder]=\"selectedItem().placeHolder\"> </ax-text-area>\n","import { AXButtonComponent } from '@acorex/components/button';\nimport { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXTextBoxComponent } from '@acorex/components/text-box';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXRestApiGeneratorService } from '../rest-api-generator.service';\nimport { HeadersDynamic } from '../types';\n\n@Component({\n selector: 'ax-request-headers',\n templateUrl: './request-headers.component.html',\n styleUrls: ['./request-headers.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXDecoratorGenericComponent, AXButtonComponent, AXDecoratorIconComponent, AXTextBoxComponent, FormsModule],\n})\nexport class AXRequestHeadersComponent {\n protected service = inject(AXRestApiGeneratorService);\n\n protected headersArray = signal<HeadersDynamic[]>(this.filterUnnecessaryKey());\n\n protected addHeadersHandler() {\n this.headersArray.update((prev) => [...prev, { tempId: String(Math.random()) }]);\n }\n\n protected removeHeadersHandler(id: string) {\n this.headersArray.update((prev) => {\n const copy = [...prev];\n const filter = copy.filter((item) => item.tempId !== id);\n return filter;\n });\n }\n\n protected headersValueHandler(e: AXValueChangedEvent<any>, id: string) {\n this.headersArray.update((prev) => {\n const copy = [...prev];\n const find = copy.find((item) => item.tempId === id);\n Object.keys(find).forEach((key) => {\n if (key !== 'tempId') {\n find[key] = e.value;\n }\n });\n return copy;\n });\n }\n\n protected headersKeyHandler(e: AXValueChangedEvent<any>, id: string) {\n this.headersArray.update((prev) => {\n const copy = [...prev];\n const find = copy.find((item) => item.tempId === id);\n Object.keys(find).forEach((key) => {\n if (key !== 'tempId') {\n delete find[key];\n }\n });\n find[e.value] = '';\n return copy;\n });\n }\n\n #eff = effect(() => {\n this.service.outPutJSON.update((prev) => {\n const copy = { ...prev };\n const copyHeader = { Authorization: copy.headers.Authorization, ContentType: copy.headers.ContentType };\n copy.headers = copyHeader;\n this.headersArray().forEach((item) => {\n Object.assign(copy.headers, item);\n });\n return copy;\n });\n });\n\n protected setInitialState(item: HeadersDynamic, type: string) {\n for (const [key, value] of Object.entries(item)) {\n if (key !== 'tempId') {\n if (type === 'key') {\n return key;\n } else if (type === 'value') {\n return value;\n }\n }\n }\n return '';\n }\n\n protected filterUnnecessaryKey() {\n const allHeaders = { ...this.service.outPutJSON().headers };\n\n Object.keys(allHeaders).forEach((key) => {\n if (key === 'Authorization' || key === 'ContentType') {\n delete allHeaders[key];\n }\n });\n\n return [allHeaders];\n }\n}\n","<div class=\"ax-headers-container\">\n <div class=\"ax-headers-header\">\n <ax-text>Headers</ax-text>\n <ax-button look=\"blank\" class=\"ax-sm\" color=\"primary\" (onClick)=\"addHeadersHandler()\">\n <ax-icon icon=\"ax-icon ax-icon-plus\"></ax-icon>\n </ax-button>\n </div>\n\n <div class=\"ax-headers-value-container\">\n @for (item of headersArray(); track item.tempId) {\n <div class=\"ax-headers-value\">\n <ax-text-box [ngModel]=\"setInitialState(item, 'key')\" (onValueChanged)=\"headersKeyHandler($event, item.tempId)\" placeholder=\"key\"></ax-text-box>\n <ax-text-box [ngModel]=\"setInitialState(item, 'value')\" (onValueChanged)=\"headersValueHandler($event, item.tempId)\" placeholder=\"value\"></ax-text-box>\n <ax-button look=\"blank\" class=\"ax-md\" color=\"danger\" (onClick)=\"removeHeadersHandler(item.tempId)\">\n <ax-prefix>\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n }\n </div>\n</div>\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXSelectionListComponent } from '@acorex/components/selection-list';\nimport { AXTextBoxComponent } from '@acorex/components/text-box';\nimport { afterNextRender, ChangeDetectionStrategy, Component, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXRestApiGeneratorService } from '../rest-api-generator.service';\n\n@Component({\n selector: 'ax-rest-api-auth',\n templateUrl: './rest-api-auth.component.html',\n styleUrls: ['./rest-api-auth.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXSelectionListComponent, FormsModule, AXTextBoxComponent],\n})\nexport class AXRestApiAuthComponent {\n protected service = inject(AXRestApiGeneratorService);\n\n protected value = signal(null);\n\n #init = afterNextRender(() => {\n const token = this.service.outPutJSON().headers.Authorization;\n if (token) {\n this.value.set(2);\n } else {\n this.value.set(1);\n }\n });\n\n protected selectedItem = signal({ id: null, text: '', placeHolder: '' });\n\n protected items = [\n { id: 1, text: 'None', placeHolder: '' },\n { id: 2, text: 'Bearer Token', placeHolder: 'Token' },\n ];\n\n protected authTypeHandler(e: AXValueChangedEvent<any>) {\n const find = this.items.find((item) => item.id === e.value);\n this.selectedItem.set(find);\n\n if (e.value === 1) {\n this.service.outPutJSON.update((prev) => {\n const copy = { ...prev };\n copy.headers.Authorization = '';\n return copy;\n });\n }\n }\n\n protected authInputHandler(e: AXValueChangedEvent<any>) {\n this.service.outPutJSON.update((prev) => {\n const copy = { ...prev };\n copy.headers.Authorization = e.value;\n return copy;\n });\n }\n}\n","<ax-selection-list [showControl]=\"true\" look=\"solid\" [items]=\"items\" [(ngModel)]=\"value\" (onValueChanged)=\"authTypeHandler($event)\"> </ax-selection-list>\n\n@if (selectedItem().text !== 'None') {\n <ax-text-box [(ngModel)]=\"service.outPutJSON().headers.Authorization\" (onValueChanged)=\"authInputHandler($event)\" [placeholder]=\"selectedItem().placeHolder\">\n </ax-text-box>\n}\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorClearButtonComponent, AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXSelectBoxComponent } from '@acorex/components/select-box';\nimport { AXTabContentDirective, AXTabItemComponent, AXTabsComponent } from '@acorex/components/tabs';\nimport { AXTextBoxComponent } from '@acorex/components/text-box';\nimport { afterNextRender, ChangeDetectionStrategy, Component, effect, inject, input, output, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXQueryParamsComponent } from './query-params/query-params.component';\nimport { AXRequestBodyComponent } from './request-body/request-body.component';\nimport { AXRequestHeadersComponent } from './request-headers/request-headers.component';\nimport { AXRestApiAuthComponent } from './rest-api-auth/rest-api-auth.component';\nimport { AXRestApiGeneratorService } from './rest-api-generator.service';\nimport { AXRestApiOutput } from './types';\n\n@Component({\n selector: 'ax-rest-api-generator',\n templateUrl: './rest-api-generator.component.html',\n styleUrls: ['./rest-api-generator.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [AXRestApiGeneratorService],\n imports: [\n AXTextBoxComponent,\n FormsModule,\n AXDecoratorClearButtonComponent,\n AXDecoratorGenericComponent,\n AXSelectBoxComponent,\n AXTabsComponent,\n AXTabItemComponent,\n AXQueryParamsComponent,\n AXRequestBodyComponent,\n AXRestApiAuthComponent,\n AXRequestHeadersComponent,\n AXTabContentDirective,\n ],\n})\nexport class AXRestApiGeneratorComponent {\n value = input<AXRestApiOutput>();\n\n onValueChange = output<AXRestApiOutput>();\n\n protected service = inject(AXRestApiGeneratorService);\n\n #init = afterNextRender(() => {\n if (this.value()) {\n this.service.outPutJSON.set(this.value());\n }\n });\n\n #eff = effect(() => {\n this.onValueChange.emit(this.service.outPutJSON());\n });\n\n protected urlHandler(e: AXValueChangedEvent<any>) {\n this.service.outPutJSON.update((prev) => ({ ...prev, url: e.value }));\n }\n\n protected methodHandler(e: AXValueChangedEvent<any>) {\n this.service.outPutJSON.update((prev) => ({ ...prev, method: e.value }));\n }\n}\n","<div class=\"ax-url-input-container\">\n <ax-text-box [(ngModel)]=\"service.outPutJSON().url\" placeholder=\"URL\" (onValueChanged)=\"urlHandler($event)\">\n <ax-clear-button></ax-clear-button>\n <ax-prefix>\n <ax-select-box\n [(ngModel)]=\"service.outPutJSON().method\"\n (onValueChanged)=\"methodHandler($event)\"\n [dataSource]=\"['GET', 'POST', 'DELETE', 'PUT', 'PATCH']\"\n >\n </ax-select-box\n ></ax-prefix>\n </ax-text-box>\n</div>\n\n<ax-tabs [content]=\"cronTab\" look=\"with-line\" [fitParent]=\"true\" location=\"bottom\">\n <ax-tab-item key=\"1\" text=\"Params\">\n <ax-content> <ax-query-params></ax-query-params> </ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"2\" text=\"Body\">\n <ax-content><ax-request-body></ax-request-body></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"3\" text=\"Auth\">\n <ax-content> <ax-rest-api-auth></ax-rest-api-auth></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"4\" text=\"Headers\">\n <ax-content> <ax-request-headers></ax-request-headers></ax-content>\n </ax-tab-item>\n</ax-tabs>\n\n<ng-template [axTabContent] #cronTab=\"axTabContent\"> </ng-template>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTextAreaModule } from '@acorex/components/text-area';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXQueryParamsComponent } from './query-params/query-params.component';\nimport { AXRequestBodyComponent } from './request-body/request-body.component';\nimport { AXRequestHeadersComponent } from './request-headers/request-headers.component';\nimport { AXRestApiAuthComponent } from './rest-api-auth/rest-api-auth.component';\nimport { AXRestApiGeneratorComponent } from './rest-api-generator.component';\n\nconst COMPONENT = [AXRestApiGeneratorComponent, AXQueryParamsComponent, AXRequestBodyComponent, AXRestApiAuthComponent, AXRequestHeadersComponent];\n\nconst MODULES = [AXTextBoxModule, AXDecoratorModule, AXSelectBoxModule, AXTabsModule, AXButtonModule, AXTextAreaModule, AXSelectionListModule, FormsModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXRestApiGeneratorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}