@acorex/components 21.0.0-next.30 → 21.0.0-next.31

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 (231) hide show
  1. package/accordion/index.d.ts +0 -1
  2. package/chips/index.d.ts +3 -8
  3. package/dialog/index.d.ts +1 -1
  4. package/fesm2022/acorex-components-accordion.mjs +16 -21
  5. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  6. package/fesm2022/acorex-components-action-sheet.mjs +12 -12
  7. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  8. package/fesm2022/acorex-components-alert.mjs +13 -13
  9. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  10. package/fesm2022/acorex-components-aspect-ratio.mjs +3 -3
  11. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  12. package/fesm2022/acorex-components-audio-wave.mjs +11 -10
  13. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  14. package/fesm2022/acorex-components-autocomplete.mjs +7 -7
  15. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  16. package/fesm2022/acorex-components-avatar.mjs +12 -12
  17. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  18. package/fesm2022/acorex-components-badge.mjs +9 -9
  19. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  20. package/fesm2022/acorex-components-bottom-navigation.mjs +11 -11
  21. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  22. package/fesm2022/acorex-components-breadcrumbs.mjs +11 -11
  23. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  24. package/fesm2022/acorex-components-button-group.mjs +14 -16
  25. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  26. package/fesm2022/acorex-components-button.mjs +28 -19
  27. package/fesm2022/acorex-components-button.mjs.map +1 -1
  28. package/fesm2022/acorex-components-calendar.mjs +17 -17
  29. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  30. package/fesm2022/acorex-components-check-box.mjs +10 -10
  31. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  32. package/fesm2022/acorex-components-chips.mjs +12 -14
  33. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  34. package/fesm2022/acorex-components-circular-progress.mjs +12 -10
  35. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  36. package/fesm2022/acorex-components-code-editor.mjs +10 -10
  37. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  38. package/fesm2022/acorex-components-collapse.mjs +13 -13
  39. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  40. package/fesm2022/acorex-components-color-box.mjs +9 -9
  41. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  42. package/fesm2022/acorex-components-color-palette.mjs +30 -30
  43. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  44. package/fesm2022/acorex-components-command.mjs +9 -9
  45. package/fesm2022/acorex-components-command.mjs.map +1 -1
  46. package/fesm2022/acorex-components-comment.mjs +32 -32
  47. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  48. package/fesm2022/acorex-components-conversation.mjs +51 -51
  49. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  50. package/fesm2022/acorex-components-conversation2.mjs +184 -184
  51. package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
  52. package/fesm2022/acorex-components-cron-job.mjs +46 -46
  53. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  54. package/fesm2022/acorex-components-data-list.mjs +3 -3
  55. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  56. package/fesm2022/acorex-components-data-pager.mjs +33 -33
  57. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  58. package/fesm2022/acorex-components-data-table.mjs +43 -43
  59. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  60. package/fesm2022/acorex-components-datetime-box.mjs +9 -9
  61. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  62. package/fesm2022/acorex-components-datetime-input.mjs +7 -7
  63. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  64. package/fesm2022/acorex-components-datetime-picker.mjs +9 -9
  65. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  66. package/fesm2022/acorex-components-decorators.mjs +43 -36
  67. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  68. package/fesm2022/acorex-components-dialog.mjs +15 -14
  69. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  70. package/fesm2022/acorex-components-drawer-legacy.mjs +13 -13
  71. package/fesm2022/acorex-components-drawer-legacy.mjs.map +1 -1
  72. package/fesm2022/acorex-components-drawer.mjs +11 -12
  73. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  74. package/fesm2022/acorex-components-dropdown-button.mjs +9 -9
  75. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  76. package/fesm2022/acorex-components-dropdown.mjs +16 -14
  77. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  78. package/fesm2022/acorex-components-editor.mjs +11 -11
  79. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  80. package/fesm2022/acorex-components-file-explorer.mjs +25 -25
  81. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  82. package/fesm2022/acorex-components-flow-chart.mjs +16 -16
  83. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  84. package/fesm2022/acorex-components-form.mjs +22 -22
  85. package/fesm2022/acorex-components-form.mjs.map +1 -1
  86. package/fesm2022/acorex-components-grid-layout-builder.mjs +12 -13
  87. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  88. package/fesm2022/acorex-components-image-editor.mjs +44 -44
  89. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  90. package/fesm2022/acorex-components-image.mjs +9 -9
  91. package/fesm2022/acorex-components-image.mjs.map +1 -1
  92. package/fesm2022/acorex-components-json-viewer.mjs +8 -8
  93. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  94. package/fesm2022/acorex-components-kanban.mjs +8 -6
  95. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  96. package/fesm2022/acorex-components-kbd.mjs +7 -7
  97. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  98. package/fesm2022/acorex-components-label.mjs +9 -9
  99. package/fesm2022/acorex-components-label.mjs.map +1 -1
  100. package/fesm2022/acorex-components-list.mjs +9 -9
  101. package/fesm2022/acorex-components-list.mjs.map +1 -1
  102. package/fesm2022/acorex-components-loading-dialog.mjs +11 -11
  103. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  104. package/fesm2022/acorex-components-loading.mjs +23 -23
  105. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  106. package/fesm2022/acorex-components-map.mjs +14 -14
  107. package/fesm2022/acorex-components-map.mjs.map +1 -1
  108. package/fesm2022/acorex-components-media-viewer.mjs +35 -35
  109. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  110. package/fesm2022/acorex-components-menu.mjs +21 -21
  111. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  112. package/fesm2022/{acorex-components-modal-acorex-components-modal-iYSPzoLn.mjs → acorex-components-modal-acorex-components-modal-BmmAkCKJ.mjs} +22 -22
  113. package/fesm2022/acorex-components-modal-acorex-components-modal-BmmAkCKJ.mjs.map +1 -0
  114. package/fesm2022/acorex-components-modal-modal-content.component-5GqTzNOs.mjs +214 -0
  115. package/fesm2022/acorex-components-modal-modal-content.component-5GqTzNOs.mjs.map +1 -0
  116. package/fesm2022/acorex-components-modal.mjs +1 -1
  117. package/fesm2022/acorex-components-navbar.mjs +9 -9
  118. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  119. package/fesm2022/acorex-components-notification.mjs +16 -23
  120. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  121. package/fesm2022/acorex-components-number-box-legacy.mjs +9 -9
  122. package/fesm2022/acorex-components-number-box-legacy.mjs.map +1 -1
  123. package/fesm2022/acorex-components-number-box.mjs +9 -9
  124. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  125. package/fesm2022/acorex-components-otp.mjs +9 -9
  126. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  127. package/fesm2022/acorex-components-page.mjs +10 -10
  128. package/fesm2022/acorex-components-page.mjs.map +1 -1
  129. package/fesm2022/acorex-components-paint.mjs +34 -39
  130. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  131. package/fesm2022/acorex-components-password-box.mjs +12 -12
  132. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  133. package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
  134. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  135. package/fesm2022/acorex-components-phone-box.mjs +9 -9
  136. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  137. package/fesm2022/acorex-components-picker.mjs +15 -15
  138. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  139. package/fesm2022/acorex-components-popover.mjs +11 -11
  140. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  141. package/fesm2022/acorex-components-popup.mjs +13 -13
  142. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  143. package/fesm2022/acorex-components-progress-bar.mjs +11 -9
  144. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  145. package/fesm2022/acorex-components-qrcode.mjs +7 -7
  146. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  147. package/fesm2022/acorex-components-query-builder.mjs +8 -8
  148. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  149. package/fesm2022/acorex-components-radio.mjs +7 -7
  150. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  151. package/fesm2022/acorex-components-rail-navigation.mjs +38 -36
  152. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  153. package/fesm2022/acorex-components-range-slider.mjs +10 -10
  154. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  155. package/fesm2022/acorex-components-rate-picker.mjs +20 -35
  156. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  157. package/fesm2022/acorex-components-rest-api-generator.mjs +22 -22
  158. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  159. package/fesm2022/acorex-components-result.mjs +8 -8
  160. package/fesm2022/acorex-components-result.mjs.map +1 -1
  161. package/fesm2022/acorex-components-routing-progress.mjs +8 -8
  162. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  163. package/fesm2022/acorex-components-rrule.mjs +9 -9
  164. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  165. package/fesm2022/acorex-components-scheduler-picker.mjs +56 -56
  166. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  167. package/fesm2022/acorex-components-scheduler.mjs +43 -43
  168. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  169. package/fesm2022/acorex-components-scss.mjs +4 -4
  170. package/fesm2022/acorex-components-scss.mjs.map +1 -1
  171. package/fesm2022/acorex-components-search-box.mjs +16 -10
  172. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  173. package/fesm2022/acorex-components-select-box.mjs +11 -9
  174. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  175. package/fesm2022/acorex-components-selection-list-2.mjs +9 -9
  176. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  177. package/fesm2022/acorex-components-selection-list.mjs +9 -9
  178. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  179. package/fesm2022/acorex-components-side-menu.mjs +14 -14
  180. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  181. package/fesm2022/acorex-components-skeleton.mjs +8 -8
  182. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  183. package/fesm2022/acorex-components-slider.mjs +10 -10
  184. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  185. package/fesm2022/acorex-components-sliding-item.mjs +14 -14
  186. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  187. package/fesm2022/acorex-components-step-wizard.mjs +14 -14
  188. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  189. package/fesm2022/acorex-components-switch.mjs +14 -14
  190. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  191. package/fesm2022/acorex-components-tabs.mjs +15 -15
  192. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  193. package/fesm2022/acorex-components-tag-box.mjs +9 -9
  194. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  195. package/fesm2022/acorex-components-tag.mjs +9 -9
  196. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  197. package/fesm2022/acorex-components-text-area.mjs +9 -9
  198. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  199. package/fesm2022/acorex-components-text-box.mjs +12 -12
  200. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  201. package/fesm2022/acorex-components-time-duration.mjs +7 -7
  202. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  203. package/fesm2022/acorex-components-time-line.mjs +12 -12
  204. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  205. package/fesm2022/acorex-components-toast.mjs +14 -14
  206. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  207. package/fesm2022/acorex-components-toolbar.mjs +8 -8
  208. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  209. package/fesm2022/acorex-components-tooltip.mjs +11 -11
  210. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  211. package/fesm2022/acorex-components-tree-view.mjs +10 -10
  212. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  213. package/fesm2022/acorex-components-tree2.mjs +7 -7
  214. package/fesm2022/acorex-components-tree2.mjs.map +1 -1
  215. package/fesm2022/acorex-components-uploader.mjs +16 -16
  216. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  217. package/fesm2022/acorex-components-video-player.mjs +7 -7
  218. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  219. package/fesm2022/acorex-components-wysiwyg.mjs +50 -48
  220. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  221. package/fesm2022/acorex-components.mjs.map +1 -1
  222. package/grid-layout-builder/index.d.ts +1 -2
  223. package/loading/index.d.ts +1 -1
  224. package/notification/index.d.ts +0 -2
  225. package/package.json +15 -15
  226. package/paint/index.d.ts +1 -6
  227. package/rate-picker/index.d.ts +5 -15
  228. package/wysiwyg/index.d.ts +2 -1
  229. package/fesm2022/acorex-components-modal-acorex-components-modal-iYSPzoLn.mjs.map +0 -1
  230. package/fesm2022/acorex-components-modal-modal-content.component-sZWKhYM-.mjs +0 -212
  231. package/fesm2022/acorex-components-modal-modal-content.component-sZWKhYM-.mjs.map +0 -1
