@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":"ApiSecurityDocument.element.js","sourceRoot":"","sources":["../../../src/elements/amf/ApiSecurityDocument.element.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable class-methods-use-this */\nimport { html, TemplateResult } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ApiDefinitions, AmfNamespace, AmfShapes } from '@api-client/core/build/browser.js';\nimport { QueryParameterProcessor } from '../../amf/lib/QueryParameterProcessor.js';\nimport { ApiDocumentationBase } from './ApiDocumentationBase.js';\nimport { Events } from '../../events/amf/Events.js';\nimport { TabSelectionDetail } from '../../ui/tabs/UiTabs.js';\nimport '../../define/amf/api-parameter-document.js';\nimport '../../define/amf/api-response-document.js'\nimport '../../define/ui/ui-tabs.js'\nimport '../../define/ui/ui-tab.js'\n\n/**\n * A web component that renders the documentation page for an API response object.\n */\nexport default class ApiSecurityDocument extends ApiDocumentationBase {\n /** \n * When set it opens the parameters section\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) parametersOpened?: boolean;\n\n /** \n * When set it opens the headers section\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) headersOpened?: boolean;\n\n /** \n * When set it opens the response section\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) responsesOpened?: boolean;\n\n /** \n * When set it opens the settings section\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) settingsOpened?: boolean;\n\n /** \n * The selected status code in the responses section.\n * @attribute\n */\n @property({ type: String, reflect: true }) selectedStatus?: string;\n\n\n protected securityValue?: ApiDefinitions.IApiSecurityScheme;\n\n protected queryParametersValue?: ApiDefinitions.IApiParameter[];\n\n @property({ type: Object })\n get securityScheme(): ApiDefinitions.IApiSecurityScheme|undefined {\n return this.securityValue;\n }\n\n set securityScheme(value: ApiDefinitions.IApiSecurityScheme|undefined) {\n const old = this.securityValue;\n if (old === value) {\n return;\n }\n this.securityValue = value;\n this.processSecurity();\n this.processQueryParameters();\n this.requestUpdate();\n }\n\n protected responsesValue?: ApiDefinitions.IApiResponse[];\n\n constructor() {\n super();\n this.headersOpened = false;\n this.parametersOpened = false;\n this.settingsOpened = false;\n }\n\n override async processGraph(): Promise<void> {\n await this.querySecurity();\n await this.processQueryParameters();\n this.dispatchEvent(new Event('graphload'));\n this.requestUpdate();\n await this.updateComplete;\n }\n\n /**\n * Queries for the security requirements object.\n */\n async querySecurity(): Promise<void> {\n const { domainId } = this;\n if (!domainId) {\n // this.securityValue = undefined;\n return;\n }\n if (this.securityValue && this.securityValue.id === domainId) {\n // in case the security model was provided via the property setter.\n return;\n }\n try {\n const info = await Events.Security.get(this, domainId);\n this.securityValue = info;\n } catch (e) {\n this.securityValue = 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 API operation data: ${ex.message}`, this.localName);\n }\n }\n\n async processSecurity(): Promise<void> {\n const scheme = this.securityValue;\n if (!scheme) {\n this.responsesValue = undefined;\n return;\n }\n const { responses=[] } = scheme;\n this.responsesValue = responses;\n this.preselectResponse();\n }\n\n /**\n * Creates a parameter \n */\n async processQueryParameters(): Promise<void> {\n this.queryParametersValue = undefined;\n const scheme = this.securityValue;\n if (!scheme) {\n return;\n }\n if (Array.isArray(scheme.queryParameters) && scheme.queryParameters.length) {\n this.queryParametersValue = scheme.queryParameters;\n return;\n }\n const nodeShape = scheme.queryString as AmfShapes.IApiNodeShape;\n if (!nodeShape) {\n return;\n }\n const factory = new QueryParameterProcessor();\n const params = factory.collectOperationParameters(scheme.queryString as AmfShapes.IShapeUnion, 'query');\n this.queryParametersValue = params.map(p => p.parameter);\n }\n\n /**\n * Updates the `selectedStatus` if not selected or the current selection doesn't \n * exists in the current list of responses.\n */\n preselectResponse(): void {\n const responses = this.responsesValue;\n if (!Array.isArray(responses) || !responses.length) {\n return;\n }\n const { selectedStatus } = this;\n if (!selectedStatus) {\n this.selectedStatus = responses[0].statusCode;\n return;\n }\n const selected = responses.find((item) => item.statusCode === selectedStatus);\n if (selected) {\n return;\n }\n this.selectedStatus = responses[0].statusCode;\n }\n\n /**\n * A handler for the status code tab selection.\n */\n protected statusCodeHandler(e: CustomEvent): void {\n const info = e.detail as TabSelectionDetail;\n this.selectedStatus = info.select as string;\n }\n\n /**\n * @param grant The oauth2 grant (flow) name\n * @returns Friendly name for the grant.\n */\n getLabelForGrant(grant: string): string {\n switch (grant) {\n case \"implicit\":\n return \"Implicit\";\n case \"authorization_code\":\n case \"authorizationCode\":\n return \"Authorization code\";\n case \"password\":\n return \"Password\";\n case \"client_credentials\":\n case \"clientCredentials\":\n return \"Client credentials\";\n default:\n return grant;\n }\n }\n\n override render(): TemplateResult {\n const scheme = this.securityValue;\n if (!scheme) {\n return html``;\n }\n return html`\n ${this.titleTemplate(scheme)}\n ${this.descriptionTemplate(scheme.description)}\n ${this.queryParamsTemplate()}\n ${this.headersTemplate(scheme)}\n ${this.responseTemplate()}\n ${this.settingsTemplate(scheme)}\n `;\n }\n\n protected titleTemplate(scheme: ApiDefinitions.IApiSecurityScheme): TemplateResult {\n const { name, type, displayName } = scheme;\n const title = displayName || name;\n return html`\n <div class=\"security-header\">\n <div class=\"security-title\">\n <span class=\"label text-selectable\">${title}</span>\n </div>\n <p class=\"sub-header text-selectable\">${type}</p>\n </div>\n `;\n }\n\n /**\n * @returns The template for the query parameters\n */\n protected queryParamsTemplate(): TemplateResult | string {\n const params = this.queryParametersValue;\n if (!Array.isArray(params) || !params.length) {\n return '';\n }\n const content = params.map((param) => this.schemaItemTemplate(param, 'query'));\n return this.paramsSectionTemplate('Parameters', 'parametersOpened', content, { innerSection: true });\n }\n\n /**\n * @returns The template for the headers\n */\n protected headersTemplate(scheme: ApiDefinitions.IApiSecurityScheme): TemplateResult | string {\n if (!Array.isArray(scheme.headers) || !scheme.headers.length) {\n return '';\n }\n const content = scheme.headers.map((param) => this.schemaItemTemplate(param, 'header'));\n return this.paramsSectionTemplate('Headers', 'headersOpened', content, { innerSection: true });\n }\n\n protected responseTemplate(): TemplateResult | string {\n const responses = this.responsesValue;\n if (!Array.isArray(responses) || !responses.length) {\n return '';\n }\n const content = html`\n ${this.responseTabsTemplate(responses)}\n ${this.responseContentTemplate(responses)}\n `;\n return this.paramsSectionTemplate('Responses', 'responsesOpened', content, { innerSection: true });\n }\n\n /**\n * @param responses The responses to render.\n * @returns The template for the responses selector.\n */\n protected responseTabsTemplate(responses: ApiDefinitions.IApiResponse[]): TemplateResult {\n const { selectedStatus } = this;\n const filtered = responses.filter((item) => !!item.statusCode);\n return html`\n <div class=\"status-codes-selector\">\n <ui-tabs\n .selected=\"${selectedStatus}\"\n @select=\"${this.statusCodeHandler}\"\n class=\"editor-tabs\"\n priority=\"secondary\"\n scrollable\n >\n ${filtered.map((item) => html`\n <ui-tab aria-controls=\"status${item.statusCode}\" data-status=\"${item.statusCode || 0}\">${item.statusCode}</ui-tab>\n `)}\n </ui-tabs>\n <div class=\"codes-selector-divider\"></div>\n </div>\n `;\n }\n\n /**\n * @param responses The responses to render.\n * @returns The template for the currently selected response.\n */\n protected responseContentTemplate(responses: ApiDefinitions.IApiResponse[]): TemplateResult {\n const { selectedStatus } = this;\n const response = responses.find((item) => item.statusCode === selectedStatus);\n if (!response) {\n return html`<div class=\"empty-info text-selectable\">Select a response to render the documentation.</div>`;\n }\n return html`\n <api-response-document .response=\"${response}\" headersOpened payloadOpened></api-response-document>\n `;\n }\n\n /**\n * @returns The template for the security settings, when required.\n */\n protected settingsTemplate(scheme: ApiDefinitions.IApiSecurityScheme): TemplateResult | string {\n const { settings } = scheme;\n if (!settings) {\n return '';\n }\n const { types } = settings;\n if (types.includes(AmfNamespace.aml.vocabularies.security.ApiKeySettings)) {\n return this.apiKeySettingsTemplate(settings);\n }\n if (types.includes(AmfNamespace.aml.vocabularies.security.OpenIdConnectSettings)) {\n return this.openIdConnectSettingsTemplate(settings);\n }\n if (types.includes(AmfNamespace.aml.vocabularies.security.OAuth2Settings)) {\n return this.oAuth2SettingsTemplate((settings as ApiDefinitions.IApiSecurityOAuth2Settings));\n }\n if (types.includes(AmfNamespace.aml.vocabularies.security.OAuth1Settings)) {\n return this.oAuth1SettingsTemplate((settings as ApiDefinitions.IApiSecurityOAuth1Settings));\n }\n return '';\n }\n\n /**\n * @returns The template for API Key security definition.\n */\n protected apiKeySettingsTemplate(settings: ApiDefinitions.IApiSecurityApiKeySettings): TemplateResult {\n const { in: paramLocation='Unknown', name } = settings;\n const content = html`\n <div class=\"param-info\">\n <div class=\"location text-selectable\">Location: ${paramLocation}</div>\n ${name ? html`<div class=\"label text-selectable\">Parameter: ${name}</div>` : ''}\n </div>\n ${paramLocation === 'header' ? this.apiKeyHeaderExample(name) : ''}\n ${paramLocation === 'cookie' ? this.apiKeyCookieExample(name) : ''}\n ${paramLocation === 'query' ? this.apiKeyQueryExample(name) : ''}\n `;\n return this.paramsSectionTemplate('Settings', 'settingsOpened', content, { innerSection: true });\n }\n\n /**\n * @param name The name of the API Key parameter\n * @returns The template for API Key header example\n */\n protected apiKeyHeaderExample(name = ''): TemplateResult {\n const value = `${name}: abcdef12345`;\n return this.renderSecurityExample(value);\n }\n\n /**\n * @param name The name of the API Key parameter\n * @returns The template for API Key cookie example\n */\n protected apiKeyCookieExample(name = ''): TemplateResult {\n const value = `Cookie: ${name}=abcdef12345`;\n return this.renderSecurityExample(value);\n }\n\n /**\n * @param name The name of the API Key parameter\n * @returns The template for API Key query parameter example\n */\n protected apiKeyQueryExample(name = ''): TemplateResult {\n const value = `GET /api?${name}=abcdef12345`;\n return this.renderSecurityExample(value);\n }\n\n /**\n * @returns The template for a single example\n */\n protected renderSecurityExample(value: string): TemplateResult {\n return html`\n <details class=\"schema-example\" open>\n <summary>Example</summary>\n <div class=\"example-content\">\n <pre class=\"code-value text-selectable\"><code>${value}</code></pre>\n </div>\n </details>\n `;\n }\n\n /**\n * @returns The template for API Key security definition.\n */\n protected openIdConnectSettingsTemplate(settings: ApiDefinitions.IApiSecurityOpenIdConnectSettings): TemplateResult | string {\n const { url } = settings;\n if (!url) {\n return '';\n }\n const content = html`\n <div class=\"param-info\">\n <div class=\"location\">OpenID Connect Discovery URL</div>\n <div class=\"example-content\">\n <pre class=\"code-value text-selectable\"><code>${url}</code></pre>\n </div>\n </div>\n `;\n return this.paramsSectionTemplate('Settings', 'settingsOpened', content, { innerSection: true });\n }\n\n /**\n * @returns The template for OAuth 2 security definition.\n */\n protected oAuth2SettingsTemplate(settings: ApiDefinitions.IApiSecurityOAuth2Settings): TemplateResult | string {\n const { authorizationGrants=[], flows=[] } = settings;\n if (!authorizationGrants.length && !flows.length) {\n return '';\n }\n const content: (TemplateResult|string)[] = [];\n const grants = this.oAuth2GrantsTemplate(authorizationGrants);\n const flowsContent = this.oAuth2FlowsTemplate(flows);\n if (grants) {\n content.push(grants);\n }\n if (flowsContent) {\n content.push(flowsContent);\n }\n return this.paramsSectionTemplate('Settings', 'settingsOpened', content, { innerSection: true });\n }\n\n /**\n * @returns The template for OAuth 2 flows list.\n */\n protected oAuth2GrantsTemplate(grants: string[]): TemplateResult | string {\n if (!grants.length) {\n return '';\n }\n return html`\n <h4 data-type=\"authorization-grants\" class=\"value-title\">Authorization grants</h4>\n <ul>\n ${grants.map(grant => html`<li data-type=\"authorization-grant\" class=\"settings-list-value\">${grant}</li>`)}\n </ul>\n `;\n }\n\n /**\n * @returns The template for OAuth 2 flows list.\n */\n protected oAuth2FlowsTemplate(flows: ApiDefinitions.IApiSecurityOAuth2Flow[]): TemplateResult | string {\n if (!flows.length) {\n return '';\n }\n return html`\n ${flows.map((flow) => this.oAuth2FlowTemplate(flow))}\n `;\n }\n\n /**\n * @returns The template for an OAuth 2 flow.\n */\n protected oAuth2FlowTemplate(flow: ApiDefinitions.IApiSecurityOAuth2Flow): TemplateResult {\n const { scopes, accessTokenUri, authorizationUri, refreshUri, flow: grant } = flow;\n return html`\n <div class=\"flow-description\">\n ${this.grantTitleTemplate(grant)}\n ${this.accessTokenUriTemplate(accessTokenUri)}\n ${this.authorizationUriTemplate(authorizationUri)}\n ${this.refreshUriTemplate(refreshUri)}\n ${this.scopesTemplate(scopes)}\n </div>\n `;\n }\n\n /**\n * @param grant The grant name\n * @returns The template for OAuth 2 grant title.\n */\n protected grantTitleTemplate(grant?: string): TemplateResult | string {\n if (!grant) {\n return '';\n }\n return html`\n <div>\n <h4 class=\"grant-title\">${this.getLabelForGrant(grant)}</h4>\n </div>`;\n }\n\n /**\n * @param uri The access token URI\n * @returns The template for the access token URI\n */\n protected accessTokenUriTemplate(uri?: string): TemplateResult | string {\n if (!uri) {\n return '';\n }\n return html`\n <div class=\"flow-section\">\n <h5 data-type=\"token-uri\" class=\"value-title\">Access token URI</h5>\n <div class=\"example-content\">\n <pre class=\"code-value text-selectable\"><code>${uri}</code></pre>\n </div>\n </div>`;\n }\n\n /**\n * @param uri The access token URI\n * @returns The template for the authorization endpoint URI\n */\n protected authorizationUriTemplate(uri?: string): TemplateResult | string {\n if (!uri) {\n return '';\n }\n return html`\n <div class=\"flow-section\">\n <h5 data-type=\"authorization-uri\" class=\"value-title\">Authorization URI</h5>\n <div class=\"example-content\">\n <pre class=\"code-value text-selectable\"><code>${uri}</code></pre>\n </div>\n </div>`;\n }\n\n /**\n * @param uri The access token URI\n * @returns The template for the refresh token endpoint URI\n */\n protected refreshUriTemplate(uri?: string): TemplateResult | string {\n if (!uri) {\n return '';\n }\n return html`\n <div class=\"flow-section\">\n <h5 data-type=\"refresh-uri\" class=\"value-title\">Token refresh URI</h5>\n <div class=\"example-content\">\n <pre class=\"code-value text-selectable\"><code>${uri}</code></pre>\n </div>\n </div>`;\n }\n\n /**\n * @param scopes The oauth scopes\n * @returns The template for the scopes list\n */\n protected scopesTemplate(scopes?: ApiDefinitions.IApiSecurityScope[]): TemplateResult | string {\n if (!Array.isArray(scopes) || !scopes.length) {\n return '';\n }\n return html`\n <div class=\"flow-section\">\n <h5 data-type=\"authorization-scopes\" class=\"value-title\">Authorization scopes</h5>\n <ul class=\"scopes-list\">\n ${scopes.map((scope) => this.scopeTemplate(scope))}\n </ul>\n </div>`;\n }\n\n /**\n * @param scope The access token URI\n * @returns The template for an oauth scope\n */\n protected scopeTemplate(scope: ApiDefinitions.IApiSecurityScope): TemplateResult {\n const { name, description } = scope;\n return html`\n <li class=\"scope-value\">\n <span class=\"scope-name text-selectable\">${name}</span>\n ${description ? html`<span class=\"scope-description text-selectable\">${description}</span>` : ''}\n </li>\n `;\n }\n\n /**\n * @returns The template for OAuth 1 security definition.\n */\n protected oAuth1SettingsTemplate(settings: ApiDefinitions.IApiSecurityOAuth1Settings) : TemplateResult {\n const { signatures=[], authorizationUri, requestTokenUri, tokenCredentialsUri } = settings;\n const content: (TemplateResult | string)[] = [];\n if (authorizationUri) {\n content.push(this.authorizationUriTemplate(authorizationUri));\n }\n if (requestTokenUri) {\n content.push(this.accessTokenUriTemplate(requestTokenUri));\n }\n if (tokenCredentialsUri) {\n content.push(this.tokenCredentialsUriTemplate(tokenCredentialsUri));\n }\n if (signatures.length) {\n content.push(this.signaturesTemplate(signatures));\n }\n return this.paramsSectionTemplate('Settings', 'settingsOpened', content, { innerSection: true });\n }\n\n /**\n * @param uri The token credentials URI\n * @returns The template for the token credentials URI\n */\n protected tokenCredentialsUriTemplate(uri?: string): TemplateResult | string {\n if (!uri) {\n return '';\n }\n return html`\n <div class=\"flow-section\">\n <h5 data-type=\"token-credentials-uri\" class=\"value-title text-selectable\">Token credentials URI</h5>\n <div class=\"example-content\">\n <pre class=\"code-value text-selectable\"><code>${uri}</code></pre>\n </div>\n </div>`;\n }\n\n /**\n * @param signatures The OAuth1 signatures.\n * @returns The template for the OAuth1 signatures.\n */\n protected signaturesTemplate(signatures: string[]): TemplateResult {\n return html`\n <div class=\"flow-section\">\n <h5 data-type=\"signatures\" class=\"value-title\">Supported signatures</h5>\n <ul>\n ${signatures.map((item) => html`<li><pre class=\"code-value text-selectable\"><code>${item}</code></pre></li>`)}\n </ul>\n </div>`;\n }\n}\n"]}
1
+ {"version":3,"file":"ApiSecurityDocument.element.js","sourceRoot":"","sources":["../../../src/elements/amf/ApiSecurityDocument.element.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable class-methods-use-this */\nimport { html, TemplateResult } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ApiDefinitions, AmfNamespace, AmfShapes } from '@api-client/core/build/browser.js';\nimport { QueryParameterProcessor } from '../../amf/lib/QueryParameterProcessor.js';\nimport { ApiDocumentationBase } from './ApiDocumentationBase.js';\nimport { Events } from '../../events/amf/Events.js';\nimport { TabSelectionDetail } from '../../ui/tabs/UiTabs.js';\nimport '../../define/amf/api-parameter-document.js';\nimport '../../define/amf/api-response-document.js'\nimport '../../define/ui/ui-tabs.js'\nimport '../../define/ui/ui-tab.js'\n\n/**\n * A web component that renders the documentation page for an API response object.\n */\nexport default class ApiSecurityDocument extends ApiDocumentationBase {\n /** \n * When set it opens the parameters section\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) parametersOpened?: boolean;\n\n /** \n * When set it opens the headers section\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) headersOpened?: boolean;\n\n /** \n * When set it opens the response section\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) responsesOpened?: boolean;\n\n /** \n * When set it opens the settings section\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) settingsOpened?: boolean;\n\n /** \n * The selected status code in the responses section.\n * @attribute\n */\n @property({ type: String, reflect: true }) selectedStatus?: string;\n\n\n protected securityValue?: ApiDefinitions.IApiSecurityScheme;\n\n protected queryParametersValue?: ApiDefinitions.IApiParameter[];\n\n @property({ type: Object })\n get securityScheme(): ApiDefinitions.IApiSecurityScheme|undefined {\n return this.securityValue;\n }\n\n set securityScheme(value: ApiDefinitions.IApiSecurityScheme|undefined) {\n const old = this.securityValue;\n if (old === value) {\n return;\n }\n this.securityValue = value;\n this.processSecurity();\n this.processQueryParameters();\n this.requestUpdate();\n }\n\n protected responsesValue?: ApiDefinitions.IApiResponse[];\n\n constructor() {\n super();\n this.headersOpened = false;\n this.parametersOpened = false;\n this.settingsOpened = false;\n }\n\n override async processGraph(): Promise<void> {\n await this.querySecurity();\n await this.processQueryParameters();\n this.dispatchEvent(new Event('graphload'));\n this.requestUpdate();\n await this.updateComplete;\n }\n\n /**\n * Queries for the security requirements object.\n */\n async querySecurity(): Promise<void> {\n const { domainId } = this;\n if (!domainId) {\n // this.securityValue = undefined;\n return;\n }\n if (this.securityValue && this.securityValue.id === domainId) {\n // in case the security model was provided via the property setter.\n return;\n }\n try {\n const info = await Events.Security.get(this, domainId);\n this.securityValue = info;\n } catch (e) {\n this.securityValue = 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 API operation data: ${ex.message}`, this.localName);\n }\n }\n\n async processSecurity(): Promise<void> {\n const scheme = this.securityValue;\n if (!scheme) {\n this.responsesValue = undefined;\n return;\n }\n const { responses=[] } = scheme;\n this.responsesValue = responses;\n this.preselectResponse();\n }\n\n /**\n * Creates a parameter \n */\n async processQueryParameters(): Promise<void> {\n this.queryParametersValue = undefined;\n const scheme = this.securityValue;\n if (!scheme) {\n return;\n }\n if (Array.isArray(scheme.queryParameters) && scheme.queryParameters.length) {\n this.queryParametersValue = scheme.queryParameters;\n return;\n }\n const nodeShape = scheme.queryString as AmfShapes.IApiNodeShape;\n if (!nodeShape) {\n return;\n }\n const factory = new QueryParameterProcessor();\n const params = factory.collectOperationParameters(scheme.queryString as AmfShapes.IShapeUnion, 'query');\n this.queryParametersValue = params.map(p => p.parameter);\n }\n\n /**\n * Updates the `selectedStatus` if not selected or the current selection doesn't \n * exists in the current list of responses.\n */\n preselectResponse(): void {\n const responses = this.responsesValue;\n if (!Array.isArray(responses) || !responses.length) {\n return;\n }\n const { selectedStatus } = this;\n if (!selectedStatus) {\n this.selectedStatus = responses[0].statusCode;\n return;\n }\n const selected = responses.find((item) => item.statusCode === selectedStatus);\n if (selected) {\n return;\n }\n this.selectedStatus = responses[0].statusCode;\n }\n\n /**\n * A handler for the status code tab selection.\n */\n protected statusCodeHandler(e: CustomEvent): void {\n const info = e.detail as TabSelectionDetail;\n this.selectedStatus = info.select as string;\n }\n\n /**\n * @param grant The oauth2 grant (flow) name\n * @returns Friendly name for the grant.\n */\n getLabelForGrant(grant: string): string {\n switch (grant) {\n case \"implicit\":\n return \"Implicit\";\n case \"authorization_code\":\n case \"authorizationCode\":\n return \"Authorization code\";\n case \"password\":\n return \"Password\";\n case \"client_credentials\":\n case \"clientCredentials\":\n return \"Client credentials\";\n default:\n return grant;\n }\n }\n\n override render(): TemplateResult {\n const scheme = this.securityValue;\n if (!scheme) {\n return html``;\n }\n return html`\n ${this.titleTemplate(scheme)}\n ${this.descriptionTemplate(scheme.description)}\n ${this.queryParamsTemplate()}\n ${this.headersTemplate(scheme)}\n ${this.responseTemplate()}\n ${this.settingsTemplate(scheme)}\n `;\n }\n\n protected titleTemplate(scheme: ApiDefinitions.IApiSecurityScheme): TemplateResult {\n const { name, type, displayName } = scheme;\n const title = displayName || name;\n return html`\n <div class=\"security-header\">\n <div class=\"security-title\">\n <span class=\"label text-selectable\">${title}</span>\n </div>\n <p class=\"sub-header text-selectable\">${type}</p>\n </div>\n `;\n }\n\n /**\n * @returns The template for the query parameters\n */\n protected queryParamsTemplate(): TemplateResult | string {\n const params = this.queryParametersValue;\n if (!Array.isArray(params) || !params.length) {\n return '';\n }\n const content = params.map((param) => this.schemaItemTemplate(param, 'query'));\n return this.paramsSectionTemplate('Parameters', 'parametersOpened', content, { innerSection: true });\n }\n\n /**\n * @returns The template for the headers\n */\n protected headersTemplate(scheme: ApiDefinitions.IApiSecurityScheme): TemplateResult | string {\n if (!Array.isArray(scheme.headers) || !scheme.headers.length) {\n return '';\n }\n const content = scheme.headers.map((param) => this.schemaItemTemplate(param, 'header'));\n return this.paramsSectionTemplate('Headers', 'headersOpened', content, { innerSection: true });\n }\n\n protected responseTemplate(): TemplateResult | string {\n const responses = this.responsesValue;\n if (!Array.isArray(responses) || !responses.length) {\n return '';\n }\n const content = html`\n ${this.responseTabsTemplate(responses)}\n ${this.responseContentTemplate(responses)}\n `;\n return this.paramsSectionTemplate('Responses', 'responsesOpened', content, { innerSection: true });\n }\n\n /**\n * @param responses The responses to render.\n * @returns The template for the responses selector.\n */\n protected responseTabsTemplate(responses: ApiDefinitions.IApiResponse[]): TemplateResult {\n const { selectedStatus } = this;\n const filtered = responses.filter((item) => !!item.statusCode);\n return html`\n <div class=\"status-codes-selector\">\n <ui-tabs\n .selected=\"${selectedStatus}\"\n @select=\"${this.statusCodeHandler}\"\n class=\"editor-tabs\"\n priority=\"secondary\"\n scrollable\n >\n ${filtered.map((item) => html`\n <ui-tab aria-controls=\"status${item.statusCode}\" data-status=\"${item.statusCode || 0}\">${item.statusCode}</ui-tab>\n `)}\n </ui-tabs>\n <div class=\"codes-selector-divider\"></div>\n </div>\n `;\n }\n\n /**\n * @param responses The responses to render.\n * @returns The template for the currently selected response.\n */\n protected responseContentTemplate(responses: ApiDefinitions.IApiResponse[]): TemplateResult {\n const { selectedStatus } = this;\n const response = responses.find((item) => item.statusCode === selectedStatus);\n if (!response) {\n return html`<div class=\"empty-info text-selectable\">Select a response to render the documentation.</div>`;\n }\n return html`\n <api-response-document .response=\"${response}\" headersOpened payloadOpened></api-response-document>\n `;\n }\n\n /**\n * @returns The template for the security settings, when required.\n */\n protected settingsTemplate(scheme: ApiDefinitions.IApiSecurityScheme): TemplateResult | string {\n const { settings } = scheme;\n if (!settings) {\n return '';\n }\n const { types } = settings;\n if (types.includes(AmfNamespace.aml.vocabularies.security.ApiKeySettings)) {\n return this.apiKeySettingsTemplate(settings);\n }\n if (types.includes(AmfNamespace.aml.vocabularies.security.OpenIdConnectSettings)) {\n return this.openIdConnectSettingsTemplate(settings);\n }\n if (types.includes(AmfNamespace.aml.vocabularies.security.OAuth2Settings)) {\n return this.oAuth2SettingsTemplate((settings as ApiDefinitions.IApiSecurityOAuth2Settings));\n }\n if (types.includes(AmfNamespace.aml.vocabularies.security.OAuth1Settings)) {\n return this.oAuth1SettingsTemplate((settings as ApiDefinitions.IApiSecurityOAuth1Settings));\n }\n return '';\n }\n\n /**\n * @returns The template for API Key security definition.\n */\n protected apiKeySettingsTemplate(settings: ApiDefinitions.IApiSecurityApiKeySettings): TemplateResult {\n const { in: paramLocation='Unknown', name } = settings;\n const content = html`\n <div class=\"param-info\">\n <div class=\"location text-selectable\">Location: ${paramLocation}</div>\n ${name ? html`<div class=\"label text-selectable\">Parameter: ${name}</div>` : ''}\n </div>\n ${paramLocation === 'header' ? this.apiKeyHeaderExample(name) : ''}\n ${paramLocation === 'cookie' ? this.apiKeyCookieExample(name) : ''}\n ${paramLocation === 'query' ? this.apiKeyQueryExample(name) : ''}\n `;\n return this.paramsSectionTemplate('Settings', 'settingsOpened', content, { innerSection: true });\n }\n\n /**\n * @param name The name of the API Key parameter\n * @returns The template for API Key header example\n */\n protected apiKeyHeaderExample(name = ''): TemplateResult {\n const value = `${name}: abcdef12345`;\n return this.renderSecurityExample(value);\n }\n\n /**\n * @param name The name of the API Key parameter\n * @returns The template for API Key cookie example\n */\n protected apiKeyCookieExample(name = ''): TemplateResult {\n const value = `Cookie: ${name}=abcdef12345`;\n return this.renderSecurityExample(value);\n }\n\n /**\n * @param name The name of the API Key parameter\n * @returns The template for API Key query parameter example\n */\n protected apiKeyQueryExample(name = ''): TemplateResult {\n const value = `GET /api?${name}=abcdef12345`;\n return this.renderSecurityExample(value);\n }\n\n /**\n * @returns The template for a single example\n */\n protected renderSecurityExample(value: string): TemplateResult {\n return html`\n <details class=\"schema-example\" open>\n <summary>Example</summary>\n <div class=\"example-content\">\n <pre class=\"code-value text-selectable\"><code>${value}</code></pre>\n </div>\n </details>\n `;\n }\n\n /**\n * @returns The template for API Key security definition.\n */\n protected openIdConnectSettingsTemplate(settings: ApiDefinitions.IApiSecurityOpenIdConnectSettings): TemplateResult | string {\n const { url } = settings;\n if (!url) {\n return '';\n }\n const content = html`\n <div class=\"param-info\">\n <div class=\"location\">OpenID Connect Discovery URL</div>\n <div class=\"example-content\">\n <pre class=\"code-value text-selectable\"><code>${url}</code></pre>\n </div>\n </div>\n `;\n return this.paramsSectionTemplate('Settings', 'settingsOpened', content, { innerSection: true });\n }\n\n /**\n * @returns The template for OAuth 2 security definition.\n */\n protected oAuth2SettingsTemplate(settings: ApiDefinitions.IApiSecurityOAuth2Settings): TemplateResult | string {\n const { authorizationGrants=[], flows=[] } = settings;\n if (!authorizationGrants.length && !flows.length) {\n return '';\n }\n const content: (TemplateResult|string)[] = [];\n const grants = this.oAuth2GrantsTemplate(authorizationGrants);\n const flowsContent = this.oAuth2FlowsTemplate(flows);\n if (grants) {\n content.push(grants);\n }\n if (flowsContent) {\n content.push(flowsContent);\n }\n return this.paramsSectionTemplate('Settings', 'settingsOpened', content, { innerSection: true });\n }\n\n /**\n * @returns The template for OAuth 2 flows list.\n */\n protected oAuth2GrantsTemplate(grants: string[]): TemplateResult | string {\n if (!grants.length) {\n return '';\n }\n return html`\n <h4 data-type=\"authorization-grants\" class=\"value-title\">Authorization grants</h4>\n <ul>\n ${grants.map(grant => html`<li data-type=\"authorization-grant\" class=\"settings-list-value\">${grant}</li>`)}\n </ul>\n `;\n }\n\n /**\n * @returns The template for OAuth 2 flows list.\n */\n protected oAuth2FlowsTemplate(flows: ApiDefinitions.IApiSecurityOAuth2Flow[]): TemplateResult | string {\n if (!flows.length) {\n return '';\n }\n return html`\n ${flows.map((flow) => this.oAuth2FlowTemplate(flow))}\n `;\n }\n\n /**\n * @returns The template for an OAuth 2 flow.\n */\n protected oAuth2FlowTemplate(flow: ApiDefinitions.IApiSecurityOAuth2Flow): TemplateResult {\n const { scopes, accessTokenUri, authorizationUri, refreshUri, flow: grant } = flow;\n return html`\n <div class=\"flow-description\">\n ${this.grantTitleTemplate(grant)}\n ${this.accessTokenUriTemplate(accessTokenUri)}\n ${this.authorizationUriTemplate(authorizationUri)}\n ${this.refreshUriTemplate(refreshUri)}\n ${this.scopesTemplate(scopes)}\n </div>\n `;\n }\n\n /**\n * @param grant The grant name\n * @returns The template for OAuth 2 grant title.\n */\n protected grantTitleTemplate(grant?: string): TemplateResult | string {\n if (!grant) {\n return '';\n }\n return html`\n <div>\n <h4 class=\"grant-title\">${this.getLabelForGrant(grant)}</h4>\n </div>`;\n }\n\n /**\n * @param uri The access token URI\n * @returns The template for the access token URI\n */\n protected accessTokenUriTemplate(uri?: string): TemplateResult | string {\n if (!uri) {\n return '';\n }\n return html`\n <div class=\"flow-section\">\n <h5 data-type=\"token-uri\" class=\"value-title\">Access token URI</h5>\n <div class=\"example-content\">\n <pre class=\"code-value text-selectable\"><code>${uri}</code></pre>\n </div>\n </div>`;\n }\n\n /**\n * @param uri The access token URI\n * @returns The template for the authorization endpoint URI\n */\n protected authorizationUriTemplate(uri?: string): TemplateResult | string {\n if (!uri) {\n return '';\n }\n return html`\n <div class=\"flow-section\">\n <h5 data-type=\"authorization-uri\" class=\"value-title\">Authorization URI</h5>\n <div class=\"example-content\">\n <pre class=\"code-value text-selectable\"><code>${uri}</code></pre>\n </div>\n </div>`;\n }\n\n /**\n * @param uri The access token URI\n * @returns The template for the refresh token endpoint URI\n */\n protected refreshUriTemplate(uri?: string): TemplateResult | string {\n if (!uri) {\n return '';\n }\n return html`\n <div class=\"flow-section\">\n <h5 data-type=\"refresh-uri\" class=\"value-title\">Token refresh URI</h5>\n <div class=\"example-content\">\n <pre class=\"code-value text-selectable\"><code>${uri}</code></pre>\n </div>\n </div>`;\n }\n\n /**\n * @param scopes The oauth scopes\n * @returns The template for the scopes list\n */\n protected scopesTemplate(scopes?: ApiDefinitions.IApiSecurityScope[]): TemplateResult | string {\n if (!Array.isArray(scopes) || !scopes.length) {\n return '';\n }\n return html`\n <div class=\"flow-section\">\n <h5 data-type=\"authorization-scopes\" class=\"value-title\">Authorization scopes</h5>\n <ul class=\"scopes-list\">\n ${scopes.map((scope) => this.scopeTemplate(scope))}\n </ul>\n </div>`;\n }\n\n /**\n * @param scope The access token URI\n * @returns The template for an oauth scope\n */\n protected scopeTemplate(scope: ApiDefinitions.IApiSecurityScope): TemplateResult {\n const { name, description } = scope;\n return html`\n <li class=\"scope-value\">\n <span class=\"scope-name text-selectable\">${name}</span>\n ${description ? html`<span class=\"scope-description text-selectable\">${description}</span>` : ''}\n </li>\n `;\n }\n\n /**\n * @returns The template for OAuth 1 security definition.\n */\n protected oAuth1SettingsTemplate(settings: ApiDefinitions.IApiSecurityOAuth1Settings) : TemplateResult {\n const { signatures=[], authorizationUri, requestTokenUri, tokenCredentialsUri } = settings;\n const content: (TemplateResult | string)[] = [];\n if (authorizationUri) {\n content.push(this.authorizationUriTemplate(authorizationUri));\n }\n if (requestTokenUri) {\n content.push(this.accessTokenUriTemplate(requestTokenUri));\n }\n if (tokenCredentialsUri) {\n content.push(this.tokenCredentialsUriTemplate(tokenCredentialsUri));\n }\n if (signatures.length) {\n content.push(this.signaturesTemplate(signatures));\n }\n return this.paramsSectionTemplate('Settings', 'settingsOpened', content, { innerSection: true });\n }\n\n /**\n * @param uri The token credentials URI\n * @returns The template for the token credentials URI\n */\n protected tokenCredentialsUriTemplate(uri?: string): TemplateResult | string {\n if (!uri) {\n return '';\n }\n return html`\n <div class=\"flow-section\">\n <h5 data-type=\"token-credentials-uri\" class=\"value-title text-selectable\">Token credentials URI</h5>\n <div class=\"example-content\">\n <pre class=\"code-value text-selectable\"><code>${uri}</code></pre>\n </div>\n </div>`;\n }\n\n /**\n * @param signatures The OAuth1 signatures.\n * @returns The template for the OAuth1 signatures.\n */\n protected signaturesTemplate(signatures: string[]): TemplateResult {\n return html`\n <div class=\"flow-section\">\n <h5 data-type=\"signatures\" class=\"value-title\">Supported signatures</h5>\n <ul>\n ${signatures.map((item) => html`<li><pre class=\"code-value text-selectable\"><code>${item}</code></pre></li>`)}\n </ul>\n </div>`;\n }\n}\n"]}
@@ -5,7 +5,6 @@ import { ApiDocumentationBase, } from './ApiDocumentationBase.js';
5
5
  import { Events } from '../../events/amf/Events.js';
6
6
  import '../../define/amf/api-parametrized-security-scheme.js';
7
7
  export default class ApiSecurityRequirementDocument extends ApiDocumentationBase {
8
- securityRequirementValue;
9
8
  get securityRequirement() {
10
9
  return this.securityRequirementValue;
11
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ApiSecurityRequirementDocument.element.js","sourceRoot":"","sources":["../../../src/elements/amf/ApiSecurityRequirementDocument.element.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,oBAAoB,GAAG,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,sDAAsD,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,8BAA+B,SAAQ,oBAAoB;IACpE,wBAAwB,CAA0C;IAG5E,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACvC,CAAC;IAED,IAAI,mBAAmB,CAAC,KAAyD;QAC/E,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC;QAC1C,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,OAAO;SACR;QACD,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEQ,KAAK,CAAC,YAAY;QACzB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE;YACb,mCAAmC;YACnC,OAAO;SACR;QACD,IAAI,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,wBAAwB,CAAC,EAAE,KAAK,QAAQ,EAAE;YAClF,mEAAmE;YACnE,OAAO;SACR;QACD,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClE,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;SACtC;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,EAAE,GAAG,CAAU,CAAC;YACtB,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;YAC1C,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACpD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,2CAA2C,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SAC3G;IACH,CAAC;IAEQ,MAAM;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC;QAC7C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;YACxD,OAAO,IAAI,CAAA,EAAE,CAAC;SACf;QACD,OAAO,IAAI,CAAA;;QAEP,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;;6BAEZ,IAAI,CAAC,MAAM;uBACjB,IAAI,CAAC,QAAQ;;6CAES,CAAC;;KAEzC,CAAC;IACJ,CAAC;CACF;AA1DC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yEAG1B","sourcesContent":["import { html, TemplateResult } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ApiDefinitions } from '@api-client/core/build/browser.js';\nimport { ApiDocumentationBase, } from './ApiDocumentationBase.js';\nimport { Events } from '../../events/amf/Events.js';\nimport '../../define/amf/api-parametrized-security-scheme.js';\n\nexport default class ApiSecurityRequirementDocument extends ApiDocumentationBase {\n protected securityRequirementValue?: ApiDefinitions.IApiSecurityRequirement;\n\n @property({ type: Object }) \n get securityRequirement(): ApiDefinitions.IApiSecurityRequirement | undefined {\n return this.securityRequirementValue;\n }\n\n set securityRequirement(value: ApiDefinitions.IApiSecurityRequirement | undefined) {\n const old = this.securityRequirementValue;\n if (old === value) {\n return;\n }\n this.securityRequirementValue = value;\n this.processGraph();\n }\n\n override async processGraph(): Promise<void> {\n await this.querySecurity();\n this.requestUpdate();\n }\n\n /**\n * Queries for the security requirements object.\n */\n async querySecurity(): Promise<void> {\n const { domainId } = this;\n if (!domainId) {\n // this[securityValue] = undefined;\n return;\n }\n if (this.securityRequirementValue && this.securityRequirementValue.id === domainId) {\n // in case the security model was provided via the property setter.\n return;\n }\n try {\n const info = await Events.Security.getRequirement(this, domainId);\n this.securityRequirementValue = info;\n } catch (e) {\n const ex = e as Error;\n this.securityRequirementValue = undefined;\n Events.Telemetry.exception(this, ex.message, false);\n Events.Reporting.error(this, ex, `Unable to query for API operation data: ${ex.message}`, this.localName);\n }\n }\n\n override render(): TemplateResult {\n const scheme = this.securityRequirementValue;\n if (!scheme || !scheme.schemes || !scheme.schemes.length) {\n return html``;\n }\n return html`\n <div class=\"security-requirements\">\n ${scheme.schemes.map((item) => html`\n <api-parametrized-security-scheme \n .securityScheme=\"${item.scheme}\" \n .settings=\"${item.settings}\"\n settingsOpened\n ></api-parametrized-security-scheme>`)}\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"ApiSecurityRequirementDocument.element.js","sourceRoot":"","sources":["../../../src/elements/amf/ApiSecurityRequirementDocument.element.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,oBAAoB,GAAG,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,sDAAsD,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,8BAA+B,SAAQ,oBAAoB;IAI9E,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACvC,CAAC;IAED,IAAI,mBAAmB,CAAC,KAAyD;QAC/E,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC;QAC1C,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,OAAO;SACR;QACD,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEQ,KAAK,CAAC,YAAY;QACzB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE;YACb,mCAAmC;YACnC,OAAO;SACR;QACD,IAAI,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,wBAAwB,CAAC,EAAE,KAAK,QAAQ,EAAE;YAClF,mEAAmE;YACnE,OAAO;SACR;QACD,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClE,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;SACtC;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,EAAE,GAAG,CAAU,CAAC;YACtB,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;YAC1C,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACpD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,2CAA2C,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SAC3G;IACH,CAAC;IAEQ,MAAM;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC;QAC7C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;YACxD,OAAO,IAAI,CAAA,EAAE,CAAC;SACf;QACD,OAAO,IAAI,CAAA;;QAEP,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;;6BAEZ,IAAI,CAAC,MAAM;uBACjB,IAAI,CAAC,QAAQ;;6CAES,CAAC;;KAEzC,CAAC;IACJ,CAAC;CACF;AA1DC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yEAG1B","sourcesContent":["import { html, TemplateResult } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ApiDefinitions } from '@api-client/core/build/browser.js';\nimport { ApiDocumentationBase, } from './ApiDocumentationBase.js';\nimport { Events } from '../../events/amf/Events.js';\nimport '../../define/amf/api-parametrized-security-scheme.js';\n\nexport default class ApiSecurityRequirementDocument extends ApiDocumentationBase {\n protected securityRequirementValue?: ApiDefinitions.IApiSecurityRequirement;\n\n @property({ type: Object }) \n get securityRequirement(): ApiDefinitions.IApiSecurityRequirement | undefined {\n return this.securityRequirementValue;\n }\n\n set securityRequirement(value: ApiDefinitions.IApiSecurityRequirement | undefined) {\n const old = this.securityRequirementValue;\n if (old === value) {\n return;\n }\n this.securityRequirementValue = value;\n this.processGraph();\n }\n\n override async processGraph(): Promise<void> {\n await this.querySecurity();\n this.requestUpdate();\n }\n\n /**\n * Queries for the security requirements object.\n */\n async querySecurity(): Promise<void> {\n const { domainId } = this;\n if (!domainId) {\n // this[securityValue] = undefined;\n return;\n }\n if (this.securityRequirementValue && this.securityRequirementValue.id === domainId) {\n // in case the security model was provided via the property setter.\n return;\n }\n try {\n const info = await Events.Security.getRequirement(this, domainId);\n this.securityRequirementValue = info;\n } catch (e) {\n const ex = e as Error;\n this.securityRequirementValue = undefined;\n Events.Telemetry.exception(this, ex.message, false);\n Events.Reporting.error(this, ex, `Unable to query for API operation data: ${ex.message}`, this.localName);\n }\n }\n\n override render(): TemplateResult {\n const scheme = this.securityRequirementValue;\n if (!scheme || !scheme.schemes || !scheme.schemes.length) {\n return html``;\n }\n return html`\n <div class=\"security-requirements\">\n ${scheme.schemes.map((item) => html`\n <api-parametrized-security-scheme \n .securityScheme=\"${item.scheme}\" \n .settings=\"${item.settings}\"\n settingsOpened\n ></api-parametrized-security-scheme>`)}\n </div>\n `;\n }\n}\n"]}
@@ -51,67 +51,6 @@ import '../../define/ui/ui-icon-button.js';
51
51
  * @fires query - Dispatched when the element asks the context store for servers info.
52
52
  */
53
53
  export default class ApiServerPicker extends ApiElement {
54
- /**
55
- * Currently selected type of the input.
56
- * `server` | `extra` | `custom`
57
- * @attribute
58
- */
59
- type;
60
- _graphLoaded;
61
- /**
62
- * When set it automatically selected the first server from the list of servers when selection is missing.
63
- * @attribute
64
- */
65
- auto;
66
- /**
67
- * When set the `Custom base URI` is rendered in the dropdown
68
- * @attribute
69
- */
70
- custom;
71
- /**
72
- * A programmatic access to the opened state of the drop down.
73
- * Note, this does nothing when custom element is rendered.
74
- * @attribute
75
- */
76
- opened;
77
- /**
78
- * The graph domain id of the selected domain object.
79
- * @attribute
80
- */
81
- domainId;
82
- /**
83
- * The selected domain type.
84
- * This is an abstract name from the api navigation.
85
- * @attribute
86
- */
87
- domainType;
88
- /**
89
- * The timeout after which the `queryGraph()` function is called
90
- * in the debouncer.
91
- * @attribute
92
- */
93
- queryDebouncerTimeout;
94
- /**
95
- * The current base URI value from either (in order) the baseUri, current value, or just empty string.
96
- * @attribute
97
- */
98
- value;
99
- /**
100
- * The `baseUri` property overrides any server definition and turns the picker into the
101
- * "custom" mode.
102
- * @attribute
103
- */
104
- baseUri;
105
- _debounceValue;
106
- /**
107
- * Holds the size of rendered custom servers.
108
- */
109
- _customNodesCount;
110
- /**
111
- * A list of custom items rendered in the slot.
112
- */
113
- _customItems;
114
- _servers;
115
54
  /**
116
55
  * Returns a list of custom servers found in the element's DOM.
117
56
  * For an item to be included in the list it has to have the `data-value="..."` attribute set.
@@ -134,7 +73,6 @@ export default class ApiServerPicker extends ApiElement {
134
73
  const serversCount = _servers.length + _customItems.length + offset;
135
74
  return serversCount;
136
75
  }
137
- _onApiServerChange = null;
138
76
  /**
139
77
  * @returns Previously registered callback function for the `api-server-changed` event.
140
78
  */
@@ -158,7 +96,6 @@ export default class ApiServerPicker extends ApiElement {
158
96
  this._onApiServerChange = null;
159
97
  }
160
98
  }
161
- _onServersCountChangeValue = null;
162
99
  /**
163
100
  * @returns Previously registered callback function for the `servers-count-changed` event.
164
101
  */
@@ -182,10 +119,10 @@ export default class ApiServerPicker extends ApiElement {
182
119
  this._onServersCountChangeValue = null;
183
120
  }
184
121
  }
185
- _boundEvent;
186
- customInput;
187
122
  constructor() {
188
123
  super();
124
+ this._onApiServerChange = null;
125
+ this._onServersCountChangeValue = null;
189
126
  this.queryDebouncerTimeout = 1;
190
127
  this._customNodesCount = 0;
191
128
  this._graphLoaded = false;
@@ -1 +1 @@
1
- {"version":3,"file":"ApiServerPicker.element.js","sourceRoot":"","sources":["../../../src/elements/amf/ApiServerPicker.element.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult, PropertyValues, nothing } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { ApiDefinitions, EventUtils } from '@api-client/core/build/browser.js';\nimport { live } from 'lit/directives/live.js';\nimport ApiElement from \"../ApiElement.js\";\nimport { Events } from '../../events/amf/Events.js';\nimport { EventTypes } from '../../events/amf/EventTypes.js';\nimport { SelectionType, ServerType } from '../../amf/types.js';\nimport UiDropdownList, { UiDropdownListSelection } from '../../ui/list/UiDropdownList.js';\nimport Input from '../../ui/input/Input.js';\nimport '../../define/ui/ui-icon.js';\nimport '../../define/ui/ui-dropdown-list.js';\nimport '../../define/ui/ui-list.js';\nimport '../../define/ui/ui-list-item.js';\nimport '../../define/ui/ui-text-field.js';\nimport '../../define/ui/ui-icon-button.js';\n\ninterface ICustomServer {\n index: number;\n value: string;\n}\n\ninterface IAutoSelectOptions {\n /**\n * The preferred URI value to use to select.\n */\n preferred?: string;\n /**\n * When set to `true` it only allows to select the value from API servers or custom servers.\n * It won't select the value as a `custom` value.\n */\n noCustom?: boolean;\n}\n\n/**\n * An element that presents a list of servers defined in the currently loaded API.\n * The user can select a server they prefer to use with the rest of the API documentation UI.\n * \n * The element dispatched the `apiserverchanged` event when the selection is made. This event\n * is dispatched when the selection is made automatically after querying for server data or when\n * the user decide to select a different option.\n * \n * ```javascript\n * const template = html`<api-server-picker @apiserverchanged=\"${this._serverChanged}\"></api-server-picker>`;\n * ```\n * \n * The event is dispatched with the `detail` object that has the `value` with the current base URI of the selected server,\n * optional `id` with the graph ID of the selected server, and the type of the current selection.\n * The `type` property is one of: `server` (pick is one of the predefined servers), `custom` (user entered value), or `extra` \n * (one of the added server definitions from the outside of the API specification.)\n * \n * The picker allows the user to enter a custom value of the base URI when the `custom` property is set. In this case, the user can \n * select the \"custom\" value in the drop-down options list which then renders an input field where the user can change the value.\n * The `apiserverchanged` event is dispatched after the user commit the change in the input field (enter, blur).\n * \n * Additionally, the element offers a named `<slot>` (custom-base-uri) which renders all passed items in the dropdown. All items that \n * have `data-value` attribute set are selectable as the server value.\n * \n * ```javascript\n * const template = html`\n * <api-server-picker @apiserverchanged=\"${this._serverChanged}\">\n * <ui-list-item slot=\"custom-base-uri\" data-value=\"http://mocking.com\">Mocking service</ui-list-item>\n * </api-server-picker>`;\n * ```\n * \n * By default all server items are rendered as `<ui-list-item>`. However, you can pass any element to make the experience \n * more compelling to the user (like adding a section header).\n * \n * @fires apiserverchanged - The event dispatched when a server selection change.\n * @fires serverscountchanged - The event dispatched when a server count change.\n * @fires query - Dispatched when the element asks the context store for servers info.\n */\nexport default class ApiServerPicker extends ApiElement {\n /**\n * Currently selected type of the input.\n * `server` | `extra` | `custom`\n * @attribute\n */\n @property({ type: String, reflect: true }) type?: ServerType;\n\n @state() protected _graphLoaded: boolean; \n\n /**\n * When set it automatically selected the first server from the list of servers when selection is missing.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) auto?: boolean;\n\n /**\n * When set the `Custom base URI` is rendered in the dropdown\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) custom?: boolean;\n\n /**\n * A programmatic access to the opened state of the drop down.\n * Note, this does nothing when custom element is rendered.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) opened?: boolean;\n\n /**\n * The graph domain id of the selected domain object.\n * @attribute\n */\n @property({ type: String, reflect: true }) domainId?: string | undefined;\n\n /** \n * The selected domain type.\n * This is an abstract name from the api navigation.\n * @attribute\n */\n @property({ type: String, reflect: true }) domainType?: SelectionType;\n\n /** \n * The timeout after which the `queryGraph()` function is called \n * in the debouncer.\n * @attribute\n */\n @property({ type: Number }) queryDebouncerTimeout: number;\n\n /**\n * The current base URI value from either (in order) the baseUri, current value, or just empty string.\n * @attribute\n */\n @property({ type: String }) value?: string;\n\n /**\n * The `baseUri` property overrides any server definition and turns the picker into the \n * \"custom\" mode.\n * @attribute\n */\n @property({ type: String }) baseUri?: string;\n\n protected _debounceValue?: number;\n\n /**\n * Holds the size of rendered custom servers.\n */\n protected _customNodesCount: number;\n\n /**\n * A list of custom items rendered in the slot.\n */\n @state() protected _customItems: ICustomServer[];\n\n @state() protected _servers?: ApiDefinitions.IApiServer[];\n\n /**\n * Returns a list of custom servers found in the element's DOM.\n * For an item to be included in the list it has to have the `data-value=\"...\"` attribute set.\n */\n get customServers(): string[] {\n return this._customItems.map(i => i.value);\n }\n\n /**\n * Returns a list of servers defined in the API.\n */\n get apiServers(): string[] {\n return (this._servers || []).map(i => i.url);\n }\n\n /**\n * @returns Total number of list items being rendered.\n */\n get serversCount(): number {\n const { custom, _servers = [], _customItems } = this;\n const offset = custom ? 1 : 0;\n const serversCount = _servers.length + _customItems.length + offset;\n return serversCount;\n }\n\n protected _onApiServerChange: EventListener | null = null;\n\n /**\n * @returns Previously registered callback function for the `api-server-changed` event.\n */\n get onapiserverchange(): EventListener | null {\n return this._onApiServerChange;\n }\n\n /**\n * @param value A callback function to be called when `api-server-changed` event is dispatched.\n */\n set onapiserverchange(value: EventListener | null) {\n const old = this._onApiServerChange;\n if (old) {\n this.removeEventListener(EventTypes.Server.serverChange, old);\n }\n const isFn = typeof value === 'function';\n if (isFn) {\n this._onApiServerChange = value;\n this.addEventListener(EventTypes.Server.serverChange, value);\n } else {\n this._onApiServerChange = null;\n }\n }\n\n protected _onServersCountChangeValue: EventListener | null = null;\n\n /**\n * @returns Previously registered callback function for the `servers-count-changed` event.\n */\n get onserverscountchange(): EventListener | null {\n return this._onServersCountChangeValue || null;\n }\n\n /**\n * @param value A callback function to be called when `servers-count-changed` event is dispatched.\n */\n set onserverscountchange(value: EventListener | null) {\n const old = this._onServersCountChangeValue;\n if (old) {\n this.removeEventListener(EventTypes.Server.serverCountChange, old);\n }\n const isFn = typeof value === 'function';\n if (isFn) {\n this._onServersCountChangeValue = value;\n this.addEventListener(EventTypes.Server.serverCountChange, value);\n } else {\n this._onServersCountChangeValue = null;\n }\n }\n\n protected _boundEvent: () => void;\n\n @query('.uri-input')\n protected customInput?: Input | null;\n\n constructor() {\n super();\n this.queryDebouncerTimeout = 1;\n this._customNodesCount = 0;\n this._graphLoaded = false;\n this._customItems = [];\n this._boundEvent = (): void => {\n this._processDebounce();\n };\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.eventsTarget.addEventListener(EventTypes.Store.graphChange, this._boundEvent);\n this._processDebounce();\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.eventsTarget.removeEventListener(EventTypes.Store.graphChange, this._boundEvent);\n if (this._debounceValue) {\n clearTimeout(this._debounceValue);\n this._debounceValue = undefined;\n }\n }\n\n protected override shouldUpdate(_changedProperties: PropertyValues<this>): boolean {\n if (_changedProperties.has('value')) {\n if (this.baseUri) {\n this.value = this.baseUri;\n return false;\n }\n // const oldValue = _changedProperties.get('value');\n // const newValue = this.value;\n\n // if (newValue && this._isValueCustom(newValue) && !this.custom) {\n // // eslint-disable-next-line no-console\n // console.warn(`Trying to set a custom value on the selector but the \"custom\" is not set.`);\n // this.value = oldValue;\n // return _changedProperties.size !== 1;\n // }\n }\n return true;\n }\n\n protected override updated(_changedProperties: PropertyValues<this>): void {\n super.updated(_changedProperties);\n if (_changedProperties.has('domainType') || _changedProperties.has('domainId')) {\n this._processDebounce();\n }\n if (_changedProperties.has('custom')) {\n this.notifyServersCount();\n if (!this.custom && this.type === 'custom') {\n this.disabledCustomUri();\n }\n }\n\n if (_changedProperties.has('auto') && this.auto && !this.value) {\n this._autoSelect({ preferred: this.value });\n }\n if (_changedProperties.has('value')) {\n this._valueChanged(this.value);\n }\n if (_changedProperties.has('baseUri') && this.baseUri) {\n this.value = this.baseUri;\n this.type = 'custom';\n }\n }\n\n /**\n * Calls the `queryGraph()` function in a debouncer.\n */\n protected _processDebounce(): void {\n if (this._debounceValue) {\n clearTimeout(this._debounceValue);\n }\n this._debounceValue = setTimeout(() => {\n this._debounceValue = undefined;\n this.processGraph();\n }, this.queryDebouncerTimeout) as unknown as number;\n }\n\n /**\n * Queries for the current API server data from the store.\n */\n async processGraph(): Promise<void> {\n this._graphLoaded = false;\n let oldValue = this.value;\n const oldCustom = this.isValueCustom(oldValue);\n await this._queryServers();\n const isCustom = this.isValueCustom(oldValue);\n this._graphLoaded = true;\n if (!oldCustom && isCustom) {\n oldValue = undefined; \n }\n const noCustom = !(oldCustom && isCustom);\n this._autoSelect({ preferred: oldValue, noCustom });\n this.notifyServersCount();\n }\n\n /**\n * Queries for the current servers value.\n */\n protected async _queryServers(): Promise<void> {\n const { domainId, domainType } = this;\n let endpointId;\n let methodId;\n if (domainType === 'operation') {\n methodId = domainId;\n } else if (domainType === 'resource') {\n endpointId = domainId;\n }\n try {\n const info = await Events.Server.query(this, {\n endpointId,\n methodId,\n });\n this._servers = info;\n } catch (e) {\n const ex = e as Error;\n this._servers = undefined;\n Events.Telemetry.exception(this, ex.message, false);\n Events.Reporting.error(this, ex, `Unable to query for API servers: ${ex.message}`, this.localName);\n }\n }\n\n /**\n * Checks whether the passed value would be rendered as a \"custom\" value.\n * The value is \"custom\" if it cannot be matched with server value for an API defined server or \n * a custom server passed in the DOM.\n * \n * @param value The value to test.\n * @returns `true` when the value would be rendered as \"custom\".\n */\n isValueCustom(value?: string): boolean {\n const { _servers=[], _customItems } = this;\n const srv = _servers.some(s => s.url === value);\n if (srv) {\n return false;\n }\n const custom = _customItems.some(s => s.value === value);\n if (custom) {\n return false;\n }\n // returns false for no value.\n return !!value;\n }\n\n /**\n * This only makes sure whether the set value is a \"custom\" value while no selection is made.\n * \n * @param value The current value.\n */\n protected _valueChanged(value?: string): void {\n if (!value || !this.custom || !this._graphLoaded) {\n return;\n }\n\n const { _servers=[], _customItems, _graphLoaded } = this;\n if (_graphLoaded) {\n return;\n }\n if (_servers.some(s => s.url === value)) {\n return;\n }\n if (_customItems.some(s => s.value === value)) {\n return;\n }\n this.value = value;\n this.type = 'custom';\n Events.Server.serverChange(this, value, this.type);\n }\n\n /**\n * Automatically selects one of available values.\n * \n * When the `preferred` is set it checks whether this value is on the servers list. If so this value is used.\n * If none match then it checks for custom servers and if they have this value then it is set.\n * \n * Otherwise it takes files value of servers or custom servers (when no servers) and sets this value instead.\n * \n * Caveats:\n * - it does nothing when `auto` is not set\n * - it does nothing when `type` is `custom`\n * - it won't set the \"first\" server or custom server value when the graph is being loaded.\n * \n * @param preferred The preferred value to be selected.\n */\n protected _autoSelect({ preferred, noCustom }: IAutoSelectOptions = {}): void {\n const { auto, type } = this;\n if (type === 'custom') {\n if (preferred) {\n const isCustom = this.isValueCustom(preferred);\n if (!isCustom) {\n this.type = undefined;\n } else {\n this.value = preferred;\n Events.Server.serverChange(this, preferred || '', this.type as ServerType);\n return;\n }\n } else {\n return;\n }\n }\n if (!auto) {\n return;\n }\n const { _servers=[], _customItems } = this;\n const srv = _servers.find(s => s.url === preferred);\n if (srv) {\n this.value = preferred;\n this.type = 'server';\n Events.Server.serverChange(this, preferred || '', this.type as ServerType);\n return;\n }\n const custom = _customItems.find(s => s.value === preferred);\n if (custom) {\n this.value = custom.value;\n this.type = 'extra';\n Events.Server.serverChange(this, custom.value, this.type as ServerType);\n return;\n }\n if (!this._graphLoaded) {\n // do not pre-select values before servers query ends.\n return;\n }\n\n // todo: if anything is wrong with auto-select and the custom values, remove these lines.\n if (this.custom && preferred && !noCustom) {\n this.value = preferred;\n this.type = 'custom';\n Events.Server.serverChange(this, preferred, this.type as ServerType);\n return;\n }\n\n const [firstServer] = _servers;\n if (firstServer) {\n this.value = firstServer.url;\n this.type = 'server';\n Events.Server.serverChange(this, firstServer.url, this.type as ServerType);\n return;\n }\n const [firstCustom] = _customItems;\n if (firstCustom) {\n this.value = firstCustom.value;\n this.type = 'extra';\n Events.Server.serverChange(this, firstCustom.value, this.type as ServerType);\n }\n }\n\n protected handleDropdownOpen(e: Event): void {\n const node = e.target as UiDropdownList;\n this.opened = node.open;\n }\n\n protected handleSelection(e: CustomEvent<UiDropdownListSelection>): void {\n e.preventDefault();\n const { _graphLoaded, _customItems } = this;\n if (!_graphLoaded) {\n return;\n }\n const { item } = e.detail;\n const { value } = item.dataset;\n if (!value) {\n return;\n }\n if (value === 'custom') {\n this.enableCustomUri();\n return;\n }\n const custom = _customItems.find(i => i.value === value);\n this.value = value;\n if (custom) {\n this.type = 'extra';\n } else {\n this.type = 'server';\n }\n Events.Server.serverChange(this, value, this.type);\n }\n\n protected handleSlot(e: Event): void {\n const slot = e.target as HTMLSlotElement;\n const elements = slot.assignedElements({ flatten: true });\n const servers: ICustomServer[] = [];\n elements.forEach((element, index) => {\n const value = element.getAttribute('data-value');\n if (!value) {\n return;\n }\n element.setAttribute('role', 'menuitem');\n servers.push({\n index,\n value,\n });\n });\n this._customItems = servers;\n this.notifyServersCount();\n }\n\n /**\n * Dispatches the `servers-count-changed` event with the current number of rendered servers.\n */\n protected notifyServersCount(): void {\n Events.Server.serverCountChange(this, this.serversCount);\n }\n\n protected handleCustomChange(e: Event): void {\n const { value } = e.target as Input;\n this.value = value;\n Events.Server.serverChange(this, this.value, this.type as ServerType);\n }\n\n /**\n * Resets current selection to a default value.\n */\n protected disabledCustomUri(): void {\n const { baseUri } = this;\n if (baseUri) {\n this.value = baseUri;\n this.type = 'custom';\n } else {\n this.value = '';\n this.type = 'server';\n }\n Events.Server.serverChange(this, '', this.type);\n this.opened = false;\n this._autoSelect();\n }\n\n protected async enableCustomUri(): Promise<void> {\n this.type = 'custom';\n this.value = '';\n this.opened = false;\n Events.Server.serverChange(this, this.value, this.type);\n await this.updateComplete;\n const { customInput } = this;\n customInput?.focus();\n }\n\n /**\n * Removes the currently rendered servers from the element.\n * This allow to programmatically manipulate the list of servers by removing all API related definitions.\n */\n removeServers(): void {\n this._servers = [];\n }\n\n override render(): TemplateResult {\n const { type } = this;\n const isCustom = type === 'custom';\n return html`\n ${isCustom ? this.renderCustomUriInput() : ''}\n ${this.renderSelector(isCustom)}\n `;\n }\n\n /**\n * @returns Template result for the custom input.\n */\n protected renderCustomUriInput(): TemplateResult {\n const { value = '', baseUri } = this;\n return html`\n <ui-text-field \n class=\"uri-input\"\n .value=\"${live(value)}\"\n label=\"API base URI\"\n type=\"url\"\n ?readOnly=\"${!!baseUri}\"\n @change=\"${this.handleCustomChange}\"\n @select=\"${EventUtils.cancelEvent}\"\n >\n <ui-icon-button \n slot=\"suffix\" \n aria-label=\"Activate to clear and close the input\" \n title=\"Clears and closes the input\" \n ?hidden=\"${!!baseUri}\" \n @click=\"${this.disabledCustomUri}\"\n >\n <ui-icon role=\"presentation\" icon=\"close\"></ui-icon>\n </ui-icon-button>\n </ui-text-field>\n `;\n }\n\n /**\n * @returns Template result for the drop down element.\n */\n protected renderSelector(hidden: boolean): TemplateResult {\n const { value, opened = false } = this;\n const finalValue = value === '' ? undefined : value;\n return html`\n <ui-dropdown-list\n class=\"api-server-dropdown\"\n closeOnOutsideClick\n matchTriggerWidth\n ?hidden=\"${hidden}\"\n .open=\"${opened}\"\n @open=\"${this.handleDropdownOpen}\"\n @select=\"${this.handleSelection}\"\n >\n <ui-text-field class=\"trigger\" label=\"Select server\" readOnly .value=\"${finalValue || ''}\" @select=\"${EventUtils.cancelEvent}\">\n <ui-icon icon=\"arrowDropDown\" role=\"presentation\" slot=\"suffix\"></ui-icon>\n </ui-text-field>\n <ui-list slot=\"dropdown\" role=\"menu\" selector=\"[data-value]\" selectActive>\n ${this.renderSelectorList()}\n </ui-list>\n </ui-dropdown-list>\n `;\n }\n\n /**\n * Call the render functions for\n * - Server options (from AMF Model)\n * - Custom URI option\n * - Extra slot\n * @returns The combination of all options\n */\n protected renderSelectorList(): TemplateResult {\n return html`\n ${this.renderServerList()}\n ${this.renderSlot()}\n ${this.renderCustomUri()}\n `;\n }\n\n /**\n * @returns The template for the custom URI list item.\n */\n protected renderCustomUri(): TemplateResult | typeof nothing {\n const { custom } = this;\n if (!custom) {\n return nothing;\n }\n return html`\n <ui-list-item role=\"menuitem\" data-value=\"custom\" class=\"custom-option\">Custom base URI</ui-list-item>\n `;\n }\n\n /**\n * @returns Template result for the drop down list options for current servers\n */\n protected renderServerList(): TemplateResult[] | typeof nothing {\n const { _servers } = this;\n if (!Array.isArray(_servers)) {\n return nothing;\n }\n return _servers.map(server => this.renderServerListItem(server));\n }\n\n /**\n * @param server The server definition\n * @returns The template for a server list item.\n */\n protected renderServerListItem(server: ApiDefinitions.IApiServer): TemplateResult {\n return html`\n <ui-list-item role=\"menuitem\" data-value=\"${server.url}\" data-item=\"server-dropdown-option\">${server.url}</ui-list-item>\n `;\n }\n\n protected renderSlot(): TemplateResult {\n return html`<slot name=\"custom-base-uri\" @slotchange=\"${this.handleSlot}\"></slot>`;\n }\n}\n"]}
1
+ {"version":3,"file":"ApiServerPicker.element.js","sourceRoot":"","sources":["../../../src/elements/amf/ApiServerPicker.element.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult, PropertyValues, nothing } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { ApiDefinitions, EventUtils } from '@api-client/core/build/browser.js';\nimport { live } from 'lit/directives/live.js';\nimport ApiElement from \"../ApiElement.js\";\nimport { Events } from '../../events/amf/Events.js';\nimport { EventTypes } from '../../events/amf/EventTypes.js';\nimport { SelectionType, ServerType } from '../../amf/types.js';\nimport UiDropdownList, { UiDropdownListSelection } from '../../ui/list/UiDropdownList.js';\nimport Input from '../../ui/input/Input.js';\nimport '../../define/ui/ui-icon.js';\nimport '../../define/ui/ui-dropdown-list.js';\nimport '../../define/ui/ui-list.js';\nimport '../../define/ui/ui-list-item.js';\nimport '../../define/ui/ui-text-field.js';\nimport '../../define/ui/ui-icon-button.js';\n\ninterface ICustomServer {\n index: number;\n value: string;\n}\n\ninterface IAutoSelectOptions {\n /**\n * The preferred URI value to use to select.\n */\n preferred?: string;\n /**\n * When set to `true` it only allows to select the value from API servers or custom servers.\n * It won't select the value as a `custom` value.\n */\n noCustom?: boolean;\n}\n\n/**\n * An element that presents a list of servers defined in the currently loaded API.\n * The user can select a server they prefer to use with the rest of the API documentation UI.\n * \n * The element dispatched the `apiserverchanged` event when the selection is made. This event\n * is dispatched when the selection is made automatically after querying for server data or when\n * the user decide to select a different option.\n * \n * ```javascript\n * const template = html`<api-server-picker @apiserverchanged=\"${this._serverChanged}\"></api-server-picker>`;\n * ```\n * \n * The event is dispatched with the `detail` object that has the `value` with the current base URI of the selected server,\n * optional `id` with the graph ID of the selected server, and the type of the current selection.\n * The `type` property is one of: `server` (pick is one of the predefined servers), `custom` (user entered value), or `extra` \n * (one of the added server definitions from the outside of the API specification.)\n * \n * The picker allows the user to enter a custom value of the base URI when the `custom` property is set. In this case, the user can \n * select the \"custom\" value in the drop-down options list which then renders an input field where the user can change the value.\n * The `apiserverchanged` event is dispatched after the user commit the change in the input field (enter, blur).\n * \n * Additionally, the element offers a named `<slot>` (custom-base-uri) which renders all passed items in the dropdown. All items that \n * have `data-value` attribute set are selectable as the server value.\n * \n * ```javascript\n * const template = html`\n * <api-server-picker @apiserverchanged=\"${this._serverChanged}\">\n * <ui-list-item slot=\"custom-base-uri\" data-value=\"http://mocking.com\">Mocking service</ui-list-item>\n * </api-server-picker>`;\n * ```\n * \n * By default all server items are rendered as `<ui-list-item>`. However, you can pass any element to make the experience \n * more compelling to the user (like adding a section header).\n * \n * @fires apiserverchanged - The event dispatched when a server selection change.\n * @fires serverscountchanged - The event dispatched when a server count change.\n * @fires query - Dispatched when the element asks the context store for servers info.\n */\nexport default class ApiServerPicker extends ApiElement {\n /**\n * Currently selected type of the input.\n * `server` | `extra` | `custom`\n * @attribute\n */\n @property({ type: String, reflect: true }) type?: ServerType;\n\n @state() protected _graphLoaded: boolean; \n\n /**\n * When set it automatically selected the first server from the list of servers when selection is missing.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) auto?: boolean;\n\n /**\n * When set the `Custom base URI` is rendered in the dropdown\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) custom?: boolean;\n\n /**\n * A programmatic access to the opened state of the drop down.\n * Note, this does nothing when custom element is rendered.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) opened?: boolean;\n\n /**\n * The graph domain id of the selected domain object.\n * @attribute\n */\n @property({ type: String, reflect: true }) domainId?: string | undefined;\n\n /** \n * The selected domain type.\n * This is an abstract name from the api navigation.\n * @attribute\n */\n @property({ type: String, reflect: true }) domainType?: SelectionType;\n\n /** \n * The timeout after which the `queryGraph()` function is called \n * in the debouncer.\n * @attribute\n */\n @property({ type: Number }) queryDebouncerTimeout: number;\n\n /**\n * The current base URI value from either (in order) the baseUri, current value, or just empty string.\n * @attribute\n */\n @property({ type: String }) value?: string;\n\n /**\n * The `baseUri` property overrides any server definition and turns the picker into the \n * \"custom\" mode.\n * @attribute\n */\n @property({ type: String }) baseUri?: string;\n\n protected _debounceValue?: number;\n\n /**\n * Holds the size of rendered custom servers.\n */\n protected _customNodesCount: number;\n\n /**\n * A list of custom items rendered in the slot.\n */\n @state() protected _customItems: ICustomServer[];\n\n @state() protected _servers?: ApiDefinitions.IApiServer[];\n\n /**\n * Returns a list of custom servers found in the element's DOM.\n * For an item to be included in the list it has to have the `data-value=\"...\"` attribute set.\n */\n get customServers(): string[] {\n return this._customItems.map(i => i.value);\n }\n\n /**\n * Returns a list of servers defined in the API.\n */\n get apiServers(): string[] {\n return (this._servers || []).map(i => i.url);\n }\n\n /**\n * @returns Total number of list items being rendered.\n */\n get serversCount(): number {\n const { custom, _servers = [], _customItems } = this;\n const offset = custom ? 1 : 0;\n const serversCount = _servers.length + _customItems.length + offset;\n return serversCount;\n }\n\n protected _onApiServerChange: EventListener | null = null;\n\n /**\n * @returns Previously registered callback function for the `api-server-changed` event.\n */\n get onapiserverchange(): EventListener | null {\n return this._onApiServerChange;\n }\n\n /**\n * @param value A callback function to be called when `api-server-changed` event is dispatched.\n */\n set onapiserverchange(value: EventListener | null) {\n const old = this._onApiServerChange;\n if (old) {\n this.removeEventListener(EventTypes.Server.serverChange, old);\n }\n const isFn = typeof value === 'function';\n if (isFn) {\n this._onApiServerChange = value;\n this.addEventListener(EventTypes.Server.serverChange, value);\n } else {\n this._onApiServerChange = null;\n }\n }\n\n protected _onServersCountChangeValue: EventListener | null = null;\n\n /**\n * @returns Previously registered callback function for the `servers-count-changed` event.\n */\n get onserverscountchange(): EventListener | null {\n return this._onServersCountChangeValue || null;\n }\n\n /**\n * @param value A callback function to be called when `servers-count-changed` event is dispatched.\n */\n set onserverscountchange(value: EventListener | null) {\n const old = this._onServersCountChangeValue;\n if (old) {\n this.removeEventListener(EventTypes.Server.serverCountChange, old);\n }\n const isFn = typeof value === 'function';\n if (isFn) {\n this._onServersCountChangeValue = value;\n this.addEventListener(EventTypes.Server.serverCountChange, value);\n } else {\n this._onServersCountChangeValue = null;\n }\n }\n\n protected _boundEvent: () => void;\n\n @query('.uri-input')\n protected customInput?: Input | null;\n\n constructor() {\n super();\n this.queryDebouncerTimeout = 1;\n this._customNodesCount = 0;\n this._graphLoaded = false;\n this._customItems = [];\n this._boundEvent = (): void => {\n this._processDebounce();\n };\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.eventsTarget.addEventListener(EventTypes.Store.graphChange, this._boundEvent);\n this._processDebounce();\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.eventsTarget.removeEventListener(EventTypes.Store.graphChange, this._boundEvent);\n if (this._debounceValue) {\n clearTimeout(this._debounceValue);\n this._debounceValue = undefined;\n }\n }\n\n protected override shouldUpdate(_changedProperties: PropertyValues<this>): boolean {\n if (_changedProperties.has('value')) {\n if (this.baseUri) {\n this.value = this.baseUri;\n return false;\n }\n // const oldValue = _changedProperties.get('value');\n // const newValue = this.value;\n\n // if (newValue && this._isValueCustom(newValue) && !this.custom) {\n // // eslint-disable-next-line no-console\n // console.warn(`Trying to set a custom value on the selector but the \"custom\" is not set.`);\n // this.value = oldValue;\n // return _changedProperties.size !== 1;\n // }\n }\n return true;\n }\n\n protected override updated(_changedProperties: PropertyValues<this>): void {\n super.updated(_changedProperties);\n if (_changedProperties.has('domainType') || _changedProperties.has('domainId')) {\n this._processDebounce();\n }\n if (_changedProperties.has('custom')) {\n this.notifyServersCount();\n if (!this.custom && this.type === 'custom') {\n this.disabledCustomUri();\n }\n }\n\n if (_changedProperties.has('auto') && this.auto && !this.value) {\n this._autoSelect({ preferred: this.value });\n }\n if (_changedProperties.has('value')) {\n this._valueChanged(this.value);\n }\n if (_changedProperties.has('baseUri') && this.baseUri) {\n this.value = this.baseUri;\n this.type = 'custom';\n }\n }\n\n /**\n * Calls the `queryGraph()` function in a debouncer.\n */\n protected _processDebounce(): void {\n if (this._debounceValue) {\n clearTimeout(this._debounceValue);\n }\n this._debounceValue = setTimeout(() => {\n this._debounceValue = undefined;\n this.processGraph();\n }, this.queryDebouncerTimeout) as unknown as number;\n }\n\n /**\n * Queries for the current API server data from the store.\n */\n async processGraph(): Promise<void> {\n this._graphLoaded = false;\n let oldValue = this.value;\n const oldCustom = this.isValueCustom(oldValue);\n await this._queryServers();\n const isCustom = this.isValueCustom(oldValue);\n this._graphLoaded = true;\n if (!oldCustom && isCustom) {\n oldValue = undefined; \n }\n const noCustom = !(oldCustom && isCustom);\n this._autoSelect({ preferred: oldValue, noCustom });\n this.notifyServersCount();\n }\n\n /**\n * Queries for the current servers value.\n */\n protected async _queryServers(): Promise<void> {\n const { domainId, domainType } = this;\n let endpointId;\n let methodId;\n if (domainType === 'operation') {\n methodId = domainId;\n } else if (domainType === 'resource') {\n endpointId = domainId;\n }\n try {\n const info = await Events.Server.query(this, {\n endpointId,\n methodId,\n });\n this._servers = info;\n } catch (e) {\n const ex = e as Error;\n this._servers = undefined;\n Events.Telemetry.exception(this, ex.message, false);\n Events.Reporting.error(this, ex, `Unable to query for API servers: ${ex.message}`, this.localName);\n }\n }\n\n /**\n * Checks whether the passed value would be rendered as a \"custom\" value.\n * The value is \"custom\" if it cannot be matched with server value for an API defined server or \n * a custom server passed in the DOM.\n * \n * @param value The value to test.\n * @returns `true` when the value would be rendered as \"custom\".\n */\n isValueCustom(value?: string): boolean {\n const { _servers=[], _customItems } = this;\n const srv = _servers.some(s => s.url === value);\n if (srv) {\n return false;\n }\n const custom = _customItems.some(s => s.value === value);\n if (custom) {\n return false;\n }\n // returns false for no value.\n return !!value;\n }\n\n /**\n * This only makes sure whether the set value is a \"custom\" value while no selection is made.\n * \n * @param value The current value.\n */\n protected _valueChanged(value?: string): void {\n if (!value || !this.custom || !this._graphLoaded) {\n return;\n }\n\n const { _servers=[], _customItems, _graphLoaded } = this;\n if (_graphLoaded) {\n return;\n }\n if (_servers.some(s => s.url === value)) {\n return;\n }\n if (_customItems.some(s => s.value === value)) {\n return;\n }\n this.value = value;\n this.type = 'custom';\n Events.Server.serverChange(this, value, this.type);\n }\n\n /**\n * Automatically selects one of available values.\n * \n * When the `preferred` is set it checks whether this value is on the servers list. If so this value is used.\n * If none match then it checks for custom servers and if they have this value then it is set.\n * \n * Otherwise it takes files value of servers or custom servers (when no servers) and sets this value instead.\n * \n * Caveats:\n * - it does nothing when `auto` is not set\n * - it does nothing when `type` is `custom`\n * - it won't set the \"first\" server or custom server value when the graph is being loaded.\n * \n * @param preferred The preferred value to be selected.\n */\n protected _autoSelect({ preferred, noCustom }: IAutoSelectOptions = {}): void {\n const { auto, type } = this;\n if (type === 'custom') {\n if (preferred) {\n const isCustom = this.isValueCustom(preferred);\n if (!isCustom) {\n this.type = undefined;\n } else {\n this.value = preferred;\n Events.Server.serverChange(this, preferred || '', this.type as ServerType);\n return;\n }\n } else {\n return;\n }\n }\n if (!auto) {\n return;\n }\n const { _servers=[], _customItems } = this;\n const srv = _servers.find(s => s.url === preferred);\n if (srv) {\n this.value = preferred;\n this.type = 'server';\n Events.Server.serverChange(this, preferred || '', this.type as ServerType);\n return;\n }\n const custom = _customItems.find(s => s.value === preferred);\n if (custom) {\n this.value = custom.value;\n this.type = 'extra';\n Events.Server.serverChange(this, custom.value, this.type as ServerType);\n return;\n }\n if (!this._graphLoaded) {\n // do not pre-select values before servers query ends.\n return;\n }\n\n // todo: if anything is wrong with auto-select and the custom values, remove these lines.\n if (this.custom && preferred && !noCustom) {\n this.value = preferred;\n this.type = 'custom';\n Events.Server.serverChange(this, preferred, this.type as ServerType);\n return;\n }\n\n const [firstServer] = _servers;\n if (firstServer) {\n this.value = firstServer.url;\n this.type = 'server';\n Events.Server.serverChange(this, firstServer.url, this.type as ServerType);\n return;\n }\n const [firstCustom] = _customItems;\n if (firstCustom) {\n this.value = firstCustom.value;\n this.type = 'extra';\n Events.Server.serverChange(this, firstCustom.value, this.type as ServerType);\n }\n }\n\n protected handleDropdownOpen(e: Event): void {\n const node = e.target as UiDropdownList;\n this.opened = node.open;\n }\n\n protected handleSelection(e: CustomEvent<UiDropdownListSelection>): void {\n e.preventDefault();\n const { _graphLoaded, _customItems } = this;\n if (!_graphLoaded) {\n return;\n }\n const { item } = e.detail;\n const { value } = item.dataset;\n if (!value) {\n return;\n }\n if (value === 'custom') {\n this.enableCustomUri();\n return;\n }\n const custom = _customItems.find(i => i.value === value);\n this.value = value;\n if (custom) {\n this.type = 'extra';\n } else {\n this.type = 'server';\n }\n Events.Server.serverChange(this, value, this.type);\n }\n\n protected handleSlot(e: Event): void {\n const slot = e.target as HTMLSlotElement;\n const elements = slot.assignedElements({ flatten: true });\n const servers: ICustomServer[] = [];\n elements.forEach((element, index) => {\n const value = element.getAttribute('data-value');\n if (!value) {\n return;\n }\n element.setAttribute('role', 'menuitem');\n servers.push({\n index,\n value,\n });\n });\n this._customItems = servers;\n this.notifyServersCount();\n }\n\n /**\n * Dispatches the `servers-count-changed` event with the current number of rendered servers.\n */\n protected notifyServersCount(): void {\n Events.Server.serverCountChange(this, this.serversCount);\n }\n\n protected handleCustomChange(e: Event): void {\n const { value } = e.target as Input;\n this.value = value;\n Events.Server.serverChange(this, this.value, this.type as ServerType);\n }\n\n /**\n * Resets current selection to a default value.\n */\n protected disabledCustomUri(): void {\n const { baseUri } = this;\n if (baseUri) {\n this.value = baseUri;\n this.type = 'custom';\n } else {\n this.value = '';\n this.type = 'server';\n }\n Events.Server.serverChange(this, '', this.type);\n this.opened = false;\n this._autoSelect();\n }\n\n protected async enableCustomUri(): Promise<void> {\n this.type = 'custom';\n this.value = '';\n this.opened = false;\n Events.Server.serverChange(this, this.value, this.type);\n await this.updateComplete;\n const { customInput } = this;\n customInput?.focus();\n }\n\n /**\n * Removes the currently rendered servers from the element.\n * This allow to programmatically manipulate the list of servers by removing all API related definitions.\n */\n removeServers(): void {\n this._servers = [];\n }\n\n override render(): TemplateResult {\n const { type } = this;\n const isCustom = type === 'custom';\n return html`\n ${isCustom ? this.renderCustomUriInput() : ''}\n ${this.renderSelector(isCustom)}\n `;\n }\n\n /**\n * @returns Template result for the custom input.\n */\n protected renderCustomUriInput(): TemplateResult {\n const { value = '', baseUri } = this;\n return html`\n <ui-text-field \n class=\"uri-input\"\n .value=\"${live(value)}\"\n label=\"API base URI\"\n type=\"url\"\n ?readOnly=\"${!!baseUri}\"\n @change=\"${this.handleCustomChange}\"\n @select=\"${EventUtils.cancelEvent}\"\n >\n <ui-icon-button \n slot=\"suffix\" \n aria-label=\"Activate to clear and close the input\" \n title=\"Clears and closes the input\" \n ?hidden=\"${!!baseUri}\" \n @click=\"${this.disabledCustomUri}\"\n >\n <ui-icon role=\"presentation\" icon=\"close\"></ui-icon>\n </ui-icon-button>\n </ui-text-field>\n `;\n }\n\n /**\n * @returns Template result for the drop down element.\n */\n protected renderSelector(hidden: boolean): TemplateResult {\n const { value, opened = false } = this;\n const finalValue = value === '' ? undefined : value;\n return html`\n <ui-dropdown-list\n class=\"api-server-dropdown\"\n closeOnOutsideClick\n matchTriggerWidth\n ?hidden=\"${hidden}\"\n .open=\"${opened}\"\n @open=\"${this.handleDropdownOpen}\"\n @select=\"${this.handleSelection}\"\n >\n <ui-text-field class=\"trigger\" label=\"Select server\" readOnly .value=\"${finalValue || ''}\" @select=\"${EventUtils.cancelEvent}\">\n <ui-icon icon=\"arrowDropDown\" role=\"presentation\" slot=\"suffix\"></ui-icon>\n </ui-text-field>\n <ui-list slot=\"dropdown\" role=\"menu\" selector=\"[data-value]\" selectActive>\n ${this.renderSelectorList()}\n </ui-list>\n </ui-dropdown-list>\n `;\n }\n\n /**\n * Call the render functions for\n * - Server options (from AMF Model)\n * - Custom URI option\n * - Extra slot\n * @returns The combination of all options\n */\n protected renderSelectorList(): TemplateResult {\n return html`\n ${this.renderServerList()}\n ${this.renderSlot()}\n ${this.renderCustomUri()}\n `;\n }\n\n /**\n * @returns The template for the custom URI list item.\n */\n protected renderCustomUri(): TemplateResult | typeof nothing {\n const { custom } = this;\n if (!custom) {\n return nothing;\n }\n return html`\n <ui-list-item role=\"menuitem\" data-value=\"custom\" class=\"custom-option\">Custom base URI</ui-list-item>\n `;\n }\n\n /**\n * @returns Template result for the drop down list options for current servers\n */\n protected renderServerList(): TemplateResult[] | typeof nothing {\n const { _servers } = this;\n if (!Array.isArray(_servers)) {\n return nothing;\n }\n return _servers.map(server => this.renderServerListItem(server));\n }\n\n /**\n * @param server The server definition\n * @returns The template for a server list item.\n */\n protected renderServerListItem(server: ApiDefinitions.IApiServer): TemplateResult {\n return html`\n <ui-list-item role=\"menuitem\" data-value=\"${server.url}\" data-item=\"server-dropdown-option\">${server.url}</ui-list-item>\n `;\n }\n\n protected renderSlot(): TemplateResult {\n return html`<slot name=\"custom-base-uri\" @slotchange=\"${this.handleSlot}\"></slot>`;\n }\n}\n"]}
@@ -19,44 +19,18 @@ import '../../define/highlight/marked-highlight.js';
19
19
  * the AMF graph model.
20
20
  */
21
21
  export default class ApiSummary extends ApiDocumentationBase {
22
- summaryValue;
23
22
  get summary() {
24
23
  return this.summaryValue;
25
24
  }
26
- serversValue;
27
25
  get servers() {
28
26
  return this.serversValue;
29
27
  }
30
- /**
31
- * A property to set to override AMF's model base URI information.
32
- * When this property is set, the `endpointUri` property is recalculated.
33
- * @attribute
34
- */
35
- baseUri;
36
- /**
37
- * API title header level in value range from 1 to 6.
38
- * This is made for accessibility. It the component is used in a context
39
- * where headers order matters then this property is to be set to
40
- * arrange headers in the right order.
41
- *
42
- * @default 2
43
- * @attribute
44
- */
45
- titleLevel;
46
- /**
47
- * A property to hide the table of contents list of endpoints.
48
- * @attribute
49
- */
50
- hideToc;
51
- protocols;
52
- endpointsValue;
53
28
  get endpoints() {
54
29
  if (this.endpointsValue) {
55
30
  return [...this.endpointsValue];
56
31
  }
57
32
  return undefined;
58
33
  }
59
- isAsyncValue;
60
34
  constructor() {
61
35
  super();
62
36
  this.titleLevel = 2;