angular-toolbox 1.4.5 → 1.5.0

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 (278) hide show
  1. package/README.md +1 -1
  2. package/fesm2022/angular-toolbox.mjs +447 -174
  3. package/fesm2022/angular-toolbox.mjs.map +1 -1
  4. package/lib/framework/dialog/dialog-backdrop-type.enum.d.ts +20 -0
  5. package/lib/framework/dialog/dialog-backdrop.type.d.ts +11 -0
  6. package/lib/framework/dialog/dialog-default-config.d.ts +12 -0
  7. package/lib/framework/dialog/dialog-outlet-event-type.d.ts +11 -0
  8. package/lib/framework/dialog/dialog-outlet.event.d.ts +40 -0
  9. package/lib/framework/dialog/dialog-service.d.ts +47 -0
  10. package/lib/framework/dialog/dialog-service.error.d.ts +19 -0
  11. package/lib/framework/dialog/dialog.config.d.ts +18 -0
  12. package/lib/framework/dialog/dialog.outlet.d.ts +59 -0
  13. package/lib/framework/dialog/index.d.ts +15 -0
  14. package/lib/framework/index.d.ts +1 -0
  15. package/package.json +1 -3
  16. package/esm2022/angular-toolbox.mjs +0 -5
  17. package/esm2022/lib/angular-toolbox.module.mjs +0 -25
  18. package/esm2022/lib/collection/array-list-event-type.enum.mjs +0 -30
  19. package/esm2022/lib/collection/array-list.event.mjs +0 -23
  20. package/esm2022/lib/collection/array-list.mjs +0 -158
  21. package/esm2022/lib/collection/index.mjs +0 -11
  22. package/esm2022/lib/component/angular-toolbox-logo/angular-toolbox-logo.component.mjs +0 -18
  23. package/esm2022/lib/component/dropdown/dropdown.component.mjs +0 -139
  24. package/esm2022/lib/component/index.mjs +0 -11
  25. package/esm2022/lib/component/layout/border-layout/border-layout.component.mjs +0 -149
  26. package/esm2022/lib/component/layout/border-layout/util/border-layout-bounds-manager.mjs +0 -211
  27. package/esm2022/lib/component/layout/border-layout/util/border-layout-renderer.mjs +0 -267
  28. package/esm2022/lib/component/layout/border-layout/util/resize-method.mjs +0 -9
  29. package/esm2022/lib/component/layout/border-layout-container/border-layout-container.component.mjs +0 -145
  30. package/esm2022/lib/component/layout/index.mjs +0 -3
  31. package/esm2022/lib/core/abstract/abstract-subscription-manager.mjs +0 -113
  32. package/esm2022/lib/core/abstract/abstract-version-manager.mjs +0 -37
  33. package/esm2022/lib/core/abstract/index.mjs +0 -3
  34. package/esm2022/lib/core/bridge/app-bridge.mjs +0 -76
  35. package/esm2022/lib/core/error/app-bridge-error.mjs +0 -24
  36. package/esm2022/lib/core/error/http-mock-service-error.mjs +0 -26
  37. package/esm2022/lib/core/error/index.mjs +0 -5
  38. package/esm2022/lib/core/error/integrity-error.mjs +0 -26
  39. package/esm2022/lib/core/error/subscription-error.mjs +0 -26
  40. package/esm2022/lib/core/impl/index.mjs +0 -2
  41. package/esm2022/lib/core/impl/lang/identifiable-component.mjs +0 -47
  42. package/esm2022/lib/core/impl/lang/index.mjs +0 -2
  43. package/esm2022/lib/core/impl/version/version.impl.mjs +0 -36
  44. package/esm2022/lib/core/index.mjs +0 -4
  45. package/esm2022/lib/directive/anchor-link.directive.mjs +0 -62
  46. package/esm2022/lib/directive/button-role.directive.mjs +0 -102
  47. package/esm2022/lib/directive/content-renderer.directive.mjs +0 -61
  48. package/esm2022/lib/directive/index.mjs +0 -5
  49. package/esm2022/lib/directive/navigate-to-url.directive.mjs +0 -51
  50. package/esm2022/lib/directive/navigation-directive-base.mjs +0 -23
  51. package/esm2022/lib/framework/index.mjs +0 -5
  52. package/esm2022/lib/framework/logging/connector/console-log-connector.mjs +0 -48
  53. package/esm2022/lib/framework/logging/connector/default-log-connector.mjs +0 -34
  54. package/esm2022/lib/framework/logging/connector/html-log-connector.mjs +0 -177
  55. package/esm2022/lib/framework/logging/connector/index.mjs +0 -4
  56. package/esm2022/lib/framework/logging/impl/abstract-logger.mjs +0 -100
  57. package/esm2022/lib/framework/logging/impl/index.mjs +0 -3
  58. package/esm2022/lib/framework/logging/impl/log-impl.mjs +0 -31
  59. package/esm2022/lib/framework/logging/index.mjs +0 -4
  60. package/esm2022/lib/framework/logging/util/index.mjs +0 -4
  61. package/esm2022/lib/framework/logging/util/log.builder.mjs +0 -28
  62. package/esm2022/lib/framework/logging/util/log.constant.mjs +0 -24
  63. package/esm2022/lib/framework/logging/util/log.util.mjs +0 -142
  64. package/esm2022/lib/framework/mock/documentation/component/atx-mock-description/atx-mock-description.component.mjs +0 -27
  65. package/esm2022/lib/framework/mock/documentation/component/atx-mock-documentation/atx-mock-documentation.component.mjs +0 -77
  66. package/esm2022/lib/framework/mock/documentation/component/atx-mock-full-description/atx-mock-full-description.component.mjs +0 -27
  67. package/esm2022/lib/framework/mock/documentation/component/atx-mock-methods/atx-mock-methods.component.mjs +0 -71
  68. package/esm2022/lib/framework/mock/documentation/component/atx-mock-param/atx-mock-param.component.mjs +0 -27
  69. package/esm2022/lib/framework/mock/documentation/index.mjs +0 -2
  70. package/esm2022/lib/framework/mock/documentation/model/business/full-description.type.mjs +0 -9
  71. package/esm2022/lib/framework/mock/documentation/model/business/method-doc-descriptor.type.mjs +0 -9
  72. package/esm2022/lib/framework/mock/http/config/http-mock-parameters.mjs +0 -9
  73. package/esm2022/lib/framework/mock/http/config/http-mock.decorator.mjs +0 -48
  74. package/esm2022/lib/framework/mock/http/config/index.mjs +0 -3
  75. package/esm2022/lib/framework/mock/http/config/route-mock-config.mjs +0 -9
  76. package/esm2022/lib/framework/mock/http/core/data-storage.mjs +0 -9
  77. package/esm2022/lib/framework/mock/http/core/response-delay.mjs +0 -9
  78. package/esm2022/lib/framework/mock/http/event/event-target.impl.mjs +0 -136
  79. package/esm2022/lib/framework/mock/http/event/progress-event-mock.mjs +0 -48
  80. package/esm2022/lib/framework/mock/http/index.mjs +0 -4
  81. package/esm2022/lib/framework/mock/http/logging/http-mock-logger.mjs +0 -15
  82. package/esm2022/lib/framework/mock/http/logging/http-mock-logging-metadata.builder.mjs +0 -35
  83. package/esm2022/lib/framework/mock/http/path-to-regexp/constants.mjs +0 -111
  84. package/esm2022/lib/framework/mock/http/path-to-regexp/escape-to-regexp-string.mjs +0 -34
  85. package/esm2022/lib/framework/mock/http/path-to-regexp/get-flags.mjs +0 -28
  86. package/esm2022/lib/framework/mock/http/path-to-regexp/iter.mjs +0 -76
  87. package/esm2022/lib/framework/mock/http/path-to-regexp/lexer.mjs +0 -96
  88. package/esm2022/lib/framework/mock/http/path-to-regexp/loose-replacer.mjs +0 -28
  89. package/esm2022/lib/framework/mock/http/path-to-regexp/model/decode-key-to-string.mjs +0 -17
  90. package/esm2022/lib/framework/mock/http/path-to-regexp/model/encode.mjs +0 -17
  91. package/esm2022/lib/framework/mock/http/path-to-regexp/model/key.mjs +0 -17
  92. package/esm2022/lib/framework/mock/http/path-to-regexp/model/lex-token.mjs +0 -17
  93. package/esm2022/lib/framework/mock/http/path-to-regexp/model/lexer-type.mjs +0 -17
  94. package/esm2022/lib/framework/mock/http/path-to-regexp/model/loose-replacer-provider.mjs +0 -17
  95. package/esm2022/lib/framework/mock/http/path-to-regexp/model/non-delimiter-encoder-provider.mjs +0 -17
  96. package/esm2022/lib/framework/mock/http/path-to-regexp/model/parse-options.mjs +0 -17
  97. package/esm2022/lib/framework/mock/http/path-to-regexp/model/path-to-regexp-options.mjs +0 -17
  98. package/esm2022/lib/framework/mock/http/path-to-regexp/model/route-string-tokenizer.mjs +0 -17
  99. package/esm2022/lib/framework/mock/http/path-to-regexp/model/simple-tokens.mjs +0 -30
  100. package/esm2022/lib/framework/mock/http/path-to-regexp/model/token-data-regexp-factory.mjs +0 -17
  101. package/esm2022/lib/framework/mock/http/path-to-regexp/model/token-type.mjs +0 -17
  102. package/esm2022/lib/framework/mock/http/path-to-regexp/model/token.mjs +0 -17
  103. package/esm2022/lib/framework/mock/http/path-to-regexp/string-to-token-data.mjs +0 -87
  104. package/esm2022/lib/framework/mock/http/path-to-regexp/to-key-regexp.mjs +0 -41
  105. package/esm2022/lib/framework/mock/http/path-to-regexp/to-stringify.mjs +0 -29
  106. package/esm2022/lib/framework/mock/http/path-to-regexp/token-data-to-regexp.mjs +0 -49
  107. package/esm2022/lib/framework/mock/http/path-to-regexp/token-data.mjs +0 -33
  108. package/esm2022/lib/framework/mock/http/util/data-storage.builder.mjs +0 -37
  109. package/esm2022/lib/framework/mock/http/util/fetch-client-response-type.enum.mjs +0 -40
  110. package/esm2022/lib/framework/mock/http/util/fetch-client.builder.mjs +0 -52
  111. package/esm2022/lib/framework/mock/http/util/http-headers-mock.builder.mjs +0 -138
  112. package/esm2022/lib/framework/mock/http/util/http-headers.util.mjs +0 -71
  113. package/esm2022/lib/framework/mock/http/util/http-method-ref.enum.mjs +0 -60
  114. package/esm2022/lib/framework/mock/http/util/http-mock-max-delay.mjs +0 -12
  115. package/esm2022/lib/framework/mock/http/util/http-mock-response-delay.util.mjs +0 -33
  116. package/esm2022/lib/framework/mock/http/util/http-mock-response.builder.mjs +0 -141
  117. package/esm2022/lib/framework/mock/http/util/http-status-text-finder.mjs +0 -146
  118. package/esm2022/lib/framework/mock/http/util/http-status-text.enum.mjs +0 -260
  119. package/esm2022/lib/framework/mock/http/util/index.mjs +0 -8
  120. package/esm2022/lib/framework/mock/http/xhr/delegate-xhr.mjs +0 -372
  121. package/esm2022/lib/framework/mock/http/xhr/http-mock-factory.impl.mjs +0 -30
  122. package/esm2022/lib/framework/mock/http/xhr/http-mock-factory.mjs +0 -20
  123. package/esm2022/lib/framework/mock/http/xhr/index.mjs +0 -2
  124. package/esm2022/lib/framework/mock/http/xhr/xhr-base.mjs +0 -123
  125. package/esm2022/lib/framework/mock/http/xhr/xhr-proxy-impl.mjs +0 -178
  126. package/esm2022/lib/framework/mock/http-monitoring-console/component/abstract/log-renderer-base.mjs +0 -34
  127. package/esm2022/lib/framework/mock/http-monitoring-console/component/console-footer/console-footer.component.mjs +0 -29
  128. package/esm2022/lib/framework/mock/http-monitoring-console/component/console-menu/console-menu.component.mjs +0 -40
  129. package/esm2022/lib/framework/mock/http-monitoring-console/component/http-monitoring-console/http-monitoring-console.component.mjs +0 -62
  130. package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/icon-renderer/icon-renderer.component.mjs +0 -62
  131. package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/json-viewer/json-viewer.component.mjs +0 -45
  132. package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/json-viewer-panel/json-viewer-panel.component.mjs +0 -35
  133. package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/payload-renderer/payload-renderer.component.mjs +0 -70
  134. package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/request-info-renderer/request-info-renderer.component.mjs +0 -43
  135. package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/request-list-renderer/request-list-renderer.component.mjs +0 -116
  136. package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/response-body-renderer/response-body-renderer.component.mjs +0 -89
  137. package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/response-preview-renderer/response-preview-renderer.component.mjs +0 -115
  138. package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/spinner/spinner.component.mjs +0 -22
  139. package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/timing-renderer/timing-renderer.component.mjs +0 -81
  140. package/esm2022/lib/framework/mock/http-monitoring-console/component/request-details/request-details.component.mjs +0 -91
  141. package/esm2022/lib/framework/mock/http-monitoring-console/connector/http-monitoring-console-log-connector.mjs +0 -59
  142. package/esm2022/lib/framework/mock/http-monitoring-console/index.mjs +0 -2
  143. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-console-action-type.mjs +0 -40
  144. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-console-action.mjs +0 -9
  145. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-console-json.mjs +0 -9
  146. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-is-imported-log.mjs +0 -14
  147. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-timeline-data.mjs +0 -9
  148. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-body-dto.mjs +0 -9
  149. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-header-dto.mjs +0 -9
  150. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-log-metadata.dto.mjs +0 -9
  151. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-log.dto.mjs +0 -9
  152. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-request-metadata.dto.ts.mjs +0 -9
  153. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-request.dto.mjs +0 -9
  154. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-response.dto.mjs +0 -9
  155. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/hmfl.mjs +0 -9
  156. package/esm2022/lib/framework/mock/http-monitoring-console/model/service/atx-log-io.service.mjs +0 -105
  157. package/esm2022/lib/framework/mock/http-monitoring-console/model/service/atx-monitoring-console.controller.mjs +0 -96
  158. package/esm2022/lib/framework/mock/http-monitoring-console/model/service/atx-monitoring-console.state.mjs +0 -126
  159. package/esm2022/lib/framework/mock/http-monitoring-console/model/service/atx-user-action.service.mjs +0 -40
  160. package/esm2022/lib/framework/mock/http-monitoring-console/util/console-body-type.mjs +0 -50
  161. package/esm2022/lib/framework/mock/http-monitoring-console/util/console-type-class.mjs +0 -45
  162. package/esm2022/lib/framework/mock/http-monitoring-console/util/data.util.mjs +0 -95
  163. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/body-converter.mjs +0 -40
  164. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/body-serializer.mjs +0 -58
  165. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/form-data-serializer.mjs +0 -33
  166. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/hmfl-builder.mjs +0 -27
  167. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/http-request-converter.mjs +0 -62
  168. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/http-response-converter.mjs +0 -50
  169. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/log-converter.mjs +0 -43
  170. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/log-headers-converter.mjs +0 -53
  171. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/log-message.util.mjs +0 -30
  172. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/log-metadata-converter.mjs +0 -45
  173. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/request-metadata-converter.mjs +0 -47
  174. package/esm2022/lib/framework/mock/http-monitoring-console/util/size.util.mjs +0 -57
  175. package/esm2022/lib/framework/mock/http-monitoring-console/util/timeline.util.mjs +0 -28
  176. package/esm2022/lib/framework/mock/http-monitoring-console/util/url.util.mjs +0 -51
  177. package/esm2022/lib/model/business/index.mjs +0 -8
  178. package/esm2022/lib/model/business/lang/app-bridge-command.mjs +0 -9
  179. package/esm2022/lib/model/business/lang/destroyable.mjs +0 -9
  180. package/esm2022/lib/model/business/lang/identifiable.mjs +0 -9
  181. package/esm2022/lib/model/business/lang/index.mjs +0 -5
  182. package/esm2022/lib/model/business/lang/instantiable.mjs +0 -9
  183. package/esm2022/lib/model/business/logging/atx-logger-config.provider.mjs +0 -21
  184. package/esm2022/lib/model/business/logging/http-mock-logging-constant.enum.mjs +0 -34
  185. package/esm2022/lib/model/business/logging/index.mjs +0 -8
  186. package/esm2022/lib/model/business/logging/log-connector.mjs +0 -9
  187. package/esm2022/lib/model/business/logging/log-level.enum.mjs +0 -34
  188. package/esm2022/lib/model/business/logging/log.mjs +0 -9
  189. package/esm2022/lib/model/business/logging/logger-config.mjs +0 -9
  190. package/esm2022/lib/model/business/logging/logger.mjs +0 -2
  191. package/esm2022/lib/model/business/logging/transactional-logger.mjs +0 -9
  192. package/esm2022/lib/model/business/mock/http/config/http-mock-production-policy.enum.mjs +0 -27
  193. package/esm2022/lib/model/business/mock/http/config/http-mocking-framework-config.mjs +0 -9
  194. package/esm2022/lib/model/business/mock/http/config/http-mocking-framework-config.provider.mjs +0 -33
  195. package/esm2022/lib/model/business/mock/http/config/index.mjs +0 -4
  196. package/esm2022/lib/model/business/mock/http/fetch-client.mjs +0 -14
  197. package/esm2022/lib/model/business/mock/http/http-method-mock.mjs +0 -9
  198. package/esm2022/lib/model/business/mock/http/http-mock-config.mjs +0 -9
  199. package/esm2022/lib/model/business/mock/http/http-mock-endpoint-descriptor.mjs +0 -9
  200. package/esm2022/lib/model/business/mock/http/http-mock-endpoint.mjs +0 -9
  201. package/esm2022/lib/model/business/mock/http/http-mock-error.mjs +0 -9
  202. package/esm2022/lib/model/business/mock/http/http-mock-interceptor.mjs +0 -9
  203. package/esm2022/lib/model/business/mock/http/http-mock-method-descriptor.mjs +0 -9
  204. package/esm2022/lib/model/business/mock/http/http-mock-parameter-descriptor.mjs +0 -9
  205. package/esm2022/lib/model/business/mock/http/http-mock-request-metadata.mjs +0 -9
  206. package/esm2022/lib/model/business/mock/http/http-response-mock.mjs +0 -9
  207. package/esm2022/lib/model/business/mock/http/index.mjs +0 -15
  208. package/esm2022/lib/model/business/mock/http/logging/http-mock-logging-metadata.mjs +0 -9
  209. package/esm2022/lib/model/business/mock/http/logging/http-mock-logging-prefetch-metadata.mjs +0 -9
  210. package/esm2022/lib/model/business/mock/http/logging/index.mjs +0 -3
  211. package/esm2022/lib/model/business/mock/http/xhr-proxy.mjs +0 -9
  212. package/esm2022/lib/model/business/navigator/battery-manager.mjs +0 -9
  213. package/esm2022/lib/model/business/navigator/connection-type.mjs +0 -9
  214. package/esm2022/lib/model/business/navigator/effective-connection-type.mjs +0 -9
  215. package/esm2022/lib/model/business/navigator/index.mjs +0 -5
  216. package/esm2022/lib/model/business/navigator/network-information.mjs +0 -9
  217. package/esm2022/lib/model/business/subscription/index.mjs +0 -2
  218. package/esm2022/lib/model/business/subscription/subscription-manager.mjs +0 -9
  219. package/esm2022/lib/model/business/ui/dark-mode-config.mjs +0 -9
  220. package/esm2022/lib/model/business/ui/dark-mode-config.provider.mjs +0 -43
  221. package/esm2022/lib/model/business/ui/dark-mode.constant.mjs +0 -16
  222. package/esm2022/lib/model/business/ui/dropdown/dropdown-event-type.enum.mjs +0 -22
  223. package/esm2022/lib/model/business/ui/dropdown/dropdown-position.mjs +0 -9
  224. package/esm2022/lib/model/business/ui/dropdown/dropdown-state.mjs +0 -9
  225. package/esm2022/lib/model/business/ui/dropdown/dropdown.event.mjs +0 -27
  226. package/esm2022/lib/model/business/ui/dropdown/index.mjs +0 -6
  227. package/esm2022/lib/model/business/ui/dropdown/popover-state.mjs +0 -9
  228. package/esm2022/lib/model/business/ui/index.mjs +0 -8
  229. package/esm2022/lib/model/business/ui/layout/index.mjs +0 -6
  230. package/esm2022/lib/model/business/ui/layout/layout-constraints.mjs +0 -9
  231. package/esm2022/lib/model/business/ui/layout/layout-drag-event-type.enum.mjs +0 -26
  232. package/esm2022/lib/model/business/ui/layout/layout-drag.event.mjs +0 -23
  233. package/esm2022/lib/model/business/ui/layout/layout-region.error.mjs +0 -22
  234. package/esm2022/lib/model/business/ui/layout/layout-region.mjs +0 -35
  235. package/esm2022/lib/model/business/ui/scroll-behavior.type.mjs +0 -9
  236. package/esm2022/lib/model/business/ui/window/index.mjs +0 -5
  237. package/esm2022/lib/model/business/ui/window/window-feature-state.mjs +0 -22
  238. package/esm2022/lib/model/business/ui/window/window-init.mjs +0 -9
  239. package/esm2022/lib/model/business/ui/window/window-ref.mjs +0 -9
  240. package/esm2022/lib/model/business/ui/window/window-target.mjs +0 -34
  241. package/esm2022/lib/model/business/version/index.mjs +0 -5
  242. package/esm2022/lib/model/business/version/version-config.mjs +0 -9
  243. package/esm2022/lib/model/business/version/version-config.provider.mjs +0 -40
  244. package/esm2022/lib/model/business/version/version-manager.mjs +0 -10
  245. package/esm2022/lib/model/business/version/version.mjs +0 -10
  246. package/esm2022/lib/model/index.mjs +0 -3
  247. package/esm2022/lib/model/service/index.mjs +0 -6
  248. package/esm2022/lib/model/service/logging/index.mjs +0 -2
  249. package/esm2022/lib/model/service/logging/logger-service.mjs +0 -41
  250. package/esm2022/lib/model/service/mock/http/http-mock.service.mjs +0 -279
  251. package/esm2022/lib/model/service/mock/http/index.mjs +0 -3
  252. package/esm2022/lib/model/service/mock/http/logging/atx-http-mock-console.service.mjs +0 -92
  253. package/esm2022/lib/model/service/mock/http/logging/http-mock-logging-service.mjs +0 -117
  254. package/esm2022/lib/model/service/mock/http/logging/index.mjs +0 -3
  255. package/esm2022/lib/model/service/subscription/subscription.service.mjs +0 -30
  256. package/esm2022/lib/model/service/ui/app-bridge.service.mjs +0 -142
  257. package/esm2022/lib/model/service/ui/dark-mode.service.mjs +0 -183
  258. package/esm2022/lib/model/service/ui/index.mjs +0 -5
  259. package/esm2022/lib/model/service/ui/scroll.service.mjs +0 -93
  260. package/esm2022/lib/model/service/ui/window/abstract-window.service.mjs +0 -49
  261. package/esm2022/lib/model/service/ui/window/index.mjs +0 -3
  262. package/esm2022/lib/model/service/ui/window/window.service.mjs +0 -103
  263. package/esm2022/lib/model/service/version/angular-toolbox-version.service.mjs +0 -37
  264. package/esm2022/lib/model/service/version/index.mjs +0 -3
  265. package/esm2022/lib/model/service/version/version.service.mjs +0 -35
  266. package/esm2022/lib/pipe/index.mjs +0 -2
  267. package/esm2022/lib/pipe/safe/safe-html.pipe.mjs +0 -34
  268. package/esm2022/lib/util/aria-role.constant.mjs +0 -16
  269. package/esm2022/lib/util/default-scroll-behavior.mjs +0 -13
  270. package/esm2022/lib/util/empty-string.const.mjs +0 -12
  271. package/esm2022/lib/util/http-mocking-framework-config.manager.mjs +0 -129
  272. package/esm2022/lib/util/index.mjs +0 -6
  273. package/esm2022/lib/util/js-type.mjs +0 -40
  274. package/esm2022/lib/util/uuid.mjs +0 -126
  275. package/esm2022/lib/util/version.util.mjs +0 -44
  276. package/esm2022/lib/util/window/window-features-builder.mjs +0 -90
  277. package/esm2022/lib/util/window/window-header-tag-util.mjs +0 -42
  278. package/esm2022/public-api.mjs +0 -20
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, NgModule, EventEmitter, Component, Inject, isDevMode, Optional, ChangeDetectionStrategy, Input, Pipe, Output, inject, ViewEncapsulation, ViewChild, HostBinding, HostListener, ContentChildren, Directive } from '@angular/core';
2
+ import { Injectable, NgModule, EventEmitter, Component, Inject, isDevMode, Optional, ChangeDetectionStrategy, Input, Pipe, Output, inject, ViewContainerRef, ViewChild, ViewEncapsulation, HostBinding, HostListener, ContentChildren, Directive } from '@angular/core';
3
3
  import { Observable, from, of } from 'rxjs';