@@ -71,6 +71,7 @@ class AXRatePickerComponent extends MXValueComponent {
71
71
  * @default 'fa-star'
72
72
  */
73
73
  this.iconName = input('fa-star', ...(ngDevMode ? [{ debugName: "iconName" }] : []));
74
+ this.color = input('warning', ...(ngDevMode ? [{ debugName: "color" }] : []));
74
75
  /**
75
76
  * @description
76
77
  * Maximum value for the rating.
@@ -246,28 +247,18 @@ class AXRatePickerComponent extends MXValueComponent {
246
247
  return number.toString().split('.')[1].length || 0;
247
248
  }
248
249
  /**
249
- * @description
250
- * Determines if the component is active (i.e., not readonly or disabled).
251
- */
252
- get isActive() {
253
- return !this.readonly && !this.disabled;
254
- }
255
- /**
256
- * @description
257
- * Determines if the component is in readonly mode.
250
+ * @ignore
258
251
  */
259
- get isReadonly() {
260
- return this.readonly;
252
+ get __hostClass() {
253
+ return [
254
+ `ax-${this.color()}`,
255
+ `${this.disabled ? 'ax-state-disabled' : ''}`,
256
+ `${this.readonly ? 'ax-state-readonly' : ''}`,
257
+ `${!this.readonly && !this.disabled ? 'ax-active' : ''}`,
258
+ ];
261
259
  }
262
- /**
263
- * @description
264
- * Determines if the component is disabled.
265
- */
266
- get isDisabled() {
267
- return this.disabled;
268
- }
269
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
270
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.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: [
260
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXRatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
261
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", 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 }, color: { classPropertyName: "color", publicName: "color", 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": "this.__hostClass" } }, providers: [
271
262
  { provide: AXValuableComponent, useExisting: AXRatePickerComponent },
272
263
  {
273
264
  provide: NG_VALUE_ACCESSOR,
@@ -275,9 +266,9 @@ class AXRatePickerComponent extends MXValueComponent {
275
266
  multi: true,
276
267
  },
277
268
  { provide: AXComponent, useExisting: AXRatePickerComponent },
278
- ], 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 }); }
269
+ ], 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: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer components{ax-rate-picker{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ))}ax-rate-picker.ax-active{cursor:pointer}ax-rate-picker.ax-disable{cursor:not-allowed;opacity:.5}ax-rate-picker .ax-rate-picker-container{width:min-content;position:relative}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-rating{z-index:10;position:relative;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:var(--ax-comp-bg)}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{z-index:5;--tw-translate-x: -50% ;--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y);color:color-mix(in oklab,var(--color-on-surface,rgba(var(--ax-sys-color-on-surface)))20%,transparent);position:absolute;top:50%;left:50%}ax-rate-picker.ax-xs{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)))}ax-rate-picker.ax-sm{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)))}ax-rate-picker.ax-md{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ))}ax-rate-picker.ax-lg{font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75/1.125)))}ax-rate-picker.ax-xl{font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75/1.25)))}}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}\n/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
279
270
  }
280
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRatePickerComponent, decorators: [{
271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXRatePickerComponent, decorators: [{
281
272
  type: Component,
282
273
  args: [{ selector: 'ax-rate-picker', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['readonly', 'disabled'], providers: [
283
274
  { provide: AXValuableComponent, useExisting: AXRatePickerComponent },
@@ -287,24 +278,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImpor
287
278
  multi: true,
288
279
  },
289
280
  { provide: AXComponent, useExisting: AXRatePickerComponent },
290
- ], 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"] }]
291
- }], ctorParameters: () => [], propDecorators: { iconName: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconName", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], hasTransition: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasTransition", required: false }] }], containerEl: [{ type: i0.ViewChild, args: ['c', { isSignal: true }] }], ratingEl: [{ type: i0.ViewChild, args: ['r', { isSignal: true }] }], isActive: [{
292
- type: HostBinding,
293
- args: ['class.ax-active']
294
- }], isReadonly: [{
295
- type: HostBinding,
296
- args: ['class.ax-readonly']
297
- }], isDisabled: [{
281
+ ], 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: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer components{ax-rate-picker{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ))}ax-rate-picker.ax-active{cursor:pointer}ax-rate-picker.ax-disable{cursor:not-allowed;opacity:.5}ax-rate-picker .ax-rate-picker-container{width:min-content;position:relative}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-rating{z-index:10;position:relative;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:var(--ax-comp-bg)}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{z-index:5;--tw-translate-x: -50% ;--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y);color:color-mix(in oklab,var(--color-on-surface,rgba(var(--ax-sys-color-on-surface)))20%,transparent);position:absolute;top:50%;left:50%}ax-rate-picker.ax-xs{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)))}ax-rate-picker.ax-sm{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)))}ax-rate-picker.ax-md{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ))}ax-rate-picker.ax-lg{font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75/1.125)))}ax-rate-picker.ax-xl{font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75/1.25)))}}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}\n/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */\n"] }]
282
+ }], ctorParameters: () => [], propDecorators: { iconName: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconName", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], hasTransition: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasTransition", required: false }] }], containerEl: [{ type: i0.ViewChild, args: ['c', { isSignal: true }] }], ratingEl: [{ type: i0.ViewChild, args: ['r', { isSignal: true }] }], __hostClass: [{
298
283
  type: HostBinding,
299
- args: ['class.ax-disable']
284
+ args: ['class']
300
285
  }] } });
301
286
 
302
287
  class AXRatePickerModule {
303
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
304
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.9", ngImport: i0, type: AXRatePickerModule, imports: [CommonModule, AXRatePickerComponent], exports: [AXRatePickerComponent] }); }
305
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRatePickerModule, imports: [CommonModule] }); }
288
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXRatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
289
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: AXRatePickerModule, imports: [CommonModule, AXRatePickerComponent], exports: [AXRatePickerComponent] }); }
290
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXRatePickerModule, imports: [CommonModule] }); }
306
291
  }
