@api-client/ui 0.0.13 → 0.0.15

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 (906) hide show
  1. package/_old/ApiFilesElement.ts +1 -1
  2. package/_old/AppSettingsMenuElement.ts +1 -1
  3. package/_old/FileMaps.ts +1 -1
  4. package/demo/amf/api-annotation.ts +1 -1
  5. package/demo/amf/api-console.ts +1 -1
  6. package/demo/amf/api-editor.ts +1 -1
  7. package/demo/amf/api-operation.ts +1 -1
  8. package/demo/amf/api-payload.ts +1 -1
  9. package/demo/amf/api-request.ts +1 -1
  10. package/demo/amf/api-resource.ts +1 -1
  11. package/demo/amf/api-schema-documentation.ts +1 -1
  12. package/demo/amf/bare-components.ts +1 -1
  13. package/demo/amf/lib/AmfDemoPage.ts +1 -1
  14. package/demo/amf/oauth-authorize.ts +1 -1
  15. package/demo/elements/authorization/api-key.ts +1 -1
  16. package/demo/elements/authorization/basic.ts +1 -1
  17. package/demo/elements/authorization/bearer.ts +1 -1
  18. package/demo/elements/authorization/cc.ts +1 -1
  19. package/demo/elements/authorization/ntlm.ts +1 -1
  20. package/demo/elements/authorization/oauth-authorize.ts +1 -1
  21. package/demo/elements/authorization/oauth2.ts +1 -1
  22. package/demo/elements/authorization/oidc.ts +1 -1
  23. package/demo/elements/environment/environment-editor.ts +1 -1
  24. package/demo/elements/environment/server-editor.ts +1 -1
  25. package/demo/elements/environment/variables-editor.ts +1 -1
  26. package/demo/elements/har/har-viewer.ts +1 -1
  27. package/demo/elements/http/body-editor.ts +1 -1
  28. package/demo/elements/http/headers.ts +1 -1
  29. package/demo/elements/http/http-assertions.ts +1 -1
  30. package/demo/elements/http/http-flows.ts +1 -1
  31. package/demo/elements/http/request-editor.ts +1 -1
  32. package/demo/elements/http/request-log.ts +1 -1
  33. package/demo/elements/http/url-editing.ts +1 -1
  34. package/demo/elements/project/project-run-report.ts +1 -1
  35. package/demo/elements/project/request-editor.ts +1 -1
  36. package/demo/elements/store/file-picker.ts +1 -1
  37. package/demo/elements/ui/list/list.ts +1 -1
  38. package/demo/layout/index.ts +1 -1
  39. package/demo/lib/DemoBindings.ts +1 -1
  40. package/demo/lib/amf/AmfPartialGraphStore.ts +1 -1
  41. package/demo/lib/amf/AmfPartialModel.ts +1 -1
  42. package/dist/amf/lib/AmfInputParser.d.ts +1 -1
  43. package/dist/amf/lib/AmfInputParser.d.ts.map +1 -1
  44. package/dist/amf/lib/AmfInputParser.js +1 -1
  45. package/dist/amf/lib/AmfInputParser.js.map +1 -1
  46. package/dist/amf/lib/AmfParameters.d.ts +1 -1
  47. package/dist/amf/lib/AmfParameters.d.ts.map +1 -1
  48. package/dist/amf/lib/AmfParameters.js +1 -1
  49. package/dist/amf/lib/AmfParameters.js.map +1 -1
  50. package/dist/amf/lib/AmfSecurity.d.ts +1 -1
  51. package/dist/amf/lib/AmfSecurity.d.ts.map +1 -1
  52. package/dist/amf/lib/AmfSecurity.js.map +1 -1
  53. package/dist/amf/lib/Oauth2RamlCustomData.d.ts +1 -1
  54. package/dist/amf/lib/Oauth2RamlCustomData.d.ts.map +1 -1
  55. package/dist/amf/lib/Oauth2RamlCustomData.js +1 -1
  56. package/dist/amf/lib/Oauth2RamlCustomData.js.map +1 -1
  57. package/dist/amf/lib/PayloadUtils.d.ts +1 -1
  58. package/dist/amf/lib/PayloadUtils.d.ts.map +1 -1
  59. package/dist/amf/lib/PayloadUtils.js +1 -1
  60. package/dist/amf/lib/PayloadUtils.js.map +1 -1
  61. package/dist/amf/lib/QueryParameterProcessor.d.ts +1 -1
  62. package/dist/amf/lib/QueryParameterProcessor.d.ts.map +1 -1
  63. package/dist/amf/lib/QueryParameterProcessor.js +1 -1
  64. package/dist/amf/lib/QueryParameterProcessor.js.map +1 -1
  65. package/dist/amf/lib/Utils.d.ts +1 -1
  66. package/dist/amf/lib/Utils.d.ts.map +1 -1
  67. package/dist/amf/lib/Utils.js +1 -1
  68. package/dist/amf/lib/Utils.js.map +1 -1
  69. package/dist/amf/store/AmfGraphStore.d.ts +1 -1
  70. package/dist/amf/store/AmfGraphStore.d.ts.map +1 -1
  71. package/dist/amf/store/AmfGraphStore.js +1 -1
  72. package/dist/amf/store/AmfGraphStore.js.map +1 -1
  73. package/dist/amf/store/AmfStore.d.ts +1 -1
  74. package/dist/amf/store/AmfStore.d.ts.map +1 -1
  75. package/dist/amf/store/AmfStore.js +1 -1
  76. package/dist/amf/store/AmfStore.js.map +1 -1
  77. package/dist/amf/store/InMemAmfGraphStore.d.ts +2 -2
  78. package/dist/amf/store/InMemAmfGraphStore.d.ts.map +1 -1
  79. package/dist/amf/store/InMemAmfGraphStore.js +1 -1
  80. package/dist/amf/store/InMemAmfGraphStore.js.map +1 -1
  81. package/dist/amf/types.d.ts +1 -1
  82. package/dist/amf/types.d.ts.map +1 -1
  83. package/dist/amf/types.js.map +1 -1
  84. package/dist/bindings/base/HttpClientStoreBindings.d.ts +1 -1
  85. package/dist/bindings/base/HttpClientStoreBindings.d.ts.map +1 -1
  86. package/dist/bindings/base/HttpClientStoreBindings.js.map +1 -1
  87. package/dist/bindings/base/IoThread.d.ts +1 -1
  88. package/dist/bindings/base/IoThread.d.ts.map +1 -1
  89. package/dist/bindings/base/IoThread.js +1 -1
  90. package/dist/bindings/base/IoThread.js.map +1 -1
  91. package/dist/bindings/base/PlatformBindings.d.ts +1 -1
  92. package/dist/bindings/base/PlatformBindings.d.ts.map +1 -1
  93. package/dist/bindings/base/PlatformBindings.js +1 -1
  94. package/dist/bindings/base/PlatformBindings.js.map +1 -1
  95. package/dist/bindings/base/ProxyBindings.d.ts +1 -1
  96. package/dist/bindings/base/ProxyBindings.d.ts.map +1 -1
  97. package/dist/bindings/base/ProxyBindings.js +1 -1
  98. package/dist/bindings/base/ProxyBindings.js.map +1 -1
  99. package/dist/bindings/base/StoreBindings.d.ts +1 -1
  100. package/dist/bindings/base/StoreBindings.d.ts.map +1 -1
  101. package/dist/bindings/base/StoreBindings.js +1 -1
  102. package/dist/bindings/base/StoreBindings.js.map +1 -1
  103. package/dist/bindings/web/WebConfigurationBindings.d.ts +1 -1
  104. package/dist/bindings/web/WebConfigurationBindings.d.ts.map +1 -1
  105. package/dist/bindings/web/WebConfigurationBindings.js.map +1 -1
  106. package/dist/bindings/web/WebFileBindings.js +1 -1
  107. package/dist/bindings/web/WebFileBindings.js.map +1 -1
  108. package/dist/bindings/web/WebHttpClientStoreBindings.d.ts +1 -1
  109. package/dist/bindings/web/WebHttpClientStoreBindings.d.ts.map +1 -1
  110. package/dist/bindings/web/WebHttpClientStoreBindings.js.map +1 -1
  111. package/dist/bindings/web/WebProxyBindings.d.ts +1 -1
  112. package/dist/bindings/web/WebProxyBindings.d.ts.map +1 -1
  113. package/dist/bindings/web/WebProxyBindings.js +1 -1
  114. package/dist/bindings/web/WebProxyBindings.js.map +1 -1
  115. package/dist/bindings/web/WebStoreBindings.d.ts +1 -1
  116. package/dist/bindings/web/WebStoreBindings.d.ts.map +1 -1
  117. package/dist/bindings/web/WebStoreBindings.js +1 -1
  118. package/dist/bindings/web/WebStoreBindings.js.map +1 -1
  119. package/dist/code-snippets/Bash/CurlSnippet.d.ts +1 -1
  120. package/dist/code-snippets/Bash/CurlSnippet.d.ts.map +1 -1
  121. package/dist/code-snippets/Bash/CurlSnippet.js.map +1 -1
  122. package/dist/code-snippets/C/CcurlSnippet.d.ts +1 -1
  123. package/dist/code-snippets/C/CcurlSnippet.d.ts.map +1 -1
  124. package/dist/code-snippets/C/CcurlSnippet.js.map +1 -1
  125. package/dist/code-snippets/CodeSnippet.d.ts +1 -1
  126. package/dist/code-snippets/CodeSnippet.d.ts.map +1 -1
  127. package/dist/code-snippets/CodeSnippet.js +1 -1
  128. package/dist/code-snippets/CodeSnippet.js.map +1 -1
  129. package/dist/code-snippets/Dart/DartSnippet.d.ts +1 -1
  130. package/dist/code-snippets/Dart/DartSnippet.d.ts.map +1 -1
  131. package/dist/code-snippets/Dart/DartSnippet.js.map +1 -1
  132. package/dist/code-snippets/HTTP/RawSnippet.d.ts +1 -1
  133. package/dist/code-snippets/HTTP/RawSnippet.d.ts.map +1 -1
  134. package/dist/code-snippets/HTTP/RawSnippet.js.map +1 -1
  135. package/dist/code-snippets/Java/PlatformSnippet.d.ts +1 -1
  136. package/dist/code-snippets/Java/PlatformSnippet.d.ts.map +1 -1
  137. package/dist/code-snippets/Java/PlatformSnippet.js.map +1 -1
  138. package/dist/code-snippets/Java/SpringSnippet.d.ts +1 -1
  139. package/dist/code-snippets/Java/SpringSnippet.d.ts.map +1 -1
  140. package/dist/code-snippets/Java/SpringSnippet.js.map +1 -1
  141. package/dist/code-snippets/JavaScript/AsyncFetchSnippet.d.ts +1 -1
  142. package/dist/code-snippets/JavaScript/AsyncFetchSnippet.d.ts.map +1 -1
  143. package/dist/code-snippets/JavaScript/AsyncFetchSnippet.js.map +1 -1
  144. package/dist/code-snippets/JavaScript/AxiosSnippet.d.ts +1 -1
  145. package/dist/code-snippets/JavaScript/AxiosSnippet.d.ts.map +1 -1
  146. package/dist/code-snippets/JavaScript/AxiosSnippet.js.map +1 -1
  147. package/dist/code-snippets/JavaScript/FetchSnippet.d.ts +1 -1
  148. package/dist/code-snippets/JavaScript/FetchSnippet.d.ts.map +1 -1
  149. package/dist/code-snippets/JavaScript/FetchSnippet.js.map +1 -1
  150. package/dist/code-snippets/JavaScript/NodeSnippet.d.ts +1 -1
  151. package/dist/code-snippets/JavaScript/NodeSnippet.d.ts.map +1 -1
  152. package/dist/code-snippets/JavaScript/NodeSnippet.js.map +1 -1
  153. package/dist/code-snippets/JavaScript/XhrSnippet.d.ts +1 -1
  154. package/dist/code-snippets/JavaScript/XhrSnippet.d.ts.map +1 -1
  155. package/dist/code-snippets/JavaScript/XhrSnippet.js.map +1 -1
  156. package/dist/code-snippets/JavaScript/jQuerySnippet.d.ts +1 -1
  157. package/dist/code-snippets/JavaScript/jQuerySnippet.d.ts.map +1 -1
  158. package/dist/code-snippets/JavaScript/jQuerySnippet.js.map +1 -1
  159. package/dist/code-snippets/Python/Python27Snippet.d.ts +1 -1
  160. package/dist/code-snippets/Python/Python27Snippet.d.ts.map +1 -1
  161. package/dist/code-snippets/Python/Python27Snippet.js.map +1 -1
  162. package/dist/code-snippets/Python/Python31Snippet.d.ts +1 -1
  163. package/dist/code-snippets/Python/Python31Snippet.d.ts.map +1 -1
  164. package/dist/code-snippets/Python/Python31Snippet.js.map +1 -1
  165. package/dist/code-snippets/Python/RequestsSnippet.d.ts +1 -1
  166. package/dist/code-snippets/Python/RequestsSnippet.d.ts.map +1 -1
  167. package/dist/code-snippets/Python/RequestsSnippet.js.map +1 -1
  168. package/dist/define/http/http-body-editor.d.ts.map +1 -1
  169. package/dist/define/http/http-body-editor.js +1 -1
  170. package/dist/define/http/http-body-editor.js.map +1 -1
  171. package/dist/elements/amf/ApiAnnotationDocument.element.d.ts +1 -1
  172. package/dist/elements/amf/ApiAnnotationDocument.element.d.ts.map +1 -1
  173. package/dist/elements/amf/ApiAnnotationDocument.element.js +1 -1
  174. package/dist/elements/amf/ApiAnnotationDocument.element.js.map +1 -1
  175. package/dist/elements/amf/ApiAuthorizationEditor.element.d.ts +1 -1
  176. package/dist/elements/amf/ApiAuthorizationEditor.element.d.ts.map +1 -1
  177. package/dist/elements/amf/ApiAuthorizationEditor.element.js.map +1 -1
  178. package/dist/elements/amf/ApiChannelDocument.element.d.ts +1 -1
  179. package/dist/elements/amf/ApiChannelDocument.element.d.ts.map +1 -1
  180. package/dist/elements/amf/ApiChannelDocument.element.js.map +1 -1
  181. package/dist/elements/amf/ApiDocumentation.element.d.ts +1 -1
  182. package/dist/elements/amf/ApiDocumentation.element.d.ts.map +1 -1
  183. package/dist/elements/amf/ApiDocumentation.element.js +1 -1
  184. package/dist/elements/amf/ApiDocumentation.element.js.map +1 -1
  185. package/dist/elements/amf/ApiDocumentationBase.d.ts +1 -1
  186. package/dist/elements/amf/ApiDocumentationBase.d.ts.map +1 -1
  187. package/dist/elements/amf/ApiDocumentationBase.js +1 -1
  188. package/dist/elements/amf/ApiDocumentationBase.js.map +1 -1
  189. package/dist/elements/amf/ApiDocumentationDocument.element.d.ts +1 -1
  190. package/dist/elements/amf/ApiDocumentationDocument.element.d.ts.map +1 -1
  191. package/dist/elements/amf/ApiDocumentationDocument.element.js.map +1 -1
  192. package/dist/elements/amf/ApiNavigation.element.d.ts +1 -1
  193. package/dist/elements/amf/ApiNavigation.element.d.ts.map +1 -1
  194. package/dist/elements/amf/ApiNavigation.element.js.map +1 -1
  195. package/dist/elements/amf/ApiOperationDocument.element.d.ts +1 -1
  196. package/dist/elements/amf/ApiOperationDocument.element.d.ts.map +1 -1
  197. package/dist/elements/amf/ApiOperationDocument.element.js +1 -1
  198. package/dist/elements/amf/ApiOperationDocument.element.js.map +1 -1
  199. package/dist/elements/amf/ApiParameterDocument.element.d.ts +1 -1
  200. package/dist/elements/amf/ApiParameterDocument.element.d.ts.map +1 -1
  201. package/dist/elements/amf/ApiParameterDocument.element.js.map +1 -1
  202. package/dist/elements/amf/ApiParametrizedSecurityScheme.element.d.ts +1 -1
  203. package/dist/elements/amf/ApiParametrizedSecurityScheme.element.d.ts.map +1 -1
  204. package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js +1 -1
  205. package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js.map +1 -1
  206. package/dist/elements/amf/ApiPayloadDocument.element.d.ts +1 -1
  207. package/dist/elements/amf/ApiPayloadDocument.element.d.ts.map +1 -1
  208. package/dist/elements/amf/ApiPayloadDocument.element.js.map +1 -1
  209. package/dist/elements/amf/ApiRequest.element.d.ts +1 -1
  210. package/dist/elements/amf/ApiRequest.element.d.ts.map +1 -1
  211. package/dist/elements/amf/ApiRequest.element.js.map +1 -1
  212. package/dist/elements/amf/ApiRequestDocument.element.d.ts +1 -1
  213. package/dist/elements/amf/ApiRequestDocument.element.d.ts.map +1 -1
  214. package/dist/elements/amf/ApiRequestDocument.element.js.map +1 -1
  215. package/dist/elements/amf/ApiRequestEditor.element.d.ts +1 -1
  216. package/dist/elements/amf/ApiRequestEditor.element.d.ts.map +1 -1
  217. package/dist/elements/amf/ApiRequestEditor.element.js +1 -1
  218. package/dist/elements/amf/ApiRequestEditor.element.js.map +1 -1
  219. package/dist/elements/amf/ApiResourceDocument.element.d.ts +1 -1
  220. package/dist/elements/amf/ApiResourceDocument.element.d.ts.map +1 -1
  221. package/dist/elements/amf/ApiResourceDocument.element.js +1 -1
  222. package/dist/elements/amf/ApiResourceDocument.element.js.map +1 -1
  223. package/dist/elements/amf/ApiResponseDocument.element.d.ts +1 -1
  224. package/dist/elements/amf/ApiResponseDocument.element.d.ts.map +1 -1
  225. package/dist/elements/amf/ApiResponseDocument.element.js.map +1 -1
  226. package/dist/elements/amf/ApiSchemaDocument.element.d.ts +1 -1
  227. package/dist/elements/amf/ApiSchemaDocument.element.d.ts.map +1 -1
  228. package/dist/elements/amf/ApiSchemaDocument.element.js +1 -1
  229. package/dist/elements/amf/ApiSchemaDocument.element.js.map +1 -1
  230. package/dist/elements/amf/ApiSecurityDocument.element.d.ts +1 -1
  231. package/dist/elements/amf/ApiSecurityDocument.element.d.ts.map +1 -1
  232. package/dist/elements/amf/ApiSecurityDocument.element.js +1 -1
  233. package/dist/elements/amf/ApiSecurityDocument.element.js.map +1 -1
  234. package/dist/elements/amf/ApiSecurityRequirementDocument.element.d.ts +1 -1
  235. package/dist/elements/amf/ApiSecurityRequirementDocument.element.d.ts.map +1 -1
  236. package/dist/elements/amf/ApiSecurityRequirementDocument.element.js.map +1 -1
  237. package/dist/elements/amf/ApiServerPicker.element.d.ts +1 -1
  238. package/dist/elements/amf/ApiServerPicker.element.d.ts.map +1 -1
  239. package/dist/elements/amf/ApiServerPicker.element.js +1 -1
  240. package/dist/elements/amf/ApiServerPicker.element.js.map +1 -1
  241. package/dist/elements/amf/ApiSummary.element.d.ts +1 -1
  242. package/dist/elements/amf/ApiSummary.element.d.ts.map +1 -1
  243. package/dist/elements/amf/ApiSummary.element.js +1 -1
  244. package/dist/elements/amf/ApiSummary.element.js.map +1 -1
  245. package/dist/elements/amf/SchemaCommonTemplates.d.ts +1 -1
  246. package/dist/elements/amf/SchemaCommonTemplates.d.ts.map +1 -1
  247. package/dist/elements/amf/SchemaCommonTemplates.js +1 -1
  248. package/dist/elements/amf/SchemaCommonTemplates.js.map +1 -1
  249. package/dist/elements/amf/authorization/AmfApiKey.d.ts +1 -1
  250. package/dist/elements/amf/authorization/AmfApiKey.d.ts.map +1 -1
  251. package/dist/elements/amf/authorization/AmfApiKey.js +1 -1
  252. package/dist/elements/amf/authorization/AmfApiKey.js.map +1 -1
  253. package/dist/elements/amf/authorization/AmfBasic.d.ts +1 -1
  254. package/dist/elements/amf/authorization/AmfBasic.d.ts.map +1 -1
  255. package/dist/elements/amf/authorization/AmfBasic.js +1 -1
  256. package/dist/elements/amf/authorization/AmfBasic.js.map +1 -1
  257. package/dist/elements/amf/authorization/AmfBearer.d.ts +1 -1
  258. package/dist/elements/amf/authorization/AmfBearer.d.ts.map +1 -1
  259. package/dist/elements/amf/authorization/AmfBearer.js +1 -1
  260. package/dist/elements/amf/authorization/AmfBearer.js.map +1 -1
  261. package/dist/elements/amf/authorization/AmfOauth2.d.ts +1 -1
  262. package/dist/elements/amf/authorization/AmfOauth2.d.ts.map +1 -1
  263. package/dist/elements/amf/authorization/AmfOauth2.js +1 -1
  264. package/dist/elements/amf/authorization/AmfOauth2.js.map +1 -1
  265. package/dist/elements/amf/authorization/AmfOidc.d.ts +1 -1
  266. package/dist/elements/amf/authorization/AmfOidc.d.ts.map +1 -1
  267. package/dist/elements/amf/authorization/AmfOidc.js +1 -1
  268. package/dist/elements/amf/authorization/AmfOidc.js.map +1 -1
  269. package/dist/elements/amf/authorization/AmfPassThrough.d.ts +1 -1
  270. package/dist/elements/amf/authorization/AmfPassThrough.d.ts.map +1 -1
  271. package/dist/elements/amf/authorization/AmfPassThrough.js +1 -1
  272. package/dist/elements/amf/authorization/AmfPassThrough.js.map +1 -1
  273. package/dist/elements/amf/authorization/AmfRamlCustom.d.ts +1 -1
  274. package/dist/elements/amf/authorization/AmfRamlCustom.d.ts.map +1 -1
  275. package/dist/elements/amf/authorization/AmfRamlCustom.js +1 -1
  276. package/dist/elements/amf/authorization/AmfRamlCustom.js.map +1 -1
  277. package/dist/elements/authorization/OAuth2Authorize.d.ts +1 -1
  278. package/dist/elements/authorization/OAuth2Authorize.d.ts.map +1 -1
  279. package/dist/elements/authorization/OAuth2Authorize.js +1 -1
  280. package/dist/elements/authorization/OAuth2Authorize.js.map +1 -1
  281. package/dist/elements/authorization/OidcAuthorize.d.ts +1 -1
  282. package/dist/elements/authorization/OidcAuthorize.d.ts.map +1 -1
  283. package/dist/elements/authorization/OidcAuthorize.js +1 -1
  284. package/dist/elements/authorization/OidcAuthorize.js.map +1 -1
  285. package/dist/elements/authorization/ui/ApiKeyAuthorization.d.ts +1 -1
  286. package/dist/elements/authorization/ui/ApiKeyAuthorization.d.ts.map +1 -1
  287. package/dist/elements/authorization/ui/ApiKeyAuthorization.js.map +1 -1
  288. package/dist/elements/authorization/ui/Authorization.d.ts +1 -1
  289. package/dist/elements/authorization/ui/Authorization.d.ts.map +1 -1
  290. package/dist/elements/authorization/ui/Authorization.js.map +1 -1
  291. package/dist/elements/authorization/ui/BasicAuthorization.d.ts +1 -1
  292. package/dist/elements/authorization/ui/BasicAuthorization.d.ts.map +1 -1
  293. package/dist/elements/authorization/ui/BasicAuthorization.js.map +1 -1
  294. package/dist/elements/authorization/ui/BearerAuthorization.d.ts +1 -1
  295. package/dist/elements/authorization/ui/BearerAuthorization.d.ts.map +1 -1
  296. package/dist/elements/authorization/ui/BearerAuthorization.js.map +1 -1
  297. package/dist/elements/authorization/ui/CcAuthorization.d.ts +1 -1
  298. package/dist/elements/authorization/ui/CcAuthorization.d.ts.map +1 -1
  299. package/dist/elements/authorization/ui/CcAuthorization.js +1 -1
  300. package/dist/elements/authorization/ui/CcAuthorization.js.map +1 -1
  301. package/dist/elements/authorization/ui/NtlmAuthorization.d.ts +1 -1
  302. package/dist/elements/authorization/ui/NtlmAuthorization.d.ts.map +1 -1
  303. package/dist/elements/authorization/ui/NtlmAuthorization.js.map +1 -1
  304. package/dist/elements/authorization/ui/OAuth2Authorization.d.ts +1 -1
  305. package/dist/elements/authorization/ui/OAuth2Authorization.d.ts.map +1 -1
  306. package/dist/elements/authorization/ui/OAuth2Authorization.js +1 -1
  307. package/dist/elements/authorization/ui/OAuth2Authorization.js.map +1 -1
  308. package/dist/elements/authorization/ui/OidcAuthorization.d.ts +1 -1
  309. package/dist/elements/authorization/ui/OidcAuthorization.d.ts.map +1 -1
  310. package/dist/elements/authorization/ui/OidcAuthorization.js +1 -1
  311. package/dist/elements/authorization/ui/OidcAuthorization.js.map +1 -1
  312. package/dist/elements/code/HttpSnippets.d.ts +1 -1
  313. package/dist/elements/code/HttpSnippets.d.ts.map +1 -1
  314. package/dist/elements/code/HttpSnippets.js.map +1 -1
  315. package/dist/elements/dialog/DeleteCookieAction.element.d.ts +1 -1
  316. package/dist/elements/dialog/DeleteCookieAction.element.d.ts.map +1 -1
  317. package/dist/elements/dialog/DeleteCookieAction.element.js +1 -1
  318. package/dist/elements/dialog/DeleteCookieAction.element.js.map +1 -1
  319. package/dist/elements/dialog/SetCookieAction.element.d.ts +1 -1
  320. package/dist/elements/dialog/SetCookieAction.element.d.ts.map +1 -1
  321. package/dist/elements/dialog/SetCookieAction.element.js +1 -1
  322. package/dist/elements/dialog/SetCookieAction.element.js.map +1 -1
  323. package/dist/elements/environment/EnvironmentEditor.d.ts +1 -1
  324. package/dist/elements/environment/EnvironmentEditor.d.ts.map +1 -1
  325. package/dist/elements/environment/EnvironmentEditor.js +1 -1
  326. package/dist/elements/environment/EnvironmentEditor.js.map +1 -1
  327. package/dist/elements/environment/ServerEditor.d.ts +1 -1
  328. package/dist/elements/environment/ServerEditor.d.ts.map +1 -1
  329. package/dist/elements/environment/ServerEditor.js +1 -1
  330. package/dist/elements/environment/ServerEditor.js.map +1 -1
  331. package/dist/elements/environment/VariablesEditor.d.ts +1 -1
  332. package/dist/elements/environment/VariablesEditor.d.ts.map +1 -1
  333. package/dist/elements/environment/VariablesEditor.js +1 -1
  334. package/dist/elements/environment/VariablesEditor.js.map +1 -1
  335. package/dist/elements/har/HarViewer.js +1 -1
  336. package/dist/elements/har/HarViewer.js.map +1 -1
  337. package/dist/elements/http/BodyEditor.d.ts +1 -1
  338. package/dist/elements/http/BodyEditor.d.ts.map +1 -1
  339. package/dist/elements/http/BodyEditor.js +6 -6
  340. package/dist/elements/http/BodyEditor.js.map +1 -1
  341. package/dist/elements/http/BodyEditor.styles.d.ts +1 -1
  342. package/dist/elements/http/BodyEditor.styles.d.ts.map +1 -1
  343. package/dist/elements/http/BodyEditor.styles.js +5 -19
  344. package/dist/elements/http/BodyEditor.styles.js.map +1 -1
  345. package/dist/elements/http/BodyMultipartEditor.d.ts +1 -1
  346. package/dist/elements/http/BodyMultipartEditor.d.ts.map +1 -1
  347. package/dist/elements/http/BodyMultipartEditor.js +1 -1
  348. package/dist/elements/http/BodyMultipartEditor.js.map +1 -1
  349. package/dist/elements/http/BodyUrlEncodedEditor.d.ts +1 -1
  350. package/dist/elements/http/BodyUrlEncodedEditor.d.ts.map +1 -1
  351. package/dist/elements/http/BodyUrlEncodedEditor.js +1 -1
  352. package/dist/elements/http/BodyUrlEncodedEditor.js.map +1 -1
  353. package/dist/elements/http/CertificateAdd.element.d.ts +1 -1
  354. package/dist/elements/http/CertificateAdd.element.d.ts.map +1 -1
  355. package/dist/elements/http/CertificateAdd.element.js +1 -1
  356. package/dist/elements/http/CertificateAdd.element.js.map +1 -1
  357. package/dist/elements/http/HeadersForm.d.ts +1 -1
  358. package/dist/elements/http/HeadersForm.d.ts.map +1 -1
  359. package/dist/elements/http/HeadersForm.js +1 -1
  360. package/dist/elements/http/HeadersForm.js.map +1 -1
  361. package/dist/elements/http/HttpAssertions.element.d.ts +1 -1
  362. package/dist/elements/http/HttpAssertions.element.d.ts.map +1 -1
  363. package/dist/elements/http/HttpAssertions.element.js.map +1 -1
  364. package/dist/elements/http/HttpFlows.element.d.ts +1 -1
  365. package/dist/elements/http/HttpFlows.element.d.ts.map +1 -1
  366. package/dist/elements/http/HttpFlows.element.js.map +1 -1
  367. package/dist/elements/http/HttpFlowsUi.d.ts +1 -1
  368. package/dist/elements/http/HttpFlowsUi.d.ts.map +1 -1
  369. package/dist/elements/http/HttpFlowsUi.js +1 -1
  370. package/dist/elements/http/HttpFlowsUi.js.map +1 -1
  371. package/dist/elements/http/LogBody.d.ts +1 -1
  372. package/dist/elements/http/LogBody.d.ts.map +1 -1
  373. package/dist/elements/http/LogBody.js +1 -1
  374. package/dist/elements/http/LogBody.js.map +1 -1
  375. package/dist/elements/http/LogHeaders.d.ts +1 -1
  376. package/dist/elements/http/LogHeaders.d.ts.map +1 -1
  377. package/dist/elements/http/LogHeaders.js +1 -1
  378. package/dist/elements/http/LogHeaders.js.map +1 -1
  379. package/dist/elements/http/LogTimings.d.ts +1 -1
  380. package/dist/elements/http/LogTimings.d.ts.map +1 -1
  381. package/dist/elements/http/LogTimings.js.map +1 -1
  382. package/dist/elements/http/RequestAuth.template.d.ts +1 -1
  383. package/dist/elements/http/RequestAuth.template.d.ts.map +1 -1
  384. package/dist/elements/http/RequestAuth.template.js.map +1 -1
  385. package/dist/elements/http/RequestConfigElement.d.ts +1 -1
  386. package/dist/elements/http/RequestConfigElement.d.ts.map +1 -1
  387. package/dist/elements/http/RequestConfigElement.js +1 -1
  388. package/dist/elements/http/RequestConfigElement.js.map +1 -1
  389. package/dist/elements/http/RequestEditor.d.ts +2 -2
  390. package/dist/elements/http/RequestEditor.d.ts.map +1 -1
  391. package/dist/elements/http/RequestEditor.js +1 -1
  392. package/dist/elements/http/RequestEditor.js.map +1 -1
  393. package/dist/elements/http/RequestLog.d.ts +1 -1
  394. package/dist/elements/http/RequestLog.d.ts.map +1 -1
  395. package/dist/elements/http/RequestLog.js +1 -1
  396. package/dist/elements/http/RequestLog.js.map +1 -1
  397. package/dist/elements/http/UrlEncodeUtils.d.ts +1 -1
  398. package/dist/elements/http/UrlEncodeUtils.d.ts.map +1 -1
  399. package/dist/elements/http/UrlEncodeUtils.js +1 -1
  400. package/dist/elements/http/UrlEncodeUtils.js.map +1 -1
  401. package/dist/elements/http/UrlInput.d.ts +1 -1
  402. package/dist/elements/http/UrlInput.d.ts.map +1 -1
  403. package/dist/elements/http/UrlInput.js.map +1 -1
  404. package/dist/elements/http/UrlParamsForm.d.ts +1 -1
  405. package/dist/elements/http/UrlParamsForm.d.ts.map +1 -1
  406. package/dist/elements/http/UrlParamsForm.js +1 -1
  407. package/dist/elements/http/UrlParamsForm.js.map +1 -1
  408. package/dist/elements/layout/SplitPanel.js +1 -1
  409. package/dist/elements/layout/SplitPanel.js.map +1 -1
  410. package/dist/elements/navigation/AppNavigationElement.js +1 -1
  411. package/dist/elements/navigation/AppNavigationElement.js.map +1 -1
  412. package/dist/elements/project/HttpProjectRequest.d.ts +2 -2
  413. package/dist/elements/project/HttpProjectRequest.d.ts.map +1 -1
  414. package/dist/elements/project/HttpProjectRequest.js +1 -1
  415. package/dist/elements/project/HttpProjectRequest.js.map +1 -1
  416. package/dist/elements/project/HttpProjectRequestHistory.d.ts +1 -1
  417. package/dist/elements/project/HttpProjectRequestHistory.d.ts.map +1 -1
  418. package/dist/elements/project/HttpProjectRequestHistory.js +1 -1
  419. package/dist/elements/project/HttpProjectRequestHistory.js.map +1 -1
  420. package/dist/elements/project/ProjectNavigation.d.ts +1 -1
  421. package/dist/elements/project/ProjectNavigation.d.ts.map +1 -1
  422. package/dist/elements/project/ProjectNavigation.js +1 -1
  423. package/dist/elements/project/ProjectNavigation.js.map +1 -1
  424. package/dist/elements/project/ProjectRunReport.d.ts +1 -1
  425. package/dist/elements/project/ProjectRunReport.d.ts.map +1 -1
  426. package/dist/elements/project/ProjectRunReport.js +1 -1
  427. package/dist/elements/project/ProjectRunReport.js.map +1 -1
  428. package/dist/elements/project/ProjectRunner.d.ts +1 -1
  429. package/dist/elements/project/ProjectRunner.d.ts.map +1 -1
  430. package/dist/elements/project/ProjectRunner.js +1 -1
  431. package/dist/elements/project/ProjectRunner.js.map +1 -1
  432. package/dist/elements/project/ProjectRunnerNavigationElement.d.ts +1 -1
  433. package/dist/elements/project/ProjectRunnerNavigationElement.d.ts.map +1 -1
  434. package/dist/elements/project/ProjectRunnerNavigationElement.js +1 -1
  435. package/dist/elements/project/ProjectRunnerNavigationElement.js.map +1 -1
  436. package/dist/elements/schema-design/AssociationFormElement.d.ts +1 -1
  437. package/dist/elements/schema-design/AssociationFormElement.d.ts.map +1 -1
  438. package/dist/elements/schema-design/AssociationFormElement.js +1 -1
  439. package/dist/elements/schema-design/AssociationFormElement.js.map +1 -1
  440. package/dist/elements/schema-design/DataEntityEditorElement.d.ts +1 -1
  441. package/dist/elements/schema-design/DataEntityEditorElement.d.ts.map +1 -1
  442. package/dist/elements/schema-design/DataEntityEditorElement.js +1 -1
  443. package/dist/elements/schema-design/DataEntityEditorElement.js.map +1 -1
  444. package/dist/elements/schema-design/DataModelVisualizationElement.d.ts +1 -1
  445. package/dist/elements/schema-design/DataModelVisualizationElement.d.ts.map +1 -1
  446. package/dist/elements/schema-design/DataModelVisualizationElement.js.map +1 -1
  447. package/dist/elements/schema-design/DataSchemaDocument.d.ts +1 -1
  448. package/dist/elements/schema-design/DataSchemaDocument.d.ts.map +1 -1
  449. package/dist/elements/schema-design/DataSchemaDocument.js +1 -1
  450. package/dist/elements/schema-design/DataSchemaDocument.js.map +1 -1
  451. package/dist/elements/schema-design/EntityFormElement.d.ts +1 -1
  452. package/dist/elements/schema-design/EntityFormElement.d.ts.map +1 -1
  453. package/dist/elements/schema-design/EntityFormElement.js +1 -1
  454. package/dist/elements/schema-design/EntityFormElement.js.map +1 -1
  455. package/dist/elements/schema-design/PropertyFormElement.d.ts +1 -1
  456. package/dist/elements/schema-design/PropertyFormElement.d.ts.map +1 -1
  457. package/dist/elements/schema-design/PropertyFormElement.js +1 -1
  458. package/dist/elements/schema-design/PropertyFormElement.js.map +1 -1
  459. package/dist/elements/schema-design/SchemaDesignNavigation.d.ts +1 -1
  460. package/dist/elements/schema-design/SchemaDesignNavigation.d.ts.map +1 -1
  461. package/dist/elements/schema-design/SchemaDesignNavigation.js +1 -1
  462. package/dist/elements/schema-design/SchemaDesignNavigation.js.map +1 -1
  463. package/dist/elements/schema-design/SchemaNamespaceSelector.d.ts +1 -1
  464. package/dist/elements/schema-design/SchemaNamespaceSelector.d.ts.map +1 -1
  465. package/dist/elements/schema-design/SchemaNamespaceSelector.js +1 -1
  466. package/dist/elements/schema-design/SchemaNamespaceSelector.js.map +1 -1
  467. package/dist/elements/store/FilePicker.element.d.ts +1 -1
  468. package/dist/elements/store/FilePicker.element.d.ts.map +1 -1
  469. package/dist/elements/store/FilePicker.element.js +1 -1
  470. package/dist/elements/store/FilePicker.element.js.map +1 -1
  471. package/dist/elements/store/FilesLib.d.ts +2 -2
  472. package/dist/elements/store/FilesLib.d.ts.map +1 -1
  473. package/dist/elements/store/FilesLib.js +1 -1
  474. package/dist/elements/store/FilesLib.js.map +1 -1
  475. package/dist/elements/store/ShareFile.element.d.ts +1 -1
  476. package/dist/elements/store/ShareFile.element.d.ts.map +1 -1
  477. package/dist/elements/store/ShareFile.element.js +1 -1
  478. package/dist/elements/store/ShareFile.element.js.map +1 -1
  479. package/dist/elements/user/UserAvatarElement.d.ts +1 -1
  480. package/dist/elements/user/UserAvatarElement.d.ts.map +1 -1
  481. package/dist/elements/user/UserAvatarElement.js.map +1 -1
  482. package/dist/events/BroadcastUiEvents.d.ts +1 -1
  483. package/dist/events/BroadcastUiEvents.d.ts.map +1 -1
  484. package/dist/events/BroadcastUiEvents.js.map +1 -1
  485. package/dist/events/Events.d.ts +30 -30
  486. package/dist/events/HttpClientEvents.d.ts +1 -1
  487. package/dist/events/HttpClientEvents.d.ts.map +1 -1
  488. package/dist/events/HttpClientEvents.js +1 -1
  489. package/dist/events/HttpClientEvents.js.map +1 -1
  490. package/dist/events/HttpProjectEvents.d.ts +1 -1
  491. package/dist/events/HttpProjectEvents.d.ts.map +1 -1
  492. package/dist/events/HttpProjectEvents.js +1 -1
  493. package/dist/events/HttpProjectEvents.js.map +1 -1
  494. package/dist/events/StoreEvents.d.ts +1 -1
  495. package/dist/events/StoreEvents.d.ts.map +1 -1
  496. package/dist/events/StoreEvents.js +1 -1
  497. package/dist/events/StoreEvents.js.map +1 -1
  498. package/dist/events/amf/ApiEvents.d.ts +1 -1
  499. package/dist/events/amf/ApiEvents.d.ts.map +1 -1
  500. package/dist/events/amf/ApiEvents.js.map +1 -1
  501. package/dist/events/amf/DocumentationEvents.d.ts +1 -1
  502. package/dist/events/amf/DocumentationEvents.d.ts.map +1 -1
  503. package/dist/events/amf/DocumentationEvents.js.map +1 -1
  504. package/dist/events/amf/EndpointEvents.d.ts +1 -1
  505. package/dist/events/amf/EndpointEvents.d.ts.map +1 -1
  506. package/dist/events/amf/EndpointEvents.js.map +1 -1
  507. package/dist/events/amf/Events.d.ts +17 -17
  508. package/dist/events/amf/OperationEvents.d.ts +1 -1
  509. package/dist/events/amf/OperationEvents.d.ts.map +1 -1
  510. package/dist/events/amf/OperationEvents.js.map +1 -1
  511. package/dist/events/amf/PayloadEvents.d.ts +1 -1
  512. package/dist/events/amf/PayloadEvents.d.ts.map +1 -1
  513. package/dist/events/amf/PayloadEvents.js.map +1 -1
  514. package/dist/events/amf/RequestEvents.d.ts +1 -1
  515. package/dist/events/amf/RequestEvents.d.ts.map +1 -1
  516. package/dist/events/amf/RequestEvents.js.map +1 -1
  517. package/dist/events/amf/ResponseEvents.d.ts +1 -1
  518. package/dist/events/amf/ResponseEvents.d.ts.map +1 -1
  519. package/dist/events/amf/ResponseEvents.js.map +1 -1
  520. package/dist/events/amf/SecurityEvents.d.ts +1 -1
  521. package/dist/events/amf/SecurityEvents.d.ts.map +1 -1
  522. package/dist/events/amf/SecurityEvents.js.map +1 -1
  523. package/dist/events/amf/ServerEvents.d.ts +1 -1
  524. package/dist/events/amf/ServerEvents.d.ts.map +1 -1
  525. package/dist/events/amf/ServerEvents.js.map +1 -1
  526. package/dist/events/amf/TypeEvents.d.ts +1 -1
  527. package/dist/events/amf/TypeEvents.d.ts.map +1 -1
  528. package/dist/events/amf/TypeEvents.js.map +1 -1
  529. package/dist/http-client/idb/Arc18DataUpgrade.js +1 -1
  530. package/dist/http-client/idb/Arc18DataUpgrade.js.map +1 -1
  531. package/dist/http-client/idb/Base.d.ts +1 -1
  532. package/dist/http-client/idb/Base.d.ts.map +1 -1
  533. package/dist/http-client/idb/Base.js +1 -1
  534. package/dist/http-client/idb/Base.js.map +1 -1
  535. package/dist/http-client/idb/LegacyBodyProcessor.d.ts +1 -1
  536. package/dist/http-client/idb/LegacyBodyProcessor.d.ts.map +1 -1
  537. package/dist/http-client/idb/LegacyBodyProcessor.js.map +1 -1
  538. package/dist/http-client/idb/MockedStore.d.ts +1 -1
  539. package/dist/http-client/idb/MockedStore.d.ts.map +1 -1
  540. package/dist/http-client/idb/MockedStore.js +1 -1
  541. package/dist/http-client/idb/MockedStore.js.map +1 -1
  542. package/dist/http-client/store/Cursor.js +3 -3
  543. package/dist/http-client/store/Cursor.js.map +1 -1
  544. package/dist/http-client/store/DataImportProcessor.d.ts +2 -2
  545. package/dist/http-client/store/DataImportProcessor.d.ts.map +1 -1
  546. package/dist/http-client/store/DataImportProcessor.js +2 -2
  547. package/dist/http-client/store/DataImportProcessor.js.map +1 -1
  548. package/dist/http-client/store/HttpClientIdbDatabase.d.ts +1 -1
  549. package/dist/http-client/store/HttpClientIdbDatabase.d.ts.map +1 -1
  550. package/dist/http-client/store/HttpClientIdbDatabase.js +2 -6
  551. package/dist/http-client/store/HttpClientIdbDatabase.js.map +1 -1
  552. package/dist/http-client/store/IdbThread.d.ts +1 -1
  553. package/dist/http-client/store/IdbThread.d.ts.map +1 -1
  554. package/dist/http-client/store/IdbThread.js.map +1 -1
  555. package/dist/http-client/store/State.d.ts +1 -3
  556. package/dist/http-client/store/State.d.ts.map +1 -1
  557. package/dist/http-client/store/State.js.map +1 -1
  558. package/dist/http-client/store/idb/IdbProjectUi.d.ts +1 -1
  559. package/dist/http-client/store/idb/IdbProjectUi.d.ts.map +1 -1
  560. package/dist/http-client/store/idb/IdbProjectUi.js +1 -1
  561. package/dist/http-client/store/idb/IdbProjectUi.js.map +1 -1
  562. package/dist/http-client/store/idb/IdbStore.d.ts +1 -10
  563. package/dist/http-client/store/idb/IdbStore.d.ts.map +1 -1
  564. package/dist/http-client/store/idb/IdbStore.js +0 -48
  565. package/dist/http-client/store/idb/IdbStore.js.map +1 -1
  566. package/dist/http-client/store/idb/IdbUrlHistory.d.ts +1 -1
  567. package/dist/http-client/store/idb/IdbUrlHistory.d.ts.map +1 -1
  568. package/dist/http-client/store/idb/IdbUrlHistory.js.map +1 -1
  569. package/dist/http-client/store/idb/IdbWsHistory.d.ts +1 -1
  570. package/dist/http-client/store/idb/IdbWsHistory.d.ts.map +1 -1
  571. package/dist/http-client/store/idb/IdbWsHistory.js.map +1 -1
  572. package/dist/http-client/store/stores/ProjectUi.d.ts +1 -1
  573. package/dist/http-client/store/stores/ProjectUi.d.ts.map +1 -1
  574. package/dist/http-client/store/stores/ProjectUi.js.map +1 -1
  575. package/dist/http-client/store/stores/UrlHistory.d.ts +1 -1
  576. package/dist/http-client/store/stores/UrlHistory.d.ts.map +1 -1
  577. package/dist/http-client/store/stores/UrlHistory.js.map +1 -1
  578. package/dist/http-client/store/stores/WsHistory.d.ts +1 -1
  579. package/dist/http-client/store/stores/WsHistory.d.ts.map +1 -1
  580. package/dist/http-client/store/stores/WsHistory.js.map +1 -1
  581. package/dist/http-client/store/types.d.ts +2 -56
  582. package/dist/http-client/store/types.d.ts.map +1 -1
  583. package/dist/http-client/store/types.js.map +1 -1
  584. package/dist/index.d.ts +1 -0
  585. package/dist/index.d.ts.map +1 -1
  586. package/dist/index.js +2 -0
  587. package/dist/index.js.map +1 -1
  588. package/dist/lib/chart/HttpHistoryChart.d.ts +1 -1
  589. package/dist/lib/chart/HttpHistoryChart.d.ts.map +1 -1
  590. package/dist/lib/chart/HttpHistoryChart.js +1 -1
  591. package/dist/lib/chart/HttpHistoryChart.js.map +1 -1
  592. package/dist/lib/http/Har.d.ts +1 -1
  593. package/dist/lib/http/Har.d.ts.map +1 -1
  594. package/dist/lib/http/Har.js.map +1 -1
  595. package/dist/lib/http/HeadersArray.js +1 -1
  596. package/dist/lib/http/HeadersArray.js.map +1 -1
  597. package/dist/lib/http/Payload.d.ts +1 -1
  598. package/dist/lib/http/Payload.d.ts.map +1 -1
  599. package/dist/lib/http/Payload.js.map +1 -1
  600. package/dist/lib/http/Url.d.ts +1 -1
  601. package/dist/lib/http/Url.d.ts.map +1 -1
  602. package/dist/lib/http/Url.js.map +1 -1
  603. package/dist/pages/ApplicationScreen.d.ts +1 -1
  604. package/dist/pages/ApplicationScreen.d.ts.map +1 -1
  605. package/dist/pages/ApplicationScreen.js +1 -1
  606. package/dist/pages/ApplicationScreen.js.map +1 -1
  607. package/dist/pages/api-client/ApiClient.screen.d.ts +5 -5
  608. package/dist/pages/api-client/ApiClient.screen.d.ts.map +1 -1
  609. package/dist/pages/api-client/ApiClient.screen.js +3 -3
  610. package/dist/pages/api-client/ApiClient.screen.js.map +1 -1
  611. package/dist/pages/api-client/AppInfo.d.ts +1 -1
  612. package/dist/pages/api-client/AppInfo.d.ts.map +1 -1
  613. package/dist/pages/api-client/AppInfo.js.map +1 -1
  614. package/dist/pages/api-client/StoreConfig.screen.js +1 -1
  615. package/dist/pages/api-client/StoreConfig.screen.js.map +1 -1
  616. package/dist/pages/api-client/pages/Files.page.d.ts +1 -1
  617. package/dist/pages/api-client/pages/Files.page.d.ts.map +1 -1
  618. package/dist/pages/api-client/pages/Files.page.js +1 -1
  619. package/dist/pages/api-client/pages/Files.page.js.map +1 -1
  620. package/dist/pages/api-client/pages/Shared.page.d.ts +1 -1
  621. package/dist/pages/api-client/pages/Shared.page.d.ts.map +1 -1
  622. package/dist/pages/api-client/pages/Shared.page.js.map +1 -1
  623. package/dist/pages/api-client/pages/Trash.page.d.ts +1 -1
  624. package/dist/pages/api-client/pages/Trash.page.d.ts.map +1 -1
  625. package/dist/pages/api-client/pages/Trash.page.js +3 -11
  626. package/dist/pages/api-client/pages/Trash.page.js.map +1 -1
  627. package/dist/pages/http-project/AppInfo.d.ts +1 -1
  628. package/dist/pages/http-project/AppInfo.d.ts.map +1 -1
  629. package/dist/pages/http-project/AppInfo.js.map +1 -1
  630. package/dist/pages/http-project/HttpClientCommands.js +1 -1
  631. package/dist/pages/http-project/HttpClientCommands.js.map +1 -1
  632. package/dist/pages/http-project/HttpProject.screen.d.ts +1 -1
  633. package/dist/pages/http-project/HttpProject.screen.d.ts.map +1 -1
  634. package/dist/pages/http-project/HttpProject.screen.js +1 -1
  635. package/dist/pages/http-project/HttpProject.screen.js.map +1 -1
  636. package/dist/pages/http-project/types.d.ts +1 -1
  637. package/dist/pages/http-project/types.d.ts.map +1 -1
  638. package/dist/pages/http-project/types.js.map +1 -1
  639. package/dist/pages/schema-design/AppInfo.d.ts +1 -1
  640. package/dist/pages/schema-design/AppInfo.d.ts.map +1 -1
  641. package/dist/pages/schema-design/AppInfo.js.map +1 -1
  642. package/dist/pages/schema-design/SchemaDesigner.screen.d.ts +1 -1
  643. package/dist/pages/schema-design/SchemaDesigner.screen.d.ts.map +1 -1
  644. package/dist/pages/schema-design/SchemaDesigner.screen.js +1 -1
  645. package/dist/pages/schema-design/SchemaDesigner.screen.js.map +1 -1
  646. package/dist/pages/schema-design/SchemaDesignerCommands.d.ts +1 -1
  647. package/dist/pages/schema-design/SchemaDesignerCommands.d.ts.map +1 -1
  648. package/dist/pages/schema-design/SchemaDesignerCommands.js +1 -1
  649. package/dist/pages/schema-design/SchemaDesignerCommands.js.map +1 -1
  650. package/dist/store/FileSystem.d.ts +1 -1
  651. package/dist/store/FileSystem.d.ts.map +1 -1
  652. package/dist/store/FileSystem.js.map +1 -1
  653. package/dist/store/HttpStore.d.ts +1 -1
  654. package/dist/store/HttpStore.d.ts.map +1 -1
  655. package/dist/store/HttpStore.js +1 -1
  656. package/dist/store/HttpStore.js.map +1 -1
  657. package/dist/store/UserCache.d.ts +1 -1
  658. package/dist/store/UserCache.d.ts.map +1 -1
  659. package/dist/store/UserCache.js.map +1 -1
  660. package/dist/ui/chip/UiChip.js +1 -1
  661. package/dist/ui/chip/UiChip.js.map +1 -1
  662. package/dist/ui/list/UiDropdownList.js +1 -1
  663. package/dist/ui/list/UiDropdownList.js.map +1 -1
  664. package/dist/ui/notification/Snackbar.js +1 -1
  665. package/dist/ui/notification/Snackbar.js.map +1 -1
  666. package/dist/visualization/plugin/positioning/DataModelLayout.d.ts +1 -1
  667. package/dist/visualization/plugin/positioning/DataModelLayout.d.ts.map +1 -1
  668. package/dist/visualization/plugin/positioning/DataModelLayout.js.map +1 -1
  669. package/package.json +4 -4
  670. package/src/amf/lib/AmfInputParser.ts +1 -1
  671. package/src/amf/lib/AmfParameters.ts +1 -1
  672. package/src/amf/lib/AmfSecurity.ts +1 -1
  673. package/src/amf/lib/Oauth2RamlCustomData.ts +1 -1
  674. package/src/amf/lib/PayloadUtils.ts +1 -1
  675. package/src/amf/lib/QueryParameterProcessor.ts +1 -1
  676. package/src/amf/lib/Utils.ts +1 -1
  677. package/src/amf/store/AmfGraphStore.ts +1 -1
  678. package/src/amf/store/AmfStore.ts +1 -1
  679. package/src/amf/store/InMemAmfGraphStore.ts +1 -1
  680. package/src/amf/types.ts +1 -1
  681. package/src/bindings/base/HttpClientStoreBindings.ts +1 -1
  682. package/src/bindings/base/IoThread.ts +1 -1
  683. package/src/bindings/base/PlatformBindings.ts +1 -1
  684. package/src/bindings/base/ProxyBindings.ts +1 -1
  685. package/src/bindings/base/StoreBindings.ts +1 -1
  686. package/src/bindings/web/WebConfigurationBindings.ts +1 -1
  687. package/src/bindings/web/WebFileBindings.ts +1 -1
  688. package/src/bindings/web/WebHttpClientStoreBindings.ts +1 -1
  689. package/src/bindings/web/WebProxyBindings.ts +1 -1
  690. package/src/bindings/web/WebStoreBindings.ts +1 -1
  691. package/src/code-snippets/Bash/CurlSnippet.ts +1 -1
  692. package/src/code-snippets/C/CcurlSnippet.ts +1 -1
  693. package/src/code-snippets/CodeSnippet.ts +1 -1
  694. package/src/code-snippets/Dart/DartSnippet.ts +1 -1
  695. package/src/code-snippets/HTTP/RawSnippet.ts +1 -1
  696. package/src/code-snippets/Java/PlatformSnippet.ts +1 -1
  697. package/src/code-snippets/Java/SpringSnippet.ts +1 -1
  698. package/src/code-snippets/JavaScript/AsyncFetchSnippet.ts +1 -1
  699. package/src/code-snippets/JavaScript/AxiosSnippet.ts +1 -1
  700. package/src/code-snippets/JavaScript/FetchSnippet.ts +1 -1
  701. package/src/code-snippets/JavaScript/NodeSnippet.ts +1 -1
  702. package/src/code-snippets/JavaScript/XhrSnippet.ts +1 -1
  703. package/src/code-snippets/JavaScript/jQuerySnippet.ts +1 -1
  704. package/src/code-snippets/Python/Python27Snippet.ts +1 -1
  705. package/src/code-snippets/Python/Python31Snippet.ts +1 -1
  706. package/src/code-snippets/Python/RequestsSnippet.ts +1 -1
  707. package/src/define/http/http-body-editor.ts +1 -1
  708. package/src/elements/amf/ApiAnnotationDocument.element.ts +1 -1
  709. package/src/elements/amf/ApiAuthorizationEditor.element.ts +1 -1
  710. package/src/elements/amf/ApiChannelDocument.element.ts +1 -1
  711. package/src/elements/amf/ApiDocumentation.element.ts +1 -1
  712. package/src/elements/amf/ApiDocumentationBase.ts +1 -1
  713. package/src/elements/amf/ApiDocumentationDocument.element.ts +1 -1
  714. package/src/elements/amf/ApiNavigation.element.ts +1 -1
  715. package/src/elements/amf/ApiOperationDocument.element.ts +1 -1
  716. package/src/elements/amf/ApiParameterDocument.element.ts +1 -1
  717. package/src/elements/amf/ApiParametrizedSecurityScheme.element.ts +1 -1
  718. package/src/elements/amf/ApiPayloadDocument.element.ts +1 -1
  719. package/src/elements/amf/ApiRequest.element.ts +1 -1
  720. package/src/elements/amf/ApiRequestDocument.element.ts +1 -1
  721. package/src/elements/amf/ApiRequestEditor.element.ts +1 -1
  722. package/src/elements/amf/ApiResourceDocument.element.ts +1 -1
  723. package/src/elements/amf/ApiResponseDocument.element.ts +1 -1
  724. package/src/elements/amf/ApiSchemaDocument.element.ts +1 -1
  725. package/src/elements/amf/ApiSecurityDocument.element.ts +1 -1
  726. package/src/elements/amf/ApiSecurityRequirementDocument.element.ts +1 -1
  727. package/src/elements/amf/ApiServerPicker.element.ts +1 -1
  728. package/src/elements/amf/ApiSummary.element.ts +1 -1
  729. package/src/elements/amf/SchemaCommonTemplates.ts +1 -1
  730. package/src/elements/amf/authorization/AmfApiKey.ts +1 -1
  731. package/src/elements/amf/authorization/AmfBasic.ts +1 -1
  732. package/src/elements/amf/authorization/AmfBearer.ts +1 -1
  733. package/src/elements/amf/authorization/AmfOauth2.ts +1 -1
  734. package/src/elements/amf/authorization/AmfOidc.ts +1 -1
  735. package/src/elements/amf/authorization/AmfPassThrough.ts +1 -1
  736. package/src/elements/amf/authorization/AmfRamlCustom.ts +1 -1
  737. package/src/elements/authorization/OAuth2Authorize.ts +1 -1
  738. package/src/elements/authorization/OidcAuthorize.ts +1 -1
  739. package/src/elements/authorization/ui/ApiKeyAuthorization.ts +1 -1
  740. package/src/elements/authorization/ui/Authorization.ts +1 -1
  741. package/src/elements/authorization/ui/BasicAuthorization.ts +1 -1
  742. package/src/elements/authorization/ui/BearerAuthorization.ts +1 -1
  743. package/src/elements/authorization/ui/CcAuthorization.ts +1 -1
  744. package/src/elements/authorization/ui/NtlmAuthorization.ts +1 -1
  745. package/src/elements/authorization/ui/OAuth2Authorization.ts +1 -1
  746. package/src/elements/authorization/ui/OidcAuthorization.ts +1 -1
  747. package/src/elements/code/HttpSnippets.ts +1 -1
  748. package/src/elements/dialog/DeleteCookieAction.element.ts +1 -1
  749. package/src/elements/dialog/SetCookieAction.element.ts +2 -2
  750. package/src/elements/environment/EnvironmentEditor.ts +1 -1
  751. package/src/elements/environment/ServerEditor.ts +1 -1
  752. package/src/elements/environment/VariablesEditor.ts +1 -1
  753. package/src/elements/har/HarViewer.ts +1 -1
  754. package/src/elements/http/BodyEditor.styles.ts +5 -19
  755. package/src/elements/http/BodyEditor.ts +6 -6
  756. package/src/elements/http/BodyMultipartEditor.ts +1 -1
  757. package/src/elements/http/BodyUrlEncodedEditor.ts +1 -1
  758. package/src/elements/http/CertificateAdd.element.ts +1 -1
  759. package/src/elements/http/HeadersForm.ts +1 -1
  760. package/src/elements/http/HttpAssertions.element.ts +1 -1
  761. package/src/elements/http/HttpFlows.element.ts +1 -1
  762. package/src/elements/http/HttpFlowsUi.ts +1 -1
  763. package/src/elements/http/LogBody.ts +1 -1
  764. package/src/elements/http/LogHeaders.ts +1 -1
  765. package/src/elements/http/LogTimings.ts +1 -1
  766. package/src/elements/http/RequestAuth.template.ts +1 -1
  767. package/src/elements/http/RequestConfigElement.ts +1 -1
  768. package/src/elements/http/RequestEditor.ts +2 -2
  769. package/src/elements/http/RequestLog.ts +1 -1
  770. package/src/elements/http/UrlEncodeUtils.ts +1 -1
  771. package/src/elements/http/UrlInput.ts +1 -1
  772. package/src/elements/http/UrlParamsForm.ts +1 -1
  773. package/src/elements/layout/SplitPanel.ts +1 -1
  774. package/src/elements/navigation/AppNavigationElement.ts +1 -1
  775. package/src/elements/project/HttpProjectRequest.ts +2 -2
  776. package/src/elements/project/HttpProjectRequestHistory.ts +1 -1
  777. package/src/elements/project/ProjectNavigation.ts +1 -1
  778. package/src/elements/project/ProjectRunReport.ts +1 -1
  779. package/src/elements/project/ProjectRunner.ts +1 -1
  780. package/src/elements/project/ProjectRunnerNavigationElement.ts +1 -1
  781. package/src/elements/schema-design/AssociationFormElement.ts +1 -1
  782. package/src/elements/schema-design/DataEntityEditorElement.ts +1 -1
  783. package/src/elements/schema-design/DataModelVisualizationElement.ts +1 -1
  784. package/src/elements/schema-design/DataSchemaDocument.ts +1 -1
  785. package/src/elements/schema-design/EntityFormElement.ts +1 -1
  786. package/src/elements/schema-design/PropertyFormElement.ts +2 -2
  787. package/src/elements/schema-design/SchemaDesignNavigation.ts +1 -1
  788. package/src/elements/schema-design/SchemaNamespaceSelector.ts +1 -1
  789. package/src/elements/store/FilePicker.element.ts +1 -1
  790. package/src/elements/store/FilesLib.ts +2 -2
  791. package/src/elements/store/ShareFile.element.ts +1 -1
  792. package/src/elements/user/UserAvatarElement.ts +1 -1
  793. package/src/events/BroadcastUiEvents.ts +1 -1
  794. package/src/events/HttpClientEvents.ts +1 -1
  795. package/src/events/HttpProjectEvents.ts +1 -1
  796. package/src/events/StoreEvents.ts +1 -1
  797. package/src/events/amf/ApiEvents.ts +1 -1
  798. package/src/events/amf/DocumentationEvents.ts +1 -1
  799. package/src/events/amf/EndpointEvents.ts +1 -1
  800. package/src/events/amf/OperationEvents.ts +1 -1
  801. package/src/events/amf/PayloadEvents.ts +1 -1
  802. package/src/events/amf/RequestEvents.ts +1 -1
  803. package/src/events/amf/ResponseEvents.ts +1 -1
  804. package/src/events/amf/SecurityEvents.ts +1 -1
  805. package/src/events/amf/ServerEvents.ts +1 -1
  806. package/src/events/amf/TypeEvents.ts +1 -1
  807. package/src/http-client/idb/Arc18DataUpgrade.ts +1 -1
  808. package/src/http-client/idb/Base.ts +1 -1
  809. package/src/http-client/idb/LegacyBodyProcessor.ts +1 -1
  810. package/src/http-client/idb/MockedStore.ts +1 -1
  811. package/src/http-client/store/Cursor.ts +3 -3
  812. package/src/http-client/store/DataImportProcessor.ts +2 -2
  813. package/src/http-client/store/HttpClientIdbDatabase.ts +6 -10
  814. package/src/http-client/store/IdbThread.ts +1 -1
  815. package/src/http-client/store/State.ts +1 -5
  816. package/src/http-client/store/idb/IdbProjectUi.ts +1 -1
  817. package/src/http-client/store/idb/IdbStore.ts +1 -51
  818. package/src/http-client/store/idb/IdbUrlHistory.ts +1 -1
  819. package/src/http-client/store/idb/IdbWsHistory.ts +1 -1
  820. package/src/http-client/store/stores/ProjectUi.ts +1 -1
  821. package/src/http-client/store/stores/UrlHistory.ts +1 -1
  822. package/src/http-client/store/stores/WsHistory.ts +1 -1
  823. package/src/http-client/store/types.ts +2 -57
  824. package/src/index.ts +3 -0
  825. package/src/lib/chart/HttpHistoryChart.ts +1 -1
  826. package/src/lib/http/Har.ts +1 -1
  827. package/src/lib/http/HeadersArray.ts +1 -1
  828. package/src/lib/http/Payload.ts +1 -1
  829. package/src/lib/http/Url.ts +1 -1
  830. package/src/pages/ApplicationScreen.ts +1 -1
  831. package/src/pages/api-client/ApiClient.screen.ts +8 -8
  832. package/src/pages/api-client/AppInfo.ts +1 -1
  833. package/src/pages/api-client/StoreConfig.screen.ts +1 -1
  834. package/src/pages/api-client/pages/Files.page.ts +1 -1
  835. package/src/pages/api-client/pages/Shared.page.ts +1 -1
  836. package/src/pages/api-client/pages/Trash.page.ts +3 -10
  837. package/src/pages/http-project/AppInfo.ts +1 -1
  838. package/src/pages/http-project/HttpClientCommands.ts +1 -1
  839. package/src/pages/http-project/HttpProject.screen.ts +1 -1
  840. package/src/pages/http-project/types.ts +1 -1
  841. package/src/pages/schema-design/AppInfo.ts +1 -1
  842. package/src/pages/schema-design/SchemaDesigner.screen.ts +1 -1
  843. package/src/pages/schema-design/SchemaDesignerCommands.ts +1 -1
  844. package/src/store/FileSystem.ts +1 -1
  845. package/src/store/HttpStore.ts +1 -1
  846. package/src/store/UserCache.ts +1 -1
  847. package/src/ui/chip/UiChip.ts +1 -1
  848. package/src/ui/list/UiDropdownList.ts +1 -1
  849. package/src/ui/notification/Snackbar.ts +1 -1
  850. package/src/visualization/plugin/positioning/DataModelLayout.ts +1 -1
  851. package/test/amf/AmfLoader.ts +1 -1
  852. package/test/amf/authorization/ApiAuthorizationEditorElement.oas.test.ts +1 -1
  853. package/test/amf/authorization/ApiAuthorizationEditorElement.raml.test.ts +1 -1
  854. package/test/amf/authorization/ApiKeyMethod.test.ts +1 -1
  855. package/test/amf/authorization/CustomMethod.test.ts +1 -1
  856. package/test/amf/authorization/OAuth2-21143.test.ts +1 -1
  857. package/test/amf/authorization/OAuth2-flows.test.ts +1 -1
  858. package/test/amf/authorization/OAuth2-pkce.test.ts +1 -1
  859. package/test/amf/authorization/OAuth2Method.test.ts +1 -1
  860. package/test/amf/authorization/PassThroughMethod.test.ts +1 -1
  861. package/test/amf/elements/ApiAnnotationDocumentElement.test.ts +1 -1
  862. package/test/amf/elements/ApiDocumentationDocumentElement.test.ts +1 -1
  863. package/test/amf/elements/ApiDocumentationElement.test.ts +1 -1
  864. package/test/amf/elements/ApiOperationDocumentElement.test.ts +1 -1
  865. package/test/amf/elements/ApiRequestDocumentElement.test.ts +1 -1
  866. package/test/amf/elements/ApiResourceDocumentElement.test.ts +1 -1
  867. package/test/amf/elements/ApiResponseDocumentElement.test.ts +1 -1
  868. package/test/amf/elements/ApiSchemaDocumentElement.test.ts +1 -1
  869. package/test/amf/elements/ApiSecurityDocumentElement.test.ts +1 -1
  870. package/test/amf/elements/ApiSecurityRequirementDocumentElement.test.ts +1 -1
  871. package/test/amf/elements/ApiServerPickerElement.test.ts +1 -1
  872. package/test/amf/elements/ApiSummaryElement.test.ts +1 -1
  873. package/test/amf/elements/SE-12957.test.ts +1 -1
  874. package/test/amf/http-request/APIC-289.test.ts +1 -1
  875. package/test/amf/http-request/APIC-298.test.ts +1 -1
  876. package/test/amf/http-request/APIC-689.test.ts +1 -1
  877. package/test/amf/http-request/ApiRequestEditorElement.test.ts +1 -1
  878. package/test/amf/http-request/ApiRequestElement.test.ts +1 -1
  879. package/test/amf/http-request/SE-12042.test.ts +1 -1
  880. package/test/amf/http-request/SE-12957.test.ts +1 -1
  881. package/test/amf/lib/UrlUtils.test.ts +1 -1
  882. package/test/amf/navigation/ApiNavigationElement.test.ts +1 -1
  883. package/test/elements/authorization/basic-method.test.ts +1 -1
  884. package/test/elements/authorization/bearer-method.test.ts +1 -1
  885. package/test/elements/authorization/ntlm-method.test.ts +1 -1
  886. package/test/elements/authorization/oauth2-client-credentials-method.test.ts +1 -1
  887. package/test/elements/authorization/oauth2-code-method.test.ts +1 -1
  888. package/test/elements/authorization/oauth2-custom-grant-method.test.ts +1 -1
  889. package/test/elements/authorization/oauth2-device-code-method.test.ts +1 -1
  890. package/test/elements/authorization/oauth2-implicit-method.test.ts +1 -1
  891. package/test/elements/authorization/oauth2-jwt-method.test.ts +1 -1
  892. package/test/elements/authorization/oauth2-password-method.test.ts +1 -1
  893. package/test/elements/authorization/openid-method.test.ts +1 -1
  894. package/test/elements/http/BodyFormdataEditorElement.test.ts +1 -1
  895. package/test/elements/http/HttpAssertions.test.ts +1 -1
  896. package/test/elements/http/HttpFlows.test.ts +1 -1
  897. package/test/elements/http/UrlEncodeUtils.test.ts +1 -1
  898. package/test/elements/store/FilePicker.test.ts +1 -1
  899. package/test/helpers/StoreHelper.ts +1 -1
  900. package/web-dev-server.config.mjs +2 -0
  901. package/web-test-runner.config.mjs +2 -2
  902. package/dist/http-client/store/Validator.d.ts +0 -4
  903. package/dist/http-client/store/Validator.d.ts.map +0 -1
  904. package/dist/http-client/store/Validator.js +0 -32
  905. package/dist/http-client/store/Validator.js.map +0 -1
  906. package/src/http-client/store/Validator.ts +0 -33
