@api-client/ui 0.0.4 → 0.0.7

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 (756) hide show
  1. package/demo/elements/http/http-assertions.html +3 -0
  2. package/demo/elements/http/http-assertions.ts +1 -1
  3. package/demo/elements/http/http-flows.html +23 -0
  4. package/demo/elements/http/http-flows.ts +92 -0
  5. package/demo/elements/http/index.html +3 -0
  6. package/demo/pages/http-project/main.ts +5 -6
  7. package/dist/amf/lib/AmfParameters.js +0 -4
  8. package/dist/amf/lib/AmfParameters.js.map +1 -1
  9. package/dist/amf/lib/navigation-layout/EndpointsTree.js +0 -2
  10. package/dist/amf/lib/navigation-layout/EndpointsTree.js.map +1 -1
  11. package/dist/amf/lib/navigation-layout/NaturalTree.js +0 -2
  12. package/dist/amf/lib/navigation-layout/NaturalTree.js.map +1 -1
  13. package/dist/amf/store/AmfGraphStore.js +0 -2
  14. package/dist/amf/store/AmfGraphStore.js.map +1 -1
  15. package/dist/amf/store/AmfStore.js +0 -7
  16. package/dist/amf/store/AmfStore.js.map +1 -1
  17. package/dist/bindings/base/HttpClientStoreBindings.js +4 -1
  18. package/dist/bindings/base/HttpClientStoreBindings.js.map +1 -1
  19. package/dist/bindings/base/PlatformBindings.js +6 -10
  20. package/dist/bindings/base/PlatformBindings.js.map +1 -1
  21. package/dist/bindings/base/ProxyBindings.js +9 -6
  22. package/dist/bindings/base/ProxyBindings.js.map +1 -1
  23. package/dist/bindings/base/SharedWorkerThread.js +4 -1
  24. package/dist/bindings/base/SharedWorkerThread.js.map +1 -1
  25. package/dist/bindings/base/StoreBindings.js +162 -170
  26. package/dist/bindings/base/StoreBindings.js.map +1 -1
  27. package/dist/bindings/web/WebConfigurationBindings.js +22 -24
  28. package/dist/bindings/web/WebConfigurationBindings.js.map +1 -1
  29. package/dist/bindings/web/WebFileBindings.js +7 -4
  30. package/dist/bindings/web/WebFileBindings.js.map +1 -1
  31. package/dist/bindings/web/WebHttpClientStoreBindings.js +19 -21
  32. package/dist/bindings/web/WebHttpClientStoreBindings.js.map +1 -1
  33. package/dist/bindings/web/WebNavigationBindings.js +4 -1
  34. package/dist/bindings/web/WebNavigationBindings.js.map +1 -1
  35. package/dist/bindings/web/WebProxyBindings.js +5 -6
  36. package/dist/bindings/web/WebProxyBindings.js.map +1 -1
  37. package/dist/bindings/web/WebStoreBindings.js +39 -44
  38. package/dist/bindings/web/WebStoreBindings.js.map +1 -1
  39. package/dist/contextual-menu/ContextualMenu.js +10 -19
  40. package/dist/contextual-menu/ContextualMenu.js.map +1 -1
  41. package/dist/contextual-menu/ContextualMenuElement.js +4 -32
  42. package/dist/contextual-menu/ContextualMenuElement.js.map +1 -1
  43. package/dist/contextual-menu/MenuItem.js +0 -12
  44. package/dist/contextual-menu/MenuItem.js.map +1 -1
  45. package/dist/define/amf/api-annotation-document.js +1 -1
  46. package/dist/define/amf/api-annotation-document.js.map +1 -1
  47. package/dist/define/amf/api-authorization-editor.js +1 -1
  48. package/dist/define/amf/api-authorization-editor.js.map +1 -1
  49. package/dist/define/amf/api-channel-document.js +1 -1
  50. package/dist/define/amf/api-channel-document.js.map +1 -1
  51. package/dist/define/amf/api-documentation-document.js +1 -1
  52. package/dist/define/amf/api-documentation-document.js.map +1 -1
  53. package/dist/define/amf/api-documentation.js +1 -1
  54. package/dist/define/amf/api-documentation.js.map +1 -1
  55. package/dist/define/amf/api-navigation.js +1 -1
  56. package/dist/define/amf/api-navigation.js.map +1 -1
  57. package/dist/define/amf/api-operation-document.js +1 -1
  58. package/dist/define/amf/api-operation-document.js.map +1 -1
  59. package/dist/define/amf/api-parameter-document.js +1 -1
  60. package/dist/define/amf/api-parameter-document.js.map +1 -1
  61. package/dist/define/amf/api-parametrized-security-scheme.js +1 -1
  62. package/dist/define/amf/api-parametrized-security-scheme.js.map +1 -1
  63. package/dist/define/amf/api-payload-document.js +1 -1
  64. package/dist/define/amf/api-payload-document.js.map +1 -1
  65. package/dist/define/amf/api-request-document.js +1 -1
  66. package/dist/define/amf/api-request-document.js.map +1 -1
  67. package/dist/define/amf/api-request-editor.js +1 -1
  68. package/dist/define/amf/api-request-editor.js.map +1 -1
  69. package/dist/define/amf/api-request.js +1 -1
  70. package/dist/define/amf/api-request.js.map +1 -1
  71. package/dist/define/amf/api-resource-document.js +1 -1
  72. package/dist/define/amf/api-resource-document.js.map +1 -1
  73. package/dist/define/amf/api-response-document.js +1 -1
  74. package/dist/define/amf/api-response-document.js.map +1 -1
  75. package/dist/define/amf/api-schema-document.js +1 -1
  76. package/dist/define/amf/api-schema-document.js.map +1 -1
  77. package/dist/define/amf/api-security-document.js +1 -1
  78. package/dist/define/amf/api-security-document.js.map +1 -1
  79. package/dist/define/amf/api-security-requirement-document.js +1 -1
  80. package/dist/define/amf/api-security-requirement-document.js.map +1 -1
  81. package/dist/define/amf/api-server-picker.js +1 -1
  82. package/dist/define/amf/api-server-picker.js.map +1 -1
  83. package/dist/define/amf/api-summary.js +1 -1
  84. package/dist/define/amf/api-summary.js.map +1 -1
  85. package/dist/define/amf/authorization/amf-apikey-authorization.js +1 -1
  86. package/dist/define/amf/authorization/amf-apikey-authorization.js.map +1 -1
  87. package/dist/define/amf/authorization/amf-basic-authorization.js +1 -1
  88. package/dist/define/amf/authorization/amf-basic-authorization.js.map +1 -1
  89. package/dist/define/amf/authorization/amf-bearer-authorization.js +1 -1
  90. package/dist/define/amf/authorization/amf-bearer-authorization.js.map +1 -1
  91. package/dist/define/amf/authorization/amf-oauth2-authorization.js +1 -1
  92. package/dist/define/amf/authorization/amf-oauth2-authorization.js.map +1 -1
  93. package/dist/define/amf/authorization/amf-oidc-authorization.js +1 -1
  94. package/dist/define/amf/authorization/amf-oidc-authorization.js.map +1 -1
  95. package/dist/define/amf/authorization/amf-passthrough-authorization.js +1 -1
  96. package/dist/define/amf/authorization/amf-passthrough-authorization.js.map +1 -1
  97. package/dist/define/amf/authorization/amf-ramlcustom-authorization.js +1 -1
  98. package/dist/define/amf/authorization/amf-ramlcustom-authorization.js.map +1 -1
  99. package/dist/define/authorization/apikey-authorization.js +1 -1
  100. package/dist/define/authorization/apikey-authorization.js.map +1 -1
  101. package/dist/define/authorization/basic-authorization.js +1 -1
  102. package/dist/define/authorization/basic-authorization.js.map +1 -1
  103. package/dist/define/authorization/bearer-authorization.js +1 -1
  104. package/dist/define/authorization/bearer-authorization.js.map +1 -1
  105. package/dist/define/authorization/cc-authorization.js +1 -1
  106. package/dist/define/authorization/cc-authorization.js.map +1 -1
  107. package/dist/define/authorization/ntlm-authorization.js +1 -1
  108. package/dist/define/authorization/ntlm-authorization.js.map +1 -1
  109. package/dist/define/authorization/oauth2-authorization.js +1 -1
  110. package/dist/define/authorization/oauth2-authorization.js.map +1 -1
  111. package/dist/define/authorization/oidc-authorization.js +1 -1
  112. package/dist/define/authorization/oidc-authorization.js.map +1 -1
  113. package/dist/define/contextual-menu/contextual-menu.js +1 -1
  114. package/dist/define/contextual-menu/contextual-menu.js.map +1 -1
  115. package/dist/define/dialog/confirm-delete-dialog.js +1 -1
  116. package/dist/define/dialog/confirm-delete-dialog.js.map +1 -1
  117. package/dist/define/dialog/delete-cookie-action-dialog.d.ts +10 -0
  118. package/dist/define/dialog/delete-cookie-action-dialog.d.ts.map +1 -0
  119. package/dist/define/dialog/delete-cookie-action-dialog.js +14 -0
  120. package/dist/define/dialog/delete-cookie-action-dialog.js.map +1 -0
  121. package/dist/define/dialog/rename-dialog.js +1 -1
  122. package/dist/define/dialog/rename-dialog.js.map +1 -1
  123. package/dist/define/dialog/set-cookie-action-dialog.d.ts +10 -0
  124. package/dist/define/dialog/set-cookie-action-dialog.d.ts.map +1 -0
  125. package/dist/define/dialog/set-cookie-action-dialog.js +14 -0
  126. package/dist/define/dialog/set-cookie-action-dialog.js.map +1 -0
  127. package/dist/define/files/share-file.js +1 -1
  128. package/dist/define/files/share-file.js.map +1 -1
  129. package/dist/define/har/har-viewer.js +1 -1
  130. package/dist/define/har/har-viewer.js.map +1 -1
  131. package/dist/define/highlight/marked-highlight.js +1 -1
  132. package/dist/define/highlight/marked-highlight.js.map +1 -1
  133. package/dist/define/highlight/prism-highlight.js +1 -1
  134. package/dist/define/highlight/prism-highlight.js.map +1 -1
  135. package/dist/define/http/http-assertions.d.ts +1 -1
  136. package/dist/define/http/http-assertions.d.ts.map +1 -1
  137. package/dist/define/http/http-assertions.js +3 -3
  138. package/dist/define/http/http-assertions.js.map +1 -1
  139. package/dist/define/http/http-body-editor.js +1 -1
  140. package/dist/define/http/http-body-editor.js.map +1 -1
  141. package/dist/define/http/http-body-multipart-editor.js +1 -1
  142. package/dist/define/http/http-body-multipart-editor.js.map +1 -1
  143. package/dist/define/http/http-body-text-editor.js +1 -1
  144. package/dist/define/http/http-body-text-editor.js.map +1 -1
  145. package/dist/define/http/http-body-urlencoded-editor.js +1 -1
  146. package/dist/define/http/http-body-urlencoded-editor.js.map +1 -1
  147. package/dist/define/http/http-flows.d.ts +10 -0
  148. package/dist/define/http/http-flows.d.ts.map +1 -0
  149. package/dist/define/http/http-flows.js +13 -0
  150. package/dist/define/http/http-flows.js.map +1 -0
  151. package/dist/define/http/http-headers-form.js +1 -1
  152. package/dist/define/http/http-headers-form.js.map +1 -1
  153. package/dist/define/http/http-log-body.js +1 -1
  154. package/dist/define/http/http-log-body.js.map +1 -1
  155. package/dist/define/http/http-log-headers.js +1 -1
  156. package/dist/define/http/http-log-headers.js.map +1 -1
  157. package/dist/define/http/http-log-timings.js +1 -1
  158. package/dist/define/http/http-log-timings.js.map +1 -1
  159. package/dist/define/http/http-request-config.js +1 -1
  160. package/dist/define/http/http-request-config.js.map +1 -1
  161. package/dist/define/http/http-request-editor.js +1 -1
  162. package/dist/define/http/http-request-editor.js.map +1 -1
  163. package/dist/define/http/http-request-log.js +1 -1
  164. package/dist/define/http/http-request-log.js.map +1 -1
  165. package/dist/define/http/http-snippets.js +1 -1
  166. package/dist/define/http/http-snippets.js.map +1 -1
  167. package/dist/define/http/http-url-input.js +1 -1
  168. package/dist/define/http/http-url-input.js.map +1 -1
  169. package/dist/define/http/http-url-params-form.js +1 -1
  170. package/dist/define/http/http-url-params-form.js.map +1 -1
  171. package/dist/define/http-project/http-project-request-history.js +1 -1
  172. package/dist/define/http-project/http-project-request-history.js.map +1 -1
  173. package/dist/define/http-project/http-project-request.js +2 -2
  174. package/dist/define/http-project/http-project-request.js.map +1 -1
  175. package/dist/define/http-project/project-navigation.js +1 -1
  176. package/dist/define/http-project/project-navigation.js.map +1 -1
  177. package/dist/define/http-project/project-run-report.js +1 -1
  178. package/dist/define/http-project/project-run-report.js.map +1 -1
  179. package/dist/define/http-project/project-runner.js +2 -2
  180. package/dist/define/http-project/project-runner.js.map +1 -1
  181. package/dist/define/layout/split-view.js +1 -1
  182. package/dist/define/layout/split-view.js.map +1 -1
  183. package/dist/define/schema-design/schema-design-navigation.js +1 -1
  184. package/dist/define/schema-design/schema-design-navigation.js.map +1 -1
  185. package/dist/define/schema-design/schema-namespace-selector.js +1 -1
  186. package/dist/define/schema-design/schema-namespace-selector.js.map +1 -1
  187. package/dist/define/ui/ui-button.js +1 -1
  188. package/dist/define/ui/ui-button.js.map +1 -1
  189. package/dist/define/ui/ui-chip.js +1 -1
  190. package/dist/define/ui/ui-chip.js.map +1 -1
  191. package/dist/define/ui/ui-collapse.js +1 -1
  192. package/dist/define/ui/ui-collapse.js.map +1 -1
  193. package/dist/define/ui/ui-dialog.js +1 -1
  194. package/dist/define/ui/ui-dialog.js.map +1 -1
  195. package/dist/define/ui/ui-divider.d.ts +4 -1
  196. package/dist/define/ui/ui-divider.d.ts.map +1 -1
  197. package/dist/define/ui/ui-divider.js +11 -2
  198. package/dist/define/ui/ui-divider.js.map +1 -1
  199. package/dist/define/ui/ui-dropdown-list.js +1 -1
  200. package/dist/define/ui/ui-dropdown-list.js.map +1 -1
  201. package/dist/define/ui/ui-icon-button.js +1 -1
  202. package/dist/define/ui/ui-icon-button.js.map +1 -1
  203. package/dist/define/ui/ui-icon.js +1 -1
  204. package/dist/define/ui/ui-icon.js.map +1 -1
  205. package/dist/define/ui/ui-list-item.js +1 -1
  206. package/dist/define/ui/ui-list-item.js.map +1 -1
  207. package/dist/define/ui/ui-list.js +1 -1
  208. package/dist/define/ui/ui-list.js.map +1 -1
  209. package/dist/define/ui/ui-listbox.js +1 -1
  210. package/dist/define/ui/ui-listbox.js.map +1 -1
  211. package/dist/define/ui/ui-progress.js +1 -1
  212. package/dist/define/ui/ui-progress.js.map +1 -1
  213. package/dist/define/ui/ui-segmented-button-set.js +1 -1
  214. package/dist/define/ui/ui-segmented-button-set.js.map +1 -1
  215. package/dist/define/ui/ui-segmented-button.js +1 -1
  216. package/dist/define/ui/ui-segmented-button.js.map +1 -1
  217. package/dist/define/ui/ui-snackbar.js +1 -1
  218. package/dist/define/ui/ui-snackbar.js.map +1 -1
  219. package/dist/define/ui/ui-tab.js +1 -1
  220. package/dist/define/ui/ui-tab.js.map +1 -1
  221. package/dist/define/ui/ui-tabs.js +1 -1
  222. package/dist/define/ui/ui-tabs.js.map +1 -1
  223. package/dist/directives/data-attr.js +0 -1
  224. package/dist/directives/data-attr.js.map +1 -1
  225. package/dist/elements/ApiElement.d.ts +4 -0
  226. package/dist/elements/ApiElement.d.ts.map +1 -1
  227. package/dist/elements/ApiElement.js +6 -7
  228. package/dist/elements/ApiElement.js.map +1 -1
  229. package/dist/elements/amf/ApiAnnotationDocument.element.js +0 -2
  230. package/dist/elements/amf/ApiAnnotationDocument.element.js.map +1 -1
  231. package/dist/elements/amf/ApiAuthorizationEditor.element.js +1 -33
  232. package/dist/elements/amf/ApiAuthorizationEditor.element.js.map +1 -1
  233. package/dist/elements/amf/ApiDocumentation.element.js +0 -91
  234. package/dist/elements/amf/ApiDocumentation.element.js.map +1 -1
  235. package/dist/elements/amf/ApiDocumentationBase.js +0 -9
  236. package/dist/elements/amf/ApiDocumentationBase.js.map +1 -1
  237. package/dist/elements/amf/ApiDocumentationDocument.element.js +0 -1
  238. package/dist/elements/amf/ApiDocumentationDocument.element.js.map +1 -1
  239. package/dist/elements/amf/ApiNavigation.element.js +0 -97
  240. package/dist/elements/amf/ApiNavigation.element.js.map +1 -1
  241. package/dist/elements/amf/ApiOperationDocument.element.d.ts.map +1 -1
  242. package/dist/elements/amf/ApiOperationDocument.element.js +2 -77
  243. package/dist/elements/amf/ApiOperationDocument.element.js.map +1 -1
  244. package/dist/elements/amf/ApiParameterDocument.element.js +0 -3
  245. package/dist/elements/amf/ApiParameterDocument.element.js.map +1 -1
  246. package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js +0 -1
  247. package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js.map +1 -1
  248. package/dist/elements/amf/ApiPayloadDocument.element.js +0 -1
  249. package/dist/elements/amf/ApiPayloadDocument.element.js.map +1 -1
  250. package/dist/elements/amf/ApiRequest.element.js +1 -79
  251. package/dist/elements/amf/ApiRequest.element.js.map +1 -1
  252. package/dist/elements/amf/ApiRequestDocument.element.js +0 -38
  253. package/dist/elements/amf/ApiRequestDocument.element.js.map +1 -1
  254. package/dist/elements/amf/ApiRequestEditor.element.d.ts +0 -1
  255. package/dist/elements/amf/ApiRequestEditor.element.d.ts.map +1 -1
  256. package/dist/elements/amf/ApiRequestEditor.element.js +0 -121
  257. package/dist/elements/amf/ApiRequestEditor.element.js.map +1 -1
  258. package/dist/elements/amf/ApiResourceDocument.element.js +0 -75
  259. package/dist/elements/amf/ApiResourceDocument.element.js.map +1 -1
  260. package/dist/elements/amf/ApiResponseDocument.element.js +0 -17
  261. package/dist/elements/amf/ApiResponseDocument.element.js.map +1 -1
  262. package/dist/elements/amf/ApiSchemaDocument.element.js +0 -28
  263. package/dist/elements/amf/ApiSchemaDocument.element.js.map +1 -1
  264. package/dist/elements/amf/ApiSecurityDocument.element.js +0 -28
  265. package/dist/elements/amf/ApiSecurityDocument.element.js.map +1 -1
  266. package/dist/elements/amf/ApiSecurityRequirementDocument.element.js +0 -1
  267. package/dist/elements/amf/ApiSecurityRequirementDocument.element.js.map +1 -1
  268. package/dist/elements/amf/ApiServerPicker.element.js +2 -65
  269. package/dist/elements/amf/ApiServerPicker.element.js.map +1 -1
  270. package/dist/elements/amf/ApiSummary.element.js +0 -26
  271. package/dist/elements/amf/ApiSummary.element.js.map +1 -1
  272. package/dist/elements/amf/authorization/AmfApiKey.js +0 -5
  273. package/dist/elements/amf/authorization/AmfApiKey.js.map +1 -1
  274. package/dist/elements/amf/authorization/AmfBasic.js +0 -4
  275. package/dist/elements/amf/authorization/AmfBasic.js.map +1 -1
  276. package/dist/elements/amf/authorization/AmfBearer.js +0 -4
  277. package/dist/elements/amf/authorization/AmfBearer.js.map +1 -1
  278. package/dist/elements/amf/authorization/AmfOauth2.js +0 -13
  279. package/dist/elements/amf/authorization/AmfOauth2.js.map +1 -1
  280. package/dist/elements/amf/authorization/AmfOidc.js +0 -4
  281. package/dist/elements/amf/authorization/AmfOidc.js.map +1 -1
  282. package/dist/elements/amf/authorization/AmfPassThrough.js +0 -6
  283. package/dist/elements/amf/authorization/AmfPassThrough.js.map +1 -1
  284. package/dist/elements/amf/authorization/AmfRamlCustom.js +0 -6
  285. package/dist/elements/amf/authorization/AmfRamlCustom.js.map +1 -1
  286. package/dist/elements/authorization/OAuth2Authorize.js +0 -14
  287. package/dist/elements/authorization/OAuth2Authorize.js.map +1 -1
  288. package/dist/elements/authorization/OidcAuthorize.js +0 -14
  289. package/dist/elements/authorization/OidcAuthorize.js.map +1 -1
  290. package/dist/elements/authorization/ui/ApiKeyAuthorization.js +0 -2
  291. package/dist/elements/authorization/ui/ApiKeyAuthorization.js.map +1 -1
  292. package/dist/elements/authorization/ui/Authorization.d.ts +2 -1
  293. package/dist/elements/authorization/ui/Authorization.d.ts.map +1 -1
  294. package/dist/elements/authorization/ui/Authorization.js +18 -35
  295. package/dist/elements/authorization/ui/Authorization.js.map +1 -1
  296. package/dist/elements/authorization/ui/CcAuthorization.js +1 -3
  297. package/dist/elements/authorization/ui/CcAuthorization.js.map +1 -1
  298. package/dist/elements/authorization/ui/OAuth2Authorization.js +21 -50
  299. package/dist/elements/authorization/ui/OAuth2Authorization.js.map +1 -1
  300. package/dist/elements/authorization/ui/OidcAuthorization.js +4 -6
  301. package/dist/elements/authorization/ui/OidcAuthorization.js.map +1 -1
  302. package/dist/elements/code/HttpSnippets.js +9 -8
  303. package/dist/elements/code/HttpSnippets.js.map +1 -1
  304. package/dist/elements/dialog/ConfirmDelete.js +0 -12
  305. package/dist/elements/dialog/ConfirmDelete.js.map +1 -1
  306. package/dist/elements/dialog/DeleteCookieAction.element.d.ts +20 -0
  307. package/dist/elements/dialog/DeleteCookieAction.element.d.ts.map +1 -0
  308. package/dist/elements/dialog/DeleteCookieAction.element.js +93 -0
  309. package/dist/elements/dialog/DeleteCookieAction.element.js.map +1 -0
  310. package/dist/elements/dialog/DeleteCookieAction.styles.d.ts +3 -0
  311. package/dist/elements/dialog/DeleteCookieAction.styles.d.ts.map +1 -0
  312. package/dist/elements/dialog/DeleteCookieAction.styles.js +13 -0
  313. package/dist/elements/dialog/DeleteCookieAction.styles.js.map +1 -0
  314. package/dist/elements/dialog/Rename.d.ts +7 -6
  315. package/dist/elements/dialog/Rename.d.ts.map +1 -1
  316. package/dist/elements/dialog/Rename.js +7 -12
  317. package/dist/elements/dialog/Rename.js.map +1 -1
  318. package/dist/elements/dialog/SetCookieAction.element.d.ts +22 -0
  319. package/dist/elements/dialog/SetCookieAction.element.d.ts.map +1 -0
  320. package/dist/elements/dialog/SetCookieAction.element.js +173 -0
  321. package/dist/elements/dialog/SetCookieAction.element.js.map +1 -0
  322. package/dist/elements/environment/EnvironmentEditor.d.ts +24 -3
  323. package/dist/elements/environment/EnvironmentEditor.d.ts.map +1 -1
  324. package/dist/elements/environment/EnvironmentEditor.js +73 -30
  325. package/dist/elements/environment/EnvironmentEditor.js.map +1 -1
  326. package/dist/elements/environment/EnvironmentEditor.styles.d.ts.map +1 -1
  327. package/dist/elements/environment/EnvironmentEditor.styles.js +5 -0
  328. package/dist/elements/environment/EnvironmentEditor.styles.js.map +1 -1
  329. package/dist/elements/environment/ServerEditor.d.ts +3 -3
  330. package/dist/elements/environment/ServerEditor.d.ts.map +1 -1
  331. package/dist/elements/environment/ServerEditor.js +10 -51
  332. package/dist/elements/environment/ServerEditor.js.map +1 -1
  333. package/dist/elements/environment/VariablesEditor.d.ts +0 -1
  334. package/dist/elements/environment/VariablesEditor.d.ts.map +1 -1
  335. package/dist/elements/environment/VariablesEditor.js +10 -18
  336. package/dist/elements/environment/VariablesEditor.js.map +1 -1
  337. package/dist/elements/files/ShareFile.js +19 -57
  338. package/dist/elements/files/ShareFile.js.map +1 -1
  339. package/dist/elements/har/HarViewer.js +6 -7
  340. package/dist/elements/har/HarViewer.js.map +1 -1
  341. package/dist/elements/highlight/MarkedHighlight.js +4 -56
  342. package/dist/elements/highlight/MarkedHighlight.js.map +1 -1
  343. package/dist/elements/highlight/Prism.styles.d.ts.map +1 -1
  344. package/dist/elements/highlight/Prism.styles.js +12 -5
  345. package/dist/elements/highlight/Prism.styles.js.map +1 -1
  346. package/dist/elements/highlight/PrismHighlight.js +9 -18
  347. package/dist/elements/highlight/PrismHighlight.js.map +1 -1
  348. package/dist/elements/highlight/PrismHighlighter.js +4 -6
  349. package/dist/elements/highlight/PrismHighlighter.js.map +1 -1
  350. package/dist/elements/http/BodyEditor.d.ts +0 -4
  351. package/dist/elements/http/BodyEditor.d.ts.map +1 -1
  352. package/dist/elements/http/BodyEditor.js +31 -49
  353. package/dist/elements/http/BodyEditor.js.map +1 -1
  354. package/dist/elements/http/BodyMultipartEditor.d.ts +3 -16
  355. package/dist/elements/http/BodyMultipartEditor.d.ts.map +1 -1
  356. package/dist/elements/http/BodyMultipartEditor.js +20 -37
  357. package/dist/elements/http/BodyMultipartEditor.js.map +1 -1
  358. package/dist/elements/http/BodyTextEditor.d.ts +0 -1
  359. package/dist/elements/http/BodyTextEditor.d.ts.map +1 -1
  360. package/dist/elements/http/BodyTextEditor.js +2 -18
  361. package/dist/elements/http/BodyTextEditor.js.map +1 -1
  362. package/dist/elements/http/BodyUrlEncodedEditor.d.ts +3 -3
  363. package/dist/elements/http/BodyUrlEncodedEditor.d.ts.map +1 -1
  364. package/dist/elements/http/BodyUrlEncodedEditor.js +23 -26
  365. package/dist/elements/http/BodyUrlEncodedEditor.js.map +1 -1
  366. package/dist/elements/http/HeadersForm.d.ts +0 -4
  367. package/dist/elements/http/HeadersForm.d.ts.map +1 -1
  368. package/dist/elements/http/HeadersForm.js +16 -23
  369. package/dist/elements/http/HeadersForm.js.map +1 -1
  370. package/dist/elements/http/HttpAssertions.element.d.ts +55 -0
  371. package/dist/elements/http/HttpAssertions.element.d.ts.map +1 -0
  372. package/dist/elements/http/HttpAssertions.element.js +264 -0
  373. package/dist/elements/http/HttpAssertions.element.js.map +1 -0
  374. package/dist/elements/http/HttpAssertions.styles.d.ts.map +1 -1
  375. package/dist/elements/http/HttpAssertions.styles.js +7 -156
  376. package/dist/elements/http/HttpAssertions.styles.js.map +1 -1
  377. package/dist/elements/http/HttpFlows.common.d.ts +3 -0
  378. package/dist/elements/http/HttpFlows.common.d.ts.map +1 -0
  379. package/dist/elements/http/HttpFlows.common.js +181 -0
  380. package/dist/elements/http/HttpFlows.common.js.map +1 -0
  381. package/dist/elements/http/HttpFlows.element.d.ts +97 -0
  382. package/dist/elements/http/HttpFlows.element.d.ts.map +1 -0
  383. package/dist/elements/http/HttpFlows.element.js +684 -0
  384. package/dist/elements/http/HttpFlows.element.js.map +1 -0
  385. package/dist/elements/http/HttpFlows.styles.d.ts +3 -0
  386. package/dist/elements/http/HttpFlows.styles.d.ts.map +1 -0
  387. package/dist/elements/http/HttpFlows.styles.js +28 -0
  388. package/dist/elements/http/HttpFlows.styles.js.map +1 -0
  389. package/dist/elements/http/HttpFlowsUi.d.ts +172 -0
  390. package/dist/elements/http/HttpFlowsUi.d.ts.map +1 -0
  391. package/dist/elements/http/HttpFlowsUi.js +1256 -0
  392. package/dist/elements/http/HttpFlowsUi.js.map +1 -0
  393. package/dist/elements/http/LogBody.js +10 -21
  394. package/dist/elements/http/LogBody.js.map +1 -1
  395. package/dist/elements/http/LogHeaders.js +4 -23
  396. package/dist/elements/http/LogHeaders.js.map +1 -1
  397. package/dist/elements/http/LogTimings.js +11 -13
  398. package/dist/elements/http/LogTimings.js.map +1 -1
  399. package/dist/elements/http/RequestConfigElement.d.ts +0 -1
  400. package/dist/elements/http/RequestConfigElement.d.ts.map +1 -1
  401. package/dist/elements/http/RequestConfigElement.js +15 -15
  402. package/dist/elements/http/RequestConfigElement.js.map +1 -1
  403. package/dist/elements/http/RequestEditor.d.ts +10 -10
  404. package/dist/elements/http/RequestEditor.d.ts.map +1 -1
  405. package/dist/elements/http/RequestEditor.js +116 -111
  406. package/dist/elements/http/RequestEditor.js.map +1 -1
  407. package/dist/elements/http/RequestLog.js +9 -14
  408. package/dist/elements/http/RequestLog.js.map +1 -1
  409. package/dist/elements/http/UrlInput.d.ts +3 -3
  410. package/dist/elements/http/UrlInput.d.ts.map +1 -1
  411. package/dist/elements/http/UrlInput.js +17 -27
  412. package/dist/elements/http/UrlInput.js.map +1 -1
  413. package/dist/elements/http/UrlParamsForm.d.ts +0 -1
  414. package/dist/elements/http/UrlParamsForm.d.ts.map +1 -1
  415. package/dist/elements/http/UrlParamsForm.js +16 -16
  416. package/dist/elements/http/UrlParamsForm.js.map +1 -1
  417. package/dist/elements/layout/LayoutManager.js +16 -24
  418. package/dist/elements/layout/LayoutManager.js.map +1 -1
  419. package/dist/elements/layout/LayoutPanelElement.js +17 -23
  420. package/dist/elements/layout/LayoutPanelElement.js.map +1 -1
  421. package/dist/elements/layout/SplitItem.js +4 -12
  422. package/dist/elements/layout/SplitItem.js.map +1 -1
  423. package/dist/elements/layout/SplitLayout.js +18 -24
  424. package/dist/elements/layout/SplitLayout.js.map +1 -1
  425. package/dist/elements/layout/SplitPanel.js +10 -16
  426. package/dist/elements/layout/SplitPanel.js.map +1 -1
  427. package/dist/elements/layout/SplitView.js +17 -26
  428. package/dist/elements/layout/SplitView.js.map +1 -1
  429. package/dist/elements/layout/SplitView.styles.d.ts.map +1 -1
  430. package/dist/elements/layout/SplitView.styles.js +1 -0
  431. package/dist/elements/layout/SplitView.styles.js.map +1 -1
  432. package/dist/elements/navigation/AppNavigationElement.js +8 -47
  433. package/dist/elements/navigation/AppNavigationElement.js.map +1 -1
  434. package/dist/elements/navigation/AppNavigationItem.styles.d.ts.map +1 -1
  435. package/dist/elements/navigation/AppNavigationItem.styles.js +2 -0
  436. package/dist/elements/navigation/AppNavigationItem.styles.js.map +1 -1
  437. package/dist/elements/navigation/AppNavigationItemElement.js +19 -24
  438. package/dist/elements/navigation/AppNavigationItemElement.js.map +1 -1
  439. package/dist/elements/project/HttpProjectRequest.d.ts +2 -1
  440. package/dist/elements/project/HttpProjectRequest.d.ts.map +1 -1
  441. package/dist/elements/project/HttpProjectRequest.js +14 -43
  442. package/dist/elements/project/HttpProjectRequest.js.map +1 -1
  443. package/dist/elements/project/HttpProjectRequestHistory.js +9 -35
  444. package/dist/elements/project/HttpProjectRequestHistory.js.map +1 -1
  445. package/dist/elements/project/ProjectNavigation.js +0 -4
  446. package/dist/elements/project/ProjectNavigation.js.map +1 -1
  447. package/dist/elements/project/ProjectRunReport.js +4 -15
  448. package/dist/elements/project/ProjectRunReport.js.map +1 -1
  449. package/dist/elements/project/ProjectRunner.d.ts +0 -1
  450. package/dist/elements/project/ProjectRunner.d.ts.map +1 -1
  451. package/dist/elements/project/ProjectRunner.js +3 -51
  452. package/dist/elements/project/ProjectRunner.js.map +1 -1
  453. package/dist/elements/schema-design/AssociationFormElement.d.ts +0 -1
  454. package/dist/elements/schema-design/AssociationFormElement.d.ts.map +1 -1
  455. package/dist/elements/schema-design/AssociationFormElement.js +2 -18
  456. package/dist/elements/schema-design/AssociationFormElement.js.map +1 -1
  457. package/dist/elements/schema-design/DataEntityEditorElement.d.ts +2 -2
  458. package/dist/elements/schema-design/DataEntityEditorElement.d.ts.map +1 -1
  459. package/dist/elements/schema-design/DataEntityEditorElement.js +5 -27
  460. package/dist/elements/schema-design/DataEntityEditorElement.js.map +1 -1
  461. package/dist/elements/schema-design/DataModelVisualizationElement.js +0 -16
  462. package/dist/elements/schema-design/DataModelVisualizationElement.js.map +1 -1
  463. package/dist/elements/schema-design/DataSchemaDocument.d.ts +0 -1
  464. package/dist/elements/schema-design/DataSchemaDocument.d.ts.map +1 -1
  465. package/dist/elements/schema-design/DataSchemaDocument.js +4 -43
  466. package/dist/elements/schema-design/DataSchemaDocument.js.map +1 -1
  467. package/dist/elements/schema-design/EntityFormElement.d.ts +0 -1
  468. package/dist/elements/schema-design/EntityFormElement.d.ts.map +1 -1
  469. package/dist/elements/schema-design/EntityFormElement.js +4 -25
  470. package/dist/elements/schema-design/EntityFormElement.js.map +1 -1
  471. package/dist/elements/schema-design/PropertyFormElement.d.ts +1 -2
  472. package/dist/elements/schema-design/PropertyFormElement.d.ts.map +1 -1
  473. package/dist/elements/schema-design/PropertyFormElement.js +8 -23
  474. package/dist/elements/schema-design/PropertyFormElement.js.map +1 -1
  475. package/dist/elements/schema-design/SchemaDesignNavigation.js +0 -9
  476. package/dist/elements/schema-design/SchemaDesignNavigation.js.map +1 -1
  477. package/dist/elements/schema-design/SchemaNamespaceSelector.js +0 -9
  478. package/dist/elements/schema-design/SchemaNamespaceSelector.js.map +1 -1
  479. package/dist/elements/user/UserAvatarElement.js +0 -9
  480. package/dist/elements/user/UserAvatarElement.js.map +1 -1
  481. package/dist/events/http-client/models/CertificatesEvents.js +2 -2
  482. package/dist/events/http-client/models/CertificatesEvents.js.map +1 -1
  483. package/dist/http-client/idb/Base.js +5 -10
  484. package/dist/http-client/idb/Base.js.map +1 -1
  485. package/dist/http-client/idb/LegacyMockedStore.js +0 -1
  486. package/dist/http-client/idb/LegacyMockedStore.js.map +1 -1
  487. package/dist/http-client/idb/MockedStore.js +3 -1
  488. package/dist/http-client/idb/MockedStore.js.map +1 -1
  489. package/dist/http-client/store/DataImportProcessor.js +0 -3
  490. package/dist/http-client/store/DataImportProcessor.js.map +1 -1
  491. package/dist/http-client/store/HttpClientIdbDatabase.js +8 -7
  492. package/dist/http-client/store/HttpClientIdbDatabase.js.map +1 -1
  493. package/dist/http-client/store/IdbThread.js +23 -20
  494. package/dist/http-client/store/IdbThread.js.map +1 -1
  495. package/dist/http-client/store/idb/IdbProjectUi.js +4 -1
  496. package/dist/http-client/store/idb/IdbProjectUi.js.map +1 -1
  497. package/dist/http-client/store/idb/IdbStore.js +0 -2
  498. package/dist/http-client/store/idb/IdbStore.js.map +1 -1
  499. package/dist/http-client/store/idb/IdbUrlHistory.js +4 -1
  500. package/dist/http-client/store/idb/IdbUrlHistory.js.map +1 -1
  501. package/dist/http-client/store/idb/IdbWsHistory.js +4 -1
  502. package/dist/http-client/store/idb/IdbWsHistory.js.map +1 -1
  503. package/dist/lib/chart/HttpHistoryChart.js +7 -8
  504. package/dist/lib/chart/HttpHistoryChart.js.map +1 -1
  505. package/dist/mixins/FileDropMixin.js +0 -1
  506. package/dist/mixins/FileDropMixin.js.map +1 -1
  507. package/dist/mixins/RenderableMixin.js +11 -15
  508. package/dist/mixins/RenderableMixin.js.map +1 -1
  509. package/dist/pages/ApplicationScreen.d.ts +1 -1
  510. package/dist/pages/ApplicationScreen.d.ts.map +1 -1
  511. package/dist/pages/ApplicationScreen.js +35 -56
  512. package/dist/pages/ApplicationScreen.js.map +1 -1
  513. package/dist/pages/api-client/ApiClient.screen.js +11 -20
  514. package/dist/pages/api-client/ApiClient.screen.js.map +1 -1
  515. package/dist/pages/api-client/ApiClient.styles.d.ts.map +1 -1
  516. package/dist/pages/api-client/ApiClient.styles.js +22 -3
  517. package/dist/pages/api-client/ApiClient.styles.js.map +1 -1
  518. package/dist/pages/api-client/Authenticate.screen.d.ts +2 -0
  519. package/dist/pages/api-client/Authenticate.screen.d.ts.map +1 -1
  520. package/dist/pages/api-client/Authenticate.screen.js +23 -9
  521. package/dist/pages/api-client/Authenticate.screen.js.map +1 -1
  522. package/dist/pages/api-client/StoreConfig.screen.d.ts.map +1 -1
  523. package/dist/pages/api-client/StoreConfig.screen.js +25 -39
  524. package/dist/pages/api-client/StoreConfig.screen.js.map +1 -1
  525. package/dist/pages/api-client/StoreConfig.styles.d.ts.map +1 -1
  526. package/dist/pages/api-client/StoreConfig.styles.js +5 -0
  527. package/dist/pages/api-client/StoreConfig.styles.js.map +1 -1
  528. package/dist/pages/api-client/Telemetry.screen.js +1 -2
  529. package/dist/pages/api-client/Telemetry.screen.js.map +1 -1
  530. package/dist/pages/api-client/pages/Files.page.d.ts +1 -0
  531. package/dist/pages/api-client/pages/Files.page.d.ts.map +1 -1
  532. package/dist/pages/api-client/pages/Files.page.js +8 -28
  533. package/dist/pages/api-client/pages/Files.page.js.map +1 -1
  534. package/dist/pages/api-client/pages/Settings.page.js +2 -4
  535. package/dist/pages/api-client/pages/Settings.page.js.map +1 -1
  536. package/dist/pages/api-client/pages/Trash.page.js +2 -13
  537. package/dist/pages/api-client/pages/Trash.page.js.map +1 -1
  538. package/dist/pages/demo/DemoPage.js +13 -13
  539. package/dist/pages/demo/DemoPage.js.map +1 -1
  540. package/dist/pages/http-project/HttpProject.screen.d.ts +0 -8
  541. package/dist/pages/http-project/HttpProject.screen.d.ts.map +1 -1
  542. package/dist/pages/http-project/HttpProject.screen.js +39 -50
  543. package/dist/pages/http-project/HttpProject.screen.js.map +1 -1
  544. package/dist/pages/http-project/types.d.ts +8 -6
  545. package/dist/pages/http-project/types.d.ts.map +1 -1
  546. package/dist/pages/http-project/types.js.map +1 -1
  547. package/dist/pages/schema-design/SchemaDesigner.screen.js +14 -27
  548. package/dist/pages/schema-design/SchemaDesigner.screen.js.map +1 -1
  549. package/dist/store/HttpStore.js +0 -3
  550. package/dist/store/HttpStore.js.map +1 -1
  551. package/dist/store/UserCache.js +5 -5
  552. package/dist/store/UserCache.js.map +1 -1
  553. package/dist/styles/m3/surface.module.d.ts.map +1 -1
  554. package/dist/styles/m3/surface.module.js +11 -27
  555. package/dist/styles/m3/surface.module.js.map +1 -1
  556. package/dist/ui/UiElement.d.ts +4 -0
  557. package/dist/ui/UiElement.d.ts.map +1 -1
  558. package/dist/ui/UiElement.js +10 -5
  559. package/dist/ui/UiElement.js.map +1 -1
  560. package/dist/ui/button/SegmentedButton.js +9 -11
  561. package/dist/ui/button/SegmentedButton.js.map +1 -1
  562. package/dist/ui/button/SegmentedButton.styles.d.ts.map +1 -1
  563. package/dist/ui/button/SegmentedButton.styles.js +3 -1
  564. package/dist/ui/button/SegmentedButton.styles.js.map +1 -1
  565. package/dist/ui/button/SegmentedButtonsSet.js +6 -7
  566. package/dist/ui/button/SegmentedButtonsSet.js.map +1 -1
  567. package/dist/ui/button/UiButton.js +17 -39
  568. package/dist/ui/button/UiButton.js.map +1 -1
  569. package/dist/ui/button/UiIconButton.js +9 -35
  570. package/dist/ui/button/UiIconButton.js.map +1 -1
  571. package/dist/ui/chip/UiChip.js +9 -49
  572. package/dist/ui/chip/UiChip.js.map +1 -1
  573. package/dist/ui/collapse/UiCollapse.js +15 -20
  574. package/dist/ui/collapse/UiCollapse.js.map +1 -1
  575. package/dist/ui/controllers/ActionController.js +143 -144
  576. package/dist/ui/controllers/ActionController.js.map +1 -1
  577. package/dist/ui/controllers/RadioSelectionController.js +0 -1
  578. package/dist/ui/controllers/RadioSelectionController.js.map +1 -1
  579. package/dist/ui/date/DateTime.js +3 -3
  580. package/dist/ui/date/DateTime.js.map +1 -1
  581. package/dist/ui/dialog/UiDialog.d.ts +3 -0
  582. package/dist/ui/dialog/UiDialog.d.ts.map +1 -1
  583. package/dist/ui/dialog/UiDialog.js +17 -38
  584. package/dist/ui/dialog/UiDialog.js.map +1 -1
  585. package/dist/ui/effects/ripple.d.ts.map +1 -1
  586. package/dist/ui/effects/ripple.js +25 -19
  587. package/dist/ui/effects/ripple.js.map +1 -1
  588. package/dist/ui/effects/rippleDirective.js +6 -7
  589. package/dist/ui/effects/rippleDirective.js.map +1 -1
  590. package/dist/ui/icons/Icons.d.ts +3 -2
  591. package/dist/ui/icons/Icons.d.ts.map +1 -1
  592. package/dist/ui/icons/Icons.js +2 -1
  593. package/dist/ui/icons/Icons.js.map +1 -1
  594. package/dist/ui/icons/UiIcon.js +4 -3
  595. package/dist/ui/icons/UiIcon.js.map +1 -1
  596. package/dist/ui/input/CheckboxElement.js +12 -10
  597. package/dist/ui/input/CheckboxElement.js.map +1 -1
  598. package/dist/ui/input/CheckedElement.d.ts +1 -1
  599. package/dist/ui/input/CheckedElement.d.ts.map +1 -1
  600. package/dist/ui/input/CheckedElement.js +5 -16
  601. package/dist/ui/input/CheckedElement.js.map +1 -1
  602. package/dist/ui/input/Input.js +170 -235
  603. package/dist/ui/input/Input.js.map +1 -1
  604. package/dist/ui/input/RadioElement.js +13 -11
  605. package/dist/ui/input/RadioElement.js.map +1 -1
  606. package/dist/ui/input/SwitchElement.js +0 -18
  607. package/dist/ui/input/SwitchElement.js.map +1 -1
  608. package/dist/ui/input/TextAreaElement.js +0 -15
  609. package/dist/ui/input/TextAreaElement.js.map +1 -1
  610. package/dist/ui/list/{DividerElement.d.ts → UiDivider.element.d.ts} +6 -6
  611. package/dist/ui/list/UiDivider.element.d.ts.map +1 -0
  612. package/dist/ui/list/UiDivider.element.js +39 -0
  613. package/dist/ui/list/UiDivider.element.js.map +1 -0
  614. package/dist/ui/list/UiDivider.styles.d.ts +3 -0
  615. package/dist/ui/list/UiDivider.styles.d.ts.map +1 -0
  616. package/dist/ui/list/UiDivider.styles.js +49 -0
  617. package/dist/ui/list/UiDivider.styles.js.map +1 -0
  618. package/dist/ui/list/UiDropdownList.js +7 -48
  619. package/dist/ui/list/UiDropdownList.js.map +1 -1
  620. package/dist/ui/list/UiList.js +3 -15
  621. package/dist/ui/list/UiList.js.map +1 -1
  622. package/dist/ui/list/UiListItem.js +4 -17
  623. package/dist/ui/list/UiListItem.js.map +1 -1
  624. package/dist/ui/list/UiListbox.js +0 -1
  625. package/dist/ui/list/UiListbox.js.map +1 -1
  626. package/dist/ui/notification/SnackNotifications.js +1 -2
  627. package/dist/ui/notification/SnackNotifications.js.map +1 -1
  628. package/dist/ui/notification/Snackbar.js +27 -51
  629. package/dist/ui/notification/Snackbar.js.map +1 -1
  630. package/dist/ui/progress/Range.js +24 -23
  631. package/dist/ui/progress/Range.js.map +1 -1
  632. package/dist/ui/progress/UiProgress.js +0 -11
  633. package/dist/ui/progress/UiProgress.js.map +1 -1
  634. package/dist/ui/table/DataTable.js +7 -12
  635. package/dist/ui/table/DataTable.js.map +1 -1
  636. package/dist/ui/tabs/UiTab.js +24 -25
  637. package/dist/ui/tabs/UiTab.js.map +1 -1
  638. package/dist/ui/tabs/UiTabs.d.ts +13 -1
  639. package/dist/ui/tabs/UiTabs.d.ts.map +1 -1
  640. package/dist/ui/tabs/UiTabs.js +62 -47
  641. package/dist/ui/tabs/UiTabs.js.map +1 -1
  642. package/dist/visualization/elements/VizWorkspaceElement.js +12 -21
  643. package/dist/visualization/elements/VizWorkspaceElement.js.map +1 -1
  644. package/dist/visualization/lib/AssociationAnchors.js +16 -28
  645. package/dist/visualization/lib/AssociationAnchors.js.map +1 -1
  646. package/dist/visualization/lib/Point.js +0 -2
  647. package/dist/visualization/lib/Point.js.map +1 -1
  648. package/dist/visualization/lib/SelectionManager.js +10 -11
  649. package/dist/visualization/lib/SelectionManager.js.map +1 -1
  650. package/dist/visualization/lib/WorkspaceAlignment.js +0 -1
  651. package/dist/visualization/lib/WorkspaceAlignment.js.map +1 -1
  652. package/dist/visualization/lib/WorkspaceDebugging.js +5 -8
  653. package/dist/visualization/lib/WorkspaceDebugging.js.map +1 -1
  654. package/dist/visualization/lib/WorkspaceEdges.js +17 -19
  655. package/dist/visualization/lib/WorkspaceEdges.js.map +1 -1
  656. package/dist/visualization/lib/WorkspaceGestures.js +0 -3
  657. package/dist/visualization/lib/WorkspaceGestures.js.map +1 -1
  658. package/dist/visualization/lib/WorkspaceSizing.js +4 -6
  659. package/dist/visualization/lib/WorkspaceSizing.js.map +1 -1
  660. package/dist/visualization/lib/lines/RectilinearLine.js +8 -34
  661. package/dist/visualization/lib/lines/RectilinearLine.js.map +1 -1
  662. package/dist/visualization/lib/tips/RectilinearTip.js +0 -1
  663. package/dist/visualization/lib/tips/RectilinearTip.js.map +1 -1
  664. package/dist/visualization/lib/tips/TipArtist.js +0 -3
  665. package/dist/visualization/lib/tips/TipArtist.js.map +1 -1
  666. package/dist/visualization/plugin/dnd/DragAndDropPlugin.js +3 -5
  667. package/dist/visualization/plugin/dnd/DragAndDropPlugin.js.map +1 -1
  668. package/dist/visualization/plugin/group-selection/GroupSelection.js +19 -19
  669. package/dist/visualization/plugin/group-selection/GroupSelection.js.map +1 -1
  670. package/dist/visualization/plugin/positioning/WorkspaceLayout.js +21 -38
  671. package/dist/visualization/plugin/positioning/WorkspaceLayout.js.map +1 -1
  672. package/package.json +3 -2
  673. package/src/define/dialog/delete-cookie-action-dialog.ts +16 -0
  674. package/src/define/dialog/set-cookie-action-dialog.ts +16 -0
  675. package/src/define/http/http-assertions.ts +3 -3
  676. package/src/define/http/http-flows.ts +15 -0
  677. package/src/define/ui/ui-divider.ts +7 -2
  678. package/src/elements/ApiElement.ts +7 -0
  679. package/src/elements/amf/ApiAuthorizationEditor.element.ts +1 -1
  680. package/src/elements/amf/ApiOperationDocument.element.ts +2 -1
  681. package/src/elements/amf/ApiRequest.element.ts +1 -1
  682. package/src/elements/amf/ApiRequestEditor.element.ts +0 -4
  683. package/src/elements/authorization/ui/Authorization.ts +3 -5
  684. package/src/elements/dialog/DeleteCookieAction.element.ts +100 -0
  685. package/src/elements/dialog/DeleteCookieAction.styles.ts +14 -0
  686. package/src/elements/dialog/Rename.ts +8 -7
  687. package/src/elements/dialog/SetCookieAction.element.ts +183 -0
  688. package/src/elements/environment/EnvironmentEditor.styles.ts +5 -0
  689. package/src/elements/environment/EnvironmentEditor.ts +81 -22
  690. package/src/elements/environment/ServerEditor.ts +4 -8
  691. package/src/elements/environment/VariablesEditor.ts +3 -7
  692. package/src/elements/highlight/Prism.styles.ts +12 -5
  693. package/src/elements/http/BodyEditor.ts +10 -17
  694. package/src/elements/http/BodyMultipartEditor.ts +3 -20
  695. package/src/elements/http/BodyTextEditor.ts +0 -4
  696. package/src/elements/http/BodyUrlEncodedEditor.ts +5 -8
  697. package/src/elements/http/HeadersForm.ts +2 -9
  698. package/src/elements/http/HttpAssertions.element.ts +286 -0
  699. package/src/elements/http/HttpAssertions.styles.ts +7 -156
  700. package/src/elements/http/HttpFlows.common.ts +181 -0
  701. package/src/elements/http/HttpFlows.element.ts +722 -0
  702. package/src/elements/http/HttpFlows.styles.ts +29 -0
  703. package/src/elements/http/HttpFlowsUi.ts +1327 -0
  704. package/src/elements/http/RequestConfigElement.ts +10 -14
  705. package/src/elements/http/RequestEditor.ts +77 -35
  706. package/src/elements/http/UrlInput.ts +6 -6
  707. package/src/elements/http/UrlParamsForm.ts +2 -6
  708. package/src/elements/layout/SplitView.styles.ts +1 -0
  709. package/src/elements/navigation/AppNavigationItem.styles.ts +2 -0
  710. package/src/elements/project/HttpProjectRequest.ts +16 -5
  711. package/src/elements/project/ProjectRunner.ts +3 -7
  712. package/src/elements/schema-design/AssociationFormElement.ts +4 -8
  713. package/src/elements/schema-design/DataEntityEditorElement.ts +8 -8
  714. package/src/elements/schema-design/DataSchemaDocument.ts +5 -9
  715. package/src/elements/schema-design/EntityFormElement.ts +6 -10
  716. package/src/elements/schema-design/PropertyFormElement.ts +11 -15
  717. package/src/pages/ApplicationScreen.ts +1 -1
  718. package/src/pages/api-client/ApiClient.styles.ts +22 -3
  719. package/src/pages/api-client/Authenticate.screen.ts +19 -3
  720. package/src/pages/api-client/StoreConfig.screen.ts +4 -2
  721. package/src/pages/api-client/StoreConfig.styles.ts +5 -0
  722. package/src/pages/api-client/pages/Files.page.ts +2 -1
  723. package/src/pages/http-project/HttpProject.screen.ts +14 -26
  724. package/src/pages/http-project/types.ts +8 -6
  725. package/src/styles/m3/surface.module.ts +11 -27
  726. package/src/styles/m3/theme.css +36 -0
  727. package/src/styles/m3/tokens.css +11 -0
  728. package/src/ui/UiElement.ts +7 -0
  729. package/src/ui/button/SegmentedButton.styles.ts +3 -1
  730. package/src/ui/dialog/UiDialog.ts +3 -0
  731. package/src/ui/effects/ripple.ts +6 -1
  732. package/src/ui/icons/Icons.ts +3 -2
  733. package/src/ui/input/CheckedElement.ts +3 -3
  734. package/src/ui/input/Input.ts +1 -1
  735. package/src/ui/list/UiDivider.element.ts +41 -0
  736. package/src/ui/list/UiDivider.styles.ts +49 -0
  737. package/src/ui/tabs/UiTabs.ts +55 -13
  738. package/test/amf/authorization/OAuth2Method.test.ts +1 -1
  739. package/test/elements/http/HttpAssertions.test.ts +5 -6
  740. package/test/elements/http/HttpFlows.test.ts +485 -0
  741. package/tsconfig.json +2 -2
  742. package/dist/elements/http/HttpAssertions.d.ts +0 -114
  743. package/dist/elements/http/HttpAssertions.d.ts.map +0 -1
  744. package/dist/elements/http/HttpAssertions.js +0 -1144
  745. package/dist/elements/http/HttpAssertions.js.map +0 -1
  746. package/dist/elements/http/internals.d.ts +0 -150
  747. package/dist/elements/http/internals.d.ts.map +0 -1
  748. package/dist/elements/http/internals.js +0 -150
  749. package/dist/elements/http/internals.js.map +0 -1
  750. package/dist/ui/list/DividerElement.d.ts.map +0 -1
  751. package/dist/ui/list/DividerElement.js +0 -87
  752. package/dist/ui/list/DividerElement.js.map +0 -1
  753. package/src/elements/http/HttpAssertions.ts +0 -1187
  754. package/src/elements/http/internals.ts +0 -151
  755. package/src/http-client/docs/Files.md +0 -28
  756. package/src/ui/list/DividerElement.ts +0 -84
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpFlowsUi.js","sourceRoot":"","sources":["../../../src/elements/http/HttpFlowsUi.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\nimport {\n IHttpStep, FlowSourceEnum, FlowRequestDataEnum,\n DataSteps, FlowResponseDataEnum, TransformationSteps, HttpAssertions as CoreAssertions,\n AmfNamespace,\n ToBeTypes,\n} from \"@api-client/core/build/browser.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { html, nothing, TemplateResult } from \"lit\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport ApiElement from \"../ApiElement.js\";\nimport type UiChip from \"../../ui/chip/UiChip.js\";\nimport type Input from \"../../ui/input/Input.js\";\nimport type { UiDialogClosingReason } from \"../../ui/dialog/UiDialog.js\";\nimport '../../define/ui/ui-list.js';\nimport '../../define/ui/ui-list-item.js';\nimport '../../define/ui/ui-dropdown-list.js';\nimport '../../define/ui/ui-icon.js';\nimport '../../define/ui/ui-icon-button.js';\nimport '../../define/ui/ui-text-field.js';\nimport '../../define/ui/ui-chip.js';\nimport '../../define/ui/ui-dialog.js';\nimport '../../define/dialog/delete-cookie-action-dialog.js';\nimport '../../define/dialog/set-cookie-action-dialog.js';\n\nexport interface ChipCreateInfo {\n source?: FlowSourceEnum,\n data?: FlowRequestDataEnum | FlowResponseDataEnum;\n variant?: string;\n disabled?: boolean;\n title?: string;\n}\n\nexport interface StepsTarget {\n steps: IHttpStep[];\n}\n\n/**\n * The base UI class for HTTP flows and assertions\n * since they are practically the same concept.\n */\nexport abstract class HttpFlowsUi extends ApiElement {\n /**\n * A chip that is currently being dragged in the UI.\n */\n protected draggedChip?: UiChip;\n\n /**\n * Because of the differences in the model between assertions and flows we need to abstract a method\n * to find an object that contains the `steps` so the logic can operate on it.\n * \n * @param assertionOrActionIndex The index of the assertion or the action in the model.\n */\n protected abstract getStepsTarget(assertionOrActionIndex: number): StepsTarget | undefined;\n\n /**\n * A method to read an HttpStep from an event.\n */\n protected abstract stepFromChangeEvent(e: Event): IHttpStep | undefined;\n\n /**\n * Checks whether the dragged element has the required content in the data transfer.\n */\n protected isValidDropTarget(dataTransfer?: DataTransfer | null): boolean {\n if (!dataTransfer) {\n return false;\n }\n const { types } = dataTransfer;\n return types.includes('flow/group') && types.includes('flow/kind');\n }\n\n /**\n * Handles the suggestion chip drag start event.\n */\n protected handleChipDragStart(e: DragEvent): void {\n const { dataTransfer } = e;\n if (!dataTransfer) {\n return;\n }\n const chip = e.target as UiChip;\n const { group, kind, source, data, variant } = chip.dataset;\n if (!group || !kind) {\n return;\n }\n this.illustrateDraggedChip(chip, dataTransfer);\n dataTransfer.setData('flow/group', group);\n dataTransfer.setData('flow/kind', kind);\n dataTransfer.setData(`flow/${group}`, '');\n dataTransfer.setData(`flow/${kind}`, '');\n if (source) {\n dataTransfer.setData('flow/source', source);\n }\n if (data) {\n dataTransfer.setData('flow/data', data);\n }\n if (variant) {\n dataTransfer.setData('flow/variant', variant);\n }\n chip.blur();\n }\n\n /**\n * Handles the suggestion chip drag end event.\n */\n protected handleChipDragEnd(e: DragEvent): void {\n const { draggedChip } = this;\n if (!draggedChip) {\n return;\n }\n e.preventDefault();\n draggedChip.parentElement?.removeChild(draggedChip);\n }\n\n /**\n * When interacting with a chip an MD ripple effect is generated.\n * This causes the default drag image to include the surrounding ripple effect and\n * everything around. This makes a copy of the chip and sets it as the drag image.\n * \n * Note, the copy of the chip has to be added to the DOM and be there for some time\n * so the browser render it and set as the image. Because of that the copy is removed\n * with the drop and not immediately.\n */\n protected illustrateDraggedChip(chip: UiChip, dataTransfer: DataTransfer): void {\n const copy = chip.cloneNode(true) as UiChip;\n copy.style.position = 'absolute';\n copy.style.top = `-100px`;\n this.draggedChip = copy;\n document.body.appendChild(copy);\n dataTransfer.setDragImage(copy, 0, 0);\n }\n\n /**\n * Removes all `dragover` classes from elements on the shadow DOM.\n */\n protected resetDragIndices(): void {\n const nodes = (this.shadowRoot as ShadowRoot).querySelectorAll('.dragover');\n Array.from(nodes).forEach(n => n.classList.remove('dragover'));\n }\n\n /**\n * A handler for the `dragover` event over a valid target.\n * Sets the `dragover` class on the target.\n */\n protected handleTargetDragOver(e: DragEvent): void {\n const { draggedChip } = this;\n if (!draggedChip || e.defaultPrevented || !this.isValidDropTarget(e.dataTransfer)) {\n return;\n }\n e.preventDefault();\n const dt = e.dataTransfer as DataTransfer;\n dt.dropEffect = 'copy';\n const target = e.currentTarget as HTMLElement;\n target.classList.add('dragover');\n }\n\n /**\n * A handler for the `dragleave` event over a valid target.\n * Removes the `dragover` class from the target.\n */\n protected handleTargetDragLeave(e: DragEvent): void {\n if (e.defaultPrevented || !this.isValidDropTarget(e.dataTransfer)) {\n return;\n }\n const target = e.currentTarget as HTMLElement;\n target.classList.remove('dragover');\n }\n\n /**\n * Reads the `data-index` and `data-step-index` from the target of the event\n * and calls the `processDrop()` with read values.\n */\n protected handleDrop(e: DragEvent): void {\n const { dataTransfer } = e;\n if (!dataTransfer || e.defaultPrevented || !this.isValidDropTarget(dataTransfer)) {\n return;\n }\n e.preventDefault();\n this.resetDragIndices();\n const { index, stepIndex } = (e.target as HTMLElement).dataset;\n const assertionOrActionIndex = Number(index);\n if (Number.isNaN(assertionOrActionIndex)) {\n return;\n }\n let typedStepIndex: number | undefined;\n if (stepIndex) {\n const tmp = Number(stepIndex);\n if (!Number.isNaN(tmp)) {\n typedStepIndex = tmp;\n }\n }\n this.processDrop(dataTransfer, assertionOrActionIndex, typedStepIndex);\n }\n\n /**\n * A logic executed when a suggestion chip drop happens on a valid target.\n * \n * @param dataTransfer The event's dataTransfer object \n * @param assertionOrActionIndex Action's or assertion's index where the drop happened.\n * @param stepIndex The detected index of the step. When not set it adds the step at the end.\n */\n protected processDrop(dataTransfer: DataTransfer, assertionOrActionIndex: number, stepIndex?: number): void {\n const group = dataTransfer.getData('flow/group');\n if (!group) {\n return;\n }\n if (group === 'data-source') {\n this.processDataSourceDrop(dataTransfer, assertionOrActionIndex, stepIndex);\n } else if (group === 'transformation') {\n this.processTransformationDrop(dataTransfer, assertionOrActionIndex, stepIndex);\n } else if (group === 'assertion') {\n this.processAssertionDrop(dataTransfer, assertionOrActionIndex, stepIndex);\n } else if (group === 'action') {\n this.processActionDrop(dataTransfer, assertionOrActionIndex, stepIndex);\n }\n }\n\n /**\n * Processes dropping of a `data-source` suggestion chip.\n */\n protected processDataSourceDrop(dataTransfer: DataTransfer, assertionOrActionIndex: number, stepIndex?: number): void {\n const target = this.getStepsTarget(assertionOrActionIndex);\n if (!target) {\n return;\n }\n this.setupDataSource(target, dataTransfer, stepIndex);\n }\n\n /**\n * Processes dropping of a `transformation` suggestion chip.\n */\n protected processTransformationDrop(dataTransfer: DataTransfer, assertionOrActionIndex: number, stepIndex?: number): void {\n const target = this.getStepsTarget(assertionOrActionIndex);\n if (!target) {\n return;\n }\n this.setupTransformation(target, dataTransfer, stepIndex);\n }\n\n /**\n * Processes dropping of a `assertion` suggestion chip.\n */\n protected processAssertionDrop(dataTransfer: DataTransfer, assertionOrActionIndex: number, stepIndex?: number): void {\n const target = this.getStepsTarget(assertionOrActionIndex);\n if (!target) {\n return;\n }\n this.setupAssertion(target, dataTransfer, stepIndex);\n }\n\n /**\n * Processes dropping of a `action` suggestion chip.\n */\n protected processActionDrop(dataTransfer: DataTransfer, assertionOrActionIndex: number, stepIndex?: number): void {\n const target = this.getStepsTarget(assertionOrActionIndex);\n if (!target) {\n return;\n }\n this.setupAction(target, dataTransfer, stepIndex);\n }\n\n protected setupDataSource(target: StepsTarget, dataTransfer: DataTransfer, stepIndex?: number): void {\n const source = dataTransfer.getData('flow/source') as FlowSourceEnum;\n const data = dataTransfer.getData('flow/data') as FlowRequestDataEnum | FlowResponseDataEnum;\n const step = new DataSteps.ReadDataSourceStep(source, data).toJSON();\n this.appendStep(step, target, stepIndex);\n }\n\n protected setupTransformation(target: StepsTarget, dataTransfer: DataTransfer, stepIndex?: number): void {\n let step: IHttpStep | undefined;\n const kind = dataTransfer.getData('flow/kind');\n if (kind === DataSteps.ReadValueStepKind) {\n step = new DataSteps.ReadValueStep().toJSON();\n } else if (kind === TransformationSteps.AsNumberStepKind) {\n step = new TransformationSteps.AsNumberStep().toJSON();\n } else if (kind === TransformationSteps.RoundStepKind) {\n step = new TransformationSteps.RoundStep().toJSON();\n } else if (kind === TransformationSteps.AsLowerCaseStepKind) {\n step = new TransformationSteps.AsLowerCaseStep().toJSON();\n } else if (kind === TransformationSteps.AsUpperCaseStepKind) {\n step = new TransformationSteps.AsUpperCaseStep().toJSON();\n } else if (kind === TransformationSteps.TrimStepKind) {\n step = new TransformationSteps.TrimStep().toJSON();\n } else if (kind === TransformationSteps.SubstringStepKind) {\n step = new TransformationSteps.SubstringStep().toJSON();\n }\n if (!step) {\n return;\n }\n this.appendStep(step, target, stepIndex);\n }\n\n protected setupAssertion(target: StepsTarget, dataTransfer: DataTransfer, stepIndex?: number): void {\n let step: IHttpStep | undefined;\n const kind = dataTransfer.getData('flow/kind');\n if (kind === CoreAssertions.EqualAssertionKind) {\n step = new CoreAssertions.EqualAssertion().toJSON();\n } else if (kind === CoreAssertions.NotEqualAssertionKind) {\n step = new CoreAssertions.NotEqualAssertion().toJSON();\n } else if (kind === CoreAssertions.GreaterThanAssertionKind) {\n const instance = new CoreAssertions.GreaterThanAssertion();\n if (dataTransfer.getData('flow/variant') === 'equal') {\n instance.equal = true;\n }\n step = instance.toJSON();\n } else if (kind === CoreAssertions.LessThanAssertionKind) {\n const instance = new CoreAssertions.LessThanAssertion();\n if (dataTransfer.getData('flow/variant') === 'equal') {\n instance.equal = true;\n }\n step = instance.toJSON();\n } else if (kind === CoreAssertions.IncludesAssertionKind) {\n step = new CoreAssertions.IncludesAssertion().toJSON();\n } else if (kind === CoreAssertions.NotIncludesAssertionKind) {\n step = new CoreAssertions.NotIncludesAssertion().toJSON();\n } else if (kind === CoreAssertions.MatchesAssertionKind) {\n step = new CoreAssertions.MatchesAssertion().toJSON();\n } else if (kind === CoreAssertions.OkAssertionKind) {\n step = new CoreAssertions.OkAssertion().toJSON();\n } else if (kind === CoreAssertions.NotOkAssertionKind) {\n step = new CoreAssertions.NotOkAssertion().toJSON();\n } else if (kind === CoreAssertions.ToBeAssertionKind) {\n step = new CoreAssertions.ToBeAssertion().toJSON();\n } else if (kind === CoreAssertions.NotToBeAssertionKind) {\n step = new CoreAssertions.NotToBeAssertion().toJSON();\n }\n if (!step) {\n return;\n }\n this.appendStep(step, target, stepIndex);\n }\n\n protected setupAction(target: StepsTarget, dataTransfer: DataTransfer, stepIndex?: number): void {\n let step: IHttpStep | undefined;\n const kind = dataTransfer.getData('flow/kind');\n if (kind === DataSteps.SetCookieStepKind) {\n step = new DataSteps.SetCookieStep().toJSON();\n } else if (kind === DataSteps.SetVariableStepKind) {\n step = new DataSteps.SetVariableStep().toJSON();\n } else if (kind === DataSteps.DeleteCookieStepKind) {\n step = new DataSteps.DeleteCookieStep().toJSON();\n } else if (kind === DataSteps.DeleteVariableStepKind) {\n step = new DataSteps.DeleteVariableStep().toJSON();\n }\n if (!step) {\n return;\n }\n this.appendStep(step, target, stepIndex);\n }\n\n protected appendStep(step: IHttpStep, target: StepsTarget, stepIndex?: number): void {\n if (stepIndex === undefined) {\n target.steps.push(step);\n } else if (stepIndex === -1) {\n target.steps.unshift(step);\n } else {\n target.steps.splice(stepIndex, 0, step);\n }\n this.requestUpdate();\n this.notifyChange();\n }\n\n protected removeStep(target: StepsTarget, stepIndex: number): void {\n target.steps.splice(stepIndex, 1);\n this.notifyChange();\n this.requestUpdate();\n }\n\n protected handleSubstringStartChange(e: Event): void {\n const step = this.stepFromChangeEvent(e) as TransformationSteps.ISubstringStep | undefined;\n if (!step) {\n return;\n }\n const input = e.target as Input;\n input.checkValidity();\n step.start = input.valueAsNumber;\n this.requestUpdate();\n this.notifyChange();\n }\n\n protected handleSubstringEndChange(e: Event): void {\n const step = this.stepFromChangeEvent(e) as TransformationSteps.ISubstringStep | undefined;\n if (!step) {\n return;\n }\n const input = e.target as Input;\n input.checkValidity();\n step.end = input.valueAsNumber;\n this.requestUpdate();\n this.notifyChange();\n }\n\n protected handleRoundPrecisionChange(e: Event): void {\n const step = this.stepFromChangeEvent(e) as TransformationSteps.IRoundStep | undefined;\n if (!step) {\n return;\n }\n const input = e.target as Input;\n input.checkValidity();\n step.precision = input.valueAsNumber;\n this.requestUpdate();\n this.notifyChange();\n }\n\n protected handleReadValueStepChange(e: Event): void {\n const step = this.stepFromChangeEvent(e) as DataSteps.IReadValueStep | undefined;\n if (!step) {\n return;\n }\n const input = e.target as Input;\n input.checkValidity();\n step.path = input.value;\n this.requestUpdate();\n this.notifyChange();\n }\n\n protected handleGreaterThanAssertionValueChange(e: Event): void {\n const step = this.stepFromChangeEvent(e) as CoreAssertions.IGreaterThanAssertion | undefined;\n if (!step) {\n return;\n }\n const input = e.target as Input;\n input.checkValidity();\n step.value = Number(input.value);\n this.requestUpdate();\n this.notifyChange();\n }\n\n protected handleLessThanAssertionValueChange(e: Event): void {\n const step = this.stepFromChangeEvent(e) as CoreAssertions.ILessThanAssertion | undefined;\n if (!step) {\n return;\n }\n const input = e.target as Input;\n input.checkValidity();\n step.value = Number(input.value);\n this.requestUpdate();\n this.notifyChange();\n }\n\n protected handleIncludesAssertionValueChange(e: Event): void {\n const step = this.stepFromChangeEvent(e) as CoreAssertions.IIncludesAssertion | undefined;\n if (!step) {\n return;\n }\n const input = e.target as Input;\n input.checkValidity();\n step.value = input.value;\n this.requestUpdate();\n this.notifyChange();\n }\n\n protected handleToBeAssertionValueChange(e: Event): void {\n const step = this.stepFromChangeEvent(e) as CoreAssertions.IToBeAssertion | CoreAssertions.INotToBeAssertion | undefined;\n if (!step) {\n return;\n }\n const input = e.target as Input;\n input.checkValidity();\n step.value = input.value as ToBeTypes;\n this.requestUpdate();\n this.notifyChange();\n }\n\n protected handleMatchesAssertionValueChange(e: Event): void {\n const step = this.stepFromChangeEvent(e) as CoreAssertions.IMatchesAssertion | undefined;\n if (!step) {\n return;\n }\n const input = e.target as Input;\n step.value = input.value;\n this.requestUpdate();\n this.notifyChange();\n }\n\n protected handleEqualAssertionValueChange(e: Event): void {\n const input = e.target as Input;\n input.checkValidity();\n const assertionOrActionIndex = Number(input.dataset.assertionIndex);\n const stepIndex = Number(input.dataset.stepIndex);\n if (Number.isNaN(assertionOrActionIndex) || Number.isNaN(stepIndex)) {\n return;\n }\n const stepsTarget = this.getStepsTarget(assertionOrActionIndex);\n if (!stepsTarget) {\n return;\n }\n const step = stepsTarget.steps[stepIndex] as CoreAssertions.IEqualAssertion | undefined;\n if (!step) {\n return;\n }\n step.value = input.value;\n step.dataType = this.detectInputDataType(stepsTarget.steps.slice(0, stepIndex));\n this.requestUpdate();\n this.notifyChange();\n }\n\n /**\n * Detects the correct data type for the step value based on previous steps.\n * \n * @param steps The steps before the current step\n * @returns The data type for the step in the AMF namespace.\n */\n protected detectInputDataType(steps: IHttpStep[]): string {\n // we reverse the list so we move from the last step.\n const reversed = [...steps].reverse();\n for (const step of reversed) {\n if (step.kind === TransformationSteps.AsNumberStepKind) {\n return AmfNamespace.aml.vocabularies.shapes.number;\n }\n if (step.kind === DataSteps.ReadDataSourceStepKind) {\n const typed = step as DataSteps.IReadDataSourceStep;\n if (typed.data === FlowResponseDataEnum.status) {\n return AmfNamespace.aml.vocabularies.shapes.number;\n }\n }\n }\n return AmfNamespace.w3.xmlSchema.string;\n }\n\n protected validateRegexPattern(e: Event): void {\n const input = e.target as Input;\n try {\n RegExp(input.value);\n input.setCustomValidity('');\n } catch (_) {\n input.setCustomValidity('Pattern is invalid');\n }\n input.reportValidity();\n }\n\n protected handleVariableNameChange(e: Event): void {\n const step = this.stepFromChangeEvent(e) as DataSteps.ISetVariableStep | DataSteps.IDeleteVariableStep | undefined;\n if (!step) {\n return;\n }\n const input = e.target as Input;\n step.name = input.value;\n this.requestUpdate();\n this.notifyChange();\n }\n\n protected handleRemoveStep(e: Event): void {\n const target = e.currentTarget as HTMLElement;\n const assertionOrActionIndex = Number(target.dataset.index);\n const stepIndex = Number(target.dataset.stepIndex);\n if (Number.isNaN(assertionOrActionIndex) || Number.isNaN(stepIndex)) {\n return;\n }\n const stepsTarget = this.getStepsTarget(assertionOrActionIndex);\n if (!stepsTarget) {\n return;\n }\n this.removeStep(stepsTarget, stepIndex);\n }\n\n protected handleConfigureDeleteCookieStep(e: Event): void {\n const info = this.getEventStepLocation(e);\n if (!info) {\n return;\n }\n const stepsTarget = this.getStepsTarget(info.actionIndex);\n if (!stepsTarget) {\n return;\n }\n const step = stepsTarget.steps[info.stepIndex] as DataSteps.IDeleteCookieStep;\n const dialog = document.createElement('delete-cookie-action-dialog');\n dialog.step = step;\n dialog.modal = true;\n dialog.open = true;\n document.body.appendChild(dialog);\n dialog.addEventListener('close', (ev: Event): void => {\n document.parentElement?.removeChild(dialog);\n const typed = ev as CustomEvent<UiDialogClosingReason>;\n if (typed.detail.cancelled) {\n return;\n }\n const value = typed.detail.value as DataSteps.IDeleteCookieStep;\n \n if (!stepsTarget) {\n return;\n }\n stepsTarget.steps[info.stepIndex] = value;\n this.notifyChange();\n this.requestUpdate();\n });\n }\n\n protected handleConfigureSetCookieStep(e: Event): void {\n const info = this.getEventStepLocation(e);\n if (!info) {\n return;\n }\n const stepsTarget = this.getStepsTarget(info.actionIndex);\n if (!stepsTarget) {\n return;\n }\n const step = stepsTarget.steps[info.stepIndex] as DataSteps.ISetCookieStep;\n const dialog = document.createElement('set-cookie-action-dialog');\n dialog.step = step;\n dialog.modal = true;\n dialog.open = true;\n document.body.appendChild(dialog);\n dialog.addEventListener('close', (ev: Event): void => {\n document.parentElement?.removeChild(dialog);\n const typed = ev as CustomEvent<UiDialogClosingReason>;\n if (typed.detail.cancelled) {\n return;\n }\n const value = typed.detail.value as DataSteps.ISetCookieStep;\n if (!stepsTarget) {\n return;\n }\n stepsTarget.steps[info.stepIndex] = value;\n this.notifyChange();\n this.requestUpdate();\n });\n }\n\n protected getEventStepLocation(e: Event): { actionIndex: number, stepIndex: number } | undefined {\n const button = e.currentTarget as HTMLElement;\n const { index: ai, stepIndex: si } = button.dataset;\n const actionIndex = Number(ai);\n const stepIndex = Number(si);\n if (Number.isNaN(actionIndex) || Number.isNaN(stepIndex)) {\n return undefined;\n }\n return {\n actionIndex,\n stepIndex,\n }\n }\n\n protected renderBlockChip(label: string, group: string, kind: string, opts: ChipCreateInfo = {}): TemplateResult {\n const { data, disabled, source, variant, title } = opts;\n return html`\n <ui-chip \n draggable=\"true\" \n data-group=\"${group}\" \n data-kind=\"${kind}\" \n data-source=\"${ifDefined(source)}\" \n data-data=\"${ifDefined(data)}\" \n data-variant=\"${ifDefined(variant)}\" \n @dragstart=\"${this.handleChipDragStart}\" \n @dragend=\"${this.handleChipDragEnd}\"\n ?disabled=\"${disabled}\"\n title=\"${ifDefined(title)}\"\n >${label}</ui-chip>\n `;\n }\n\n protected renderDropSpacer(assertionOrActionIndex: number, stepIndex: number): TemplateResult {\n return html`<div class=\"drop-target spacer\" \n data-index=\"${assertionOrActionIndex}\" \n data-step-index=\"${stepIndex}\" \n @drop=\"${this.handleDrop}\" \n @dragover=\"${this.handleTargetDragOver}\"\n @dragleave=\"${this.handleTargetDragLeave}\"\n > </div>`;\n }\n\n protected renderStepPill(label: string, assertionOrActionIndex: number, stepIndex: number, suffix?: TemplateResult): TemplateResult {\n return html`\n <span class=\"step-pill with-icon\">\n ${label}\n ${suffix || nothing}\n <ui-icon-button\n title=\"Remove\"\n aria-label=\"Deletes this step\"\n @click=\"${this.handleRemoveStep}\"\n data-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n ><ui-icon icon=\"close\" role=\"presentation\"></ui-icon></ui-icon-button>\n </span>\n `;\n }\n\n protected renderSteps(item: StepsTarget, assertionOrActionIndex: number): TemplateResult {\n const content = Array.isArray(item.steps) && !!item.steps.length ? this.renderStepsList(item.steps, assertionOrActionIndex) : this.renderEmptyStep(assertionOrActionIndex);\n return html`\n <div \n class=\"steps\" \n data-index=\"${assertionOrActionIndex}\"\n @drop=\"${this.handleDrop}\" \n @dragover=\"${this.handleTargetDragOver}\"\n @dragleave=\"${this.handleTargetDragLeave}\"\n >${content}</div>\n `;\n }\n\n protected renderEmptyStep(actionIndex: number): TemplateResult {\n return html`\n <span class=\"step-pill empty drop-target space-step-left\" data-index=\"${actionIndex}\" @drop=\"${this.handleDrop}\" @dragover=\"${this.handleTargetDragOver}\">Empty slot</span>\n <span class=\"drop-info drop-target space-step-left\" data-index=\"${actionIndex}\" @drop=\"${this.handleDrop}\" @dragover=\"${this.handleTargetDragOver}\">Drop an action here</span>\n `;\n }\n\n protected renderStepsList(steps: IHttpStep[], assertionOrActionIndex: number): TemplateResult[] {\n const items: TemplateResult[] = [];\n steps.forEach((item, stepIndex) => {\n const content = this.renderStep(item, assertionOrActionIndex, stepIndex);\n if (content) {\n items.push(html`\n <div class=\"step-unit\">\n ${this.renderDropSpacer(assertionOrActionIndex, stepIndex)}\n ${content}\n </div>\n `);\n }\n });\n return items;\n }\n\n protected renderStep(item: IHttpStep, assertionOrActionIndex: number, stepIndex: number): TemplateResult | undefined {\n const { kind } = item;\n switch (kind) {\n // actions\n case DataSteps.ReadDataSourceStepKind: return this.renderReadDataSourceStep(item, assertionOrActionIndex, stepIndex);\n case DataSteps.ReadValueStepKind: return this.renderReadValueStep(item as DataSteps.IReadValueStep, assertionOrActionIndex, stepIndex);\n case DataSteps.DeleteCookieStepKind: return this.renderDeleteCookieStep(item as DataSteps.IDeleteCookieStep, assertionOrActionIndex, stepIndex);\n case DataSteps.SetCookieStepKind: return this.renderSetCookieStep(item as DataSteps.ISetCookieStep, assertionOrActionIndex, stepIndex);\n case DataSteps.SetVariableStepKind: return this.renderSetVariableStep(item as DataSteps.ISetVariableStep, assertionOrActionIndex, stepIndex);\n case DataSteps.DeleteVariableStepKind: return this.renderDeleteVariableStep(item as DataSteps.IDeleteVariableStep, assertionOrActionIndex, stepIndex);\n\n // transformations\n case TransformationSteps.AsNumberStepKind: return this.renderStepPill('As number', assertionOrActionIndex, stepIndex);\n case TransformationSteps.AsLowerCaseStepKind: return this.renderStepPill('To lower case', assertionOrActionIndex, stepIndex);\n case TransformationSteps.AsUpperCaseStepKind: return this.renderStepPill('To upper case', assertionOrActionIndex, stepIndex);\n case TransformationSteps.TrimStepKind: return this.renderStepPill('Trim', assertionOrActionIndex, stepIndex);\n case TransformationSteps.RoundStepKind: return this.renderRoundStep(item as TransformationSteps.IRoundStep, assertionOrActionIndex, stepIndex);\n case TransformationSteps.SubstringStepKind: return this.renderSubstringStep(item as TransformationSteps.ISubstringStep, assertionOrActionIndex, stepIndex);\n\n // assertions\n case CoreAssertions.EqualAssertionKind: return this.renderEqualAssertion(item as CoreAssertions.IEqualAssertion, assertionOrActionIndex, stepIndex);\n case CoreAssertions.NotEqualAssertionKind: return this.renderNotEqualAssertion(item as CoreAssertions.INotEqualAssertion, assertionOrActionIndex, stepIndex);\n case CoreAssertions.GreaterThanAssertionKind: return this.renderGreaterThanAssertion(item as CoreAssertions.IGreaterThanAssertion, assertionOrActionIndex, stepIndex);\n case CoreAssertions.LessThanAssertionKind: return this.renderLessThanAssertion(item as CoreAssertions.ILessThanAssertion, assertionOrActionIndex, stepIndex);\n case CoreAssertions.IncludesAssertionKind: return this.renderIncludesAssertion(item as CoreAssertions.IIncludesAssertion, assertionOrActionIndex, stepIndex);\n case CoreAssertions.NotIncludesAssertionKind: return this.renderNotIncludesAssertion(item as CoreAssertions.INotIncludesAssertion, assertionOrActionIndex, stepIndex);\n case CoreAssertions.MatchesAssertionKind: return this.renderMatchesAssertion(item as CoreAssertions.IMatchesAssertion, assertionOrActionIndex, stepIndex);\n case CoreAssertions.OkAssertionKind: return this.renderStepPill('Is OK', assertionOrActionIndex, stepIndex);\n case CoreAssertions.NotOkAssertionKind: return this.renderStepPill('Is not OK', assertionOrActionIndex, stepIndex);\n case CoreAssertions.ToBeAssertionKind: return this.renderToBeAssertion(item as CoreAssertions.IToBeAssertion, assertionOrActionIndex, stepIndex);\n case CoreAssertions.NotToBeAssertionKind: return this.renderNotToBeAssertion(item as CoreAssertions.INotToBeAssertion, assertionOrActionIndex, stepIndex);\n\n default: \n // eslint-disable-next-line no-console\n console.warn(`Unsupported step`, kind);\n return undefined;\n }\n }\n\n protected renderReadDataSourceStep(item: DataSteps.IReadDataSourceStep, actionIndex: number, stepIndex: number): TemplateResult | undefined {\n const { data, source } = item;\n if (!data || !source) {\n // invalid configuration\n return undefined;\n }\n let label: string | undefined;\n if (source === FlowSourceEnum.response) {\n if (data === FlowResponseDataEnum.url) {\n label = 'Response URL';\n } else if (data === FlowResponseDataEnum.headers) {\n label = 'Response headers';\n } else if (data === FlowResponseDataEnum.status) {\n label = 'Status code';\n } else if (data === FlowResponseDataEnum.statusText) {\n label = 'Status message';\n } else if (data === FlowResponseDataEnum.body) {\n label = 'Response body';\n }\n } else if (source === FlowSourceEnum.request) {\n if (data === FlowRequestDataEnum.url) {\n label = 'Request URL';\n } else if (data === FlowRequestDataEnum.headers) {\n label = 'Request headers';\n } else if (data === FlowRequestDataEnum.body) {\n label = 'Request body';\n } else if (data === FlowRequestDataEnum.method) {\n label = 'Request method';\n }\n }\n if (!label) {\n return undefined;\n }\n return this.renderStepPill(label, actionIndex, stepIndex);\n }\n\n protected renderReadValueStep(item: DataSteps.IReadValueStep, assertionOrActionIndex: number, stepIndex: number): TemplateResult {\n const pill = this.renderStepPill('Read value', assertionOrActionIndex, stepIndex);\n return html`\n ${pill}\n <ui-text-field\n name=\"value.${assertionOrActionIndex}.${stepIndex}\"\n data-assertion-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n label=\"Path to value\"\n required\n .value=\"${live(item.path || '')}\"\n class=\"space-step-left\"\n @change=\"${this.handleReadValueStepChange}\"\n ></ui-text-field>\n `;\n }\n\n protected renderDeleteCookieStep(item: DataSteps.IDeleteCookieStep, assertionOrActionIndex: number, stepIndex: number): TemplateResult {\n const { name, url } = item;\n let label: string;\n if (name && url) {\n label = 'by name and URL';\n } else if (name) {\n label = 'by name';\n } else if (url) {\n label = 'by URL';\n } else {\n label = 'all cookies';\n }\n\n const suffix = html`\n <ui-icon-button\n title=\"Configure this step\"\n aria-label=\"Configure this step\"\n data-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n @click=\"${this.handleConfigureDeleteCookieStep}\"\n ><ui-icon icon=\"tune\" role=\"presentation\"></ui-icon></ui-icon-button>\n `;\n const pill = this.renderStepPill(`Delete cookie (${label})`, assertionOrActionIndex, stepIndex, suffix);\n return pill;\n }\n\n protected renderSetCookieStep(item: DataSteps.ISetCookieStep, assertionOrActionIndex: number, stepIndex: number): TemplateResult {\n const suffix = html`\n <ui-icon-button\n title=\"Configure this step\"\n aria-label=\"Configure this step\"\n data-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n @click=\"${this.handleConfigureSetCookieStep}\"\n ><ui-icon icon=\"tune\" role=\"presentation\"></ui-icon></ui-icon-button>\n `;\n const pill = this.renderStepPill('Set cookie', assertionOrActionIndex, stepIndex, suffix);\n return pill;\n }\n\n protected renderSetVariableStep(item: DataSteps.ISetVariableStep, assertionOrActionIndex: number, stepIndex: number): TemplateResult {\n const { name = '' } = item;\n const pill = this.renderStepPill('Set variable', assertionOrActionIndex, stepIndex);\n return html`\n ${pill}\n <ui-text-field\n name=\"variable.${assertionOrActionIndex}.${stepIndex}\"\n data-assertion-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n label=\"Variable name\"\n required\n .value=\"${live(name)}\"\n @change=\"${this.handleVariableNameChange}\"\n class=\"space-step-left\"\n pattern=\"[a-zA-Z0-9_]+\"\n aria-label=\"Variable name\"\n ></ui-text-field>\n `;\n }\n\n protected renderDeleteVariableStep(item: DataSteps.IDeleteVariableStep, assertionOrActionIndex: number, stepIndex: number): TemplateResult {\n const { name = '' } = item;\n const pill = this.renderStepPill('Delete variable', assertionOrActionIndex, stepIndex);\n return html`\n ${pill}\n <ui-text-field\n name=\"variable.${assertionOrActionIndex}.${stepIndex}\"\n data-assertion-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n label=\"Variable name\"\n required\n .value=\"${live(name)}\"\n @change=\"${this.handleVariableNameChange}\"\n class=\"space-step-left\"\n pattern=\"[a-zA-Z0-9_]+\"\n aria-label=\"Variable name\"\n ></ui-text-field>\n `;\n }\n\n protected renderRoundStep(item: TransformationSteps.IRoundStep, assertionOrActionIndex: number, stepIndex: number): TemplateResult {\n const pill = this.renderStepPill('Round', assertionOrActionIndex, stepIndex);\n const { precision = 0 } = item;\n return html`\n ${pill}\n <ui-text-field\n name=\"precision.${assertionOrActionIndex}.${stepIndex}\"\n data-assertion-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n label=\"Precision\"\n required\n .value=\"${live(String(precision))}\"\n @change=\"${this.handleRoundPrecisionChange}\"\n class=\"space-step-left number-input\"\n type=\"number\"\n min=\"0\"\n max=\"100\"\n step=\"1\"\n title=\"The number of digits to appear after the decimal point. Should be a value between 0 and 100, inclusive.\"\n ></ui-text-field>\n `;\n }\n\n protected renderSubstringStep(item: TransformationSteps.ISubstringStep, assertionOrActionIndex: number, stepIndex: number): TemplateResult {\n const pill = this.renderStepPill('Substring', assertionOrActionIndex, stepIndex);\n const { start = 0, end } = item;\n return html`\n ${pill}\n <ui-text-field\n name=\"start.${assertionOrActionIndex}.${stepIndex}\"\n data-assertion-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n label=\"Start\"\n required\n .value=\"${live(String(start))}\"\n @change=\"${this.handleSubstringStartChange}\"\n class=\"space-step-left number-input\"\n type=\"number\"\n step=\"1\"\n title=\"The index of the first character to include in the returned substring.\"\n ></ui-text-field>\n\n <ui-text-field\n name=\"end.${assertionOrActionIndex}.${stepIndex}\"\n data-assertion-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n label=\"End\"\n .value=\"${live(end ? String(end) : '')}\"\n @change=\"${this.handleSubstringEndChange}\"\n class=\"space-step-left number-input\"\n type=\"number\"\n step=\"1\"\n title=\"The index of the first character to exclude from the returned substring.\"\n ></ui-text-field>\n `;\n }\n\n protected renderEqualAssertion(item: CoreAssertions.IEqualAssertion, assertionOrActionIndex: number, stepIndex: number): TemplateResult {\n return html`\n <ui-text-field\n name=\"equal.${assertionOrActionIndex}.${stepIndex}\"\n data-assertion-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n data-kind=\"${CoreAssertions.EqualAssertionKind}\"\n label=\"Equal to\"\n required\n .value=\"${live(item.value || '')}\"\n @change=\"${this.handleEqualAssertionValueChange}\"\n >\n <ui-icon-button\n slot=\"suffix\"\n title=\"Remove assertion\"\n aria-label=\"Deletes this assertion\"\n @click=\"${this.handleRemoveStep}\"\n data-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n ><ui-icon icon=\"close\" role=\"presentation\"></ui-icon></ui-icon-button>\n </ui-text-field>\n `;\n }\n\n protected renderNotEqualAssertion(item: CoreAssertions.INotEqualAssertion, assertionOrActionIndex: number, stepIndex: number): TemplateResult {\n return html`\n <ui-text-field\n name=\"not-equal.${assertionOrActionIndex}.${stepIndex}\"\n data-assertion-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n data-kind=\"${CoreAssertions.NotEqualAssertionKind}\"\n label=\"Not equal to\"\n required\n .value=\"${live(item.value || '')}\"\n @change=\"${this.handleEqualAssertionValueChange}\"\n >\n <ui-icon-button\n slot=\"suffix\"\n title=\"Remove assertion\"\n aria-label=\"Deletes this assertion\"\n @click=\"${this.handleRemoveStep}\"\n data-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n ><ui-icon icon=\"close\" role=\"presentation\"></ui-icon></ui-icon-button>\n </ui-text-field>\n `;\n }\n\n protected renderGreaterThanAssertion(item: CoreAssertions.IGreaterThanAssertion, assertionOrActionIndex: number, stepIndex: number): TemplateResult {\n const { equal, value } = item;\n const label = equal ? 'Greater than equal' : 'Greater than';\n const effectiveValue = typeof value === 'number' ? String(value) : '';\n return html`\n <ui-text-field\n name=\"value.${assertionOrActionIndex}.${stepIndex}\"\n data-assertion-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n data-kind=\"${CoreAssertions.GreaterThanAssertionKind}\"\n data-variant=\"${equal ? 'equal' : ''}\"\n label=\"${label}\"\n required\n .value=\"${live(effectiveValue)}\"\n @change=\"${this.handleGreaterThanAssertionValueChange}\"\n inputMode=\"numeric\"\n >\n <ui-icon-button\n slot=\"suffix\"\n title=\"Remove assertion\"\n aria-label=\"Deletes this assertion\"\n @click=\"${this.handleRemoveStep}\"\n data-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n ><ui-icon icon=\"close\" role=\"presentation\"></ui-icon></ui-icon-button>\n </ui-text-field>\n `;\n }\n\n protected renderLessThanAssertion(item: CoreAssertions.ILessThanAssertion, assertionOrActionIndex: number, stepIndex: number): TemplateResult {\n const { equal, value } = item;\n const label = equal ? 'Less than equal' : 'Less than';\n const effectiveValue = typeof value === 'number' ? String(value) : '';\n return html`\n <ui-text-field\n name=\"value.${assertionOrActionIndex}.${stepIndex}\"\n data-assertion-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n data-kind=\"${CoreAssertions.LessThanAssertionKind}\"\n data-variant=\"${equal ? 'equal' : ''}\"\n label=\"${label}\"\n required\n .value=\"${live(effectiveValue)}\"\n @change=\"${this.handleLessThanAssertionValueChange}\"\n inputMode=\"numeric\"\n >\n <ui-icon-button\n slot=\"suffix\"\n title=\"Remove assertion\"\n aria-label=\"Deletes this assertion\"\n @click=\"${this.handleRemoveStep}\"\n data-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n ><ui-icon icon=\"close\" role=\"presentation\"></ui-icon></ui-icon-button>\n </ui-text-field>\n `;\n }\n\n protected renderIncludesAssertion(item: CoreAssertions.IIncludesAssertion, assertionOrActionIndex: number, stepIndex: number): TemplateResult {\n const { value } = item;\n return html`\n <ui-text-field\n name=\"includes.${assertionOrActionIndex}.${stepIndex}\"\n data-assertion-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n data-kind=\"${CoreAssertions.IncludesAssertionKind}\"\n label=\"Includes value\"\n required\n .value=\"${live(value || '')}\"\n @change=\"${this.handleIncludesAssertionValueChange}\"\n >\n <ui-icon-button\n slot=\"suffix\"\n title=\"Remove assertion\"\n aria-label=\"Deletes this assertion\"\n @click=\"${this.handleRemoveStep}\"\n data-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n ><ui-icon icon=\"close\" role=\"presentation\"></ui-icon></ui-icon-button>\n </ui-text-field>\n `;\n }\n\n protected renderNotIncludesAssertion(item: CoreAssertions.INotIncludesAssertion, assertionOrActionIndex: number, stepIndex: number): TemplateResult {\n const { value } = item;\n return html`\n <ui-text-field\n name=\"not-includes.${assertionOrActionIndex}.${stepIndex}\"\n data-assertion-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n data-kind=\"${CoreAssertions.NotIncludesAssertionKind}\"\n label=\"Not includes value\"\n required\n .value=\"${live(value || '')}\"\n @change=\"${this.handleIncludesAssertionValueChange}\"\n >\n <ui-icon-button\n slot=\"suffix\"\n title=\"Remove assertion\"\n aria-label=\"Deletes this assertion\"\n @click=\"${this.handleRemoveStep}\"\n data-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n ><ui-icon icon=\"close\" role=\"presentation\"></ui-icon></ui-icon-button>\n </ui-text-field>\n `;\n }\n\n protected renderMatchesAssertion(item: CoreAssertions.IMatchesAssertion, assertionOrActionIndex: number, stepIndex: number): TemplateResult {\n const { value } = item;\n return html`\n <ui-text-field\n name=\"matches.${assertionOrActionIndex}.${stepIndex}\"\n data-assertion-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n data-kind=\"${CoreAssertions.MatchesAssertionKind}\"\n label=\"Matches regex\"\n required\n .value=\"${live(value || '')}\"\n @change=\"${this.handleMatchesAssertionValueChange}\"\n @input=\"${this.validateRegexPattern}\"\n invalidText=\"Pattern is invalid\"\n >\n <ui-icon-button\n slot=\"suffix\"\n title=\"Remove assertion\"\n aria-label=\"Deletes this assertion\"\n @click=\"${this.handleRemoveStep}\"\n data-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n ><ui-icon icon=\"close\" role=\"presentation\"></ui-icon></ui-icon-button>\n </ui-text-field>\n `;\n }\n\n protected renderToBeAssertion(item: CoreAssertions.IToBeAssertion, assertionOrActionIndex: number, stepIndex: number): TemplateResult {\n const { value } = item;\n const types = Object.values(CoreAssertions.ToBeTypes);\n return html`\n <ui-text-field\n name=\"to-be.${assertionOrActionIndex}.${stepIndex}\"\n data-assertion-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n data-kind=\"${CoreAssertions.ToBeAssertionKind}\"\n label=\"To be...\"\n required\n .value=\"${live(value || '')}\"\n @change=\"${this.handleToBeAssertionValueChange}\"\n .list=\"${types}\"\n >\n <ui-icon-button\n slot=\"suffix\"\n title=\"Remove assertion\"\n aria-label=\"Deletes this assertion\"\n @click=\"${this.handleRemoveStep}\"\n data-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n ><ui-icon icon=\"close\" role=\"presentation\"></ui-icon></ui-icon-button>\n </ui-text-field>\n `;\n }\n\n protected renderNotToBeAssertion(item: CoreAssertions.INotToBeAssertion, assertionOrActionIndex: number, stepIndex: number): TemplateResult {\n const { value } = item;\n const types = Object.values(CoreAssertions.ToBeTypes);\n return html`\n <ui-text-field\n name=\"not-to-be.${assertionOrActionIndex}.${stepIndex}\"\n data-assertion-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n data-kind=\"${CoreAssertions.NotToBeAssertionKind}\"\n label=\"Not to be...\"\n required\n .value=\"${live(value || '')}\"\n @change=\"${this.handleToBeAssertionValueChange}\"\n .list=\"${types}\"\n >\n <ui-icon-button\n slot=\"suffix\"\n title=\"Remove assertion\"\n aria-label=\"Deletes this assertion\"\n @click=\"${this.handleRemoveStep}\"\n data-index=\"${assertionOrActionIndex}\"\n data-step-index=\"${stepIndex}\"\n ><ui-icon icon=\"close\" role=\"presentation\"></ui-icon></ui-icon-button>\n </ui-text-field>\n `;\n }\n\n protected renderResponseDataSourceSuggestions(disabled = false): TemplateResult {\n return html`\n <details class=\"action-group\" open>\n <summary>Data Source</summary>\n <div class=\"group-content\">\n ${this.renderBlockChip('Status code', 'data-source', DataSteps.ReadDataSourceStepKind, { \n source: FlowSourceEnum.response, \n data: FlowResponseDataEnum.status, \n disabled,\n title: 'Reads the response status code and passes it to the next step.',\n })}\n ${this.renderBlockChip('Response headers', 'data-source', DataSteps.ReadDataSourceStepKind, { \n source: FlowSourceEnum.response, \n data: FlowResponseDataEnum.headers, \n disabled,\n title: 'Reads the response headers and passes them to the next step.',\n })}\n ${this.renderBlockChip('Response body', 'data-source', DataSteps.ReadDataSourceStepKind, { \n source: FlowSourceEnum.response, \n data: FlowResponseDataEnum.body, \n disabled,\n title: 'Reads the response body and passes it to the next step.',\n })}\n ${this.renderBlockChip('Status message', 'data-source', DataSteps.ReadDataSourceStepKind, { \n source: FlowSourceEnum.response, \n data: FlowResponseDataEnum.statusText, \n disabled,\n title: 'Reads the response status message and passes it to the next step.',\n })}\n </div>\n </details>\n `;\n }\n\n protected renderRequestDataSourceSuggestions(disabled = false): TemplateResult {\n return html`\n <details class=\"action-group\" open>\n <summary>Data Source</summary>\n <div class=\"group-content\">\n ${this.renderBlockChip('Request headers', 'data-source', DataSteps.ReadDataSourceStepKind, { \n source: FlowSourceEnum.request, \n data: FlowRequestDataEnum.headers, \n disabled,\n title: 'Reads the request headers and passes them to the next step.',\n })}\n ${this.renderBlockChip('Request body', 'data-source', DataSteps.ReadDataSourceStepKind, { \n source: FlowSourceEnum.request, \n data: FlowRequestDataEnum.body, \n disabled,\n title: 'Reads the request body and passes it to the next step.',\n })}\n ${this.renderBlockChip('Request method', 'data-source', DataSteps.ReadDataSourceStepKind, { \n source: FlowSourceEnum.request, \n data: FlowRequestDataEnum.method, \n disabled,\n title: 'Reads the request method and passes it to the next step.',\n })}\n </div>\n </details>\n `;\n }\n\n protected renderTransformationSuggestions(disabled = false): TemplateResult {\n return html`\n <details class=\"action-group\" open>\n <summary>Transformation</summary>\n <div class=\"group-content\">\n ${this.renderBlockChip('Read value', 'transformation', DataSteps.ReadValueStepKind, { \n disabled,\n title: 'Reads a value from the previous step. Configure the path to the value.',\n })}\n ${this.renderBlockChip('As number', 'transformation', TransformationSteps.AsNumberStepKind, { \n disabled,\n title: 'Transforms the value received from the previous step to a number.'\n })}\n ${this.renderBlockChip('Round', 'transformation', TransformationSteps.RoundStepKind, { \n disabled,\n title: 'Rounds the value received from the previous step with a precision',\n })}\n ${this.renderBlockChip('To lower case', 'transformation', TransformationSteps.AsLowerCaseStepKind, { \n disabled, \n title: 'Transforms the value received from the previous step to a lower case string',\n })}\n ${this.renderBlockChip('To upper case', 'transformation', TransformationSteps.AsUpperCaseStepKind, { \n disabled,\n title: 'Transforms the value received from the previous step to an upper case string',\n })}\n ${this.renderBlockChip('Trim', 'transformation', TransformationSteps.TrimStepKind, { \n disabled,\n title: 'Treats the value received from the previous step as string as trims the whitespace.',\n })}\n ${this.renderBlockChip('Substring', 'transformation', TransformationSteps.SubstringStepKind, { \n disabled,\n title: 'Passes a sub string of the current value to the next step.',\n })}\n </div>\n </details>\n `;\n }\n\n protected renderActionSuggestions(disabled = false): TemplateResult {\n return html`\n <details class=\"action-group\" open>\n <summary>Actions</summary>\n <div class=\"group-content\">\n ${this.renderBlockChip('Set cookie', 'action', DataSteps.SetCookieStepKind, { \n disabled,\n title: 'Sets and stores a cookie',\n })}\n ${this.renderBlockChip('Delete cookie', 'action', DataSteps.DeleteCookieStepKind, {\n disabled,\n title: 'Deletes a cookie.',\n })}\n ${this.renderBlockChip('Set variable', 'action', DataSteps.SetVariableStepKind, { \n disabled,\n title: 'Sets a variable during the execution time. It does not store the value.',\n })}\n ${this.renderBlockChip('Unset variable', 'action', DataSteps.DeleteVariableStepKind, { \n disabled,\n title: 'Clears a variable during the execution time. It does not store the value.',\n })}\n </div>\n </details>\n `;\n }\n\n protected renderAssertionSuggestions(disabled = false): TemplateResult {\n return html`\n <details class=\"action-group\" open>\n <summary>Assertions</summary>\n <div class=\"group-content\">\n ${this.renderBlockChip('Equal', 'assertion', CoreAssertions.EqualAssertionKind, { disabled })}\n ${this.renderBlockChip('Not equal', 'assertion', CoreAssertions.NotEqualAssertionKind, { disabled })}\n ${this.renderBlockChip('Greater than', 'assertion', CoreAssertions.GreaterThanAssertionKind, { disabled })}\n ${this.renderBlockChip('Greater than equal', 'assertion', CoreAssertions.GreaterThanAssertionKind, { disabled, variant: 'equal' })}\n ${this.renderBlockChip('Less than', 'assertion', CoreAssertions.LessThanAssertionKind, { disabled })}\n ${this.renderBlockChip('Less than equal', 'assertion', CoreAssertions.LessThanAssertionKind, { disabled, variant: 'equal' })}\n ${this.renderBlockChip('Includes', 'assertion', CoreAssertions.IncludesAssertionKind, { disabled })}\n ${this.renderBlockChip('Not includes', 'assertion', CoreAssertions.NotIncludesAssertionKind, { disabled })}\n ${this.renderBlockChip('Matches', 'assertion', CoreAssertions.MatchesAssertionKind, { disabled })}\n ${this.renderBlockChip('OK', 'assertion', CoreAssertions.OkAssertionKind, { disabled })}\n ${this.renderBlockChip('Not OK', 'assertion', CoreAssertions.NotOkAssertionKind, { disabled })}\n ${this.renderBlockChip('To be...', 'assertion', CoreAssertions.ToBeAssertionKind, { disabled })}\n ${this.renderBlockChip('Not to be...', 'assertion', CoreAssertions.NotToBeAssertionKind, { disabled })}\n </div>\n </details>\n `;\n }\n}\n"]}
@@ -46,27 +46,16 @@ var ViewType;
46
46
  * Renders the view of the payload message.