307
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRatePickerModule, decorators: [{
292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXRatePickerModule, decorators: [{
308
293
  type: NgModule,
309
294
  args: [{
310
295
  imports: [CommonModule, AXRatePickerComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-rate-picker.mjs","sources":["../tmp-esm2022/rate-picker/lib/calculatePercentage.js","../tmp-esm2022/rate-picker/lib/rate-picker.component.js","../tmp-esm2022/rate-picker/lib/rate-picker.module.js","../tmp-esm2022/rate-picker/acorex-components-rate-picker.js"],"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) {\n let clientX;\n if (event instanceof MouseEvent) {\n clientX = event.clientX; // Mouse event uses clientX\n }\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 }\n else {\n return -1; // Return -1 for invalid events\n }\n // Use currentTarget to get the bounding box of the element the event listener is attached to\n const rect = event.currentTarget.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 return percentage;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlUGVyY2VudGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcmF0ZS1waWNrZXIvc3JjL2xpYi9jYWxjdWxhdGVQZXJjZW50YWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUJHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEtBQThCO0lBQ2pFLElBQUksT0FBZSxDQUFDO0lBRXBCLElBQUksS0FBSyxZQUFZLFVBQVUsRUFBRSxDQUFDO1FBQ2hDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsMkJBQTJCO0lBQ3RELENBQUM7U0FBTSxJQUFJLEtBQUssWUFBWSxVQUFVLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbkUsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsNkNBQTZDO0lBQ25GLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLCtCQUErQjtJQUM1QyxDQUFDO0lBRUQsNkZBQTZGO0lBQzdGLE1BQU0sSUFBSSxHQUFJLEtBQUssQ0FBQyxhQUE2QixDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDMUUsTUFBTSxNQUFNLEdBQUcsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQywrQ0FBK0M7SUFDbkYsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLHNDQUFzQztJQUNuRSxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyx1QkFBdUI7SUFFckUsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2FsY3VsYXRlcyB0aGUgaG9yaXpvbnRhbCBwb3NpdGlvbiBvZiBhIHBvaW50ZXIgZXZlbnQgKG1vdXNlIG9yIHRvdWNoKSBhcyBhIHBlcmNlbnRhZ2VcbiAqIG9mIHRoZSB0YXJnZXQgZWxlbWVudCdzIHdpZHRoLlxuICpcbiAqIEBwYXJhbSBldmVudCAtIFRoZSBtb3VzZSBvciB0b3VjaCBldmVudCB0byBnZXQgdGhlIHBvaW50ZXIgcG9zaXRpb24gZnJvbS5cbiAqIEByZXR1cm5zIFRoZSBwZXJjZW50YWdlIG9mIHRoZSBldmVudCdzIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSB0YXJnZXQgZWxlbWVudCdzIHdpZHRoLFxuICogICAgICAgICAgb3IgLTEgaWYgdGhlIGV2ZW50IGlzIGludmFsaWQuXG4gKlxuICogQHJlbWFya3NcbiAqIC0gRm9yIGBNb3VzZUV2ZW50YCwgaXQgdXNlcyB0aGUgYGNsaWVudFhgIHByb3BlcnR5LlxuICogLSBGb3IgYFRvdWNoRXZlbnRgLCBpdCB1c2VzIHRoZSBgY2xpZW50WGAgb2YgdGhlIGZpcnN0IHRvdWNoIHBvaW50LlxuICogLSBSZXR1cm5zIGAtMWAgaWYgdGhlIGV2ZW50IGlzIG5laXRoZXIgYSB2YWxpZCBgTW91c2VFdmVudGAgbm9yIGEgYFRvdWNoRXZlbnRgLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGV2ZW50KSB7XG4gKiAgIGNvbnN0IHBlcmNlbnRhZ2UgPSBnZXRQb2ludGVyUGVyY2VudGFnZShldmVudCk7XG4gKiAgIGNvbnNvbGUubG9nKGBDbGljayBwb3NpdGlvbjogJHtwZXJjZW50YWdlLnRvRml4ZWQoMil9JSBvZiB0aGUgZWxlbWVudCdzIHdpZHRoYCk7XG4gKiB9KTtcbiAqXG4gKiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZXZlbnQpIHtcbiAqICAgY29uc3QgcGVyY2VudGFnZSA9IGdldFBvaW50ZXJQZXJjZW50YWdlKGV2ZW50KTtcbiAqICAgY29uc29sZS5sb2coYFRvdWNoIHBvc2l0aW9uOiAke3BlcmNlbnRhZ2UudG9GaXhlZCgyKX0lIG9mIHRoZSBlbGVtZW50J3Mgd2lkdGhgKTtcbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQb2ludGVyUGVyY2VudGFnZShldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiBudW1iZXIge1xuICBsZXQgY2xpZW50WDogbnVtYmVyO1xuXG4gIGlmIChldmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQpIHtcbiAgICBjbGllbnRYID0gZXZlbnQuY2xpZW50WDsgLy8gTW91c2UgZXZlbnQgdXNlcyBjbGllbnRYXG4gIH0gZWxzZSBpZiAoZXZlbnQgaW5zdGFuY2VvZiBUb3VjaEV2ZW50ICYmIGV2ZW50LnRvdWNoZXMubGVuZ3RoID4gMCkge1xuICAgIGNsaWVudFggPSBldmVudC50b3VjaGVzWzBdLmNsaWVudFg7IC8vIFRvdWNoIGV2ZW50IHVzZXMgdGhlIGZpcnN0IHRvdWNoJ3MgY2xpZW50WFxuICB9IGVsc2Uge1xuICAgIHJldHVybiAtMTsgLy8gUmV0dXJuIC0xIGZvciBpbnZhbGlkIGV2ZW50c1xuICB9XG5cbiAgLy8gVXNlIGN1cnJlbnRUYXJnZXQgdG8gZ2V0IHRoZSBib3VuZGluZyBib3ggb2YgdGhlIGVsZW1lbnQgdGhlIGV2ZW50IGxpc3RlbmVyIGlzIGF0dGFjaGVkIHRvXG4gIGNvbnN0IHJlY3QgPSAoZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIGNvbnN0IGNsaWNrWCA9IGNsaWVudFggLSByZWN0LmxlZnQ7IC8vIENhbGN1bGF0ZSBYIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBlbGVtZW50XG4gIGNvbnN0IGRpdldpZHRoID0gcmVjdC53aWR0aDsgLy8gR2V0IHRoZSB3aWR0aCBmcm9tIHRoZSBib3VuZGluZyBib3hcbiAgY29uc3QgcGVyY2VudGFnZSA9IChjbGlja1ggLyBkaXZXaWR0aCkgKiAxMDA7IC8vIENhbGN1bGF0ZSBwZXJjZW50YWdlXG5cbiAgcmV0dXJuIHBlcmNlbnRhZ2U7XG59XG4iXX0=","import { AXComponent, AXValuableComponent, MXValueComponent } from '@acorex/cdk/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, forwardRef, HostBinding, inject, input, Renderer2, signal, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getPointerPercentage } from './calculatePercentage';\nimport * as i0 from \"@angular/core\";\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 */\nexport class AXRatePickerComponent extends MXValueComponent {\n /**\n * @description\n * Initializes the component and sets up value change subscription.\n */\n constructor() {\n super();\n /**\n * @description\n * The icon to be used for each rating point.\n * @default 'fa-star'\n */\n this.iconName = input('fa-star', ...(ngDevMode ? [{ debugName: \"iconName\" }] : []));\n /**\n * @description\n * Maximum value for the rating.\n * Defines how many rating points are available.\n * @default 5\n */\n this.max = input(5, ...(ngDevMode ? [{ debugName: \"max\" }] : []));\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 this.step = input(0.01, ...(ngDevMode ? [{ debugName: \"step\" }] : []));\n /**\n * @description\n * Whether the rating should have a transition effect when changing values.\n * @default true\n */\n this.hasTransition = input(true, ...(ngDevMode ? [{ debugName: \"hasTransition\" }] : []));\n /**\n * @description\n * The percentage of the current rating value relative to the maximum rating.\n */\n this.ratePercentage = computed(() => Math.round((this.currentValue() / this.max()) * 10000) / 100, ...(ngDevMode ? [{ debugName: \"ratePercentage\" }] : []));\n /**\n * @description\n * The current rating value as a signal.\n */\n this.currentValue = signal(this.max(), ...(ngDevMode ? [{ debugName: \"currentValue\" }] : []));\n /**\n * @description\n * State for tracking hover status and previous value.\n */\n this.prevState = {\n ishover: false,\n previousValue: undefined,\n };\n /**\n * @description\n * Reference to the container element.\n */\n this.containerEl = viewChild.required('c');\n /**\n * @description\n * Reference to the rating element.\n */\n this.ratingEl = viewChild.required('r');\n /**\n * @description\n * Renderer for manipulating styles.\n */\n this.renderer = inject(Renderer2);\n /**\n * @description\n * Array of rating values from 1 to `max`.\n */\n this.rates = computed(() => Array(this.max())\n .fill(0)\n .map((_, index) => index + 1), ...(ngDevMode ? [{ debugName: \"rates\" }] : []));\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) => {\n if (val.value < 0) {\n this.currentValue.set(0);\n console.warn('ax-rate-picker: value cant be negative!');\n }\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 }\n else {\n this.currentValue.set(val.value);\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 calculateRate(event) {\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 }\n else {\n this.commitValue(Number(value.toFixed(decimals)));\n this.mouseEnter();\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 roundToStep(percentage) {\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 * @description\n * Handles mouse enter events to start tracking mouse movements for rating.\n */\n 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) => 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 * @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 * @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 onEnd(moveListener, endListener) {\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 countDecimals(number) {\n if (Math.floor(number) === number)\n return 0;\n return number.toString().split('.')[1].length || 0;\n }\n /**\n * @description\n * Determines if the component is active (i.e., not readonly or disabled).\n */\n get isActive() {\n return !this.readonly && !this.disabled;\n }\n /**\n * @description\n * Determines if the component is in readonly mode.\n */\n get isReadonly() {\n return this.readonly;\n }\n /**\n * @description\n * Determines if the component is disabled.\n */\n get isDisabled() {\n return this.disabled;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXRatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.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: [\n { provide: AXValuableComponent, useExisting: AXRatePickerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXRatePickerComponent),\n multi: true,\n },\n { provide: AXComponent, useExisting: AXRatePickerComponent },\n ], 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 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXRatePickerComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-rate-picker', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['readonly', 'disabled'], providers: [\n { provide: AXValuableComponent, useExisting: AXRatePickerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXRatePickerComponent),\n multi: true,\n },\n { provide: AXComponent, useExisting: AXRatePickerComponent },\n ], 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\"] }]\n }], ctorParameters: () => [], propDecorators: { iconName: [{ type: i0.Input, args: [{ isSignal: true, alias: \"iconName\", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: \"max\", required: false }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: \"step\", required: false }] }], hasTransition: [{ type: i0.Input, args: [{ isSignal: true, alias: \"hasTransition\", required: false }] }], containerEl: [{ type: i0.ViewChild, args: ['c', { isSignal: true }] }], ratingEl: [{ type: i0.ViewChild, args: ['r', { isSignal: true }] }], isActive: [{\n type: HostBinding,\n args: ['class.ax-active']\n }], isReadonly: [{\n type: HostBinding,\n args: ['class.ax-readonly']\n }], isDisabled: [{\n type: HostBinding,\n args: ['class.ax-disable']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9yYXRlLXBpY2tlci9zcmMvbGliL3JhdGUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcmF0ZS1waWNrZXIvc3JjL2xpYi9yYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEYsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFFTixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUU3RDs7Ozs7Ozs7R0FRRztBQWtCSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZ0JBQXdCO0lBZ0ZqRTs7O09BR0c7SUFDSDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBcEZWOzs7O1dBSUc7UUFDTSxhQUFRLEdBQUcsS0FBSyxDQUFDLFNBQVMsb0RBQUMsQ0FBQztRQUVyQzs7Ozs7V0FLRztRQUNNLFFBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQywrQ0FBQyxDQUFDO1FBRXhCOzs7OztXQUtHO1FBQ00sU0FBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLGdEQUFDLENBQUM7UUFFNUI7Ozs7V0FJRztRQUNNLGtCQUFhLEdBQUcsS0FBSyxDQUFDLElBQUkseURBQUMsQ0FBQztR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QjtZQUNULEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRTtZQUNwRTtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQUNwRCxLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRTtTQUM3RCxtUUMzQ0gsb3RCQXFCQTs7MkZEd0JhLHFCQUFxQjtrQkFqQmpDLFNBQVM7K0JBQ0UsZ0JBQWdCLGlCQUdYLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sVUFDdkMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLGFBQ3JCO3dCQUNULEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsdUJBQXVCLEVBQUU7d0JBQ3BFOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDOzRCQUNwRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRCxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyx1QkFBdUIsRUFBRTtxQkFDN0Q7MmRBMEQ0QyxHQUFHLGtFQU1OLEdBQUc7c0JBcUo1QyxXQUFXO3VCQUFDLGlCQUFpQjs7c0JBUTdCLFdBQVc7dUJBQUMsbUJBQW1COztzQkFRL0IsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbXBvbmVudCwgQVhWYWx1YWJsZUNvbXBvbmVudCwgTVhWYWx1ZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgUmVuZGVyZXIyLFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBnZXRQb2ludGVyUGVyY2VudGFnZSB9IGZyb20gJy4vY2FsY3VsYXRlUGVyY2VudGFnZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBUaGUgYEFYUmF0ZVBpY2tlckNvbXBvbmVudGAgcHJvdmlkZXMgYSBjdXN0b21pemFibGUgcmF0aW5nIHBpY2tlci5cbiAqIFRoZSBjb21wb25lbnQgYWxsb3dzIHVzZXJzIHRvIHNlbGVjdCBhIHJhdGluZyBiZXR3ZWVuIDAgYW5kIHRoZSBkZWZpbmVkIG1heGltdW0uXG4gKiBJdCBzdXBwb3J0cyB0cmFuc2l0aW9ucywgZHluYW1pYyB2YWx1ZSBjaGFuZ2VzLCBhbmQgaG92ZXIgc3RhdGVzLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8YXgtcmF0ZS1waWNrZXIgW21heF09XCI1XCIgW3JlYWRvbmx5XT1cImZhbHNlXCIgW2Rpc2FibGVkXT1cImZhbHNlXCI+PC9heC1yYXRlLXBpY2tlcj5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtcmF0ZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yYXRlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW5wdXRzOiBbJ3JlYWRvbmx5JywgJ2Rpc2FibGVkJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogQVhWYWx1YWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYUmF0ZVBpY2tlckNvbXBvbmVudCB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQVhSYXRlUGlja2VyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAgeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYUmF0ZVBpY2tlckNvbXBvbmVudCB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFJhdGVQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBNWFZhbHVlQ29tcG9uZW50PG51bWJlcj4ge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRoZSBpY29uIHRvIGJlIHVzZWQgZm9yIGVhY2ggcmF0aW5nIHBvaW50LlxuICAgKiBAZGVmYXVsdCAnZmEtc3RhcidcbiAgICovXG4gIHJlYWRvbmx5IGljb25OYW1lID0gaW5wdXQoJ2ZhLXN0YXInKTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIE1heGltdW0gdmFsdWUgZm9yIHRoZSByYXRpbmcuXG4gICAqIERlZmluZXMgaG93IG1hbnkgcmF0aW5nIHBvaW50cyBhcmUgYXZhaWxhYmxlLlxuICAgKiBAZGVmYXVsdCA1XG4gICAqL1xuICByZWFkb25seSBtYXggPSBpbnB1dCg1KTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIERlZmluZXMgdGhlIHN0ZXAgaW5jcmVtZW50IGJldHdlZW4gcmF0aW5nIHZhbHVlcy5cbiAgICogVGhlIHJhdGluZyB2YWx1ZSB3aWxsIGJlIHJvdW5kZWQgdG8gdGhlIG5lYXJlc3QgbXVsdGlwbGUgb2YgdGhpcyBzdGVwLlxuICAgKiBAZGVmYXVsdCAwLjAxXG4gICAqL1xuICByZWFkb25seSBzdGVwID0gaW5wdXQoMC4wMSk7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBXaGV0aGVyIHRoZSByYXRpbmcgc2hvdWxkIGhhdmUgYSB0cmFuc2l0aW9uIGVmZmVjdCB3aGVuIGNoYW5naW5nIHZhbHVlcy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgaGFzVHJhbnNpdGlvbiA9IGlucHV0KHRydWUpO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIHBlcmNlbnRhZ2Ugb2YgdGhlIGN1cnJlbnQgcmF0aW5nIHZhbHVlIHJlbGF0aXZlIHRvIHRoZSBtYXhpbXVtIHJhdGluZy5cbiAgICovXG4gIHByb3RlY3RlZCByYXRlUGVyY2VudGFnZSA9IGNvbXB1dGVkKCgpID0+IE1hdGgucm91bmQoKHRoaXMuY3VycmVudFZhbHVlKCkgLyB0aGlzLm1heCgpKSAqIDEwMDAwKSAvIDEwMCk7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgY3VycmVudCByYXRpbmcgdmFsdWUgYXMgYSBzaWduYWwuXG4gICAqL1xuICBwcml2YXRlIGN1cnJlbnRWYWx1ZSA9IHNpZ25hbCh0aGlzLm1heCgpKTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFN0YXRlIGZvciB0cmFja2luZyBob3ZlciBzdGF0dXMgYW5kIHByZXZpb3VzIHZhbHVlLlxuICAgKi9cbiAgcHJpdmF0ZSBwcmV2U3RhdGU6IHsgaXNob3ZlcjogYm9vbGVhbjsgcHJldmlvdXNWYWx1ZT86IG51bWJlciB9ID0ge1xuICAgIGlzaG92ZXI6IGZhbHNlLFxuICAgIHByZXZpb3VzVmFsdWU6IHVuZGVmaW5lZCxcbiAgfTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgY29udGFpbmVyIGVsZW1lbnQuXG4gICAqL1xuICBjb250YWluZXJFbCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPignYycpO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogUmVmZXJlbmNlIHRvIHRoZSByYXRpbmcgZWxlbWVudC5cbiAgICovXG4gIHJhdGluZ0VsID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY+KCdyJyk7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBSZW5kZXJlciBmb3IgbWFuaXB1bGF0aW5nIHN0eWxlcy5cbiAgICovXG4gIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBcnJheSBvZiByYXRpbmcgdmFsdWVzIGZyb20gMSB0byBgbWF4YC5cbiAgICovXG4gIHByb3RlY3RlZCByYXRlcyA9IGNvbXB1dGVkKCgpID0+XG4gICAgQXJyYXkodGhpcy5tYXgoKSlcbiAgICAgIC5maWxsKDApXG4gICAgICAubWFwKChfLCBpbmRleCkgPT4gaW5kZXggKyAxKSxcbiAgKTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEluaXRpYWxpemVzIHRoZSBjb21wb25lbnQgYW5kIHNldHMgdXAgdmFsdWUgY2hhbmdlIHN1YnNjcmlwdGlvbi5cbiAgICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5oYXNUcmFuc2l0aW9uKCkpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLnJhdGluZ0VsKCkubmF0aXZlRWxlbWVudCwgJ3RyYW5zaXRpb24nKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmhhc1RyYW5zaXRpb24oKTtcbiAgICB9KTtcbiAgICB0aGlzLm9uVmFsdWVDaGFuZ2VkLnN1YnNjcmliZSgodmFsOiB7IHZhbHVlIH0pID0+IHtcbiAgICAgIGlmICh2YWwudmFsdWUgPCAwKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlLnNldCgwKTtcbiAgICAgICAgY29uc29sZS53YXJuKCdheC1yYXRlLXBpY2tlcjogdmFsdWUgY2FudCBiZSBuZWdhdGl2ZSEnKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsLnZhbHVlID4gdGhpcy5tYXgoKSkge1xuICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZS5zZXQodGhpcy5tYXgoKSk7XG4gICAgICAgIGNvbnNvbGUud2FybignYXgtcmF0ZS1waWNrZXI6IHZhbHVlIGNhbnQgYmUgbW9yZSB0aGFuIG1heCEnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlLnNldCh2YWwudmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBDYWxjdWxhdGVzIGFuZCB1cGRhdGVzIHRoZSByYXRpbmcgYmFzZWQgb24gdGhlIG1vdXNlIG9yIHRvdWNoIGV2ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnQgLSBUaGUgbW91c2Ugb3IgdG91Y2ggZXZlbnQgdHJpZ2dlcmluZyB0aGUgcmF0aW5nIGNhbGN1bGF0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNhbGN1bGF0ZVJhdGUoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaGFzVHJhbnNpdGlvbigpKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMucmF0aW5nRWwoKS5uYXRpdmVFbGVtZW50LCAndHJhbnNpdGlvbicpO1xuICAgIH1cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICghdGhpcy5yZWFkb25seSAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgY29uc3QgcG9pbnRlclBlcmNlbnRhZ2UgPSBnZXRQb2ludGVyUGVyY2VudGFnZShldmVudCk7XG4gICAgICBpZiAocG9pbnRlclBlcmNlbnRhZ2UgPT09IC0xKSB7XG4gICAgICAgIHJldHVybiBjb25zb2xlLndhcm4oJ09ubHkgc3VwcG9ydCB0b3VjaCBhbmQgY2xpY2sgZXZlbnRzLicpO1xuICAgICAgfVxuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnJvdW5kVG9TdGVwKHBvaW50ZXJQZXJjZW50YWdlKTtcbiAgICAgIGNvbnN0IGRlY2ltYWxzID0gdGhpcy5jb3VudERlY2ltYWxzKHRoaXMuc3RlcCgpKTtcbiAgICAgIGlmICh0aGlzLnByZXZTdGF0ZS5pc2hvdmVyID09PSB0cnVlKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlLnNldCh2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbW1pdFZhbHVlKE51bWJlcih2YWx1ZS50b0ZpeGVkKGRlY2ltYWxzKSkpO1xuICAgICAgICB0aGlzLm1vdXNlRW50ZXIoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFJvdW5kcyB0aGUgcmF0aW5nIHZhbHVlIHRvIHRoZSBuZWFyZXN0IHN0ZXAuXG4gICAqXG4gICAqIEBwYXJhbSBwZXJjZW50YWdlIC0gVGhlIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSBmcm9tIHBvaW50ZXIgZXZlbnQuXG4gICAqIEByZXR1cm5zIFRoZSByb3VuZGVkIHJhdGluZyB2YWx1ZS5cbiAgICovXG4gIHByaXZhdGUgcm91bmRUb1N0ZXAocGVyY2VudGFnZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCB2YWx1ZSA9IChwZXJjZW50YWdlIC8gMTAwKSAqIHRoaXMubWF4KCk7XG4gICAgY29uc3QgdmFsdWUyID0gTWF0aC5yb3VuZCh2YWx1ZSAvICh0aGlzLnN0ZXAoKSB8fCAwLjAxKSkgKiB0aGlzLnN0ZXAoKTtcbiAgICByZXR1cm4gdmFsdWUyO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBIYW5kbGVzIG1vdXNlIGVudGVyIGV2ZW50cyB0byBzdGFydCB0cmFja2luZyBtb3VzZSBtb3ZlbWVudHMgZm9yIHJhdGluZy5cbiAgICovXG4gIHByb3RlY3RlZCBtb3VzZUVudGVyKCkge1xuICAgIHRoaXMucHJldlN0YXRlID0ge1xuICAgICAgaXNob3ZlcjogdHJ1ZSxcbiAgICAgIHByZXZpb3VzVmFsdWU6IHRoaXMudmFsdWUsXG4gICAgfTtcbiAgICBpZiAodGhpcy5oYXNUcmFuc2l0aW9uKCkpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5yYXRpbmdFbCgpLm5hdGl2ZUVsZW1lbnQsICdvcGFjaXR5JywgJzgwJScpO1xuICAgIH1cbiAgICBjb25zdCBtb3ZlTGlzdGVuZXIgPSAobW92ZUV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4gdGhpcy5jYWxjdWxhdGVSYXRlKG1vdmVFdmVudCk7XG4gICAgY29uc3QgZW5kTGlzdGVuZXIgPSAoKSA9PiB0aGlzLm9uRW5kKG1vdmVMaXN0ZW5lciwgZW5kTGlzdGVuZXIpO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyRWwoKS5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBtb3ZlTGlzdGVuZXIpO1xuICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgZW5kTGlzdGVuZXIpO1xuICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgZW5kTGlzdGVuZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBIYW5kbGVzIG1vdXNlIGxlYXZlIGV2ZW50cyB0byByZXNldCBzdHlsZXMuXG4gICAqL1xuICBwcm90ZWN0ZWQgbW91c2VMZWF2ZSgpIHtcbiAgICBpZiAodGhpcy5oYXNUcmFuc2l0aW9uKCkpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5yYXRpbmdFbCgpLm5hdGl2ZUVsZW1lbnQsICdvcGFjaXR5Jyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBDbGVhbnMgdXAgZXZlbnQgbGlzdGVuZXJzIGFuZCByZXN0b3JlcyB0aGUgcHJldmlvdXMgcmF0aW5nIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gbW92ZUxpc3RlbmVyIC0gVGhlIGZ1bmN0aW9uIHRvIHJlbW92ZSBmb3IgbW91c2UgbW92ZSBldmVudHMuXG4gICAqIEBwYXJhbSBlbmRMaXN0ZW5lciAtIFRoZSBmdW5jdGlvbiB0byByZW1vdmUgZm9yIG1vdXNlIGVuZCBldmVudHMuXG4gICAqL1xuICBwcml2YXRlIG9uRW5kKG1vdmVMaXN0ZW5lcjogKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4gdm9pZCwgZW5kTGlzdGVuZXI6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5oYXNUcmFuc2l0aW9uKCkpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMucmF0aW5nRWwoKS5uYXRpdmVFbGVtZW50LFxuICAgICAgICAndHJhbnNpdGlvbicsXG4gICAgICAgIGB3aWR0aCAke3RoaXMubWF4KCkgKiA1MCArIDI1MH1tcyBjdWJpYy1iZXppZXIoMC4yOSwgMC43MiwgMC42OCwgMC44NSlgLFxuICAgICAgKTtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5yYXRpbmdFbCgpLm5hdGl2ZUVsZW1lbnQsICdvcGFjaXR5Jyk7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudFZhbHVlLnNldCh0aGlzLnByZXZTdGF0ZS5wcmV2aW91c1ZhbHVlKTtcbiAgICB0aGlzLnByZXZTdGF0ZSA9IHtcbiAgICAgIGlzaG92ZXI6IGZhbHNlLFxuICAgICAgcHJldmlvdXNWYWx1ZTogdW5kZWZpbmVkLFxuICAgIH07XG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5jb250YWluZXJFbCgpLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG1vdmVMaXN0ZW5lcik7XG4gICAgY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBlbmRMaXN0ZW5lcik7XG4gICAgY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBlbmRMaXN0ZW5lcik7XG4gIH1cblxuICBwcml2YXRlIGNvdW50RGVjaW1hbHMobnVtYmVyOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmIChNYXRoLmZsb29yKG51bWJlcikgPT09IG51bWJlcikgcmV0dXJuIDA7XG4gICAgcmV0dXJuIG51bWJlci50b1N0cmluZygpLnNwbGl0KCcuJylbMV0ubGVuZ3RoIHx8IDA7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIERldGVybWluZXMgaWYgdGhlIGNvbXBvbmVudCBpcyBhY3RpdmUgKGkuZS4sIG5vdCByZWFkb25seSBvciBkaXNhYmxlZCkuXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmF4LWFjdGl2ZScpIGdldCBpc0FjdGl2ZSgpIHtcbiAgICByZXR1cm4gIXRoaXMucmVhZG9ubHkgJiYgIXRoaXMuZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIERldGVybWluZXMgaWYgdGhlIGNvbXBvbmVudCBpcyBpbiByZWFkb25seSBtb2RlLlxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5heC1yZWFkb25seScpIGdldCBpc1JlYWRvbmx5KCkge1xuICAgIHJldHVybiB0aGlzLnJlYWRvbmx5O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSBjb21wb25lbnQgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmF4LWRpc2FibGUnKSBnZXQgaXNEaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcbiAgfVxufVxuIiwiPGRpdlxuICAjY1xuICBjbGFzcz1cImF4LXJhdGUtcGlja2VyLWNvbnRhaW5lclwiXG4gIChjbGljayk9XCJjYWxjdWxhdGVSYXRlKCRldmVudClcIlxuICAodG91Y2hzdGFydCk9XCJjYWxjdWxhdGVSYXRlKCRldmVudClcIlxuICAobW91c2VlbnRlcik9XCJtb3VzZUVudGVyKClcIlxuICAobW91c2VsZWF2ZSk9XCJtb3VzZUxlYXZlKClcIlxuPlxuICA8ZGl2ICNyIGNsYXNzPVwiYXgtcmF0ZS1waWNrZXItcmF0aW5nXCIgW3N0eWxlLndpZHRoLiVdPVwicmF0ZVBlcmNlbnRhZ2UoKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJheC1yYXRlLXBpY2tlci1pY29ucyBheC1ycC1hY3RpdmVcIj5cbiAgICAgIEBmb3IgKHJhdGUgb2YgcmF0ZXMoKTsgdHJhY2sgcmF0ZSkge1xuICAgICAgICA8aSBjbGFzcz1cImF4LXJhdGUtcGlja2VyLWljb24gZmEtc29saWRcIiBbY2xhc3NdPVwiaWNvbk5hbWUoKVwiIFtjbGFzcy5wb2ludGVyXT1cIiF0aGlzLnJlYWRvbmx5XCI+PC9pPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImF4LXJhdGUtcGlja2VyLWljb25zIGF4LXJwLWluYWN0aXZlXCI+XG4gICAgQGZvciAocmF0ZSBvZiByYXRlcygpOyB0cmFjayByYXRlKSB7XG4gICAgICA8aSBjbGFzcz1cImF4LXJhdGUtcGlja2VyLWljb24gZmEtc29saWRcIiBbY2xhc3NdPVwiaWNvbk5hbWUoKVwiPjwvaT5cbiAgICB9XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXRatePickerComponent } from './rate-picker.component';\nimport * as i0 from \"@angular/core\";\nexport class AXRatePickerModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXRatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.9\", ngImport: i0, type: AXRatePickerModule, imports: [CommonModule, AXRatePickerComponent], exports: [AXRatePickerComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXRatePickerModule, imports: [CommonModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXRatePickerModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule, AXRatePickerComponent],\n exports: [AXRatePickerComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0ZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9yYXRlLXBpY2tlci9zcmMvbGliL3JhdGUtcGlja2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFNaEUsTUFBTSxPQUFPLGtCQUFrQjs4R0FBbEIsa0JBQWtCOytHQUFsQixrQkFBa0IsWUFIbkIsWUFBWSxFQUFFLHFCQUFxQixhQUNuQyxxQkFBcUI7K0dBRXBCLGtCQUFrQixZQUhuQixZQUFZOzsyRkFHWCxrQkFBa0I7a0JBSjlCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLHFCQUFxQixDQUFDO29CQUM5QyxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUmF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vcmF0ZS1waWNrZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQVhSYXRlUGlja2VyQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0FYUmF0ZVBpY2tlckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUmF0ZVBpY2tlck1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtcmF0ZS1waWNrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3JhdGUtcGlja2VyL3NyYy9hY29yZXgtY29tcG9uZW50cy1yYXRlLXBpY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,oBAAoB,CAAC,KAAK,EAAE;AAC5C,IAAI,IAAI,OAAO;AACf,IAAI,IAAI,KAAK,YAAY,UAAU,EAAE;AACrC,QAAQ,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;AAChC,IAAI;AACJ,SAAS,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACtE,QAAQ,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAC3C,IAAI;AACJ,SAAS;AACT,QAAQ,OAAO,CAAC,CAAC,CAAC;AAClB,IAAI;AACJ;AACA,IAAI,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE;AAC5D,IAAI,MAAM,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;AACvC,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;AAChC,IAAI,MAAM,UAAU,GAAG,CAAC,MAAM,GAAG,QAAQ,IAAI,GAAG,CAAC;AACjD,IAAI,OAAO,UAAU;AACrB;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,qBAAqB,SAAS,gBAAgB,CAAC;AAC5D;AACA;AACA;AACA;AACA,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,EAAE;AACf;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9E;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAChG;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACnK;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrG;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,SAAS,GAAG;AACzB,YAAY,OAAO,EAAE,KAAK;AAC1B,YAAY,aAAa,EAAE,SAAS;AACpC,SAAS;AACT;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;AAClD;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;AAC/C;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AACzC;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;AACpD,aAAa,IAAI,CAAC,CAAC;AACnB,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1F,QAAQ,MAAM,CAAC,MAAM;AACrB,YAAY,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE;AACvC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;AACtF,YAAY;AACZ,YAAY,OAAO,IAAI,CAAC,aAAa,EAAE;AACvC,QAAQ,CAAC,CAAC;AACV,QAAQ,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK;AAC/C,YAAY,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE;AAC/B,gBAAgB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AACxC,gBAAgB,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC;AACvE,YAAY;AACZ,iBAAiB,IAAI,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE;AAC7C,gBAAgB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACjD,gBAAgB,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC;AAC5E,YAAY;AACZ,iBAAiB;AACjB,gBAAgB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;AAChD,YAAY;AACZ,QAAQ,CAAC,CAAC;AACV,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,aAAa,CAAC,KAAK,EAAE;AACzB,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AAClC,YAAY,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;AAClF,QAAQ;AACR,QAAQ,KAAK,CAAC,cAAc,EAAE;AAC9B,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC9C,YAAY,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,KAAK,CAAC;AACjE,YAAY,IAAI,iBAAiB,KAAK,CAAC,CAAC,EAAE;AAC1C,gBAAgB,OAAO,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC;AAC3E,YAAY;AACZ,YAAY,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;AAC7D,YAAY,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AAC5D,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,IAAI,EAAE;AACjD,gBAAgB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;AAC5C,YAAY;AACZ,iBAAiB;AACjB,gBAAgB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjE,gBAAgB,IAAI,CAAC,UAAU,EAAE;AACjC,YAAY;AACZ,QAAQ;AACR,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,MAAM,KAAK,GAAG,CAAC,UAAU,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE;AACrD,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE;AAC9E,QAAQ,OAAO,MAAM;AACrB,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI,UAAU,GAAG;AACjB,QAAQ,IAAI,CAAC,SAAS,GAAG;AACzB,YAAY,OAAO,EAAE,IAAI;AACzB,YAAY,aAAa,EAAE,IAAI,CAAC,KAAK;AACrC,SAAS;AACT,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AAClC,YAAY,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,CAAC;AACnF,QAAQ;AACR,QAAQ,MAAM,YAAY,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;AACzE,QAAQ,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC;AACvE,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,aAAa;AAC1D,QAAQ,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,YAAY,CAAC;AAC7D,QAAQ,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC;AAC1D,QAAQ,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,WAAW,CAAC;AAC7D,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI,UAAU,GAAG;AACjB,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AAClC,YAAY,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;AAC/E,QAAQ;AACR,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAK,CAAC,YAAY,EAAE,WAAW,EAAE;AACrC,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AAClC,YAAY,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,uCAAuC,CAAC,CAAC;AACxJ,YAAY,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;AAC/E,QAAQ;AACR,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;AAC3D,QAAQ,IAAI,CAAC,SAAS,GAAG;AACzB,YAAY,OAAO,EAAE,KAAK;AAC1B,YAAY,aAAa,EAAE,SAAS;AACpC,SAAS;AACT,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,aAAa;AAC1D,QAAQ,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,YAAY,CAAC;AAChE,QAAQ,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,WAAW,CAAC;AAC7D,QAAQ,SAAS,CAAC,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC;AAChE,IAAI;AACJ,IAAI,aAAa,CAAC,MAAM,EAAE;AAC1B,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,MAAM;AACzC,YAAY,OAAO,CAAC;AACpB,QAAQ,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC;AAC1D,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ;AAC/C,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI,IAAI,UAAU,GAAG;AACrB,QAAQ,OAAO,IAAI,CAAC,QAAQ;AAC5B,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI,IAAI,UAAU,GAAG;AACrB,QAAQ,OAAO,IAAI,CAAC,QAAQ;AAC5B,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACvL,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,qBAAqB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,EAAE,iBAAiB,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,EAAE,EAAE,SAAS,EAAE;AACzkC,YAAY,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,qBAAqB,EAAE;AAChF,YAAY;AACZ,gBAAgB,OAAO,EAAE,iBAAiB;AAC1C,gBAAgB,WAAW,EAAE,UAAU,CAAC,MAAM,qBAAqB,CAAC;AACpE,gBAAgB,KAAK,EAAE,IAAI;AAC3B,aAAa;AACb,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,qBAAqB,EAAE;AACxE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,otBAAotB,EAAE,MAAM,EAAE,CAAC,0lDAA0lD,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AACxqF;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC;AAC/H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE;AACtL,wBAAwB,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,qBAAqB,EAAE;AAC5F,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,iBAAiB;AACtD,4BAA4B,WAAW,EAAE,UAAU,CAAC,MAAM,qBAAqB,CAAC;AAChF,4BAA4B,KAAK,EAAE,IAAI;AACvC,yBAAyB;AACzB,wBAAwB,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,qBAAqB,EAAE;AACpF,qBAAqB,EAAE,QAAQ,EAAE,otBAAotB,EAAE,MAAM,EAAE,CAAC,0lDAA0lD,CAAC,EAAE;AAC71E,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;AACxkB,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,iBAAiB;AACxC,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;AAC7B,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,mBAAmB;AAC1C,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;AAC7B,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,kBAAkB;AACzC,aAAa,CAAC,EAAE,EAAE,CAAC;;ACzPZ,MAAM,kBAAkB,CAAC;AAChC,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;AACnL,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,qBAAqB,CAAC,EAAE,OAAO,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;AACvN,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAC9J;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC;AAC5H,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,OAAO,EAAE,CAAC,YAAY,EAAE,qBAAqB,CAAC;AAClE,oBAAoB,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACpD,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;ACfb;AACA;AACA;;;;"}
1
+ {"version":3,"file":"acorex-components-rate-picker.mjs","sources":["../../../../packages/components/rate-picker/src/lib/calculatePercentage.ts","../../../../packages/components/rate-picker/src/lib/rate-picker.component.ts","../../../../packages/components/rate-picker/src/lib/rate-picker.component.html","../../../../packages/components/rate-picker/src/lib/rate-picker.module.ts","../../../../packages/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 { AXComponent, AXStyleColorType, AXValuableComponent, MXValueComponent } from '@acorex/cdk/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.compiled.css'],\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 { provide: AXComponent, useExisting: AXRatePickerComponent },\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 readonly iconName = input('fa-star');\n\n readonly color = input<AXStyleColorType>('warning');\n\n /**\n * @description\n * Maximum value for the rating.\n * Defines how many rating points are available.\n * @default 5\n */\n readonly 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 readonly 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 readonly 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 protected 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(\n this.ratingEl().nativeElement,\n 'transition',\n `width ${this.max() * 50 + 250}ms cubic-bezier(0.29, 0.72, 0.68, 0.85)`,\n );\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 * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string[] {\n return [\n `ax-${this.color()}`,\n `${this.disabled ? 'ax-state-disabled' : ''}`,\n `${this.readonly ? 'ax-state-readonly' : ''}`,\n `${!this.readonly && !this.disabled ? 'ax-active' : ''}`,\n ];\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;IAC1B;AAAO,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;IACrC;SAAO;AACL,QAAA,OAAO,CAAC,CAAC,CAAC;IACZ;;IAGA,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;AAkBG,MAAO,qBAAsB,SAAQ,gBAAwB,CAAA;AAkFjE;;;AAGG;AACH,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AAtFT;;;;AAIG;AACM,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,SAAS,oDAAC;AAE3B,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAmB,SAAS,iDAAC;AAEnD;;;;;AAKG;AACM,QAAA,IAAA,CAAA,GAAG,GAAG,KAAK,CAAC,CAAC,+CAAC;AAEvB;;;;;AAKG;AACM,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,IAAI,gDAAC;AAE3B;;;;AAIG;AACM,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,IAAI,yDAAC;AAEpC;;;AAGG;QACO,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAEvG;;;AAGG;QACK,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,wDAAC;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,iDAChC;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;YACxE;AACA,YAAA,OAAO,IAAI,CAAC,aAAa,EAAE;AAC7B,QAAA,CAAC,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;YACzD;iBAAO,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;YAC9D;iBAAO;gBACL,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;YAClC;AACF,QAAA,CAAC,CAAC;IACJ;AAEA;;;;;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;QACxE;QACA,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;YAC7D;YACA,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;YAC9B;iBAAO;AACL,gBAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACjD,IAAI,CAAC,UAAU,EAAE;YACnB;QACF;IACF;AAEA;;;;;;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;IACf;AAEA;;;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;QACzE;AACA,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;IACvD;AAEA;;;AAGG;IACO,UAAU,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACxB,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;QACrE;IACF;AAEA;;;;;;AAMG;IACK,KAAK,CAAC,YAAsD,EAAE,WAAuB,EAAA;AAC3F,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;YACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACpB,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAC7B,YAAY,EACZ,CAAA,MAAA,EAAS,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA,uCAAA,CAAyC,CACxE;AACD,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;QACrE;QACA,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;IAC1D;AAEQ,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;IACpD;AAEA;;AAEG;AACH,IAAA,IACY,WAAW,GAAA;QACrB,OAAO;AACL,YAAA,CAAA,GAAA,EAAM,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE;YACpB,CAAA,EAAG,IAAI,CAAC,QAAQ,GAAG,mBAAmB,GAAG,EAAE,CAAA,CAAE;YAC7C,CAAA,EAAG,IAAI,CAAC,QAAQ,GAAG,mBAAmB,GAAG,EAAE,CAAA,CAAE;AAC7C,YAAA,CAAA,EAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,WAAW,GAAG,EAAE,CAAA,CAAE;SACzD;IACH;+GA5NW,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,EAAA,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,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,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,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAVrB;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;AACD,YAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,qBAAqB,EAAE;AAC7D,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,EC3CH,otBAqBA,EAAA,MAAA,EAAA,CAAA,4oEAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDwBa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAjBjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAAA,aAAA,EAGX,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EACvC,CAAC,UAAU,EAAE,UAAU,CAAC,EAAA,SAAA,EACrB;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;AACD,wBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,uBAAuB,EAAE;AAC7D,qBAAA,EAAA,QAAA,EAAA,otBAAA,EAAA,MAAA,EAAA,CAAA,4oEAAA,CAAA,EAAA;AA4D4C,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,KAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,GAAG,kEAMN,GAAG,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA;sBAoJ5C,WAAW;uBAAC,OAAO;;;MEzPT,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,EAAA,OAAA,EAAA,CAHnB,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;;;;"}
@@ -24,10 +24,10 @@ class AXRestApiGeneratorService {
24
24
  body: '',
25
25
  }, ...(ngDevMode ? [{ debugName: "outPutJSON" }] : []));
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRestApiGeneratorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
28
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRestApiGeneratorService }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXRestApiGeneratorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
28
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXRestApiGeneratorService }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRestApiGeneratorService, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXRestApiGeneratorService, decorators: [{
31
31
  type: Injectable
32
32
  }] });
33
33
 
@@ -88,10 +88,10 @@ class AXQueryParamsComponent {
88
88
  }
89
89
  return '';
90
90
  }
91
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXQueryParamsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
92
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.9", type: AXQueryParamsComponent, isStandalone: true, selector: "ax-query-params", providers: [{ provide: AXComponent, useExisting: AXQueryParamsComponent }], 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\n (onValueChanged)=\"queryParamsKeyHandler($event, item.tempId)\"\n placeholder=\"key\"\n [ngModel]=\"setInitialState(item, 'key')\"\n ></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 .ax-query-params-container{width:100%}ax-query-params{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}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 }); }
91
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXQueryParamsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXQueryParamsComponent, isStandalone: true, selector: "ax-query-params", providers: [{ provide: AXComponent, useExisting: AXQueryParamsComponent }], 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\n (onValueChanged)=\"queryParamsKeyHandler($event, item.tempId)\"\n placeholder=\"key\"\n [ngModel]=\"setInitialState(item, 'key')\"\n ></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 .ax-query-params-container{width:100%}ax-query-params{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}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 }); }
93
93
  }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXQueryParamsComponent, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXQueryParamsComponent, decorators: [{
95
95
  type: Component,
96
96
  args: [{ selector: 'ax-query-params', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXDecoratorGenericComponent, AXButtonComponent, AXDecoratorIconComponent, AXTextBoxComponent, FormsModule], providers: [{ provide: AXComponent, useExisting: AXQueryParamsComponent }], 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\n (onValueChanged)=\"queryParamsKeyHandler($event, item.tempId)\"\n placeholder=\"key\"\n [ngModel]=\"setInitialState(item, 'key')\"\n ></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 .ax-query-params-container{width:100%}ax-query-params{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}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"] }]
97
97
  }] });