@@ -1 +1 @@
1
- {"version":3,"file":"AmfOauth2.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfOauth2.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\nimport { html, PropertyValues, TemplateResult } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { RequestAuthorizationKind, IOAuth2Authorization, ApiDefinitions, IRequestAuthorization, AmfNamespace, OAuth2DeliveryMethod, IOauth2GrantType, AmfShapes, IApiCustomDomainProperty, IOAuth2CustomParameter } from \"@api-client/core/build/browser.js\";\nimport OAuth2Authorization, { oauth2GrantTypes } from \"../../authorization/ui/OAuth2Authorization.js\";\nimport * as InputCache from '../../../amf/lib/InputCache.js';\nimport { AmfParameters } from \"../../../amf/lib/AmfParameters.js\";\nimport { Oauth2RamlCustomData } from \"../../../amf/lib/Oauth2RamlCustomData.js\";\nimport { OperationParameter } from \"../../../amf/types.js\";\nimport { AmfInputParser, BindingType } from \"../../../amf/lib/AmfInputParser.js\";\n\nexport default class AmfOauth2 extends OAuth2Authorization {\n /**\n * The in-memory key where the values are stored.\n */\n @property({ type: Object }) security?: ApiDefinitions.IApiParametrizedSecurityScheme;\n\n /**\n * @attribute\n */\n @property({ type: String }) overrideAuthorizationUri?: string;\n\n /**\n * @attribute\n */\n @property({ type: String }) overrideAccessTokenUri?: string;\n\n protected amfParameters: AmfParameters;\n\n constructor() {\n super();\n this.amfParameters = new AmfParameters(this);\n this.amfParameters.globalCache = true;\n this.amfParameters.addEventListener('render', () => this.requestUpdate());\n this.amfParameters.addEventListener('change', () => this.notifyChange());\n this.amfParameters.addEventListener('paramchange', () => this.handleParamChange());\n }\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('security')) {\n this.restoreValues();\n }\n super.willUpdate(cp);\n }\n\n protected handleParamChange(): void {\n const auth = this.ensureConfig();\n auth.config = this.serialize();\n }\n\n protected ensureConfig(): IRequestAuthorization {\n if (!this.authorization) {\n this.authorization = {\n enabled: true,\n kind: RequestAuthorizationKind,\n type: 'oauth 2',\n valid: false,\n config: {\n } as IOAuth2Authorization,\n };\n }\n return this.authorization;\n }\n\n protected restoreValues(): void {\n const { security } = this;\n this.authorization = undefined;\n const auth = this.ensureConfig();\n \n if (!security) {\n this.setupOAuthDeliveryMethod();\n this.updateGrantTypes();\n return;\n }\n if (!security.types.includes(AmfNamespace.aml.vocabularies.security.ParametrizedSecurityScheme)) {\n this.setupOAuthDeliveryMethod();\n this.updateGrantTypes();\n return;\n }\n const { scheme } = security;\n if (!scheme) {\n this.setupOAuthDeliveryMethod();\n this.updateGrantTypes();\n return;\n }\n const { type } = scheme;\n if (!type || type !== 'OAuth 2.0') {\n this.setupOAuthDeliveryMethod();\n this.updateGrantTypes();\n return;\n }\n this.setupOAuthDeliveryMethod(scheme);\n const config = scheme.settings as ApiDefinitions.IApiSecurityOAuth2Settings;\n if (!config) {\n return;\n }\n this.preFillAmfData(config);\n this.notifyChange();\n this.requestUpdate();\n auth.config = this.serialize();\n }\n\n override serialize(): IOAuth2Authorization {\n const result = super.serialize() as IOAuth2Authorization;\n result.customData = {\n auth: {},\n token: {},\n };\n if (result.grantType === 'application') {\n result.grantType = 'client_credentials'\n }\n const { grantType } = result;\n switch (grantType) {\n case 'implicit':\n this.computeAuthCustomData(result);\n break;\n case 'authorization_code':\n this.computeAuthCustomData(result);\n this.computeTokenCustomData(result);\n break;\n case 'client_credentials':\n case 'password':\n this.computeTokenCustomData(result);\n break;\n default:\n this.computeAuthCustomData(result);\n this.computeTokenCustomData(result);\n break;\n }\n return result;\n }\n\n setupOAuthDeliveryMethod(scheme?: ApiDefinitions.IApiSecurityScheme): void {\n const info = this.getOauth2DeliveryMethod(scheme);\n \n const auth = this.ensureConfig();\n const config = auth.config as IOAuth2Authorization;\n\n if (config.deliveryMethod !== info.method) {\n config.deliveryMethod = info.method as OAuth2DeliveryMethod;\n }\n if (config.deliveryName !== info.name) {\n config.deliveryName = info.name;\n }\n }\n\n /**\n * Determines placement of OAuth authorization token location.\n * It can be either query parameter or header. This function\n * reads API spec to get this information or provides default if\n * not specifies.\n *\n * @param info Security AMF model\n */\n getOauth2DeliveryMethod(info?: ApiDefinitions.IApiSecurityScheme): { method: string, name: string } {\n const result = {\n method: 'header',\n name: 'authorization'\n };\n if (!info) {\n return result;\n }\n if (Array.isArray(info.headers) && info.headers.length) {\n const [header] = info.headers;\n result.name = header.name as string;\n return result;\n }\n if (Array.isArray(info.queryParameters) && info.queryParameters.length) {\n const [param] = info.queryParameters;\n result.name = param.name as string;\n result.method = 'query';\n return result;\n }\n return result;\n }\n\n /**\n * Updates list of OAuth grant types supported by current endpoint.\n * The information should be available in RAML file.\n *\n * @param supportedTypes List of supported types. If empty\n * or not set then all available types will be displayed.\n */\n updateGrantTypes(supportedTypes?: string[]): void {\n const available = this.computeGrantList(supportedTypes);\n this.grantTypes = available;\n \n const auth = this.ensureConfig();\n const config = auth.config as IOAuth2Authorization;\n\n // check if current selection is still available\n const current = config.grantType;\n const hasCurrent = current ?\n available.some((item) => item.type === current) : false;\n if (!hasCurrent) {\n config.grantType = available[0].type;\n this.applyFlow();\n } else if (available.length === 1) {\n config.grantType = available[0].type;\n this.applyFlow();\n } else {\n this.applyFlow(current);\n }\n }\n\n /**\n * Computes list of grant types to render in the form.\n *\n * @param allowed List of types allowed by the\n * component configuration or API spec applied to this element. If empty\n * or not set then all OAuth 2.0 default types are returned.\n */\n computeGrantList(allowed?: string[]): IOauth2GrantType[] {\n let defaults = Array.from(oauth2GrantTypes);\n if (!allowed || !allowed.length) {\n return defaults;\n }\n // eslint-disable-next-line no-param-reassign\n allowed = Array.from(allowed);\n for (let i = defaults.length - 1; i >= 0; i--) {\n const index = allowed.indexOf(defaults[i].type);\n if (index === -1) {\n defaults.splice(i, 1);\n } else {\n allowed.splice(index, 1);\n }\n }\n if (allowed.length) {\n const mapped: IOauth2GrantType[] = allowed.map((item) => ({\n label: item,\n type: item\n }));\n defaults = defaults.concat(mapped);\n }\n return defaults;\n }\n\n /**\n * It's quite a bit naive approach to determine whether given model is RAML's\n * or OAS'. There is a significant difference of how to treat grant types\n * (in OAS it is called flows). While in OAS it is mandatory to define a grant type\n * (a flow) RAML has no such requirement. By default this component assumes that\n * all standard (OAuth 2 defined) grant types are supported when grant types are not\n * defined. So it is possible to not define them and the component will work.\n * However, in the AMF model there's always at least one grant type (a flow) whether\n * it's RAML's or OAS' and whether grant type is defined or not.\n *\n * To apply correct settings this component needs to know how to process the data.\n * If it's OAS then when changing grant type it also changes current settings\n * (like scopes, auth uri, etc). If the model is RAML's then change in current grant type\n * won't trigger settings setup.\n *\n * Note, this function returns true when there's no flows whatsoever. It's not\n * really what it means but it is consistent with component's logic.\n *\n * Current method is deterministic and when AMF model change this most probably stop\n * working. It tests whether there's a single grant type and this grant type\n * has no AMF's `security:flow` property.\n *\n * @param flows List of current flows loaded with the AMF model.\n * @returns True if current model should be treated as RAML's model.\n */\n isRamlFlow(flows: ApiDefinitions.IApiSecurityOAuth2Flow[]): boolean {\n if (!Array.isArray(flows)) {\n return true;\n }\n let result = false;\n if (flows.length === 1) {\n const type = flows[0].flow;\n if (!type) {\n result = true;\n }\n }\n return result;\n }\n\n /**\n * Reads API security definition and applies in to the view as predefined\n * values.\n *\n * @param model AMF model describing settings of the security\n * scheme\n */\n preFillAmfData(model: ApiDefinitions.IApiSecurityOAuth2Settings): void {\n if (!model) {\n return;\n }\n const { flows, authorizationGrants } = model;\n if (Array.isArray(flows) && !this.isRamlFlow(flows)) {\n this.preFillFlowData(flows);\n return;\n }\n const auth = this.ensureConfig();\n const config = auth.config as IOAuth2Authorization;\n const [flow] = flows;\n config.authorizationUri = this.overrideAuthorizationUri || flow.authorizationUri;\n config.accessTokenUri = this.overrideAccessTokenUri || flow.accessTokenUri || '';\n config.scopes = (flow.scopes || []).map(s => s.name) as string[];\n\n const settingsExtension = this.findOauth2CustomSettings(model);\n const grants = this.computeGrants(settingsExtension, authorizationGrants);\n\n if (grants.length) {\n const index = grants.indexOf('code');\n if (index !== -1) {\n grants[index] = 'authorization_code';\n }\n this.updateGrantTypes(grants);\n } else {\n this.updateGrantTypes();\n }\n this.setupAnnotationParameters(settingsExtension);\n config.pkce = this.readPkceValue(model) || false;\n }\n\n /**\n * API console supports an annotation with additional settings form the OAuth2 authorization\n * defined in https://github.com/raml-org/raml-annotations/blob/master/annotations/security-schemes/oauth-2-custom-settings.raml\n * \n * This reads (RAML) annotations to build the UI for these settings.\n *\n * @param model AMF model describing settings of the security scheme\n * @returns The extension definition or null\n */\n findOauth2CustomSettings(model: ApiDefinitions.IApiSecurityOAuth2Settings): IApiCustomDomainProperty | undefined {\n const { customDomainProperties = [] } = model;\n const properties = ['accessTokenSettings', 'authorizationGrants', 'authorizationSettings'];\n return customDomainProperties.find((prop) => {\n const node = prop.extension as AmfShapes.IApiObjectNode;\n if (!node.properties || !node.types.includes(AmfNamespace.aml.vocabularies.data.Object)) {\n return false;\n }\n return Object.keys(node.properties).some(name => properties.includes(name));\n });\n }\n\n /**\n * Computes the final list of authorization grants defined in the spec and with applied annotation defined in\n * https://github.com/raml-org/raml-annotations/blob/master/annotations/security-schemes/oauth-2-custom-settings.raml\n * \n * @param grans The API spec annotation grants\n * @param customProperty The domain extension with the custom data\n * @returns The list of authorization grants to apply to the current operation.\n */\n computeGrants(customProperty?: IApiCustomDomainProperty, grans: string[] = []): string[] {\n if (!customProperty || !customProperty.extension || !customProperty.extension.types.includes(AmfNamespace.aml.vocabularies.data.Object)) {\n return grans;\n }\n const typed = customProperty.extension as AmfShapes.IApiObjectNode;\n if (!typed.properties.authorizationGrants) {\n return grans;\n }\n const array = typed.properties.authorizationGrants as AmfShapes.IApiArrayNode;\n const addedGrants: string[] = [];\n array.members.forEach((g) => {\n if (!g.types.includes(AmfNamespace.aml.vocabularies.data.Scalar)) {\n return;\n }\n const scalar = g as AmfShapes.IApiScalarNode;\n if (scalar.value) {\n addedGrants.push(scalar.value);\n }\n });\n let result = grans;\n if (typed.properties.ignoreDefaultGrants) {\n result = [];\n }\n result = result.concat(addedGrants);\n return result;\n }\n\n /**\n * Pre-fills authorization data with OAS' definition of a grant type\n * which they call a flow. This method populates form with the information\n * find in the model.\n *\n * It tries to match a flow to currently selected `grantType`. When no match\n * then it takes first flow.\n *\n * Note, flow data are applied when `grantType` change.\n *\n * @param flows List of flows in the authorization description.\n */\n preFillFlowData(flows: ApiDefinitions.IApiSecurityOAuth2Flow[]): void {\n const auth = this.ensureConfig();\n const config = auth.config as IOAuth2Authorization;\n // first step is to select the right flow.\n // If the user already selected a grant type before then it this looks\n // for a flow for already selected grant type. If its not present then\n // it uses first available flow.\n let flow = this.flowForType(flows, config.grantType);\n if (!flow) {\n [flow] = flows;\n }\n // finally sets grant types from flows\n const grantTypes = this.readFlowsTypes(flows);\n this.updateGrantTypes(grantTypes);\n }\n\n /**\n * Searches for a flow in the list of flows for given name.\n *\n * @param flows List of flows to search in.\n * @param type Grant type\n */\n flowForType(flows: ApiDefinitions.IApiSecurityOAuth2Flow[], type?: string): ApiDefinitions.IApiSecurityOAuth2Flow | undefined {\n if (!type) {\n return undefined;\n }\n for (let i = 0, len = flows.length; i < len; i++) {\n const flow = flows[i];\n if (flow.flow === type) {\n // true for `implicit`, `password`\n return flow;\n }\n if (type === 'authorization_code' && flow.flow === 'authorizationCode') {\n return flow;\n }\n if (type === 'client_credentials' && flow.flow === 'clientCredentials') {\n return flow;\n }\n }\n return undefined;\n }\n\n /**\n * Reads list of scopes from a flow.\n *\n * @param flow A flow to process.\n * @returns List of scopes required by an endpoint / API.\n */\n readFlowScopes(flow: ApiDefinitions.IApiSecurityOAuth2Flow): string[] | undefined {\n const { security } = this;\n let scopes = this.readSecurityScopes(flow.scopes);\n if (scopes || !security) {\n return scopes;\n }\n // if scopes are not defined in the operation then they may be defined in\n // security settings.\n const config = security.scheme && security.scheme.settings as ApiDefinitions.IApiSecurityOAuth2Settings | undefined;\n if (!config || !config.flows) {\n return undefined;\n }\n const [mainFlow] = config.flows;\n if (mainFlow) {\n scopes = this.readSecurityScopes(mainFlow.scopes);\n }\n return scopes;\n }\n\n /**\n * Reads list of grant types from the list of flows.\n *\n * @param flows List of flows to process.\n * @returns Grant types supported by this authorization.\n */\n readFlowsTypes(flows: ApiDefinitions.IApiSecurityOAuth2Flow[]): string[] {\n const grants: string[] = [];\n flows.forEach((flow) => {\n let type = flow.flow;\n if (!type) {\n return;\n }\n if (type === 'authorizationCode') {\n type = 'authorization_code';\n } else if (type === 'clientCredentials') {\n type = 'client_credentials';\n }\n grants[grants.length] = type;\n });\n return grants;\n }\n\n /**\n * Applies settings from a flow to current properties.\n * OAS' flows may define different configuration for each flow.\n * This function is called each time a grant type change. If current settings\n * does not contain flows then this is ignored.\n *\n * @param name Set grant type\n */\n applyFlow(name?: string): void {\n if (!name) {\n return;\n }\n const { security } = this;\n if (!security || !security.scheme || !security.scheme.settings) {\n return;\n }\n const config = security.scheme.settings as ApiDefinitions.IApiSecurityOAuth2Settings;\n const { flows } = config;\n if (!Array.isArray(flows) || this.isRamlFlow(flows)) {\n return;\n }\n if (name === 'client_credentials') {\n name = 'clientCredentials';\n } else if (name === 'authorization_code') {\n name = 'authorizationCode';\n }\n const auth = this.ensureConfig();\n const authConfig = auth.config as IOAuth2Authorization;\n const flow = flows.find(team => team.flow === name);\n // sets basic oauth properties.\n authConfig.scopes = (flow ? this.readFlowScopes(flow) : []) as string[];\n authConfig.authorizationUri = this.overrideAuthorizationUri || flow && flow.authorizationUri || '';\n authConfig.accessTokenUri = this.overrideAccessTokenUri || flow && flow.accessTokenUri || '';\n }\n\n /**\n * Extracts scopes list from the security definition\n */\n readSecurityScopes(scopes: ApiDefinitions.IApiSecurityScope[]): string[] | undefined {\n if (!scopes) {\n return undefined;\n }\n const result = scopes.map(s => s.name).filter(s => !!s) as string[];\n if (!result.length) {\n return undefined;\n }\n return result;\n }\n\n /**\n * Checks whether the security scheme is annotated with the `pkce` annotation.\n * This annotation is published at https://github.com/raml-org/raml-annotations/tree/master/annotations/security-schemes\n * @param model Model for the security settings\n * @returns True if the security settings are annotated with PKCE extension\n */\n readPkceValue(model: ApiDefinitions.IApiSecurityOAuth2Settings): boolean | undefined {\n const { customDomainProperties } = model;\n if (!Array.isArray(customDomainProperties) || !customDomainProperties.length) {\n return undefined;\n }\n const pkce = customDomainProperties.find(e => e.name === 'pkce');\n if (!pkce) {\n return undefined;\n }\n const info = pkce.extension as AmfShapes.IApiScalarNode;\n if (info.dataType === AmfNamespace.w3.xmlSchema.boolean) {\n return info.value === 'true';\n }\n return undefined;\n }\n\n /**\n * Adds `customData` property values that can be applied to the\n * authorization request.\n *\n * @param detail Token request detail object. The object is passed\n * by reference so no need for return value\n */\n computeAuthCustomData(detail: IOAuth2Authorization): void {\n const all = this.amfParameters.parametersValue;\n const params = all.filter(p => p.binding === 'authQuery');\n if (params.length) {\n if (!detail.customData) {\n detail.customData = {};\n }\n if (!detail.customData.auth) {\n detail.customData.auth = {};\n }\n detail.customData.auth.parameters = this.computeCustomParameters(params, 'authQuery');\n }\n }\n\n /**\n * Adds `customData` property values that can be applied to the\n * token request.\n *\n * @param detail Token request detail object. The object is passed\n * by reference so no need for return value\n */\n computeTokenCustomData(detail: IOAuth2Authorization): void {\n const params = this.amfParameters.parametersValue;\n const tqp = params.filter(p => p.binding === 'tokenQuery');\n const th = params.filter(p => p.binding === 'tokenHeader');\n const tb = params.filter(p => p.binding === 'tokenBody');\n if (!detail.customData) {\n detail.customData = {};\n }\n if (!detail.customData.token) {\n detail.customData.token = {};\n }\n if (!detail.customData.token) {\n detail.customData.token = {};\n }\n if (tqp.length) {\n detail.customData.token.parameters = this.computeCustomParameters(tqp, 'tokenQuery');\n }\n if (th.length) {\n detail.customData.token.headers = this.computeCustomParameters(th, 'tokenHeader');\n }\n if (tb.length) {\n detail.customData.token.body = this.computeCustomParameters(tb, 'tokenBody');\n }\n }\n\n /**\n * Sets up annotation supported variables to apply form view for:\n * - authorization query parameters\n * - authorization headers\n * - token query parameters\n * - token headers\n * - token body\n *\n * @param customProperty Annotation applied to the OAuth settings\n */\n setupAnnotationParameters(customProperty?: IApiCustomDomainProperty): void {\n this.amfParameters.parametersValue = [];\n /* istanbul ignore if */\n if (!customProperty || !customProperty.extension) {\n return;\n }\n const typed = customProperty.extension as AmfShapes.IApiObjectNode;\n const authSettings = (typed.properties.authorizationSettings as AmfShapes.IApiObjectNode | undefined);\n const tokenSettings = (typed.properties.accessTokenSettings as AmfShapes.IApiObjectNode | undefined);\n if (authSettings) {\n const qp = (authSettings.properties.queryParameters as AmfShapes.IApiObjectNode | undefined);\n if (qp && qp.properties) {\n this.setupAuthRequestQueryParameters(qp.properties);\n }\n }\n if (tokenSettings) {\n const qp = (tokenSettings.properties.queryParameters as AmfShapes.IApiObjectNode | undefined);\n const headerParams = (tokenSettings.properties.headers as AmfShapes.IApiObjectNode | undefined);\n const bodyParams = (tokenSettings.properties.body as AmfShapes.IApiObjectNode | undefined);\n if (qp && qp.properties) {\n this.setupTokenRequestQueryParameters(qp.properties);\n }\n if (headerParams && headerParams.properties) {\n this.setupTokenRequestHeaders(headerParams.properties);\n }\n if (bodyParams && bodyParams.properties) {\n this.setupTokenRequestBody(bodyParams.properties);\n }\n }\n }\n\n /**\n * Appends a list of parameters to the list of rendered parameters\n */\n appendToParams(list: ApiDefinitions.IApiParameter[], source: string): void {\n const params = this.amfParameters.parametersValue;\n if (Array.isArray(list)) {\n list.forEach((param) => {\n params.push({\n paramId: param.id,\n parameter: { ...param, binding: source },\n binding: source,\n source,\n schema: param.schema,\n schemaId: param.schema && param.schema.id ? param.schema.id : undefined,\n });\n });\n }\n }\n\n /**\n * Sets up query parameters to be used with authorization request.\n *\n * @param properties List of parameters from the annotation.\n */\n setupAuthRequestQueryParameters(properties: { [key: string]: AmfShapes.IApiDataNodeUnion }): void {\n const source = 'authQuery';\n this.amfParameters.parametersValue = this.amfParameters.parametersValue.filter(item => item.source !== source);\n const factory = new Oauth2RamlCustomData();\n const items = factory.readParams(properties);\n this.appendToParams(items, source);\n }\n\n /**\n * Sets up query parameters to be used with token request.\n *\n * @param properties List of parameters from the annotation.\n */\n setupTokenRequestQueryParameters(properties: { [key: string]: AmfShapes.IApiDataNodeUnion }): void {\n const source = 'tokenQuery';\n this.amfParameters.parametersValue = this.amfParameters.parametersValue.filter(item => item.source !== source);\n const factory = new Oauth2RamlCustomData();\n const items = factory.readParams(properties);\n this.appendToParams(items, source);\n }\n\n /**\n * Sets up headers to be used with token request.\n *\n * @param properties params List of parameters from the annotation.\n */\n setupTokenRequestHeaders(properties: { [key: string]: AmfShapes.IApiDataNodeUnion }): void {\n const source = 'tokenHeader';\n this.amfParameters.parametersValue = this.amfParameters.parametersValue.filter(item => item.source !== source);\n const factory = new Oauth2RamlCustomData();\n const items = factory.readParams(properties);\n this.appendToParams(items, source);\n }\n\n /**\n * Sets up body parameters to be used with token request.\n *\n * @param properties params List of parameters from the annotation.\n */\n setupTokenRequestBody(properties: { [key: string]: AmfShapes.IApiDataNodeUnion }): void {\n const source = 'tokenBody';\n this.amfParameters.parametersValue = this.amfParameters.parametersValue.filter(item => item.source !== source);\n const factory = new Oauth2RamlCustomData();\n const items = factory.readParams(properties);\n this.appendToParams(items, source);\n }\n\n /**\n * Computes list of parameter values from current model.\n *\n * This function ignores empty values if they are not required.\n * Required property are always included, even if the value is not set.\n *\n * @param params Model for form inputs.\n * @param reportKey The key name in the report.\n * @returns Array of objects with `name` and `value` properties or undefined if `params` is empty or no values are available.\n */\n computeCustomParameters(params: OperationParameter[], reportKey: keyof BindingType): IOAuth2CustomParameter[] {\n const result: IOAuth2CustomParameter[] = [];\n const report = AmfInputParser.reportRequestInputs(params.map(p => p.parameter), InputCache.getStore(this, true), this.amfParameters.nilValues);\n const values = report[reportKey];\n if (!values) {\n return result;\n }\n Object.keys(values).forEach((key) => {\n const value = values[key];\n const info = params.find(p => p.parameter.name === key) as OperationParameter;\n if (info.parameter.required !== true) {\n const type = typeof value;\n if (type === 'number') {\n if (!value && value !== 0) {\n return;\n }\n }\n if (type === 'string') {\n if (!value) {\n return;\n }\n }\n if (Array.isArray(value)) {\n if (!value[0]) {\n return;\n }\n }\n if (type === 'undefined') {\n return;\n }\n }\n result.push({\n name: key,\n value: value || ''\n });\n });\n return result;\n }\n\n override renderCustomProperties(): TemplateResult {\n const params = this.amfParameters.parametersValue;\n const aqp = params.filter(p => p.binding === 'authQuery');\n const tqp = params.filter(p => p.binding === 'tokenQuery');\n const th = params.filter(p => p.binding === 'tokenHeader');\n const tb = params.filter(p => p.binding === 'tokenBody');\n return html`\n ${aqp.length ? html`\n <section class=\"params-section\">\n <div class=\"section-title\"><span class=\"label\">Authorization request query parameters</span></div>\n ${aqp.map(param => this.amfParameters.parameterTemplate(param))}\n </section>\n ` : ''}\n ${tqp.length ? html`\n <section class=\"params-section\">\n <div class=\"section-title\"><span class=\"label\">Token request query parameters</span></div>\n ${tqp.map(param => this.amfParameters.parameterTemplate(param))}\n </section>\n ` : ''}\n ${th.length ? html`\n <section class=\"params-section\">\n <div class=\"section-title\"><span class=\"label\">Token request headers</span></div>\n ${th.map(param => this.amfParameters.parameterTemplate(param))}\n </section>\n ` : ''}\n ${tb.length ? html`\n <section class=\"params-section\">\n <div class=\"section-title\"><span class=\"label\">Token request body</span></div>\n ${tb.map(param => this.amfParameters.parameterTemplate(param))}\n </section>\n ` : ''}\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"AmfOauth2.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfOauth2.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\nimport { html, PropertyValues, TemplateResult } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { RequestAuthorizationKind, IOAuth2Authorization, ApiDefinitions, IRequestAuthorization, AmfNamespace, OAuth2DeliveryMethod, IOauth2GrantType, AmfShapes, IApiCustomDomainProperty, IOAuth2CustomParameter } from \"@api-client/core/build/esm/browser.js\";\nimport OAuth2Authorization, { oauth2GrantTypes } from \"../../authorization/ui/OAuth2Authorization.js\";\nimport * as InputCache from '../../../amf/lib/InputCache.js';\nimport { AmfParameters } from \"../../../amf/lib/AmfParameters.js\";\nimport { Oauth2RamlCustomData } from \"../../../amf/lib/Oauth2RamlCustomData.js\";\nimport { OperationParameter } from \"../../../amf/types.js\";\nimport { AmfInputParser, BindingType } from \"../../../amf/lib/AmfInputParser.js\";\n\nexport default class AmfOauth2 extends OAuth2Authorization {\n /**\n * The in-memory key where the values are stored.\n */\n @property({ type: Object }) security?: ApiDefinitions.IApiParametrizedSecurityScheme;\n\n /**\n * @attribute\n */\n @property({ type: String }) overrideAuthorizationUri?: string;\n\n /**\n * @attribute\n */\n @property({ type: String }) overrideAccessTokenUri?: string;\n\n protected amfParameters: AmfParameters;\n\n constructor() {\n super();\n this.amfParameters = new AmfParameters(this);\n this.amfParameters.globalCache = true;\n this.amfParameters.addEventListener('render', () => this.requestUpdate());\n this.amfParameters.addEventListener('change', () => this.notifyChange());\n this.amfParameters.addEventListener('paramchange', () => this.handleParamChange());\n }\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('security')) {\n this.restoreValues();\n }\n super.willUpdate(cp);\n }\n\n protected handleParamChange(): void {\n const auth = this.ensureConfig();\n auth.config = this.serialize();\n }\n\n protected ensureConfig(): IRequestAuthorization {\n if (!this.authorization) {\n this.authorization = {\n enabled: true,\n kind: RequestAuthorizationKind,\n type: 'oauth 2',\n valid: false,\n config: {\n } as IOAuth2Authorization,\n };\n }\n return this.authorization;\n }\n\n protected restoreValues(): void {\n const { security } = this;\n this.authorization = undefined;\n const auth = this.ensureConfig();\n \n if (!security) {\n this.setupOAuthDeliveryMethod();\n this.updateGrantTypes();\n return;\n }\n if (!security.types.includes(AmfNamespace.aml.vocabularies.security.ParametrizedSecurityScheme)) {\n this.setupOAuthDeliveryMethod();\n this.updateGrantTypes();\n return;\n }\n const { scheme } = security;\n if (!scheme) {\n this.setupOAuthDeliveryMethod();\n this.updateGrantTypes();\n return;\n }\n const { type } = scheme;\n if (!type || type !== 'OAuth 2.0') {\n this.setupOAuthDeliveryMethod();\n this.updateGrantTypes();\n return;\n }\n this.setupOAuthDeliveryMethod(scheme);\n const config = scheme.settings as ApiDefinitions.IApiSecurityOAuth2Settings;\n if (!config) {\n return;\n }\n this.preFillAmfData(config);\n this.notifyChange();\n this.requestUpdate();\n auth.config = this.serialize();\n }\n\n override serialize(): IOAuth2Authorization {\n const result = super.serialize() as IOAuth2Authorization;\n result.customData = {\n auth: {},\n token: {},\n };\n if (result.grantType === 'application') {\n result.grantType = 'client_credentials'\n }\n const { grantType } = result;\n switch (grantType) {\n case 'implicit':\n this.computeAuthCustomData(result);\n break;\n case 'authorization_code':\n this.computeAuthCustomData(result);\n this.computeTokenCustomData(result);\n break;\n case 'client_credentials':\n case 'password':\n this.computeTokenCustomData(result);\n break;\n default:\n this.computeAuthCustomData(result);\n this.computeTokenCustomData(result);\n break;\n }\n return result;\n }\n\n setupOAuthDeliveryMethod(scheme?: ApiDefinitions.IApiSecurityScheme): void {\n const info = this.getOauth2DeliveryMethod(scheme);\n \n const auth = this.ensureConfig();\n const config = auth.config as IOAuth2Authorization;\n\n if (config.deliveryMethod !== info.method) {\n config.deliveryMethod = info.method as OAuth2DeliveryMethod;\n }\n if (config.deliveryName !== info.name) {\n config.deliveryName = info.name;\n }\n }\n\n /**\n * Determines placement of OAuth authorization token location.\n * It can be either query parameter or header. This function\n * reads API spec to get this information or provides default if\n * not specifies.\n *\n * @param info Security AMF model\n */\n getOauth2DeliveryMethod(info?: ApiDefinitions.IApiSecurityScheme): { method: string, name: string } {\n const result = {\n method: 'header',\n name: 'authorization'\n };\n if (!info) {\n return result;\n }\n if (Array.isArray(info.headers) && info.headers.length) {\n const [header] = info.headers;\n result.name = header.name as string;\n return result;\n }\n if (Array.isArray(info.queryParameters) && info.queryParameters.length) {\n const [param] = info.queryParameters;\n result.name = param.name as string;\n result.method = 'query';\n return result;\n }\n return result;\n }\n\n /**\n * Updates list of OAuth grant types supported by current endpoint.\n * The information should be available in RAML file.\n *\n * @param supportedTypes List of supported types. If empty\n * or not set then all available types will be displayed.\n */\n updateGrantTypes(supportedTypes?: string[]): void {\n const available = this.computeGrantList(supportedTypes);\n this.grantTypes = available;\n \n const auth = this.ensureConfig();\n const config = auth.config as IOAuth2Authorization;\n\n // check if current selection is still available\n const current = config.grantType;\n const hasCurrent = current ?\n available.some((item) => item.type === current) : false;\n if (!hasCurrent) {\n config.grantType = available[0].type;\n this.applyFlow();\n } else if (available.length === 1) {\n config.grantType = available[0].type;\n this.applyFlow();\n } else {\n this.applyFlow(current);\n }\n }\n\n /**\n * Computes list of grant types to render in the form.\n *\n * @param allowed List of types allowed by the\n * component configuration or API spec applied to this element. If empty\n * or not set then all OAuth 2.0 default types are returned.\n */\n computeGrantList(allowed?: string[]): IOauth2GrantType[] {\n let defaults = Array.from(oauth2GrantTypes);\n if (!allowed || !allowed.length) {\n return defaults;\n }\n // eslint-disable-next-line no-param-reassign\n allowed = Array.from(allowed);\n for (let i = defaults.length - 1; i >= 0; i--) {\n const index = allowed.indexOf(defaults[i].type);\n if (index === -1) {\n defaults.splice(i, 1);\n } else {\n allowed.splice(index, 1);\n }\n }\n if (allowed.length) {\n const mapped: IOauth2GrantType[] = allowed.map((item) => ({\n label: item,\n type: item\n }));\n defaults = defaults.concat(mapped);\n }\n return defaults;\n }\n\n /**\n * It's quite a bit naive approach to determine whether given model is RAML's\n * or OAS'. There is a significant difference of how to treat grant types\n * (in OAS it is called flows). While in OAS it is mandatory to define a grant type\n * (a flow) RAML has no such requirement. By default this component assumes that\n * all standard (OAuth 2 defined) grant types are supported when grant types are not\n * defined. So it is possible to not define them and the component will work.\n * However, in the AMF model there's always at least one grant type (a flow) whether\n * it's RAML's or OAS' and whether grant type is defined or not.\n *\n * To apply correct settings this component needs to know how to process the data.\n * If it's OAS then when changing grant type it also changes current settings\n * (like scopes, auth uri, etc). If the model is RAML's then change in current grant type\n * won't trigger settings setup.\n *\n * Note, this function returns true when there's no flows whatsoever. It's not\n * really what it means but it is consistent with component's logic.\n *\n * Current method is deterministic and when AMF model change this most probably stop\n * working. It tests whether there's a single grant type and this grant type\n * has no AMF's `security:flow` property.\n *\n * @param flows List of current flows loaded with the AMF model.\n * @returns True if current model should be treated as RAML's model.\n */\n isRamlFlow(flows: ApiDefinitions.IApiSecurityOAuth2Flow[]): boolean {\n if (!Array.isArray(flows)) {\n return true;\n }\n let result = false;\n if (flows.length === 1) {\n const type = flows[0].flow;\n if (!type) {\n result = true;\n }\n }\n return result;\n }\n\n /**\n * Reads API security definition and applies in to the view as predefined\n * values.\n *\n * @param model AMF model describing settings of the security\n * scheme\n */\n preFillAmfData(model: ApiDefinitions.IApiSecurityOAuth2Settings): void {\n if (!model) {\n return;\n }\n const { flows, authorizationGrants } = model;\n if (Array.isArray(flows) && !this.isRamlFlow(flows)) {\n this.preFillFlowData(flows);\n return;\n }\n const auth = this.ensureConfig();\n const config = auth.config as IOAuth2Authorization;\n const [flow] = flows;\n config.authorizationUri = this.overrideAuthorizationUri || flow.authorizationUri;\n config.accessTokenUri = this.overrideAccessTokenUri || flow.accessTokenUri || '';\n config.scopes = (flow.scopes || []).map(s => s.name) as string[];\n\n const settingsExtension = this.findOauth2CustomSettings(model);\n const grants = this.computeGrants(settingsExtension, authorizationGrants);\n\n if (grants.length) {\n const index = grants.indexOf('code');\n if (index !== -1) {\n grants[index] = 'authorization_code';\n }\n this.updateGrantTypes(grants);\n } else {\n this.updateGrantTypes();\n }\n this.setupAnnotationParameters(settingsExtension);\n config.pkce = this.readPkceValue(model) || false;\n }\n\n /**\n * API console supports an annotation with additional settings form the OAuth2 authorization\n * defined in https://github.com/raml-org/raml-annotations/blob/master/annotations/security-schemes/oauth-2-custom-settings.raml\n * \n * This reads (RAML) annotations to build the UI for these settings.\n *\n * @param model AMF model describing settings of the security scheme\n * @returns The extension definition or null\n */\n findOauth2CustomSettings(model: ApiDefinitions.IApiSecurityOAuth2Settings): IApiCustomDomainProperty | undefined {\n const { customDomainProperties = [] } = model;\n const properties = ['accessTokenSettings', 'authorizationGrants', 'authorizationSettings'];\n return customDomainProperties.find((prop) => {\n const node = prop.extension as AmfShapes.IApiObjectNode;\n if (!node.properties || !node.types.includes(AmfNamespace.aml.vocabularies.data.Object)) {\n return false;\n }\n return Object.keys(node.properties).some(name => properties.includes(name));\n });\n }\n\n /**\n * Computes the final list of authorization grants defined in the spec and with applied annotation defined in\n * https://github.com/raml-org/raml-annotations/blob/master/annotations/security-schemes/oauth-2-custom-settings.raml\n * \n * @param grans The API spec annotation grants\n * @param customProperty The domain extension with the custom data\n * @returns The list of authorization grants to apply to the current operation.\n */\n computeGrants(customProperty?: IApiCustomDomainProperty, grans: string[] = []): string[] {\n if (!customProperty || !customProperty.extension || !customProperty.extension.types.includes(AmfNamespace.aml.vocabularies.data.Object)) {\n return grans;\n }\n const typed = customProperty.extension as AmfShapes.IApiObjectNode;\n if (!typed.properties.authorizationGrants) {\n return grans;\n }\n const array = typed.properties.authorizationGrants as AmfShapes.IApiArrayNode;\n const addedGrants: string[] = [];\n array.members.forEach((g) => {\n if (!g.types.includes(AmfNamespace.aml.vocabularies.data.Scalar)) {\n return;\n }\n const scalar = g as AmfShapes.IApiScalarNode;\n if (scalar.value) {\n addedGrants.push(scalar.value);\n }\n });\n let result = grans;\n if (typed.properties.ignoreDefaultGrants) {\n result = [];\n }\n result = result.concat(addedGrants);\n return result;\n }\n\n /**\n * Pre-fills authorization data with OAS' definition of a grant type\n * which they call a flow. This method populates form with the information\n * find in the model.\n *\n * It tries to match a flow to currently selected `grantType`. When no match\n * then it takes first flow.\n *\n * Note, flow data are applied when `grantType` change.\n *\n * @param flows List of flows in the authorization description.\n */\n preFillFlowData(flows: ApiDefinitions.IApiSecurityOAuth2Flow[]): void {\n const auth = this.ensureConfig();\n const config = auth.config as IOAuth2Authorization;\n // first step is to select the right flow.\n // If the user already selected a grant type before then it this looks\n // for a flow for already selected grant type. If its not present then\n // it uses first available flow.\n let flow = this.flowForType(flows, config.grantType);\n if (!flow) {\n [flow] = flows;\n }\n // finally sets grant types from flows\n const grantTypes = this.readFlowsTypes(flows);\n this.updateGrantTypes(grantTypes);\n }\n\n /**\n * Searches for a flow in the list of flows for given name.\n *\n * @param flows List of flows to search in.\n * @param type Grant type\n */\n flowForType(flows: ApiDefinitions.IApiSecurityOAuth2Flow[], type?: string): ApiDefinitions.IApiSecurityOAuth2Flow | undefined {\n if (!type) {\n return undefined;\n }\n for (let i = 0, len = flows.length; i < len; i++) {\n const flow = flows[i];\n if (flow.flow === type) {\n // true for `implicit`, `password`\n return flow;\n }\n if (type === 'authorization_code' && flow.flow === 'authorizationCode') {\n return flow;\n }\n if (type === 'client_credentials' && flow.flow === 'clientCredentials') {\n return flow;\n }\n }\n return undefined;\n }\n\n /**\n * Reads list of scopes from a flow.\n *\n * @param flow A flow to process.\n * @returns List of scopes required by an endpoint / API.\n */\n readFlowScopes(flow: ApiDefinitions.IApiSecurityOAuth2Flow): string[] | undefined {\n const { security } = this;\n let scopes = this.readSecurityScopes(flow.scopes);\n if (scopes || !security) {\n return scopes;\n }\n // if scopes are not defined in the operation then they may be defined in\n // security settings.\n const config = security.scheme && security.scheme.settings as ApiDefinitions.IApiSecurityOAuth2Settings | undefined;\n if (!config || !config.flows) {\n return undefined;\n }\n const [mainFlow] = config.flows;\n if (mainFlow) {\n scopes = this.readSecurityScopes(mainFlow.scopes);\n }\n return scopes;\n }\n\n /**\n * Reads list of grant types from the list of flows.\n *\n * @param flows List of flows to process.\n * @returns Grant types supported by this authorization.\n */\n readFlowsTypes(flows: ApiDefinitions.IApiSecurityOAuth2Flow[]): string[] {\n const grants: string[] = [];\n flows.forEach((flow) => {\n let type = flow.flow;\n if (!type) {\n return;\n }\n if (type === 'authorizationCode') {\n type = 'authorization_code';\n } else if (type === 'clientCredentials') {\n type = 'client_credentials';\n }\n grants[grants.length] = type;\n });\n return grants;\n }\n\n /**\n * Applies settings from a flow to current properties.\n * OAS' flows may define different configuration for each flow.\n * This function is called each time a grant type change. If current settings\n * does not contain flows then this is ignored.\n *\n * @param name Set grant type\n */\n applyFlow(name?: string): void {\n if (!name) {\n return;\n }\n const { security } = this;\n if (!security || !security.scheme || !security.scheme.settings) {\n return;\n }\n const config = security.scheme.settings as ApiDefinitions.IApiSecurityOAuth2Settings;\n const { flows } = config;\n if (!Array.isArray(flows) || this.isRamlFlow(flows)) {\n return;\n }\n if (name === 'client_credentials') {\n name = 'clientCredentials';\n } else if (name === 'authorization_code') {\n name = 'authorizationCode';\n }\n const auth = this.ensureConfig();\n const authConfig = auth.config as IOAuth2Authorization;\n const flow = flows.find(team => team.flow === name);\n // sets basic oauth properties.\n authConfig.scopes = (flow ? this.readFlowScopes(flow) : []) as string[];\n authConfig.authorizationUri = this.overrideAuthorizationUri || flow && flow.authorizationUri || '';\n authConfig.accessTokenUri = this.overrideAccessTokenUri || flow && flow.accessTokenUri || '';\n }\n\n /**\n * Extracts scopes list from the security definition\n */\n readSecurityScopes(scopes: ApiDefinitions.IApiSecurityScope[]): string[] | undefined {\n if (!scopes) {\n return undefined;\n }\n const result = scopes.map(s => s.name).filter(s => !!s) as string[];\n if (!result.length) {\n return undefined;\n }\n return result;\n }\n\n /**\n * Checks whether the security scheme is annotated with the `pkce` annotation.\n * This annotation is published at https://github.com/raml-org/raml-annotations/tree/master/annotations/security-schemes\n * @param model Model for the security settings\n * @returns True if the security settings are annotated with PKCE extension\n */\n readPkceValue(model: ApiDefinitions.IApiSecurityOAuth2Settings): boolean | undefined {\n const { customDomainProperties } = model;\n if (!Array.isArray(customDomainProperties) || !customDomainProperties.length) {\n return undefined;\n }\n const pkce = customDomainProperties.find(e => e.name === 'pkce');\n if (!pkce) {\n return undefined;\n }\n const info = pkce.extension as AmfShapes.IApiScalarNode;\n if (info.dataType === AmfNamespace.w3.xmlSchema.boolean) {\n return info.value === 'true';\n }\n return undefined;\n }\n\n /**\n * Adds `customData` property values that can be applied to the\n * authorization request.\n *\n * @param detail Token request detail object. The object is passed\n * by reference so no need for return value\n */\n computeAuthCustomData(detail: IOAuth2Authorization): void {\n const all = this.amfParameters.parametersValue;\n const params = all.filter(p => p.binding === 'authQuery');\n if (params.length) {\n if (!detail.customData) {\n detail.customData = {};\n }\n if (!detail.customData.auth) {\n detail.customData.auth = {};\n }\n detail.customData.auth.parameters = this.computeCustomParameters(params, 'authQuery');\n }\n }\n\n /**\n * Adds `customData` property values that can be applied to the\n * token request.\n *\n * @param detail Token request detail object. The object is passed\n * by reference so no need for return value\n */\n computeTokenCustomData(detail: IOAuth2Authorization): void {\n const params = this.amfParameters.parametersValue;\n const tqp = params.filter(p => p.binding === 'tokenQuery');\n const th = params.filter(p => p.binding === 'tokenHeader');\n const tb = params.filter(p => p.binding === 'tokenBody');\n if (!detail.customData) {\n detail.customData = {};\n }\n if (!detail.customData.token) {\n detail.customData.token = {};\n }\n if (!detail.customData.token) {\n detail.customData.token = {};\n }\n if (tqp.length) {\n detail.customData.token.parameters = this.computeCustomParameters(tqp, 'tokenQuery');\n }\n if (th.length) {\n detail.customData.token.headers = this.computeCustomParameters(th, 'tokenHeader');\n }\n if (tb.length) {\n detail.customData.token.body = this.computeCustomParameters(tb, 'tokenBody');\n }\n }\n\n /**\n * Sets up annotation supported variables to apply form view for:\n * - authorization query parameters\n * - authorization headers\n * - token query parameters\n * - token headers\n * - token body\n *\n * @param customProperty Annotation applied to the OAuth settings\n */\n setupAnnotationParameters(customProperty?: IApiCustomDomainProperty): void {\n this.amfParameters.parametersValue = [];\n /* istanbul ignore if */\n if (!customProperty || !customProperty.extension) {\n return;\n }\n const typed = customProperty.extension as AmfShapes.IApiObjectNode;\n const authSettings = (typed.properties.authorizationSettings as AmfShapes.IApiObjectNode | undefined);\n const tokenSettings = (typed.properties.accessTokenSettings as AmfShapes.IApiObjectNode | undefined);\n if (authSettings) {\n const qp = (authSettings.properties.queryParameters as AmfShapes.IApiObjectNode | undefined);\n if (qp && qp.properties) {\n this.setupAuthRequestQueryParameters(qp.properties);\n }\n }\n if (tokenSettings) {\n const qp = (tokenSettings.properties.queryParameters as AmfShapes.IApiObjectNode | undefined);\n const headerParams = (tokenSettings.properties.headers as AmfShapes.IApiObjectNode | undefined);\n const bodyParams = (tokenSettings.properties.body as AmfShapes.IApiObjectNode | undefined);\n if (qp && qp.properties) {\n this.setupTokenRequestQueryParameters(qp.properties);\n }\n if (headerParams && headerParams.properties) {\n this.setupTokenRequestHeaders(headerParams.properties);\n }\n if (bodyParams && bodyParams.properties) {\n this.setupTokenRequestBody(bodyParams.properties);\n }\n }\n }\n\n /**\n * Appends a list of parameters to the list of rendered parameters\n */\n appendToParams(list: ApiDefinitions.IApiParameter[], source: string): void {\n const params = this.amfParameters.parametersValue;\n if (Array.isArray(list)) {\n list.forEach((param) => {\n params.push({\n paramId: param.id,\n parameter: { ...param, binding: source },\n binding: source,\n source,\n schema: param.schema,\n schemaId: param.schema && param.schema.id ? param.schema.id : undefined,\n });\n });\n }\n }\n\n /**\n * Sets up query parameters to be used with authorization request.\n *\n * @param properties List of parameters from the annotation.\n */\n setupAuthRequestQueryParameters(properties: { [key: string]: AmfShapes.IApiDataNodeUnion }): void {\n const source = 'authQuery';\n this.amfParameters.parametersValue = this.amfParameters.parametersValue.filter(item => item.source !== source);\n const factory = new Oauth2RamlCustomData();\n const items = factory.readParams(properties);\n this.appendToParams(items, source);\n }\n\n /**\n * Sets up query parameters to be used with token request.\n *\n * @param properties List of parameters from the annotation.\n */\n setupTokenRequestQueryParameters(properties: { [key: string]: AmfShapes.IApiDataNodeUnion }): void {\n const source = 'tokenQuery';\n this.amfParameters.parametersValue = this.amfParameters.parametersValue.filter(item => item.source !== source);\n const factory = new Oauth2RamlCustomData();\n const items = factory.readParams(properties);\n this.appendToParams(items, source);\n }\n\n /**\n * Sets up headers to be used with token request.\n *\n * @param properties params List of parameters from the annotation.\n */\n setupTokenRequestHeaders(properties: { [key: string]: AmfShapes.IApiDataNodeUnion }): void {\n const source = 'tokenHeader';\n this.amfParameters.parametersValue = this.amfParameters.parametersValue.filter(item => item.source !== source);\n const factory = new Oauth2RamlCustomData();\n const items = factory.readParams(properties);\n this.appendToParams(items, source);\n }\n\n /**\n * Sets up body parameters to be used with token request.\n *\n * @param properties params List of parameters from the annotation.\n */\n setupTokenRequestBody(properties: { [key: string]: AmfShapes.IApiDataNodeUnion }): void {\n const source = 'tokenBody';\n this.amfParameters.parametersValue = this.amfParameters.parametersValue.filter(item => item.source !== source);\n const factory = new Oauth2RamlCustomData();\n const items = factory.readParams(properties);\n this.appendToParams(items, source);\n }\n\n /**\n * Computes list of parameter values from current model.\n *\n * This function ignores empty values if they are not required.\n * Required property are always included, even if the value is not set.\n *\n * @param params Model for form inputs.\n * @param reportKey The key name in the report.\n * @returns Array of objects with `name` and `value` properties or undefined if `params` is empty or no values are available.\n */\n computeCustomParameters(params: OperationParameter[], reportKey: keyof BindingType): IOAuth2CustomParameter[] {\n const result: IOAuth2CustomParameter[] = [];\n const report = AmfInputParser.reportRequestInputs(params.map(p => p.parameter), InputCache.getStore(this, true), this.amfParameters.nilValues);\n const values = report[reportKey];\n if (!values) {\n return result;\n }\n Object.keys(values).forEach((key) => {\n const value = values[key];\n const info = params.find(p => p.parameter.name === key) as OperationParameter;\n if (info.parameter.required !== true) {\n const type = typeof value;\n if (type === 'number') {\n if (!value && value !== 0) {\n return;\n }\n }\n if (type === 'string') {\n if (!value) {\n return;\n }\n }\n if (Array.isArray(value)) {\n if (!value[0]) {\n return;\n }\n }\n if (type === 'undefined') {\n return;\n }\n }\n result.push({\n name: key,\n value: value || ''\n });\n });\n return result;\n }\n\n override renderCustomProperties(): TemplateResult {\n const params = this.amfParameters.parametersValue;\n const aqp = params.filter(p => p.binding === 'authQuery');\n const tqp = params.filter(p => p.binding === 'tokenQuery');\n const th = params.filter(p => p.binding === 'tokenHeader');\n const tb = params.filter(p => p.binding === 'tokenBody');\n return html`\n ${aqp.length ? html`\n <section class=\"params-section\">\n <div class=\"section-title\"><span class=\"label\">Authorization request query parameters</span></div>\n ${aqp.map(param => this.amfParameters.parameterTemplate(param))}\n </section>\n ` : ''}\n ${tqp.length ? html`\n <section class=\"params-section\">\n <div class=\"section-title\"><span class=\"label\">Token request query parameters</span></div>\n ${tqp.map(param => this.amfParameters.parameterTemplate(param))}\n </section>\n ` : ''}\n ${th.length ? html`\n <section class=\"params-section\">\n <div class=\"section-title\"><span class=\"label\">Token request headers</span></div>\n ${th.map(param => this.amfParameters.parameterTemplate(param))}\n </section>\n ` : ''}\n ${tb.length ? html`\n <section class=\"params-section\">\n <div class=\"section-title\"><span class=\"label\">Token request body</span></div>\n ${tb.map(param => this.amfParameters.parameterTemplate(param))}\n </section>\n ` : ''}\n `;\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { ApiDefinitions, IRequestAuthorization } from "@api-client/core/build/browser.js";
1
+ import { ApiDefinitions, IRequestAuthorization } from "@api-client/core/build/esm/browser.js";
2
2
  import { PropertyValues } from "lit";
3
3
  import OidcAuthorization from "../../authorization/ui/OidcAuthorization.js";
4
4
  export default class AmfOidc extends OidcAuthorization {
@@ -1 +1 @@
1
- {"version":3,"file":"AmfOidc.d.ts","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfOidc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAsB,qBAAqB,EAA4B,MAAM,mCAAmC,CAAC;AACxI,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAErC,OAAO,iBAAiB,MAAM,6CAA6C,CAAC;AAE5E,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,iBAAiB;IACpD;;OAEG;IACyB,QAAQ,CAAC,EAAE,cAAc,CAAC,8BAA8B,CAAC;cAElE,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO7D,SAAS,CAAC,YAAY,IAAI,qBAAqB;IAc/C,SAAS,CAAC,aAAa,IAAI,IAAI;CA0BhC"}
1
+ {"version":3,"file":"AmfOidc.d.ts","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfOidc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAsB,qBAAqB,EAA4B,MAAM,uCAAuC,CAAC;AAC5I,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAErC,OAAO,iBAAiB,MAAM,6CAA6C,CAAC;AAE5E,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,iBAAiB;IACpD;;OAEG;IACyB,QAAQ,CAAC,EAAE,cAAc,CAAC,8BAA8B,CAAC;cAElE,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO7D,SAAS,CAAC,YAAY,IAAI,qBAAqB;IAc/C,SAAS,CAAC,aAAa,IAAI,IAAI;CA0BhC"}
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { RequestAuthorizationKind } from "@api-client/core/build/browser.js";
2
+ import { RequestAuthorizationKind } from "@api-client/core/build/esm/browser.js";
3
3
  import { property } from "lit/decorators.js";
4
4
  import OidcAuthorization from "../../authorization/ui/OidcAuthorization.js";
5
5
  export default class AmfOidc extends OidcAuthorization {
@@ -1 +1 @@
1
- {"version":3,"file":"AmfOidc.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfOidc.ts"],"names":[],"mappings":";AAAA,OAAO,EAA6D,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAExI,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,iBAAiB,MAAM,6CAA6C,CAAC;AAE5E,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,iBAAiB;IAMjC,UAAU,CAAC,EAAwB;QACpD,IAAI,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YACtB,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;QACD,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAES,YAAY;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG;gBACnB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,EACe;aACxB,CAAC;SACH;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAES,aAAa;QACrB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEjC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAwE,CAAC;QACjG,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,MAA4B,CAAC;QAC9C,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC;QACpB,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;CACF;AAjD6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yCAA0D","sourcesContent":["import { ApiDefinitions, IOidcAuthorization, IRequestAuthorization, RequestAuthorizationKind } from \"@api-client/core/build/browser.js\";\nimport { PropertyValues } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport OidcAuthorization from \"../../authorization/ui/OidcAuthorization.js\";\n\nexport default class AmfOidc extends OidcAuthorization {\n /**\n * The in-memory key where the values are stored.\n */\n @property({ type: Object }) security?: ApiDefinitions.IApiParametrizedSecurityScheme;\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('security')) {\n this.restoreValues();\n }\n super.willUpdate(cp);\n }\n\n protected ensureConfig(): IRequestAuthorization {\n if (!this.authorization) {\n this.authorization = {\n enabled: true,\n kind: RequestAuthorizationKind,\n type: 'oauth 2',\n valid: false,\n config: {\n } as IOidcAuthorization,\n };\n }\n return this.authorization;\n }\n\n protected restoreValues(): void {\n const { security } = this;\n this.authorization = undefined;\n const auth = this.ensureConfig();\n\n if (!security) {\n return;\n }\n\n const { scheme } = security;\n if (!scheme) {\n return;\n }\n const settings = scheme.settings as ApiDefinitions.IApiSecurityOpenIdConnectSettings | undefined;\n if (!settings) {\n return;\n }\n const { url } = settings;\n const cnf = auth.config as IOidcAuthorization;\n cnf.issuerUri = url;\n if (url) {\n this.discover();\n }\n auth.config = this.serialize();\n this.notifyChange();\n }\n}\n"]}
1
+ {"version":3,"file":"AmfOidc.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfOidc.ts"],"names":[],"mappings":";AAAA,OAAO,EAA6D,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAE5I,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,iBAAiB,MAAM,6CAA6C,CAAC;AAE5E,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,iBAAiB;IAMjC,UAAU,CAAC,EAAwB;QACpD,IAAI,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YACtB,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;QACD,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAES,YAAY;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG;gBACnB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,EACe;aACxB,CAAC;SACH;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAES,aAAa;QACrB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEjC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAwE,CAAC;QACjG,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,MAA4B,CAAC;QAC9C,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC;QACpB,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;CACF;AAjD6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yCAA0D","sourcesContent":["import { ApiDefinitions, IOidcAuthorization, IRequestAuthorization, RequestAuthorizationKind } from \"@api-client/core/build/esm/browser.js\";\nimport { PropertyValues } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport OidcAuthorization from \"../../authorization/ui/OidcAuthorization.js\";\n\nexport default class AmfOidc extends OidcAuthorization {\n /**\n * The in-memory key where the values are stored.\n */\n @property({ type: Object }) security?: ApiDefinitions.IApiParametrizedSecurityScheme;\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('security')) {\n this.restoreValues();\n }\n super.willUpdate(cp);\n }\n\n protected ensureConfig(): IRequestAuthorization {\n if (!this.authorization) {\n this.authorization = {\n enabled: true,\n kind: RequestAuthorizationKind,\n type: 'oauth 2',\n valid: false,\n config: {\n } as IOidcAuthorization,\n };\n }\n return this.authorization;\n }\n\n protected restoreValues(): void {\n const { security } = this;\n this.authorization = undefined;\n const auth = this.ensureConfig();\n\n if (!security) {\n return;\n }\n\n const { scheme } = security;\n if (!scheme) {\n return;\n }\n const settings = scheme.settings as ApiDefinitions.IApiSecurityOpenIdConnectSettings | undefined;\n if (!settings) {\n return;\n }\n const { url } = settings;\n const cnf = auth.config as IOidcAuthorization;\n cnf.issuerUri = url;\n if (url) {\n this.discover();\n }\n auth.config = this.serialize();\n this.notifyChange();\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { nothing, PropertyValues, TemplateResult } from "lit";
2
- import { IPassThroughAuthorization, ApiDefinitions, IRequestAuthorization, AmfShapes } from "@api-client/core/build/browser.js";
2
+ import { IPassThroughAuthorization, ApiDefinitions, IRequestAuthorization, AmfShapes } from "@api-client/core/build/esm/browser.js";
3
3
  import { Authorization } from "../../authorization/ui/Authorization.js";
4
4
  import { AmfParameters } from "../../../amf/lib/AmfParameters.js";
5
5
  export default class AmfPassThrough extends Authorization {
@@ -1 +1 @@
1
- {"version":3,"file":"AmfPassThrough.d.ts","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfPassThrough.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAEpE,OAAO,EAA4B,yBAAyB,EAAE,cAAc,EAAE,qBAAqB,EAAgB,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAExK,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,aAAa;IACvD;;OAEG;IACyB,QAAQ,CAAC,EAAE,cAAc,CAAC,8BAA8B,CAAC;IAErF,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAE9B,UAAU,CAAC,EAAE,MAAM,CAAC;;cAWV,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO7D,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAKnC,SAAS,CAAC,YAAY,IAAI,qBAAqB;IAa/C,SAAS,CAAC,aAAa,IAAI,IAAI;IA8B/B,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI;IAsB3D;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,EAAE,KAAK,UAAQ,GAAG,IAAI;IAqBrG;;;;;;;;OAQG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAS1D;;;;;;;;;;OAUG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IASlD,SAAS,IAAI,yBAAyB;IAyB7B,aAAa,IAAI,OAAO;IAexB,MAAM,IAAI,cAAc;IAOjC,SAAS,CAAC,YAAY,IAAI,cAAc,GAAG,OAAO,OAAO;IAUzD,eAAe,IAAI,cAAc,GAAG,OAAO,OAAO;IAWlD,aAAa,IAAI,cAAc,GAAG,OAAO,OAAO;cAW7B,YAAY,IAAI,cAAc,GAAG,OAAO,OAAO;CAQnE"}
1
+ {"version":3,"file":"AmfPassThrough.d.ts","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfPassThrough.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAEpE,OAAO,EAA4B,yBAAyB,EAAE,cAAc,EAAE,qBAAqB,EAAgB,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAE5K,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,aAAa;IACvD;;OAEG;IACyB,QAAQ,CAAC,EAAE,cAAc,CAAC,8BAA8B,CAAC;IAErF,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAE9B,UAAU,CAAC,EAAE,MAAM,CAAC;;cAWV,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO7D,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAKnC,SAAS,CAAC,YAAY,IAAI,qBAAqB;IAa/C,SAAS,CAAC,aAAa,IAAI,IAAI;IA8B/B,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI;IAsB3D;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,EAAE,KAAK,UAAQ,GAAG,IAAI;IAqBrG;;;;;;;;OAQG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAS1D;;;;;;;;;;OAUG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IASlD,SAAS,IAAI,yBAAyB;IAyB7B,aAAa,IAAI,OAAO;IAexB,MAAM,IAAI,cAAc;IAOjC,SAAS,CAAC,YAAY,IAAI,cAAc,GAAG,OAAO,OAAO;IAUzD,eAAe,IAAI,cAAc,GAAG,OAAO,OAAO;IAWlD,aAAa,IAAI,cAAc,GAAG,OAAO,OAAO;cAW7B,YAAY,IAAI,cAAc,GAAG,OAAO,OAAO;CAQnE"}
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { html, nothing } from "lit";
3
3
  import { property, state } from "lit/decorators.js";
4
- import { RequestAuthorizationKind, AmfNamespace } from "@api-client/core/build/browser.js";
4
+ import { RequestAuthorizationKind, AmfNamespace } from "@api-client/core/build/esm/browser.js";
5
5
  import * as InputCache from '../../../amf/lib/InputCache.js';
6
6
  import { Authorization } from "../../authorization/ui/Authorization.js";
7
7
  import { AmfParameters } from "../../../amf/lib/AmfParameters.js";
@@ -1 +1 @@
1
- {"version":3,"file":"AmfPassThrough.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfPassThrough.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkC,MAAM,KAAK,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAoE,YAAY,EAAa,MAAM,mCAAmC,CAAC;AACxK,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,aAAa;IAUvD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACrF,CAAC;IAEkB,UAAU,CAAC,EAAwB;QACpD,IAAI,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YACtB,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;QACD,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAES,iBAAiB;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAES,YAAY;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG;gBACnB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,EAAgC;aACzC,CAAC;SACH;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAES,aAAa;QACrB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,UAAU,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;QAChD,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACjF,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE;YAC5G,OAAO;SACR;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;YAC7C,OAAO;SACR;QAED,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QACzD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,WAAW,IAAI,CAAC,CAAC,eAAe,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;YAChE,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;SACrC;QACD,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC;QAC/C,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,iBAAiB,CAAC,WAAkC;QAClD,MAAM,MAAM,GAAG,WAAsC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE;YACnD,OAAO;SACR;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1C,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;YAC/C,OAAO;gBACL,EAAE;gBACF,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,KAAK;gBACb,IAAI;gBACJ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,KAAK,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC;gBAC5D,QAAQ,EAAE,QAAQ,GAAG,CAAC;gBACtB,sBAAsB,EAAE,EAAE;aACK,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,IAAoC,EAAE,MAA0B,EAAE,KAAK,GAAG,KAAK;QAC5F,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAC/B,IAAI,MAAM,GAAG,aAAa,CAAC,eAAe,CAAC;QAC3C,IAAI,KAAK,EAAE;YACT,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;SAClD;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrB,MAAM,CAAC,IAAI,CAAC;oBACV,OAAO,EAAE,KAAK,CAAC,EAAE;oBACjB,SAAS,EAAE,KAAK;oBAChB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;oBAC5B,MAAM;oBACN,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,QAAQ,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;iBACxE,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,MAAM,CAAC;IAC9C,CAAC;IAED;;;;;;;;OAQG;IACH,oBAAoB,CAAC,IAAY,EAAE,QAAgB;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACjF,IAAI,KAAK,EAAE;YACT,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,YAAY,CAAC,IAAY,EAAE,QAAgB;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAClF,IAAI,KAAK,EAAE;YACT,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAED,SAAS;QACP,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;QAClD,MAAM,MAAM,GAA8B,EAAE,CAAC;QAC7C,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAA0C,CAAC,EAAE;gBAC7D,MAAM,CAAC,KAAK,CAAC,OAA0C,CAAC,GAAG,EAAE,CAAC;aAC/D;YACD,IAAI,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAqB,CAAC;YAC1E,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvC,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,KAAK,KAAK,EAAE;oBACtC,OAAO;iBACR;gBACD,KAAK,GAAG,EAAE,CAAC;aACZ;YACD,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,KAAK,KAAK,EAAE;gBACzD,OAAO;aACR;YACD,IAAI,KAAK,KAAK,IAAI,EAAE;gBAClB,KAAK,GAAG,EAAE,CAAC;aACZ;YACA,MAAM,CAAC,KAAK,CAAC,OAA0C,CAA4B,CAAC,KAAK,CAAC,SAAS,CAAC,IAAuC,CAAC,GAAG,KAAe,CAAC;QAClK,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAEQ,aAAa;QACpB,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC1D,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YAChD,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;gBACrC,OAAO,KAAK,CAAC;aACd;YACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACvC,OAAO,KAAK,CAAC;aACd;YACD,OAAO,CAAC,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,UAAU,CAAC;IACrB,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAA;MACT,IAAI,CAAC,YAAY,EAAE;MACnB,IAAI,CAAC,YAAY,EAAE;KACpB,CAAC;IACJ,CAAC;IAES,YAAY;QACpB,OAAO,IAAI,CAAA;;QAEP,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,CAAC,aAAa,EAAE;;MAEtB,IAAI,CAAC,cAAc,EAAE;KACtB,CAAC;IACJ,CAAC;IAED,eAAe;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;QAC7F,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACnB,OAAO,OAAO,CAAC;SAChB;QACD,OAAO,IAAI,CAAA;;MAET,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;KAClE,CAAC;IACJ,CAAC;IAED,aAAa;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;QAC3F,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,OAAO,OAAO,CAAC;SAChB;QACD,OAAO,IAAI,CAAA;;MAET,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;KACjE,CAAC;IACJ,CAAC;IAEkB,YAAY;QAC7B,MAAM,EAAE,UAAU,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC;QAC7C,OAAO,IAAI,CAAA;;yCAE0B,UAAU;;KAE9C,CAAC;IACJ,CAAC;CACF;AApP6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDAA0D;AAI5E;IAAR,KAAK,EAAE;kDAAqB","sourcesContent":["import { html, nothing, PropertyValues, TemplateResult } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { RequestAuthorizationKind, IPassThroughAuthorization, ApiDefinitions, IRequestAuthorization, AmfNamespace, AmfShapes } from \"@api-client/core/build/browser.js\";\nimport * as InputCache from '../../../amf/lib/InputCache.js';\nimport { Authorization } from \"../../authorization/ui/Authorization.js\";\nimport { AmfParameters } from \"../../../amf/lib/AmfParameters.js\";\n\nexport default class AmfPassThrough extends Authorization {\n /**\n * The in-memory key where the values are stored.\n */\n @property({ type: Object }) security?: ApiDefinitions.IApiParametrizedSecurityScheme;\n\n protected amfParameters: AmfParameters;\n\n @state() schemeName?: string;\n\n constructor() {\n super();\n this.amfParameters = new AmfParameters(this);\n this.amfParameters.globalCache = true;\n this.amfParameters.addEventListener('render', () => this.requestUpdate());\n this.amfParameters.addEventListener('change', () => this.notifyChange());\n this.amfParameters.addEventListener('paramchange', () => this.handleParamChange());\n }\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('security')) {\n this.restoreValues();\n }\n super.willUpdate(cp);\n }\n\n protected handleParamChange(): void {\n const auth = this.ensureConfig();\n auth.config = this.serialize();\n }\n\n protected ensureConfig(): IRequestAuthorization {\n if (!this.authorization) {\n this.authorization = {\n enabled: true,\n kind: RequestAuthorizationKind,\n type: 'pass through',\n valid: false,\n config: { } as IPassThroughAuthorization,\n };\n }\n return this.authorization;\n }\n\n protected restoreValues(): void {\n const { security } = this;\n const auth = this.ensureConfig();\n const source = 'settings';\n const list = this.amfParameters.parametersValue;\n this.amfParameters.parametersValue = list.filter(item => item.source !== source);\n if (!security || !security.types.includes(AmfNamespace.aml.vocabularies.security.ParametrizedSecurityScheme)) {\n return;\n }\n const { scheme } = security;\n if (!scheme) {\n return;\n }\n const { type } = scheme;\n if (!type || !type.startsWith('Pass Through')) {\n return;\n }\n\n const { headers, queryParameters, queryString } = scheme;\n this.appendToParams(headers, 'header', true);\n this.appendToParams(queryParameters, 'query', true);\n if (queryString && (!queryParameters || !queryParameters.length)) {\n this.appendQueryString(queryString);\n }\n this.schemeName = security.name || scheme.name;\n this.notifyChange();\n this.requestUpdate();\n auth.config = this.serialize();\n }\n\n appendQueryString(queryString: AmfShapes.IShapeUnion): void {\n const object = queryString as AmfShapes.IApiNodeShape;\n if (!object.properties || !object.properties.length) {\n return;\n }\n const list = object.properties.map((item) => {\n const { id, range, name, minCount = 0 } = item;\n return {\n id,\n binding: 'query',\n schema: range,\n name,\n examples: [],\n payloads: [],\n types: [AmfNamespace.aml.vocabularies.apiContract.Parameter],\n required: minCount > 0,\n customDomainProperties: [],\n } as ApiDefinitions.IApiParameter;\n });\n this.appendToParams(list, 'query', true);\n }\n\n /**\n * Appends a list of parameters to the list of rendered parameters.\n * @param list\n * @param source\n * @param clear When set it clears the previously set parameters\n */\n appendToParams(list: ApiDefinitions.IApiParameter[], source: 'header' | 'query', clear = false): void {\n const { amfParameters } = this;\n let params = amfParameters.parametersValue;\n if (clear) {\n params = params.filter(p => p.source !== source);\n }\n if (Array.isArray(list)) {\n list.forEach((param) => {\n params.push({\n paramId: param.id,\n parameter: param,\n binding: param.binding || '',\n source,\n schema: param.schema,\n schemaId: param.schema && param.schema.id ? param.schema.id : undefined,\n });\n });\n }\n this.amfParameters.parametersValue = params;\n }\n\n /**\n * Updates, if applicable, query parameter value.\n *\n * This does nothing if the query parameter has not been defined for the current\n * scheme.\n *\n * @param name The name of the changed parameter\n * @param newValue A value to apply. May be empty but must be defined.\n */\n updateQueryParameter(name: string, newValue: string): void {\n const list = this.amfParameters.parametersValue;\n const param = list.find(i => i.binding === 'query' && i.parameter.name === name);\n if (param) {\n InputCache.set(this, param.paramId, newValue, true);\n this.requestUpdate();\n }\n }\n\n /**\n * Updates, if applicable, header value.\n * This is supported for RAML custom scheme and Pass Through\n * that operates on headers model which is only an internal model.\n *\n * This does nothing if the header has not been defined for current\n * scheme.\n *\n * @param name The name of the changed header\n * @param newValue A value to apply. May be empty but must be defined.\n */\n updateHeader(name: string, newValue: string): void {\n const list = this.amfParameters.parametersValue;\n const param = list.find(i => i.binding === 'header' && i.parameter.name === name);\n if (param) {\n InputCache.set(this, param.paramId, newValue, true);\n this.requestUpdate();\n }\n }\n\n serialize(): IPassThroughAuthorization {\n const params = this.amfParameters.parametersValue;\n const result: IPassThroughAuthorization = {};\n (params || []).forEach((param) => {\n if (!result[param.binding as keyof IPassThroughAuthorization]) {\n result[param.binding as keyof IPassThroughAuthorization] = {};\n }\n let value = InputCache.get(this, param.paramId, true) as string | boolean;\n if (value === '' || value === undefined) {\n if (param.parameter.required === false) {\n return;\n }\n value = '';\n }\n if (value === false && param.parameter.required === false) {\n return;\n }\n if (value === null) {\n value = '';\n }\n (result[param.binding as keyof IPassThroughAuthorization] as Record<string, string>)[param.parameter.name as keyof IPassThroughAuthorization] = value as string;\n });\n return result;\n }\n\n override checkValidity(): boolean {\n const { nilValues, parametersValue } = this.amfParameters;\n const hasInvalid = parametersValue.some((param) => {\n if (nilValues.includes(param.paramId)) {\n return false;\n }\n const value = InputCache.get(this, param.paramId, true);\n if (!value && !param.parameter.required) {\n return false;\n }\n return !value;\n });\n return !hasInvalid;\n }\n\n override render(): TemplateResult {\n return html`\n ${this.renderHeader()}\n ${this.renderEditor()}\n `;\n }\n\n protected renderEditor(): TemplateResult | typeof nothing {\n return html`\n <form autocomplete=\"on\" class=\"auth-form passthrough-auth\">\n ${this.headersTemplate()}\n ${this.queryTemplate()}\n </form>\n ${this.renderAuthInfo()}\n `;\n }\n\n headersTemplate(): TemplateResult | typeof nothing {\n const headers = this.amfParameters.parametersValue.filter(item => item.binding === 'header');\n if (!headers.length) {\n return nothing;\n }\n return html`\n <div class=\"section-title\"><span class=\"label\">Headers</span></div>\n ${headers.map(param => this.amfParameters.parameterTemplate(param))}\n `;\n }\n\n queryTemplate(): TemplateResult | typeof nothing {\n const params = this.amfParameters.parametersValue.filter(item => item.binding === 'query');\n if (!params.length) {\n return nothing;\n }\n return html`\n <div class=\"section-title\"><span class=\"label\">Query parameters</span></div>\n ${params.map(param => this.amfParameters.parameterTemplate(param))}\n `;\n }\n\n protected override renderHeader(): TemplateResult | typeof nothing {\n const { schemeName = 'Pass Through' } = this;\n return html`\n <div class=\"auth-header\">\n <span class=\"auth-title\">Scheme: ${schemeName}</span>\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"AmfPassThrough.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfPassThrough.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkC,MAAM,KAAK,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAoE,YAAY,EAAa,MAAM,uCAAuC,CAAC;AAC5K,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,aAAa;IAUvD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACrF,CAAC;IAEkB,UAAU,CAAC,EAAwB;QACpD,IAAI,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YACtB,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;QACD,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAES,iBAAiB;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAES,YAAY;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG;gBACnB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,EAAgC;aACzC,CAAC;SACH;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAES,aAAa;QACrB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,UAAU,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;QAChD,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACjF,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE;YAC5G,OAAO;SACR;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;YAC7C,OAAO;SACR;QAED,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QACzD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,WAAW,IAAI,CAAC,CAAC,eAAe,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;YAChE,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;SACrC;QACD,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC;QAC/C,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,iBAAiB,CAAC,WAAkC;QAClD,MAAM,MAAM,GAAG,WAAsC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE;YACnD,OAAO;SACR;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1C,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;YAC/C,OAAO;gBACL,EAAE;gBACF,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,KAAK;gBACb,IAAI;gBACJ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,KAAK,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC;gBAC5D,QAAQ,EAAE,QAAQ,GAAG,CAAC;gBACtB,sBAAsB,EAAE,EAAE;aACK,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,IAAoC,EAAE,MAA0B,EAAE,KAAK,GAAG,KAAK;QAC5F,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAC/B,IAAI,MAAM,GAAG,aAAa,CAAC,eAAe,CAAC;QAC3C,IAAI,KAAK,EAAE;YACT,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;SAClD;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrB,MAAM,CAAC,IAAI,CAAC;oBACV,OAAO,EAAE,KAAK,CAAC,EAAE;oBACjB,SAAS,EAAE,KAAK;oBAChB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;oBAC5B,MAAM;oBACN,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,QAAQ,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;iBACxE,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,MAAM,CAAC;IAC9C,CAAC;IAED;;;;;;;;OAQG;IACH,oBAAoB,CAAC,IAAY,EAAE,QAAgB;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACjF,IAAI,KAAK,EAAE;YACT,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,YAAY,CAAC,IAAY,EAAE,QAAgB;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAClF,IAAI,KAAK,EAAE;YACT,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAED,SAAS;QACP,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;QAClD,MAAM,MAAM,GAA8B,EAAE,CAAC;QAC7C,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAA0C,CAAC,EAAE;gBAC7D,MAAM,CAAC,KAAK,CAAC,OAA0C,CAAC,GAAG,EAAE,CAAC;aAC/D;YACD,IAAI,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAqB,CAAC;YAC1E,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvC,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,KAAK,KAAK,EAAE;oBACtC,OAAO;iBACR;gBACD,KAAK,GAAG,EAAE,CAAC;aACZ;YACD,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,KAAK,KAAK,EAAE;gBACzD,OAAO;aACR;YACD,IAAI,KAAK,KAAK,IAAI,EAAE;gBAClB,KAAK,GAAG,EAAE,CAAC;aACZ;YACA,MAAM,CAAC,KAAK,CAAC,OAA0C,CAA4B,CAAC,KAAK,CAAC,SAAS,CAAC,IAAuC,CAAC,GAAG,KAAe,CAAC;QAClK,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAEQ,aAAa;QACpB,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC1D,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YAChD,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;gBACrC,OAAO,KAAK,CAAC;aACd;YACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACvC,OAAO,KAAK,CAAC;aACd;YACD,OAAO,CAAC,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,UAAU,CAAC;IACrB,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAA;MACT,IAAI,CAAC,YAAY,EAAE;MACnB,IAAI,CAAC,YAAY,EAAE;KACpB,CAAC;IACJ,CAAC;IAES,YAAY;QACpB,OAAO,IAAI,CAAA;;QAEP,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,CAAC,aAAa,EAAE;;MAEtB,IAAI,CAAC,cAAc,EAAE;KACtB,CAAC;IACJ,CAAC;IAED,eAAe;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;QAC7F,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACnB,OAAO,OAAO,CAAC;SAChB;QACD,OAAO,IAAI,CAAA;;MAET,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;KAClE,CAAC;IACJ,CAAC;IAED,aAAa;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;QAC3F,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,OAAO,OAAO,CAAC;SAChB;QACD,OAAO,IAAI,CAAA;;MAET,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;KACjE,CAAC;IACJ,CAAC;IAEkB,YAAY;QAC7B,MAAM,EAAE,UAAU,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC;QAC7C,OAAO,IAAI,CAAA;;yCAE0B,UAAU;;KAE9C,CAAC;IACJ,CAAC;CACF;AApP6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDAA0D;AAI5E;IAAR,KAAK,EAAE;kDAAqB","sourcesContent":["import { html, nothing, PropertyValues, TemplateResult } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { RequestAuthorizationKind, IPassThroughAuthorization, ApiDefinitions, IRequestAuthorization, AmfNamespace, AmfShapes } from \"@api-client/core/build/esm/browser.js\";\nimport * as InputCache from '../../../amf/lib/InputCache.js';\nimport { Authorization } from \"../../authorization/ui/Authorization.js\";\nimport { AmfParameters } from \"../../../amf/lib/AmfParameters.js\";\n\nexport default class AmfPassThrough extends Authorization {\n /**\n * The in-memory key where the values are stored.\n */\n @property({ type: Object }) security?: ApiDefinitions.IApiParametrizedSecurityScheme;\n\n protected amfParameters: AmfParameters;\n\n @state() schemeName?: string;\n\n constructor() {\n super();\n this.amfParameters = new AmfParameters(this);\n this.amfParameters.globalCache = true;\n this.amfParameters.addEventListener('render', () => this.requestUpdate());\n this.amfParameters.addEventListener('change', () => this.notifyChange());\n this.amfParameters.addEventListener('paramchange', () => this.handleParamChange());\n }\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('security')) {\n this.restoreValues();\n }\n super.willUpdate(cp);\n }\n\n protected handleParamChange(): void {\n const auth = this.ensureConfig();\n auth.config = this.serialize();\n }\n\n protected ensureConfig(): IRequestAuthorization {\n if (!this.authorization) {\n this.authorization = {\n enabled: true,\n kind: RequestAuthorizationKind,\n type: 'pass through',\n valid: false,\n config: { } as IPassThroughAuthorization,\n };\n }\n return this.authorization;\n }\n\n protected restoreValues(): void {\n const { security } = this;\n const auth = this.ensureConfig();\n const source = 'settings';\n const list = this.amfParameters.parametersValue;\n this.amfParameters.parametersValue = list.filter(item => item.source !== source);\n if (!security || !security.types.includes(AmfNamespace.aml.vocabularies.security.ParametrizedSecurityScheme)) {\n return;\n }\n const { scheme } = security;\n if (!scheme) {\n return;\n }\n const { type } = scheme;\n if (!type || !type.startsWith('Pass Through')) {\n return;\n }\n\n const { headers, queryParameters, queryString } = scheme;\n this.appendToParams(headers, 'header', true);\n this.appendToParams(queryParameters, 'query', true);\n if (queryString && (!queryParameters || !queryParameters.length)) {\n this.appendQueryString(queryString);\n }\n this.schemeName = security.name || scheme.name;\n this.notifyChange();\n this.requestUpdate();\n auth.config = this.serialize();\n }\n\n appendQueryString(queryString: AmfShapes.IShapeUnion): void {\n const object = queryString as AmfShapes.IApiNodeShape;\n if (!object.properties || !object.properties.length) {\n return;\n }\n const list = object.properties.map((item) => {\n const { id, range, name, minCount = 0 } = item;\n return {\n id,\n binding: 'query',\n schema: range,\n name,\n examples: [],\n payloads: [],\n types: [AmfNamespace.aml.vocabularies.apiContract.Parameter],\n required: minCount > 0,\n customDomainProperties: [],\n } as ApiDefinitions.IApiParameter;\n });\n this.appendToParams(list, 'query', true);\n }\n\n /**\n * Appends a list of parameters to the list of rendered parameters.\n * @param list\n * @param source\n * @param clear When set it clears the previously set parameters\n */\n appendToParams(list: ApiDefinitions.IApiParameter[], source: 'header' | 'query', clear = false): void {\n const { amfParameters } = this;\n let params = amfParameters.parametersValue;\n if (clear) {\n params = params.filter(p => p.source !== source);\n }\n if (Array.isArray(list)) {\n list.forEach((param) => {\n params.push({\n paramId: param.id,\n parameter: param,\n binding: param.binding || '',\n source,\n schema: param.schema,\n schemaId: param.schema && param.schema.id ? param.schema.id : undefined,\n });\n });\n }\n this.amfParameters.parametersValue = params;\n }\n\n /**\n * Updates, if applicable, query parameter value.\n *\n * This does nothing if the query parameter has not been defined for the current\n * scheme.\n *\n * @param name The name of the changed parameter\n * @param newValue A value to apply. May be empty but must be defined.\n */\n updateQueryParameter(name: string, newValue: string): void {\n const list = this.amfParameters.parametersValue;\n const param = list.find(i => i.binding === 'query' && i.parameter.name === name);\n if (param) {\n InputCache.set(this, param.paramId, newValue, true);\n this.requestUpdate();\n }\n }\n\n /**\n * Updates, if applicable, header value.\n * This is supported for RAML custom scheme and Pass Through\n * that operates on headers model which is only an internal model.\n *\n * This does nothing if the header has not been defined for current\n * scheme.\n *\n * @param name The name of the changed header\n * @param newValue A value to apply. May be empty but must be defined.\n */\n updateHeader(name: string, newValue: string): void {\n const list = this.amfParameters.parametersValue;\n const param = list.find(i => i.binding === 'header' && i.parameter.name === name);\n if (param) {\n InputCache.set(this, param.paramId, newValue, true);\n this.requestUpdate();\n }\n }\n\n serialize(): IPassThroughAuthorization {\n const params = this.amfParameters.parametersValue;\n const result: IPassThroughAuthorization = {};\n (params || []).forEach((param) => {\n if (!result[param.binding as keyof IPassThroughAuthorization]) {\n result[param.binding as keyof IPassThroughAuthorization] = {};\n }\n let value = InputCache.get(this, param.paramId, true) as string | boolean;\n if (value === '' || value === undefined) {\n if (param.parameter.required === false) {\n return;\n }\n value = '';\n }\n if (value === false && param.parameter.required === false) {\n return;\n }\n if (value === null) {\n value = '';\n }\n (result[param.binding as keyof IPassThroughAuthorization] as Record<string, string>)[param.parameter.name as keyof IPassThroughAuthorization] = value as string;\n });\n return result;\n }\n\n override checkValidity(): boolean {\n const { nilValues, parametersValue } = this.amfParameters;\n const hasInvalid = parametersValue.some((param) => {\n if (nilValues.includes(param.paramId)) {\n return false;\n }\n const value = InputCache.get(this, param.paramId, true);\n if (!value && !param.parameter.required) {\n return false;\n }\n return !value;\n });\n return !hasInvalid;\n }\n\n override render(): TemplateResult {\n return html`\n ${this.renderHeader()}\n ${this.renderEditor()}\n `;\n }\n\n protected renderEditor(): TemplateResult | typeof nothing {\n return html`\n <form autocomplete=\"on\" class=\"auth-form passthrough-auth\">\n ${this.headersTemplate()}\n ${this.queryTemplate()}\n </form>\n ${this.renderAuthInfo()}\n `;\n }\n\n headersTemplate(): TemplateResult | typeof nothing {\n const headers = this.amfParameters.parametersValue.filter(item => item.binding === 'header');\n if (!headers.length) {\n return nothing;\n }\n return html`\n <div class=\"section-title\"><span class=\"label\">Headers</span></div>\n ${headers.map(param => this.amfParameters.parameterTemplate(param))}\n `;\n }\n\n queryTemplate(): TemplateResult | typeof nothing {\n const params = this.amfParameters.parametersValue.filter(item => item.binding === 'query');\n if (!params.length) {\n return nothing;\n }\n return html`\n <div class=\"section-title\"><span class=\"label\">Query parameters</span></div>\n ${params.map(param => this.amfParameters.parameterTemplate(param))}\n `;\n }\n\n protected override renderHeader(): TemplateResult | typeof nothing {\n const { schemeName = 'Pass Through' } = this;\n return html`\n <div class=\"auth-header\">\n <span class=\"auth-title\">Scheme: ${schemeName}</span>\n </div>\n `;\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { nothing, PropertyValues, TemplateResult } from "lit";
2
- import { IRamlCustomAuthorization, ApiDefinitions, IRequestAuthorization, AmfShapes } from "@api-client/core/build/browser.js";
2
+ import { IRamlCustomAuthorization, ApiDefinitions, IRequestAuthorization, AmfShapes } from "@api-client/core/build/esm/browser.js";
3
3
  import { Authorization } from "../../authorization/ui/Authorization.js";
4
4
  import { AmfParameters } from "../../../amf/lib/AmfParameters.js";
5
5
  import { OperationParameter } from "../../../amf/types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"AmfRamlCustom.d.ts","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfRamlCustom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAEpE,OAAO,EAA4B,wBAAwB,EAAE,cAAc,EAAE,qBAAqB,EAAgB,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACvK,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,aAAa;IACtD;;OAEG;IACyB,QAAQ,CAAC,EAAE,cAAc,CAAC,8BAA8B,CAAC;IAErF,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAE9B,UAAU,CAAC,EAAE,MAAM,CAAC;;cAWV,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO7D,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAKnC,SAAS,CAAC,YAAY,IAAI,qBAAqB;IAa/C,SAAS,CAAC,aAAa,IAAI,IAAI;IAkE/B,yBAAyB,CAAC,KAAK,EAAE,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,kBAAkB;IAuB5G,2BAA2B,CAAC,IAAI,EAAE,SAAS,CAAC,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,kBAAkB;IAuBnH;;;;;;;;OAQG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAS1D;;;;;;;;;;OAUG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IASlD,SAAS,IAAI,wBAAwB;IAyB5B,aAAa,IAAI,OAAO;IAcxB,MAAM,IAAI,cAAc;IAOjC,SAAS,CAAC,YAAY,IAAI,cAAc,GAAG,OAAO,OAAO;IAUzD,eAAe,IAAI,cAAc,GAAG,OAAO,OAAO;IAWlD,aAAa,IAAI,cAAc,GAAG,OAAO,OAAO;cAW7B,YAAY,IAAI,cAAc,GAAG,OAAO,OAAO;CAQnE"}
1
+ {"version":3,"file":"AmfRamlCustom.d.ts","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfRamlCustom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAEpE,OAAO,EAA4B,wBAAwB,EAAE,cAAc,EAAE,qBAAqB,EAAgB,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAC3K,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,aAAa;IACtD;;OAEG;IACyB,QAAQ,CAAC,EAAE,cAAc,CAAC,8BAA8B,CAAC;IAErF,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAE9B,UAAU,CAAC,EAAE,MAAM,CAAC;;cAWV,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO7D,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAKnC,SAAS,CAAC,YAAY,IAAI,qBAAqB;IAa/C,SAAS,CAAC,aAAa,IAAI,IAAI;IAkE/B,yBAAyB,CAAC,KAAK,EAAE,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,kBAAkB;IAuB5G,2BAA2B,CAAC,IAAI,EAAE,SAAS,CAAC,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,kBAAkB;IAuBnH;;;;;;;;OAQG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAS1D;;;;;;;;;;OAUG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IASlD,SAAS,IAAI,wBAAwB;IAyB5B,aAAa,IAAI,OAAO;IAcxB,MAAM,IAAI,cAAc;IAOjC,SAAS,CAAC,YAAY,IAAI,cAAc,GAAG,OAAO,OAAO;IAUzD,eAAe,IAAI,cAAc,GAAG,OAAO,OAAO;IAWlD,aAAa,IAAI,cAAc,GAAG,OAAO,OAAO;cAW7B,YAAY,IAAI,cAAc,GAAG,OAAO,OAAO;CAQnE"}
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { html, nothing } from "lit";
3
3
  import { property, state } from "lit/decorators.js";
4
- import { RequestAuthorizationKind, AmfNamespace } from "@api-client/core/build/browser.js";
4
+ import { RequestAuthorizationKind, AmfNamespace } from "@api-client/core/build/esm/browser.js";
5
5
  import { Authorization } from "../../authorization/ui/Authorization.js";
6
6
  import { AmfParameters } from "../../../amf/lib/AmfParameters.js";
7
7
  import * as InputCache from '../../../amf/lib/InputCache.js';
@@ -1 +1 @@
1
- {"version":3,"file":"AmfRamlCustom.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfRamlCustom.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, nothing, PropertyValues, TemplateResult } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { RequestAuthorizationKind, IRamlCustomAuthorization, ApiDefinitions, IRequestAuthorization, AmfNamespace, AmfShapes } from \"@api-client/core/build/browser.js\";\nimport { Authorization } from \"../../authorization/ui/Authorization.js\";\nimport { AmfParameters } from \"../../../amf/lib/AmfParameters.js\";\nimport * as InputCache from '../../../amf/lib/InputCache.js';\nimport { OperationParameter } from \"../../../amf/types.js\";\n\nexport default class AmfRamlCustom extends Authorization {\n /**\n * The in-memory key where the values are stored.\n */\n @property({ type: Object }) security?: ApiDefinitions.IApiParametrizedSecurityScheme;\n\n protected amfParameters: AmfParameters;\n\n @state() schemeName?: string;\n\n constructor() {\n super();\n this.amfParameters = new AmfParameters(this);\n this.amfParameters.globalCache = true;\n this.amfParameters.addEventListener('render', () => this.requestUpdate());\n this.amfParameters.addEventListener('change', () => this.notifyChange());\n this.amfParameters.addEventListener('paramchange', () => this.handleParamChange());\n }\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('security')) {\n this.restoreValues();\n }\n super.willUpdate(cp);\n }\n\n protected handleParamChange(): void {\n const auth = this.ensureConfig();\n auth.config = this.serialize();\n }\n\n protected ensureConfig(): IRequestAuthorization {\n if (!this.authorization) {\n this.authorization = {\n enabled: true,\n kind: RequestAuthorizationKind,\n type: 'raml custom',\n valid: false,\n config: {} as IRamlCustomAuthorization,\n };\n }\n return this.authorization;\n }\n\n protected restoreValues(): void {\n const { security } = this;\n const auth = this.ensureConfig();\n const source = 'settings';\n const list = this.amfParameters.parametersValue;\n this.amfParameters.parametersValue = list.filter(item => item.source !== source);\n if (!security || !security.types.includes(AmfNamespace.aml.vocabularies.security.ParametrizedSecurityScheme)) {\n return;\n }\n const { scheme } = security;\n if (!scheme) {\n return;\n }\n const { type } = scheme;\n if (!type || !type.startsWith('x-')) {\n return;\n }\n const params = this.amfParameters.parametersValue;\n const { headers, queryParameters, queryString } = scheme;\n if (Array.isArray(headers)) {\n headers.forEach((p) => {\n const param = { ...p, required: true };\n params.push({\n binding: param.binding || '',\n paramId: param.id,\n parameter: param,\n source,\n schemaId: param.schema && param.schema.id,\n schema: param.schema,\n });\n });\n }\n let addedParameters = false;\n if (Array.isArray(queryParameters)) {\n queryParameters.forEach((p) => {\n addedParameters = true;\n const param = { ...p, required: true };\n params.push({\n binding: param.binding || '',\n paramId: param.id,\n parameter: param,\n source,\n schemaId: param.schema && param.schema.id,\n schema: param.schema,\n });\n });\n }\n if (!addedParameters && queryString) {\n const shape = queryString as AmfShapes.IApiNodeShape;\n const { properties } = shape;\n const binding = 'query';\n if (!properties) {\n params.push(this.createParameterFromSchema(shape, binding, source));\n } else {\n properties.forEach((prop) => {\n params.push(this.createParameterFromProperty(prop, binding, source));\n });\n }\n }\n this.schemeName = security.name || scheme.name;\n\n this.notifyChange();\n this.requestUpdate();\n auth.config = this.serialize();\n }\n\n createParameterFromSchema(shape: AmfShapes.IShapeUnion, binding: string, source: string): OperationParameter {\n const { id, name } = shape;\n const constructed: ApiDefinitions.IApiParameter = {\n id,\n binding,\n schema: shape,\n name,\n examples: [],\n payloads: [],\n types: [AmfNamespace.aml.vocabularies.apiContract.Parameter],\n required: false,\n customDomainProperties: [],\n };\n return {\n binding,\n paramId: id,\n parameter: constructed,\n source,\n schemaId: id,\n schema: shape,\n };\n }\n\n createParameterFromProperty(prop: AmfShapes.IApiPropertyShape, binding: string, source: string): OperationParameter {\n const { id, range, name, minCount = 0 } = prop;\n const constructed: ApiDefinitions.IApiParameter = {\n id,\n binding,\n schema: range,\n name,\n examples: [],\n payloads: [],\n types: [AmfNamespace.aml.vocabularies.apiContract.Parameter],\n required: minCount > 0,\n customDomainProperties: [],\n };\n return {\n binding,\n paramId: id,\n parameter: constructed,\n source,\n schemaId: prop.id,\n schema: prop as AmfShapes.IShapeUnion,\n };\n }\n\n /**\n * Updates, if applicable, query parameter value.\n *\n * This does nothing if the query parameter has not been defined for the current\n * scheme.\n *\n * @param name The name of the changed parameter\n * @param newValue A value to apply. May be empty but must be defined.\n */\n updateQueryParameter(name: string, newValue: string): void {\n const list = this.amfParameters.parametersValue;\n const param = list.find(i => i.binding === 'query' && i.parameter.name === name);\n if (param) {\n InputCache.set(this, param.paramId, newValue, true);\n this.requestUpdate();\n }\n }\n\n /**\n * Updates, if applicable, header value.\n * This is supported for RAML custom scheme and Pass Through\n * that operates on headers model which is only an internal model.\n *\n * This does nothing if the header has not been defined for current\n * scheme.\n *\n * @param name The name of the changed header\n * @param newValue A value to apply. May be empty but must be defined.\n */\n updateHeader(name: string, newValue: string): void {\n const list = this.amfParameters.parametersValue;\n const param = list.find(i => i.binding === 'header' && i.parameter.name === name);\n if (param) {\n InputCache.set(this, param.paramId, newValue, true);\n this.requestUpdate();\n }\n }\n\n serialize(): IRamlCustomAuthorization {\n const result: IRamlCustomAuthorization = {};\n const params = this.amfParameters.parametersValue;\n params.forEach((param) => {\n if (!result[param.binding as keyof IRamlCustomAuthorization]) {\n result[param.binding as keyof IRamlCustomAuthorization] = {};\n }\n let value = InputCache.get(this, param.paramId, true) as string | boolean;\n if (value === '' || value === undefined) {\n if (param.parameter.required === false) {\n return;\n }\n value = '';\n }\n if (value === false && param.parameter.required === false) {\n return;\n }\n if (value === null) {\n value = '';\n }\n (result[param.binding as keyof IRamlCustomAuthorization] as Record<string, string>)[param.parameter.name || ''] = value as string;\n });\n return result;\n }\n\n override checkValidity(): boolean {\n const { nilValues, parametersValue } = this.amfParameters;\n return !parametersValue.some((param) => {\n if (nilValues.includes(param.paramId)) {\n return false;\n }\n const value = InputCache.get(this, param.paramId, true);\n if (!value && !param.parameter.required) {\n return false;\n }\n return !value;\n });\n }\n\n override render(): TemplateResult {\n return html`\n ${this.renderHeader()}\n ${this.renderEditor()}\n `;\n }\n\n protected renderEditor(): TemplateResult | typeof nothing {\n return html`\n <form autocomplete=\"on\" class=\"auth-form custom-auth\">\n ${this.headersTemplate()}\n ${this.queryTemplate()}\n </form>\n ${this.renderAuthInfo()}\n `;\n }\n\n headersTemplate(): TemplateResult | typeof nothing {\n const headers = this.amfParameters.parametersValue.filter(item => item.binding === 'header');\n if (!headers.length) {\n return nothing;\n }\n return html`\n <div class=\"section-title\"><span class=\"label\">Headers</span></div>\n ${headers.map(param => this.amfParameters.parameterTemplate(param))}\n `;\n }\n\n queryTemplate(): TemplateResult | typeof nothing {\n const params = this.amfParameters.parametersValue.filter(item => item.binding === 'query');\n if (!params.length) {\n return nothing;\n }\n return html`\n <div class=\"section-title\"><span class=\"label\">Query parameters</span></div>\n ${params.map(param => this.amfParameters.parameterTemplate(param))}\n `;\n }\n\n protected override renderHeader(): TemplateResult | typeof nothing {\n const { schemeName = 'Pass Through' } = this;\n return html`\n <div class=\"auth-header\">\n <span class=\"auth-title\">Scheme: ${schemeName}</span>\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"AmfRamlCustom.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfRamlCustom.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, nothing, PropertyValues, TemplateResult } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { RequestAuthorizationKind, IRamlCustomAuthorization, ApiDefinitions, IRequestAuthorization, AmfNamespace, AmfShapes } from \"@api-client/core/build/esm/browser.js\";\nimport { Authorization } from \"../../authorization/ui/Authorization.js\";\nimport { AmfParameters } from \"../../../amf/lib/AmfParameters.js\";\nimport * as InputCache from '../../../amf/lib/InputCache.js';\nimport { OperationParameter } from \"../../../amf/types.js\";\n\nexport default class AmfRamlCustom extends Authorization {\n /**\n * The in-memory key where the values are stored.\n */\n @property({ type: Object }) security?: ApiDefinitions.IApiParametrizedSecurityScheme;\n\n protected amfParameters: AmfParameters;\n\n @state() schemeName?: string;\n\n constructor() {\n super();\n this.amfParameters = new AmfParameters(this);\n this.amfParameters.globalCache = true;\n this.amfParameters.addEventListener('render', () => this.requestUpdate());\n this.amfParameters.addEventListener('change', () => this.notifyChange());\n this.amfParameters.addEventListener('paramchange', () => this.handleParamChange());\n }\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('security')) {\n this.restoreValues();\n }\n super.willUpdate(cp);\n }\n\n protected handleParamChange(): void {\n const auth = this.ensureConfig();\n auth.config = this.serialize();\n }\n\n protected ensureConfig(): IRequestAuthorization {\n if (!this.authorization) {\n this.authorization = {\n enabled: true,\n kind: RequestAuthorizationKind,\n type: 'raml custom',\n valid: false,\n config: {} as IRamlCustomAuthorization,\n };\n }\n return this.authorization;\n }\n\n protected restoreValues(): void {\n const { security } = this;\n const auth = this.ensureConfig();\n const source = 'settings';\n const list = this.amfParameters.parametersValue;\n this.amfParameters.parametersValue = list.filter(item => item.source !== source);\n if (!security || !security.types.includes(AmfNamespace.aml.vocabularies.security.ParametrizedSecurityScheme)) {\n return;\n }\n const { scheme } = security;\n if (!scheme) {\n return;\n }\n const { type } = scheme;\n if (!type || !type.startsWith('x-')) {\n return;\n }\n const params = this.amfParameters.parametersValue;\n const { headers, queryParameters, queryString } = scheme;\n if (Array.isArray(headers)) {\n headers.forEach((p) => {\n const param = { ...p, required: true };\n params.push({\n binding: param.binding || '',\n paramId: param.id,\n parameter: param,\n source,\n schemaId: param.schema && param.schema.id,\n schema: param.schema,\n });\n });\n }\n let addedParameters = false;\n if (Array.isArray(queryParameters)) {\n queryParameters.forEach((p) => {\n addedParameters = true;\n const param = { ...p, required: true };\n params.push({\n binding: param.binding || '',\n paramId: param.id,\n parameter: param,\n source,\n schemaId: param.schema && param.schema.id,\n schema: param.schema,\n });\n });\n }\n if (!addedParameters && queryString) {\n const shape = queryString as AmfShapes.IApiNodeShape;\n const { properties } = shape;\n const binding = 'query';\n if (!properties) {\n params.push(this.createParameterFromSchema(shape, binding, source));\n } else {\n properties.forEach((prop) => {\n params.push(this.createParameterFromProperty(prop, binding, source));\n });\n }\n }\n this.schemeName = security.name || scheme.name;\n\n this.notifyChange();\n this.requestUpdate();\n auth.config = this.serialize();\n }\n\n createParameterFromSchema(shape: AmfShapes.IShapeUnion, binding: string, source: string): OperationParameter {\n const { id, name } = shape;\n const constructed: ApiDefinitions.IApiParameter = {\n id,\n binding,\n schema: shape,\n name,\n examples: [],\n payloads: [],\n types: [AmfNamespace.aml.vocabularies.apiContract.Parameter],\n required: false,\n customDomainProperties: [],\n };\n return {\n binding,\n paramId: id,\n parameter: constructed,\n source,\n schemaId: id,\n schema: shape,\n };\n }\n\n createParameterFromProperty(prop: AmfShapes.IApiPropertyShape, binding: string, source: string): OperationParameter {\n const { id, range, name, minCount = 0 } = prop;\n const constructed: ApiDefinitions.IApiParameter = {\n id,\n binding,\n schema: range,\n name,\n examples: [],\n payloads: [],\n types: [AmfNamespace.aml.vocabularies.apiContract.Parameter],\n required: minCount > 0,\n customDomainProperties: [],\n };\n return {\n binding,\n paramId: id,\n parameter: constructed,\n source,\n schemaId: prop.id,\n schema: prop as AmfShapes.IShapeUnion,\n };\n }\n\n /**\n * Updates, if applicable, query parameter value.\n *\n * This does nothing if the query parameter has not been defined for the current\n * scheme.\n *\n * @param name The name of the changed parameter\n * @param newValue A value to apply. May be empty but must be defined.\n */\n updateQueryParameter(name: string, newValue: string): void {\n const list = this.amfParameters.parametersValue;\n const param = list.find(i => i.binding === 'query' && i.parameter.name === name);\n if (param) {\n InputCache.set(this, param.paramId, newValue, true);\n this.requestUpdate();\n }\n }\n\n /**\n * Updates, if applicable, header value.\n * This is supported for RAML custom scheme and Pass Through\n * that operates on headers model which is only an internal model.\n *\n * This does nothing if the header has not been defined for current\n * scheme.\n *\n * @param name The name of the changed header\n * @param newValue A value to apply. May be empty but must be defined.\n */\n updateHeader(name: string, newValue: string): void {\n const list = this.amfParameters.parametersValue;\n const param = list.find(i => i.binding === 'header' && i.parameter.name === name);\n if (param) {\n InputCache.set(this, param.paramId, newValue, true);\n this.requestUpdate();\n }\n }\n\n serialize(): IRamlCustomAuthorization {\n const result: IRamlCustomAuthorization = {};\n const params = this.amfParameters.parametersValue;\n params.forEach((param) => {\n if (!result[param.binding as keyof IRamlCustomAuthorization]) {\n result[param.binding as keyof IRamlCustomAuthorization] = {};\n }\n let value = InputCache.get(this, param.paramId, true) as string | boolean;\n if (value === '' || value === undefined) {\n if (param.parameter.required === false) {\n return;\n }\n value = '';\n }\n if (value === false && param.parameter.required === false) {\n return;\n }\n if (value === null) {\n value = '';\n }\n (result[param.binding as keyof IRamlCustomAuthorization] as Record<string, string>)[param.parameter.name || ''] = value as string;\n });\n return result;\n }\n\n override checkValidity(): boolean {\n const { nilValues, parametersValue } = this.amfParameters;\n return !parametersValue.some((param) => {\n if (nilValues.includes(param.paramId)) {\n return false;\n }\n const value = InputCache.get(this, param.paramId, true);\n if (!value && !param.parameter.required) {\n return false;\n }\n return !value;\n });\n }\n\n override render(): TemplateResult {\n return html`\n ${this.renderHeader()}\n ${this.renderEditor()}\n `;\n }\n\n protected renderEditor(): TemplateResult | typeof nothing {\n return html`\n <form autocomplete=\"on\" class=\"auth-form custom-auth\">\n ${this.headersTemplate()}\n ${this.queryTemplate()}\n </form>\n ${this.renderAuthInfo()}\n `;\n }\n\n headersTemplate(): TemplateResult | typeof nothing {\n const headers = this.amfParameters.parametersValue.filter(item => item.binding === 'header');\n if (!headers.length) {\n return nothing;\n }\n return html`\n <div class=\"section-title\"><span class=\"label\">Headers</span></div>\n ${headers.map(param => this.amfParameters.parameterTemplate(param))}\n `;\n }\n\n queryTemplate(): TemplateResult | typeof nothing {\n const params = this.amfParameters.parametersValue.filter(item => item.binding === 'query');\n if (!params.length) {\n return nothing;\n }\n return html`\n <div class=\"section-title\"><span class=\"label\">Query parameters</span></div>\n ${params.map(param => this.amfParameters.parameterTemplate(param))}\n `;\n }\n\n protected override renderHeader(): TemplateResult | typeof nothing {\n const { schemeName = 'Pass Through' } = this;\n return html`\n <div class=\"auth-header\">\n <span class=\"auth-title\">Scheme: ${schemeName}</span>\n </div>\n `;\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { IOAuth2Authorization, ITokenInfo } from '@api-client/core/build/browser.js';
1
+ import { IOAuth2Authorization, ITokenInfo } from '@api-client/core/build/esm/browser.js';
2
2
  import ApiElement from '../ApiElement.js';
3
3
  export declare const authorizeHandler: unique symbol;
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"OAuth2Authorize.d.ts","sourceRoot":"","sources":["../../../src/elements/authorization/OAuth2Authorize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAA2F,MAAM,mCAAmC,CAAC;AAE9K,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAE3D;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,UAAU;IAChE;;;;;OAKG;IACyB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEhD;;;;;OAKG;IACyB,gBAAgB,CAAC,EAAE,OAAO,CAAC;;IAO9C,iBAAiB,IAAI,IAAI;IAMzB,oBAAoB,IAAI,IAAI;IAKrC,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAMtC;;;;;OAKG;IACG,SAAS,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC;CAarE"}
1
+ {"version":3,"file":"OAuth2Authorize.d.ts","sourceRoot":"","sources":["../../../src/elements/authorization/OAuth2Authorize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAA2F,MAAM,uCAAuC,CAAC;AAElL,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAE3D;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,UAAU;IAChE;;;;;OAKG;IACyB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEhD;;;;;OAKG;IACyB,gBAAgB,CAAC,EAAE,OAAO,CAAC;;IAO9C,iBAAiB,IAAI,IAAI;IAMzB,oBAAoB,IAAI,IAAI;IAKrC,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAMtC;;;;;OAKG;IACG,SAAS,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC;CAarE"}
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
2
  /* eslint-disable class-methods-use-this */
3
- import { OAuth2Authorization, EventTypes as CoreEventTypes } from '@api-client/core/build/browser.js';
3
+ import { OAuth2Authorization, EventTypes as CoreEventTypes } from '@api-client/core/build/esm/browser.js';
4
4
  import { property } from 'lit/decorators.js';
5
5
  import ApiElement from '../ApiElement.js';
6
6
  export const authorizeHandler = Symbol('authorizeHandler');
@@ -1 +1 @@
1
- {"version":3,"file":"OAuth2Authorize.js","sourceRoot":"","sources":["../../../src/elements/authorization/OAuth2Authorize.ts"],"names":[],"mappings":";AAAA,2CAA2C;AAC3C,OAAO,EAAoC,mBAAmB,EAA0B,UAAU,IAAI,cAAc,EAAgB,MAAM,mCAAmC,CAAC;AAC9K,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE3D;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,UAAU;IAiBhE;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAEQ,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAEQ,oBAAoB;QAC3B,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC/G,CAAC;IAED,CAAC,gBAAgB,CAAC,CAAC,KAAY;QAC7B,MAAM,CAAC,GAAG,KAAuD,CAAC;QAClE,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC,MAAM,EAA0B,CAAC;QACvD,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,QAA8B;QAC5C,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;QAC9C,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAChD,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;SACjC;QACD,IAAI,UAAU,IAAI,gBAAgB,IAAI,OAAO,gBAAgB,KAAK,SAAS,EAAE;YAC3E,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;SAC7C;QACD,MAAM,IAAI,GAAG,IAAI,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;CACF;AAnD6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8DAAqB;AAQpB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oEAA4B","sourcesContent":["/* eslint-disable class-methods-use-this */\nimport { IOAuth2Authorization, ITokenInfo, OAuth2Authorization, OauthProcessingOptions, EventTypes as CoreEventTypes, ContextEvent } from '@api-client/core/build/browser.js';\nimport { property } from 'lit/decorators.js';\nimport ApiElement from '../ApiElement.js';\n\nexport const authorizeHandler = Symbol('authorizeHandler');\n\n/**\n * An element that utilizes the `OAuth2Authorization` class in a web component.\n * It handles DOM events to perform the authorization.\n */ \nexport default class OAuth2AuthorizationElement extends ApiElement {\n /** \n * When set it uses this value to prefix the call to the \n * OAuth 2 token endpoint. This is to support use cases when \n * the requests should be proxied through a server to avoid CORS problems.\n * @attribute\n */\n @property({ type: String }) tokenProxy?: string;\n\n /**\n * When set it encodes the token URI value before adding it to the \n * `tokenProxy`. This is to be used when the proxy takes the target \n * URL as a query parameter.\n * @attribute\n */\n @property({ type: String }) tokenProxyEncode?: boolean;\n\n constructor() {\n super();\n this[authorizeHandler] = this[authorizeHandler].bind(this);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.eventsTarget.addEventListener(CoreEventTypes.Authorization.OAuth2.authorize, this[authorizeHandler]);\n this.setAttribute('aria-hidden', 'true');\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.eventsTarget.removeEventListener(CoreEventTypes.Authorization.OAuth2.authorize, this[authorizeHandler]);\n }\n\n [authorizeHandler](event: Event): void {\n const e = event as ContextEvent<IOAuth2Authorization, ITokenInfo>;\n const config = { ...e.detail } as IOAuth2Authorization;\n e.detail.result = this.authorize(config);\n }\n\n /**\n * Authorize the user using provided settings.\n * This is left for compatibility. Use the `OAuth2Authorization` instead.\n *\n * @param settings The authorization configuration.\n */\n async authorize(settings: IOAuth2Authorization): Promise<ITokenInfo> {\n const { tokenProxy, tokenProxyEncode } = this;\n const options: OauthProcessingOptions = {};\n if (tokenProxy && typeof tokenProxy === 'string') {\n options.tokenProxy = tokenProxy;\n }\n if (tokenProxy && tokenProxyEncode && typeof tokenProxyEncode === 'boolean') {\n options.tokenProxyEncode = tokenProxyEncode;\n }\n const auth = new OAuth2Authorization(settings, options);\n auth.checkConfig();\n return auth.authorize();\n }\n}\n"]}
1
+ {"version":3,"file":"OAuth2Authorize.js","sourceRoot":"","sources":["../../../src/elements/authorization/OAuth2Authorize.ts"],"names":[],"mappings":";AAAA,2CAA2C;AAC3C,OAAO,EAAoC,mBAAmB,EAA0B,UAAU,IAAI,cAAc,EAAgB,MAAM,uCAAuC,CAAC;AAClL,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE3D;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,UAAU;IAiBhE;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAEQ,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAEQ,oBAAoB;QAC3B,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC/G,CAAC;IAED,CAAC,gBAAgB,CAAC,CAAC,KAAY;QAC7B,MAAM,CAAC,GAAG,KAAuD,CAAC;QAClE,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC,MAAM,EAA0B,CAAC;QACvD,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,QAA8B;QAC5C,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;QAC9C,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAChD,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;SACjC;QACD,IAAI,UAAU,IAAI,gBAAgB,IAAI,OAAO,gBAAgB,KAAK,SAAS,EAAE;YAC3E,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;SAC7C;QACD,MAAM,IAAI,GAAG,IAAI,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;CACF;AAnD6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8DAAqB;AAQpB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oEAA4B","sourcesContent":["/* eslint-disable class-methods-use-this */\nimport { IOAuth2Authorization, ITokenInfo, OAuth2Authorization, OauthProcessingOptions, EventTypes as CoreEventTypes, ContextEvent } from '@api-client/core/build/esm/browser.js';\nimport { property } from 'lit/decorators.js';\nimport ApiElement from '../ApiElement.js';\n\nexport const authorizeHandler = Symbol('authorizeHandler');\n\n/**\n * An element that utilizes the `OAuth2Authorization` class in a web component.\n * It handles DOM events to perform the authorization.\n */ \nexport default class OAuth2AuthorizationElement extends ApiElement {\n /** \n * When set it uses this value to prefix the call to the \n * OAuth 2 token endpoint. This is to support use cases when \n * the requests should be proxied through a server to avoid CORS problems.\n * @attribute\n */\n @property({ type: String }) tokenProxy?: string;\n\n /**\n * When set it encodes the token URI value before adding it to the \n * `tokenProxy`. This is to be used when the proxy takes the target \n * URL as a query parameter.\n * @attribute\n */\n @property({ type: String }) tokenProxyEncode?: boolean;\n\n constructor() {\n super();\n this[authorizeHandler] = this[authorizeHandler].bind(this);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.eventsTarget.addEventListener(CoreEventTypes.Authorization.OAuth2.authorize, this[authorizeHandler]);\n this.setAttribute('aria-hidden', 'true');\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.eventsTarget.removeEventListener(CoreEventTypes.Authorization.OAuth2.authorize, this[authorizeHandler]);\n }\n\n [authorizeHandler](event: Event): void {\n const e = event as ContextEvent<IOAuth2Authorization, ITokenInfo>;\n const config = { ...e.detail } as IOAuth2Authorization;\n e.detail.result = this.authorize(config);\n }\n\n /**\n * Authorize the user using provided settings.\n * This is left for compatibility. Use the `OAuth2Authorization` instead.\n *\n * @param settings The authorization configuration.\n */\n async authorize(settings: IOAuth2Authorization): Promise<ITokenInfo> {\n const { tokenProxy, tokenProxyEncode } = this;\n const options: OauthProcessingOptions = {};\n if (tokenProxy && typeof tokenProxy === 'string') {\n options.tokenProxy = tokenProxy;\n }\n if (tokenProxy && tokenProxyEncode && typeof tokenProxyEncode === 'boolean') {\n options.tokenProxyEncode = tokenProxyEncode;\n }\n const auth = new OAuth2Authorization(settings, options);\n auth.checkConfig();\n return auth.authorize();\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { IOidcTokenError, IOidcTokenInfo, IOAuth2Authorization } from '@api-client/core/build/browser.js';
1
+ import { IOidcTokenError, IOidcTokenInfo, IOAuth2Authorization } from '@api-client/core/build/esm/browser.js';
2
2
  import ApiElement from '../ApiElement.js';
3
3
  export declare const authorizeHandler: unique symbol;
4
4
  export default class OidcAuthorize extends ApiElement {
@@ -1 +1 @@
1
- {"version":3,"file":"OidcAuthorize.d.ts","sourceRoot":"","sources":["../../../src/elements/authorization/OidcAuthorize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAyF,MAAM,mCAAmC,CAAC;AAEjM,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAE3D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,UAAU;IACnD;;;;;OAKG;IACyB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEhD;;;;;OAKG;IACyB,gBAAgB,CAAC,EAAE,OAAO,CAAC;;IAO9C,iBAAiB,IAAI,IAAI;IAMzB,oBAAoB,IAAI,IAAI;IAKrC,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAMtC;;;;;OAKG;IACG,SAAS,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,CAAC,cAAc,GAAC,eAAe,CAAC,EAAE,CAAC;CAc7F"}
1
+ {"version":3,"file":"OidcAuthorize.d.ts","sourceRoot":"","sources":["../../../src/elements/authorization/OidcAuthorize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAyF,MAAM,uCAAuC,CAAC;AAErM,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAE3D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,UAAU;IACnD;;;;;OAKG;IACyB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEhD;;;;;OAKG;IACyB,gBAAgB,CAAC,EAAE,OAAO,CAAC;;IAO9C,iBAAiB,IAAI,IAAI;IAMzB,oBAAoB,IAAI,IAAI;IAKrC,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAMtC;;;;;OAKG;IACG,SAAS,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,CAAC,cAAc,GAAC,eAAe,CAAC,EAAE,CAAC;CAc7F"}
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
2
  /* eslint-disable class-methods-use-this */
3
- import { OidcAuthorization, EventTypes as CoreEventTypes } from '@api-client/core/build/browser.js';
3
+ import { OidcAuthorization, EventTypes as CoreEventTypes } from '@api-client/core/build/esm/browser.js';
4
4
  import { property } from 'lit/decorators.js';
5
5
  import ApiElement from '../ApiElement.js';
6
6
  export const authorizeHandler = Symbol('authorizeHandler');