4
4
  import * as i1$1 from '@angular/common';
5
5
  import { DOCUMENT, formatDate, CommonModule, DatePipe, NgStyle, XhrFactory } from '@angular/common';
@@ -18,7 +18,7 @@ import { HttpContextToken, HttpHeaders, HttpContext, HttpParams, HttpRequest, Ht
18
18
  /**
19
19
  * @private
20
20
  */
21
- const NAME$4 = "SubscriptionError";
21
+ const NAME$5 = "SubscriptionError";
22
22
  /**
23
23
  * Represents errors thrown by `SubscriptionService` instances.
24
24
  */
@@ -30,7 +30,7 @@ class SubscriptionError extends Error {
30
30
  */
31
31
  constructor(message) {
32
32
  super(message);
33
- this.name = NAME$4;
33
+ this.name = NAME$5;
34
34
  }
35
35
  }
36
36
 
@@ -44,7 +44,7 @@ class SubscriptionError extends Error {
44
44
  /**
45
45
  * @private
46
46
  */
47
- const NAME$3 = "IntegrityError";
47
+ const NAME$4 = "IntegrityError";
48
48
  /**
49
49
  * Represents a data integrity violation error.
50
50
  */
@@ -56,7 +56,7 @@ class IntegrityError extends Error {
56
56
  */
57
57
  constructor(message) {
58
58
  super(message);
59
- this.name = NAME$3;
59
+ this.name = NAME$4;
60
60
  }
61
61
  }
62
62
 
@@ -70,7 +70,7 @@ class IntegrityError extends Error {
70
70
  /**
71
71
  * @private
72
72
  */
73
- const NAME$2 = "AppBridgeError";
73
+ const NAME$3 = "AppBridgeError";
74
74
  /**
75
75
  * Represents exceptions thrown by the `AppBridge` class.
76
76
  */
@@ -80,7 +80,7 @@ class AppBridgeError extends ReferenceError {
80
80
  */
81
81
  constructor(message) {
82
82
  super(message);
83
- this.name = NAME$2;
83
+ this.name = NAME$3;
84
84
  }
85
85
  }
86
86
 
@@ -94,7 +94,7 @@ class AppBridgeError extends ReferenceError {
94
94
  /**
95
95
  * @private
96
96
  */
97
- const NAME$1 = "HttpMockServiceError";
97
+ const NAME$2 = "HttpMockServiceError";
98
98
  /**
99
99
  * Represents errors thrown by `HttpMockService` instances.
100
100
  */
@@ -106,7 +106,7 @@ class HttpMockServiceError extends Error {
106
106
  */
107
107
  constructor(message) {
108
108
  super(message);
109
- this.name = NAME$1;
109
+ this.name = NAME$2;
110
110
  }
111
111
  }
112
112
 
@@ -585,9 +585,9 @@ class AbstractVersionManager {
585
585
  */
586
586
  const ATX_VERSION_CONFIG = {
587
587
  major: 1,
588
- minor: 4,
589
- patch: 5,
590
- buildTimestamp: 1728994098977
588
+ minor: 5,
589
+ patch: 0,
590
+ buildTimestamp: 1733650177925
591
591
  };
592
592
  /**
593
593
  * The public service that exposes the current version of the Angular Toolbox library.
@@ -599,10 +599,10 @@ class AngularToolboxVersionService extends AbstractVersionManager {
599
599
  constructor() {
600
600
  super(ATX_VERSION_CONFIG);
601
601
  }
602
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxVersionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
603
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxVersionService }); }
602
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AngularToolboxVersionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
603
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AngularToolboxVersionService }); }
604
604
  }
605
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxVersionService, decorators: [{
605
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AngularToolboxVersionService, decorators: [{
606
606
  type: Injectable
607
607
  }], ctorParameters: () => [] });
608
608
 
@@ -617,11 +617,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
617
617
  * @private
618
618
  */
619
619
  class AngularToolboxModule {
620
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
621
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxModule }); }
622
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxModule, providers: [AngularToolboxVersionService] }); }
620
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AngularToolboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
621
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AngularToolboxModule }); }
622
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AngularToolboxModule, providers: [AngularToolboxVersionService] }); }
623
623
  }
624
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxModule, decorators: [{
624
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AngularToolboxModule, decorators: [{
625
625
  type: NgModule,
626
626
  args: [{
627
627
  providers: [AngularToolboxVersionService]
@@ -851,10 +851,10 @@ class ArrayList extends IdentifiableComponent {
851
851
  * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
852
852
  */
853
853
  class AngularToolboxLogoComponent {
854
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
855
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: AngularToolboxLogoComponent, isStandalone: true, selector: "atx-logo", ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t viewBox=\"0 0 185.6 200\" style=\"enable-background:new 0 0 185.6 200;\" xml:space=\"preserve\">\r\n\t<style type=\"text/css\">.st3{opacity:0.75;fill:#FFFFFF;}</style>\r\n\t<g>\r\n\t\t<polygon fill=\"#03A9F4\" points=\"92.4,1.9 92.4,1.9 92.4,1.9 1.8,34.6 15.5,155 92.4,198.1 92.4,198.1 92.4,198.1 169.8,155 183.8,34.6\"/>\r\n\t\t<polygon fill=\"#039BE5\" points=\"92.4,1.9 92.4,23.7 92.4,23.7 92.4,122.8 92.4,122.8 92.4,198.1 92.4,198.1 169.8,155 183.8,34.6\"/>\r\n\t</g>\r\n\t<g>\r\n\t\t<path fill=\"#FFFFFF\" d=\"M60.3,75.1l17.9,17.9c3.1-2.9,5.7-5.5,7.7-7.4L67.9,67.5l-2.2-9.8l-16.1-9.8l-4.4,4.4l-4.4,4.4l9.8,16.1 L60.3,75.1z\"/>\r\n\t\t<path class=\"st3\" d=\"M114.7,104.3l26.5,26.4c4.9,4.9,4.9,12.8,0,17.7c-4.9,4.9-12.8,4.9-17.7,0L97.1,122L114.7,104.3z\"/>\r\n\t\t<path fill=\"#FFFFFF\" d=\"M92.4,114.6V89l-49.2,47.2c-0.1,0.1-0.2,0.2-0.3,0.3c-4.3,4.3-4.2,11.1-0.1,15.3c4.1,4.1,11.1,4.2,15.4,0 c0.2-0.2,0.4-0.4,0.6-0.6\"/>\r\n\t\t<path class=\"st3\" d=\"M144.3,61.6l-1.8-1.5c-0.3-0.3-0.7-0.4-1.2-0.4c-0.4,0-0.8,0.3-1.1,0.6L129.7,74c-0.3,0.4-0.8,0.6-1.3,0.6 l-3.8,0.3c-0.3,0-0.6-0.1-0.9-0.3l-7.4-6.3c-0.3-0.2-0.5-0.6-0.5-1l-0.5-3.5c-0.1-0.4,0-0.8,0.3-1.1l9.9-13.4 c0.4-0.6,0.4-1.5-0.2-2l-2.4-1.9c-0.5-0.4-1-0.4-1.7-0.2c-6.8,1.3-18.5,8-21.4,17.1c-2.6,8-1.7,13.7-1.7,13.7 c0,4.5-1.5,8.9-3.3,10.7L92.4,89v25.7l15.9-17.2c6.1-5.4,18.2,0.4,28.2-8.7c9.1-8.3,10.6-17.7,8.6-25.6 C145,62.5,144.9,62,144.3,61.6z\"/>\r\n\t</g>\r\n</svg>\r\n" }); }
854
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AngularToolboxLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
855
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AngularToolboxLogoComponent, isStandalone: true, selector: "atx-logo", ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t viewBox=\"0 0 185.6 200\" style=\"enable-background:new 0 0 185.6 200;\" xml:space=\"preserve\">\r\n\t<style type=\"text/css\">.st3{opacity:0.75;fill:#FFFFFF;}</style>\r\n\t<g>\r\n\t\t<polygon fill=\"#03A9F4\" points=\"92.4,1.9 92.4,1.9 92.4,1.9 1.8,34.6 15.5,155 92.4,198.1 92.4,198.1 92.4,198.1 169.8,155 183.8,34.6\"/>\r\n\t\t<polygon fill=\"#039BE5\" points=\"92.4,1.9 92.4,23.7 92.4,23.7 92.4,122.8 92.4,122.8 92.4,198.1 92.4,198.1 169.8,155 183.8,34.6\"/>\r\n\t</g>\r\n\t<g>\r\n\t\t<path fill=\"#FFFFFF\" d=\"M60.3,75.1l17.9,17.9c3.1-2.9,5.7-5.5,7.7-7.4L67.9,67.5l-2.2-9.8l-16.1-9.8l-4.4,4.4l-4.4,4.4l9.8,16.1 L60.3,75.1z\"/>\r\n\t\t<path class=\"st3\" d=\"M114.7,104.3l26.5,26.4c4.9,4.9,4.9,12.8,0,17.7c-4.9,4.9-12.8,4.9-17.7,0L97.1,122L114.7,104.3z\"/>\r\n\t\t<path fill=\"#FFFFFF\" d=\"M92.4,114.6V89l-49.2,47.2c-0.1,0.1-0.2,0.2-0.3,0.3c-4.3,4.3-4.2,11.1-0.1,15.3c4.1,4.1,11.1,4.2,15.4,0 c0.2-0.2,0.4-0.4,0.6-0.6\"/>\r\n\t\t<path class=\"st3\" d=\"M144.3,61.6l-1.8-1.5c-0.3-0.3-0.7-0.4-1.2-0.4c-0.4,0-0.8,0.3-1.1,0.6L129.7,74c-0.3,0.4-0.8,0.6-1.3,0.6 l-3.8,0.3c-0.3,0-0.6-0.1-0.9-0.3l-7.4-6.3c-0.3-0.2-0.5-0.6-0.5-1l-0.5-3.5c-0.1-0.4,0-0.8,0.3-1.1l9.9-13.4 c0.4-0.6,0.4-1.5-0.2-2l-2.4-1.9c-0.5-0.4-1-0.4-1.7-0.2c-6.8,1.3-18.5,8-21.4,17.1c-2.6,8-1.7,13.7-1.7,13.7 c0,4.5-1.5,8.9-3.3,10.7L92.4,89v25.7l15.9-17.2c6.1-5.4,18.2,0.4,28.2-8.7c9.1-8.3,10.6-17.7,8.6-25.6 C145,62.5,144.9,62,144.3,61.6z\"/>\r\n\t</g>\r\n</svg>\r\n" }); }
856
856
  }
857
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxLogoComponent, decorators: [{
857
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AngularToolboxLogoComponent, decorators: [{
858
858
  type: Component,
859
859
  args: [{ selector: 'atx-logo', standalone: true, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t viewBox=\"0 0 185.6 200\" style=\"enable-background:new 0 0 185.6 200;\" xml:space=\"preserve\">\r\n\t<style type=\"text/css\">.st3{opacity:0.75;fill:#FFFFFF;}</style>\r\n\t<g>\r\n\t\t<polygon fill=\"#03A9F4\" points=\"92.4,1.9 92.4,1.9 92.4,1.9 1.8,34.6 15.5,155 92.4,198.1 92.4,198.1 92.4,198.1 169.8,155 183.8,34.6\"/>\r\n\t\t<polygon fill=\"#039BE5\" points=\"92.4,1.9 92.4,23.7 92.4,23.7 92.4,122.8 92.4,122.8 92.4,198.1 92.4,198.1 169.8,155 183.8,34.6\"/>\r\n\t</g>\r\n\t<g>\r\n\t\t<path fill=\"#FFFFFF\" d=\"M60.3,75.1l17.9,17.9c3.1-2.9,5.7-5.5,7.7-7.4L67.9,67.5l-2.2-9.8l-16.1-9.8l-4.4,4.4l-4.4,4.4l9.8,16.1 L60.3,75.1z\"/>\r\n\t\t<path class=\"st3\" d=\"M114.7,104.3l26.5,26.4c4.9,4.9,4.9,12.8,0,17.7c-4.9,4.9-12.8,4.9-17.7,0L97.1,122L114.7,104.3z\"/>\r\n\t\t<path fill=\"#FFFFFF\" d=\"M92.4,114.6V89l-49.2,47.2c-0.1,0.1-0.2,0.2-0.3,0.3c-4.3,4.3-4.2,11.1-0.1,15.3c4.1,4.1,11.1,4.2,15.4,0 c0.2-0.2,0.4-0.4,0.6-0.6\"/>\r\n\t\t<path class=\"st3\" d=\"M144.3,61.6l-1.8-1.5c-0.3-0.3-0.7-0.4-1.2-0.4c-0.4,0-0.8,0.3-1.1,0.6L129.7,74c-0.3,0.4-0.8,0.6-1.3,0.6 l-3.8,0.3c-0.3,0-0.6-0.1-0.9-0.3l-7.4-6.3c-0.3-0.2-0.5-0.6-0.5-1l-0.5-3.5c-0.1-0.4,0-0.8,0.3-1.1l9.9-13.4 c0.4-0.6,0.4-1.5-0.2-2l-2.4-1.9c-0.5-0.4-1-0.4-1.7-0.2c-6.8,1.3-18.5,8-21.4,17.1c-2.6,8-1.7,13.7-1.7,13.7 c0,4.5-1.5,8.9-3.3,10.7L92.4,89v25.7l15.9-17.2c6.1-5.4,18.2,0.4,28.2-8.7c9.1-8.3,10.6-17.7,8.6-25.6 C145,62.5,144.9,62,144.3,61.6z\"/>\r\n\t</g>\r\n</svg>\r\n" }]
860
860
  }] });
@@ -1618,10 +1618,10 @@ class SubscriptionService extends AbstractSubscriptionManager {
1618
1618
  constructor() {
1619
1619
  super();
1620
1620
  }
1621
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: SubscriptionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1622
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: SubscriptionService, providedIn: 'root' }); }
1621
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SubscriptionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1622
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SubscriptionService, providedIn: 'root' }); }
1623
1623
  }