@@ -159,10 +159,10 @@ class AXRequestBodyComponent {
159
159
  return copy;
160
160
  });
161
161
  }
162
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRequestBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
163
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.9", type: AXRequestBodyComponent, isStandalone: true, selector: "ax-request-body", providers: [{ provide: AXComponent, useExisting: AXRequestBodyComponent }], ngImport: i0, template: "<ax-selection-list\n [showControl]=\"true\"\n look=\"solid\"\n [items]=\"items\"\n [(ngModel)]=\"value\"\n (onValueChanged)=\"bodyReqHandler($event)\"\n>\n</ax-selection-list>\n<ax-text-area\n [(ngModel)]=\"service.outPutJSON().body\"\n (onValueChanged)=\"bodyTextHandler($event)\"\n [placeholder]=\"selectedItem().placeHolder\"\n>\n</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 }); }
162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXRequestBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
163
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", type: AXRequestBodyComponent, isStandalone: true, selector: "ax-request-body", providers: [{ provide: AXComponent, useExisting: AXRequestBodyComponent }], ngImport: i0, template: "<ax-selection-list\n [showControl]=\"true\"\n look=\"solid\"\n [items]=\"items\"\n [(ngModel)]=\"value\"\n (onValueChanged)=\"bodyReqHandler($event)\"\n>\n</ax-selection-list>\n<ax-text-area\n [(ngModel)]=\"service.outPutJSON().body\"\n (onValueChanged)=\"bodyTextHandler($event)\"\n [placeholder]=\"selectedItem().placeHolder\"\n>\n</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 }); }
164
164
  }
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRequestBodyComponent, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXRequestBodyComponent, decorators: [{
166
166
  type: Component,
167
167
  args: [{ selector: 'ax-request-body', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXSelectionListComponent, FormsModule, AXTextAreaComponent], providers: [{ provide: AXComponent, useExisting: AXRequestBodyComponent }], template: "<ax-selection-list\n [showControl]=\"true\"\n look=\"solid\"\n [items]=\"items\"\n [(ngModel)]=\"value\"\n (onValueChanged)=\"bodyReqHandler($event)\"\n>\n</ax-selection-list>\n<ax-text-area\n [(ngModel)]=\"service.outPutJSON().body\"\n (onValueChanged)=\"bodyTextHandler($event)\"\n [placeholder]=\"selectedItem().placeHolder\"\n>\n</ax-text-area>\n", styles: ["ax-request-body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}\n"] }]
168
168
  }] });
