@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
@@ -1 +1 @@
1
- {"version":3,"file":"ui-snackbar.js","sourceRoot":"","sources":["../../../src/define/ui/ui-snackbar.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,MAAM,MAAM,0CAA0C,CAAC;AAGvD,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,QAAQ;IACtC,MAAM,CAAU,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;;AADvB,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CAEtB;SAFY,UAAU","sourcesContent":["import { customElement } from \"lit/decorators.js\";\nimport { Snackbar } from \"../../ui/notification/Snackbar.js\";\nimport styles from '../../ui/notification/Snackbar.styles.js';\n\n@customElement('ui-snackbar')\nexport class UiSnackbar extends Snackbar {\n static override styles = [styles];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui-snackbar': UiSnackbar;\n }\n}\n"]}
1
+ {"version":3,"file":"ui-snackbar.js","sourceRoot":"","sources":["../../../src/define/ui/ui-snackbar.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,MAAM,MAAM,0CAA0C,CAAC;AAGvD,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,QAAQ;aACtB,WAAM,GAAG,CAAC,MAAM,CAAC,CAAC;;AADvB,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CAEtB;SAFY,UAAU","sourcesContent":["import { customElement } from \"lit/decorators.js\";\nimport { Snackbar } from \"../../ui/notification/Snackbar.js\";\nimport styles from '../../ui/notification/Snackbar.styles.js';\n\n@customElement('ui-snackbar')\nexport class UiSnackbar extends Snackbar {\n static override styles = [styles];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui-snackbar': UiSnackbar;\n }\n}\n"]}
@@ -3,7 +3,7 @@ import { customElement } from "lit/decorators.js";
3
3
  import Element from "../../ui/tabs/UiTab.js";
4
4
  import styles from '../../ui/tabs/UiTab.styles.js';
5
5
  let UiTabElement = class UiTabElement extends Element {
6
- static styles = [styles];
6
+ static { this.styles = [styles]; }
7
7
  };
8
8
  UiTabElement = __decorate([
9
9
  customElement('ui-tab')
@@ -1 +1 @@
1
- {"version":3,"file":"ui-tab.js","sourceRoot":"","sources":["../../../src/define/ui/ui-tab.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,MAAM,MAAM,+BAA+B,CAAC;AAG5C,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,OAAO;IACvC,MAAM,CAAU,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;;AADvB,YAAY;IADxB,aAAa,CAAC,QAAQ,CAAC;GACX,YAAY,CAExB;SAFY,YAAY","sourcesContent":["import { customElement } from \"lit/decorators.js\";\nimport Element from \"../../ui/tabs/UiTab.js\";\nimport styles from '../../ui/tabs/UiTab.styles.js';\n\n@customElement('ui-tab')\nexport class UiTabElement extends Element {\n static override styles = [styles];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui-tab': Element;\n }\n}\n"]}
1
+ {"version":3,"file":"ui-tab.js","sourceRoot":"","sources":["../../../src/define/ui/ui-tab.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,MAAM,MAAM,+BAA+B,CAAC;AAG5C,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,OAAO;aACvB,WAAM,GAAG,CAAC,MAAM,CAAC,CAAC;;AADvB,YAAY;IADxB,aAAa,CAAC,QAAQ,CAAC;GACX,YAAY,CAExB;SAFY,YAAY","sourcesContent":["import { customElement } from \"lit/decorators.js\";\nimport Element from \"../../ui/tabs/UiTab.js\";\nimport styles from '../../ui/tabs/UiTab.styles.js';\n\n@customElement('ui-tab')\nexport class UiTabElement extends Element {\n static override styles = [styles];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui-tab': Element;\n }\n}\n"]}
@@ -3,7 +3,7 @@ import { customElement } from "lit/decorators.js";
3
3
  import Element from "../../ui/tabs/UiTabs.js";
4
4
  import styles from '../../ui/tabs/UiTabs.styles.js';
5
5
  let UiTabElement = class UiTabElement extends Element {
6
- static styles = [styles];
6
+ static { this.styles = [styles]; }
7
7
  };
8
8
  UiTabElement = __decorate([
9
9
  customElement('ui-tabs')
@@ -1 +1 @@
1
- {"version":3,"file":"ui-tabs.js","sourceRoot":"","sources":["../../../src/define/ui/ui-tabs.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,OAAO,MAAM,yBAAyB,CAAC;AAC9C,OAAO,MAAM,MAAM,gCAAgC,CAAC;AAG7C,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,OAAO;IACvC,MAAM,CAAU,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;;AADvB,YAAY;IADxB,aAAa,CAAC,SAAS,CAAC;GACZ,YAAY,CAExB;SAFY,YAAY","sourcesContent":["import { customElement } from \"lit/decorators.js\";\nimport Element from \"../../ui/tabs/UiTabs.js\";\nimport styles from '../../ui/tabs/UiTabs.styles.js';\n\n@customElement('ui-tabs')\nexport class UiTabElement extends Element {\n static override styles = [styles];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui-tabs': Element;\n }\n}\n"]}
1
+ {"version":3,"file":"ui-tabs.js","sourceRoot":"","sources":["../../../src/define/ui/ui-tabs.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,OAAO,MAAM,yBAAyB,CAAC;AAC9C,OAAO,MAAM,MAAM,gCAAgC,CAAC;AAG7C,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,OAAO;aACvB,WAAM,GAAG,CAAC,MAAM,CAAC,CAAC;;AADvB,YAAY;IADxB,aAAa,CAAC,SAAS,CAAC;GACZ,YAAY,CAExB;SAFY,YAAY","sourcesContent":["import { customElement } from \"lit/decorators.js\";\nimport Element from \"../../ui/tabs/UiTabs.js\";\nimport styles from '../../ui/tabs/UiTabs.styles.js';\n\n@customElement('ui-tabs')\nexport class UiTabElement extends Element {\n static override styles = [styles];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui-tabs': Element;\n }\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  import { nothing } from "lit";
2
2
  import { directive, Directive, PartType } from "lit/directive.js";
3
3
  class DataAttrDirective extends Directive {
4
- rendered;
5
4
  constructor(partInfo) {
6
5
  super(partInfo);
7
6
  if (partInfo.type !== PartType.ELEMENT) {
@@ -1 +1 @@
1
- {"version":3,"file":"data-attr.js","sourceRoot":"","sources":["../../src/directives/data-attr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,OAAO,EAAE,MAAM,KAAK,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAY,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAM5E,MAAM,iBAAkB,SAAQ,SAAS;IAEvC,QAAQ,CAAoB;IAE5B,YAAY,QAAkB;QAC5B,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC9D;IACH,CAAC;IAED,6DAA6D;IACpD,MAAM,CAAC,UAA4B;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;IAEQ,MAAM,CAAC,IAAiB,EAAE,KAAgB;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAsB,CAAC;QAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAqB,CAAC;QACzC,IAAI,CAAC,GAAG,EAAE;YACR,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,OAAO,CAAC;SAChB;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,OAAO,CAAC;SAChB;QACD,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACnB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;gBAC1B,OAAO;aACR;YACD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,aAAa,CAAC,OAAoB,EAAE,OAAiB,EAAE;QACrD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO;SACR;QACD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACnB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACtB,OAAO;aACR;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAC","sourcesContent":["import { ElementPart, nothing } from \"lit\";\nimport { directive, Directive, PartInfo, PartType } from \"lit/directive.js\";\n\nexport type DataAttributeMap = {\n [key: string]: string | number | boolean;\n};\n\nclass DataAttrDirective extends Directive {\n \n rendered?: DataAttributeMap;\n\n constructor(partInfo: PartInfo) {\n super(partInfo);\n if (partInfo.type !== PartType.ELEMENT) {\n throw new Error('dataAttr() can only be used on an element');\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n override render(attributes: DataAttributeMap): typeof nothing | string {\n return nothing;\n }\n\n override update(part: ElementPart, props: unknown[]): unknown | string {\n const element = part.element as HTMLElement;\n const map = props[0] as DataAttributeMap;\n if (!map) {\n this.clearRendered(element);\n return nothing;\n }\n const keys = Object.keys(map);\n if (!keys.length) {\n this.clearRendered(element);\n return nothing;\n }\n this.clearRendered(element, keys);\n this.rendered = map;\n const { dataset } = element;\n keys.forEach((key) => {\n const value = String(map[key]);\n if (dataset[key] === value) {\n return;\n }\n dataset[key] = value;\n });\n return nothing;\n }\n\n clearRendered(element: HTMLElement, keep: string[] = []): void {\n const { rendered } = this;\n if (!rendered) {\n return;\n }\n const keys = Object.keys(rendered);\n if (!keys.length) {\n return;\n }\n const { dataset } = element;\n keys.forEach((key) => {\n if (keep.includes(key)) {\n return;\n }\n delete dataset[key];\n });\n }\n}\n\nexport const dataAttr = directive(DataAttrDirective);\n"]}
1
+ {"version":3,"file":"data-attr.js","sourceRoot":"","sources":["../../src/directives/data-attr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,OAAO,EAAE,MAAM,KAAK,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAY,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAM5E,MAAM,iBAAkB,SAAQ,SAAS;IAIvC,YAAY,QAAkB;QAC5B,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC9D;IACH,CAAC;IAED,6DAA6D;IACpD,MAAM,CAAC,UAA4B;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;IAEQ,MAAM,CAAC,IAAiB,EAAE,KAAgB;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAsB,CAAC;QAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAqB,CAAC;QACzC,IAAI,CAAC,GAAG,EAAE;YACR,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,OAAO,CAAC;SAChB;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,OAAO,CAAC;SAChB;QACD,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACnB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;gBAC1B,OAAO;aACR;YACD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,aAAa,CAAC,OAAoB,EAAE,OAAiB,EAAE;QACrD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO;SACR;QACD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACnB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACtB,OAAO;aACR;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAC","sourcesContent":["import { ElementPart, nothing } from \"lit\";\nimport { directive, Directive, PartInfo, PartType } from \"lit/directive.js\";\n\nexport type DataAttributeMap = {\n [key: string]: string | number | boolean;\n};\n\nclass DataAttrDirective extends Directive {\n \n rendered?: DataAttributeMap;\n\n constructor(partInfo: PartInfo) {\n super(partInfo);\n if (partInfo.type !== PartType.ELEMENT) {\n throw new Error('dataAttr() can only be used on an element');\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n override render(attributes: DataAttributeMap): typeof nothing | string {\n return nothing;\n }\n\n override update(part: ElementPart, props: unknown[]): unknown | string {\n const element = part.element as HTMLElement;\n const map = props[0] as DataAttributeMap;\n if (!map) {\n this.clearRendered(element);\n return nothing;\n }\n const keys = Object.keys(map);\n if (!keys.length) {\n this.clearRendered(element);\n return nothing;\n }\n this.clearRendered(element, keys);\n this.rendered = map;\n const { dataset } = element;\n keys.forEach((key) => {\n const value = String(map[key]);\n if (dataset[key] === value) {\n return;\n }\n dataset[key] = value;\n });\n return nothing;\n }\n\n clearRendered(element: HTMLElement, keep: string[] = []): void {\n const { rendered } = this;\n if (!rendered) {\n return;\n }\n const keys = Object.keys(rendered);\n if (!keys.length) {\n return;\n }\n const { dataset } = element;\n keys.forEach((key) => {\n if (keep.includes(key)) {\n return;\n }\n delete dataset[key];\n });\n }\n}\n\nexport const dataAttr = directive(DataAttrDirective);\n"]}
@@ -12,5 +12,9 @@ export default class ApiElement extends LitElement {
12
12
  */
13
13
  eventsTarget: EventTarget;
14
14
  constructor();
15
+ /**
16
+ * A common way for an element to notify a change.
17
+ */
18
+ notifyChange(): void;
15
19
  }
16
20
  //# sourceMappingURL=ApiElement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApiElement.d.ts","sourceRoot":"","sources":["../../src/elements/ApiElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGjC;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,UAAU;IAChD;;;;;OAKG;IACyB,YAAY,EAAE,WAAW,CAAC;;CAMvD"}
1
+ {"version":3,"file":"ApiElement.d.ts","sourceRoot":"","sources":["../../src/elements/ApiElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGjC;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,UAAU;IAChD;;;;;OAKG;IACyB,YAAY,EAAE,WAAW,CAAC;;IAOtD;;OAEG;IACH,YAAY,IAAI,IAAI;CAGrB"}
@@ -6,17 +6,16 @@ import { property } from "lit/decorators.js";
6
6
  * This allows to introduce global logic or properties for all elements.
7
7
  */
8
8
  export default class ApiElement extends LitElement {
9
- /**
10
- * Whenever the element wants to listen on global object
11
- * it uses this as a reference to it.
12
- *
13
- * @default window
14
- */
15
- eventsTarget;
16
9
  constructor() {
17
10
  super();
18
11
  this.eventsTarget = window;
19
12
  }
13
+ /**
14
+ * A common way for an element to notify a change.
15
+ */
16
+ notifyChange() {
17
+ this.dispatchEvent(new Event('change'));
18
+ }
20
19
  }
21
20
  __decorate([
22
21
  property({ type: Object })
@@ -1 +1 @@
1
- {"version":3,"file":"ApiElement.js","sourceRoot":"","sources":["../../src/elements/ApiElement.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,UAAU;IAChD;;;;;OAKG;IACyB,YAAY,CAAc;IAEtD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;IAC7B,CAAC;CACF;AAN6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDAA2B","sourcesContent":["import { LitElement } from \"lit\";\nimport { property } from \"lit/decorators.js\";\n\n/**\n * A base element for all elements in the UI library.\n * This allows to introduce global logic or properties for all elements.\n */\nexport default class ApiElement extends LitElement {\n /**\n * Whenever the element wants to listen on global object\n * it uses this as a reference to it.\n * \n * @default window\n */\n @property({ type: Object }) eventsTarget: EventTarget;\n\n constructor() {\n super();\n this.eventsTarget = window;\n }\n}\n"]}
1
+ {"version":3,"file":"ApiElement.js","sourceRoot":"","sources":["../../src/elements/ApiElement.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,UAAU;IAShD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF;AAb6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDAA2B","sourcesContent":["import { LitElement } from \"lit\";\nimport { property } from \"lit/decorators.js\";\n\n/**\n * A base element for all elements in the UI library.\n * This allows to introduce global logic or properties for all elements.\n */\nexport default class ApiElement extends LitElement {\n /**\n * Whenever the element wants to listen on global object\n * it uses this as a reference to it.\n * \n * @default window\n */\n @property({ type: Object }) eventsTarget: EventTarget;\n\n constructor() {\n super();\n this.eventsTarget = window;\n }\n\n /**\n * A common way for an element to notify a change.\n */\n notifyChange(): void {\n this.dispatchEvent(new Event('change'));\n }\n}\n"]}
@@ -12,7 +12,6 @@ import '../../define/ui/ui-icon.js';
12
12
  * The element looks for annotations in model and renders them.
13
13
  */
14
14
  export default class ApiAnnotationDocument extends ApiElement {
15
- shapeValue;
16
15
  /**
17
16
  * Serialized with `ApiSerializer` API domain model.
18
17
  * This is to be used instead of `shape`.
@@ -28,7 +27,6 @@ export default class ApiAnnotationDocument extends ApiElement {
28
27
  this.shapeValue = value;
29
28
  this.processShape();
30
29
  }
31
- propertiesValue;
32
30
  /**
33
31
  * @returns `true` if any custom property has been found.
34
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ApiAnnotationDocument.element.js","sourceRoot":"","sources":["../../../src/elements/amf/ApiAnnotationDocument.element.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { AmfNamespace, AmfShapes, IApiCustomDomainProperty, IApiDomainProperty } from '@api-client/core/build/browser.js';\nimport ApiElement from '../ApiElement.js';\nimport '../../define/ui/ui-icon.js';\n\n/**\n * An element to render annotations (also known as custom properties)\n * from AMF model.\n *\n * Annotations are part of RAML language and API console supports it.\n * The element looks for annotations in model and renders them.\n */\nexport default class ApiAnnotationDocument extends ApiElement {\n protected shapeValue: IApiDomainProperty | undefined;\n\n /**\n * Serialized with `ApiSerializer` API domain model.\n * This is to be used instead of `shape`.\n */\n @property({ type: Object })\n get domainModel(): IApiDomainProperty | undefined {\n return this.shapeValue;\n }\n\n set domainModel(value: IApiDomainProperty | undefined) {\n const oldValue = this.shapeValue;\n if (oldValue === value) {\n return;\n }\n this.shapeValue = value;\n this.processShape();\n }\n\n protected propertiesValue: IApiCustomDomainProperty[] | undefined;\n\n /**\n * @returns `true` if any custom property has been found.\n */\n get hasCustomProperties(): boolean {\n const properties = this.propertiesValue;\n return Array.isArray(properties) && !!properties.length;\n }\n\n /**\n * List of custom properties in the shape.\n */\n @property({ type: Array })\n get customProperties(): IApiCustomDomainProperty[] | undefined {\n return this.propertiesValue;\n }\n\n\n set customProperties(value: IApiCustomDomainProperty[] | undefined) {\n const old = this.propertiesValue;\n if (old === value) {\n return;\n }\n this.propertiesValue = value;\n this.processVisibility();\n this.requestUpdate();\n }\n\n /**\n * Called when the shape property change.\n */\n protected processShape(): void {\n const shape = this.shapeValue;\n this.propertiesValue = undefined;\n if (!shape) {\n return;\n }\n const result = shape.customDomainProperties;\n if (Array.isArray(result) && result.length) {\n this.propertiesValue = result;\n }\n this.processVisibility();\n this.requestUpdate();\n }\n\n protected processVisibility(): void {\n const { hasCustomProperties } = this;\n if (hasCustomProperties) {\n this.setAttribute('aria-hidden', 'false');\n this.removeAttribute('hidden');\n } else {\n this.setAttribute('aria-hidden', 'true');\n this.setAttribute('hidden', 'true');\n }\n }\n\n protected scalarValue(scalar: AmfShapes.IApiScalarNode): string | number | boolean {\n let { value = '' } = scalar;\n if (value === 'nil') {\n value = '';\n }\n return value;\n }\n\n override render(): TemplateResult | string {\n const { hasCustomProperties, customProperties } = this;\n if (!hasCustomProperties || !customProperties) {\n return '';\n }\n const content = customProperties.map((prop) => this.renderProperty(prop));\n return html`\n ${content}\n `;\n }\n\n /**\n * @returns The template for the custom property.\n */\n protected renderProperty(prop: IApiCustomDomainProperty): TemplateResult | typeof nothing {\n const { name, extension } = prop;\n const { types } = extension;\n if (types.includes(AmfNamespace.aml.vocabularies.data.Scalar)) {\n return this.renderScalar(name, extension as AmfShapes.IApiScalarNode);\n }\n if (types.includes(AmfNamespace.aml.vocabularies.data.Object)) {\n return this.renderObject(name, extension as AmfShapes.IApiObjectNode);\n }\n return nothing;\n }\n\n /**\n * @param name The annotation name\n * @param content The content tp render.\n * @returns The template for the custom property.\n */\n protected renderAnnotationWrapper(name: string, content: TemplateResult | (TemplateResult | string)[] | string): TemplateResult {\n return html`\n <div class=\"custom-property\">\n <ui-icon class=\"info-icon\" icon=\"info\"></ui-icon>\n <div class=\"info-value\">\n <span class=\"name text-selectable\">${name}</span>\n ${content || ''}\n </div>\n </div>\n `;\n }\n\n /**\n * @returns The template for the custom property.\n */\n protected renderScalar(name: string, scalar: AmfShapes.IApiScalarNode): TemplateResult {\n const content = html`<span class=\"scalar-value text-selectable\">${this.scalarValue(scalar)}</span>`;\n return this.renderAnnotationWrapper(name, content);\n }\n\n /**\n * @returns The template for the custom property.\n */\n protected renderObject(name: string, object: AmfShapes.IApiObjectNode): TemplateResult {\n const { properties = {} } = object;\n const content = Object.keys(properties).map((key) => {\n const value = properties[key];\n const { types } = value;\n if (types.includes(AmfNamespace.aml.vocabularies.data.Scalar)) {\n return this.renderObjectScalarProperty(key, value);\n }\n return key;\n });\n return this.renderAnnotationWrapper(name, content);\n }\n\n /**\n * @returns The template for the custom property.\n */\n protected renderObjectScalarProperty(name: string, scalar: AmfShapes.IApiScalarNode): TemplateResult {\n const value = this.scalarValue(scalar);\n return html`\n <div class=\"object-property\">\n <span class=\"object-name text-selectable\">${name}</span>\n <span class=\"object-value text-selectable\">${value}</span>\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"ApiAnnotationDocument.element.js","sourceRoot":"","sources":["../../../src/elements/amf/ApiAnnotationDocument.element.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { AmfNamespace, AmfShapes, IApiCustomDomainProperty, IApiDomainProperty } from '@api-client/core/build/browser.js';\nimport ApiElement from '../ApiElement.js';\nimport '../../define/ui/ui-icon.js';\n\n/**\n * An element to render annotations (also known as custom properties)\n * from AMF model.\n *\n * Annotations are part of RAML language and API console supports it.\n * The element looks for annotations in model and renders them.\n */\nexport default class ApiAnnotationDocument extends ApiElement {\n protected shapeValue: IApiDomainProperty | undefined;\n\n /**\n * Serialized with `ApiSerializer` API domain model.\n * This is to be used instead of `shape`.\n */\n @property({ type: Object })\n get domainModel(): IApiDomainProperty | undefined {\n return this.shapeValue;\n }\n\n set domainModel(value: IApiDomainProperty | undefined) {\n const oldValue = this.shapeValue;\n if (oldValue === value) {\n return;\n }\n this.shapeValue = value;\n this.processShape();\n }\n\n protected propertiesValue: IApiCustomDomainProperty[] | undefined;\n\n /**\n * @returns `true` if any custom property has been found.\n */\n get hasCustomProperties(): boolean {\n const properties = this.propertiesValue;\n return Array.isArray(properties) && !!properties.length;\n }\n\n /**\n * List of custom properties in the shape.\n */\n @property({ type: Array })\n get customProperties(): IApiCustomDomainProperty[] | undefined {\n return this.propertiesValue;\n }\n\n\n set customProperties(value: IApiCustomDomainProperty[] | undefined) {\n const old = this.propertiesValue;\n if (old === value) {\n return;\n }\n this.propertiesValue = value;\n this.processVisibility();\n this.requestUpdate();\n }\n\n /**\n * Called when the shape property change.\n */\n protected processShape(): void {\n const shape = this.shapeValue;\n this.propertiesValue = undefined;\n if (!shape) {\n return;\n }\n const result = shape.customDomainProperties;\n if (Array.isArray(result) && result.length) {\n this.propertiesValue = result;\n }\n this.processVisibility();\n this.requestUpdate();\n }\n\n protected processVisibility(): void {\n const { hasCustomProperties } = this;\n if (hasCustomProperties) {\n this.setAttribute('aria-hidden', 'false');\n this.removeAttribute('hidden');\n } else {\n this.setAttribute('aria-hidden', 'true');\n this.setAttribute('hidden', 'true');\n }\n }\n\n protected scalarValue(scalar: AmfShapes.IApiScalarNode): string | number | boolean {\n let { value = '' } = scalar;\n if (value === 'nil') {\n value = '';\n }\n return value;\n }\n\n override render(): TemplateResult | string {\n const { hasCustomProperties, customProperties } = this;\n if (!hasCustomProperties || !customProperties) {\n return '';\n }\n const content = customProperties.map((prop) => this.renderProperty(prop));\n return html`\n ${content}\n `;\n }\n\n /**\n * @returns The template for the custom property.\n */\n protected renderProperty(prop: IApiCustomDomainProperty): TemplateResult | typeof nothing {\n const { name, extension } = prop;\n const { types } = extension;\n if (types.includes(AmfNamespace.aml.vocabularies.data.Scalar)) {\n return this.renderScalar(name, extension as AmfShapes.IApiScalarNode);\n }\n if (types.includes(AmfNamespace.aml.vocabularies.data.Object)) {\n return this.renderObject(name, extension as AmfShapes.IApiObjectNode);\n }\n return nothing;\n }\n\n /**\n * @param name The annotation name\n * @param content The content tp render.\n * @returns The template for the custom property.\n */\n protected renderAnnotationWrapper(name: string, content: TemplateResult | (TemplateResult | string)[] | string): TemplateResult {\n return html`\n <div class=\"custom-property\">\n <ui-icon class=\"info-icon\" icon=\"info\"></ui-icon>\n <div class=\"info-value\">\n <span class=\"name text-selectable\">${name}</span>\n ${content || ''}\n </div>\n </div>\n `;\n }\n\n /**\n * @returns The template for the custom property.\n */\n protected renderScalar(name: string, scalar: AmfShapes.IApiScalarNode): TemplateResult {\n const content = html`<span class=\"scalar-value text-selectable\">${this.scalarValue(scalar)}</span>`;\n return this.renderAnnotationWrapper(name, content);\n }\n\n /**\n * @returns The template for the custom property.\n */\n protected renderObject(name: string, object: AmfShapes.IApiObjectNode): TemplateResult {\n const { properties = {} } = object;\n const content = Object.keys(properties).map((key) => {\n const value = properties[key];\n const { types } = value;\n if (types.includes(AmfNamespace.aml.vocabularies.data.Scalar)) {\n return this.renderObjectScalarProperty(key, value);\n }\n return key;\n });\n return this.renderAnnotationWrapper(name, content);\n }\n\n /**\n * @returns The template for the custom property.\n */\n protected renderObjectScalarProperty(name: string, scalar: AmfShapes.IApiScalarNode): TemplateResult {\n const value = this.scalarValue(scalar);\n return html`\n <div class=\"object-property\">\n <span class=\"object-name text-selectable\">${name}</span>\n <span class=\"object-value text-selectable\">${value}</span>\n </div>\n `;\n }\n}\n"]}
@@ -10,8 +10,6 @@ import '../../define/amf/authorization/amf-ramlcustom-authorization.js';
10
10
  import '../../define/amf/authorization/amf-oauth2-authorization.js';
11
11
  import '../../define/amf/authorization/amf-oidc-authorization.js';
12
12
  export default class ApiAuthorizationEditor extends ApiElement {
13
- securityInternal;
14
- methodsInternal;
15
13
  get security() {
16
14
  return this.securityInternal;
17
15
  }
@@ -27,36 +25,6 @@ export default class ApiAuthorizationEditor extends ApiElement {
27
25
  get methods() {
28
26
  return this.methodsInternal;
29
27
  }
30
- /**
31
- * Whether or not the element is invalid. The validation state changes
32
- * when settings change or when the `validate()` function is called.
33
- * @attribute
34
- */
35
- invalid;
36
- /**
37
- * List of credentials source
38
- */
39
- credentialsSource;
40
- /**
41
- * Redirect URL for the OAuth2 authorization.
42
- * @attribute
43
- */
44
- oauth2RedirectUri;
45
- /**
46
- * When set it overrides the `authorizationUri` in the authorization editor,
47
- * regardless to the authorization scheme applied to the request.
48
- * This is to be used with the mocking service.
49
- * @attribute
50
- */
51
- oauth2AuthorizationUri;
52
- /**
53
- * When set it overrides the `authorizationUri` in the authorization editor,
54
- * regardless to the authorization scheme applied to the request.
55
- * This is to be used with the mocking service.
56
- * @attribute
57
- */
58
- oauth2AccessTokenUri;
59
- editors;
60
28
  /**
61
29
  * Reads list of authorization methods from the model.
62
30
  */
@@ -125,7 +93,7 @@ export default class ApiAuthorizationEditor extends ApiElement {
125
93
  */
126
94
  changeHandler() {
127
95
  this.validate();
128
- this.dispatchEvent(new Event('change'));
96
+ this.notifyChange();
129
97
  }
130
98
  /**
131
99
  * Validates state of the editor. It sets `invalid` property when called.
@@ -1 +1 @@
1
- {"version":3,"file":"ApiAuthorizationEditor.element.js","sourceRoot":"","sources":["../../../src/elements/amf/ApiAuthorizationEditor.element.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult } from 'lit';\nimport { property, queryAll } from 'lit/decorators.js';\nimport { ApiDefinitions, IRequestAuthorization } from '@api-client/core/build/browser.js';\nimport { Oauth2Credentials } from '../authorization/types.js';\nimport ApiElement from '../ApiElement.js';\nimport { Authorization } from '../authorization/ui/Authorization.js';\nimport '../../define/amf/authorization/amf-basic-authorization.js';\nimport '../../define/amf/authorization/amf-passthrough-authorization.js';\nimport '../../define/amf/authorization/amf-bearer-authorization.js';\nimport '../../define/amf/authorization/amf-apikey-authorization.js';\nimport '../../define/amf/authorization/amf-ramlcustom-authorization.js';\nimport '../../define/amf/authorization/amf-oauth2-authorization.js';\nimport '../../define/amf/authorization/amf-oidc-authorization.js';\n\nexport interface SecurityMethods {\n types: string[];\n schemes: ApiDefinitions.IApiParametrizedSecurityScheme[];\n}\n\nexport default class ApiAuthorizationEditor extends ApiElement {\n protected securityInternal: ApiDefinitions.IApiSecurityRequirement | undefined;\n\n protected methodsInternal?: SecurityMethods;\n\n get security(): ApiDefinitions.IApiSecurityRequirement | undefined {\n return this.securityInternal;\n }\n\n set security(value: ApiDefinitions.IApiSecurityRequirement | undefined) {\n const old = this.securityInternal;\n if (old === value) {\n return;\n }\n this.securityInternal = value;\n this.processModel();\n this.requestUpdate();\n }\n\n get methods(): SecurityMethods | undefined {\n return this.methodsInternal;\n }\n\n /**\n * Whether or not the element is invalid. The validation state changes\n * when settings change or when the `validate()` function is called.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) invalid?: boolean;\n\n /**\n * List of credentials source\n */\n @property({ type: Array }) credentialsSource?: Oauth2Credentials[];\n\n /**\n * Redirect URL for the OAuth2 authorization.\n * @attribute\n */\n @property({ type: String }) oauth2RedirectUri?: string;\n\n /** \n * When set it overrides the `authorizationUri` in the authorization editor,\n * regardless to the authorization scheme applied to the request.\n * This is to be used with the mocking service.\n * @attribute\n */\n @property({ type: String }) oauth2AuthorizationUri?: string;\n\n /** \n * When set it overrides the `authorizationUri` in the authorization editor,\n * regardless to the authorization scheme applied to the request.\n * This is to be used with the mocking service.\n * @attribute\n */\n @property({ type: String }) oauth2AccessTokenUri?: string;\n\n @queryAll('.auth-editor') readonly editors!: NodeListOf<Authorization>;\n\n /**\n * Reads list of authorization methods from the model.\n */\n protected processModel(): void {\n const security = this.securityInternal;\n if (!security) {\n return;\n }\n this.methodsInternal = this.computeMethods(security.schemes);\n }\n\n /**\n * Computes list of security schemes that can be applied to the element.\n *\n * @param schemes A list of security schemes to process.\n * @returns A list of authorization methods that can be applied to\n * the current endpoint. Each object describes the list of security types\n * that can be applied to the editor. In OAS an auth method may be an union\n * of methods.\n */\n protected computeMethods(schemes: ApiDefinitions.IApiParametrizedSecurityScheme[]): SecurityMethods {\n const result: SecurityMethods = {\n types: [],\n schemes: [],\n };\n schemes.forEach((security) => {\n const type = this.listSchemeLabels(security);\n if (!type) {\n return;\n }\n result.types.push(type);\n result.schemes.push(security);\n });\n return result;\n }\n\n /**\n * Reads authorization scheme's name and type from the AMF model.\n */\n protected listSchemeLabels(security: ApiDefinitions.IApiParametrizedSecurityScheme): string | undefined {\n const { name, scheme } = security;\n if (name === 'null') {\n // RAML allows to define a \"null\" scheme. This means that the authorization\n // for this endpoint is optional.\n return 'No authorization';\n }\n if (!scheme) {\n return undefined;\n }\n let { type } = scheme;\n if (type === 'http') {\n // HTTP type can be `basic` or `bearer`.\n const config = scheme.settings as ApiDefinitions.IApiSecurityHttpSettings;\n if (!config) {\n // this happens when AMF doesn't properly read graph model back to the store.\n // AMF team promised to fix this...\n type = undefined;\n } else {\n type = config.scheme;\n }\n }\n return type;\n }\n\n /**\n * A function called each time anything change in the editor.\n * Revalidates the component and dispatches the `change` event.\n */\n protected changeHandler(): void {\n this.validate();\n this.dispatchEvent(new Event('change'));\n }\n\n /**\n * Validates state of the editor. It sets `invalid` property when called.\n *\n * Exception: OAuth 2 form reports valid even when the `accessToken` is not\n * set. This adjust for this and reports invalid when `accessToken` for OAuth 2\n * is missing.\n *\n * @returns True when the form has valid data.\n */\n validate(): boolean {\n const { editors } = this;\n let valid = true;\n for (let i = 0, len = editors.length; i < len; i++) {\n const node = editors[i];\n const methodValid = node.checkValidity();\n if (!methodValid) {\n valid = methodValid;\n break;\n }\n // if (['amf-oauth2-authorization', 'amf-oidc-authorization'].includes(node.localName)) {\n // const oauth = node as OAuth2Authorization;\n // const { config } = oauth;\n // if (!config.accessToken) {\n // valid = false;\n // break;\n // }\n // }\n }\n this.invalid = !valid;\n return valid;\n }\n\n /**\n * Creates a list of configuration by calling the `serialize()` function on each\n * currently rendered authorization form.\n *\n * @returns List of authorization settings.\n */\n serialize(): IRequestAuthorization[] {\n const { editors } = this;\n return Array.from(editors).map((editor) => {\n const auth = editor.authorization as IRequestAuthorization;\n auth.valid = editor.checkValidity();\n return auth;\n });\n }\n\n /**\n * Calls the `authorize()` function on each rendered authorization methods.\n * Currently only `OAuth 1.0` and `OAuth 2.0` actually perform the authorization. \n * \n * Each method is called in order to make sure the user is not overwhelmed with \n * dialogs or other UI elements.\n * \n * The function rejects when at least one authorization method rejects.\n */\n async authorize(): Promise<void> {\n const { editors } = this;\n const list = Array.from(editors);\n while (list.length) {\n const auth = list.shift();\n if (!auth) {\n break;\n }\n // eslint-disable-next-line no-await-in-loop\n await auth.authorize();\n }\n }\n\n override render(): TemplateResult {\n const methods = this.methodsInternal;\n if (!methods || !methods.schemes.length) {\n return html``;\n }\n return html`\n <section class=\"authorization-union\">\n ${methods.schemes.map((scheme, index) => this.methodTemplate(scheme, methods.types[index]))}\n </section>\n `;\n }\n\n protected methodTemplate(scheme: ApiDefinitions.IApiParametrizedSecurityScheme, type: string): TemplateResult | string {\n switch (type) {\n case 'Basic Authentication':\n case 'basic':\n return this.basicAuthTemplate(scheme);\n case 'Digest Authentication':\n return this.digestAuthTemplate();\n case 'Pass Through':\n return this.passThroughAuthTemplate(scheme);\n case 'OAuth 2.0':\n return this.oa2AuthTemplate(scheme);\n case 'OAuth 1.0':\n return this.oa1AuthTemplate();\n case 'bearer':\n return this.bearerAuthTemplate(scheme);\n case 'Api Key':\n return this.apiKeyTemplate(scheme);\n case 'openIdConnect':\n return this.openIdConnectTemplate(scheme);\n default:\n if (String(type).indexOf('x-') === 0) {\n return this.ramlCustomAuthTemplate(scheme);\n }\n }\n return '';\n }\n\n /**\n * Renders a template for Basic authorization.\n */\n protected basicAuthTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n return html`\n <amf-basic-authorization .security=\"${security}\" @change=\"${this.changeHandler}\" class=\"auth-editor\"></amf-basic-authorization>`;\n }\n\n /**\n * Renders a template for Digest authorization.\n */\n protected digestAuthTemplate(): TemplateResult {\n return html`\n <p class=\"no-support digest\">The Digest authorization is not longer supported.</p>\n `;\n }\n\n /**\n * Renders a template for Pass through authorization.\n */\n protected passThroughAuthTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n return html`\n <amf-passthrough-authorization .security=\"${security}\" @change=\"${this.changeHandler}\" class=\"auth-editor\"></amf-passthrough-authorization>`;\n }\n\n /**\n * Renders a template for RAML custom authorization.\n */\n protected ramlCustomAuthTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n return html`<amf-ramlcustom-authorization .security=\"${security}\" @change=\"${this.changeHandler}\" class=\"auth-editor\"></amf-ramlcustom-authorization>`;\n }\n\n /**\n * Renders a template for Bearer authorization (OAS).\n */\n protected bearerAuthTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n return html`\n <amf-bearer-authorization .security=\"${security}\" @change=\"${this.changeHandler}\" class=\"auth-editor\"></amf-bearer-authorization>`;\n }\n\n /**\n * Renders a template for OAuth 1 authorization.\n */\n protected oa1AuthTemplate(): TemplateResult {\n return html`\n <p class=\"no-support oauth1\">The OAuth1 authorization is not longer supported.</p>\n `;\n }\n\n /**\n * Renders a template for OAuth 2 authorization.\n */\n protected oa2AuthTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n const {\n oauth2RedirectUri,\n credentialsSource,\n oauth2AuthorizationUri,\n oauth2AccessTokenUri,\n } = this;\n return html`\n <amf-oauth2-authorization\n .defaultRedirectUri=\"${oauth2RedirectUri}\"\n .overrideAuthorizationUri=\"${oauth2AuthorizationUri}\"\n .overrideAccessTokenUri=\"${oauth2AccessTokenUri}\"\n .security=\"${security}\"\n .credentialsSource=\"${credentialsSource}\"\n @change=\"${this.changeHandler}\"\n class=\"auth-editor\"\n ></amf-oauth2-authorization>`;\n }\n\n /**\n * Renders a template for OAuth 2 authorization.\n */\n protected openIdConnectTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n const {\n oauth2RedirectUri,\n credentialsSource,\n } = this;\n return html`\n <amf-oidc-authorization\n .defaultRedirectUri=\"${oauth2RedirectUri}\"\n .security=\"${security}\"\n .credentialsSource=\"${credentialsSource}\"\n @change=\"${this.changeHandler}\"\n class=\"auth-editor\"\n ></amf-oidc-authorization>`;\n }\n\n /**\n * Renders a template for Api Keys authorization.\n */\n protected apiKeyTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n return html`\n <amf-apikey-authorization .security=\"${security}\" @change=\"${this.changeHandler}\" class=\"auth-editor\"></amf-apikey-authorization>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"ApiAuthorizationEditor.element.js","sourceRoot":"","sources":["../../../src/elements/amf/ApiAuthorizationEditor.element.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult } from 'lit';\nimport { property, queryAll } from 'lit/decorators.js';\nimport { ApiDefinitions, IRequestAuthorization } from '@api-client/core/build/browser.js';\nimport { Oauth2Credentials } from '../authorization/types.js';\nimport ApiElement from '../ApiElement.js';\nimport { Authorization } from '../authorization/ui/Authorization.js';\nimport '../../define/amf/authorization/amf-basic-authorization.js';\nimport '../../define/amf/authorization/amf-passthrough-authorization.js';\nimport '../../define/amf/authorization/amf-bearer-authorization.js';\nimport '../../define/amf/authorization/amf-apikey-authorization.js';\nimport '../../define/amf/authorization/amf-ramlcustom-authorization.js';\nimport '../../define/amf/authorization/amf-oauth2-authorization.js';\nimport '../../define/amf/authorization/amf-oidc-authorization.js';\n\nexport interface SecurityMethods {\n types: string[];\n schemes: ApiDefinitions.IApiParametrizedSecurityScheme[];\n}\n\nexport default class ApiAuthorizationEditor extends ApiElement {\n protected securityInternal: ApiDefinitions.IApiSecurityRequirement | undefined;\n\n protected methodsInternal?: SecurityMethods;\n\n get security(): ApiDefinitions.IApiSecurityRequirement | undefined {\n return this.securityInternal;\n }\n\n set security(value: ApiDefinitions.IApiSecurityRequirement | undefined) {\n const old = this.securityInternal;\n if (old === value) {\n return;\n }\n this.securityInternal = value;\n this.processModel();\n this.requestUpdate();\n }\n\n get methods(): SecurityMethods | undefined {\n return this.methodsInternal;\n }\n\n /**\n * Whether or not the element is invalid. The validation state changes\n * when settings change or when the `validate()` function is called.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) invalid?: boolean;\n\n /**\n * List of credentials source\n */\n @property({ type: Array }) credentialsSource?: Oauth2Credentials[];\n\n /**\n * Redirect URL for the OAuth2 authorization.\n * @attribute\n */\n @property({ type: String }) oauth2RedirectUri?: string;\n\n /** \n * When set it overrides the `authorizationUri` in the authorization editor,\n * regardless to the authorization scheme applied to the request.\n * This is to be used with the mocking service.\n * @attribute\n */\n @property({ type: String }) oauth2AuthorizationUri?: string;\n\n /** \n * When set it overrides the `authorizationUri` in the authorization editor,\n * regardless to the authorization scheme applied to the request.\n * This is to be used with the mocking service.\n * @attribute\n */\n @property({ type: String }) oauth2AccessTokenUri?: string;\n\n @queryAll('.auth-editor') readonly editors!: NodeListOf<Authorization>;\n\n /**\n * Reads list of authorization methods from the model.\n */\n protected processModel(): void {\n const security = this.securityInternal;\n if (!security) {\n return;\n }\n this.methodsInternal = this.computeMethods(security.schemes);\n }\n\n /**\n * Computes list of security schemes that can be applied to the element.\n *\n * @param schemes A list of security schemes to process.\n * @returns A list of authorization methods that can be applied to\n * the current endpoint. Each object describes the list of security types\n * that can be applied to the editor. In OAS an auth method may be an union\n * of methods.\n */\n protected computeMethods(schemes: ApiDefinitions.IApiParametrizedSecurityScheme[]): SecurityMethods {\n const result: SecurityMethods = {\n types: [],\n schemes: [],\n };\n schemes.forEach((security) => {\n const type = this.listSchemeLabels(security);\n if (!type) {\n return;\n }\n result.types.push(type);\n result.schemes.push(security);\n });\n return result;\n }\n\n /**\n * Reads authorization scheme's name and type from the AMF model.\n */\n protected listSchemeLabels(security: ApiDefinitions.IApiParametrizedSecurityScheme): string | undefined {\n const { name, scheme } = security;\n if (name === 'null') {\n // RAML allows to define a \"null\" scheme. This means that the authorization\n // for this endpoint is optional.\n return 'No authorization';\n }\n if (!scheme) {\n return undefined;\n }\n let { type } = scheme;\n if (type === 'http') {\n // HTTP type can be `basic` or `bearer`.\n const config = scheme.settings as ApiDefinitions.IApiSecurityHttpSettings;\n if (!config) {\n // this happens when AMF doesn't properly read graph model back to the store.\n // AMF team promised to fix this...\n type = undefined;\n } else {\n type = config.scheme;\n }\n }\n return type;\n }\n\n /**\n * A function called each time anything change in the editor.\n * Revalidates the component and dispatches the `change` event.\n */\n protected changeHandler(): void {\n this.validate();\n this.notifyChange();\n }\n\n /**\n * Validates state of the editor. It sets `invalid` property when called.\n *\n * Exception: OAuth 2 form reports valid even when the `accessToken` is not\n * set. This adjust for this and reports invalid when `accessToken` for OAuth 2\n * is missing.\n *\n * @returns True when the form has valid data.\n */\n validate(): boolean {\n const { editors } = this;\n let valid = true;\n for (let i = 0, len = editors.length; i < len; i++) {\n const node = editors[i];\n const methodValid = node.checkValidity();\n if (!methodValid) {\n valid = methodValid;\n break;\n }\n // if (['amf-oauth2-authorization', 'amf-oidc-authorization'].includes(node.localName)) {\n // const oauth = node as OAuth2Authorization;\n // const { config } = oauth;\n // if (!config.accessToken) {\n // valid = false;\n // break;\n // }\n // }\n }\n this.invalid = !valid;\n return valid;\n }\n\n /**\n * Creates a list of configuration by calling the `serialize()` function on each\n * currently rendered authorization form.\n *\n * @returns List of authorization settings.\n */\n serialize(): IRequestAuthorization[] {\n const { editors } = this;\n return Array.from(editors).map((editor) => {\n const auth = editor.authorization as IRequestAuthorization;\n auth.valid = editor.checkValidity();\n return auth;\n });\n }\n\n /**\n * Calls the `authorize()` function on each rendered authorization methods.\n * Currently only `OAuth 1.0` and `OAuth 2.0` actually perform the authorization. \n * \n * Each method is called in order to make sure the user is not overwhelmed with \n * dialogs or other UI elements.\n * \n * The function rejects when at least one authorization method rejects.\n */\n async authorize(): Promise<void> {\n const { editors } = this;\n const list = Array.from(editors);\n while (list.length) {\n const auth = list.shift();\n if (!auth) {\n break;\n }\n // eslint-disable-next-line no-await-in-loop\n await auth.authorize();\n }\n }\n\n override render(): TemplateResult {\n const methods = this.methodsInternal;\n if (!methods || !methods.schemes.length) {\n return html``;\n }\n return html`\n <section class=\"authorization-union\">\n ${methods.schemes.map((scheme, index) => this.methodTemplate(scheme, methods.types[index]))}\n </section>\n `;\n }\n\n protected methodTemplate(scheme: ApiDefinitions.IApiParametrizedSecurityScheme, type: string): TemplateResult | string {\n switch (type) {\n case 'Basic Authentication':\n case 'basic':\n return this.basicAuthTemplate(scheme);\n case 'Digest Authentication':\n return this.digestAuthTemplate();\n case 'Pass Through':\n return this.passThroughAuthTemplate(scheme);\n case 'OAuth 2.0':\n return this.oa2AuthTemplate(scheme);\n case 'OAuth 1.0':\n return this.oa1AuthTemplate();\n case 'bearer':\n return this.bearerAuthTemplate(scheme);\n case 'Api Key':\n return this.apiKeyTemplate(scheme);\n case 'openIdConnect':\n return this.openIdConnectTemplate(scheme);\n default:\n if (String(type).indexOf('x-') === 0) {\n return this.ramlCustomAuthTemplate(scheme);\n }\n }\n return '';\n }\n\n /**\n * Renders a template for Basic authorization.\n */\n protected basicAuthTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n return html`\n <amf-basic-authorization .security=\"${security}\" @change=\"${this.changeHandler}\" class=\"auth-editor\"></amf-basic-authorization>`;\n }\n\n /**\n * Renders a template for Digest authorization.\n */\n protected digestAuthTemplate(): TemplateResult {\n return html`\n <p class=\"no-support digest\">The Digest authorization is not longer supported.</p>\n `;\n }\n\n /**\n * Renders a template for Pass through authorization.\n */\n protected passThroughAuthTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n return html`\n <amf-passthrough-authorization .security=\"${security}\" @change=\"${this.changeHandler}\" class=\"auth-editor\"></amf-passthrough-authorization>`;\n }\n\n /**\n * Renders a template for RAML custom authorization.\n */\n protected ramlCustomAuthTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n return html`<amf-ramlcustom-authorization .security=\"${security}\" @change=\"${this.changeHandler}\" class=\"auth-editor\"></amf-ramlcustom-authorization>`;\n }\n\n /**\n * Renders a template for Bearer authorization (OAS).\n */\n protected bearerAuthTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n return html`\n <amf-bearer-authorization .security=\"${security}\" @change=\"${this.changeHandler}\" class=\"auth-editor\"></amf-bearer-authorization>`;\n }\n\n /**\n * Renders a template for OAuth 1 authorization.\n */\n protected oa1AuthTemplate(): TemplateResult {\n return html`\n <p class=\"no-support oauth1\">The OAuth1 authorization is not longer supported.</p>\n `;\n }\n\n /**\n * Renders a template for OAuth 2 authorization.\n */\n protected oa2AuthTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n const {\n oauth2RedirectUri,\n credentialsSource,\n oauth2AuthorizationUri,\n oauth2AccessTokenUri,\n } = this;\n return html`\n <amf-oauth2-authorization\n .defaultRedirectUri=\"${oauth2RedirectUri}\"\n .overrideAuthorizationUri=\"${oauth2AuthorizationUri}\"\n .overrideAccessTokenUri=\"${oauth2AccessTokenUri}\"\n .security=\"${security}\"\n .credentialsSource=\"${credentialsSource}\"\n @change=\"${this.changeHandler}\"\n class=\"auth-editor\"\n ></amf-oauth2-authorization>`;\n }\n\n /**\n * Renders a template for OAuth 2 authorization.\n */\n protected openIdConnectTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n const {\n oauth2RedirectUri,\n credentialsSource,\n } = this;\n return html`\n <amf-oidc-authorization\n .defaultRedirectUri=\"${oauth2RedirectUri}\"\n .security=\"${security}\"\n .credentialsSource=\"${credentialsSource}\"\n @change=\"${this.changeHandler}\"\n class=\"auth-editor\"\n ></amf-oidc-authorization>`;\n }\n\n /**\n * Renders a template for Api Keys authorization.\n */\n protected apiKeyTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n return html`\n <amf-apikey-authorization .security=\"${security}\" @change=\"${this.changeHandler}\" class=\"auth-editor\"></amf-apikey-authorization>\n `;\n }\n}\n"]}
@@ -19,97 +19,6 @@ import '../../define/ui/ui-radio.js';
19
19
  * This element works with the [AMF](https://github.com/mulesoft/amf) data model.
20
20
  */
21
21
  export default class ApiDocumentation extends ApiDocumentationBase {
22
- domainTypeValue;
23
- operationIdValue;
24
- handleNavigationEventsValue;
25
- renderedViewValue;
26
- apiSummaryValue;
27
- documentMetaValue;
28
- navEventsRegistered;
29
- /**
30
- * A property to set to override AMF's model base URI information.
31
- * @attribute
32
- */
33
- baseUri;
34
- /**
35
- * When set it renders the "try it" button that dispatches the `tryit` event.
36
- * @attribute
37
- */
38
- tryItButton;
39
- /**
40
- * When set it renders the "try it" panel next to the operation documentation.
41
- * Setting this automatically disables the `tryItButton` property.
42
- *
43
- * Note, use this only when there's enough space on the screen to render 2 panels side-by-side.
44
- * @attribute
45
- */
46
- tryItPanel;
47
- /**
48
- * OAuth2 redirect URI.
49
- * This value **must** be set in order for OAuth 1/2 to work properly.
50
- * This is only required in inline mode (`inlineMethods`).
51
- * @attribute
52
- */
53
- redirectUri;
54
- /**
55
- * When set it renders the URL input above the URL parameters in the HTTP editor.
56
- * @attribute
57
- */
58
- httpUrlEditor;
59
- /**
60
- * When set it applies the authorization values to the request dispatched
61
- * with the API request event.
62
- * If possible, it applies the authorization values to query parameter or headers
63
- * depending on the configuration.
64
- *
65
- * When the values arr applied to the request the authorization config is kept in the
66
- * request object, but its `enabled` state is always `false`, meaning other potential
67
- * processors should ignore this values.
68
- *
69
- * If this property is not set then the application hosting this component should
70
- * process the authorization data and apply them to the request.
71
- * @attribute
72
- */
73
- httpApplyAuthorization;
74
- /**
75
- * List of credentials source passed to the HTTP editor
76
- */
77
- httpCredentialsSource;
78
- /**
79
- * Optional property to set on the request editor.
80
- * When true, the server selector is not rendered
81
- * @attribute
82
- */
83
- noServerSelector;
84
- /**
85
- * When set it renders "add custom" item button in the HTTP request editor.
86
- * If the element is to be used without AMF model this should always
87
- * be enabled. Otherwise users won't be able to add a parameter.
88
- * @attribute
89
- */
90
- httpAllowCustom;
91
- /**
92
- * Optional property to set on the request editor.
93
- * If true, the server selector custom base URI option is rendered
94
- * @attribute
95
- */
96
- allowCustomBaseUri;
97
- /**
98
- * The URI of the server currently selected in the server selector
99
- * @attribute
100
- */
101
- serverValue;
102
- /**
103
- * The type of the server currently selected in the server selector
104
- * @attribute
105
- */
106
- serverType;
107
- /**
108
- * The mime type of the currently selected schema.
109
- * @attribute
110
- */
111
- schemaMimeType;
112
- serversCount;
113
22
  /**
114
23
  * The type of the selected domain item.
115
24
  * @attribute
@@ -1 +1 @@
1
- {"version":3,"file":"ApiDocumentation.element.js","sourceRoot":"","sources":["../../../src/elements/amf/ApiDocumentation.element.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ApiDefinitions, AmfNamespace } from '@api-client/core/build/browser.js';\nimport { ApiDocumentationBase } from './ApiDocumentationBase.js';\nimport { EventTypes } from '../../events/amf/EventTypes.js';\nimport { Events } from '../../events/amf/Events.js';\nimport { ServerChangeEvent, ServerCountChangeEvent } from '../../events/amf/ServerEvents.js';\nimport { ApiNavigationEvent } from '../../events/amf/NavigationEvents.js';\nimport { SelectionType, DocumentMeta, ServerType } from '../../amf/types.js';\nimport { Oauth2Credentials } from '../authorization/types.js';\nimport '../../define/amf/api-summary.js'\nimport '../../define/amf/api-operation-document.js'\nimport '../../define/amf/api-resource-document.js';\nimport '../../define/amf/api-security-document.js';\nimport '../../define/amf/api-documentation-document.js';\nimport '../../define/amf/api-schema-document.js';\nimport '../../define/amf/api-server-picker.js';\nimport '../../define/ui/ui-radio.js';\nimport RadioElement from '../../ui/input/RadioElement.js';\n/**\n * A main documentation view for an AMF model representing a sync or an async API.\n * \n * This element works with the [AMF](https://github.com/mulesoft/amf) data model.\n */\nexport default class ApiDocumentation extends ApiDocumentationBase {\n protected domainTypeValue: SelectionType | undefined;\n\n protected operationIdValue: string | undefined;\n\n protected handleNavigationEventsValue: boolean | undefined;\n\n protected renderedViewValue: string | undefined;\n\n protected apiSummaryValue?: ApiDefinitions.IApiSummary;\n\n protected documentMetaValue?: DocumentMeta;\n\n protected navEventsRegistered: boolean;\n\n /**\n * A property to set to override AMF's model base URI information.\n * @attribute\n */\n @property({ type: String }) baseUri?: string;\n\n /** \n * When set it renders the \"try it\" button that dispatches the `tryit` event.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) tryItButton?: boolean;\n\n /** \n * When set it renders the \"try it\" panel next to the operation documentation.\n * Setting this automatically disables the `tryItButton` property.\n * \n * Note, use this only when there's enough space on the screen to render 2 panels side-by-side.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) tryItPanel?: boolean;\n\n /**\n * OAuth2 redirect URI.\n * This value **must** be set in order for OAuth 1/2 to work properly.\n * This is only required in inline mode (`inlineMethods`).\n * @attribute\n */\n @property({ type: String }) redirectUri?: string;\n\n /** \n * When set it renders the URL input above the URL parameters in the HTTP editor.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) httpUrlEditor?: boolean;\n\n /** \n * When set it applies the authorization values to the request dispatched\n * with the API request event.\n * If possible, it applies the authorization values to query parameter or headers\n * depending on the configuration.\n * \n * When the values arr applied to the request the authorization config is kept in the\n * request object, but its `enabled` state is always `false`, meaning other potential\n * processors should ignore this values.\n * \n * If this property is not set then the application hosting this component should\n * process the authorization data and apply them to the request.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) httpApplyAuthorization?: boolean;\n\n /**\n * List of credentials source passed to the HTTP editor\n */\n @property({ type: Array }) httpCredentialsSource?: Oauth2Credentials[];\n\n /**\n * Optional property to set on the request editor. \n * When true, the server selector is not rendered\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) noServerSelector?: boolean;\n\n /**\n * When set it renders \"add custom\" item button in the HTTP request editor.\n * If the element is to be used without AMF model this should always\n * be enabled. Otherwise users won't be able to add a parameter.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) httpAllowCustom?: boolean;\n\n /**\n * Optional property to set on the request editor. \n * If true, the server selector custom base URI option is rendered\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) allowCustomBaseUri?: boolean;\n\n /**\n * The URI of the server currently selected in the server selector\n * @attribute\n */\n @property({ type: String }) serverValue?: string;\n\n /**\n * The type of the server currently selected in the server selector\n * @attribute\n */\n @property({ type: String }) serverType?: string;\n\n /**\n * The mime type of the currently selected schema.\n * @attribute\n */\n @property({ type: String }) schemaMimeType?: string;\n\n serversCount?: number;\n\n /** \n * The type of the selected domain item.\n * @attribute\n */\n @property({ type: String, reflect: true })\n get domainType(): SelectionType | undefined {\n return this.domainTypeValue;\n }\n\n set domainType(value: SelectionType | undefined) {\n const old = this.domainTypeValue;\n if (old === value) {\n return;\n }\n this.domainTypeValue = value;\n this.requestUpdate('domainType', old);\n if (value) {\n this.processDebounce();\n }\n }\n\n /** \n * The domain id of the currently rendered API operation.\n * When selecting an operation the `domainId` is the id if the parent endpoint.\n * @attribute\n */\n @property({ type: String, reflect: true })\n get operationId(): string | undefined {\n return this.operationIdValue;\n }\n\n set operationId(value: string | undefined) {\n const old = this.operationIdValue;\n if (old === value) {\n return;\n }\n this.operationIdValue = value;\n this.requestUpdate('operationId', old);\n if (value) {\n this.processDebounce();\n }\n }\n\n /**\n * By default application hosting the element must set `domainId` and\n * `domainType` properties. When using `api-navigation` element\n * by setting this property the element listens for navigation events\n * and updates the state\n * @attribute\n */\n @property({ type: Boolean, reflect: true })\n get handleNavigationEvents(): boolean | undefined {\n return this.handleNavigationEventsValue;\n }\n\n set handleNavigationEvents(value: boolean | undefined) {\n const old = this.handleNavigationEventsValue;\n if (old === value) {\n return;\n }\n this.handleNavigationEventsValue = value;\n if (value) {\n this.registerNavigationEvents();\n } else {\n this.unregisterNavigationEvents();\n }\n }\n\n /**\n * Former `effectiveBaseUri`.\n * @returns The URI for the API defined by the `baseUri` property or the `serverValue`.\n */\n get apiBaseUri(): string | undefined {\n const { baseUri, serverValue } = this;\n return baseUri || serverValue;\n }\n\n /**\n * @deprecated Use `apiBaseUri` instead.\n */\n get effectiveBaseUri(): string | undefined {\n return this.apiBaseUri;\n }\n\n /** The domain type of the rendered view. */\n get renderedView(): string | undefined {\n return this.renderedViewValue;\n }\n\n get renderSelector(): boolean {\n const { domainType, serversCount=0, allowCustomBaseUri } = this;\n const isOperationOrEndpoint = !!domainType && (['operation', 'resource'].includes(domainType));\n const moreThanOneServer = serversCount >= 2;\n if (isOperationOrEndpoint) {\n return allowCustomBaseUri || moreThanOneServer;\n }\n return false;\n }\n\n /**\n * This is a computed value from the AMF model.\n * @returns true when whe currently loaded API is an async API.\n */\n get isAsync(): boolean {\n const { documentMeta } = this;\n if (!documentMeta) {\n return false;\n }\n return documentMeta.isAsync;\n }\n\n /**\n * @returns The mime type of the schema that is being rendered.\n */\n get schemaMime(): string|undefined {\n const { schemaMimeType } = this;\n if (schemaMimeType) {\n return schemaMimeType;\n }\n const summary = this.apiSummaryValue;\n if (!summary) {\n return undefined;\n }\n const { accepts = [] } = summary;\n if (!accepts.length) {\n return undefined;\n }\n return accepts[0];\n }\n\n get documentMeta(): DocumentMeta | undefined {\n return this.documentMetaValue;\n }\n\n constructor() {\n super();\n\n this.navigationHandler = this.navigationHandler.bind(this);\n this.navEventsRegistered = false;\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.processDebounce();\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n if (this.navEventsRegistered) {\n this.unregisterNavigationEvents();\n }\n }\n\n /**\n * Registers the api navigation event listener handler\n * on the window object.\n */\n protected registerNavigationEvents(): void {\n this.navEventsRegistered = true;\n window.addEventListener(EventTypes.Navigation.apiNavigate, this.navigationHandler as EventListener);\n }\n\n /**\n * Removes event listener from window object for the API navigation event.\n */\n protected unregisterNavigationEvents(): void {\n this.navEventsRegistered = false;\n window.removeEventListener(EventTypes.Navigation.apiNavigate, this.navigationHandler as EventListener);\n }\n\n /**\n * Handler for the API navigation event.\n * \n * Note, when the current type is set to `operation` then the `operationId` is\n * set instead of `domainId`, which is set to the parent endpoint id.\n */\n protected navigationHandler(e: ApiNavigationEvent): void {\n const { domainId, domainType, parentId, passive } = e.detail;\n if (passive === true) {\n return;\n }\n this.domainType = domainType;\n if (domainType === 'operation') {\n this.operationId = domainId;\n this.domainId = parentId;\n } else {\n this.operationId = undefined;\n this.domainId = domainId;\n }\n this.processGraph();\n }\n\n override async processGraph(): Promise<void> {\n this.schemaMimeType = undefined;\n await this.queryDocumentMeta();\n const { documentMeta } = this;\n if (!documentMeta) {\n this.requestUpdate();\n return;\n }\n if (documentMeta.isApi) {\n await this.queryApiSummary();\n this.processApiSpecSelection();\n return;\n }\n if (documentMeta.isLibrary) {\n this.processLibrarySelection();\n return;\n }\n const { isFragment, types } = documentMeta;\n\n if (isFragment) {\n let type: SelectionType | undefined;\n if (types.includes(AmfNamespace.aml.vocabularies.security.SecuritySchemeFragment)) {\n type = 'security';\n } else if (types.includes(AmfNamespace.aml.vocabularies.apiContract.UserDocumentationFragment)) {\n type = 'documentation';\n } else if (types.includes(AmfNamespace.aml.vocabularies.shapes.DataTypeFragment)) {\n type = 'schema';\n }\n this.processFragment(type);\n return;\n }\n\n //\n // partial models\n // \n\n if (types.includes(AmfNamespace.aml.vocabularies.apiContract.EndPoint)) {\n this.processEndpointPartial();\n return;\n }\n\n let type: SelectionType | undefined;\n if (types.includes(AmfNamespace.aml.vocabularies.core.CreativeWork)) {\n type = 'documentation';\n } else if (types.includes(AmfNamespace.aml.vocabularies.security.SecurityScheme)) {\n type = 'security';\n } else if (types.includes(AmfNamespace.w3.shacl.Shape)) {\n type = 'schema';\n }\n this.processPartial(type);\n }\n\n /**\n * Reads the currently loaded document meta data from the store.\n */\n async queryDocumentMeta(): Promise<void> {\n this.documentMetaValue = undefined;\n try {\n const info = await Events.Api.documentMeta(this);\n this.documentMetaValue = info;\n } catch (e) {\n const ex = e as Error;\n Events.Telemetry.exception(this, ex.message, false);\n Events.Reporting.error(this, ex, `Unable to query for the document meta data: ${ex.message}`, this.localName);\n }\n }\n\n /**\n * Reads the API summary.\n * Called only when the currently loaded document is an API.\n */\n async queryApiSummary(): Promise<void> {\n try {\n const info = await Events.Api.summary(this);\n this.apiSummaryValue = info;\n } catch (e) {\n this.apiSummaryValue = undefined;\n const ex = e as Error;\n Events.Telemetry.exception(this, ex.message, false);\n Events.Reporting.error(this, ex, `Unable to query for the API summary data: ${ex.message}`, this.localName);\n }\n }\n\n /**\n * Processes selection for the web API data model. It ignores the input if\n * `domainId` or `domainType` is not set.\n */\n protected processApiSpecSelection(): void {\n const { domainId, tryItPanel } = this;\n let { domainType } = this;\n if (!domainId || !domainType) {\n // Not all required properties were set.\n return;\n }\n if (domainType === 'operation' && tryItPanel) {\n domainType = 'resource';\n }\n this.renderedViewValue = domainType;\n this.requestUpdate();\n }\n\n /**\n * Processes selection for a library data model. It ignores the input if\n * `domainId` or `domainType` is not set.\n */\n protected processLibrarySelection(): void {\n const { domainId, domainType } = this;\n if (!domainId || !domainType) {\n // Not all required properties were set.\n return;\n }\n this.renderedViewValue = domainType;\n this.requestUpdate();\n }\n\n /**\n * Processes fragment model and sets current selection and the model.\n * \n * @param domainType The selected domain type.\n */\n protected processFragment(domainType?: SelectionType): void {\n this.domainIdValue = this.documentMeta?.encodesId;\n this.renderedViewValue = domainType;\n this.requestUpdate();\n }\n\n /**\n * Sets the partial model to be rendered.\n * \n * @param domainType The domain type representing the partial model.\n */\n protected processPartial(domainType?: SelectionType): void {\n this.renderedViewValue = domainType;\n this.requestUpdate();\n }\n\n /**\n * Processes endpoint data from partial model definition.\n * It sets models that are used by the docs.\n *\n * If `selected` or `selectedType` is not set then it automatically selects\n */\n protected processEndpointPartial(): void {\n const { tryItPanel } = this;\n let { domainType } = this;\n if (!domainType || tryItPanel) {\n domainType = 'resource';\n }\n if (!['operation', 'resource'].includes(domainType)) {\n domainType = 'resource';\n }\n this.renderedViewValue = domainType;\n this.requestUpdate();\n }\n\n protected serversCountHandler(e: ServerCountChangeEvent): void {\n this.serversCount = e.detail.value;\n }\n\n protected serverChangeHandler(e: ServerChangeEvent): void {\n this.serverValue = e.detail.value;\n this.serverType = e.detail.type;\n }\n\n protected mediaTypeSelectHandler(e: Event): void {\n const node = e.target as RadioElement;\n const { value } = node;\n this.schemaMimeType = value;\n }\n\n override render(): TemplateResult {\n return html`\n ${this.serverSelectorTemplate()}\n ${this.modelTemplate()}`;\n }\n\n /**\n * @returns The template for the server selector.\n */\n protected serverSelectorTemplate(): TemplateResult|string {\n if (this.noServerSelector) {\n return '';\n }\n const { serverType, serverValue, allowCustomBaseUri, renderSelector, domainId, domainType } = this;\n const id = domainType === 'operation' ? this.operationId : domainId;\n return html`\n <api-server-picker\n class=\"server-selector\"\n .domainId=\"${id}\"\n .domainType=\"${domainType}\"\n .value=\"${serverValue}\"\n .type=\"${serverType as ServerType}\"\n ?hidden=\"${!renderSelector}\"\n ?custom=\"${allowCustomBaseUri}\"\n auto\n @serverscountchanged=\"${this.serversCountHandler}\"\n @apiserverchanged=\"${this.serverChangeHandler}\"\n >\n <slot name=\"custom-base-uri\" slot=\"custom-base-uri\"></slot>\n </api-server-picker>`;\n }\n\n /**\n * @returns The template for the server selector.\n */\n protected modelTemplate(): TemplateResult|string {\n switch (this.renderedViewValue) {\n case 'summary': return this.summaryTemplate();\n case 'security': return this.securityTemplate();\n case 'documentation': return this.documentationTemplate();\n case 'schema': return this.schemaTemplate();\n case 'resource':\n case 'operation':\n return this.resourceTemplate();\n default: return '';\n }\n }\n\n /**\n * @returns The template for the API summary page.\n */\n protected summaryTemplate(): TemplateResult|string {\n const { baseUri } = this;\n return html`\n <api-summary .baseUri=\"${baseUri}\"></api-summary>`;\n }\n\n /**\n * @returns The template for the API security definition page.\n */\n protected securityTemplate(): TemplateResult|string {\n const { domainId } = this;\n return html`<api-security-document\n .domainId=\"${domainId}\"\n settingsOpened\n ></api-security-document>`;\n }\n\n /**\n * @returns The template for the RAML's documentation page.\n */\n protected documentationTemplate(): TemplateResult|string {\n const { domainId } = this;\n return html`<api-documentation-document .domainId=\"${domainId}\"></api-documentation-document>`;\n }\n\n /**\n * @returns The template for the API schema page.\n */\n protected schemaTemplate(): TemplateResult|string {\n const { schemaMime, domainId } = this;\n return html`\n ${this.schemaMediaSelectorTemplate()}\n <api-schema-document\n .domainId=\"${domainId}\"\n .mimeType=\"${schemaMime}\"\n forceExamples\n ></api-schema-document>`;\n }\n\n /**\n * @returns The template for the API endpoint page.\n */\n protected resourceTemplate(): TemplateResult|string {\n const { domainId, operationId, isAsync } = this;\n return html`<api-resource-document\n .domainId=\"${domainId}\"\n .operationId=\"${operationId}\"\n .redirectUri=\"${this.redirectUri}\"\n .serverType=\"${this.serverType}\"\n .serverValue=\"${this.serverValue}\"\n .baseUri=\"${this.apiBaseUri}\"\n ?tryItButton=\"${this.tryItButton}\"\n ?tryItPanel=\"${this.tryItPanel}\"\n ?httpUrlEditor=\"${this.httpUrlEditor}\"\n httpNoServerSelector\n ?asyncApi=\"${isAsync}\"\n ></api-resource-document>`;\n }\n\n /**\n * This is a part of schema rendering.\n * When the current API defines the media types then this shows the selector \n * to render examples with a specific mime.\n */\n protected schemaMediaSelectorTemplate(): TemplateResult|string {\n const { documentMeta } = this;\n // only APIs have top level media types (?)\n const summary = this.apiSummaryValue;\n if (!summary || !documentMeta || !documentMeta.isApi) {\n return '';\n }\n const { accepts = [] } = summary;\n if (accepts.length < 2) {\n // if there's a single mime then we render the one we have. No selector needed.\n return '';\n }\n const mimeType = this.schemaMimeType || accepts[0];\n return html`\n <div class=\"media-type-selector\">\n <span id=\"schema-mime\">Schema content type</span>\n ${accepts.map((item) => html`\n <label class=\"label-large\">\n <ui-radio\n class=\"schema-toggle\"\n name=\"schemaMime\"\n value=\"${item}\"\n .checked=\"${item === mimeType}\"\n @change=\"${this.mediaTypeSelectHandler}\"\n ></ui-radio>\n ${item}\n </label>\n `)}\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"ApiDocumentation.element.js","sourceRoot":"","sources":["../../../src/elements/amf/ApiDocumentation.element.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ApiDefinitions, AmfNamespace } from '@api-client/core/build/browser.js';\nimport { ApiDocumentationBase } from './ApiDocumentationBase.js';\nimport { EventTypes } from '../../events/amf/EventTypes.js';\nimport { Events } from '../../events/amf/Events.js';\nimport { ServerChangeEvent, ServerCountChangeEvent } from '../../events/amf/ServerEvents.js';\nimport { ApiNavigationEvent } from '../../events/amf/NavigationEvents.js';\nimport { SelectionType, DocumentMeta, ServerType } from '../../amf/types.js';\nimport { Oauth2Credentials } from '../authorization/types.js';\nimport '../../define/amf/api-summary.js'\nimport '../../define/amf/api-operation-document.js'\nimport '../../define/amf/api-resource-document.js';\nimport '../../define/amf/api-security-document.js';\nimport '../../define/amf/api-documentation-document.js';\nimport '../../define/amf/api-schema-document.js';\nimport '../../define/amf/api-server-picker.js';\nimport '../../define/ui/ui-radio.js';\nimport RadioElement from '../../ui/input/RadioElement.js';\n/**\n * A main documentation view for an AMF model representing a sync or an async API.\n * \n * This element works with the [AMF](https://github.com/mulesoft/amf) data model.\n */\nexport default class ApiDocumentation extends ApiDocumentationBase {\n protected domainTypeValue: SelectionType | undefined;\n\n protected operationIdValue: string | undefined;\n\n protected handleNavigationEventsValue: boolean | undefined;\n\n protected renderedViewValue: string | undefined;\n\n protected apiSummaryValue?: ApiDefinitions.IApiSummary;\n\n protected documentMetaValue?: DocumentMeta;\n\n protected navEventsRegistered: boolean;\n\n /**\n * A property to set to override AMF's model base URI information.\n * @attribute\n */\n @property({ type: String }) baseUri?: string;\n\n /** \n * When set it renders the \"try it\" button that dispatches the `tryit` event.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) tryItButton?: boolean;\n\n /** \n * When set it renders the \"try it\" panel next to the operation documentation.\n * Setting this automatically disables the `tryItButton` property.\n * \n * Note, use this only when there's enough space on the screen to render 2 panels side-by-side.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) tryItPanel?: boolean;\n\n /**\n * OAuth2 redirect URI.\n * This value **must** be set in order for OAuth 1/2 to work properly.\n * This is only required in inline mode (`inlineMethods`).\n * @attribute\n */\n @property({ type: String }) redirectUri?: string;\n\n /** \n * When set it renders the URL input above the URL parameters in the HTTP editor.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) httpUrlEditor?: boolean;\n\n /** \n * When set it applies the authorization values to the request dispatched\n * with the API request event.\n * If possible, it applies the authorization values to query parameter or headers\n * depending on the configuration.\n * \n * When the values arr applied to the request the authorization config is kept in the\n * request object, but its `enabled` state is always `false`, meaning other potential\n * processors should ignore this values.\n * \n * If this property is not set then the application hosting this component should\n * process the authorization data and apply them to the request.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) httpApplyAuthorization?: boolean;\n\n /**\n * List of credentials source passed to the HTTP editor\n */\n @property({ type: Array }) httpCredentialsSource?: Oauth2Credentials[];\n\n /**\n * Optional property to set on the request editor. \n * When true, the server selector is not rendered\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) noServerSelector?: boolean;\n\n /**\n * When set it renders \"add custom\" item button in the HTTP request editor.\n * If the element is to be used without AMF model this should always\n * be enabled. Otherwise users won't be able to add a parameter.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) httpAllowCustom?: boolean;\n\n /**\n * Optional property to set on the request editor. \n * If true, the server selector custom base URI option is rendered\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) allowCustomBaseUri?: boolean;\n\n /**\n * The URI of the server currently selected in the server selector\n * @attribute\n */\n @property({ type: String }) serverValue?: string;\n\n /**\n * The type of the server currently selected in the server selector\n * @attribute\n */\n @property({ type: String }) serverType?: string;\n\n /**\n * The mime type of the currently selected schema.\n * @attribute\n */\n @property({ type: String }) schemaMimeType?: string;\n\n serversCount?: number;\n\n /** \n * The type of the selected domain item.\n * @attribute\n */\n @property({ type: String, reflect: true })\n get domainType(): SelectionType | undefined {\n return this.domainTypeValue;\n }\n\n set domainType(value: SelectionType | undefined) {\n const old = this.domainTypeValue;\n if (old === value) {\n return;\n }\n this.domainTypeValue = value;\n this.requestUpdate('domainType', old);\n if (value) {\n this.processDebounce();\n }\n }\n\n /** \n * The domain id of the currently rendered API operation.\n * When selecting an operation the `domainId` is the id if the parent endpoint.\n * @attribute\n */\n @property({ type: String, reflect: true })\n get operationId(): string | undefined {\n return this.operationIdValue;\n }\n\n set operationId(value: string | undefined) {\n const old = this.operationIdValue;\n if (old === value) {\n return;\n }\n this.operationIdValue = value;\n this.requestUpdate('operationId', old);\n if (value) {\n this.processDebounce();\n }\n }\n\n /**\n * By default application hosting the element must set `domainId` and\n * `domainType` properties. When using `api-navigation` element\n * by setting this property the element listens for navigation events\n * and updates the state\n * @attribute\n */\n @property({ type: Boolean, reflect: true })\n get handleNavigationEvents(): boolean | undefined {\n return this.handleNavigationEventsValue;\n }\n\n set handleNavigationEvents(value: boolean | undefined) {\n const old = this.handleNavigationEventsValue;\n if (old === value) {\n return;\n }\n this.handleNavigationEventsValue = value;\n if (value) {\n this.registerNavigationEvents();\n } else {\n this.unregisterNavigationEvents();\n }\n }\n\n /**\n * Former `effectiveBaseUri`.\n * @returns The URI for the API defined by the `baseUri` property or the `serverValue`.\n */\n get apiBaseUri(): string | undefined {\n const { baseUri, serverValue } = this;\n return baseUri || serverValue;\n }\n\n /**\n * @deprecated Use `apiBaseUri` instead.\n */\n get effectiveBaseUri(): string | undefined {\n return this.apiBaseUri;\n }\n\n /** The domain type of the rendered view. */\n get renderedView(): string | undefined {\n return this.renderedViewValue;\n }\n\n get renderSelector(): boolean {\n const { domainType, serversCount=0, allowCustomBaseUri } = this;\n const isOperationOrEndpoint = !!domainType && (['operation', 'resource'].includes(domainType));\n const moreThanOneServer = serversCount >= 2;\n if (isOperationOrEndpoint) {\n return allowCustomBaseUri || moreThanOneServer;\n }\n return false;\n }\n\n /**\n * This is a computed value from the AMF model.\n * @returns true when whe currently loaded API is an async API.\n */\n get isAsync(): boolean {\n const { documentMeta } = this;\n if (!documentMeta) {\n return false;\n }\n return documentMeta.isAsync;\n }\n\n /**\n * @returns The mime type of the schema that is being rendered.\n */\n get schemaMime(): string|undefined {\n const { schemaMimeType } = this;\n if (schemaMimeType) {\n return schemaMimeType;\n }\n const summary = this.apiSummaryValue;\n if (!summary) {\n return undefined;\n }\n const { accepts = [] } = summary;\n if (!accepts.length) {\n return undefined;\n }\n return accepts[0];\n }\n\n get documentMeta(): DocumentMeta | undefined {\n return this.documentMetaValue;\n }\n\n constructor() {\n super();\n\n this.navigationHandler = this.navigationHandler.bind(this);\n this.navEventsRegistered = false;\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.processDebounce();\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n if (this.navEventsRegistered) {\n this.unregisterNavigationEvents();\n }\n }\n\n /**\n * Registers the api navigation event listener handler\n * on the window object.\n */\n protected registerNavigationEvents(): void {\n this.navEventsRegistered = true;\n window.addEventListener(EventTypes.Navigation.apiNavigate, this.navigationHandler as EventListener);\n }\n\n /**\n * Removes event listener from window object for the API navigation event.\n */\n protected unregisterNavigationEvents(): void {\n this.navEventsRegistered = false;\n window.removeEventListener(EventTypes.Navigation.apiNavigate, this.navigationHandler as EventListener);\n }\n\n /**\n * Handler for the API navigation event.\n * \n * Note, when the current type is set to `operation` then the `operationId` is\n * set instead of `domainId`, which is set to the parent endpoint id.\n */\n protected navigationHandler(e: ApiNavigationEvent): void {\n const { domainId, domainType, parentId, passive } = e.detail;\n if (passive === true) {\n return;\n }\n this.domainType = domainType;\n if (domainType === 'operation') {\n this.operationId = domainId;\n this.domainId = parentId;\n } else {\n this.operationId = undefined;\n this.domainId = domainId;\n }\n this.processGraph();\n }\n\n override async processGraph(): Promise<void> {\n this.schemaMimeType = undefined;\n await this.queryDocumentMeta();\n const { documentMeta } = this;\n if (!documentMeta) {\n this.requestUpdate();\n return;\n }\n if (documentMeta.isApi) {\n await this.queryApiSummary();\n this.processApiSpecSelection();\n return;\n }\n if (documentMeta.isLibrary) {\n this.processLibrarySelection();\n return;\n }\n const { isFragment, types } = documentMeta;\n\n if (isFragment) {\n let type: SelectionType | undefined;\n if (types.includes(AmfNamespace.aml.vocabularies.security.SecuritySchemeFragment)) {\n type = 'security';\n } else if (types.includes(AmfNamespace.aml.vocabularies.apiContract.UserDocumentationFragment)) {\n type = 'documentation';\n } else if (types.includes(AmfNamespace.aml.vocabularies.shapes.DataTypeFragment)) {\n type = 'schema';\n }\n this.processFragment(type);\n return;\n }\n\n //\n // partial models\n // \n\n if (types.includes(AmfNamespace.aml.vocabularies.apiContract.EndPoint)) {\n this.processEndpointPartial();\n return;\n }\n\n let type: SelectionType | undefined;\n if (types.includes(AmfNamespace.aml.vocabularies.core.CreativeWork)) {\n type = 'documentation';\n } else if (types.includes(AmfNamespace.aml.vocabularies.security.SecurityScheme)) {\n type = 'security';\n } else if (types.includes(AmfNamespace.w3.shacl.Shape)) {\n type = 'schema';\n }\n this.processPartial(type);\n }\n\n /**\n * Reads the currently loaded document meta data from the store.\n */\n async queryDocumentMeta(): Promise<void> {\n this.documentMetaValue = undefined;\n try {\n const info = await Events.Api.documentMeta(this);\n this.documentMetaValue = info;\n } catch (e) {\n const ex = e as Error;\n Events.Telemetry.exception(this, ex.message, false);\n Events.Reporting.error(this, ex, `Unable to query for the document meta data: ${ex.message}`, this.localName);\n }\n }\n\n /**\n * Reads the API summary.\n * Called only when the currently loaded document is an API.\n */\n async queryApiSummary(): Promise<void> {\n try {\n const info = await Events.Api.summary(this);\n this.apiSummaryValue = info;\n } catch (e) {\n this.apiSummaryValue = undefined;\n const ex = e as Error;\n Events.Telemetry.exception(this, ex.message, false);\n Events.Reporting.error(this, ex, `Unable to query for the API summary data: ${ex.message}`, this.localName);\n }\n }\n\n /**\n * Processes selection for the web API data model. It ignores the input if\n * `domainId` or `domainType` is not set.\n */\n protected processApiSpecSelection(): void {\n const { domainId, tryItPanel } = this;\n let { domainType } = this;\n if (!domainId || !domainType) {\n // Not all required properties were set.\n return;\n }\n if (domainType === 'operation' && tryItPanel) {\n domainType = 'resource';\n }\n this.renderedViewValue = domainType;\n this.requestUpdate();\n }\n\n /**\n * Processes selection for a library data model. It ignores the input if\n * `domainId` or `domainType` is not set.\n */\n protected processLibrarySelection(): void {\n const { domainId, domainType } = this;\n if (!domainId || !domainType) {\n // Not all required properties were set.\n return;\n }\n this.renderedViewValue = domainType;\n this.requestUpdate();\n }\n\n /**\n * Processes fragment model and sets current selection and the model.\n * \n * @param domainType The selected domain type.\n */\n protected processFragment(domainType?: SelectionType): void {\n this.domainIdValue = this.documentMeta?.encodesId;\n this.renderedViewValue = domainType;\n this.requestUpdate();\n }\n\n /**\n * Sets the partial model to be rendered.\n * \n * @param domainType The domain type representing the partial model.\n */\n protected processPartial(domainType?: SelectionType): void {\n this.renderedViewValue = domainType;\n this.requestUpdate();\n }\n\n /**\n * Processes endpoint data from partial model definition.\n * It sets models that are used by the docs.\n *\n * If `selected` or `selectedType` is not set then it automatically selects\n */\n protected processEndpointPartial(): void {\n const { tryItPanel } = this;\n let { domainType } = this;\n if (!domainType || tryItPanel) {\n domainType = 'resource';\n }\n if (!['operation', 'resource'].includes(domainType)) {\n domainType = 'resource';\n }\n this.renderedViewValue = domainType;\n this.requestUpdate();\n }\n\n protected serversCountHandler(e: ServerCountChangeEvent): void {\n this.serversCount = e.detail.value;\n }\n\n protected serverChangeHandler(e: ServerChangeEvent): void {\n this.serverValue = e.detail.value;\n this.serverType = e.detail.type;\n }\n\n protected mediaTypeSelectHandler(e: Event): void {\n const node = e.target as RadioElement;\n const { value } = node;\n this.schemaMimeType = value;\n }\n\n override render(): TemplateResult {\n return html`\n ${this.serverSelectorTemplate()}\n ${this.modelTemplate()}`;\n }\n\n /**\n * @returns The template for the server selector.\n */\n protected serverSelectorTemplate(): TemplateResult|string {\n if (this.noServerSelector) {\n return '';\n }\n const { serverType, serverValue, allowCustomBaseUri, renderSelector, domainId, domainType } = this;\n const id = domainType === 'operation' ? this.operationId : domainId;\n return html`\n <api-server-picker\n class=\"server-selector\"\n .domainId=\"${id}\"\n .domainType=\"${domainType}\"\n .value=\"${serverValue}\"\n .type=\"${serverType as ServerType}\"\n ?hidden=\"${!renderSelector}\"\n ?custom=\"${allowCustomBaseUri}\"\n auto\n @serverscountchanged=\"${this.serversCountHandler}\"\n @apiserverchanged=\"${this.serverChangeHandler}\"\n >\n <slot name=\"custom-base-uri\" slot=\"custom-base-uri\"></slot>\n </api-server-picker>`;\n }\n\n /**\n * @returns The template for the server selector.\n */\n protected modelTemplate(): TemplateResult|string {\n switch (this.renderedViewValue) {\n case 'summary': return this.summaryTemplate();\n case 'security': return this.securityTemplate();\n case 'documentation': return this.documentationTemplate();\n case 'schema': return this.schemaTemplate();\n case 'resource':\n case 'operation':\n return this.resourceTemplate();\n default: return '';\n }\n }\n\n /**\n * @returns The template for the API summary page.\n */\n protected summaryTemplate(): TemplateResult|string {\n const { baseUri } = this;\n return html`\n <api-summary .baseUri=\"${baseUri}\"></api-summary>`;\n }\n\n /**\n * @returns The template for the API security definition page.\n */\n protected securityTemplate(): TemplateResult|string {\n const { domainId } = this;\n return html`<api-security-document\n .domainId=\"${domainId}\"\n settingsOpened\n ></api-security-document>`;\n }\n\n /**\n * @returns The template for the RAML's documentation page.\n */\n protected documentationTemplate(): TemplateResult|string {\n const { domainId } = this;\n return html`<api-documentation-document .domainId=\"${domainId}\"></api-documentation-document>`;\n }\n\n /**\n * @returns The template for the API schema page.\n */\n protected schemaTemplate(): TemplateResult|string {\n const { schemaMime, domainId } = this;\n return html`\n ${this.schemaMediaSelectorTemplate()}\n <api-schema-document\n .domainId=\"${domainId}\"\n .mimeType=\"${schemaMime}\"\n forceExamples\n ></api-schema-document>`;\n }\n\n /**\n * @returns The template for the API endpoint page.\n */\n protected resourceTemplate(): TemplateResult|string {\n const { domainId, operationId, isAsync } = this;\n return html`<api-resource-document\n .domainId=\"${domainId}\"\n .operationId=\"${operationId}\"\n .redirectUri=\"${this.redirectUri}\"\n .serverType=\"${this.serverType}\"\n .serverValue=\"${this.serverValue}\"\n .baseUri=\"${this.apiBaseUri}\"\n ?tryItButton=\"${this.tryItButton}\"\n ?tryItPanel=\"${this.tryItPanel}\"\n ?httpUrlEditor=\"${this.httpUrlEditor}\"\n httpNoServerSelector\n ?asyncApi=\"${isAsync}\"\n ></api-resource-document>`;\n }\n\n /**\n * This is a part of schema rendering.\n * When the current API defines the media types then this shows the selector \n * to render examples with a specific mime.\n */\n protected schemaMediaSelectorTemplate(): TemplateResult|string {\n const { documentMeta } = this;\n // only APIs have top level media types (?)\n const summary = this.apiSummaryValue;\n if (!summary || !documentMeta || !documentMeta.isApi) {\n return '';\n }\n const { accepts = [] } = summary;\n if (accepts.length < 2) {\n // if there's a single mime then we render the one we have. No selector needed.\n return '';\n }\n const mimeType = this.schemaMimeType || accepts[0];\n return html`\n <div class=\"media-type-selector\">\n <span id=\"schema-mime\">Schema content type</span>\n ${accepts.map((item) => html`\n <label class=\"label-large\">\n <ui-radio\n class=\"schema-toggle\"\n name=\"schemaMime\"\n value=\"${item}\"\n .checked=\"${item === mimeType}\"\n @change=\"${this.mediaTypeSelectHandler}\"\n ></ui-radio>\n ${item}\n </label>\n `)}\n </div>\n `;\n }\n}\n"]}
@@ -18,7 +18,6 @@ import '../../define/ui/ui-collapse.js';
18
18
  * A base class for the documentation components with common templates and functions.
19
19
  */
20
20
  export class ApiDocumentationBase extends ApiElement {
21
- domainIdValue;
22
21
  /**
23
22
  * The domain id of the object to render.
24
23
  * @attribute
@@ -37,14 +36,6 @@ export class ApiDocumentationBase extends ApiElement {
37
36
  this.processDebounce();
38
37
  }
39
38
  }
40
- /**
41
- * The timeout after which the `queryGraph()` function is called
42
- * in the debouncer.
43
- * @attribute
44
- */
45
- queryDebouncerTimeout;
46
- examplesValue;
47
- debounceValue;
48
39
  constructor() {
49
40
  super();
50
41
  this.queryDebouncerTimeout = 1;