1624
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: SubscriptionService, decorators: [{
1624
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SubscriptionService, decorators: [{
1625
1625
  type: Injectable,
1626
1626
  args: [{
1627
1627
  providedIn: 'root'
@@ -1791,10 +1791,10 @@ class DarkModeService {
1791
1791
  matchDarkTheme() {
1792
1792
  return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
1793
1793
  }
1794
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: DarkModeService, deps: [{ token: DOCUMENT }, { token: DARK_MODE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
1795
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: DarkModeService, providedIn: 'root' }); }
1794
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DarkModeService, deps: [{ token: DOCUMENT }, { token: DARK_MODE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
1795
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DarkModeService, providedIn: 'root' }); }
1796
1796
  }
1797
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: DarkModeService, decorators: [{
1797
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DarkModeService, decorators: [{
1798
1798
  type: Injectable,
1799
1799
  args: [{
1800
1800
  providedIn: 'root'
@@ -1884,10 +1884,10 @@ class ScrollService {
1884
1884
  scrollBy(x, y) {
1885
1885
  window.scrollBy(x, y);
1886
1886
  }
1887
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ScrollService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1888
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ScrollService, providedIn: 'root' }); }
1887
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ScrollService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1888
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ScrollService, providedIn: 'root' }); }
1889
1889
  }
1890
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ScrollService, decorators: [{
1890
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ScrollService, decorators: [{
1891
1891
  type: Injectable,
1892
1892
  args: [{
1893
1893
  providedIn: 'root'
@@ -2107,10 +2107,10 @@ class AppBridgeService {
2107
2107
  if (NATIVE_COMMANDS.includes(name))
2108
2108
  throw new AppBridgeError("Command name cannot be the reference to a native command: " + name);
2109
2109
  }
2110
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AppBridgeService, deps: [{ token: i1.Router }, { token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
2111
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AppBridgeService, providedIn: 'root' }); }
2110
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AppBridgeService, deps: [{ token: i1.Router }, { token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
2111
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AppBridgeService, providedIn: 'root' }); }
2112
2112
  }
2113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AppBridgeService, decorators: [{
2113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AppBridgeService, decorators: [{
2114
2114
  type: Injectable,
2115
2115
  args: [{
2116
2116
  providedIn: 'root'
@@ -2385,10 +2385,10 @@ class WindowService extends AbstractWindowService {
2385
2385
  return init.target || WindowTarget.BLANK;
2386
2386
  return WindowTarget.BLANK;
2387
2387
  }
2388
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: WindowService, deps: [{ token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
2389
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: WindowService, providedIn: 'root' }); }
2388
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: WindowService, deps: [{ token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
2389
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: WindowService, providedIn: 'root' }); }
2390
2390
  }
2391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: WindowService, decorators: [{
2391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: WindowService, decorators: [{
2392
2392
  type: Injectable,
2393
2393
  args: [{
2394
2394
  providedIn: 'root'
@@ -2413,10 +2413,10 @@ class VersionService extends AbstractVersionManager {
2413
2413
  constructor(config) {
2414
2414
  super(config);
2415
2415
  }
2416
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: VersionService, deps: [{ token: VERSION_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
2417
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: VersionService, providedIn: 'root' }); }
2416
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: VersionService, deps: [{ token: VERSION_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
2417
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: VersionService, providedIn: 'root' }); }
2418
2418
  }
2419
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: VersionService, decorators: [{
2419
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: VersionService, decorators: [{
2420
2420
  type: Injectable,
2421
2421
  args: [{
2422
2422
  providedIn: 'root'
@@ -2540,7 +2540,7 @@ const QUESTION_MARK = "?";
2540
2540
  * @private
2541
2541
  * The reference to the `NAME` `TokenType`.
2542
2542
  */
2543
- const NAME = "NAME";
2543
+ const NAME$1 = "NAME";
2544
2544
  /**
2545
2545
  * @private
2546
2546
  * The reference to the `PATTERN` `TokenType`.
@@ -2977,7 +2977,7 @@ const lexer = (str) => {
2977
2977
  if (!name) {
2978
2978
  throw new TypeError(`Missing parameter name at ${i}`);
2979
2979
  }
2980
- tokens.push({ type: NAME, index: i, value: name });
2980
+ tokens.push({ type: NAME$1, index: i, value: name });
2981
2981
  continue;
2982
2982
  }
2983
2983
  if (value === LEFT_PARENTHESIS) {
@@ -3055,7 +3055,7 @@ const stringToTokenData = (str, options = {}) => {
3055
3055
  const path = it.text();
3056
3056
  if (path)
3057
3057
  tokens.push(encodePath(path));
3058
- const name = it.tryConsume(NAME);
3058
+ const name = it.tryConsume(NAME$1);
3059
3059
  const pattern = it.tryConsume(PATTERN);
3060
3060
  if (name || pattern) {
3061
3061
  tokens.push({
@@ -3081,7 +3081,7 @@ const stringToTokenData = (str, options = {}) => {
3081
3081
  const open = it.tryConsume(LEFT_CURLY_BRACE);
3082
3082
  if (open) {
3083
3083
  const prefix = it.text();
3084
- const name = it.tryConsume(NAME);
3084
+ const name = it.tryConsume(NAME$1);
3085
3085
  const pattern = it.tryConsume(PATTERN);
3086
3086
  const suffix = it.text();
3087
3087
  const separator = it.tryConsume(SEMI_COLON) ? it.text() : prefix + suffix;
@@ -3479,10 +3479,10 @@ class HttpMockService extends IdentifiableComponent {
3479
3479
  cleanConfig(storage, configId) {
3480
3480
  return storage.filter((value) => value.configId !== configId);
3481
3481
  }
3482
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: HttpMockService, deps: [{ token: DOCUMENT }, { token: HTTP_MOCKING_FRAMEWORK_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
3483
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: HttpMockService, providedIn: 'root' }); }
3482
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: HttpMockService, deps: [{ token: DOCUMENT }, { token: HTTP_MOCKING_FRAMEWORK_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
3483
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: HttpMockService, providedIn: 'root' }); }
3484
3484
  }
3485
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: HttpMockService, decorators: [{
3485
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: HttpMockService, decorators: [{
3486
3486
  type: Injectable,
3487
3487
  args: [{
3488
3488
  providedIn: 'root'
@@ -4219,10 +4219,10 @@ class HttpMockLoggingService {
4219
4219
  const logs = this._logger.getLogs();
4220
4220
  return logs[logs.length - 1];
4221
4221
  }
4222
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: HttpMockLoggingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4223
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: HttpMockLoggingService, providedIn: 'platform' }); }
4222
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: HttpMockLoggingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4223
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: HttpMockLoggingService, providedIn: 'platform' }); }
4224
4224
  }
4225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: HttpMockLoggingService, decorators: [{
4225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: HttpMockLoggingService, decorators: [{
4226
4226
  type: Injectable,
4227
4227
  args: [{
4228
4228
  providedIn: 'platform'
@@ -4248,12 +4248,12 @@ class AtxJsonViewerPanelComponent {
4248
4248
  */
4249
4249
  this.data = null;
4250
4250
  }
4251
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxJsonViewerPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4252
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxJsonViewerPanelComponent, isStandalone: true, selector: "atx-json-viewer-panel", inputs: { data: "data" }, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (data) {\r\n @if (data.children) {\r\n <details>\r\n <summary>\r\n @if (data.label) {\r\n <span class=\"atx-prop-label\">{{ data.label }}</span>:\r\n <span [ngClass]=\"data.typeClass\">{{ data.value }}</span>\r\n } @else {\r\n {{ data.value }}\r\n }\r\n </summary>\r\n @for (item of data.children; track item) {\r\n <atx-json-viewer-panel [data]=\"item\"/>\r\n }\r\n </details>\r\n } @else {\r\n <div class=\"primitive\">\r\n <span class=\"atx-prop-label\">{{ data.label }}</span>: <span [ngClass]=\"data.typeClass\">{{ data.value }}</span>\r\n </div>\r\n }\r\n}\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}:host{display:block;font-family:monospace;font-size:13px}summary:hover{background-color:var(--dark-gray)}summary{padding-left:6px}atx-json-viewer-panel{padding-left:26px}.primitive{margin-left:20px}.atx-prop-label{font-weight:700;color:#8a2be2}.atx-string{color:#cd5c5c}.atx-string:before,.atx-string:after{content:'\"'}.atx-boolean,.atx-null,.atx-number{color:#0000cd}.atx-boolean,.atx-null{font-weight:700}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxJsonViewerPanelComponent, selector: "atx-json-viewer-panel", inputs: ["data"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4251
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxJsonViewerPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4252
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AtxJsonViewerPanelComponent, isStandalone: true, selector: "atx-json-viewer-panel", inputs: { data: "data" }, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (data) {\r\n @if (data.children) {\r\n <details>\r\n <summary>\r\n @if (data.label) {\r\n <span class=\"atx-prop-label\">{{ data.label }}</span>:\r\n <span [ngClass]=\"data.typeClass\">{{ data.value }}</span>\r\n } @else {\r\n {{ data.value }}\r\n }\r\n </summary>\r\n @for (item of data.children; track item) {\r\n <atx-json-viewer-panel [data]=\"item\"/>\r\n }\r\n </details>\r\n } @else {\r\n <div class=\"primitive\">\r\n <span class=\"atx-prop-label\">{{ data.label }}</span>: <span [ngClass]=\"data.typeClass\">{{ data.value }}</span>\r\n </div>\r\n }\r\n}\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}:host{display:block;font-family:monospace;font-size:13px}summary:hover{background-color:var(--dark-gray)}summary{padding-left:6px}atx-json-viewer-panel{padding-left:26px}.primitive{margin-left:20px}.atx-prop-label{font-weight:700;color:#8a2be2}.atx-string{color:#cd5c5c}.atx-string:before,.atx-string:after{content:'\"'}.atx-boolean,.atx-null,.atx-number{color:#0000cd}.atx-boolean,.atx-null{font-weight:700}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxJsonViewerPanelComponent, selector: "atx-json-viewer-panel", inputs: ["data"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4253
4253
  }
4254
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxJsonViewerPanelComponent, decorators: [{
4254
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxJsonViewerPanelComponent, decorators: [{
4255
4255
  type: Component,
4256
- args: [{ selector: 'atx-json-viewer-panel', standalone: true, imports: [
4256
+ args: [{ selector: 'atx-json-viewer-panel', imports: [
4257
4257
  CommonModule
4258
4258
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (data) {\r\n @if (data.children) {\r\n <details>\r\n <summary>\r\n @if (data.label) {\r\n <span class=\"atx-prop-label\">{{ data.label }}</span>:\r\n <span [ngClass]=\"data.typeClass\">{{ data.value }}</span>\r\n } @else {\r\n {{ data.value }}\r\n }\r\n </summary>\r\n @for (item of data.children; track item) {\r\n <atx-json-viewer-panel [data]=\"item\"/>\r\n }\r\n </details>\r\n } @else {\r\n <div class=\"primitive\">\r\n <span class=\"atx-prop-label\">{{ data.label }}</span>: <span [ngClass]=\"data.typeClass\">{{ data.value }}</span>\r\n </div>\r\n }\r\n}\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}:host{display:block;font-family:monospace;font-size:13px}summary:hover{background-color:var(--dark-gray)}summary{padding-left:6px}atx-json-viewer-panel{padding-left:26px}.primitive{margin-left:20px}.atx-prop-label{font-weight:700;color:#8a2be2}.atx-string{color:#cd5c5c}.atx-string:before,.atx-string:after{content:'\"'}.atx-boolean,.atx-null,.atx-number{color:#0000cd}.atx-boolean,.atx-null{font-weight:700}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
4259
4259
  }], propDecorators: { data: [{
@@ -4476,12 +4476,12 @@ class AtxJsonViewerComponent {
4476
4476
  }
4477
4477
  this.parsedData = DataUtil.parseJson(value);
4478
4478
  }
4479
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxJsonViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4480
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: AtxJsonViewerComponent, isStandalone: true, selector: "atx-json-viewer", inputs: { data: "data" }, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<atx-json-viewer-panel [data]=\"parsedData\"/>", styles: ["/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxJsonViewerPanelComponent, selector: "atx-json-viewer-panel", inputs: ["data"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4479
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxJsonViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4480
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AtxJsonViewerComponent, isStandalone: true, selector: "atx-json-viewer", inputs: { data: "data" }, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<atx-json-viewer-panel [data]=\"parsedData\"/>", styles: ["/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxJsonViewerPanelComponent, selector: "atx-json-viewer-panel", inputs: ["data"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4481
4481
  }
4482
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxJsonViewerComponent, decorators: [{
4482
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxJsonViewerComponent, decorators: [{
4483
4483
  type: Component,
4484
- args: [{ selector: 'atx-json-viewer', standalone: true, imports: [
4484
+ args: [{ selector: 'atx-json-viewer', imports: [
4485
4485
  AtxJsonViewerPanelComponent
4486
4486
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<atx-json-viewer-panel [data]=\"parsedData\"/>", styles: ["/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
4487
4487
  }], propDecorators: { data: [{
@@ -4574,12 +4574,12 @@ class AtxPayloadRendererComponent extends AtxLogRendererBase {
4574
4574
  this.json = JSON.parse(body);
4575
4575
  }
4576
4576
  }
4577
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxPayloadRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4578
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxPayloadRendererComponent, isStandalone: true, selector: "atx-payload-renderer", inputs: { log: "log" }, usesInheritance: true, ngImport: i0, template: "\r\n<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (queryParams) {\r\n <details>\r\n <summary>\r\n Query String Parameters\r\n </summary>\r\n <div class=\"content\">\r\n @for (item of queryParams; track item) {\r\n <dl>\r\n <dt>{{ item.key }}:</dt>\r\n <dd>{{ item.value }}</dd>\r\n </dl>\r\n }\r\n </div>\r\n </details>\r\n} @else if (json) {\r\n <details>\r\n <summary>\r\n Request Payload\r\n </summary>\r\n <div class=\"content\">\r\n <atx-json-viewer [data]=\"json\"/>\r\n </div>\r\n </details>\r\n} @else if (formData) {\r\n <details>\r\n <summary>\r\n Form Data\r\n </summary>\r\n <div class=\"content\">\r\n <ul>\r\n @for (entry of formData; track entry) {\r\n <li>[ {{ entry }} ]</li>\r\n }\r\n </ul>\r\n </div>\r\n </details>\r\n} \r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}details{border:1px solid var(--border-color)}summary{font-weight:700;padding:4px 6px}summary:hover{background-color:var(--dark-gray)}dl{display:flex;gap:6px;margin:0 0 0 20px}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxJsonViewerComponent, selector: "atx-json-viewer", inputs: ["data"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4577
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxPayloadRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4578
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AtxPayloadRendererComponent, isStandalone: true, selector: "atx-payload-renderer", inputs: { log: "log" }, usesInheritance: true, ngImport: i0, template: "\r\n<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (queryParams) {\r\n <details>\r\n <summary>\r\n Query String Parameters\r\n </summary>\r\n <div class=\"content\">\r\n @for (item of queryParams; track item) {\r\n <dl>\r\n <dt>{{ item.key }}:</dt>\r\n <dd>{{ item.value }}</dd>\r\n </dl>\r\n }\r\n </div>\r\n </details>\r\n} @else if (json) {\r\n <details>\r\n <summary>\r\n Request Payload\r\n </summary>\r\n <div class=\"content\">\r\n <atx-json-viewer [data]=\"json\"/>\r\n </div>\r\n </details>\r\n} @else if (formData) {\r\n <details>\r\n <summary>\r\n Form Data\r\n </summary>\r\n <div class=\"content\">\r\n <ul>\r\n @for (entry of formData; track entry) {\r\n <li>[ {{ entry }} ]</li>\r\n }\r\n </ul>\r\n </div>\r\n </details>\r\n} \r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}details{border:1px solid var(--border-color)}summary{font-weight:700;padding:4px 6px}summary:hover{background-color:var(--dark-gray)}dl{display:flex;gap:6px;margin:0 0 0 20px}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxJsonViewerComponent, selector: "atx-json-viewer", inputs: ["data"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4579
4579
  }
4580
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxPayloadRendererComponent, decorators: [{
4580
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxPayloadRendererComponent, decorators: [{
4581
4581
  type: Component,
4582
- args: [{ selector: 'atx-payload-renderer', standalone: true, imports: [
4582
+ args: [{ selector: 'atx-payload-renderer', imports: [
4583
4583
  AtxJsonViewerComponent
4584
4584
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "\r\n<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (queryParams) {\r\n <details>\r\n <summary>\r\n Query String Parameters\r\n </summary>\r\n <div class=\"content\">\r\n @for (item of queryParams; track item) {\r\n <dl>\r\n <dt>{{ item.key }}:</dt>\r\n <dd>{{ item.value }}</dd>\r\n </dl>\r\n }\r\n </div>\r\n </details>\r\n} @else if (json) {\r\n <details>\r\n <summary>\r\n Request Payload\r\n </summary>\r\n <div class=\"content\">\r\n <atx-json-viewer [data]=\"json\"/>\r\n </div>\r\n </details>\r\n} @else if (formData) {\r\n <details>\r\n <summary>\r\n Form Data\r\n </summary>\r\n <div class=\"content\">\r\n <ul>\r\n @for (entry of formData; track entry) {\r\n <li>[ {{ entry }} ]</li>\r\n }\r\n </ul>\r\n </div>\r\n </details>\r\n} \r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}details{border:1px solid var(--border-color)}summary{font-weight:700;padding:4px 6px}summary:hover{background-color:var(--dark-gray)}dl{display:flex;gap:6px;margin:0 0 0 20px}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
4585
4585
  }], propDecorators: { log: [{
@@ -4677,14 +4677,13 @@ class AtxTimingRendererComponent extends AtxLogRendererBase {
4677
4677
  this.downloadStart = timelineData.downloadStart;
4678
4678
  this.downloadLength = timelineData.downloadLength;
4679
4679
  }
4680
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxTimingRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4681
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxTimingRendererComponent, isStandalone: true, selector: "atx-timing-renderer", inputs: { log: "log" }, usesInheritance: true, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (hasData) {\r\n <section class=\"content\">\r\n <dl>\r\n <dt>Connection start</dt>\r\n <dd>{{ start | date: 'short' }}</dd>\r\n </dl>\r\n <dl>\r\n <dt>Request/Response</dt>\r\n <dd class=\"timeline\">\r\n <div>\r\n <div [attr.style]=\"'width:' + downloadStart + '%'\">\r\n stalled\r\n <div class=\"stalled\"></div>\r\n <div class=\"time\">{{ downloadStart }} ms</div>\r\n </div>\r\n <div [attr.style]=\"'width:' + downloadLength + '%;margin-left:' + downloadStart + '%'\">\r\n download\r\n <div class=\"download\" [class.error]=\"error\"></div>\r\n <div class=\"time\">{{ duration }} ms</div>\r\n </div>\r\n </div>\r\n </dd>\r\n </dl>\r\n </section>\r\n} \r\n\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}.download,.stalled{width:100%;height:10px}.stalled{background-color:var(--dark-gray)}.time{text-align:right;padding-right:4px}.download{background-color:#00bfff}.error{background-color:red}dl{margin:0 0 10px}dt{font-weight:700;margin-bottom:4px}dd{width:calc(100% - 40px);margin-left:20px}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4680
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxTimingRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4681
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AtxTimingRendererComponent, isStandalone: true, selector: "atx-timing-renderer", inputs: { log: "log" }, usesInheritance: true, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (hasData) {\r\n <section class=\"content\">\r\n <dl>\r\n <dt>Connection start</dt>\r\n <dd>{{ start | date: 'short' }}</dd>\r\n </dl>\r\n <dl>\r\n <dt>Request/Response</dt>\r\n <dd class=\"timeline\">\r\n <div>\r\n <div [attr.style]=\"'width:' + downloadStart + '%'\">\r\n stalled\r\n <div class=\"stalled\"></div>\r\n <div class=\"time\">{{ downloadStart }} ms</div>\r\n </div>\r\n <div [attr.style]=\"'width:' + downloadLength + '%;margin-left:' + downloadStart + '%'\">\r\n download\r\n <div class=\"download\" [class.error]=\"error\"></div>\r\n <div class=\"time\">{{ duration }} ms</div>\r\n </div>\r\n </div>\r\n </dd>\r\n </dl>\r\n </section>\r\n} \r\n\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}.download,.stalled{width:100%;height:10px}.stalled{background-color:var(--dark-gray)}.time{text-align:right;padding-right:4px}.download{background-color:#00bfff}.error{background-color:red}dl{margin:0 0 10px}dt{font-weight:700;margin-bottom:4px}dd{width:calc(100% - 40px);margin-left:20px}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4682
4682
  }
4683
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxTimingRendererComponent, decorators: [{
4683
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxTimingRendererComponent, decorators: [{
4684
4684
  type: Component,
4685
- args: [{ selector: 'atx-timing-renderer', standalone: true, imports: [
4686
- DatePipe,
4687
- NgStyle
4685
+ args: [{ selector: 'atx-timing-renderer', imports: [
4686
+ DatePipe
4688
4687
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (hasData) {\r\n <section class=\"content\">\r\n <dl>\r\n <dt>Connection start</dt>\r\n <dd>{{ start | date: 'short' }}</dd>\r\n </dl>\r\n <dl>\r\n <dt>Request/Response</dt>\r\n <dd class=\"timeline\">\r\n <div>\r\n <div [attr.style]=\"'width:' + downloadStart + '%'\">\r\n stalled\r\n <div class=\"stalled\"></div>\r\n <div class=\"time\">{{ downloadStart }} ms</div>\r\n </div>\r\n <div [attr.style]=\"'width:' + downloadLength + '%;margin-left:' + downloadStart + '%'\">\r\n download\r\n <div class=\"download\" [class.error]=\"error\"></div>\r\n <div class=\"time\">{{ duration }} ms</div>\r\n </div>\r\n </div>\r\n </dd>\r\n </dl>\r\n </section>\r\n} \r\n\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}.download,.stalled{width:100%;height:10px}.stalled{background-color:var(--dark-gray)}.time{text-align:right;padding-right:4px}.download{background-color:#00bfff}.error{background-color:red}dl{margin:0 0 10px}dt{font-weight:700;margin-bottom:4px}dd{width:calc(100% - 40px);margin-left:20px}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
4689
4688
  }], propDecorators: { log: [{
4690
4689
  type: Input
@@ -4710,10 +4709,10 @@ class SafeHtmlPipe {
4710
4709
  transform(value) {
4711
4710
  return this._sanitizer.bypassSecurityTrustHtml(value);
4712
4711
  }
4713
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
4714
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.3", ngImport: i0, type: SafeHtmlPipe, isStandalone: true, name: "safeHtml" }); }
4712
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
4713
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: SafeHtmlPipe, isStandalone: true, name: "safeHtml" }); }
4715
4714
  }
4716
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: SafeHtmlPipe, decorators: [{
4715
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SafeHtmlPipe, decorators: [{
4717
4716
  type: Pipe,
4718
4717
  args: [{
4719
4718
  name: 'safeHtml',
@@ -4865,12 +4864,12 @@ class AtxResponsePreviewRendererComponent extends AtxLogRendererBase {
4865
4864
  if (this.imgUrl)
4866
4865
  URL.revokeObjectURL(this.imgUrl);
4867
4866
  }
4868
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxResponsePreviewRendererComponent, deps: [{ token: i1$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
4869
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxResponsePreviewRendererComponent, isStandalone: true, selector: "atx-response-preview-renderer", inputs: { log: "log" }, usesInheritance: true, ngImport: i0, template: "\r\n<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (response) {\r\n @if (text) {\r\n <section class=\"content\" [innerHTML]=\"text | safeHtml \"></section>\r\n } @else if (json) {\r\n <section class=\"content\">\r\n <atx-json-viewer [data]=\"json\"/>\r\n </section>\r\n } @else if (imgUrl) {\r\n <section class=\"content img-preview\">\r\n <div>\r\n <img [src]=\"imgUrl\" (load)=\"revokeObjectURL()\" [alt]=\"resourceName\" [title]=\"resourceName\">\r\n </div>\r\n </section>\r\n } @else {\r\n <section class=\"content center-content\">\r\n <strong>Preview not available</strong>\r\n </section>\r\n }\r\n}\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}::ng-deep .xdebug-error{font-size:12px!important}.img-preview{text-align:center}.img-preview div{box-shadow:0 4px 10px #000000bf;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUAQMAAAC3R49OAAAABlBMVEX////09PQtDxrOAAAAE0lEQVQI12P4f4CBKMxg/4EYDAAFkR1NiYvv7QAAAABJRU5ErkJggg==);background-image:linear-gradient(45deg,#F0F0F0 25%,transparent 25%),linear-gradient(-45deg,#F0F0F0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#F0F0F0 75%),linear-gradient(-45deg,transparent 75%,#F0F0F0 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;display:inline-block}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxJsonViewerComponent, selector: "atx-json-viewer", inputs: ["data"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4867
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxResponsePreviewRendererComponent, deps: [{ token: i1$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
4868
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AtxResponsePreviewRendererComponent, isStandalone: true, selector: "atx-response-preview-renderer", inputs: { log: "log" }, usesInheritance: true, ngImport: i0, template: "\r\n<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (response) {\r\n @if (text) {\r\n <section class=\"content\" [innerHTML]=\"text | safeHtml \"></section>\r\n } @else if (json) {\r\n <section class=\"content\">\r\n <atx-json-viewer [data]=\"json\"/>\r\n </section>\r\n } @else if (imgUrl) {\r\n <section class=\"content img-preview\">\r\n <div>\r\n <img [src]=\"imgUrl\" (load)=\"revokeObjectURL()\" [alt]=\"resourceName\" [title]=\"resourceName\">\r\n </div>\r\n </section>\r\n } @else {\r\n <section class=\"content center-content\">\r\n <strong>Preview not available</strong>\r\n </section>\r\n }\r\n}\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}::ng-deep .xdebug-error{font-size:12px!important}.img-preview{text-align:center}.img-preview div{box-shadow:0 4px 10px #000000bf;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUAQMAAAC3R49OAAAABlBMVEX////09PQtDxrOAAAAE0lEQVQI12P4f4CBKMxg/4EYDAAFkR1NiYvv7QAAAABJRU5ErkJggg==);background-image:linear-gradient(45deg,#F0F0F0 25%,transparent 25%),linear-gradient(-45deg,#F0F0F0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#F0F0F0 75%),linear-gradient(-45deg,transparent 75%,#F0F0F0 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;display:inline-block}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxJsonViewerComponent, selector: "atx-json-viewer", inputs: ["data"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4870
4869
  }
4871
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxResponsePreviewRendererComponent, decorators: [{
4870
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxResponsePreviewRendererComponent, decorators: [{
4872
4871
  type: Component,
4873
- args: [{ selector: 'atx-response-preview-renderer', standalone: true, imports: [
4872
+ args: [{ selector: 'atx-response-preview-renderer', imports: [
4874
4873
  AtxJsonViewerComponent,
4875
4874
  SafeHtmlPipe
4876
4875
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "\r\n<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (response) {\r\n @if (text) {\r\n <section class=\"content\" [innerHTML]=\"text | safeHtml \"></section>\r\n } @else if (json) {\r\n <section class=\"content\">\r\n <atx-json-viewer [data]=\"json\"/>\r\n </section>\r\n } @else if (imgUrl) {\r\n <section class=\"content img-preview\">\r\n <div>\r\n <img [src]=\"imgUrl\" (load)=\"revokeObjectURL()\" [alt]=\"resourceName\" [title]=\"resourceName\">\r\n </div>\r\n </section>\r\n } @else {\r\n <section class=\"content center-content\">\r\n <strong>Preview not available</strong>\r\n </section>\r\n }\r\n}\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}::ng-deep .xdebug-error{font-size:12px!important}.img-preview{text-align:center}.img-preview div{box-shadow:0 4px 10px #000000bf;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUAQMAAAC3R49OAAAABlBMVEX////09PQtDxrOAAAAE0lEQVQI12P4f4CBKMxg/4EYDAAFkR1NiYvv7QAAAABJRU5ErkJggg==);background-image:linear-gradient(45deg,#F0F0F0 25%,transparent 25%),linear-gradient(-45deg,#F0F0F0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#F0F0F0 75%),linear-gradient(-45deg,transparent 75%,#F0F0F0 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;display:inline-block}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
@@ -4947,15 +4946,12 @@ class AtxResponseBodyRendererComponent extends AtxLogRendererBase {
4947
4946
  ngOnDestroy() {
4948
4947
  this.text = this.body = this.blob = this.arrayBuffer = null;
4949
4948
  }
4950
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxResponseBodyRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4951
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxResponseBodyRendererComponent, isStandalone: true, selector: "atx-response-body-renderer", inputs: { log: "log" }, usesInheritance: true, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (body) {\r\n <section class=\"content\">\r\n @if (text) {\r\n {{ text }}\r\n } @else if (blob) {\r\n <dl>\r\n <dt>Binary data:</dt>\r\n <dd>Blob</dd>\r\n </dl>\r\n <dl>\r\n <dt>size:</dt>\r\n <dd>{{ blob.size }}</dd>\r\n </dl>\r\n <dl>\r\n <dt>type:</dt>\r\n <dd>{{ blob.type }}</dd>\r\n </dl>\r\n } @else if (arrayBuffer) {\r\n <dl>\r\n <dt>Binary data:</dt>\r\n <dd>Array Buffer</dd>\r\n </dl>\r\n <dl>\r\n <dt>byte length:</dt>\r\n <dd>{{ arrayBuffer.byteLength }}</dd>\r\n </dl>\r\n } @else {\r\n <div class=\"center-content\">\r\n <strong>This request has no data available</strong>\r\n </div>\r\n }\r\n </section>\r\n} @else if (currLog) {\r\n <div class=\"center-content\">\r\n <strong>This request has no data available</strong>\r\n </div>\r\n}\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}dl,dd,dt{margin:0;padding:0}dl{display:flex;gap:12px}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4949
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxResponseBodyRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4950
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AtxResponseBodyRendererComponent, isStandalone: true, selector: "atx-response-body-renderer", inputs: { log: "log" }, usesInheritance: true, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (body) {\r\n <section class=\"content\">\r\n @if (text) {\r\n {{ text }}\r\n } @else if (blob) {\r\n <dl>\r\n <dt>Binary data:</dt>\r\n <dd>Blob</dd>\r\n </dl>\r\n <dl>\r\n <dt>size:</dt>\r\n <dd>{{ blob.size }}</dd>\r\n </dl>\r\n <dl>\r\n <dt>type:</dt>\r\n <dd>{{ blob.type }}</dd>\r\n </dl>\r\n } @else if (arrayBuffer) {\r\n <dl>\r\n <dt>Binary data:</dt>\r\n <dd>Array Buffer</dd>\r\n </dl>\r\n <dl>\r\n <dt>byte length:</dt>\r\n <dd>{{ arrayBuffer.byteLength }}</dd>\r\n </dl>\r\n } @else {\r\n <div class=\"center-content\">\r\n <strong>This request has no data available</strong>\r\n </div>\r\n }\r\n </section>\r\n} @else if (currLog) {\r\n <div class=\"center-content\">\r\n <strong>This request has no data available</strong>\r\n </div>\r\n}\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}dl,dd,dt{margin:0;padding:0}dl{display:flex;gap:12px}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4952
4951
  }
4953
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxResponseBodyRendererComponent, decorators: [{
4952
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxResponseBodyRendererComponent, decorators: [{
4954
4953
  type: Component,
4955
- args: [{ selector: 'atx-response-body-renderer', standalone: true, imports: [
4956
- AtxJsonViewerComponent,
4957
- SafeHtmlPipe
4958
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (body) {\r\n <section class=\"content\">\r\n @if (text) {\r\n {{ text }}\r\n } @else if (blob) {\r\n <dl>\r\n <dt>Binary data:</dt>\r\n <dd>Blob</dd>\r\n </dl>\r\n <dl>\r\n <dt>size:</dt>\r\n <dd>{{ blob.size }}</dd>\r\n </dl>\r\n <dl>\r\n <dt>type:</dt>\r\n <dd>{{ blob.type }}</dd>\r\n </dl>\r\n } @else if (arrayBuffer) {\r\n <dl>\r\n <dt>Binary data:</dt>\r\n <dd>Array Buffer</dd>\r\n </dl>\r\n <dl>\r\n <dt>byte length:</dt>\r\n <dd>{{ arrayBuffer.byteLength }}</dd>\r\n </dl>\r\n } @else {\r\n <div class=\"center-content\">\r\n <strong>This request has no data available</strong>\r\n </div>\r\n }\r\n </section>\r\n} @else if (currLog) {\r\n <div class=\"center-content\">\r\n <strong>This request has no data available</strong>\r\n </div>\r\n}\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}dl,dd,dt{margin:0;padding:0}dl{display:flex;gap:12px}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
4954
+ args: [{ selector: 'atx-response-body-renderer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (body) {\r\n <section class=\"content\">\r\n @if (text) {\r\n {{ text }}\r\n } @else if (blob) {\r\n <dl>\r\n <dt>Binary data:</dt>\r\n <dd>Blob</dd>\r\n </dl>\r\n <dl>\r\n <dt>size:</dt>\r\n <dd>{{ blob.size }}</dd>\r\n </dl>\r\n <dl>\r\n <dt>type:</dt>\r\n <dd>{{ blob.type }}</dd>\r\n </dl>\r\n } @else if (arrayBuffer) {\r\n <dl>\r\n <dt>Binary data:</dt>\r\n <dd>Array Buffer</dd>\r\n </dl>\r\n <dl>\r\n <dt>byte length:</dt>\r\n <dd>{{ arrayBuffer.byteLength }}</dd>\r\n </dl>\r\n } @else {\r\n <div class=\"center-content\">\r\n <strong>This request has no data available</strong>\r\n </div>\r\n }\r\n </section>\r\n} @else if (currLog) {\r\n <div class=\"center-content\">\r\n <strong>This request has no data available</strong>\r\n </div>\r\n}\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}dl,dd,dt{margin:0;padding:0}dl{display:flex;gap:12px}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
4959
4955
  }], propDecorators: { log: [{
4960
4956
  type: Input
4961
4957
  }] } });
@@ -5027,12 +5023,12 @@ class AtxRequesInfoComponent extends AtxLogRendererBase {
5027
5023
  this.request = request;
5028
5024
  this.response = metadata.response;
5029
5025
  }
5030
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxRequesInfoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5031
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxRequesInfoComponent, isStandalone: true, selector: "atx-request-info-renderer", inputs: { log: "log" }, usesInheritance: true, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<details open>\r\n <summary>General</summary>\r\n <section>\r\n <dl>\r\n <dt>Request URL:</dt>\r\n <dd>{{ request.url }}</dd>\r\n </dl>\r\n <dl>\r\n <dt>Request Method:</dt>\r\n <dd>{{ request.method }}</dd>\r\n </dl>\r\n <dl>\r\n <dt>Status Code:</dt>\r\n <dd class=\"status-container\">\r\n @if (response) {\r\n <svg [ngStyle]=\"{ fill: response.status < 400 ? 'green' : 'red' }\" \r\n width=\"13\" height=\"13\" viewBox=\"0 0 16 16\">\r\n <circle cx=\"8\" cy=\"8\" r=\"8\"/>\r\n </svg>\r\n {{ response.status }} {{ response.statusText }}\r\n } @else {\r\n <svg fill=\"orange\" width=\"13\" height=\"13\" viewBox=\"0 0 16 16\">\r\n <circle cx=\"8\" cy=\"8\" r=\"8\"/>\r\n </svg>\r\n prefetch\r\n }\r\n </dd>\r\n </dl>\r\n </section>\r\n</details>\r\n<details>\r\n <summary>Response Headers</summary>\r\n <section>\r\n @if (response) {\r\n @for( item of response.headers.keys(); track item) {\r\n <dl>\r\n <dt>{{ item }}</dt>\r\n <dd>{{ response.headers.get(item) }}</dd>\r\n </dl>\r\n \r\n }\r\n }\r\n </section>\r\n</details>\r\n<details>\r\n <summary>Request Headers</summary>\r\n <section>\r\n @for(item of request.headers.keys(); track item) {\r\n <dl>\r\n <dt>{{ item }}</dt>\r\n <dd>{{ request.headers.get(item) }}</dd>\r\n </dl>\r\n }\r\n </section>\r\n</details>", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}details summary{padding:2px 6px;background-color:var(--background-color);border:1px solid var(--border-color);-webkit-user-select:none;user-select:none;margin-bottom:6px}details section{padding:4px 6px}details section dl{display:flex;gap:10px}details section dl,details section dt,details section dd{padding:0;margin:0}details section dt{min-width:200px}.status-container{display:flex;align-items:center;gap:4px}.status-indicator{padding:0;margin:0}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5026
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxRequesInfoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5027
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AtxRequesInfoComponent, isStandalone: true, selector: "atx-request-info-renderer", inputs: { log: "log" }, usesInheritance: true, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<details open>\r\n <summary>General</summary>\r\n <section>\r\n <dl>\r\n <dt>Request URL:</dt>\r\n <dd>{{ request.url }}</dd>\r\n </dl>\r\n <dl>\r\n <dt>Request Method:</dt>\r\n <dd>{{ request.method }}</dd>\r\n </dl>\r\n <dl>\r\n <dt>Status Code:</dt>\r\n <dd class=\"status-container\">\r\n @if (response) {\r\n <svg [ngStyle]=\"{ fill: response.status < 400 ? 'green' : 'red' }\" \r\n width=\"13\" height=\"13\" viewBox=\"0 0 16 16\">\r\n <circle cx=\"8\" cy=\"8\" r=\"8\"/>\r\n </svg>\r\n {{ response.status }} {{ response.statusText }}\r\n } @else {\r\n <svg fill=\"orange\" width=\"13\" height=\"13\" viewBox=\"0 0 16 16\">\r\n <circle cx=\"8\" cy=\"8\" r=\"8\"/>\r\n </svg>\r\n prefetch\r\n }\r\n </dd>\r\n </dl>\r\n </section>\r\n</details>\r\n<details>\r\n <summary>Response Headers</summary>\r\n <section>\r\n @if (response) {\r\n @for( item of response.headers.keys(); track item) {\r\n <dl>\r\n <dt>{{ item }}</dt>\r\n <dd>{{ response.headers.get(item) }}</dd>\r\n </dl>\r\n \r\n }\r\n }\r\n </section>\r\n</details>\r\n<details>\r\n <summary>Request Headers</summary>\r\n <section>\r\n @for(item of request.headers.keys(); track item) {\r\n <dl>\r\n <dt>{{ item }}</dt>\r\n <dd>{{ request.headers.get(item) }}</dd>\r\n </dl>\r\n }\r\n </section>\r\n</details>", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}details summary{padding:2px 6px;background-color:var(--background-color);border:1px solid var(--border-color);-webkit-user-select:none;user-select:none;margin-bottom:6px}details section{padding:4px 6px}details section dl{display:flex;gap:10px}details section dl,details section dt,details section dd{padding:0;margin:0}details section dt{min-width:200px}.status-container{display:flex;align-items:center;gap:4px}.status-indicator{padding:0;margin:0}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5032
5028
  }
5033
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxRequesInfoComponent, decorators: [{
5029
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxRequesInfoComponent, decorators: [{
5034
5030
  type: Component,
5035
- args: [{ selector: 'atx-request-info-renderer', standalone: true, imports: [
5031
+ args: [{ selector: 'atx-request-info-renderer', imports: [
5036
5032
  NgStyle,
5037
5033
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<details open>\r\n <summary>General</summary>\r\n <section>\r\n <dl>\r\n <dt>Request URL:</dt>\r\n <dd>{{ request.url }}</dd>\r\n </dl>\r\n <dl>\r\n <dt>Request Method:</dt>\r\n <dd>{{ request.method }}</dd>\r\n </dl>\r\n <dl>\r\n <dt>Status Code:</dt>\r\n <dd class=\"status-container\">\r\n @if (response) {\r\n <svg [ngStyle]=\"{ fill: response.status < 400 ? 'green' : 'red' }\" \r\n width=\"13\" height=\"13\" viewBox=\"0 0 16 16\">\r\n <circle cx=\"8\" cy=\"8\" r=\"8\"/>\r\n </svg>\r\n {{ response.status }} {{ response.statusText }}\r\n } @else {\r\n <svg fill=\"orange\" width=\"13\" height=\"13\" viewBox=\"0 0 16 16\">\r\n <circle cx=\"8\" cy=\"8\" r=\"8\"/>\r\n </svg>\r\n prefetch\r\n }\r\n </dd>\r\n </dl>\r\n </section>\r\n</details>\r\n<details>\r\n <summary>Response Headers</summary>\r\n <section>\r\n @if (response) {\r\n @for( item of response.headers.keys(); track item) {\r\n <dl>\r\n <dt>{{ item }}</dt>\r\n <dd>{{ response.headers.get(item) }}</dd>\r\n </dl>\r\n \r\n }\r\n }\r\n </section>\r\n</details>\r\n<details>\r\n <summary>Request Headers</summary>\r\n <section>\r\n @for(item of request.headers.keys(); track item) {\r\n <dl>\r\n <dt>{{ item }}</dt>\r\n <dd>{{ request.headers.get(item) }}</dd>\r\n </dl>\r\n }\r\n </section>\r\n</details>", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}details summary{padding:2px 6px;background-color:var(--background-color);border:1px solid var(--border-color);-webkit-user-select:none;user-select:none;margin-bottom:6px}details section{padding:4px 6px}details section dl{display:flex;gap:10px}details section dl,details section dt,details section dd{padding:0;margin:0}details section dt{min-width:200px}.status-container{display:flex;align-items:center;gap:4px}.status-indicator{padding:0;margin:0}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
5038
5034
  }], propDecorators: { log: [{
@@ -5068,10 +5064,10 @@ class AtxUserActionService {
5068
5064
  sendAction(type, data = null) {
5069
5065
  this.action.emit({ type: type, data: data });
5070
5066
  }
5071
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxUserActionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5072
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxUserActionService }); }
5067
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxUserActionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5068
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxUserActionService }); }
5073
5069
  }
5074
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxUserActionService, decorators: [{
5070
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxUserActionService, decorators: [{
5075
5071
  type: Injectable
5076
5072
  }], propDecorators: { action: [{
5077
5073
  type: Output
@@ -5138,14 +5134,12 @@ class AtxRequestDetailsComponent extends AtxLogRendererBase {
5138
5134
  const hasBody = (request.body !== null && request.body !== undefined);
5139
5135
  this.hasPayload = (request.params.keys().length > 0 || hasBody);
5140
5136
  }
5141
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxRequestDetailsComponent, deps: [{ token: AtxUserActionService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
5142
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxRequestDetailsComponent, isStandalone: true, selector: "atx-monitoring-console-details", inputs: { log: "log" }, usesInheritance: true, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (currLog) {\r\n <header>\r\n <menu>\r\n <li role=\"button\" (click)=\"changeSection(0)\"><span [class.selected]=\"currSection === 0\">Headers</span></li>\r\n @if (hasPayload) {\r\n <li role=\"button\" (click)=\"changeSection(1)\"><span [class.selected]=\"currSection === 1\">Payload</span></li>\r\n }\r\n <li role=\"button\" (click)=\"changeSection(2)\"><span [class.selected]=\"currSection === 2\">Preview</span></li>\r\n <li role=\"button\" (click)=\"changeSection(3)\"><span [class.selected]=\"currSection === 3\">Response</span></li>\r\n <li role=\"button\" (click)=\"changeSection(4)\"><span [class.selected]=\"currSection === 4\">Timing</span></li>\r\n <div role=\"button\" (click)=\"action.sendAction(actionType.CLOSE_DETAILS_PANEL)\" title=\"Close\" class=\"header-btn\">\r\n <svg width=\"20\" height=\"20\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708\"/>\r\n </svg>\r\n </div>\r\n </menu>\r\n </header>\r\n <main>\r\n @if (currSection === 0) {\r\n <atx-request-info-renderer [log]=\"currLog\"/>\r\n } @else if (currSection === 1) {\r\n <atx-payload-renderer [log]=\"currLog\"/>\r\n } @else if (currSection === 2) {\r\n <atx-response-preview-renderer [log]=\"currLog\"/>\r\n } @else if (currSection === 3) {\r\n <section class=\"raw-response\">\r\n <atx-response-body-renderer [log]=\"currLog\"/>\r\n </section>\r\n } @else if (currSection === 4) {\r\n <atx-timing-renderer [log]=\"currLog\"/>\r\n }\r\n </main>\r\n}\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}:host{position:relative;width:100%;height:100%}header{padding:0;margin:0 0 6px;-webkit-user-select:none;user-select:none;position:absolute;width:100%}header menu{background-color:var(--background-color);border:1px solid var(--border-color);display:flex;align-items:center;height:var(--header-height)}header menu li{padding:0 0 0 6px}header menu .selected{border-bottom:2px solid var(--border-color)}main{position:absolute;width:100%;top:36px;bottom:0;overflow-y:auto}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxPayloadRendererComponent, selector: "atx-payload-renderer", inputs: ["log"] }, { kind: "component", type: AtxTimingRendererComponent, selector: "atx-timing-renderer", inputs: ["log"] }, { kind: "component", type: AtxResponsePreviewRendererComponent, selector: "atx-response-preview-renderer", inputs: ["log"] }, { kind: "component", type: AtxResponseBodyRendererComponent, selector: "atx-response-body-renderer", inputs: ["log"] }, { kind: "component", type: AtxRequesInfoComponent, selector: "atx-request-info-renderer", inputs: ["log"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5137
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxRequestDetailsComponent, deps: [{ token: AtxUserActionService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
5138
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AtxRequestDetailsComponent, isStandalone: true, selector: "atx-monitoring-console-details", inputs: { log: "log" }, usesInheritance: true, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (currLog) {\r\n <header>\r\n <menu>\r\n <li role=\"button\" (click)=\"changeSection(0)\"><span [class.selected]=\"currSection === 0\">Headers</span></li>\r\n @if (hasPayload) {\r\n <li role=\"button\" (click)=\"changeSection(1)\"><span [class.selected]=\"currSection === 1\">Payload</span></li>\r\n }\r\n <li role=\"button\" (click)=\"changeSection(2)\"><span [class.selected]=\"currSection === 2\">Preview</span></li>\r\n <li role=\"button\" (click)=\"changeSection(3)\"><span [class.selected]=\"currSection === 3\">Response</span></li>\r\n <li role=\"button\" (click)=\"changeSection(4)\"><span [class.selected]=\"currSection === 4\">Timing</span></li>\r\n <div role=\"button\" (click)=\"action.sendAction(actionType.CLOSE_DETAILS_PANEL)\" title=\"Close\" class=\"header-btn\">\r\n <svg width=\"20\" height=\"20\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708\"/>\r\n </svg>\r\n </div>\r\n </menu>\r\n </header>\r\n <main>\r\n @if (currSection === 0) {\r\n <atx-request-info-renderer [log]=\"currLog\"/>\r\n } @else if (currSection === 1) {\r\n <atx-payload-renderer [log]=\"currLog\"/>\r\n } @else if (currSection === 2) {\r\n <atx-response-preview-renderer [log]=\"currLog\"/>\r\n } @else if (currSection === 3) {\r\n <section class=\"raw-response\">\r\n <atx-response-body-renderer [log]=\"currLog\"/>\r\n </section>\r\n } @else if (currSection === 4) {\r\n <atx-timing-renderer [log]=\"currLog\"/>\r\n }\r\n </main>\r\n}\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}:host{position:relative;width:100%;height:100%}header{padding:0;margin:0 0 6px;-webkit-user-select:none;user-select:none;position:absolute;width:100%}header menu{background-color:var(--background-color);border:1px solid var(--border-color);display:flex;align-items:center;height:var(--header-height)}header menu li{padding:0 0 0 6px}header menu .selected{border-bottom:2px solid var(--border-color)}main{position:absolute;width:100%;top:36px;bottom:0;overflow-y:auto}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxPayloadRendererComponent, selector: "atx-payload-renderer", inputs: ["log"] }, { kind: "component", type: AtxTimingRendererComponent, selector: "atx-timing-renderer", inputs: ["log"] }, { kind: "component", type: AtxResponsePreviewRendererComponent, selector: "atx-response-preview-renderer", inputs: ["log"] }, { kind: "component", type: AtxResponseBodyRendererComponent, selector: "atx-response-body-renderer", inputs: ["log"] }, { kind: "component", type: AtxRequesInfoComponent, selector: "atx-request-info-renderer", inputs: ["log"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5143
5139
  }
5144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxRequestDetailsComponent, decorators: [{
5140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxRequestDetailsComponent, decorators: [{
5145
5141
  type: Component,
5146
- args: [{ selector: 'atx-monitoring-console-details', standalone: true, imports: [
5147
- NgStyle,
5148
- AtxJsonViewerComponent,
5142
+ args: [{ selector: 'atx-monitoring-console-details', imports: [
5149
5143
  AtxPayloadRendererComponent,
5150
5144
  AtxTimingRendererComponent,
5151
5145
  AtxResponsePreviewRendererComponent,
@@ -5328,10 +5322,10 @@ class AtxMonitoringConsoleState {
5328
5322
  selectLog(log) {
5329
5323
  this._selectedLog = log;
5330
5324
  }
5331
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxMonitoringConsoleState, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5332
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxMonitoringConsoleState }); }
5325
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxMonitoringConsoleState, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5326
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxMonitoringConsoleState }); }
5333
5327
  }
5334
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxMonitoringConsoleState, decorators: [{
5328
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxMonitoringConsoleState, decorators: [{
5335
5329
  type: Injectable
5336
5330
  }] });
5337
5331
 
@@ -5353,10 +5347,10 @@ class AtxConsoleFooterComponent {
5353
5347
  constructor(state) {
5354
5348
  this.state = state;
5355
5349
  }
5356
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxConsoleFooterComponent, deps: [{ token: AtxMonitoringConsoleState }], target: i0.ɵɵFactoryTarget.Component }); }
5357
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: AtxConsoleFooterComponent, isStandalone: true, selector: "atx-console-footer", ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<footer>\r\n <div>\r\n {{ state.numLogs }} request(s)\r\n </div>\r\n <div class=\"menu-separator\"></div>\r\n <div>\r\n {{ state.cumulativeSize }} resources\r\n </div>\r\n</footer>\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}footer{background-color:var(--light-gray);border-top:1px solid var(--border-color);margin-top:6px;padding:6px 6px 6px 10px;display:flex;align-items:center;gap:6px}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }); }
5350
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxConsoleFooterComponent, deps: [{ token: AtxMonitoringConsoleState }], target: i0.ɵɵFactoryTarget.Component }); }
5351
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AtxConsoleFooterComponent, isStandalone: true, selector: "atx-console-footer", ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<footer>\r\n <div>\r\n {{ state.numLogs }} request(s)\r\n </div>\r\n <div class=\"menu-separator\"></div>\r\n <div>\r\n {{ state.cumulativeSize }} resources\r\n </div>\r\n</footer>\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}footer{background-color:var(--light-gray);border-top:1px solid var(--border-color);margin-top:6px;padding:6px 6px 6px 10px;display:flex;align-items:center;gap:6px}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }); }
5358
5352
  }
5359
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxConsoleFooterComponent, decorators: [{
5353
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxConsoleFooterComponent, decorators: [{
5360
5354
  type: Component,
5361
5355
  args: [{ selector: 'atx-console-footer', standalone: true, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<footer>\r\n <div>\r\n {{ state.numLogs }} request(s)\r\n </div>\r\n <div class=\"menu-separator\"></div>\r\n <div>\r\n {{ state.cumulativeSize }} resources\r\n </div>\r\n</footer>\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}footer{background-color:var(--light-gray);border-top:1px solid var(--border-color);margin-top:6px;padding:6px 6px 6px 10px;display:flex;align-items:center;gap:6px}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
5362
5356
  }], ctorParameters: () => [{ type: AtxMonitoringConsoleState }] });
@@ -5389,10 +5383,10 @@ class AtxConsoleMenuComponent {
5389
5383
  onFileSelect(event) {
5390
5384
  this.action.sendAction(AtxConsoleActionType.IMPORT_LOGS, event.target.files);
5391
5385
  }
5392
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxConsoleMenuComponent, deps: [{ token: AtxUserActionService }], target: i0.ɵɵFactoryTarget.Component }); }
5393
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: AtxConsoleMenuComponent, isStandalone: true, selector: "atx-console-menu", ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n<menu>\r\n <li id=\"clear-btn\" role=\"button\" title=\"Clear network log\" (click)=\"action.sendAction(actionType.CLEAR_LOGS)\">\r\n <svg width=\"18\" height=\"18\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16\"/>\r\n <path d=\"M11.354 4.646a.5.5 0 0 0-.708 0l-6 6a.5.5 0 0 0 .708.708l6-6a.5.5 0 0 0 0-.708\"/>\r\n </svg>\r\n </li>\r\n <div class=\"menu-separator\"></div>\r\n <li id=\"filter-btn\" title=\"Filter\" class=\"disabled\">\r\n <svg width=\"19\" height=\"19\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M1.5 1.5A.5.5 0 0 1 2 1h12a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.128.334L10 8.692V13.5a.5.5 0 0 1-.342.474l-3 1A.5.5 0 0 1 6 14.5V8.692L1.628 3.834A.5.5 0 0 1 1.5 3.5zm1 .5v1.308l4.372 4.858A.5.5 0 0 1 7 8.5v5.306l2-.666V8.5a.5.5 0 0 1 .128-.334L13.5 3.308V2z\"/>\r\n </svg>\r\n </li>\r\n <li id=\"search-btn\" title=\"Search\" class=\"disabled\">\r\n <svg width=\"18\" height=\"18\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0\"/>\r\n </svg>\r\n </li>\r\n <div class=\"menu-separator\"></div>\r\n <li id=\"import-btn\" role=\"button\" title=\"Import\" (click)=\"importField.click()\">\r\n <svg width=\"19\" height=\"19\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5\"/>\r\n <path d=\"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708z\"/>\r\n </svg>\r\n <input type=\"file\" #importField accept=\".hmfl\" (change)=\"onFileSelect($event)\">\r\n </li>\r\n <li id=\"export-btn\" role=\"button\" title=\"Export\" (click)=\"action.sendAction(actionType.EXPORT_LOGS)\">\r\n <svg width=\"18\" height=\"18\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5\"/>\r\n <path d=\"M7.646 1.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 2.707V11.5a.5.5 0 0 1-1 0V2.707L5.354 4.854a.5.5 0 1 1-.708-.708z\"/>\r\n </svg>\r\n </li>\r\n</menu>\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}menu{padding-left:6px;background-color:var(--light-gray);position:absolute;width:100%;border-bottom:1px solid var(--border-color)}menu li{padding:6px}menu li:hover:not(.disabled){background-color:var(--dark-gray)}menu .disabled{opacity:.25}menu input[type=file]{display:none;width:0}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }); }
5386
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxConsoleMenuComponent, deps: [{ token: AtxUserActionService }], target: i0.ɵɵFactoryTarget.Component }); }
5387
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AtxConsoleMenuComponent, isStandalone: true, selector: "atx-console-menu", ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n<menu>\r\n <li id=\"clear-btn\" role=\"button\" title=\"Clear network log\" (click)=\"action.sendAction(actionType.CLEAR_LOGS)\">\r\n <svg width=\"18\" height=\"18\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16\"/>\r\n <path d=\"M11.354 4.646a.5.5 0 0 0-.708 0l-6 6a.5.5 0 0 0 .708.708l6-6a.5.5 0 0 0 0-.708\"/>\r\n </svg>\r\n </li>\r\n <div class=\"menu-separator\"></div>\r\n <li id=\"filter-btn\" title=\"Filter\" class=\"disabled\">\r\n <svg width=\"19\" height=\"19\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M1.5 1.5A.5.5 0 0 1 2 1h12a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.128.334L10 8.692V13.5a.5.5 0 0 1-.342.474l-3 1A.5.5 0 0 1 6 14.5V8.692L1.628 3.834A.5.5 0 0 1 1.5 3.5zm1 .5v1.308l4.372 4.858A.5.5 0 0 1 7 8.5v5.306l2-.666V8.5a.5.5 0 0 1 .128-.334L13.5 3.308V2z\"/>\r\n </svg>\r\n </li>\r\n <li id=\"search-btn\" title=\"Search\" class=\"disabled\">\r\n <svg width=\"18\" height=\"18\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0\"/>\r\n </svg>\r\n </li>\r\n <div class=\"menu-separator\"></div>\r\n <li id=\"import-btn\" role=\"button\" title=\"Import\" (click)=\"importField.click()\">\r\n <svg width=\"19\" height=\"19\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5\"/>\r\n <path d=\"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708z\"/>\r\n </svg>\r\n <input type=\"file\" #importField accept=\".hmfl\" (change)=\"onFileSelect($event)\">\r\n </li>\r\n <li id=\"export-btn\" role=\"button\" title=\"Export\" (click)=\"action.sendAction(actionType.EXPORT_LOGS)\">\r\n <svg width=\"18\" height=\"18\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5\"/>\r\n <path d=\"M7.646 1.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 2.707V11.5a.5.5 0 0 1-1 0V2.707L5.354 4.854a.5.5 0 1 1-.708-.708z\"/>\r\n </svg>\r\n </li>\r\n</menu>\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}menu{padding-left:6px;background-color:var(--light-gray);position:absolute;width:100%;border-bottom:1px solid var(--border-color)}menu li{padding:6px}menu li:hover:not(.disabled){background-color:var(--dark-gray)}menu .disabled{opacity:.25}menu input[type=file]{display:none;width:0}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }); }
5394
5388
  }
5395
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxConsoleMenuComponent, decorators: [{
5389
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxConsoleMenuComponent, decorators: [{
5396
5390
  type: Component,
5397
5391
  args: [{ selector: 'atx-console-menu', standalone: true, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n<menu>\r\n <li id=\"clear-btn\" role=\"button\" title=\"Clear network log\" (click)=\"action.sendAction(actionType.CLEAR_LOGS)\">\r\n <svg width=\"18\" height=\"18\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16\"/>\r\n <path d=\"M11.354 4.646a.5.5 0 0 0-.708 0l-6 6a.5.5 0 0 0 .708.708l6-6a.5.5 0 0 0 0-.708\"/>\r\n </svg>\r\n </li>\r\n <div class=\"menu-separator\"></div>\r\n <li id=\"filter-btn\" title=\"Filter\" class=\"disabled\">\r\n <svg width=\"19\" height=\"19\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M1.5 1.5A.5.5 0 0 1 2 1h12a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.128.334L10 8.692V13.5a.5.5 0 0 1-.342.474l-3 1A.5.5 0 0 1 6 14.5V8.692L1.628 3.834A.5.5 0 0 1 1.5 3.5zm1 .5v1.308l4.372 4.858A.5.5 0 0 1 7 8.5v5.306l2-.666V8.5a.5.5 0 0 1 .128-.334L13.5 3.308V2z\"/>\r\n </svg>\r\n </li>\r\n <li id=\"search-btn\" title=\"Search\" class=\"disabled\">\r\n <svg width=\"18\" height=\"18\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0\"/>\r\n </svg>\r\n </li>\r\n <div class=\"menu-separator\"></div>\r\n <li id=\"import-btn\" role=\"button\" title=\"Import\" (click)=\"importField.click()\">\r\n <svg width=\"19\" height=\"19\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5\"/>\r\n <path d=\"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708z\"/>\r\n </svg>\r\n <input type=\"file\" #importField accept=\".hmfl\" (change)=\"onFileSelect($event)\">\r\n </li>\r\n <li id=\"export-btn\" role=\"button\" title=\"Export\" (click)=\"action.sendAction(actionType.EXPORT_LOGS)\">\r\n <svg width=\"18\" height=\"18\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5\"/>\r\n <path d=\"M7.646 1.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 2.707V11.5a.5.5 0 0 1-1 0V2.707L5.354 4.854a.5.5 0 1 1-.708-.708z\"/>\r\n </svg>\r\n </li>\r\n</menu>\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}menu{padding-left:6px;background-color:var(--light-gray);position:absolute;width:100%;border-bottom:1px solid var(--border-color)}menu li{padding:6px}menu li:hover:not(.disabled){background-color:var(--dark-gray)}menu .disabled{opacity:.25}menu input[type=file]{display:none;width:0}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
5398
5392
  }], ctorParameters: () => [{ type: AtxUserActionService }] });
@@ -5422,10 +5416,10 @@ const ATX_IS_IMPORTED_LOG = new HttpContextToken(() => false);
5422
5416
  * A spinner icon component.
5423
5417
  */
5424
5418
  class AtxSpinnerComponent {
5425
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5426
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: AtxSpinnerComponent, isStandalone: true, selector: "atx-spinner", ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<svg width=\"20\" height=\"20\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M11.534 7h3.932a.25.25 0 0 1 .192.41l-1.966 2.36a.25.25 0 0 1-.384 0l-1.966-2.36a.25.25 0 0 1 .192-.41m-11 2h3.932a.25.25 0 0 0 .192-.41L2.692 6.23a.25.25 0 0 0-.384 0L.342 8.59A.25.25 0 0 0 .534 9\"/>\r\n <path fill-rule=\"evenodd\" d=\"M8 3c-1.552 0-2.94.707-3.857 1.818a.5.5 0 1 1-.771-.636A6.002 6.002 0 0 1 13.917 7H12.9A5 5 0 0 0 8 3M3.1 9a5.002 5.002 0 0 0 8.757 2.182.5.5 0 1 1 .771.636A6.002 6.002 0 0 1 2.083 9z\"/>\r\n</svg>\r\n", styles: [":host{width:20px;height:20px}:host svg{animation:spinnerRotation 1.5s linear infinite}@keyframes spinnerRotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }); }
5419
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5420
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AtxSpinnerComponent, isStandalone: true, selector: "atx-spinner", ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<svg width=\"20\" height=\"20\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M11.534 7h3.932a.25.25 0 0 1 .192.41l-1.966 2.36a.25.25 0 0 1-.384 0l-1.966-2.36a.25.25 0 0 1 .192-.41m-11 2h3.932a.25.25 0 0 0 .192-.41L2.692 6.23a.25.25 0 0 0-.384 0L.342 8.59A.25.25 0 0 0 .534 9\"/>\r\n <path fill-rule=\"evenodd\" d=\"M8 3c-1.552 0-2.94.707-3.857 1.818a.5.5 0 1 1-.771-.636A6.002 6.002 0 0 1 13.917 7H12.9A5 5 0 0 0 8 3M3.1 9a5.002 5.002 0 0 0 8.757 2.182.5.5 0 1 1 .771.636A6.002 6.002 0 0 1 2.083 9z\"/>\r\n</svg>\r\n", styles: [":host{width:20px;height:20px}:host svg{animation:spinnerRotation 1.5s linear infinite}@keyframes spinnerRotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }); }
5427
5421
  }
5428
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxSpinnerComponent, decorators: [{
5422
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxSpinnerComponent, decorators: [{
5429
5423
  type: Component,
5430
5424
  args: [{ selector: 'atx-spinner', standalone: true, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<svg width=\"20\" height=\"20\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M11.534 7h3.932a.25.25 0 0 1 .192.41l-1.966 2.36a.25.25 0 0 1-.384 0l-1.966-2.36a.25.25 0 0 1 .192-.41m-11 2h3.932a.25.25 0 0 0 .192-.41L2.692 6.23a.25.25 0 0 0-.384 0L.342 8.59A.25.25 0 0 0 .534 9\"/>\r\n <path fill-rule=\"evenodd\" d=\"M8 3c-1.552 0-2.94.707-3.857 1.818a.5.5 0 1 1-.771-.636A6.002 6.002 0 0 1 13.917 7H12.9A5 5 0 0 0 8 3M3.1 9a5.002 5.002 0 0 0 8.757 2.182.5.5 0 1 1 .771.636A6.002 6.002 0 0 1 2.083 9z\"/>\r\n</svg>\r\n", styles: [":host{width:20px;height:20px}:host svg{animation:spinnerRotation 1.5s linear infinite}@keyframes spinnerRotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
5431
5425
  }] });
@@ -5473,12 +5467,12 @@ class AtxIconRendererComponent extends AtxLogRendererBase {
5473
5467
  this.bodyType = complete ? DataUtil.getBodyType(response.body) : ConsoleBodyType.INVALID;
5474
5468
  this.isImported = value.metadata.request?.context.get(ATX_IS_IMPORTED_LOG);
5475
5469
  }
5476
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxIconRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5477
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxIconRendererComponent, isStandalone: true, selector: "atx-icon-renderer", inputs: { log: "log" }, usesInheritance: true, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (hasReponse) {\r\n <svg width=\"24\" height=\"24\" fill=\"currentColor\">\r\n @if (bodyType == 0) {\r\n <use href=\"#empty-icon\"/>\r\n } @else if (bodyType == 1) {\r\n <use href=\"#json-icon\"/>\r\n } @else if (bodyType == 2) {\r\n <use href=\"#text-icon\"/>\r\n } @else if (bodyType == 3) {\r\n <use href=\"#blob-icon\"/>\r\n } @else if (bodyType == 5) {\r\n <use href=\"#bin-icon\"/>\r\n }\r\n </svg>\r\n @if (isImported) {\r\n <svg width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path fill-rule=\"evenodd\" d=\"M3.5 6a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 1 0-1h2A1.5 1.5 0 0 1 14 6.5v8a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-8A1.5 1.5 0 0 1 3.5 5h2a.5.5 0 0 1 0 1z\"/>\r\n <path fill-rule=\"evenodd\" d=\"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708z\"/>\r\n </svg>\r\n }\r\n} @else if (currLog) {\r\n <atx-spinner />\r\n}\r\n", styles: [":host{display:flex;padding:0;margin:3px 0 0;min-width:24px}.spinner{margin-left:auto;width:20px;height:20px}.spinner svg{animation:spinnerRotation 1.5s linear infinite}@keyframes spinnerRotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxSpinnerComponent, selector: "atx-spinner" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5470
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxIconRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5471
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AtxIconRendererComponent, isStandalone: true, selector: "atx-icon-renderer", inputs: { log: "log" }, usesInheritance: true, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (hasReponse) {\r\n <svg width=\"24\" height=\"24\" fill=\"currentColor\">\r\n @if (bodyType == 0) {\r\n <use href=\"#empty-icon\"/>\r\n } @else if (bodyType == 1) {\r\n <use href=\"#json-icon\"/>\r\n } @else if (bodyType == 2) {\r\n <use href=\"#text-icon\"/>\r\n } @else if (bodyType == 3) {\r\n <use href=\"#blob-icon\"/>\r\n } @else if (bodyType == 5) {\r\n <use href=\"#bin-icon\"/>\r\n }\r\n </svg>\r\n @if (isImported) {\r\n <svg width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path fill-rule=\"evenodd\" d=\"M3.5 6a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 1 0-1h2A1.5 1.5 0 0 1 14 6.5v8a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-8A1.5 1.5 0 0 1 3.5 5h2a.5.5 0 0 1 0 1z\"/>\r\n <path fill-rule=\"evenodd\" d=\"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708z\"/>\r\n </svg>\r\n }\r\n} @else if (currLog) {\r\n <atx-spinner />\r\n}\r\n", styles: [":host{display:flex;padding:0;margin:3px 0 0;min-width:24px}.spinner{margin-left:auto;width:20px;height:20px}.spinner svg{animation:spinnerRotation 1.5s linear infinite}@keyframes spinnerRotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxSpinnerComponent, selector: "atx-spinner" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5478
5472
  }
5479
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxIconRendererComponent, decorators: [{
5473
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxIconRendererComponent, decorators: [{
5480
5474
  type: Component,
5481
- args: [{ selector: 'atx-icon-renderer', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
5475
+ args: [{ selector: 'atx-icon-renderer', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
5482
5476
  AtxSpinnerComponent
5483
5477
  ], template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (hasReponse) {\r\n <svg width=\"24\" height=\"24\" fill=\"currentColor\">\r\n @if (bodyType == 0) {\r\n <use href=\"#empty-icon\"/>\r\n } @else if (bodyType == 1) {\r\n <use href=\"#json-icon\"/>\r\n } @else if (bodyType == 2) {\r\n <use href=\"#text-icon\"/>\r\n } @else if (bodyType == 3) {\r\n <use href=\"#blob-icon\"/>\r\n } @else if (bodyType == 5) {\r\n <use href=\"#bin-icon\"/>\r\n }\r\n </svg>\r\n @if (isImported) {\r\n <svg width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path fill-rule=\"evenodd\" d=\"M3.5 6a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 1 0-1h2A1.5 1.5 0 0 1 14 6.5v8a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-8A1.5 1.5 0 0 1 3.5 5h2a.5.5 0 0 1 0 1z\"/>\r\n <path fill-rule=\"evenodd\" d=\"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708z\"/>\r\n </svg>\r\n }\r\n} @else if (currLog) {\r\n <atx-spinner />\r\n}\r\n", styles: [":host{display:flex;padding:0;margin:3px 0 0;min-width:24px}.spinner{margin-left:auto;width:20px;height:20px}.spinner svg{animation:spinnerRotation 1.5s linear infinite}@keyframes spinnerRotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
5484
5478
  }], propDecorators: { log: [{
@@ -5583,12 +5577,12 @@ class AtxRequestListRendererComponent {
5583
5577
  checkFilters(log) {
5584
5578
  return true;
5585
5579
  }
5586
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxRequestListRendererComponent, deps: [{ token: AtxMonitoringConsoleState }, { token: AtxUserActionService }], target: i0.ɵɵFactoryTarget.Component }); }
5587
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxRequestListRendererComponent, isStandalone: true, selector: "atx-request-list-renderer", ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n<table id=\"request-list\" >\r\n <thead>\r\n <tr>\r\n <th class=\"name-header\">\r\n Name\r\n <div role=\"button\" title=\"Expand\" class=\"header-btn\" (click)=\"action.sendAction(actionType.CLOSE_DETAILS_PANEL)\">\r\n <svg width=\"20\" height=\"20\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n @if (this.state.selectedLog) {\r\n <path fill-rule=\"evenodd\" d=\"M6 8a.5.5 0 0 0 .5.5h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L12.293 7.5H6.5A.5.5 0 0 0 6 8m-2.5 7a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5\"/>\r\n }\r\n </svg>\r\n </div>\r\n </th>\r\n @if (!this.state.selectedLog) {\r\n <th>Status</th>\r\n <th>Size</th>\r\n <th>Time</th>\r\n }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (log of this.state.logs; track log.metadata.requestMetadata.id) {\r\n @if (checkFilters(log)) {\r\n <tr [class.error-row]=\"isError(log)\" role=\"button\" (click)=\"action.sendAction(actionType.LOG_SELECT, log)\"\r\n [class.selected-row]=\"this.state.selectedLog === log\">\r\n <td [title]=\"getResourcePath(log)\">\r\n <atx-icon-renderer [log]=\"log\"/>\r\n <div class=\"resource-cell\">\r\n {{ getResourceName(log) }}\r\n <br>\r\n {{ getResourcePath(log) }}\r\n </div>\r\n </td>\r\n @if (!this.state.selectedLog) {\r\n <td>{{ getStatus(log) }}</td>\r\n <td>{{ getSize(log) }}</td>\r\n <td>{{ getTime(log) }}</td>\r\n }\r\n </tr>\r\n }\r\n }\r\n </tbody>\r\n</table>", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}#request-list{-webkit-user-select:none;user-select:none;width:100%}#request-list tbody tr td:first-of-type{display:flex;gap:6px}#request-list .name-header{display:flex;align-items:center}#request-list thead{position:sticky;top:0}#request-list .resource-cell{max-height:36px;overflow:hidden}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxIconRendererComponent, selector: "atx-icon-renderer", inputs: ["log"] }] }); }
5580
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxRequestListRendererComponent, deps: [{ token: AtxMonitoringConsoleState }, { token: AtxUserActionService }], target: i0.ɵɵFactoryTarget.Component }); }
5581
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AtxRequestListRendererComponent, isStandalone: true, selector: "atx-request-list-renderer", ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n<table id=\"request-list\" >\r\n <thead>\r\n <tr>\r\n <th class=\"name-header\">\r\n Name\r\n <div role=\"button\" title=\"Expand\" class=\"header-btn\" (click)=\"action.sendAction(actionType.CLOSE_DETAILS_PANEL)\">\r\n <svg width=\"20\" height=\"20\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n @if (this.state.selectedLog) {\r\n <path fill-rule=\"evenodd\" d=\"M6 8a.5.5 0 0 0 .5.5h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L12.293 7.5H6.5A.5.5 0 0 0 6 8m-2.5 7a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5\"/>\r\n }\r\n </svg>\r\n </div>\r\n </th>\r\n @if (!this.state.selectedLog) {\r\n <th>Status</th>\r\n <th>Size</th>\r\n <th>Time</th>\r\n }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (log of this.state.logs; track log.metadata.requestMetadata.id) {\r\n @if (checkFilters(log)) {\r\n <tr [class.error-row]=\"isError(log)\" role=\"button\" (click)=\"action.sendAction(actionType.LOG_SELECT, log)\"\r\n [class.selected-row]=\"this.state.selectedLog === log\">\r\n <td [title]=\"getResourcePath(log)\">\r\n <atx-icon-renderer [log]=\"log\"/>\r\n <div class=\"resource-cell\">\r\n {{ getResourceName(log) }}\r\n <br>\r\n {{ getResourcePath(log) }}\r\n </div>\r\n </td>\r\n @if (!this.state.selectedLog) {\r\n <td>{{ getStatus(log) }}</td>\r\n <td>{{ getSize(log) }}</td>\r\n <td>{{ getTime(log) }}</td>\r\n }\r\n </tr>\r\n }\r\n }\r\n </tbody>\r\n</table>", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}#request-list{-webkit-user-select:none;user-select:none;width:100%}#request-list tbody tr td:first-of-type{display:flex;gap:6px}#request-list .name-header{display:flex;align-items:center}#request-list thead{position:sticky;top:0}#request-list .resource-cell{max-height:36px;overflow:hidden}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxIconRendererComponent, selector: "atx-icon-renderer", inputs: ["log"] }] }); }
5588
5582
  }
5589
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxRequestListRendererComponent, decorators: [{
5583
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxRequestListRendererComponent, decorators: [{
5590
5584
  type: Component,
5591
- args: [{ selector: 'atx-request-list-renderer', standalone: true, imports: [
5585
+ args: [{ selector: 'atx-request-list-renderer', imports: [
5592
5586
  AtxIconRendererComponent
5593
5587
  ], template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n<table id=\"request-list\" >\r\n <thead>\r\n <tr>\r\n <th class=\"name-header\">\r\n Name\r\n <div role=\"button\" title=\"Expand\" class=\"header-btn\" (click)=\"action.sendAction(actionType.CLOSE_DETAILS_PANEL)\">\r\n <svg width=\"20\" height=\"20\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n @if (this.state.selectedLog) {\r\n <path fill-rule=\"evenodd\" d=\"M6 8a.5.5 0 0 0 .5.5h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L12.293 7.5H6.5A.5.5 0 0 0 6 8m-2.5 7a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5\"/>\r\n }\r\n </svg>\r\n </div>\r\n </th>\r\n @if (!this.state.selectedLog) {\r\n <th>Status</th>\r\n <th>Size</th>\r\n <th>Time</th>\r\n }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (log of this.state.logs; track log.metadata.requestMetadata.id) {\r\n @if (checkFilters(log)) {\r\n <tr [class.error-row]=\"isError(log)\" role=\"button\" (click)=\"action.sendAction(actionType.LOG_SELECT, log)\"\r\n [class.selected-row]=\"this.state.selectedLog === log\">\r\n <td [title]=\"getResourcePath(log)\">\r\n <atx-icon-renderer [log]=\"log\"/>\r\n <div class=\"resource-cell\">\r\n {{ getResourceName(log) }}\r\n <br>\r\n {{ getResourcePath(log) }}\r\n </div>\r\n </td>\r\n @if (!this.state.selectedLog) {\r\n <td>{{ getStatus(log) }}</td>\r\n <td>{{ getSize(log) }}</td>\r\n <td>{{ getTime(log) }}</td>\r\n }\r\n </tr>\r\n }\r\n }\r\n </tbody>\r\n</table>", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}#request-list{-webkit-user-select:none;user-select:none;width:100%}#request-list tbody tr td:first-of-type{display:flex;gap:6px}#request-list .name-header{display:flex;align-items:center}#request-list thead{position:sticky;top:0}#request-list .resource-cell{max-height:36px;overflow:hidden}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
5594
5588
  }], ctorParameters: () => [{ type: AtxMonitoringConsoleState }, { type: AtxUserActionService }] });
@@ -7893,12 +7887,12 @@ const httpMockFactory = () => {
7893
7887
  * Displays documentation for HTTP fragment parameters, or query parameters.
7894
7888
  */
7895
7889
  class AtxMockParamComponent {
7896
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxMockParamComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7897
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxMockParamComponent, isStandalone: true, selector: "atx-mock-param", inputs: { params: "params" }, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (params) {\r\n <div class=\"atx-mock-param-container\">\r\n @for (param of params; track param) {\r\n <dl class=\"param\">\r\n <dt><code>{{ param.ref }}</code></dt>\r\n <dd [innerHTML]=\"param.description | safeHtml\"></dd>\r\n </dl>\r\n }\r\n </div>\r\n}\r\n", styles: [".param dt{font-weight:400;min-width:70px}.param dt:before{padding-right:.2em;content:\"-\"}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }] }); }
7890
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxMockParamComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7891
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AtxMockParamComponent, isStandalone: true, selector: "atx-mock-param", inputs: { params: "params" }, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (params) {\r\n <div class=\"atx-mock-param-container\">\r\n @for (param of params; track param) {\r\n <dl class=\"param\">\r\n <dt><code>{{ param.ref }}</code></dt>\r\n <dd [innerHTML]=\"param.description | safeHtml\"></dd>\r\n </dl>\r\n }\r\n </div>\r\n}\r\n", styles: [".param dt{font-weight:400;min-width:70px}.param dt:before{padding-right:.2em;content:\"-\"}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }] }); }
7898
7892
  }
7899
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxMockParamComponent, decorators: [{
7893
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxMockParamComponent, decorators: [{
7900
7894
  type: Component,
7901
- args: [{ selector: 'atx-mock-param', standalone: true, imports: [
7895
+ args: [{ selector: 'atx-mock-param', imports: [
7902
7896
  SafeHtmlPipe
7903
7897
  ], template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (params) {\r\n <div class=\"atx-mock-param-container\">\r\n @for (param of params; track param) {\r\n <dl class=\"param\">\r\n <dt><code>{{ param.ref }}</code></dt>\r\n <dd [innerHTML]=\"param.description | safeHtml\"></dd>\r\n </dl>\r\n }\r\n </div>\r\n}\r\n", styles: [".param dt{font-weight:400;min-width:70px}.param dt:before{padding-right:.2em;content:\"-\"}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
7904
7898
  }], propDecorators: { params: [{
@@ -7917,12 +7911,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
7917
7911
  * A conmponent that renders mock config description ppoperties.
7918
7912
  */
7919
7913
  class AtxMockDescriptionComponent {
7920
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxMockDescriptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7921
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: AtxMockDescriptionComponent, isStandalone: true, selector: "atx-mock-description", inputs: { description: "description" }, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<div [innerHTML]=\"description | safeHtml\"></div>\r\n", dependencies: [{ kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }] }); }
7914
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxMockDescriptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7915
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AtxMockDescriptionComponent, isStandalone: true, selector: "atx-mock-description", inputs: { description: "description" }, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<div [innerHTML]=\"description | safeHtml\"></div>\r\n", dependencies: [{ kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }] }); }
7922
7916
  }
7923
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxMockDescriptionComponent, decorators: [{
7917
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxMockDescriptionComponent, decorators: [{
7924
7918
  type: Component,
7925
- args: [{ selector: 'atx-mock-description', standalone: true, imports: [
7919
+ args: [{ selector: 'atx-mock-description', imports: [
7926
7920
  SafeHtmlPipe
7927
7921
  ], template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<div [innerHTML]=\"description | safeHtml\"></div>\r\n" }]
7928
7922
  }], propDecorators: { description: [{
@@ -7941,12 +7935,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
7941
7935
  * A convenient component that displays the description and the origin of a mock config section.
7942
7936
  */
7943
7937
  class AtxMockFullDescriptionComponent {
7944
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxMockFullDescriptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7945
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxMockFullDescriptionComponent, isStandalone: true, selector: "atx-mock-full-description", inputs: { config: "config" }, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n@if (config) {\r\n <div class=\"description\">\r\n @if (config.description) {\r\n <atx-mock-description [description]=\"config.description\"/>\r\n }\r\n @if (config.origin) {\r\n <dl>\r\n <dt>origin:</dt>\r\n <dd><a [href]=\"config.origin\" [title]=\"config.origin\"><code>{{ config.origin }}</code></a></dd>\r\n </dl>\r\n }\r\n </div>\r\n}\r\n", dependencies: [{ kind: "component", type: AtxMockDescriptionComponent, selector: "atx-mock-description", inputs: ["description"] }] }); }
7938
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxMockFullDescriptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7939
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AtxMockFullDescriptionComponent, isStandalone: true, selector: "atx-mock-full-description", inputs: { config: "config" }, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n@if (config) {\r\n <div class=\"description\">\r\n @if (config.description) {\r\n <atx-mock-description [description]=\"config.description\"/>\r\n }\r\n @if (config.origin) {\r\n <dl>\r\n <dt>origin:</dt>\r\n <dd><a [href]=\"config.origin\" [title]=\"config.origin\"><code>{{ config.origin }}</code></a></dd>\r\n </dl>\r\n }\r\n </div>\r\n}\r\n", dependencies: [{ kind: "component", type: AtxMockDescriptionComponent, selector: "atx-mock-description", inputs: ["description"] }] }); }
7946
7940
  }
7947
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxMockFullDescriptionComponent, decorators: [{
7941
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxMockFullDescriptionComponent, decorators: [{
7948
7942
  type: Component,
7949
- args: [{ selector: 'atx-mock-full-description', standalone: true, imports: [
7943
+ args: [{ selector: 'atx-mock-full-description', imports: [
7950
7944
  AtxMockDescriptionComponent
7951
7945
  ], template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n@if (config) {\r\n <div class=\"description\">\r\n @if (config.description) {\r\n <atx-mock-description [description]=\"config.description\"/>\r\n }\r\n @if (config.origin) {\r\n <dl>\r\n <dt>origin:</dt>\r\n <dd><a [href]=\"config.origin\" [title]=\"config.origin\"><code>{{ config.origin }}</code></a></dd>\r\n </dl>\r\n }\r\n </div>\r\n}\r\n" }]
7952
7946
  }], propDecorators: { config: [{
@@ -8007,12 +8001,12 @@ class AtxMockMethodsComponent {
8007
8001
  });
8008
8002
  return methods;
8009
8003
  }
8010
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxMockMethodsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8011
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxMockMethodsComponent, isStandalone: true, selector: "atx-mock-methods", inputs: { endpoint: "endpoint" }, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n@if (methods.length) {\r\n <h3>Methods</h3>\r\n <ul>\r\n @for (item of methods; track item; let last = $last) {\r\n <li>\r\n <span>{{ item.method }}</span>\r\n @if (item.descriptor) {\r\n <div class=\"method-descriptor\">\r\n @if (item.descriptor.description) {\r\n <atx-mock-description [description]=\"item.descriptor.description\"/>\r\n }\r\n @if (item.descriptor.payload) {\r\n <dl>\r\n <dt>payload:</dt>\r\n <dd [innerHTML]=\"item.descriptor.payload\"></dd>\r\n </dl>\r\n }\r\n @if (item.descriptor.body) {\r\n <dl>\r\n <dt>body:</dt>\r\n <dd [innerHTML]=\"item.descriptor.body\"></dd>\r\n </dl>\r\n }\r\n @if (item.descriptor.queryParams) {\r\n <h4>Query Parameters</h4>\r\n <atx-mock-param [params]=\"item.descriptor.queryParams\"/>\r\n }\r\n </div>\r\n \r\n }\r\n </li>\r\n @if (!last) {\r\n <hr>\r\n }\r\n }\r\n </ul>\r\n}\r\n", dependencies: [{ kind: "component", type: AtxMockParamComponent, selector: "atx-mock-param", inputs: ["params"] }, { kind: "component", type: AtxMockDescriptionComponent, selector: "atx-mock-description", inputs: ["description"] }] }); }
8004
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxMockMethodsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8005
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AtxMockMethodsComponent, isStandalone: true, selector: "atx-mock-methods", inputs: { endpoint: "endpoint" }, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n@if (methods.length) {\r\n <h3>Methods</h3>\r\n <ul>\r\n @for (item of methods; track item; let last = $last) {\r\n <li>\r\n <span>{{ item.method }}</span>\r\n @if (item.descriptor) {\r\n <div class=\"method-descriptor\">\r\n @if (item.descriptor.description) {\r\n <atx-mock-description [description]=\"item.descriptor.description\"/>\r\n }\r\n @if (item.descriptor.payload) {\r\n <dl>\r\n <dt>payload:</dt>\r\n <dd [innerHTML]=\"item.descriptor.payload\"></dd>\r\n </dl>\r\n }\r\n @if (item.descriptor.body) {\r\n <dl>\r\n <dt>body:</dt>\r\n <dd [innerHTML]=\"item.descriptor.body\"></dd>\r\n </dl>\r\n }\r\n @if (item.descriptor.queryParams) {\r\n <h4>Query Parameters</h4>\r\n <atx-mock-param [params]=\"item.descriptor.queryParams\"/>\r\n }\r\n </div>\r\n \r\n }\r\n </li>\r\n @if (!last) {\r\n <hr>\r\n }\r\n }\r\n </ul>\r\n}\r\n", dependencies: [{ kind: "component", type: AtxMockParamComponent, selector: "atx-mock-param", inputs: ["params"] }, { kind: "component", type: AtxMockDescriptionComponent, selector: "atx-mock-description", inputs: ["description"] }] }); }
8012
8006
  }
8013
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxMockMethodsComponent, decorators: [{
8007
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxMockMethodsComponent, decorators: [{
8014
8008
  type: Component,
8015
- args: [{ selector: 'atx-mock-methods', standalone: true, imports: [
8009
+ args: [{ selector: 'atx-mock-methods', imports: [
8016
8010
  AtxMockParamComponent,
8017
8011
  AtxMockDescriptionComponent
8018
8012
  ], template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n@if (methods.length) {\r\n <h3>Methods</h3>\r\n <ul>\r\n @for (item of methods; track item; let last = $last) {\r\n <li>\r\n <span>{{ item.method }}</span>\r\n @if (item.descriptor) {\r\n <div class=\"method-descriptor\">\r\n @if (item.descriptor.description) {\r\n <atx-mock-description [description]=\"item.descriptor.description\"/>\r\n }\r\n @if (item.descriptor.payload) {\r\n <dl>\r\n <dt>payload:</dt>\r\n <dd [innerHTML]=\"item.descriptor.payload\"></dd>\r\n </dl>\r\n }\r\n @if (item.descriptor.body) {\r\n <dl>\r\n <dt>body:</dt>\r\n <dd [innerHTML]=\"item.descriptor.body\"></dd>\r\n </dl>\r\n }\r\n @if (item.descriptor.queryParams) {\r\n <h4>Query Parameters</h4>\r\n <atx-mock-param [params]=\"item.descriptor.queryParams\"/>\r\n }\r\n </div>\r\n \r\n }\r\n </li>\r\n @if (!last) {\r\n <hr>\r\n }\r\n }\r\n </ul>\r\n}\r\n" }]
@@ -8073,12 +8067,12 @@ class AtxMockDocumentation {
8073
8067
  return details.forEach((elm) => elm.setAttribute(OPEN, EMPTY_STRING));
8074
8068
  details.forEach((elm) => elm.removeAttribute(OPEN));
8075
8069
  }
8076
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxMockDocumentation, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
8077
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxMockDocumentation, isStandalone: true, selector: "atx-mock-documentation", inputs: { title: "title", config: "config" }, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n@if (configApi) {\r\n <section>\r\n <h1>{{ title }}</h1>\r\n <h2>Description</h2>\r\n @if (configApi.description || configApi.origin) {\r\n <atx-mock-full-description [config]=\"configApi\"/>\r\n }\r\n </section>\r\n <section>\r\n <h2>Interceptors</h2>\r\n <button (click)=\"toggleExpandState()\">{{ expanded ? 'Collapse' : 'Expand' }} all</button>\r\n @if (configApi.interceptors) {\r\n @for (inteceptor of configApi.interceptors; track inteceptor) {\r\n <details>\r\n <summary>\r\n {{ inteceptor.id }}\r\n </summary>\r\n @if (inteceptor.description || inteceptor.origin) {\r\n <atx-mock-full-description [config]=\"inteceptor\"/>\r\n }\r\n @for (endpoint of inteceptor.endpoints; track endpoint; let last = $last) {\r\n <section class=\"endpoint\">\r\n <dl>\r\n <dt>route:</dt>\r\n <dd><code>{{ endpoint.route }}</code></dd>\r\n </dl>\r\n @if (endpoint.descriptor) {\r\n @if (endpoint.descriptor.description) {\r\n <atx-mock-description [description]=\"endpoint.descriptor.description\"/>\r\n }\r\n @if (endpoint.descriptor.params) {\r\n <h3>Parameters</h3>\r\n <atx-mock-param [params]=\"endpoint.descriptor.params\"/>\r\n }\r\n }\r\n <atx-mock-methods [endpoint]=\"endpoint\"/>\r\n </section>\r\n @if (!last) {\r\n <hr>\r\n }\r\n }\r\n </details>\r\n }\r\n }\r\n </section>\r\n}\r\n", styles: [":host,:host::ng-deep{font-family:Arial,Helvetica,sans-serif;line-height:1.5;-webkit-text-size-adjust:100%;margin:0;font-size:.95em}:host h1,:host h2,:host h3,:host h4,:host::ng-deep h1,:host::ng-deep h2,:host::ng-deep h3,:host::ng-deep h4{font-weight:700}:host h1,:host::ng-deep h1{font-size:1.5em;margin:.67em 0}:host h2,:host::ng-deep h2{font-size:1.25em}:host h3,:host::ng-deep h3{font-size:1em;text-decoration:underline}:host h4,:host::ng-deep h4{font-size:1em;margin:1em 0 0}:host hr,:host::ng-deep hr{box-sizing:content-box;height:0;overflow:visible}:host div,:host::ng-deep div{margin-top:1em;margin-bottom:1em}:host a,:host::ng-deep a{background-color:transparent}:host code,:host::ng-deep code{font-family:monospace,monospace;font-size:1.05em;color:orchid}:host button,:host::ng-deep button{font-family:inherit;font-size:.9em;line-height:1.15;margin:-45px 0 0;text-transform:none;padding:5px 10px;border:1px solid #aaa;border-radius:5px;float:right}:host details,:host::ng-deep details{display:block;border:1px solid #aaa;border-radius:4px;padding:.5em .5em 0;margin-bottom:.5em}:host summary,:host::ng-deep summary{display:list-item;font-weight:700;margin:-.5em -.5em 0;padding:.5em}:host details[open],:host::ng-deep details[open]{padding:.5em 1.5em}:host details[open] summary,:host::ng-deep details[open] summary{border-bottom:1px solid #aaa;margin-bottom:1em;padding:.5em 0}:host dl,:host::ng-deep dl{display:flex;margin:.5em 0}:host dt,:host::ng-deep dt{margin:0;font-weight:700}:host dd,:host::ng-deep dd{margin:0;margin-inline-start:10px}:host ul,:host::ng-deep ul{margin:0;padding-inline-start:40px;margin-block-start:1em;margin-block-end:1em}:host li,:host::ng-deep li{margin:0;display:flex;align-items:baseline}:host .endpoint,:host::ng-deep .endpoint{padding:.25em 1em;background-color:#eee;color:#000}:host .description,:host::ng-deep .description{margin-bottom:1em}:host span,:host::ng-deep span{text-transform:uppercase;display:inline-block;width:80px}:host .method-descriptor,:host::ng-deep .method-descriptor{line-height:.95em;margin:0}:host .method-descriptor dt,:host::ng-deep .method-descriptor dt{width:80px}:host .atx-mock-param-container,:host::ng-deep .atx-mock-param-container{padding-inline-start:40px;line-height:.95em}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxMockParamComponent, selector: "atx-mock-param", inputs: ["params"] }, { kind: "component", type: AtxMockDescriptionComponent, selector: "atx-mock-description", inputs: ["description"] }, { kind: "component", type: AtxMockFullDescriptionComponent, selector: "atx-mock-full-description", inputs: ["config"] }, { kind: "component", type: AtxMockMethodsComponent, selector: "atx-mock-methods", inputs: ["endpoint"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8070
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxMockDocumentation, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
8071
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AtxMockDocumentation, isStandalone: true, selector: "atx-mock-documentation", inputs: { title: "title", config: "config" }, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n@if (configApi) {\r\n <section>\r\n <h1>{{ title }}</h1>\r\n <h2>Description</h2>\r\n @if (configApi.description || configApi.origin) {\r\n <atx-mock-full-description [config]=\"configApi\"/>\r\n }\r\n </section>\r\n <section>\r\n <h2>Interceptors</h2>\r\n <button (click)=\"toggleExpandState()\">{{ expanded ? 'Collapse' : 'Expand' }} all</button>\r\n @if (configApi.interceptors) {\r\n @for (inteceptor of configApi.interceptors; track inteceptor) {\r\n <details>\r\n <summary>\r\n {{ inteceptor.id }}\r\n </summary>\r\n @if (inteceptor.description || inteceptor.origin) {\r\n <atx-mock-full-description [config]=\"inteceptor\"/>\r\n }\r\n @for (endpoint of inteceptor.endpoints; track endpoint; let last = $last) {\r\n <section class=\"endpoint\">\r\n <dl>\r\n <dt>route:</dt>\r\n <dd><code>{{ endpoint.route }}</code></dd>\r\n </dl>\r\n @if (endpoint.descriptor) {\r\n @if (endpoint.descriptor.description) {\r\n <atx-mock-description [description]=\"endpoint.descriptor.description\"/>\r\n }\r\n @if (endpoint.descriptor.params) {\r\n <h3>Parameters</h3>\r\n <atx-mock-param [params]=\"endpoint.descriptor.params\"/>\r\n }\r\n }\r\n <atx-mock-methods [endpoint]=\"endpoint\"/>\r\n </section>\r\n @if (!last) {\r\n <hr>\r\n }\r\n }\r\n </details>\r\n }\r\n }\r\n </section>\r\n}\r\n", styles: [":host,:host::ng-deep{font-family:Arial,Helvetica,sans-serif;line-height:1.5;-webkit-text-size-adjust:100%;margin:0;font-size:.95em}:host h1,:host h2,:host h3,:host h4,:host::ng-deep h1,:host::ng-deep h2,:host::ng-deep h3,:host::ng-deep h4{font-weight:700}:host h1,:host::ng-deep h1{font-size:1.5em;margin:.67em 0}:host h2,:host::ng-deep h2{font-size:1.25em}:host h3,:host::ng-deep h3{font-size:1em;text-decoration:underline}:host h4,:host::ng-deep h4{font-size:1em;margin:1em 0 0}:host hr,:host::ng-deep hr{box-sizing:content-box;height:0;overflow:visible}:host div,:host::ng-deep div{margin-top:1em;margin-bottom:1em}:host a,:host::ng-deep a{background-color:transparent}:host code,:host::ng-deep code{font-family:monospace,monospace;font-size:1.05em;color:orchid}:host button,:host::ng-deep button{font-family:inherit;font-size:.9em;line-height:1.15;margin:-45px 0 0;text-transform:none;padding:5px 10px;border:1px solid #aaa;border-radius:5px;float:right}:host details,:host::ng-deep details{display:block;border:1px solid #aaa;border-radius:4px;padding:.5em .5em 0;margin-bottom:.5em}:host summary,:host::ng-deep summary{display:list-item;font-weight:700;margin:-.5em -.5em 0;padding:.5em}:host details[open],:host::ng-deep details[open]{padding:.5em 1.5em}:host details[open] summary,:host::ng-deep details[open] summary{border-bottom:1px solid #aaa;margin-bottom:1em;padding:.5em 0}:host dl,:host::ng-deep dl{display:flex;margin:.5em 0}:host dt,:host::ng-deep dt{margin:0;font-weight:700}:host dd,:host::ng-deep dd{margin:0;margin-inline-start:10px}:host ul,:host::ng-deep ul{margin:0;padding-inline-start:40px;margin-block-start:1em;margin-block-end:1em}:host li,:host::ng-deep li{margin:0;display:flex;align-items:baseline}:host .endpoint,:host::ng-deep .endpoint{padding:.25em 1em;background-color:#eee;color:#000}:host .description,:host::ng-deep .description{margin-bottom:1em}:host span,:host::ng-deep span{text-transform:uppercase;display:inline-block;width:80px}:host .method-descriptor,:host::ng-deep .method-descriptor{line-height:.95em;margin:0}:host .method-descriptor dt,:host::ng-deep .method-descriptor dt{width:80px}:host .atx-mock-param-container,:host::ng-deep .atx-mock-param-container{padding-inline-start:40px;line-height:.95em}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxMockParamComponent, selector: "atx-mock-param", inputs: ["params"] }, { kind: "component", type: AtxMockDescriptionComponent, selector: "atx-mock-description", inputs: ["description"] }, { kind: "component", type: AtxMockFullDescriptionComponent, selector: "atx-mock-full-description", inputs: ["config"] }, { kind: "component", type: AtxMockMethodsComponent, selector: "atx-mock-methods", inputs: ["endpoint"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8078
8072
  }
8079
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxMockDocumentation, decorators: [{
8073
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxMockDocumentation, decorators: [{
8080
8074
  type: Component,
8081
- args: [{ selector: 'atx-mock-documentation', standalone: true, imports: [
8075
+ args: [{ selector: 'atx-mock-documentation', imports: [
8082
8076
  AtxMockParamComponent,
8083
8077
  AtxMockDescriptionComponent,
8084
8078
  AtxMockFullDescriptionComponent,
@@ -8090,6 +8084,286 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
8090
8084
  type: Input
8091
8085
  }] } });
8092
8086
 
8087
+ /**
8088
+ * @license
8089
+ * Copyright Pascal ECHEMANN. All Rights Reserved.
8090
+ *
8091
+ * Use of this source code is governed by an MIT-style license that can be
8092
+ * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
8093
+ */
8094
+ /**
8095
+ * Defines the possible values used to assign properties of type of `DialogBackdrop`.
8096
+ */
8097
+ var DialogBackdropType;
8098
+ (function (DialogBackdropType) {
8099
+ /**
8100
+ * Indicates that the dialog element is of type of "static".
8101
+ */
8102
+ DialogBackdropType["STATIC"] = "static";
8103
+ /**
8104
+ * Indicates that the dialog element is of type of "modal".
8105
+ */
8106
+ DialogBackdropType["MODAL"] = "modal";
8107
+ })(DialogBackdropType || (DialogBackdropType = {}));
8108
+ ;
8109
+
8110
+ /**
8111
+ * @license
8112
+ * Copyright Pascal ECHEMANN. All Rights Reserved.
8113
+ *
8114
+ * Use of this source code is governed by an MIT-style license that can be
8115
+ * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
8116
+ */
8117
+
8118
+ /**
8119
+ * @license
8120
+ * Copyright Pascal ECHEMANN. All Rights Reserved.
8121
+ *
8122
+ * Use of this source code is governed by an MIT-style license that can be
8123
+ * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
8124
+ */
8125
+
8126
+ /**
8127
+ * @license
8128
+ * Copyright Pascal ECHEMANN. All Rights Reserved.
8129
+ *
8130
+ * Use of this source code is governed by an MIT-style license that can be
8131
+ * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
8132
+ */
8133
+ /**
8134
+ * Event that indicates the state changes of components managed by the `DialogService` service singleton.
8135
+ */
8136
+ class DialogOutletEvent {
8137
+ /**
8138
+ * The type of event dispatched each time the dialog element is displayed.
8139
+ */
8140
+ static { this.SHOW = "show"; }
8141
+ /**
8142
+ * The type of event dispatched each time the dialog element is removed.
8143
+ */
8144
+ static { this.HIDE = "hide"; }
8145
+ /**
8146
+ * @private
8147
+ *
8148
+ * Creates a new `DialogOutletEvent` instance.
8149
+ *
8150
+ * @param state The state of the dialog element.
8151
+ * @param config The dialog element config associated with this event.
8152
+ */
8153
+ constructor(state, config = null) {
8154
+ this.state = state;
8155
+ this.config = config;
8156
+ }
8157
+ }
8158
+
8159
+ /**
8160
+ * @license
8161
+ * Copyright Pascal ECHEMANN. All Rights Reserved.
8162
+ *
8163
+ * Use of this source code is governed by an MIT-style license that can be
8164
+ * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
8165
+ */
8166
+
8167
+ /**
8168
+ * @license
8169
+ * Copyright Pascal ECHEMANN. All Rights Reserved.
8170
+ *
8171
+ * Use of this source code is governed by an MIT-style license that can be
8172
+ * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
8173
+ */
8174
+ /**
8175
+ * @private
8176
+ */
8177
+ const DEFAULT_CONFIG = {
8178
+ backdrop: DialogBackdropType.MODAL
8179
+ };
8180
+
8181
+ /**
8182
+ * @license
8183
+ * Copyright Pascal ECHEMANN. All Rights Reserved.
8184
+ *
8185
+ * Use of this source code is governed by an MIT-style license that can be
8186
+ * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
8187
+ */
8188
+ /**
8189
+ * @private
8190
+ */
8191
+ const NAME = "DialogServiceError";
8192
+ /**
8193
+ * The `DialogServiceError` class represents errors thrown by the ATX framework
8194
+ * when a dialog error occurs.
8195
+ */
8196
+ class DialogServiceError extends Error {
8197
+ /**
8198
+ * Creates a new `DialogServiceError` instance.
8199
+ *
8200
+ * @param message The `message` data property is a human-readable description of this `DialogServiceError` instance.
8201
+ */
8202
+ constructor(message) {
8203
+ super(message);
8204
+ this.name = NAME;
8205
+ }
8206
+ }
8207
+
8208
+ /**
8209
+ * @license
8210
+ * Copyright Pascal ECHEMANN. All Rights Reserved.
8211
+ *
8212
+ * Use of this source code is governed by an MIT-style license that can be
8213
+ * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
8214
+ */
8215
+ /**
8216
+ * The `DialogService` class manages injection of customs component into the
8217
+ * HTML dialog element created by the ATX framework.
8218
+ */
8219
+ class DialogService {
8220
+ constructor() {
8221
+ /**
8222
+ * Dispatches an event that indicates the state of the dialog element when a custom
8223
+ * component is added to, or remove from it.
8224
+ */
8225
+ this.dialogStateChange = new EventEmitter();
8226
+ }
8227
+ /**
8228
+ * Creates an instance of the `compRef` class, adds this instance to the HTML dialog element
8229
+ * and displays the dialog element in front of all other components in the application.
8230
+ *
8231
+ * @param compRef The class that represents the component to display as a popup element.
8232
+ * @param config The dialog element config associated with the new component instance to display.
8233
+ *
8234
+ * @returns The new `ComponentRef` which contains the component instance and the host view.
8235
+ */
8236
+ show(compRef, config = null) {
8237
+ if (!this.viewContainerRef)
8238
+ throw new DialogServiceError("DialogOutlet missing: you must add the <atx-dialog-outlet/> tag to your application before using dialog services.");
8239
+ const component = this.viewContainerRef.createComponent(compRef);
8240
+ const event = new DialogOutletEvent(DialogOutletEvent.SHOW, config);
8241
+ this.dialogStateChange.emit(event);
8242
+ return component;
8243
+ }
8244
+ /**
8245
+ * Indicates to the ATX framework to remove component instances previously created with
8246
+ * the `show()` method.
8247
+ */
8248
+ hide() {
8249
+ const event = new DialogOutletEvent(DialogOutletEvent.HIDE);
8250
+ this.dialogStateChange.emit(event);
8251
+ }
8252
+ /**
8253
+ * @private
8254
+ */
8255
+ __init__(viewContainerRef) {
8256
+ if (this.viewContainerRef !== undefined)
8257
+ return false;
8258
+ this.viewContainerRef = viewContainerRef;
8259
+ return true;
8260
+ }
8261
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
8262
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DialogService, providedIn: "root" }); }
8263
+ }
8264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DialogService, decorators: [{
8265
+ type: Injectable,
8266
+ args: [{
8267
+ providedIn: "root"
8268
+ }]
8269
+ }] });
8270
+
8271
+ /**
8272
+ * @license
8273
+ * Copyright Pascal ECHEMANN. All Rights Reserved.
8274
+ *
8275
+ * Use of this source code is governed by an MIT-style license that can be
8276
+ * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
8277
+ */
8278
+ /**
8279
+ * Acts as a placeholder that the ATX framework dynamically fills based on the component specified
8280
+ * by the dialog service `show()` method.
8281
+ */
8282
+ class DialogOutlet {
8283
+ /**
8284
+ * @private
8285
+ */
8286
+ constructor(dialogSvc) {
8287
+ this.dialogSvc = dialogSvc;
8288
+ }
8289
+ /**
8290
+ * @private
8291
+ */
8292
+ ngOnInit() {
8293
+ this.dialogSvc.__init__(this.renderer);
8294
+ this.dialogSvc.dialogStateChange.subscribe((event) => this.stateChange(event));
8295
+ }
8296
+ /**
8297
+ * @private
8298
+ */
8299
+ mouseupHandler(event) {
8300
+ if (this._config.backdrop !== DialogBackdropType.MODAL)
8301
+ return;
8302
+ const rect = this._dialog.nativeElement.getBoundingClientRect();
8303
+ const xPos = event.clientX;
8304
+ const yPos = event.clientY;
8305
+ const top = rect.top;
8306
+ const left = rect.left;
8307
+ const isDialog = (top <= yPos && yPos <= top + rect.height && left <= xPos && xPos <= left + rect.width);
8308
+ if (!isDialog)
8309
+ this.hide();
8310
+ }
8311
+ /**
8312
+ * @private
8313
+ */
8314
+ onClose(event) {
8315
+ this.renderer.clear();
8316
+ }
8317
+ /**
8318
+ * @private
8319
+ */
8320
+ stateChange(event) {
8321
+ const state = event.state;
8322
+ if (state === DialogOutletEvent.SHOW)
8323
+ return this.show(event);
8324
+ if (state === DialogOutletEvent.HIDE)
8325
+ this.hide();
8326
+ }
8327
+ /**
8328
+ * @private
8329
+ */
8330
+ show(event) {
8331
+ this._config = event.config || DEFAULT_CONFIG;
8332
+ this._dialog.nativeElement.showModal();
8333
+ }
8334
+ /**
8335
+ * @private
8336
+ */
8337
+ hide() {
8338
+ this._dialog.nativeElement.close();
8339
+ }
8340
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DialogOutlet, deps: [{ token: DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
8341
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DialogOutlet, isStandalone: true, selector: "atx-dialog-outlet", viewQueries: [{ propertyName: "_dialog", first: true, predicate: ["dialog"], descendants: true }, { propertyName: "renderer", first: true, predicate: ["renderer"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: '<dialog #dialog (mouseup)="mouseupHandler($event)" (close)="onClose($event)"><ng-container #renderer></ng-container></dialog>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8342
+ }
8343
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DialogOutlet, decorators: [{
8344
+ type: Component,
8345
+ args: [{
8346
+ selector: 'atx-dialog-outlet',
8347
+ standalone: true,
8348
+ template: '<dialog #dialog (mouseup)="mouseupHandler($event)" (close)="onClose($event)"><ng-container #renderer></ng-container></dialog>',
8349
+ changeDetection: ChangeDetectionStrategy.OnPush
8350
+ }]
8351
+ }], ctorParameters: () => [{ type: DialogService }], propDecorators: { _dialog: [{
8352
+ type: ViewChild,
8353
+ args: ["dialog"]
8354
+ }], renderer: [{
8355
+ type: ViewChild,
8356
+ args: ["renderer", { static: true, read: ViewContainerRef }]
8357
+ }] } });
8358
+
8359
+ /**
8360
+ * @license
8361
+ * Copyright Pascal ECHEMANN. All Rights Reserved.
8362
+ *
8363
+ * Use of this source code is governed by an MIT-style license that can be
8364
+ * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
8365
+ */
8366
+
8093
8367
  /**
8094
8368
  * @license
8095
8369
  * Copyright Pascal ECHEMANN. All Rights Reserved.
@@ -8247,10 +8521,10 @@ class AtxLogIoService {
8247
8521
  reader.onload = null;
8248
8522
  reader.onerror = null;
8249
8523
  }
8250
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxLogIoService, deps: [{ token: HttpMockLoggingService }], target: i0.ɵɵFactoryTarget.Injectable }); }
8251
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxLogIoService }); }
8524
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxLogIoService, deps: [{ token: HttpMockLoggingService }], target: i0.ɵɵFactoryTarget.Injectable }); }
8525
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxLogIoService }); }
8252
8526
  }
8253
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxLogIoService, decorators: [{
8527
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxLogIoService, decorators: [{
8254
8528
  type: Injectable
8255
8529
  }], ctorParameters: () => [{ type: HttpMockLoggingService }] });
8256
8530
 
@@ -8391,10 +8665,10 @@ class AtxMonitoringConsoleController extends IdentifiableComponent {
8391
8665
  break;
8392
8666
  }
8393
8667
  }
8394
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxMonitoringConsoleController, deps: [{ token: HttpMockLoggingService }, { token: AtxMonitoringConsoleState }, { token: AtxLogIoService }, { token: SubscriptionService }, { token: AtxUserActionService }], target: i0.ɵɵFactoryTarget.Injectable }); }
8395
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxMonitoringConsoleController }); }
8668
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxMonitoringConsoleController, deps: [{ token: HttpMockLoggingService }, { token: AtxMonitoringConsoleState }, { token: AtxLogIoService }, { token: SubscriptionService }, { token: AtxUserActionService }], target: i0.ɵɵFactoryTarget.Injectable }); }
8669
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxMonitoringConsoleController }); }
8396
8670
  }
8397
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxMonitoringConsoleController, decorators: [{
8671
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxMonitoringConsoleController, decorators: [{
8398
8672
  type: Injectable
8399
8673
  }], ctorParameters: () => [{ type: HttpMockLoggingService }, { type: AtxMonitoringConsoleState }, { type: AtxLogIoService }, { type: SubscriptionService }, { type: AtxUserActionService }] });
8400
8674
 
@@ -8421,21 +8695,20 @@ class AtxMonitoringConsoleComponent {
8421
8695
  this._io = _io;
8422
8696
  this._input = _input;
8423
8697
  }
8424
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxMonitoringConsoleComponent, deps: [{ token: AtxMonitoringConsoleState }, { token: AtxMonitoringConsoleController }, { token: AtxLogIoService }, { token: AtxUserActionService }], target: i0.ɵɵFactoryTarget.Component }); }
8425
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxMonitoringConsoleComponent, isStandalone: true, selector: "atx-http-monitoring-console", providers: [
8698
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxMonitoringConsoleComponent, deps: [{ token: AtxMonitoringConsoleState }, { token: AtxMonitoringConsoleController }, { token: AtxLogIoService }, { token: AtxUserActionService }], target: i0.ɵɵFactoryTarget.Component }); }
8699
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AtxMonitoringConsoleComponent, isStandalone: true, selector: "atx-http-monitoring-console", providers: [
8426
8700
  AtxMonitoringConsoleState,
8427
8701
  AtxLogIoService,
8428
8702
  AtxMonitoringConsoleController,
8429
8703
  AtxUserActionService
8430
8704
  ], ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<atx-console-menu/>\r\n<div id=\"log-list-vieport\">\r\n <div class=\"request-list-wrapper\" [class.reduced-request-list]=\"state.selectedLog\">\r\n <atx-request-list-renderer />\r\n </div>\r\n @if (state.selectedLog) {\r\n <div id=\"selected-log-viewport\">\r\n <atx-monitoring-console-details [log]=\"state.selectedLog\"/>\r\n </div>\r\n }\r\n</div>\r\n<atx-console-footer/>\r\n\r\n<svg id=\"icon-collection\">\r\n <symbol id=\"json-icon\" viewBox=\"0 0 16 16\">\r\n <path d=\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5z\"/>\r\n <path d=\"M8.646 6.646a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 9 8.646 7.354a.5.5 0 0 1 0-.708m-1.292 0a.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L5.707 9l1.647-1.646a.5.5 0 0 0 0-.708\"/>\r\n </symbol>\r\n <symbol id=\"bin-icon\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M5.526 13.09c.976 0 1.524-.79 1.524-2.205 0-1.412-.548-2.203-1.524-2.203-.978 0-1.526.79-1.526 2.203 0 1.415.548 2.206 1.526 2.206zm-.832-2.205c0-1.05.29-1.612.832-1.612.358 0 .607.247.733.721L4.7 11.137a7 7 0 0 1-.006-.252m.832 1.614c-.36 0-.606-.246-.732-.718l1.556-1.145q.005.12.005.249c0 1.052-.29 1.614-.829 1.614m5.329.501v-.595H9.73V8.772h-.69l-1.19.786v.688L8.986 9.5h.05v2.906h-1.18V13h3z\"/>\r\n <path d=\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1\"/>\r\n </symbol>\r\n <symbol id=\"text-icon\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M10.943 6H5.057L5 8h.5c.18-1.096.356-1.192 1.694-1.235l.293-.01v5.09c0 .47-.1.582-.898.655v.5H9.41v-.5c-.803-.073-.903-.184-.903-.654V6.755l.298.01c1.338.043 1.514.14 1.694 1.235h.5l-.057-2z\"/>\r\n <path d=\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5z\"/>\r\n </symbol>\r\n <symbol id=\"empty-icon\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5z\"/>\r\n </symbol>\r\n <symbol id=\"blob-icon\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M8.002 5.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0\"/>\r\n <path d=\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2M3 2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v8l-2.083-2.083a.5.5 0 0 0-.76.063L8 11 5.835 9.7a.5.5 0 0 0-.611.076L3 12z\"/>\r\n </symbol>\r\n</svg>", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}:host{position:relative;padding:0;margin:0;overflow:hidden}#log-list-vieport{position:absolute;display:flex;flex-direction:row;gap:6px;padding:6px;inset:36px 0 33px}#icon-collection{visibility:hidden;width:0;height:0}.request-list-wrapper{height:100%;flex-grow:1;overflow:hidden auto;border:1px solid var(--border-color)}.reduced-request-list{min-width:250px}#selected-log-viewport{height:100%;width:80%}atx-console-footer{position:absolute;width:100%;bottom:0}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxRequestDetailsComponent, selector: "atx-monitoring-console-details", inputs: ["log"] }, { kind: "component", type: AtxConsoleFooterComponent, selector: "atx-console-footer" }, { kind: "component", type: AtxConsoleMenuComponent, selector: "atx-console-menu" }, { kind: "component", type: AtxRequestListRendererComponent, selector: "atx-request-list-renderer" }], encapsulation: i0.ViewEncapsulation.ShadowDom }); }
8431
8705
  }
8432
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxMonitoringConsoleComponent, decorators: [{
8706
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxMonitoringConsoleComponent, decorators: [{
8433
8707
  type: Component,
8434
- args: [{ selector: 'atx-http-monitoring-console', standalone: true, imports: [
8708
+ args: [{ selector: 'atx-http-monitoring-console', imports: [
8435
8709
  AtxRequestDetailsComponent,
8436
8710
  AtxConsoleFooterComponent,
8437
8711
  AtxConsoleMenuComponent,
8438
- AtxIconRendererComponent,
8439
8712
  AtxRequestListRendererComponent
8440
8713
  ], providers: [
8441
8714
  AtxMonitoringConsoleState,
@@ -8522,10 +8795,10 @@ class AtxHttpMockConsoleService {
8522
8795
  ngOnDestroy() {
8523
8796
  this.close();
8524
8797
  }
8525
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxHttpMockConsoleService, deps: [{ token: WindowService }], target: i0.ɵɵFactoryTarget.Injectable }); }
8526
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxHttpMockConsoleService, providedIn: 'root' }); }
8798
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxHttpMockConsoleService, deps: [{ token: WindowService }], target: i0.ɵɵFactoryTarget.Injectable }); }
8799
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxHttpMockConsoleService, providedIn: 'root' }); }
8527
8800
  }
8528
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxHttpMockConsoleService, decorators: [{
8801
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AtxHttpMockConsoleService, decorators: [{
8529
8802
  type: Injectable,
8530
8803
  args: [{
8531
8804
  providedIn: 'root'
@@ -8554,10 +8827,10 @@ class LoggerService extends AbstractLogger {
8554
8827
  this.setLogConnector(connector);
8555
8828
  }
8556
8829
  }
8557
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: LoggerService, deps: [{ token: ATX_LOGGER_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
8558
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: LoggerService, providedIn: 'root' }); }
8830
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LoggerService, deps: [{ token: ATX_LOGGER_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
8831
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LoggerService, providedIn: 'root' }); }
8559
8832
  }
8560
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: LoggerService, decorators: [{
8833
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LoggerService, decorators: [{
8561
8834
  type: Injectable,
8562
8835
  args: [{
8563
8836
  providedIn: 'root'
@@ -8674,10 +8947,10 @@ class DropdownComponent extends IdentifiableComponent {
8674
8947
  buildEvent(event, type) {
8675
8948
  return new DropdownEvent(this, type, event.newState, event.oldState);
8676
8949
  }
8677
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8678
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: DropdownComponent, isStandalone: true, selector: "atx-dropdown", inputs: { buttonClass: "buttonClass", containerClass: "containerClass", vPos: "vPos", hPos: "hPos", popoverState: "popoverState", disabled: "disabled" }, outputs: { toggle: "toggle", beforeToggle: "beforeToggle" }, viewQueries: [{ propertyName: "_popover", first: true, predicate: ["popover"], descendants: true }, { propertyName: "_button", first: true, predicate: ["button"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n<div class=\"atx-dropdown-container\" [class]=\"containerClass\">\r\n <button #button [class]=\"buttonClass\" [attr.popovertarget]=\"id\">\r\n <ng-content></ng-content>\r\n </button>\r\n <div #popover [attr.popover]=\"popoverState\" [attr.id]=\"id\" (toggle)=\"onToggle($event)\" (beforetoggle)=\"onBeforeToggle($event)\"></div>\r\n <div class=\"atx-dropdown-popover\"\r\n [class.atx-dropdown-v-start]=\"vPos === 'start'\"\r\n [class.atx-dropdown-top]=\"vPos === 'top'\"\r\n [class.atx-dropdown-middle]=\"vPos === 'middle'\"\r\n [class.atx-dropdown-bottom]=\"vPos === 'bottom'\"\r\n [class.atx-dropdown-v-end]=\"vPos === 'end'\"\r\n [class.atx-dropdown-h-start]=\"hPos === 'start'\"\r\n [class.atx-dropdown-left]=\"hPos === 'left'\"\r\n [class.atx-dropdown-center]=\"hPos === 'center'\"\r\n [class.atx-dropdown-right]=\"hPos === 'right'\"\r\n [class.atx-dropdown-h-end]=\"hPos === 'end'\"\r\n [class.atx-dropdown-centered]=\"hPos === 'center' && vPos === 'middle'\">\r\n <ng-content select=\"[content]\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".atx-dropdown-container{position:relative}[popover]:popover-open{inset:unset;border:none;background:none;margin:0;padding:0}[popover]:popover-open+.atx-dropdown-popover{display:block}.atx-dropdown-popover{display:none;position:absolute;left:0;margin:0;padding:0;z-index:100;height:auto;width:max-content}.atx-dropdown-v-start{bottom:unset;top:0}.atx-dropdown-top{bottom:calc(100% + var(--atx-dropdown-gutter, 2px));top:unset}.atx-dropdown-middle{bottom:unset;top:50%;transform:translateY(-50%)}.atx-dropdown-bottom{bottom:unset;top:calc(100% + var(--atx-dropdown-gutter, 2px))}.atx-dropdown-v-end{bottom:0;top:unset}.atx-dropdown-h-start{right:calc(100% + var(--atx-dropdown-gutter, 2px));left:unset}.atx-dropdown-left{left:0;right:unset}.atx-dropdown-center{left:50%;transform:translate(-50%);right:unset}.atx-dropdown-right{right:0;left:unset}.atx-dropdown-h-end{right:unset;left:calc(100% + var(--atx-dropdown-gutter, 2px))}.atx-dropdown-centered{transform:translate(-50%,-50%)}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }); }
8950
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8951
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DropdownComponent, isStandalone: true, selector: "atx-dropdown", inputs: { buttonClass: "buttonClass", containerClass: "containerClass", vPos: "vPos", hPos: "hPos", popoverState: "popoverState", disabled: "disabled" }, outputs: { toggle: "toggle", beforeToggle: "beforeToggle" }, viewQueries: [{ propertyName: "_popover", first: true, predicate: ["popover"], descendants: true }, { propertyName: "_button", first: true, predicate: ["button"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n<div class=\"atx-dropdown-container\" [class]=\"containerClass\">\r\n <button #button [class]=\"buttonClass\" [attr.popovertarget]=\"id\">\r\n <ng-content></ng-content>\r\n </button>\r\n <div #popover [attr.popover]=\"popoverState\" [attr.id]=\"id\" (toggle)=\"onToggle($event)\" (beforetoggle)=\"onBeforeToggle($event)\"></div>\r\n <div class=\"atx-dropdown-popover\"\r\n [class.atx-dropdown-v-start]=\"vPos === 'start'\"\r\n [class.atx-dropdown-top]=\"vPos === 'top'\"\r\n [class.atx-dropdown-middle]=\"vPos === 'middle'\"\r\n [class.atx-dropdown-bottom]=\"vPos === 'bottom'\"\r\n [class.atx-dropdown-v-end]=\"vPos === 'end'\"\r\n [class.atx-dropdown-h-start]=\"hPos === 'start'\"\r\n [class.atx-dropdown-left]=\"hPos === 'left'\"\r\n [class.atx-dropdown-center]=\"hPos === 'center'\"\r\n [class.atx-dropdown-right]=\"hPos === 'right'\"\r\n [class.atx-dropdown-h-end]=\"hPos === 'end'\"\r\n [class.atx-dropdown-centered]=\"hPos === 'center' && vPos === 'middle'\">\r\n <ng-content select=\"[content]\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".atx-dropdown-container{position:relative}[popover]:popover-open{inset:unset;border:none;background:none;margin:0;padding:0}[popover]:popover-open+.atx-dropdown-popover{display:block}.atx-dropdown-popover{display:none;position:absolute;left:0;margin:0;padding:0;z-index:100;height:auto;width:max-content}.atx-dropdown-v-start{bottom:unset;top:0}.atx-dropdown-top{bottom:calc(100% + var(--atx-dropdown-gutter, 2px));top:unset}.atx-dropdown-middle{bottom:unset;top:50%;transform:translateY(-50%)}.atx-dropdown-bottom{bottom:unset;top:calc(100% + var(--atx-dropdown-gutter, 2px))}.atx-dropdown-v-end{bottom:0;top:unset}.atx-dropdown-h-start{right:calc(100% + var(--atx-dropdown-gutter, 2px));left:unset}.atx-dropdown-left{left:0;right:unset}.atx-dropdown-center{left:50%;transform:translate(-50%);right:unset}.atx-dropdown-right{right:0;left:unset}.atx-dropdown-h-end{right:unset;left:calc(100% + var(--atx-dropdown-gutter, 2px))}.atx-dropdown-centered{transform:translate(-50%,-50%)}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }); }
8679
8952
  }
8680
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: DropdownComponent, decorators: [{
8953
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DropdownComponent, decorators: [{
8681
8954
  type: Component,
8682
8955
  args: [{ selector: 'atx-dropdown', standalone: true, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n<div class=\"atx-dropdown-container\" [class]=\"containerClass\">\r\n <button #button [class]=\"buttonClass\" [attr.popovertarget]=\"id\">\r\n <ng-content></ng-content>\r\n </button>\r\n <div #popover [attr.popover]=\"popoverState\" [attr.id]=\"id\" (toggle)=\"onToggle($event)\" (beforetoggle)=\"onBeforeToggle($event)\"></div>\r\n <div class=\"atx-dropdown-popover\"\r\n [class.atx-dropdown-v-start]=\"vPos === 'start'\"\r\n [class.atx-dropdown-top]=\"vPos === 'top'\"\r\n [class.atx-dropdown-middle]=\"vPos === 'middle'\"\r\n [class.atx-dropdown-bottom]=\"vPos === 'bottom'\"\r\n [class.atx-dropdown-v-end]=\"vPos === 'end'\"\r\n [class.atx-dropdown-h-start]=\"hPos === 'start'\"\r\n [class.atx-dropdown-left]=\"hPos === 'left'\"\r\n [class.atx-dropdown-center]=\"hPos === 'center'\"\r\n [class.atx-dropdown-right]=\"hPos === 'right'\"\r\n [class.atx-dropdown-h-end]=\"hPos === 'end'\"\r\n [class.atx-dropdown-centered]=\"hPos === 'center' && vPos === 'middle'\">\r\n <ng-content select=\"[content]\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".atx-dropdown-container{position:relative}[popover]:popover-open{inset:unset;border:none;background:none;margin:0;padding:0}[popover]:popover-open+.atx-dropdown-popover{display:block}.atx-dropdown-popover{display:none;position:absolute;left:0;margin:0;padding:0;z-index:100;height:auto;width:max-content}.atx-dropdown-v-start{bottom:unset;top:0}.atx-dropdown-top{bottom:calc(100% + var(--atx-dropdown-gutter, 2px));top:unset}.atx-dropdown-middle{bottom:unset;top:50%;transform:translateY(-50%)}.atx-dropdown-bottom{bottom:unset;top:calc(100% + var(--atx-dropdown-gutter, 2px))}.atx-dropdown-v-end{bottom:0;top:unset}.atx-dropdown-h-start{right:calc(100% + var(--atx-dropdown-gutter, 2px));left:unset}.atx-dropdown-left{left:0;right:unset}.atx-dropdown-center{left:50%;transform:translate(-50%);right:unset}.atx-dropdown-right{right:0;left:unset}.atx-dropdown-h-end{right:unset;left:calc(100% + var(--atx-dropdown-gutter, 2px))}.atx-dropdown-centered{transform:translate(-50%,-50%)}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
8683
8956
  }], ctorParameters: () => [], propDecorators: { toggle: [{
@@ -8833,10 +9106,10 @@ class BorderLayoutContainer {
8833
9106
  return;
8834
9107
  this.resizable = true;
8835
9108
  }
8836
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: BorderLayoutContainer, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
8837
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: BorderLayoutContainer, isStandalone: true, selector: "atx-border-layout-container", inputs: { constraints: "constraints" }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<!--\n * LICENSE\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n-->\n\n<ng-content></ng-content>\n@if (resizable) {\n <div class=\"atx-handle\" [class.atx-handle-selected]=\"selected\" (mousedown)=\"resizetart()\"></div>\n}\n", styles: [":host{box-sizing:border-box;padding:0;margin:0}:host.north{position:absolute;z-index:10;top:0;left:0;right:0}:host.north>.atx-handle{left:0;right:0;bottom:0;height:4px;cursor:ns-resize}:host.west{position:absolute;z-index:5;left:0;height:unset!important}:host.west>.atx-handle{right:0;bottom:0;top:0;width:4px;cursor:ew-resize}:host.east{position:absolute;z-index:5;right:0;height:unset!important}:host.east>.atx-handle{left:0;bottom:0;top:0;width:4px;cursor:ew-resize}:host.south{position:absolute;z-index:10;bottom:0;left:0;right:0}:host.south>.atx-handle{left:0;right:0;top:0;height:4px;cursor:ns-resize}:host.center{position:absolute}.atx-handle{position:absolute}.atx-handle:hover,.atx-handle.atx-handle-selected{background-color:var(--atx-handle-color, #469afa)}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }); }
9109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: BorderLayoutContainer, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
9110
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: BorderLayoutContainer, isStandalone: true, selector: "atx-border-layout-container", inputs: { constraints: "constraints" }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<!--\n * LICENSE\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n-->\n\n<ng-content></ng-content>\n@if (resizable) {\n <div class=\"atx-handle\" [class.atx-handle-selected]=\"selected\" (mousedown)=\"resizetart()\"></div>\n}\n", styles: [":host{box-sizing:border-box;padding:0;margin:0}:host.north{position:absolute;z-index:10;top:0;left:0;right:0}:host.north>.atx-handle{left:0;right:0;bottom:0;height:4px;cursor:ns-resize}:host.west{position:absolute;z-index:5;left:0;height:unset!important}:host.west>.atx-handle{right:0;bottom:0;top:0;width:4px;cursor:ew-resize}:host.east{position:absolute;z-index:5;right:0;height:unset!important}:host.east>.atx-handle{left:0;bottom:0;top:0;width:4px;cursor:ew-resize}:host.south{position:absolute;z-index:10;bottom:0;left:0;right:0}:host.south>.atx-handle{left:0;right:0;top:0;height:4px;cursor:ns-resize}:host.center{position:absolute}.atx-handle{position:absolute}.atx-handle:hover,.atx-handle.atx-handle-selected{background-color:var(--atx-handle-color, #469afa)}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }); }
8838
9111
  }
8839
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: BorderLayoutContainer, decorators: [{
9112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: BorderLayoutContainer, decorators: [{
8840
9113
  type: Component,
8841
9114
  args: [{ selector: 'atx-border-layout-container', standalone: true, template: "<!--\n * LICENSE\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n-->\n\n<ng-content></ng-content>\n@if (resizable) {\n <div class=\"atx-handle\" [class.atx-handle-selected]=\"selected\" (mousedown)=\"resizetart()\"></div>\n}\n", styles: [":host{box-sizing:border-box;padding:0;margin:0}:host.north{position:absolute;z-index:10;top:0;left:0;right:0}:host.north>.atx-handle{left:0;right:0;bottom:0;height:4px;cursor:ns-resize}:host.west{position:absolute;z-index:5;left:0;height:unset!important}:host.west>.atx-handle{right:0;bottom:0;top:0;width:4px;cursor:ew-resize}:host.east{position:absolute;z-index:5;right:0;height:unset!important}:host.east>.atx-handle{left:0;bottom:0;top:0;width:4px;cursor:ew-resize}:host.south{position:absolute;z-index:10;bottom:0;left:0;right:0}:host.south>.atx-handle{left:0;right:0;top:0;height:4px;cursor:ns-resize}:host.center{position:absolute}.atx-handle{position:absolute}.atx-handle:hover,.atx-handle.atx-handle-selected{background-color:var(--atx-handle-color, #469afa)}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
8842
9115
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { class: [{
@@ -9433,10 +9706,10 @@ class BorderLayout extends IdentifiableComponent {
9433
9706
  getBorderLayoutContainer(region) {
9434
9707
  return this.renderer.getBorderLayoutContainer(region);
9435
9708
  }
9436
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: BorderLayout, deps: [{ token: SubscriptionService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
9437
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: BorderLayout, isStandalone: true, selector: "atx-border-layout", outputs: { dragStart: "dragStart", dragStop: "dragStop", dragging: "dragging" }, host: { listeners: { "window:resize": "onResize()" } }, queries: [{ propertyName: "__containers__", predicate: BorderLayoutContainer }], viewQueries: [{ propertyName: "layoutContainer", first: true, predicate: ["atxLayoutContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!--\n * LICENSE\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n-->\n\n<div #atxLayoutContainer class=\"atx-border-layout\">\n <ng-content></ng-content>\n</div>", styles: [".atx-border-layout{position:relative;height:100%;width:100%;-webkit-user-select:none;user-select:none;overflow:hidden}.atx-border-layout{box-sizing:border-box}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }); }
9709
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: BorderLayout, deps: [{ token: SubscriptionService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
9710
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: BorderLayout, isStandalone: true, selector: "atx-border-layout", outputs: { dragStart: "dragStart", dragStop: "dragStop", dragging: "dragging" }, host: { listeners: { "window:resize": "onResize()" } }, queries: [{ propertyName: "__containers__", predicate: BorderLayoutContainer }], viewQueries: [{ propertyName: "layoutContainer", first: true, predicate: ["atxLayoutContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!--\n * LICENSE\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n-->\n\n<div #atxLayoutContainer class=\"atx-border-layout\">\n <ng-content></ng-content>\n</div>", styles: [".atx-border-layout{position:relative;height:100%;width:100%;-webkit-user-select:none;user-select:none;overflow:hidden}.atx-border-layout{box-sizing:border-box}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }); }
9438
9711
  }
9439
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: BorderLayout, decorators: [{
9712
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: BorderLayout, decorators: [{
9440
9713
  type: Component,
9441
9714
  args: [{ selector: 'atx-border-layout', standalone: true, template: "<!--\n * LICENSE\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n-->\n\n<div #atxLayoutContainer class=\"atx-border-layout\">\n <ng-content></ng-content>\n</div>", styles: [".atx-border-layout{position:relative;height:100%;width:100%;-webkit-user-select:none;user-select:none;overflow:hidden}.atx-border-layout{box-sizing:border-box}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
9442
9715
  }], ctorParameters: () => [{ type: SubscriptionService }, { type: Document, decorators: [{
@@ -9560,12 +9833,12 @@ class ButtonRoleDirective extends NavigationDirectiveBase {
9560
9833
  this.elmRef.nativeElement.blur();
9561
9834
  this.enter.emit(value);
9562
9835
  }
9563
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ButtonRoleDirective, deps: [{ token: i0.ElementRef }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Directive }); }
9564
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: ButtonRoleDirective, isStandalone: true, selector: "[buttonRole]", inputs: { delegateClick: "delegateClick" }, outputs: { enter: "enter" }, host: { listeners: { "keyup": "onKeyup($event,$event.target.value)", "click": "onClick($event,$event.target.value)" } }, providers: [
9836
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ButtonRoleDirective, deps: [{ token: i0.ElementRef }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Directive }); }
9837
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ButtonRoleDirective, isStandalone: true, selector: "[buttonRole]", inputs: { delegateClick: "delegateClick" }, outputs: { enter: "enter" }, host: { listeners: { "keyup": "onKeyup($event,$event.target.value)", "click": "onClick($event,$event.target.value)" } }, providers: [
9565
9838
  RouterModule
9566
9839
  ], usesInheritance: true, ngImport: i0 }); }
9567
9840
  }
9568
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ButtonRoleDirective, decorators: [{
9841
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ButtonRoleDirective, decorators: [{
9569
9842
  type: Directive,
9570
9843
  args: [{
9571
9844
  selector: '[buttonRole]',
@@ -9613,10 +9886,10 @@ class NavigateToUrlDirective extends NavigationDirectiveBase {
9613
9886
  super(elmRef, LINK_ROLE);
9614
9887
  this._document = _document;
9615
9888
  }
9616
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NavigateToUrlDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
9617
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: NavigateToUrlDirective, isStandalone: true, selector: "[navigateToUrl]", inputs: { href: "href" }, host: { listeners: { "click": "onClick()" } }, usesInheritance: true, ngImport: i0 }); }
9889
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NavigateToUrlDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
9890
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: NavigateToUrlDirective, isStandalone: true, selector: "[navigateToUrl]", inputs: { href: "href" }, host: { listeners: { "click": "onClick()" } }, usesInheritance: true, ngImport: i0 }); }
9618
9891
  }
9619
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NavigateToUrlDirective, decorators: [{
9892
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NavigateToUrlDirective, decorators: [{
9620
9893
  type: Directive,
9621
9894
  args: [{
9622
9895
  selector: '[navigateToUrl]',
@@ -9668,10 +9941,10 @@ class AnchorLinklDirective extends NavigationDirectiveBase {
9668
9941
  if (!HREF)
9669
9942
  throw new ReferenceError("href attribute is not defined.");
9670
9943
  }
9671
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AnchorLinklDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Directive }); }
9672
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: AnchorLinklDirective, isStandalone: true, selector: "[anchorLink]", inputs: { href: "href" }, host: { listeners: { "click": "onClick($event)" } }, usesInheritance: true, ngImport: i0 }); }
9944
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AnchorLinklDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Directive }); }
9945
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: AnchorLinklDirective, isStandalone: true, selector: "[anchorLink]", inputs: { href: "href" }, host: { listeners: { "click": "onClick($event)" } }, usesInheritance: true, ngImport: i0 }); }
9673
9946
  }
9674
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AnchorLinklDirective, decorators: [{
9947
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AnchorLinklDirective, decorators: [{
9675
9948
  type: Directive,
9676
9949
  args: [{
9677
9950
  selector: '[anchorLink]',
@@ -9733,10 +10006,10 @@ class ContentRendererDirective {
9733
10006
  ngOnInit() {
9734
10007
  this._observer.observe(this._elmRef.nativeElement, { attributes: false, childList: true, characterData: false });
9735
10008
  }
9736
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ContentRendererDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
9737
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: ContentRendererDirective, isStandalone: true, selector: "[contentRenderer]", outputs: { rendered: "rendered" }, ngImport: i0 }); }
10009
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ContentRendererDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
10010
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ContentRendererDirective, isStandalone: true, selector: "[contentRenderer]", outputs: { rendered: "rendered" }, ngImport: i0 }); }
9738
10011
  }
9739
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ContentRendererDirective, decorators: [{
10012
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ContentRendererDirective, decorators: [{
9740
10013
  type: Directive,
9741
10014
  args: [{
9742
10015
  selector: '[contentRenderer]',
@@ -9761,5 +10034,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
9761
10034
  * Generated bundle index. Do not edit.
9762
10035
  */
9763
10036
 
9764
- export { APP_PRIDGE_REF, ATX_LOGGER_CONFIG, AbstractLogger, AbstractSubscriptionManager, AbstractVersionManager, AbstractWindowService, AnchorLinklDirective, AngularToolboxLogoComponent, AngularToolboxModule, AngularToolboxVersionService, AppBridgeError, AppBridgeService, ArrayList, ArrayListEvent, ArrayListEventType, AtxHttpMockConsoleService, AtxMockDocumentation, AtxMonitoringConsoleComponent, BIGINT, BOOLEAN, BUTTON_ROLE, BorderLayout, BorderLayoutContainer, ButtonRoleDirective, CSS_PROP, ConsoleLogConnector, ContentRendererDirective, DARK_MODE_CONFIG, DEFAULT_LOG_CONNECTOR, DarkModeService, DefaultLogConnector, DropdownComponent, DropdownEvent, DropdownEventType, EMPTY_STRING, FEATURES, FUNCTION, FetchClient, FetchClientBuilder, FetchClientResponseType, HTTP_MOCKING_FRAMEWORK_CONFIG, HTTP_MOCK_MAX_DELAY, HTTP_MOCK_SERVICE, HtmlLogConnector, HttpHeadersMockBuilder, HttpMock, HttpMockLoggingService, HttpMockProductionPolicy, HttpMockService, HttpMockServiceError, HttpResponseMockBuilder, HttpStatusText, HttpStatusTextFinder, IdentifiableComponent, IntegrityError, LINK_ROLE, LOG_CONFIG_STRING, LOG_ERROR_STRING, LOG_INFO_STRING, LOG_WARNING_STRING, LayoutDragEvent, LayoutDragEventType, LayoutRegion, LayoutRegionError, LogBuilder, LogImpl, LogLevel, LogUtil, LoggerService, NUMBER, NavigateToUrlDirective, OBJECT, STORAGE_KEY, STRING, SYMBOL, SafeHtmlPipe, ScrollService, SubscriptionError, SubscriptionService, UNDEFINED, Uuid, VERSION_CONFIG, VersionService, VersionUtil, WindowFeatureState, WindowService, WindowTarget, httpHeadersMock, httpMockFactory, httpResponseMock };
10037
+ export { APP_PRIDGE_REF, ATX_LOGGER_CONFIG, AbstractLogger, AbstractSubscriptionManager, AbstractVersionManager, AbstractWindowService, AnchorLinklDirective, AngularToolboxLogoComponent, AngularToolboxModule, AngularToolboxVersionService, AppBridgeError, AppBridgeService, ArrayList, ArrayListEvent, ArrayListEventType, AtxHttpMockConsoleService, AtxMockDocumentation, AtxMonitoringConsoleComponent, BIGINT, BOOLEAN, BUTTON_ROLE, BorderLayout, BorderLayoutContainer, ButtonRoleDirective, CSS_PROP, ConsoleLogConnector, ContentRendererDirective, DARK_MODE_CONFIG, DEFAULT_LOG_CONNECTOR, DarkModeService, DefaultLogConnector, DialogBackdropType, DialogOutlet, DialogOutletEvent, DialogService, DialogServiceError, DropdownComponent, DropdownEvent, DropdownEventType, EMPTY_STRING, FEATURES, FUNCTION, FetchClient, FetchClientBuilder, FetchClientResponseType, HTTP_MOCKING_FRAMEWORK_CONFIG, HTTP_MOCK_MAX_DELAY, HTTP_MOCK_SERVICE, HtmlLogConnector, HttpHeadersMockBuilder, HttpMock, HttpMockLoggingService, HttpMockProductionPolicy, HttpMockService, HttpMockServiceError, HttpResponseMockBuilder, HttpStatusText, HttpStatusTextFinder, IdentifiableComponent, IntegrityError, LINK_ROLE, LOG_CONFIG_STRING, LOG_ERROR_STRING, LOG_INFO_STRING, LOG_WARNING_STRING, LayoutDragEvent, LayoutDragEventType, LayoutRegion, LayoutRegionError, LogBuilder, LogImpl, LogLevel, LogUtil, LoggerService, NUMBER, NavigateToUrlDirective, OBJECT, STORAGE_KEY, STRING, SYMBOL, SafeHtmlPipe, ScrollService, SubscriptionError, SubscriptionService, UNDEFINED, Uuid, VERSION_CONFIG, VersionService, VersionUtil, WindowFeatureState, WindowService, WindowTarget, httpHeadersMock, httpMockFactory, httpResponseMock };
9765
10038
  //# sourceMappingURL=angular-toolbox.mjs.map