@@ -241,10 +241,10 @@ class AXRequestHeadersComponent {
241
241
  });
242
242
  return [allHeaders];
243
243
  }
244
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRequestHeadersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
245
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.9", type: AXRequestHeadersComponent, isStandalone: true, selector: "ax-request-headers", providers: [{ provide: AXComponent, useExisting: AXRequestHeadersComponent }], 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\n [ngModel]=\"setInitialState(item, 'key')\"\n (onValueChanged)=\"headersKeyHandler($event, item.tempId)\"\n placeholder=\"key\"\n ></ax-text-box>\n <ax-text-box\n [ngModel]=\"setInitialState(item, 'value')\"\n (onValueChanged)=\"headersValueHandler($event, item.tempId)\"\n placeholder=\"value\"\n ></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 }); }
244
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXRequestHeadersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
245
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXRequestHeadersComponent, isStandalone: true, selector: "ax-request-headers", providers: [{ provide: AXComponent, useExisting: AXRequestHeadersComponent }], 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\n [ngModel]=\"setInitialState(item, 'key')\"\n (onValueChanged)=\"headersKeyHandler($event, item.tempId)\"\n placeholder=\"key\"\n ></ax-text-box>\n <ax-text-box\n [ngModel]=\"setInitialState(item, 'value')\"\n (onValueChanged)=\"headersValueHandler($event, item.tempId)\"\n placeholder=\"value\"\n ></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 }); }
246
246
  }