47
47
  */
48
48
  export default class LogBody extends LitElement {
49
- /**
50
- * The payload to render. When the payload requires de-serialization it will be performed.
51
- */
52
- payload;
53
- /**
54
- * The content type of the payload.
55
- * @attribute
56
- */
57
- contentType;
58
- /**
59
- * When set it does not apply formatting for the code. However, it keeps the highlighting.
60
- * @attribute
61
- */
62
- raw = false;
63
- renderBody;
64
- bodyType = BodyType.nil;
65
- viewType = ViewType.Parsed;
66
- /**
67
- * The tokens rendered in the view.
68
- */
69
- renderTokens;
49
+ constructor() {
50
+ super(...arguments);
51
+ /**
52
+ * When set it does not apply formatting for the code. However, it keeps the highlighting.
53
+ * @attribute
54
+ */
55
+ this.raw = false;
56
+ this.bodyType = BodyType.nil;
57
+ this.viewType = ViewType.Parsed;
58
+ }
70
59
  willUpdate(cp) {
71
60
  if (cp.has('payload') || cp.has('contentType')) {
72
61
  this.prepareContent();
@@ -1 +1 @@
1
- {"version":3,"file":"LogBody.js","sourceRoot":"","sources":["../../../src/elements/http/LogBody.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable class-methods-use-this */\nimport { LitElement, html, TemplateResult, PropertyValues } from 'lit';\nimport { DeserializedPayload, Payload, PayloadSerializer, ISafePayload } from \"@api-client/core/build/browser.js\";\nimport { property, state } from \"lit/decorators.js\";\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport { PrismHighlighter } from '../highlight/PrismHighlighter.js';\nimport { getLanguage } from '../highlight/PrismAutoDetect.js';\nimport 'prismjs/prism.js';\nimport 'prismjs/components/prism-json.js';\nimport 'prismjs/components/prism-javascript.js';\nimport 'prismjs/components/prism-markdown.js';\nimport 'prismjs/components/prism-markup.js';\nimport 'prismjs/components/prism-yaml.js';\nimport 'prismjs/components/prism-xml-doc.js';\nimport 'prismjs/components/prism-http.js';\nimport 'prismjs/plugins/line-numbers/prism-line-numbers.min.js';\nimport { ensureBodyString, imageBody, isBinaryBody, isPdfBody, isTextBody } from '../../lib/http/Payload.js';\n\nenum BodyType {\n // null, undefined, empty\n nil,\n // a string value\n String,\n Blob,\n File,\n // Multipart FormData object\n FormData,\n // Buffer, ArrayBuffer, UInt8Array, generally binary.\n Buffer,\n}\n\nenum ViewType {\n Parsed,\n ImageSvg,\n ImageBinary,\n ImageError,\n Pdf,\n Binary,\n // application/x-www-form-urlencoded\n UrlEncoded,\n}\n\n/**\n * Renders the view of the payload message.\n */\nexport default class LogBody extends LitElement {\n /**\n * The payload to render. When the payload requires de-serialization it will be performed. \n */\n @property() payload: DeserializedPayload | Payload | undefined;\n\n /**\n * The content type of the payload.\n * @attribute\n */\n @property({ type: String, reflect: true }) contentType?: string;\n\n /**\n * When set it does not apply formatting for the code. However, it keeps the highlighting.\n * @attribute\n */\n @property({ type: Boolean }) raw = false;\n\n @state() protected renderBody?: DeserializedPayload;\n\n @state() protected bodyType: BodyType = BodyType.nil;\n\n @state() protected viewType: ViewType = ViewType.Parsed;\n\n /**\n * The tokens rendered in the view.\n */\n @state() protected renderTokens?: string;\n\n override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('payload') || cp.has('contentType')) {\n this.prepareContent();\n }\n }\n\n override updated(cp: PropertyValues): void {\n super.updated(cp);\n if (cp.has('bodyType') || cp.has('viewType')) {\n this.prismComplete();\n }\n }\n\n /**\n * When processing a payload from the request editor then the value can be any of the `DeserializedPayload` types.\n * However, when processing a response that came from the `CoreEngine` it is always a Buffer / ArrayBuffer \n * and the contents is determined by the content type.\n */\n protected async prepareContent(): Promise<void> {\n const { contentType = '', payload } = this;\n this.renderBody = undefined;\n this.renderTokens = undefined;\n this.viewType = ViewType.Parsed;\n this.bodyType = BodyType.nil;\n\n if (!payload) {\n this.bodyType = BodyType.nil;\n return;\n }\n const body = await this.deserialize(payload);\n if (body === undefined || body === null || !body) {\n this.bodyType = BodyType.nil;\n return;\n }\n\n const typedSerialized = payload as ISafePayload;\n\n if (contentType) {\n const image = imageBody(contentType);\n if (isTextBody(contentType)) {\n this.renderBody = ensureBodyString(body);\n if (image === 'svg') {\n this.viewType = ViewType.ImageSvg;\n }\n } else if (image === 'binary') {\n this.viewType = ViewType.ImageBinary;\n this.renderBody = body;\n } else if (isPdfBody(contentType)) {\n this.viewType = ViewType.Pdf;\n this.renderBody = body;\n } else if (isBinaryBody(contentType)) {\n this.viewType = ViewType.Binary;\n this.renderBody = body;\n } else if (body instanceof FormData) {\n this.viewType = ViewType.Parsed;\n this.renderBody = body;\n } else if (typedSerialized.type === 'file' || typedSerialized.type === 'blob') {\n this.viewType = ViewType.Binary;\n this.renderBody = body;\n } else if (contentType.includes('application/x-www-form-urlencoded')) {\n this.viewType = ViewType.UrlEncoded;\n this.renderBody = body;\n } else {\n this.viewType = ViewType.Parsed;\n this.renderBody = ensureBodyString(body);\n }\n } else {\n this.renderBody = body;\n this.viewType = ViewType.Parsed;\n }\n this.bodyType = this.typeFromType(this.renderBody);\n this.tokenize();\n }\n\n protected typeFromType(type: unknown): BodyType {\n if (type === undefined || type === null || !type) {\n return BodyType.nil;\n } \n if (typeof type === 'string') {\n return BodyType.String;\n } \n if (type instanceof File) {\n return BodyType.File;\n }\n if (type instanceof Blob) {\n return BodyType.Blob;\n }\n if(type instanceof FormData) {\n return BodyType.FormData;\n }\n return BodyType.Buffer;\n }\n\n protected async deserialize(value: Payload | DeserializedPayload): Promise<DeserializedPayload> {\n if (value === undefined || value === null) {\n // both values should be stored correctly\n return undefined;\n }\n if (typeof value === 'string') {\n return value;\n }\n if ((value as ISafePayload).data) {\n return PayloadSerializer.deserialize(value as ISafePayload);\n }\n return value as DeserializedPayload;\n }\n\n /**\n * Depending on the body type and the contentType, it prepares the tokens to be rendered in the view.\n */\n protected tokenize(): void {\n const { contentType, bodyType: type, renderBody: body } = this;\n // if (raw && type !== BodyType.FormData) {\n // this._tokens = body as string;\n // return;\n // }\n switch (type) {\n case BodyType.String: this.renderTokens = this.tokenizeStringContent(body as string, contentType); break;\n case BodyType.FormData: this.renderTokens = this.tokenizeFormDataContent(body as FormData); break;\n case BodyType.Buffer: this.renderTokens = this.tokenizeBuffer(body as ArrayBuffer | Buffer, contentType); break;\n case BodyType.File: \n case BodyType.Blob: \n this.renderTokens = this.tokenizeFile(); break;\n default:\n this.renderTokens = undefined; \n break;\n }\n }\n\n protected tokenizeStringContent(body: string, contentType = ''): string {\n const { raw } = this;\n if (raw) {\n return body;\n }\n const finalBody = this.formatBody(body, contentType);\n const info = getLanguage(contentType);\n const env = {\n code: finalBody,\n grammar: info.grammar,\n language: info.lang,\n };\n // @ts-ignore\n Prism.hooks.run('before-highlight', env);\n // @ts-ignore\n return Prism.highlight(finalBody, info.grammar, info.lang);\n }\n\n protected formatBody(body: string, contentType = ''): string {\n let result = body;\n if (contentType.includes('json')) {\n try {\n const parsed = JSON.parse(result);\n result = JSON.stringify(parsed, null, 2);\n } catch (e) {\n // ...\n }\n }\n return result;\n }\n\n protected tokenizeFormDataContent(body: FormData): string {\n const { raw } = this;\n const boundary = '7MA4YWxkTrZu0gW';\n const lineBreak = \"\\r\\n\"\n const templates: string[] = [];\n body.forEach((value: FormDataEntryValue, key: string) => {\n if (typeof value === 'string') {\n templates.push(`--${boundary}${lineBreak}`);\n templates.push(`Content-Disposition: form-data; name=\"${key}\"${lineBreak}${lineBreak}`);\n templates.push(`${value}${lineBreak}`);\n } else {\n templates.push(`--${boundary}${lineBreak}`);\n templates.push(`Content-Disposition: form-data; name=\"${key}\"; filename=\"${value.name}\"${lineBreak}`);\n templates.push(`Content-Type: ${value.type || 'application/octet-stream'}${lineBreak}${lineBreak}`);\n templates.push(`{…file content…}${lineBreak}`);\n }\n });\n templates.push(`--${boundary}--${lineBreak}`);\n const code = templates.join('');\n if (raw) {\n return code;\n }\n const highlight = new PrismHighlighter();\n return highlight.tokenize(code, 'http');\n }\n\n protected tokenizeImageData(body: ArrayBuffer | Buffer, contentType?: string): string | undefined {\n try {\n const arr = new Uint8Array(body);\n const str = arr.reduce((data, byte) => data + String.fromCharCode(byte), '');\n const enc = btoa(str);\n return `data:${contentType};base64, ${enc}`;\n } catch (_) {\n return undefined;\n }\n }\n\n protected tokenizeBuffer(body: ArrayBuffer | Buffer, contentType?: string): string | undefined {\n if (typeof body === 'string') {\n return undefined;\n }\n if (this.viewType === ViewType.ImageBinary) {\n return this.tokenizeImageData(body, contentType);\n }\n\n try {\n const array = new Uint8Array(body).join(', ');\n return `[${array}]`;\n } catch (_) {\n return undefined;\n }\n }\n\n protected tokenizeFile(): string | undefined {\n const { payload } = this;\n if (!payload) {\n return undefined;\n }\n const typed = payload as ISafePayload;\n if (typed.type !== 'file' && typed.type !== 'blob') {\n return undefined;\n }\n if (!Array.isArray(typed.data)) {\n return undefined;\n }\n const array = (typed.data as number[]).join(', ');\n return `[${array}]`;\n }\n\n protected prismComplete(): void {\n const { renderBody, renderTokens } = this;\n const element = this.shadowRoot?.querySelector('#rawCode');\n if (!element) {\n return;\n }\n let body = '';\n if (typeof renderBody === 'string') {\n body = renderBody;\n } else if (typeof renderTokens === 'string') {\n body = renderTokens;\n }\n const env = {\n code: body,\n element,\n };\n try {\n // @ts-ignore\n Prism.hooks.run('complete', env);\n \n // @ts-ignore\n Prism.plugins.lineNumbers.resize(element.parentElement as Element);\n } catch (e) {\n // ...\n }\n }\n\n /**\n * A handler for the image error event.\n * This occurs when rendering an image via the img tag but the image URL is invalid.\n */\n protected handleImageError(): void {\n this.viewType = ViewType.ImageError;\n }\n\n protected override render(): TemplateResult {\n const { renderBody: body, bodyType: type, viewType: view } = this;\n if (type === BodyType.nil) {\n return html`<p class=\"no-info\">No data available.</p>`;\n }\n if (view === ViewType.ImageError) {\n return this.renderImageError();\n }\n if (view === ViewType.Parsed) {\n return this.renderStringBody()\n }\n if (view === ViewType.ImageSvg) {\n return this.renderImageSvgBody()\n }\n if (view === ViewType.ImageBinary) {\n return this.renderImageBinaryBody()\n }\n if (view === ViewType.Pdf) {\n return this.renderPdfBody()\n }\n if (view === ViewType.UrlEncoded) {\n return this.renderUrlEncodedBody();\n }\n if (type === BodyType.Blob || type === BodyType.File) {\n return this.renderBlobBody(body as Blob)\n }\n // only buffers left at this point\n return this.renderBufferBody(body as ArrayBuffer | Buffer);\n }\n\n protected renderStringBody(): TemplateResult {\n const { raw, renderTokens } = this;\n const content = raw ? renderTokens : unsafeHTML(renderTokens);\n return html`\n <pre class=\"raw-panel string language-snippet line-numbers\"><code id=\"rawCode\" class=\"code\">${content}</code></pre>\n `;\n }\n\n protected renderBlobBody(body: Blob): TemplateResult {\n const { renderTokens, raw } = this;\n if (renderTokens && raw) {\n return html`\n <div class=\"raw-panel padded-panel\">${renderTokens}</div>\n `;\n }\n return html`\n <div class=\"raw-panel padded-panel\">\n File data of ${body.size} bytes.\n </div>\n `;\n }\n\n protected renderBufferBody(body: ArrayBuffer | Buffer): TemplateResult {\n const { renderTokens, raw } = this;\n if (renderTokens && raw) {\n return html`\n <div class=\"raw-panel padded-panel\">${renderTokens}</div>\n `;\n }\n return html`\n <div class=\"raw-panel padded-panel\">\n Binary data of ${body.byteLength} bytes.\n </div>\n `;\n }\n\n protected renderPdfBody(): TemplateResult {\n return html`\n <div class=\"content-info pdf padded-panel\">\n <p>The response is a <b>PDF</b> data.</p>\n <p>Save the file to preview its contents.</p>\n </div>\n `;\n }\n\n protected renderImageSvgBody(): TemplateResult {\n const { renderBody, raw } = this;\n if (raw) {\n return this.renderStringBody();\n }\n const div = window.document.createElement('div');\n div.innerHTML = String(renderBody);\n const svgEl = div.firstElementChild;\n if (!svgEl) {\n return this.renderError('Invalid SVG response.');\n }\n const all = Array.from(svgEl.querySelectorAll('*'));\n all.forEach((node) => {\n if (!node.attributes) {\n return;\n }\n const remove = Array.from(node.attributes).filter((attr) => attr.name.startsWith('on') || ['xlink:href'].includes(attr.name));\n remove.forEach(({ name }) => node.removeAttribute(name));\n });\n const scripts = Array.from(svgEl.getElementsByTagName('script'));\n scripts.forEach((node) => (node.parentNode as Element).removeChild(node));\n return html`\n <div class=\"image-container\">\n ${unsafeSVG(svgEl.outerHTML)}\n </div>\n `;\n }\n\n protected renderImageBinaryBody(): TemplateResult {\n const { renderTokens } = this;\n if (!renderTokens) {\n return this.renderNoData('No image data');\n }\n return html`\n <div class=\"image-container\">\n <img class=\"img-preview\" src=\"${renderTokens}\" alt=\"\" @error=\"${this.handleImageError}\">\n </div>`;\n }\n\n protected renderImageError(): TemplateResult {\n const { renderTokens } = this;\n if (!renderTokens) {\n return this.renderNoData('No image data');\n }\n return html`\n <div class=\"error-container padded-panel\">\n <b>The image URL is invalid</b>: \"${renderTokens}\"\n </div>`;\n }\n\n protected renderNoData(label = 'Unsupported view.'): TemplateResult {\n return html`<p class=\"no-info\">${label}</p>`;\n }\n\n protected renderError(message: string): TemplateResult {\n return html`<p class=\"error\">${message}</p>`;\n }\n\n protected renderUrlEncodedBody(): TemplateResult {\n const { renderBody, raw } = this;\n if (raw) {\n return this.renderStringBody();\n }\n let params: URLSearchParams;\n try {\n params = new URLSearchParams(renderBody as string);\n } catch (e) {\n return this.renderError(`Unable to parse URL encoded data.`);\n }\n const content: TemplateResult[] = [];\n for (const [name, value] of params) {\n content.push(html`\n <tr>\n <td class=\"name\">${name}</td><td class=\"value\">${value}</td>\n </tr>\n `);\n }\n return html`\n <table class=\"url-params\">\n <caption>URL encoded parameters</caption>\n <thead>\n <tr>\n <th scope=\"col\" class=\"name\">Name</th>\n <th scope=\"col\" class=\"value\">Value</th>\n </tr>\n </thead>\n <tbody>\n ${content}\n </tbody>\n </table>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"LogBody.js","sourceRoot":"","sources":["../../../src/elements/http/LogBody.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable class-methods-use-this */\nimport { LitElement, html, TemplateResult, PropertyValues } from 'lit';\nimport { DeserializedPayload, Payload, PayloadSerializer, ISafePayload } from \"@api-client/core/build/browser.js\";\nimport { property, state } from \"lit/decorators.js\";\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport { PrismHighlighter } from '../highlight/PrismHighlighter.js';\nimport { getLanguage } from '../highlight/PrismAutoDetect.js';\nimport 'prismjs/prism.js';\nimport 'prismjs/components/prism-json.js';\nimport 'prismjs/components/prism-javascript.js';\nimport 'prismjs/components/prism-markdown.js';\nimport 'prismjs/components/prism-markup.js';\nimport 'prismjs/components/prism-yaml.js';\nimport 'prismjs/components/prism-xml-doc.js';\nimport 'prismjs/components/prism-http.js';\nimport 'prismjs/plugins/line-numbers/prism-line-numbers.min.js';\nimport { ensureBodyString, imageBody, isBinaryBody, isPdfBody, isTextBody } from '../../lib/http/Payload.js';\n\nenum BodyType {\n // null, undefined, empty\n nil,\n // a string value\n String,\n Blob,\n File,\n // Multipart FormData object\n FormData,\n // Buffer, ArrayBuffer, UInt8Array, generally binary.\n Buffer,\n}\n\nenum ViewType {\n Parsed,\n ImageSvg,\n ImageBinary,\n ImageError,\n Pdf,\n Binary,\n // application/x-www-form-urlencoded\n UrlEncoded,\n}\n\n/**\n * Renders the view of the payload message.\n */\nexport default class LogBody extends LitElement {\n /**\n * The payload to render. When the payload requires de-serialization it will be performed. \n */\n @property() payload: DeserializedPayload | Payload | undefined;\n\n /**\n * The content type of the payload.\n * @attribute\n */\n @property({ type: String, reflect: true }) contentType?: string;\n\n /**\n * When set it does not apply formatting for the code. However, it keeps the highlighting.\n * @attribute\n */\n @property({ type: Boolean }) raw = false;\n\n @state() protected renderBody?: DeserializedPayload;\n\n @state() protected bodyType: BodyType = BodyType.nil;\n\n @state() protected viewType: ViewType = ViewType.Parsed;\n\n /**\n * The tokens rendered in the view.\n */\n @state() protected renderTokens?: string;\n\n override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('payload') || cp.has('contentType')) {\n this.prepareContent();\n }\n }\n\n override updated(cp: PropertyValues): void {\n super.updated(cp);\n if (cp.has('bodyType') || cp.has('viewType')) {\n this.prismComplete();\n }\n }\n\n /**\n * When processing a payload from the request editor then the value can be any of the `DeserializedPayload` types.\n * However, when processing a response that came from the `CoreEngine` it is always a Buffer / ArrayBuffer \n * and the contents is determined by the content type.\n */\n protected async prepareContent(): Promise<void> {\n const { contentType = '', payload } = this;\n this.renderBody = undefined;\n this.renderTokens = undefined;\n this.viewType = ViewType.Parsed;\n this.bodyType = BodyType.nil;\n\n if (!payload) {\n this.bodyType = BodyType.nil;\n return;\n }\n const body = await this.deserialize(payload);\n if (body === undefined || body === null || !body) {\n this.bodyType = BodyType.nil;\n return;\n }\n\n const typedSerialized = payload as ISafePayload;\n\n if (contentType) {\n const image = imageBody(contentType);\n if (isTextBody(contentType)) {\n this.renderBody = ensureBodyString(body);\n if (image === 'svg') {\n this.viewType = ViewType.ImageSvg;\n }\n } else if (image === 'binary') {\n this.viewType = ViewType.ImageBinary;\n this.renderBody = body;\n } else if (isPdfBody(contentType)) {\n this.viewType = ViewType.Pdf;\n this.renderBody = body;\n } else if (isBinaryBody(contentType)) {\n this.viewType = ViewType.Binary;\n this.renderBody = body;\n } else if (body instanceof FormData) {\n this.viewType = ViewType.Parsed;\n this.renderBody = body;\n } else if (typedSerialized.type === 'file' || typedSerialized.type === 'blob') {\n this.viewType = ViewType.Binary;\n this.renderBody = body;\n } else if (contentType.includes('application/x-www-form-urlencoded')) {\n this.viewType = ViewType.UrlEncoded;\n this.renderBody = body;\n } else {\n this.viewType = ViewType.Parsed;\n this.renderBody = ensureBodyString(body);\n }\n } else {\n this.renderBody = body;\n this.viewType = ViewType.Parsed;\n }\n this.bodyType = this.typeFromType(this.renderBody);\n this.tokenize();\n }\n\n protected typeFromType(type: unknown): BodyType {\n if (type === undefined || type === null || !type) {\n return BodyType.nil;\n } \n if (typeof type === 'string') {\n return BodyType.String;\n } \n if (type instanceof File) {\n return BodyType.File;\n }\n if (type instanceof Blob) {\n return BodyType.Blob;\n }\n if(type instanceof FormData) {\n return BodyType.FormData;\n }\n return BodyType.Buffer;\n }\n\n protected async deserialize(value: Payload | DeserializedPayload): Promise<DeserializedPayload> {\n if (value === undefined || value === null) {\n // both values should be stored correctly\n return undefined;\n }\n if (typeof value === 'string') {\n return value;\n }\n if ((value as ISafePayload).data) {\n return PayloadSerializer.deserialize(value as ISafePayload);\n }\n return value as DeserializedPayload;\n }\n\n /**\n * Depending on the body type and the contentType, it prepares the tokens to be rendered in the view.\n */\n protected tokenize(): void {\n const { contentType, bodyType: type, renderBody: body } = this;\n // if (raw && type !== BodyType.FormData) {\n // this._tokens = body as string;\n // return;\n // }\n switch (type) {\n case BodyType.String: this.renderTokens = this.tokenizeStringContent(body as string, contentType); break;\n case BodyType.FormData: this.renderTokens = this.tokenizeFormDataContent(body as FormData); break;\n case BodyType.Buffer: this.renderTokens = this.tokenizeBuffer(body as ArrayBuffer | Buffer, contentType); break;\n case BodyType.File: \n case BodyType.Blob: \n this.renderTokens = this.tokenizeFile(); break;\n default:\n this.renderTokens = undefined; \n break;\n }\n }\n\n protected tokenizeStringContent(body: string, contentType = ''): string {\n const { raw } = this;\n if (raw) {\n return body;\n }\n const finalBody = this.formatBody(body, contentType);\n const info = getLanguage(contentType);\n const env = {\n code: finalBody,\n grammar: info.grammar,\n language: info.lang,\n };\n // @ts-ignore\n Prism.hooks.run('before-highlight', env);\n // @ts-ignore\n return Prism.highlight(finalBody, info.grammar, info.lang);\n }\n\n protected formatBody(body: string, contentType = ''): string {\n let result = body;\n if (contentType.includes('json')) {\n try {\n const parsed = JSON.parse(result);\n result = JSON.stringify(parsed, null, 2);\n } catch (e) {\n // ...\n }\n }\n return result;\n }\n\n protected tokenizeFormDataContent(body: FormData): string {\n const { raw } = this;\n const boundary = '7MA4YWxkTrZu0gW';\n const lineBreak = \"\\r\\n\"\n const templates: string[] = [];\n body.forEach((value: FormDataEntryValue, key: string) => {\n if (typeof value === 'string') {\n templates.push(`--${boundary}${lineBreak}`);\n templates.push(`Content-Disposition: form-data; name=\"${key}\"${lineBreak}${lineBreak}`);\n templates.push(`${value}${lineBreak}`);\n } else {\n templates.push(`--${boundary}${lineBreak}`);\n templates.push(`Content-Disposition: form-data; name=\"${key}\"; filename=\"${value.name}\"${lineBreak}`);\n templates.push(`Content-Type: ${value.type || 'application/octet-stream'}${lineBreak}${lineBreak}`);\n templates.push(`{…file content…}${lineBreak}`);\n }\n });\n templates.push(`--${boundary}--${lineBreak}`);\n const code = templates.join('');\n if (raw) {\n return code;\n }\n const highlight = new PrismHighlighter();\n return highlight.tokenize(code, 'http');\n }\n\n protected tokenizeImageData(body: ArrayBuffer | Buffer, contentType?: string): string | undefined {\n try {\n const arr = new Uint8Array(body);\n const str = arr.reduce((data, byte) => data + String.fromCharCode(byte), '');\n const enc = btoa(str);\n return `data:${contentType};base64, ${enc}`;\n } catch (_) {\n return undefined;\n }\n }\n\n protected tokenizeBuffer(body: ArrayBuffer | Buffer, contentType?: string): string | undefined {\n if (typeof body === 'string') {\n return undefined;\n }\n if (this.viewType === ViewType.ImageBinary) {\n return this.tokenizeImageData(body, contentType);\n }\n\n try {\n const array = new Uint8Array(body).join(', ');\n return `[${array}]`;\n } catch (_) {\n return undefined;\n }\n }\n\n protected tokenizeFile(): string | undefined {\n const { payload } = this;\n if (!payload) {\n return undefined;\n }\n const typed = payload as ISafePayload;\n if (typed.type !== 'file' && typed.type !== 'blob') {\n return undefined;\n }\n if (!Array.isArray(typed.data)) {\n return undefined;\n }\n const array = (typed.data as number[]).join(', ');\n return `[${array}]`;\n }\n\n protected prismComplete(): void {\n const { renderBody, renderTokens } = this;\n const element = this.shadowRoot?.querySelector('#rawCode');\n if (!element) {\n return;\n }\n let body = '';\n if (typeof renderBody === 'string') {\n body = renderBody;\n } else if (typeof renderTokens === 'string') {\n body = renderTokens;\n }\n const env = {\n code: body,\n element,\n };\n try {\n // @ts-ignore\n Prism.hooks.run('complete', env);\n \n // @ts-ignore\n Prism.plugins.lineNumbers.resize(element.parentElement as Element);\n } catch (e) {\n // ...\n }\n }\n\n /**\n * A handler for the image error event.\n * This occurs when rendering an image via the img tag but the image URL is invalid.\n */\n protected handleImageError(): void {\n this.viewType = ViewType.ImageError;\n }\n\n protected override render(): TemplateResult {\n const { renderBody: body, bodyType: type, viewType: view } = this;\n if (type === BodyType.nil) {\n return html`<p class=\"no-info\">No data available.</p>`;\n }\n if (view === ViewType.ImageError) {\n return this.renderImageError();\n }\n if (view === ViewType.Parsed) {\n return this.renderStringBody()\n }\n if (view === ViewType.ImageSvg) {\n return this.renderImageSvgBody()\n }\n if (view === ViewType.ImageBinary) {\n return this.renderImageBinaryBody()\n }\n if (view === ViewType.Pdf) {\n return this.renderPdfBody()\n }\n if (view === ViewType.UrlEncoded) {\n return this.renderUrlEncodedBody();\n }\n if (type === BodyType.Blob || type === BodyType.File) {\n return this.renderBlobBody(body as Blob)\n }\n // only buffers left at this point\n return this.renderBufferBody(body as ArrayBuffer | Buffer);\n }\n\n protected renderStringBody(): TemplateResult {\n const { raw, renderTokens } = this;\n const content = raw ? renderTokens : unsafeHTML(renderTokens);\n return html`\n <pre class=\"raw-panel string language-snippet line-numbers\"><code id=\"rawCode\" class=\"code\">${content}</code></pre>\n `;\n }\n\n protected renderBlobBody(body: Blob): TemplateResult {\n const { renderTokens, raw } = this;\n if (renderTokens && raw) {\n return html`\n <div class=\"raw-panel padded-panel\">${renderTokens}</div>\n `;\n }\n return html`\n <div class=\"raw-panel padded-panel\">\n File data of ${body.size} bytes.\n </div>\n `;\n }\n\n protected renderBufferBody(body: ArrayBuffer | Buffer): TemplateResult {\n const { renderTokens, raw } = this;\n if (renderTokens && raw) {\n return html`\n <div class=\"raw-panel padded-panel\">${renderTokens}</div>\n `;\n }\n return html`\n <div class=\"raw-panel padded-panel\">\n Binary data of ${body.byteLength} bytes.\n </div>\n `;\n }\n\n protected renderPdfBody(): TemplateResult {\n return html`\n <div class=\"content-info pdf padded-panel\">\n <p>The response is a <b>PDF</b> data.</p>\n <p>Save the file to preview its contents.</p>\n </div>\n `;\n }\n\n protected renderImageSvgBody(): TemplateResult {\n const { renderBody, raw } = this;\n if (raw) {\n return this.renderStringBody();\n }\n const div = window.document.createElement('div');\n div.innerHTML = String(renderBody);\n const svgEl = div.firstElementChild;\n if (!svgEl) {\n return this.renderError('Invalid SVG response.');\n }\n const all = Array.from(svgEl.querySelectorAll('*'));\n all.forEach((node) => {\n if (!node.attributes) {\n return;\n }\n const remove = Array.from(node.attributes).filter((attr) => attr.name.startsWith('on') || ['xlink:href'].includes(attr.name));\n remove.forEach(({ name }) => node.removeAttribute(name));\n });\n const scripts = Array.from(svgEl.getElementsByTagName('script'));\n scripts.forEach((node) => (node.parentNode as Element).removeChild(node));\n return html`\n <div class=\"image-container\">\n ${unsafeSVG(svgEl.outerHTML)}\n </div>\n `;\n }\n\n protected renderImageBinaryBody(): TemplateResult {\n const { renderTokens } = this;\n if (!renderTokens) {\n return this.renderNoData('No image data');\n }\n return html`\n <div class=\"image-container\">\n <img class=\"img-preview\" src=\"${renderTokens}\" alt=\"\" @error=\"${this.handleImageError}\">\n </div>`;\n }\n\n protected renderImageError(): TemplateResult {\n const { renderTokens } = this;\n if (!renderTokens) {\n return this.renderNoData('No image data');\n }\n return html`\n <div class=\"error-container padded-panel\">\n <b>The image URL is invalid</b>: \"${renderTokens}\"\n </div>`;\n }\n\n protected renderNoData(label = 'Unsupported view.'): TemplateResult {\n return html`<p class=\"no-info\">${label}</p>`;\n }\n\n protected renderError(message: string): TemplateResult {\n return html`<p class=\"error\">${message}</p>`;\n }\n\n protected renderUrlEncodedBody(): TemplateResult {\n const { renderBody, raw } = this;\n if (raw) {\n return this.renderStringBody();\n }\n let params: URLSearchParams;\n try {\n params = new URLSearchParams(renderBody as string);\n } catch (e) {\n return this.renderError(`Unable to parse URL encoded data.`);\n }\n const content: TemplateResult[] = [];\n for (const [name, value] of params) {\n content.push(html`\n <tr>\n <td class=\"name\">${name}</td><td class=\"value\">${value}</td>\n </tr>\n `);\n }\n return html`\n <table class=\"url-params\">\n <caption>URL encoded parameters</caption>\n <thead>\n <tr>\n <th scope=\"col\" class=\"name\">Name</th>\n <th scope=\"col\" class=\"value\">Value</th>\n </tr>\n </thead>\n <tbody>\n ${content}\n </tbody>\n </table>\n `;\n }\n}\n"]}
@@ -11,11 +11,6 @@ import '../../define/ui/ui-divider.js';
11
11
  * An element that renders summary headers view for an HTTP response.
12
12
  */
13
13
  export default class LogHeaders extends LitElement {
14
- httpLogInternal;
15
- /**
16
- * This property is set when the `httpLog` is set. It always represent an instance of the `RequestLog` (or undefined) regardless of the input format.
17
- */
18
- effectiveLog;
19
14
  /**
20
15
  * The request log to render. When not set it renders nothing.
21
16
  */
@@ -41,26 +36,12 @@ export default class LogHeaders extends LitElement {
41
36
  }
42
37
  this.parseHeaders();
43
38
  }
44
- activeItem;
45
- focusedItem;
46
- /**
47
- * The currently focused node.
48
- */
49
- focusedElement;
50
- /**
51
- * Parsed request headers, when the request is set.
52
- */
53
- requestHeaders;
54
- /**
55
- * Parsed response headers, when the response is set.
56
- */
57
- responseHeaders;
58
- /**
59
- * The list of ids of tree parents that are opened.
60
- */
61
- openedParents = ['general', 'response-headers', 'request-headers'];
62
39
  constructor() {
63
40
  super();
41
+ /**
42
+ * The list of ids of tree parents that are opened.
43
+ */
44
+ this.openedParents = ['general', 'response-headers', 'request-headers'];
64
45
  this.addEventListener('keydown', this.handleKeydown.bind(this));
65
46
  this.addEventListener('click', this.handleClick.bind(this));
66
47
  this.addEventListener('dblclick', this.handleDblclick.bind(this));