247
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRequestHeadersComponent, decorators: [{
247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXRequestHeadersComponent, decorators: [{
248
248
  type: Component,
249
249
  args: [{ selector: 'ax-request-headers', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXDecoratorGenericComponent, AXButtonComponent, AXDecoratorIconComponent, AXTextBoxComponent, FormsModule], providers: [{ provide: AXComponent, useExisting: AXRequestHeadersComponent }], 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\n [ngModel]=\"setInitialState(item, 'key')\"\n (onValueChanged)=\"headersKeyHandler($event, item.tempId)\"\n placeholder=\"key\"\n ></ax-text-box>\n <ax-text-box\n [ngModel]=\"setInitialState(item, 'value')\"\n (onValueChanged)=\"headersValueHandler($event, item.tempId)\"\n placeholder=\"value\"\n ></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"] }]
250
250
  }] });
@@ -287,10 +287,10 @@ class AXRestApiAuthComponent {
287
287
  return copy;
288
288
  });
289
289
  }
290
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRestApiAuthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
291
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.9", type: AXRestApiAuthComponent, isStandalone: true, selector: "ax-rest-api-auth", providers: [{ provide: AXComponent, useExisting: AXRestApiAuthComponent }], ngImport: i0, template: "<ax-selection-list\n [showControl]=\"true\"\n look=\"solid\"\n [items]=\"items\"\n [(ngModel)]=\"value\"\n (onValueChanged)=\"authTypeHandler($event)\"\n>\n</ax-selection-list>\n\n@if (selectedItem().text !== 'None') {\n <ax-text-box\n [(ngModel)]=\"service.outPutJSON().headers.Authorization\"\n (onValueChanged)=\"authInputHandler($event)\"\n [placeholder]=\"selectedItem().placeHolder\"\n >\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 }); }
290
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXRestApiAuthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
291
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXRestApiAuthComponent, isStandalone: true, selector: "ax-rest-api-auth", providers: [{ provide: AXComponent, useExisting: AXRestApiAuthComponent }], ngImport: i0, template: "<ax-selection-list\n [showControl]=\"true\"\n look=\"solid\"\n [items]=\"items\"\n [(ngModel)]=\"value\"\n (onValueChanged)=\"authTypeHandler($event)\"\n>\n</ax-selection-list>\n\n@if (selectedItem().text !== 'None') {\n <ax-text-box\n [(ngModel)]=\"service.outPutJSON().headers.Authorization\"\n (onValueChanged)=\"authInputHandler($event)\"\n [placeholder]=\"selectedItem().placeHolder\"\n >\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 }); }
292
292
  }
293
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRestApiAuthComponent, decorators: [{
293
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXRestApiAuthComponent, decorators: [{
294
294
  type: Component,
295
295
  args: [{ selector: 'ax-rest-api-auth', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXSelectionListComponent, FormsModule, AXTextBoxComponent], providers: [{ provide: AXComponent, useExisting: AXRestApiAuthComponent }], template: "<ax-selection-list\n [showControl]=\"true\"\n look=\"solid\"\n [items]=\"items\"\n [(ngModel)]=\"value\"\n (onValueChanged)=\"authTypeHandler($event)\"\n>\n</ax-selection-list>\n\n@if (selectedItem().text !== 'None') {\n <ax-text-box\n [(ngModel)]=\"service.outPutJSON().headers.Authorization\"\n (onValueChanged)=\"authInputHandler($event)\"\n [placeholder]=\"selectedItem().placeHolder\"\n >\n </ax-text-box>\n}\n", styles: ["ax-rest-api-auth{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}\n"] }]
296
296
  }] });
@@ -317,10 +317,10 @@ class AXRestApiGeneratorComponent {
317
317
  methodHandler(e) {
318
318
  this.service.outPutJSON.update((prev) => ({ ...prev, method: e.value }));
319
319
  }
320
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRestApiGeneratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
321
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.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, { provide: AXComponent, useExisting: AXRestApiGeneratorComponent }], 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", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { 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 }); }
320
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXRestApiGeneratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
321
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.12", 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, { provide: AXComponent, useExisting: AXRestApiGeneratorComponent }], 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", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { 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 }); }
322
322
  }
323
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRestApiGeneratorComponent, decorators: [{
323
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXRestApiGeneratorComponent, decorators: [{
324
324
  type: Component,
325
325
  args: [{ selector: 'ax-rest-api-generator', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [AXRestApiGeneratorService, { provide: AXComponent, useExisting: AXRestApiGeneratorComponent }], imports: [
326
326
  AXTextBoxComponent,
@@ -356,8 +356,8 @@ const MODULES = [
356
356
  FormsModule,
357
357
  ];
358
358
  class AXRestApiGeneratorModule {
359
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRestApiGeneratorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
360
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.9", ngImport: i0, type: AXRestApiGeneratorModule, imports: [AXTextBoxModule,
359
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXRestApiGeneratorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
360
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: AXRestApiGeneratorModule, imports: [AXTextBoxModule,
361
361
  AXDecoratorModule,
362
362
  AXSelectBoxModule,
363
363
  AXTabsModule,
@@ -373,9 +373,9 @@ class AXRestApiGeneratorModule {
373
373
  AXRequestBodyComponent,
374
374
  AXRestApiAuthComponent,
375
375
  AXRequestHeadersComponent] }); }
376
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRestApiGeneratorModule, imports: [MODULES, COMPONENT] }); }
376
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXRestApiGeneratorModule, imports: [MODULES, COMPONENT] }); }
377
377
  }
378
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRestApiGeneratorModule, decorators: [{
378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXRestApiGeneratorModule, decorators: [{
379
379
  type: NgModule,
380
380
  args: [{
381
381
  imports: [...MODULES, ...COMPONENT],