@api-client/ui 0.0.4 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (756) hide show
  1. package/demo/elements/http/http-assertions.html +3 -0
  2. package/demo/elements/http/http-assertions.ts +1 -1
  3. package/demo/elements/http/http-flows.html +23 -0
  4. package/demo/elements/http/http-flows.ts +92 -0
  5. package/demo/elements/http/index.html +3 -0
  6. package/demo/pages/http-project/main.ts +5 -6
  7. package/dist/amf/lib/AmfParameters.js +0 -4
  8. package/dist/amf/lib/AmfParameters.js.map +1 -1
  9. package/dist/amf/lib/navigation-layout/EndpointsTree.js +0 -2
  10. package/dist/amf/lib/navigation-layout/EndpointsTree.js.map +1 -1
  11. package/dist/amf/lib/navigation-layout/NaturalTree.js +0 -2
  12. package/dist/amf/lib/navigation-layout/NaturalTree.js.map +1 -1
  13. package/dist/amf/store/AmfGraphStore.js +0 -2
  14. package/dist/amf/store/AmfGraphStore.js.map +1 -1
  15. package/dist/amf/store/AmfStore.js +0 -7
  16. package/dist/amf/store/AmfStore.js.map +1 -1
  17. package/dist/bindings/base/HttpClientStoreBindings.js +4 -1
  18. package/dist/bindings/base/HttpClientStoreBindings.js.map +1 -1
  19. package/dist/bindings/base/PlatformBindings.js +6 -10
  20. package/dist/bindings/base/PlatformBindings.js.map +1 -1
  21. package/dist/bindings/base/ProxyBindings.js +9 -6
  22. package/dist/bindings/base/ProxyBindings.js.map +1 -1
  23. package/dist/bindings/base/SharedWorkerThread.js +4 -1
  24. package/dist/bindings/base/SharedWorkerThread.js.map +1 -1
  25. package/dist/bindings/base/StoreBindings.js +162 -170
  26. package/dist/bindings/base/StoreBindings.js.map +1 -1
  27. package/dist/bindings/web/WebConfigurationBindings.js +22 -24
  28. package/dist/bindings/web/WebConfigurationBindings.js.map +1 -1
  29. package/dist/bindings/web/WebFileBindings.js +7 -4
  30. package/dist/bindings/web/WebFileBindings.js.map +1 -1
  31. package/dist/bindings/web/WebHttpClientStoreBindings.js +19 -21
  32. package/dist/bindings/web/WebHttpClientStoreBindings.js.map +1 -1
  33. package/dist/bindings/web/WebNavigationBindings.js +4 -1
  34. package/dist/bindings/web/WebNavigationBindings.js.map +1 -1
  35. package/dist/bindings/web/WebProxyBindings.js +5 -6
  36. package/dist/bindings/web/WebProxyBindings.js.map +1 -1
  37. package/dist/bindings/web/WebStoreBindings.js +39 -44
  38. package/dist/bindings/web/WebStoreBindings.js.map +1 -1
  39. package/dist/contextual-menu/ContextualMenu.js +10 -19
  40. package/dist/contextual-menu/ContextualMenu.js.map +1 -1
  41. package/dist/contextual-menu/ContextualMenuElement.js +4 -32
  42. package/dist/contextual-menu/ContextualMenuElement.js.map +1 -1
  43. package/dist/contextual-menu/MenuItem.js +0 -12
  44. package/dist/contextual-menu/MenuItem.js.map +1 -1
  45. package/dist/define/amf/api-annotation-document.js +1 -1
  46. package/dist/define/amf/api-annotation-document.js.map +1 -1
  47. package/dist/define/amf/api-authorization-editor.js +1 -1
  48. package/dist/define/amf/api-authorization-editor.js.map +1 -1
  49. package/dist/define/amf/api-channel-document.js +1 -1
  50. package/dist/define/amf/api-channel-document.js.map +1 -1
  51. package/dist/define/amf/api-documentation-document.js +1 -1
  52. package/dist/define/amf/api-documentation-document.js.map +1 -1
  53. package/dist/define/amf/api-documentation.js +1 -1
  54. package/dist/define/amf/api-documentation.js.map +1 -1
  55. package/dist/define/amf/api-navigation.js +1 -1
  56. package/dist/define/amf/api-navigation.js.map +1 -1
  57. package/dist/define/amf/api-operation-document.js +1 -1
  58. package/dist/define/amf/api-operation-document.js.map +1 -1
  59. package/dist/define/amf/api-parameter-document.js +1 -1
  60. package/dist/define/amf/api-parameter-document.js.map +1 -1
  61. package/dist/define/amf/api-parametrized-security-scheme.js +1 -1
  62. package/dist/define/amf/api-parametrized-security-scheme.js.map +1 -1
  63. package/dist/define/amf/api-payload-document.js +1 -1
  64. package/dist/define/amf/api-payload-document.js.map +1 -1
  65. package/dist/define/amf/api-request-document.js +1 -1
  66. package/dist/define/amf/api-request-document.js.map +1 -1
  67. package/dist/define/amf/api-request-editor.js +1 -1
  68. package/dist/define/amf/api-request-editor.js.map +1 -1
  69. package/dist/define/amf/api-request.js +1 -1
  70. package/dist/define/amf/api-request.js.map +1 -1
  71. package/dist/define/amf/api-resource-document.js +1 -1
  72. package/dist/define/amf/api-resource-document.js.map +1 -1
  73. package/dist/define/amf/api-response-document.js +1 -1
  74. package/dist/define/amf/api-response-document.js.map +1 -1
  75. package/dist/define/amf/api-schema-document.js +1 -1
  76. package/dist/define/amf/api-schema-document.js.map +1 -1
  77. package/dist/define/amf/api-security-document.js +1 -1
  78. package/dist/define/amf/api-security-document.js.map +1 -1
  79. package/dist/define/amf/api-security-requirement-document.js +1 -1
  80. package/dist/define/amf/api-security-requirement-document.js.map +1 -1
  81. package/dist/define/amf/api-server-picker.js +1 -1
  82. package/dist/define/amf/api-server-picker.js.map +1 -1
  83. package/dist/define/amf/api-summary.js +1 -1
  84. package/dist/define/amf/api-summary.js.map +1 -1
  85. package/dist/define/amf/authorization/amf-apikey-authorization.js +1 -1
  86. package/dist/define/amf/authorization/amf-apikey-authorization.js.map +1 -1
  87. package/dist/define/amf/authorization/amf-basic-authorization.js +1 -1
  88. package/dist/define/amf/authorization/amf-basic-authorization.js.map +1 -1
  89. package/dist/define/amf/authorization/amf-bearer-authorization.js +1 -1
  90. package/dist/define/amf/authorization/amf-bearer-authorization.js.map +1 -1
  91. package/dist/define/amf/authorization/amf-oauth2-authorization.js +1 -1
  92. package/dist/define/amf/authorization/amf-oauth2-authorization.js.map +1 -1
  93. package/dist/define/amf/authorization/amf-oidc-authorization.js +1 -1
  94. package/dist/define/amf/authorization/amf-oidc-authorization.js.map +1 -1
  95. package/dist/define/amf/authorization/amf-passthrough-authorization.js +1 -1
  96. package/dist/define/amf/authorization/amf-passthrough-authorization.js.map +1 -1
  97. package/dist/define/amf/authorization/amf-ramlcustom-authorization.js +1 -1
  98. package/dist/define/amf/authorization/amf-ramlcustom-authorization.js.map +1 -1
  99. package/dist/define/authorization/apikey-authorization.js +1 -1
  100. package/dist/define/authorization/apikey-authorization.js.map +1 -1
  101. package/dist/define/authorization/basic-authorization.js +1 -1
  102. package/dist/define/authorization/basic-authorization.js.map +1 -1
  103. package/dist/define/authorization/bearer-authorization.js +1 -1
  104. package/dist/define/authorization/bearer-authorization.js.map +1 -1
  105. package/dist/define/authorization/cc-authorization.js +1 -1
  106. package/dist/define/authorization/cc-authorization.js.map +1 -1
  107. package/dist/define/authorization/ntlm-authorization.js +1 -1
  108. package/dist/define/authorization/ntlm-authorization.js.map +1 -1
  109. package/dist/define/authorization/oauth2-authorization.js +1 -1
  110. package/dist/define/authorization/oauth2-authorization.js.map +1 -1
  111. package/dist/define/authorization/oidc-authorization.js +1 -1
  112. package/dist/define/authorization/oidc-authorization.js.map +1 -1
  113. package/dist/define/contextual-menu/contextual-menu.js +1 -1
  114. package/dist/define/contextual-menu/contextual-menu.js.map +1 -1
  115. package/dist/define/dialog/confirm-delete-dialog.js +1 -1
  116. package/dist/define/dialog/confirm-delete-dialog.js.map +1 -1
  117. package/dist/define/dialog/delete-cookie-action-dialog.d.ts +10 -0
  118. package/dist/define/dialog/delete-cookie-action-dialog.d.ts.map +1 -0
  119. package/dist/define/dialog/delete-cookie-action-dialog.js +14 -0
  120. package/dist/define/dialog/delete-cookie-action-dialog.js.map +1 -0
  121. package/dist/define/dialog/rename-dialog.js +1 -1
  122. package/dist/define/dialog/rename-dialog.js.map +1 -1
  123. package/dist/define/dialog/set-cookie-action-dialog.d.ts +10 -0
  124. package/dist/define/dialog/set-cookie-action-dialog.d.ts.map +1 -0
  125. package/dist/define/dialog/set-cookie-action-dialog.js +14 -0
  126. package/dist/define/dialog/set-cookie-action-dialog.js.map +1 -0
  127. package/dist/define/files/share-file.js +1 -1
  128. package/dist/define/files/share-file.js.map +1 -1
  129. package/dist/define/har/har-viewer.js +1 -1
  130. package/dist/define/har/har-viewer.js.map +1 -1
  131. package/dist/define/highlight/marked-highlight.js +1 -1
  132. package/dist/define/highlight/marked-highlight.js.map +1 -1
  133. package/dist/define/highlight/prism-highlight.js +1 -1
  134. package/dist/define/highlight/prism-highlight.js.map +1 -1
  135. package/dist/define/http/http-assertions.d.ts +1 -1
  136. package/dist/define/http/http-assertions.d.ts.map +1 -1
  137. package/dist/define/http/http-assertions.js +3 -3
  138. package/dist/define/http/http-assertions.js.map +1 -1
  139. package/dist/define/http/http-body-editor.js +1 -1
  140. package/dist/define/http/http-body-editor.js.map +1 -1
  141. package/dist/define/http/http-body-multipart-editor.js +1 -1
  142. package/dist/define/http/http-body-multipart-editor.js.map +1 -1
  143. package/dist/define/http/http-body-text-editor.js +1 -1
  144. package/dist/define/http/http-body-text-editor.js.map +1 -1
  145. package/dist/define/http/http-body-urlencoded-editor.js +1 -1
  146. package/dist/define/http/http-body-urlencoded-editor.js.map +1 -1
  147. package/dist/define/http/http-flows.d.ts +10 -0
  148. package/dist/define/http/http-flows.d.ts.map +1 -0
  149. package/dist/define/http/http-flows.js +13 -0
  150. package/dist/define/http/http-flows.js.map +1 -0
  151. package/dist/define/http/http-headers-form.js +1 -1
  152. package/dist/define/http/http-headers-form.js.map +1 -1
  153. package/dist/define/http/http-log-body.js +1 -1
  154. package/dist/define/http/http-log-body.js.map +1 -1
  155. package/dist/define/http/http-log-headers.js +1 -1
  156. package/dist/define/http/http-log-headers.js.map +1 -1
  157. package/dist/define/http/http-log-timings.js +1 -1
  158. package/dist/define/http/http-log-timings.js.map +1 -1
  159. package/dist/define/http/http-request-config.js +1 -1
  160. package/dist/define/http/http-request-config.js.map +1 -1
  161. package/dist/define/http/http-request-editor.js +1 -1
  162. package/dist/define/http/http-request-editor.js.map +1 -1
  163. package/dist/define/http/http-request-log.js +1 -1
  164. package/dist/define/http/http-request-log.js.map +1 -1
  165. package/dist/define/http/http-snippets.js +1 -1
  166. package/dist/define/http/http-snippets.js.map +1 -1
  167. package/dist/define/http/http-url-input.js +1 -1
  168. package/dist/define/http/http-url-input.js.map +1 -1
  169. package/dist/define/http/http-url-params-form.js +1 -1
  170. package/dist/define/http/http-url-params-form.js.map +1 -1
  171. package/dist/define/http-project/http-project-request-history.js +1 -1
  172. package/dist/define/http-project/http-project-request-history.js.map +1 -1
  173. package/dist/define/http-project/http-project-request.js +2 -2
  174. package/dist/define/http-project/http-project-request.js.map +1 -1
  175. package/dist/define/http-project/project-navigation.js +1 -1
  176. package/dist/define/http-project/project-navigation.js.map +1 -1
  177. package/dist/define/http-project/project-run-report.js +1 -1
  178. package/dist/define/http-project/project-run-report.js.map +1 -1
  179. package/dist/define/http-project/project-runner.js +2 -2
  180. package/dist/define/http-project/project-runner.js.map +1 -1
  181. package/dist/define/layout/split-view.js +1 -1
  182. package/dist/define/layout/split-view.js.map +1 -1
  183. package/dist/define/schema-design/schema-design-navigation.js +1 -1
  184. package/dist/define/schema-design/schema-design-navigation.js.map +1 -1
  185. package/dist/define/schema-design/schema-namespace-selector.js +1 -1
  186. package/dist/define/schema-design/schema-namespace-selector.js.map +1 -1
  187. package/dist/define/ui/ui-button.js +1 -1
  188. package/dist/define/ui/ui-button.js.map +1 -1
  189. package/dist/define/ui/ui-chip.js +1 -1
  190. package/dist/define/ui/ui-chip.js.map +1 -1
  191. package/dist/define/ui/ui-collapse.js +1 -1
  192. package/dist/define/ui/ui-collapse.js.map +1 -1
  193. package/dist/define/ui/ui-dialog.js +1 -1
  194. package/dist/define/ui/ui-dialog.js.map +1 -1
  195. package/dist/define/ui/ui-divider.d.ts +4 -1
  196. package/dist/define/ui/ui-divider.d.ts.map +1 -1
  197. package/dist/define/ui/ui-divider.js +11 -2
  198. package/dist/define/ui/ui-divider.js.map +1 -1
  199. package/dist/define/ui/ui-dropdown-list.js +1 -1
  200. package/dist/define/ui/ui-dropdown-list.js.map +1 -1
  201. package/dist/define/ui/ui-icon-button.js +1 -1
  202. package/dist/define/ui/ui-icon-button.js.map +1 -1
  203. package/dist/define/ui/ui-icon.js +1 -1
  204. package/dist/define/ui/ui-icon.js.map +1 -1
  205. package/dist/define/ui/ui-list-item.js +1 -1
  206. package/dist/define/ui/ui-list-item.js.map +1 -1
  207. package/dist/define/ui/ui-list.js +1 -1
  208. package/dist/define/ui/ui-list.js.map +1 -1
  209. package/dist/define/ui/ui-listbox.js +1 -1
  210. package/dist/define/ui/ui-listbox.js.map +1 -1
  211. package/dist/define/ui/ui-progress.js +1 -1
  212. package/dist/define/ui/ui-progress.js.map +1 -1
  213. package/dist/define/ui/ui-segmented-button-set.js +1 -1
  214. package/dist/define/ui/ui-segmented-button-set.js.map +1 -1
  215. package/dist/define/ui/ui-segmented-button.js +1 -1
  216. package/dist/define/ui/ui-segmented-button.js.map +1 -1
  217. package/dist/define/ui/ui-snackbar.js +1 -1
  218. package/dist/define/ui/ui-snackbar.js.map +1 -1
  219. package/dist/define/ui/ui-tab.js +1 -1
  220. package/dist/define/ui/ui-tab.js.map +1 -1
  221. package/dist/define/ui/ui-tabs.js +1 -1
  222. package/dist/define/ui/ui-tabs.js.map +1 -1
  223. package/dist/directives/data-attr.js +0 -1
  224. package/dist/directives/data-attr.js.map +1 -1
  225. package/dist/elements/ApiElement.d.ts +4 -0
  226. package/dist/elements/ApiElement.d.ts.map +1 -1
  227. package/dist/elements/ApiElement.js +6 -7
  228. package/dist/elements/ApiElement.js.map +1 -1
  229. package/dist/elements/amf/ApiAnnotationDocument.element.js +0 -2
  230. package/dist/elements/amf/ApiAnnotationDocument.element.js.map +1 -1
  231. package/dist/elements/amf/ApiAuthorizationEditor.element.js +1 -33
  232. package/dist/elements/amf/ApiAuthorizationEditor.element.js.map +1 -1
  233. package/dist/elements/amf/ApiDocumentation.element.js +0 -91
  234. package/dist/elements/amf/ApiDocumentation.element.js.map +1 -1
  235. package/dist/elements/amf/ApiDocumentationBase.js +0 -9
  236. package/dist/elements/amf/ApiDocumentationBase.js.map +1 -1
  237. package/dist/elements/amf/ApiDocumentationDocument.element.js +0 -1
  238. package/dist/elements/amf/ApiDocumentationDocument.element.js.map +1 -1
  239. package/dist/elements/amf/ApiNavigation.element.js +0 -97
  240. package/dist/elements/amf/ApiNavigation.element.js.map +1 -1
  241. package/dist/elements/amf/ApiOperationDocument.element.d.ts.map +1 -1
  242. package/dist/elements/amf/ApiOperationDocument.element.js +2 -77
  243. package/dist/elements/amf/ApiOperationDocument.element.js.map +1 -1
  244. package/dist/elements/amf/ApiParameterDocument.element.js +0 -3
  245. package/dist/elements/amf/ApiParameterDocument.element.js.map +1 -1
  246. package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js +0 -1
  247. package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js.map +1 -1
  248. package/dist/elements/amf/ApiPayloadDocument.element.js +0 -1
  249. package/dist/elements/amf/ApiPayloadDocument.element.js.map +1 -1
  250. package/dist/elements/amf/ApiRequest.element.js +1 -79
  251. package/dist/elements/amf/ApiRequest.element.js.map +1 -1
  252. package/dist/elements/amf/ApiRequestDocument.element.js +0 -38
  253. package/dist/elements/amf/ApiRequestDocument.element.js.map +1 -1
  254. package/dist/elements/amf/ApiRequestEditor.element.d.ts +0 -1
  255. package/dist/elements/amf/ApiRequestEditor.element.d.ts.map +1 -1
  256. package/dist/elements/amf/ApiRequestEditor.element.js +0 -121
  257. package/dist/elements/amf/ApiRequestEditor.element.js.map +1 -1
  258. package/dist/elements/amf/ApiResourceDocument.element.js +0 -75
  259. package/dist/elements/amf/ApiResourceDocument.element.js.map +1 -1
  260. package/dist/elements/amf/ApiResponseDocument.element.js +0 -17
  261. package/dist/elements/amf/ApiResponseDocument.element.js.map +1 -1
  262. package/dist/elements/amf/ApiSchemaDocument.element.js +0 -28
  263. package/dist/elements/amf/ApiSchemaDocument.element.js.map +1 -1
  264. package/dist/elements/amf/ApiSecurityDocument.element.js +0 -28
  265. package/dist/elements/amf/ApiSecurityDocument.element.js.map +1 -1
  266. package/dist/elements/amf/ApiSecurityRequirementDocument.element.js +0 -1
  267. package/dist/elements/amf/ApiSecurityRequirementDocument.element.js.map +1 -1
  268. package/dist/elements/amf/ApiServerPicker.element.js +2 -65
  269. package/dist/elements/amf/ApiServerPicker.element.js.map +1 -1
  270. package/dist/elements/amf/ApiSummary.element.js +0 -26
  271. package/dist/elements/amf/ApiSummary.element.js.map +1 -1
  272. package/dist/elements/amf/authorization/AmfApiKey.js +0 -5
  273. package/dist/elements/amf/authorization/AmfApiKey.js.map +1 -1
  274. package/dist/elements/amf/authorization/AmfBasic.js +0 -4
  275. package/dist/elements/amf/authorization/AmfBasic.js.map +1 -1
  276. package/dist/elements/amf/authorization/AmfBearer.js +0 -4
  277. package/dist/elements/amf/authorization/AmfBearer.js.map +1 -1
  278. package/dist/elements/amf/authorization/AmfOauth2.js +0 -13
  279. package/dist/elements/amf/authorization/AmfOauth2.js.map +1 -1
  280. package/dist/elements/amf/authorization/AmfOidc.js +0 -4
  281. package/dist/elements/amf/authorization/AmfOidc.js.map +1 -1
  282. package/dist/elements/amf/authorization/AmfPassThrough.js +0 -6
  283. package/dist/elements/amf/authorization/AmfPassThrough.js.map +1 -1
  284. package/dist/elements/amf/authorization/AmfRamlCustom.js +0 -6
  285. package/dist/elements/amf/authorization/AmfRamlCustom.js.map +1 -1
  286. package/dist/elements/authorization/OAuth2Authorize.js +0 -14
  287. package/dist/elements/authorization/OAuth2Authorize.js.map +1 -1
  288. package/dist/elements/authorization/OidcAuthorize.js +0 -14
  289. package/dist/elements/authorization/OidcAuthorize.js.map +1 -1
  290. package/dist/elements/authorization/ui/ApiKeyAuthorization.js +0 -2
  291. package/dist/elements/authorization/ui/ApiKeyAuthorization.js.map +1 -1
  292. package/dist/elements/authorization/ui/Authorization.d.ts +2 -1
  293. package/dist/elements/authorization/ui/Authorization.d.ts.map +1 -1
  294. package/dist/elements/authorization/ui/Authorization.js +18 -35
  295. package/dist/elements/authorization/ui/Authorization.js.map +1 -1
  296. package/dist/elements/authorization/ui/CcAuthorization.js +1 -3
  297. package/dist/elements/authorization/ui/CcAuthorization.js.map +1 -1
  298. package/dist/elements/authorization/ui/OAuth2Authorization.js +21 -50
  299. package/dist/elements/authorization/ui/OAuth2Authorization.js.map +1 -1
  300. package/dist/elements/authorization/ui/OidcAuthorization.js +4 -6
  301. package/dist/elements/authorization/ui/OidcAuthorization.js.map +1 -1
  302. package/dist/elements/code/HttpSnippets.js +9 -8
  303. package/dist/elements/code/HttpSnippets.js.map +1 -1
  304. package/dist/elements/dialog/ConfirmDelete.js +0 -12
  305. package/dist/elements/dialog/ConfirmDelete.js.map +1 -1
  306. package/dist/elements/dialog/DeleteCookieAction.element.d.ts +20 -0
  307. package/dist/elements/dialog/DeleteCookieAction.element.d.ts.map +1 -0
  308. package/dist/elements/dialog/DeleteCookieAction.element.js +93 -0
  309. package/dist/elements/dialog/DeleteCookieAction.element.js.map +1 -0
  310. package/dist/elements/dialog/DeleteCookieAction.styles.d.ts +3 -0
  311. package/dist/elements/dialog/DeleteCookieAction.styles.d.ts.map +1 -0
  312. package/dist/elements/dialog/DeleteCookieAction.styles.js +13 -0
  313. package/dist/elements/dialog/DeleteCookieAction.styles.js.map +1 -0
  314. package/dist/elements/dialog/Rename.d.ts +7 -6
  315. package/dist/elements/dialog/Rename.d.ts.map +1 -1
  316. package/dist/elements/dialog/Rename.js +7 -12
  317. package/dist/elements/dialog/Rename.js.map +1 -1
  318. package/dist/elements/dialog/SetCookieAction.element.d.ts +22 -0
  319. package/dist/elements/dialog/SetCookieAction.element.d.ts.map +1 -0
  320. package/dist/elements/dialog/SetCookieAction.element.js +173 -0
  321. package/dist/elements/dialog/SetCookieAction.element.js.map +1 -0
  322. package/dist/elements/environment/EnvironmentEditor.d.ts +24 -3
  323. package/dist/elements/environment/EnvironmentEditor.d.ts.map +1 -1
  324. package/dist/elements/environment/EnvironmentEditor.js +73 -30
  325. package/dist/elements/environment/EnvironmentEditor.js.map +1 -1
  326. package/dist/elements/environment/EnvironmentEditor.styles.d.ts.map +1 -1
  327. package/dist/elements/environment/EnvironmentEditor.styles.js +5 -0
  328. package/dist/elements/environment/EnvironmentEditor.styles.js.map +1 -1
  329. package/dist/elements/environment/ServerEditor.d.ts +3 -3
  330. package/dist/elements/environment/ServerEditor.d.ts.map +1 -1
  331. package/dist/elements/environment/ServerEditor.js +10 -51
  332. package/dist/elements/environment/ServerEditor.js.map +1 -1
  333. package/dist/elements/environment/VariablesEditor.d.ts +0 -1
  334. package/dist/elements/environment/VariablesEditor.d.ts.map +1 -1
  335. package/dist/elements/environment/VariablesEditor.js +10 -18
  336. package/dist/elements/environment/VariablesEditor.js.map +1 -1
  337. package/dist/elements/files/ShareFile.js +19 -57
  338. package/dist/elements/files/ShareFile.js.map +1 -1
  339. package/dist/elements/har/HarViewer.js +6 -7
  340. package/dist/elements/har/HarViewer.js.map +1 -1
  341. package/dist/elements/highlight/MarkedHighlight.js +4 -56
  342. package/dist/elements/highlight/MarkedHighlight.js.map +1 -1
  343. package/dist/elements/highlight/Prism.styles.d.ts.map +1 -1
  344. package/dist/elements/highlight/Prism.styles.js +12 -5
  345. package/dist/elements/highlight/Prism.styles.js.map +1 -1
  346. package/dist/elements/highlight/PrismHighlight.js +9 -18
  347. package/dist/elements/highlight/PrismHighlight.js.map +1 -1
  348. package/dist/elements/highlight/PrismHighlighter.js +4 -6
  349. package/dist/elements/highlight/PrismHighlighter.js.map +1 -1
  350. package/dist/elements/http/BodyEditor.d.ts +0 -4
  351. package/dist/elements/http/BodyEditor.d.ts.map +1 -1
  352. package/dist/elements/http/BodyEditor.js +31 -49
  353. package/dist/elements/http/BodyEditor.js.map +1 -1
  354. package/dist/elements/http/BodyMultipartEditor.d.ts +3 -16
  355. package/dist/elements/http/BodyMultipartEditor.d.ts.map +1 -1
  356. package/dist/elements/http/BodyMultipartEditor.js +20 -37
  357. package/dist/elements/http/BodyMultipartEditor.js.map +1 -1
  358. package/dist/elements/http/BodyTextEditor.d.ts +0 -1
  359. package/dist/elements/http/BodyTextEditor.d.ts.map +1 -1
  360. package/dist/elements/http/BodyTextEditor.js +2 -18
  361. package/dist/elements/http/BodyTextEditor.js.map +1 -1
  362. package/dist/elements/http/BodyUrlEncodedEditor.d.ts +3 -3
  363. package/dist/elements/http/BodyUrlEncodedEditor.d.ts.map +1 -1
  364. package/dist/elements/http/BodyUrlEncodedEditor.js +23 -26
  365. package/dist/elements/http/BodyUrlEncodedEditor.js.map +1 -1
  366. package/dist/elements/http/HeadersForm.d.ts +0 -4
  367. package/dist/elements/http/HeadersForm.d.ts.map +1 -1
  368. package/dist/elements/http/HeadersForm.js +16 -23
  369. package/dist/elements/http/HeadersForm.js.map +1 -1
  370. package/dist/elements/http/HttpAssertions.element.d.ts +55 -0
  371. package/dist/elements/http/HttpAssertions.element.d.ts.map +1 -0
  372. package/dist/elements/http/HttpAssertions.element.js +264 -0
  373. package/dist/elements/http/HttpAssertions.element.js.map +1 -0
  374. package/dist/elements/http/HttpAssertions.styles.d.ts.map +1 -1
  375. package/dist/elements/http/HttpAssertions.styles.js +7 -156
  376. package/dist/elements/http/HttpAssertions.styles.js.map +1 -1
  377. package/dist/elements/http/HttpFlows.common.d.ts +3 -0
  378. package/dist/elements/http/HttpFlows.common.d.ts.map +1 -0
  379. package/dist/elements/http/HttpFlows.common.js +181 -0
  380. package/dist/elements/http/HttpFlows.common.js.map +1 -0
  381. package/dist/elements/http/HttpFlows.element.d.ts +97 -0
  382. package/dist/elements/http/HttpFlows.element.d.ts.map +1 -0
  383. package/dist/elements/http/HttpFlows.element.js +684 -0
  384. package/dist/elements/http/HttpFlows.element.js.map +1 -0
  385. package/dist/elements/http/HttpFlows.styles.d.ts +3 -0
  386. package/dist/elements/http/HttpFlows.styles.d.ts.map +1 -0
  387. package/dist/elements/http/HttpFlows.styles.js +28 -0
  388. package/dist/elements/http/HttpFlows.styles.js.map +1 -0
  389. package/dist/elements/http/HttpFlowsUi.d.ts +172 -0
  390. package/dist/elements/http/HttpFlowsUi.d.ts.map +1 -0
  391. package/dist/elements/http/HttpFlowsUi.js +1256 -0
  392. package/dist/elements/http/HttpFlowsUi.js.map +1 -0
  393. package/dist/elements/http/LogBody.js +10 -21
  394. package/dist/elements/http/LogBody.js.map +1 -1
  395. package/dist/elements/http/LogHeaders.js +4 -23
  396. package/dist/elements/http/LogHeaders.js.map +1 -1
  397. package/dist/elements/http/LogTimings.js +11 -13
  398. package/dist/elements/http/LogTimings.js.map +1 -1
  399. package/dist/elements/http/RequestConfigElement.d.ts +0 -1
  400. package/dist/elements/http/RequestConfigElement.d.ts.map +1 -1
  401. package/dist/elements/http/RequestConfigElement.js +15 -15
  402. package/dist/elements/http/RequestConfigElement.js.map +1 -1
  403. package/dist/elements/http/RequestEditor.d.ts +10 -10
  404. package/dist/elements/http/RequestEditor.d.ts.map +1 -1
  405. package/dist/elements/http/RequestEditor.js +116 -111
  406. package/dist/elements/http/RequestEditor.js.map +1 -1
  407. package/dist/elements/http/RequestLog.js +9 -14
  408. package/dist/elements/http/RequestLog.js.map +1 -1
  409. package/dist/elements/http/UrlInput.d.ts +3 -3
  410. package/dist/elements/http/UrlInput.d.ts.map +1 -1
  411. package/dist/elements/http/UrlInput.js +17 -27
  412. package/dist/elements/http/UrlInput.js.map +1 -1
  413. package/dist/elements/http/UrlParamsForm.d.ts +0 -1
  414. package/dist/elements/http/UrlParamsForm.d.ts.map +1 -1
  415. package/dist/elements/http/UrlParamsForm.js +16 -16
  416. package/dist/elements/http/UrlParamsForm.js.map +1 -1
  417. package/dist/elements/layout/LayoutManager.js +16 -24
  418. package/dist/elements/layout/LayoutManager.js.map +1 -1
  419. package/dist/elements/layout/LayoutPanelElement.js +17 -23
  420. package/dist/elements/layout/LayoutPanelElement.js.map +1 -1
  421. package/dist/elements/layout/SplitItem.js +4 -12
  422. package/dist/elements/layout/SplitItem.js.map +1 -1
  423. package/dist/elements/layout/SplitLayout.js +18 -24
  424. package/dist/elements/layout/SplitLayout.js.map +1 -1
  425. package/dist/elements/layout/SplitPanel.js +10 -16
  426. package/dist/elements/layout/SplitPanel.js.map +1 -1
  427. package/dist/elements/layout/SplitView.js +17 -26
  428. package/dist/elements/layout/SplitView.js.map +1 -1
  429. package/dist/elements/layout/SplitView.styles.d.ts.map +1 -1
  430. package/dist/elements/layout/SplitView.styles.js +1 -0
  431. package/dist/elements/layout/SplitView.styles.js.map +1 -1
  432. package/dist/elements/navigation/AppNavigationElement.js +8 -47
  433. package/dist/elements/navigation/AppNavigationElement.js.map +1 -1
  434. package/dist/elements/navigation/AppNavigationItem.styles.d.ts.map +1 -1
  435. package/dist/elements/navigation/AppNavigationItem.styles.js +2 -0
  436. package/dist/elements/navigation/AppNavigationItem.styles.js.map +1 -1
  437. package/dist/elements/navigation/AppNavigationItemElement.js +19 -24
  438. package/dist/elements/navigation/AppNavigationItemElement.js.map +1 -1
  439. package/dist/elements/project/HttpProjectRequest.d.ts +2 -1
  440. package/dist/elements/project/HttpProjectRequest.d.ts.map +1 -1
  441. package/dist/elements/project/HttpProjectRequest.js +14 -43
  442. package/dist/elements/project/HttpProjectRequest.js.map +1 -1
  443. package/dist/elements/project/HttpProjectRequestHistory.js +9 -35
  444. package/dist/elements/project/HttpProjectRequestHistory.js.map +1 -1
  445. package/dist/elements/project/ProjectNavigation.js +0 -4
  446. package/dist/elements/project/ProjectNavigation.js.map +1 -1
  447. package/dist/elements/project/ProjectRunReport.js +4 -15
  448. package/dist/elements/project/ProjectRunReport.js.map +1 -1
  449. package/dist/elements/project/ProjectRunner.d.ts +0 -1
  450. package/dist/elements/project/ProjectRunner.d.ts.map +1 -1
  451. package/dist/elements/project/ProjectRunner.js +3 -51
  452. package/dist/elements/project/ProjectRunner.js.map +1 -1
  453. package/dist/elements/schema-design/AssociationFormElement.d.ts +0 -1
  454. package/dist/elements/schema-design/AssociationFormElement.d.ts.map +1 -1
  455. package/dist/elements/schema-design/AssociationFormElement.js +2 -18
  456. package/dist/elements/schema-design/AssociationFormElement.js.map +1 -1
  457. package/dist/elements/schema-design/DataEntityEditorElement.d.ts +2 -2
  458. package/dist/elements/schema-design/DataEntityEditorElement.d.ts.map +1 -1
  459. package/dist/elements/schema-design/DataEntityEditorElement.js +5 -27
  460. package/dist/elements/schema-design/DataEntityEditorElement.js.map +1 -1
  461. package/dist/elements/schema-design/DataModelVisualizationElement.js +0 -16
  462. package/dist/elements/schema-design/DataModelVisualizationElement.js.map +1 -1
  463. package/dist/elements/schema-design/DataSchemaDocument.d.ts +0 -1
  464. package/dist/elements/schema-design/DataSchemaDocument.d.ts.map +1 -1
  465. package/dist/elements/schema-design/DataSchemaDocument.js +4 -43
  466. package/dist/elements/schema-design/DataSchemaDocument.js.map +1 -1
  467. package/dist/elements/schema-design/EntityFormElement.d.ts +0 -1
  468. package/dist/elements/schema-design/EntityFormElement.d.ts.map +1 -1
  469. package/dist/elements/schema-design/EntityFormElement.js +4 -25
  470. package/dist/elements/schema-design/EntityFormElement.js.map +1 -1
  471. package/dist/elements/schema-design/PropertyFormElement.d.ts +1 -2
  472. package/dist/elements/schema-design/PropertyFormElement.d.ts.map +1 -1
  473. package/dist/elements/schema-design/PropertyFormElement.js +8 -23
  474. package/dist/elements/schema-design/PropertyFormElement.js.map +1 -1
  475. package/dist/elements/schema-design/SchemaDesignNavigation.js +0 -9
  476. package/dist/elements/schema-design/SchemaDesignNavigation.js.map +1 -1
  477. package/dist/elements/schema-design/SchemaNamespaceSelector.js +0 -9
  478. package/dist/elements/schema-design/SchemaNamespaceSelector.js.map +1 -1
  479. package/dist/elements/user/UserAvatarElement.js +0 -9
  480. package/dist/elements/user/UserAvatarElement.js.map +1 -1
  481. package/dist/events/http-client/models/CertificatesEvents.js +2 -2
  482. package/dist/events/http-client/models/CertificatesEvents.js.map +1 -1
  483. package/dist/http-client/idb/Base.js +5 -10
  484. package/dist/http-client/idb/Base.js.map +1 -1
  485. package/dist/http-client/idb/LegacyMockedStore.js +0 -1
  486. package/dist/http-client/idb/LegacyMockedStore.js.map +1 -1
  487. package/dist/http-client/idb/MockedStore.js +3 -1
  488. package/dist/http-client/idb/MockedStore.js.map +1 -1
  489. package/dist/http-client/store/DataImportProcessor.js +0 -3
  490. package/dist/http-client/store/DataImportProcessor.js.map +1 -1
  491. package/dist/http-client/store/HttpClientIdbDatabase.js +8 -7
  492. package/dist/http-client/store/HttpClientIdbDatabase.js.map +1 -1
  493. package/dist/http-client/store/IdbThread.js +23 -20
  494. package/dist/http-client/store/IdbThread.js.map +1 -1
  495. package/dist/http-client/store/idb/IdbProjectUi.js +4 -1
  496. package/dist/http-client/store/idb/IdbProjectUi.js.map +1 -1
  497. package/dist/http-client/store/idb/IdbStore.js +0 -2
  498. package/dist/http-client/store/idb/IdbStore.js.map +1 -1
  499. package/dist/http-client/store/idb/IdbUrlHistory.js +4 -1
  500. package/dist/http-client/store/idb/IdbUrlHistory.js.map +1 -1
  501. package/dist/http-client/store/idb/IdbWsHistory.js +4 -1
  502. package/dist/http-client/store/idb/IdbWsHistory.js.map +1 -1
  503. package/dist/lib/chart/HttpHistoryChart.js +7 -8
  504. package/dist/lib/chart/HttpHistoryChart.js.map +1 -1
  505. package/dist/mixins/FileDropMixin.js +0 -1
  506. package/dist/mixins/FileDropMixin.js.map +1 -1
  507. package/dist/mixins/RenderableMixin.js +11 -15
  508. package/dist/mixins/RenderableMixin.js.map +1 -1
  509. package/dist/pages/ApplicationScreen.d.ts +1 -1
  510. package/dist/pages/ApplicationScreen.d.ts.map +1 -1
  511. package/dist/pages/ApplicationScreen.js +35 -56
  512. package/dist/pages/ApplicationScreen.js.map +1 -1
  513. package/dist/pages/api-client/ApiClient.screen.js +11 -20
  514. package/dist/pages/api-client/ApiClient.screen.js.map +1 -1
  515. package/dist/pages/api-client/ApiClient.styles.d.ts.map +1 -1
  516. package/dist/pages/api-client/ApiClient.styles.js +22 -3
  517. package/dist/pages/api-client/ApiClient.styles.js.map +1 -1
  518. package/dist/pages/api-client/Authenticate.screen.d.ts +2 -0
  519. package/dist/pages/api-client/Authenticate.screen.d.ts.map +1 -1
  520. package/dist/pages/api-client/Authenticate.screen.js +23 -9
  521. package/dist/pages/api-client/Authenticate.screen.js.map +1 -1
  522. package/dist/pages/api-client/StoreConfig.screen.d.ts.map +1 -1
  523. package/dist/pages/api-client/StoreConfig.screen.js +25 -39
  524. package/dist/pages/api-client/StoreConfig.screen.js.map +1 -1
  525. package/dist/pages/api-client/StoreConfig.styles.d.ts.map +1 -1
  526. package/dist/pages/api-client/StoreConfig.styles.js +5 -0
  527. package/dist/pages/api-client/StoreConfig.styles.js.map +1 -1
  528. package/dist/pages/api-client/Telemetry.screen.js +1 -2
  529. package/dist/pages/api-client/Telemetry.screen.js.map +1 -1
  530. package/dist/pages/api-client/pages/Files.page.d.ts +1 -0
  531. package/dist/pages/api-client/pages/Files.page.d.ts.map +1 -1
  532. package/dist/pages/api-client/pages/Files.page.js +8 -28
  533. package/dist/pages/api-client/pages/Files.page.js.map +1 -1
  534. package/dist/pages/api-client/pages/Settings.page.js +2 -4
  535. package/dist/pages/api-client/pages/Settings.page.js.map +1 -1
  536. package/dist/pages/api-client/pages/Trash.page.js +2 -13
  537. package/dist/pages/api-client/pages/Trash.page.js.map +1 -1
  538. package/dist/pages/demo/DemoPage.js +13 -13
  539. package/dist/pages/demo/DemoPage.js.map +1 -1
  540. package/dist/pages/http-project/HttpProject.screen.d.ts +0 -8
  541. package/dist/pages/http-project/HttpProject.screen.d.ts.map +1 -1
  542. package/dist/pages/http-project/HttpProject.screen.js +39 -50
  543. package/dist/pages/http-project/HttpProject.screen.js.map +1 -1
  544. package/dist/pages/http-project/types.d.ts +8 -6
  545. package/dist/pages/http-project/types.d.ts.map +1 -1
  546. package/dist/pages/http-project/types.js.map +1 -1
  547. package/dist/pages/schema-design/SchemaDesigner.screen.js +14 -27
  548. package/dist/pages/schema-design/SchemaDesigner.screen.js.map +1 -1
  549. package/dist/store/HttpStore.js +0 -3
  550. package/dist/store/HttpStore.js.map +1 -1
  551. package/dist/store/UserCache.js +5 -5
  552. package/dist/store/UserCache.js.map +1 -1
  553. package/dist/styles/m3/surface.module.d.ts.map +1 -1
  554. package/dist/styles/m3/surface.module.js +11 -27
  555. package/dist/styles/m3/surface.module.js.map +1 -1
  556. package/dist/ui/UiElement.d.ts +4 -0
  557. package/dist/ui/UiElement.d.ts.map +1 -1
  558. package/dist/ui/UiElement.js +10 -5
  559. package/dist/ui/UiElement.js.map +1 -1
  560. package/dist/ui/button/SegmentedButton.js +9 -11
  561. package/dist/ui/button/SegmentedButton.js.map +1 -1
  562. package/dist/ui/button/SegmentedButton.styles.d.ts.map +1 -1
  563. package/dist/ui/button/SegmentedButton.styles.js +3 -1
  564. package/dist/ui/button/SegmentedButton.styles.js.map +1 -1
  565. package/dist/ui/button/SegmentedButtonsSet.js +6 -7
  566. package/dist/ui/button/SegmentedButtonsSet.js.map +1 -1
  567. package/dist/ui/button/UiButton.js +17 -39
  568. package/dist/ui/button/UiButton.js.map +1 -1
  569. package/dist/ui/button/UiIconButton.js +9 -35
  570. package/dist/ui/button/UiIconButton.js.map +1 -1
  571. package/dist/ui/chip/UiChip.js +9 -49
  572. package/dist/ui/chip/UiChip.js.map +1 -1
  573. package/dist/ui/collapse/UiCollapse.js +15 -20
  574. package/dist/ui/collapse/UiCollapse.js.map +1 -1
  575. package/dist/ui/controllers/ActionController.js +143 -144
  576. package/dist/ui/controllers/ActionController.js.map +1 -1
  577. package/dist/ui/controllers/RadioSelectionController.js +0 -1
  578. package/dist/ui/controllers/RadioSelectionController.js.map +1 -1
  579. package/dist/ui/date/DateTime.js +3 -3
  580. package/dist/ui/date/DateTime.js.map +1 -1
  581. package/dist/ui/dialog/UiDialog.d.ts +3 -0
  582. package/dist/ui/dialog/UiDialog.d.ts.map +1 -1
  583. package/dist/ui/dialog/UiDialog.js +17 -38
  584. package/dist/ui/dialog/UiDialog.js.map +1 -1
  585. package/dist/ui/effects/ripple.d.ts.map +1 -1
  586. package/dist/ui/effects/ripple.js +25 -19
  587. package/dist/ui/effects/ripple.js.map +1 -1
  588. package/dist/ui/effects/rippleDirective.js +6 -7
  589. package/dist/ui/effects/rippleDirective.js.map +1 -1
  590. package/dist/ui/icons/Icons.d.ts +3 -2
  591. package/dist/ui/icons/Icons.d.ts.map +1 -1
  592. package/dist/ui/icons/Icons.js +2 -1
  593. package/dist/ui/icons/Icons.js.map +1 -1
  594. package/dist/ui/icons/UiIcon.js +4 -3
  595. package/dist/ui/icons/UiIcon.js.map +1 -1
  596. package/dist/ui/input/CheckboxElement.js +12 -10
  597. package/dist/ui/input/CheckboxElement.js.map +1 -1
  598. package/dist/ui/input/CheckedElement.d.ts +1 -1
  599. package/dist/ui/input/CheckedElement.d.ts.map +1 -1
  600. package/dist/ui/input/CheckedElement.js +5 -16
  601. package/dist/ui/input/CheckedElement.js.map +1 -1
  602. package/dist/ui/input/Input.js +170 -235
  603. package/dist/ui/input/Input.js.map +1 -1
  604. package/dist/ui/input/RadioElement.js +13 -11
  605. package/dist/ui/input/RadioElement.js.map +1 -1
  606. package/dist/ui/input/SwitchElement.js +0 -18
  607. package/dist/ui/input/SwitchElement.js.map +1 -1
  608. package/dist/ui/input/TextAreaElement.js +0 -15
  609. package/dist/ui/input/TextAreaElement.js.map +1 -1
  610. package/dist/ui/list/{DividerElement.d.ts → UiDivider.element.d.ts} +6 -6
  611. package/dist/ui/list/UiDivider.element.d.ts.map +1 -0
  612. package/dist/ui/list/UiDivider.element.js +39 -0
  613. package/dist/ui/list/UiDivider.element.js.map +1 -0
  614. package/dist/ui/list/UiDivider.styles.d.ts +3 -0
  615. package/dist/ui/list/UiDivider.styles.d.ts.map +1 -0
  616. package/dist/ui/list/UiDivider.styles.js +49 -0
  617. package/dist/ui/list/UiDivider.styles.js.map +1 -0
  618. package/dist/ui/list/UiDropdownList.js +7 -48
  619. package/dist/ui/list/UiDropdownList.js.map +1 -1
  620. package/dist/ui/list/UiList.js +3 -15
  621. package/dist/ui/list/UiList.js.map +1 -1
  622. package/dist/ui/list/UiListItem.js +4 -17
  623. package/dist/ui/list/UiListItem.js.map +1 -1
  624. package/dist/ui/list/UiListbox.js +0 -1
  625. package/dist/ui/list/UiListbox.js.map +1 -1
  626. package/dist/ui/notification/SnackNotifications.js +1 -2
  627. package/dist/ui/notification/SnackNotifications.js.map +1 -1
  628. package/dist/ui/notification/Snackbar.js +27 -51
  629. package/dist/ui/notification/Snackbar.js.map +1 -1
  630. package/dist/ui/progress/Range.js +24 -23
  631. package/dist/ui/progress/Range.js.map +1 -1
  632. package/dist/ui/progress/UiProgress.js +0 -11
  633. package/dist/ui/progress/UiProgress.js.map +1 -1
  634. package/dist/ui/table/DataTable.js +7 -12
  635. package/dist/ui/table/DataTable.js.map +1 -1
  636. package/dist/ui/tabs/UiTab.js +24 -25
  637. package/dist/ui/tabs/UiTab.js.map +1 -1
  638. package/dist/ui/tabs/UiTabs.d.ts +13 -1
  639. package/dist/ui/tabs/UiTabs.d.ts.map +1 -1
  640. package/dist/ui/tabs/UiTabs.js +62 -47
  641. package/dist/ui/tabs/UiTabs.js.map +1 -1
  642. package/dist/visualization/elements/VizWorkspaceElement.js +12 -21
  643. package/dist/visualization/elements/VizWorkspaceElement.js.map +1 -1
  644. package/dist/visualization/lib/AssociationAnchors.js +16 -28
  645. package/dist/visualization/lib/AssociationAnchors.js.map +1 -1
  646. package/dist/visualization/lib/Point.js +0 -2
  647. package/dist/visualization/lib/Point.js.map +1 -1
  648. package/dist/visualization/lib/SelectionManager.js +10 -11
  649. package/dist/visualization/lib/SelectionManager.js.map +1 -1
  650. package/dist/visualization/lib/WorkspaceAlignment.js +0 -1
  651. package/dist/visualization/lib/WorkspaceAlignment.js.map +1 -1
  652. package/dist/visualization/lib/WorkspaceDebugging.js +5 -8
  653. package/dist/visualization/lib/WorkspaceDebugging.js.map +1 -1
  654. package/dist/visualization/lib/WorkspaceEdges.js +17 -19
  655. package/dist/visualization/lib/WorkspaceEdges.js.map +1 -1
  656. package/dist/visualization/lib/WorkspaceGestures.js +0 -3
  657. package/dist/visualization/lib/WorkspaceGestures.js.map +1 -1
  658. package/dist/visualization/lib/WorkspaceSizing.js +4 -6
  659. package/dist/visualization/lib/WorkspaceSizing.js.map +1 -1
  660. package/dist/visualization/lib/lines/RectilinearLine.js +8 -34
  661. package/dist/visualization/lib/lines/RectilinearLine.js.map +1 -1
  662. package/dist/visualization/lib/tips/RectilinearTip.js +0 -1
  663. package/dist/visualization/lib/tips/RectilinearTip.js.map +1 -1
  664. package/dist/visualization/lib/tips/TipArtist.js +0 -3
  665. package/dist/visualization/lib/tips/TipArtist.js.map +1 -1
  666. package/dist/visualization/plugin/dnd/DragAndDropPlugin.js +3 -5
  667. package/dist/visualization/plugin/dnd/DragAndDropPlugin.js.map +1 -1
  668. package/dist/visualization/plugin/group-selection/GroupSelection.js +19 -19
  669. package/dist/visualization/plugin/group-selection/GroupSelection.js.map +1 -1
  670. package/dist/visualization/plugin/positioning/WorkspaceLayout.js +21 -38
  671. package/dist/visualization/plugin/positioning/WorkspaceLayout.js.map +1 -1
  672. package/package.json +3 -2
  673. package/src/define/dialog/delete-cookie-action-dialog.ts +16 -0
  674. package/src/define/dialog/set-cookie-action-dialog.ts +16 -0
  675. package/src/define/http/http-assertions.ts +3 -3
  676. package/src/define/http/http-flows.ts +15 -0
  677. package/src/define/ui/ui-divider.ts +7 -2
  678. package/src/elements/ApiElement.ts +7 -0
  679. package/src/elements/amf/ApiAuthorizationEditor.element.ts +1 -1
  680. package/src/elements/amf/ApiOperationDocument.element.ts +2 -1
  681. package/src/elements/amf/ApiRequest.element.ts +1 -1
  682. package/src/elements/amf/ApiRequestEditor.element.ts +0 -4
  683. package/src/elements/authorization/ui/Authorization.ts +3 -5
  684. package/src/elements/dialog/DeleteCookieAction.element.ts +100 -0
  685. package/src/elements/dialog/DeleteCookieAction.styles.ts +14 -0
  686. package/src/elements/dialog/Rename.ts +8 -7
  687. package/src/elements/dialog/SetCookieAction.element.ts +183 -0
  688. package/src/elements/environment/EnvironmentEditor.styles.ts +5 -0
  689. package/src/elements/environment/EnvironmentEditor.ts +81 -22
  690. package/src/elements/environment/ServerEditor.ts +4 -8
  691. package/src/elements/environment/VariablesEditor.ts +3 -7
  692. package/src/elements/highlight/Prism.styles.ts +12 -5
  693. package/src/elements/http/BodyEditor.ts +10 -17
  694. package/src/elements/http/BodyMultipartEditor.ts +3 -20
  695. package/src/elements/http/BodyTextEditor.ts +0 -4
  696. package/src/elements/http/BodyUrlEncodedEditor.ts +5 -8
  697. package/src/elements/http/HeadersForm.ts +2 -9
  698. package/src/elements/http/HttpAssertions.element.ts +286 -0
  699. package/src/elements/http/HttpAssertions.styles.ts +7 -156
  700. package/src/elements/http/HttpFlows.common.ts +181 -0
  701. package/src/elements/http/HttpFlows.element.ts +722 -0
  702. package/src/elements/http/HttpFlows.styles.ts +29 -0
  703. package/src/elements/http/HttpFlowsUi.ts +1327 -0
  704. package/src/elements/http/RequestConfigElement.ts +10 -14
  705. package/src/elements/http/RequestEditor.ts +77 -35
  706. package/src/elements/http/UrlInput.ts +6 -6
  707. package/src/elements/http/UrlParamsForm.ts +2 -6
  708. package/src/elements/layout/SplitView.styles.ts +1 -0
  709. package/src/elements/navigation/AppNavigationItem.styles.ts +2 -0
  710. package/src/elements/project/HttpProjectRequest.ts +16 -5
  711. package/src/elements/project/ProjectRunner.ts +3 -7
  712. package/src/elements/schema-design/AssociationFormElement.ts +4 -8
  713. package/src/elements/schema-design/DataEntityEditorElement.ts +8 -8
  714. package/src/elements/schema-design/DataSchemaDocument.ts +5 -9
  715. package/src/elements/schema-design/EntityFormElement.ts +6 -10
  716. package/src/elements/schema-design/PropertyFormElement.ts +11 -15
  717. package/src/pages/ApplicationScreen.ts +1 -1
  718. package/src/pages/api-client/ApiClient.styles.ts +22 -3
  719. package/src/pages/api-client/Authenticate.screen.ts +19 -3
  720. package/src/pages/api-client/StoreConfig.screen.ts +4 -2
  721. package/src/pages/api-client/StoreConfig.styles.ts +5 -0
  722. package/src/pages/api-client/pages/Files.page.ts +2 -1
  723. package/src/pages/http-project/HttpProject.screen.ts +14 -26
  724. package/src/pages/http-project/types.ts +8 -6
  725. package/src/styles/m3/surface.module.ts +11 -27
  726. package/src/styles/m3/theme.css +36 -0
  727. package/src/styles/m3/tokens.css +11 -0
  728. package/src/ui/UiElement.ts +7 -0
  729. package/src/ui/button/SegmentedButton.styles.ts +3 -1
  730. package/src/ui/dialog/UiDialog.ts +3 -0
  731. package/src/ui/effects/ripple.ts +6 -1
  732. package/src/ui/icons/Icons.ts +3 -2
  733. package/src/ui/input/CheckedElement.ts +3 -3
  734. package/src/ui/input/Input.ts +1 -1
  735. package/src/ui/list/UiDivider.element.ts +41 -0
  736. package/src/ui/list/UiDivider.styles.ts +49 -0
  737. package/src/ui/tabs/UiTabs.ts +55 -13
  738. package/test/amf/authorization/OAuth2Method.test.ts +1 -1
  739. package/test/elements/http/HttpAssertions.test.ts +5 -6
  740. package/test/elements/http/HttpFlows.test.ts +485 -0
  741. package/tsconfig.json +2 -2
  742. package/dist/elements/http/HttpAssertions.d.ts +0 -114
  743. package/dist/elements/http/HttpAssertions.d.ts.map +0 -1
  744. package/dist/elements/http/HttpAssertions.js +0 -1144
  745. package/dist/elements/http/HttpAssertions.js.map +0 -1
  746. package/dist/elements/http/internals.d.ts +0 -150
  747. package/dist/elements/http/internals.d.ts.map +0 -1
  748. package/dist/elements/http/internals.js +0 -150
  749. package/dist/elements/http/internals.js.map +0 -1
  750. package/dist/ui/list/DividerElement.d.ts.map +0 -1
  751. package/dist/ui/list/DividerElement.js +0 -87
  752. package/dist/ui/list/DividerElement.js.map +0 -1
  753. package/src/elements/http/HttpAssertions.ts +0 -1187
  754. package/src/elements/http/internals.ts +0 -151
  755. package/src/http-client/docs/Files.md +0 -28
  756. package/src/ui/list/DividerElement.ts +0 -84
@@ -1 +1 @@
1
- {"version":3,"file":"GroupSelection.js","sourceRoot":"","sources":["../../../../src/visualization/plugin/group-selection/GroupSelection.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable class-methods-use-this */\nimport VizWorkspaceElement from '../../elements/VizWorkspaceElement.js';\nimport { Point } from '../../lib/Point.js';\nimport { getRelativeClickPoint, getObjectBoundingClientRect } from '../../lib/PositionUtils.js';\n\nexport const mouseDownHandler = Symbol('mouseDownHandler');\nexport const mouseUpHandler = Symbol('mouseUpHandler');\nexport const mouseMoveHandler = Symbol('mouseMoveHandler');\nexport const connectedValue = Symbol('connectedValue');\n\nconst CLS = 'selection-zone';\n\n/**\n * A plugin that adds support for a group selection via pointer device on the visualization workspace.\n * \n * This plugin draws a selection rectangle from the starting position until the pointer is released.\n * Each selectable element that is inside the rectangle is selected.\n * \n * After the modeling workspace is created create instance of this class and call `connect()` function\n * to start listening for the events. Call `disconnect()` when the workspace is no longer in use.\n */\nexport class GroupSelection {\n [connectedValue]: boolean = false;\n\n /**\n * @returns True when the plug-in is listening for the input events.\n */\n get connected(): boolean {\n return this[connectedValue];\n }\n\n /**\n * Whether a selection is currently being made.\n */\n selecting: boolean = false;\n\n /**\n * The element that is being rendered as a selection box.\n */\n selectionZone: HTMLDivElement | null = null;\n\n /**\n * The click start point\n */\n startPoint: Point | null = null;\n\n /**\n * The position delta between the start and the current pointer position.\n */\n delta: Point | null = null;\n\n /**\n * @param target The target workspace element.\n */\n constructor(public target: VizWorkspaceElement) {\n this[mouseUpHandler] = this[mouseUpHandler].bind(this);\n this[mouseDownHandler] = this[mouseDownHandler].bind(this);\n this[mouseMoveHandler] = this[mouseMoveHandler].bind(this);\n this[connectedValue] = false;\n }\n\n connect(): void {\n this.target.addEventListener('mousedown', this[mouseDownHandler]);\n document.body.addEventListener('mouseup', this[mouseUpHandler]);\n document.body.addEventListener('mousemove', this[mouseMoveHandler]);\n this[connectedValue] = true;\n }\n\n disconnect(): void {\n this.target.removeEventListener('mousedown', this[mouseDownHandler]);\n document.body.removeEventListener('mouseup', this[mouseUpHandler]);\n document.body.removeEventListener('mousemove', this[mouseMoveHandler]);\n this[connectedValue] = false;\n }\n\n reset(): void {\n this.startPoint = null;\n this.delta = null;\n this.selectionZone = null;\n this.selecting = false;\n }\n\n [mouseDownHandler](e: MouseEvent): void {\n if (e.target !== this.target || e.button !== 0) {\n return;\n }\n // e.preventDefault();\n this.selecting = true;\n this.startPoint = this.pointFromEvent(e);\n }\n\n [mouseMoveHandler](e: MouseEvent): void {\n if (!this.selecting) {\n return;\n }\n if (!this.selectionZone) {\n this.appendSelectionZone(this.startPoint!);\n }\n const current = this.pointFromEvent(e);\n this.updateSelectionSize(current);\n // // See notes in this function.\n this.detectEdges(e);\n this.detectSelected();\n e.preventDefault();\n }\n\n [mouseUpHandler](e: MouseEvent): void {\n if (!this.selecting) {\n return;\n }\n this.clearWorkspace();\n this.reset();\n e.preventDefault();\n }\n\n /**\n * Removes the selection rectangle from the workspace\n */\n clearWorkspace(): void {\n const target = this.target.canvas!;\n const nodes = target.querySelectorAll(`.${CLS}`);\n Array.from(nodes).forEach((n) => target.removeChild(n));\n }\n\n /**\n * Handles the drop event on one of the children.\n * @returns coordinates of the click on the workspace as it would be\n * not scaled.\n */\n pointFromEvent(e: MouseEvent): Point {\n const { clientX, clientY } = e;\n return getRelativeClickPoint(clientX, clientY, this.target);\n }\n\n /**\n * Adds a selection box in the place of the click.\n * @param position The starting position of the element.\n */\n appendSelectionZone(position: Point): void {\n const selectionZone = document.createElement('div');\n selectionZone.classList.add(CLS);\n const { x, y } = position;\n selectionZone.style.top = `${y}px`;\n selectionZone.style.left = `${x}px`;\n this.target.canvas!.append(selectionZone);\n this.selectionZone = selectionZone;\n }\n\n /**\n * Moves the workspace if needed.\n */\n detectEdges(e: MouseEvent): void {\n const { clientX, clientY } = e;\n this.target.scrollIfNeeded(clientX, clientY);\n }\n\n /**\n * Redraws the selection rectangle to current point\n * @param {Point} current\n */\n updateSelectionSize(current: Point): void {\n const { x: x1, y: y1 } = this.startPoint!;\n const { x: x2, y: y2 } = current;\n const dx = x2 - x1;\n const dy = y2 - y1;\n if (dx >= 0) {\n this.selectionZone!.style.width = `${dx}px`;\n } else {\n this.selectionZone!.style.width = `${Math.abs(dx)}px`;\n const xPos = x1 + dx;\n this.selectionZone!.style.left = `${xPos}px`;\n }\n if (dy >= 0) {\n this.selectionZone!.style.height = `${dy}px`;\n } else {\n this.selectionZone!.style.height = `${Math.abs(dy)}px`;\n const yPos = y1 + dy;\n this.selectionZone!.style.top = `${yPos}px`;\n }\n }\n\n detectSelected(): void {\n const selectionManager = this.target.selection;\n const items = selectionManager.selectable;\n if (!items.length) {\n return;\n }\n const selected: Element[] = [];\n const rect = this.getSelectionRect();\n items.forEach((node) => {\n const box = getObjectBoundingClientRect(node, this.target);\n if (this.collide(rect, box)) {\n selected.push(node);\n }\n });\n const targetSelected: Element[] = [];\n selectionManager.selected.forEach((i) => {\n if (selectionManager.isSelectable(i.node)) {\n targetSelected.push(i.node);\n }\n });\n if (selected.length === targetSelected.length) {\n // This is a possible optimization to reduce number of computations.\n // Assumption is being made that the actual change can only be made\n // when adding or removing a selection (one by one) as the selection\n // would have to at the same time select a rectangle and deselect another\n // which probably is impossible (?).\n return;\n }\n if (selected.length > 0) {\n targetSelected.forEach((node) => {\n if (!selected.includes(node) && selectionManager.isSelected(node)) {\n selectionManager.setUnselected(node);\n }\n });\n selected.forEach((node) => {\n if (!selectionManager.isSelected(node)) {\n selectionManager.setSelected(node);\n }\n });\n } else if (targetSelected.length) {\n targetSelected.forEach((node) => selectionManager.setUnselected(node));\n }\n }\n\n /**\n * Reads scaled selection rectangle\n * @return A DOMRect object for the selection rectangle\n */\n getSelectionRect(): DOMRect {\n const node = this.selectionZone!;\n const top = this.getSafeStyleValue(node, 'top');\n const left = this.getSafeStyleValue(node, 'left');\n const width = this.getSafeStyleValue(node, 'width');\n const height = this.getSafeStyleValue(node, 'height');\n return new DOMRect(left, top, width, height);\n }\n\n /**\n * @param node The node to read the style property from.\n * @param prop The name of the css property to read\n * @returns The value of the property or 0 if not found.\n */\n getSafeStyleValue(node: HTMLElement, prop: string): number {\n let value = node.style.getPropertyValue(prop);\n if (!value) {\n return 0;\n }\n value = value.replace('px', '');\n const result = Number(value);\n if (Number.isNaN(result)) {\n return 0;\n }\n return result;\n }\n\n /**\n * Tests whether a current node collides with the selection rectangle.\n * @param selectionRect The selection computed rectangle\n * @param rect The Rect of the target element.\n * @returns True if the selection rectangle collides with `node`\n */\n collide(selectionRect: DOMRect, rect: DOMRect): boolean {\n const { x: x1, y: y1, width: w1, height: h1 } = selectionRect;\n const { x: x2, y: y2, width: w2, height: h2 } = rect;\n if (x1 < x2 + w2 &&\n x1 + w1 > x2 &&\n y1 < y2 + h2 &&\n y1 + h1 > y2) {\n return true;\n }\n return false;\n }\n}\n"]}
1
+ {"version":3,"file":"GroupSelection.js","sourceRoot":"","sources":["../../../../src/visualization/plugin/group-selection/GroupSelection.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable class-methods-use-this */\nimport VizWorkspaceElement from '../../elements/VizWorkspaceElement.js';\nimport { Point } from '../../lib/Point.js';\nimport { getRelativeClickPoint, getObjectBoundingClientRect } from '../../lib/PositionUtils.js';\n\nexport const mouseDownHandler = Symbol('mouseDownHandler');\nexport const mouseUpHandler = Symbol('mouseUpHandler');\nexport const mouseMoveHandler = Symbol('mouseMoveHandler');\nexport const connectedValue = Symbol('connectedValue');\n\nconst CLS = 'selection-zone';\n\n/**\n * A plugin that adds support for a group selection via pointer device on the visualization workspace.\n * \n * This plugin draws a selection rectangle from the starting position until the pointer is released.\n * Each selectable element that is inside the rectangle is selected.\n * \n * After the modeling workspace is created create instance of this class and call `connect()` function\n * to start listening for the events. Call `disconnect()` when the workspace is no longer in use.\n */\nexport class GroupSelection {\n [connectedValue]: boolean = false;\n\n /**\n * @returns True when the plug-in is listening for the input events.\n */\n get connected(): boolean {\n return this[connectedValue];\n }\n\n /**\n * Whether a selection is currently being made.\n */\n selecting: boolean = false;\n\n /**\n * The element that is being rendered as a selection box.\n */\n selectionZone: HTMLDivElement | null = null;\n\n /**\n * The click start point\n */\n startPoint: Point | null = null;\n\n /**\n * The position delta between the start and the current pointer position.\n */\n delta: Point | null = null;\n\n /**\n * @param target The target workspace element.\n */\n constructor(public target: VizWorkspaceElement) {\n this[mouseUpHandler] = this[mouseUpHandler].bind(this);\n this[mouseDownHandler] = this[mouseDownHandler].bind(this);\n this[mouseMoveHandler] = this[mouseMoveHandler].bind(this);\n this[connectedValue] = false;\n }\n\n connect(): void {\n this.target.addEventListener('mousedown', this[mouseDownHandler]);\n document.body.addEventListener('mouseup', this[mouseUpHandler]);\n document.body.addEventListener('mousemove', this[mouseMoveHandler]);\n this[connectedValue] = true;\n }\n\n disconnect(): void {\n this.target.removeEventListener('mousedown', this[mouseDownHandler]);\n document.body.removeEventListener('mouseup', this[mouseUpHandler]);\n document.body.removeEventListener('mousemove', this[mouseMoveHandler]);\n this[connectedValue] = false;\n }\n\n reset(): void {\n this.startPoint = null;\n this.delta = null;\n this.selectionZone = null;\n this.selecting = false;\n }\n\n [mouseDownHandler](e: MouseEvent): void {\n if (e.target !== this.target || e.button !== 0) {\n return;\n }\n // e.preventDefault();\n this.selecting = true;\n this.startPoint = this.pointFromEvent(e);\n }\n\n [mouseMoveHandler](e: MouseEvent): void {\n if (!this.selecting) {\n return;\n }\n if (!this.selectionZone) {\n this.appendSelectionZone(this.startPoint!);\n }\n const current = this.pointFromEvent(e);\n this.updateSelectionSize(current);\n // // See notes in this function.\n this.detectEdges(e);\n this.detectSelected();\n e.preventDefault();\n }\n\n [mouseUpHandler](e: MouseEvent): void {\n if (!this.selecting) {\n return;\n }\n this.clearWorkspace();\n this.reset();\n e.preventDefault();\n }\n\n /**\n * Removes the selection rectangle from the workspace\n */\n clearWorkspace(): void {\n const target = this.target.canvas!;\n const nodes = target.querySelectorAll(`.${CLS}`);\n Array.from(nodes).forEach((n) => target.removeChild(n));\n }\n\n /**\n * Handles the drop event on one of the children.\n * @returns coordinates of the click on the workspace as it would be\n * not scaled.\n */\n pointFromEvent(e: MouseEvent): Point {\n const { clientX, clientY } = e;\n return getRelativeClickPoint(clientX, clientY, this.target);\n }\n\n /**\n * Adds a selection box in the place of the click.\n * @param position The starting position of the element.\n */\n appendSelectionZone(position: Point): void {\n const selectionZone = document.createElement('div');\n selectionZone.classList.add(CLS);\n const { x, y } = position;\n selectionZone.style.top = `${y}px`;\n selectionZone.style.left = `${x}px`;\n this.target.canvas!.append(selectionZone);\n this.selectionZone = selectionZone;\n }\n\n /**\n * Moves the workspace if needed.\n */\n detectEdges(e: MouseEvent): void {\n const { clientX, clientY } = e;\n this.target.scrollIfNeeded(clientX, clientY);\n }\n\n /**\n * Redraws the selection rectangle to current point\n * @param {Point} current\n */\n updateSelectionSize(current: Point): void {\n const { x: x1, y: y1 } = this.startPoint!;\n const { x: x2, y: y2 } = current;\n const dx = x2 - x1;\n const dy = y2 - y1;\n if (dx >= 0) {\n this.selectionZone!.style.width = `${dx}px`;\n } else {\n this.selectionZone!.style.width = `${Math.abs(dx)}px`;\n const xPos = x1 + dx;\n this.selectionZone!.style.left = `${xPos}px`;\n }\n if (dy >= 0) {\n this.selectionZone!.style.height = `${dy}px`;\n } else {\n this.selectionZone!.style.height = `${Math.abs(dy)}px`;\n const yPos = y1 + dy;\n this.selectionZone!.style.top = `${yPos}px`;\n }\n }\n\n detectSelected(): void {\n const selectionManager = this.target.selection;\n const items = selectionManager.selectable;\n if (!items.length) {\n return;\n }\n const selected: Element[] = [];\n const rect = this.getSelectionRect();\n items.forEach((node) => {\n const box = getObjectBoundingClientRect(node, this.target);\n if (this.collide(rect, box)) {\n selected.push(node);\n }\n });\n const targetSelected: Element[] = [];\n selectionManager.selected.forEach((i) => {\n if (selectionManager.isSelectable(i.node)) {\n targetSelected.push(i.node);\n }\n });\n if (selected.length === targetSelected.length) {\n // This is a possible optimization to reduce number of computations.\n // Assumption is being made that the actual change can only be made\n // when adding or removing a selection (one by one) as the selection\n // would have to at the same time select a rectangle and deselect another\n // which probably is impossible (?).\n return;\n }\n if (selected.length > 0) {\n targetSelected.forEach((node) => {\n if (!selected.includes(node) && selectionManager.isSelected(node)) {\n selectionManager.setUnselected(node);\n }\n });\n selected.forEach((node) => {\n if (!selectionManager.isSelected(node)) {\n selectionManager.setSelected(node);\n }\n });\n } else if (targetSelected.length) {\n targetSelected.forEach((node) => selectionManager.setUnselected(node));\n }\n }\n\n /**\n * Reads scaled selection rectangle\n * @return A DOMRect object for the selection rectangle\n */\n getSelectionRect(): DOMRect {\n const node = this.selectionZone!;\n const top = this.getSafeStyleValue(node, 'top');\n const left = this.getSafeStyleValue(node, 'left');\n const width = this.getSafeStyleValue(node, 'width');\n const height = this.getSafeStyleValue(node, 'height');\n return new DOMRect(left, top, width, height);\n }\n\n /**\n * @param node The node to read the style property from.\n * @param prop The name of the css property to read\n * @returns The value of the property or 0 if not found.\n */\n getSafeStyleValue(node: HTMLElement, prop: string): number {\n let value = node.style.getPropertyValue(prop);\n if (!value) {\n return 0;\n }\n value = value.replace('px', '');\n const result = Number(value);\n if (Number.isNaN(result)) {\n return 0;\n }\n return result;\n }\n\n /**\n * Tests whether a current node collides with the selection rectangle.\n * @param selectionRect The selection computed rectangle\n * @param rect The Rect of the target element.\n * @returns True if the selection rectangle collides with `node`\n */\n collide(selectionRect: DOMRect, rect: DOMRect): boolean {\n const { x: x1, y: y1, width: w1, height: h1 } = selectionRect;\n const { x: x2, y: y2, width: w2, height: h2 } = rect;\n if (x1 < x2 + w2 &&\n x1 + w1 > x2 &&\n y1 < y2 + h2 &&\n y1 + h1 > y2) {\n return true;\n }\n return false;\n }\n}\n"]}
@@ -21,46 +21,29 @@ export var LayoutWeight;
21
21
  * in the visualization workspace.
22
22
  */
23
23
  export class WorkspaceLayout {
24
- workspace;
25
- readPositions = {};
26
- /**
27
- * Direction for rank nodes. Can be TB, BT, LR, or RL, where T = top, B = bottom, L = left, and R = right.
28
- */
29
- rankDir;
30
- /**
31
- * Alignment for rank nodes. Can be UL, UR, DL, or DR, where U = up, D = down, L = left, and R = right.
32
- */
33
- align;
34
- /**
35
- * Type of algorithm to assign a rank to each node in the input graph.
36
- */
37
- ranker;
38
- /**
39
- * If set to greedy, uses a greedy heuristic for finding a feedback arc set for a graph. A feedback arc set is a set of edges that can be removed to make a graph acyclic.
40
- */
41
- acyclicer;
42
- /**
43
- * Number of pixels that separate edges horizontally in the layout.
44
- */
45
- edgeSeparation = 20;
46
- /**
47
- * Number of pixels between each rank in the layout.
48
- */
49
- rankSeparation = 60; // 80
50
- /**
51
- * Number of pixels that separate nodes horizontally in the layout.
52
- */
53
- nodeSeparation = 60; // 80
54
- /**
55
- * Graph margin LR
56
- */
57
- marginX = 40;
58
- /**
59
- * Graph margin TB
60
- */
61
- marginY = 40;
62
24
  constructor(workspace) {
63
25
  this.workspace = workspace;
26
+ this.readPositions = {};
27
+ /**
28
+ * Number of pixels that separate edges horizontally in the layout.
29
+ */
30
+ this.edgeSeparation = 20;
31
+ /**
32
+ * Number of pixels between each rank in the layout.
33
+ */
34
+ this.rankSeparation = 60; // 80
35
+ /**
36
+ * Number of pixels that separate nodes horizontally in the layout.
37
+ */
38
+ this.nodeSeparation = 60; // 80
39
+ /**
40
+ * Graph margin LR
41
+ */
42
+ this.marginX = 40;
43
+ /**
44
+ * Graph margin TB
45
+ */
46
+ this.marginY = 40;
64
47
  }
65
48
  /**
66
49
  * Reads workspace object dimensions
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceLayout.js","sourceRoot":"","sources":["../../../../src/visualization/plugin/positioning/WorkspaceLayout.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,gCAAgC;AAChC,gCAAgC;AAChC,sCAAsC;AAEtC,OAAO,EAAE,KAAK,EAAkB,MAAM,mBAAmB,CAAC;AAG1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAmCzE,4BAA4B;AAC5B,8BAA8B;AAC9B,0BAA0B;AAC1B,wBAAwB;AACxB,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,uDAAY,CAAA;IACZ,wDAAa,CAAA;IACb,oDAAW,CAAA;IACX,gDAAS,CAAA;AACX,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AAAA,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,eAAe;IAgDP;IA/CnB,aAAa,GAA4B,EAAE,CAAC;IAE5C;;OAEG;IACH,OAAO,CAAkB;IAEzB;;OAEG;IACH,KAAK,CAAgB;IAErB;;OAEG;IACH,MAAM,CAAiB;IAEvB;;OAEG;IACH,SAAS,CAAoB;IAE7B;;OAEG;IACH,cAAc,GAAW,EAAE,CAAC;IAE5B;;OAEG;IACH,cAAc,GAAW,EAAE,CAAC,CAAC,KAAK;IAElC;;OAEG;IACH,cAAc,GAAW,EAAE,CAAC,CAAC,KAAK;IAElC;;OAEG;IACH,OAAO,GAAW,EAAE,CAAC;IAErB;;OAEG;IACH,OAAO,GAAW,EAAE,CAAC;IAErB,YAAmB,SAA8B;QAA9B,cAAS,GAAT,SAAS,CAAqB;IAAG,CAAC;IAErD;;;;OAIG;IACH,cAAc,CAAC,EAAU;QACvB,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE;YAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;SAC/B;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,IAAI,GAAG,2BAA2B,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS;QACP,MAAM,CAAC,GAAG,IAAI,KAAK,EAAsC,CAAC;QAC1D,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACrH,CAAC,CAAC,QAAQ,CAAC;YACT,cAAc;YACd,cAAc;YACd,cAAc;YACd,OAAO;YACP,KAAK;YACL,MAAM;YACN,SAAS;YACT,OAAO;YACP,OAAO;SACR,CAAC,CAAC;QACH,4CAA4C;QAC5C,+CAA+C;QAC/C,OAAO,CAAC,CAAC;IACX,CAAC;CACF","sourcesContent":["/* eslint-disable class-methods-use-this */\n/* eslint-disable no-plusplus */\n/* eslint-disable no-continue */\n/* eslint-disable no-param-reassign */\n\nimport { Graph, NodeIdentifier } from '@api-client/graph';\nimport { EdgeConfig, NodeConfig, GraphLabel, RankDirOptions, AlignOptions, RankerOptions, AcyclicerOptions } from '@api-client/graph/src/layout/types';\nimport VizWorkspaceElement from '../../elements/VizWorkspaceElement.js';\nimport { getObjectBoundingClientRect } from '../../lib/PositionUtils.js';\n\nexport interface PositionedEdge {\n /**\n * The width of the label\n */\n width?: number;\n /**\n * The height of the label\n */\n height?: number;\n /**\n * The Id of the originating node\n */\n id: string;\n /**\n * The id of the target node\n */\n target: string;\n /**\n * Edge's weight, if possible to determine\n */\n weight?: number;\n}\n\nexport interface PositionResult {\n id: NodeIdentifier;\n node: NodeConfig;\n}\n\nexport interface PositioningResult {\n graph: Graph<GraphLabel, NodeConfig, EdgeConfig>;\n nodes: PositionResult[];\n}\n\n// 01 - external association\n// 10 - association (internal)\n// 20 - parent association\n// 40 - self association\nexport enum LayoutWeight {\n External = 1,\n Internal = 10,\n Parent = 40,\n Self = 80,\n};\n\n/**\n * A helper library that computes positioning of a data model\n * in the visualization workspace.\n */\nexport class WorkspaceLayout {\n readPositions: Record<string, DOMRect> = {};\n\n /**\n * Direction for rank nodes. Can be TB, BT, LR, or RL, where T = top, B = bottom, L = left, and R = right.\n */\n rankDir?: RankDirOptions;\n\n /**\n * Alignment for rank nodes. Can be UL, UR, DL, or DR, where U = up, D = down, L = left, and R = right.\n */\n align?: AlignOptions;\n\n /**\n * Type of algorithm to assign a rank to each node in the input graph.\n */\n ranker?: RankerOptions;\n\n /**\n * If set to greedy, uses a greedy heuristic for finding a feedback arc set for a graph. A feedback arc set is a set of edges that can be removed to make a graph acyclic.\n */\n acyclicer?: AcyclicerOptions;\n\n /**\n * Number of pixels that separate edges horizontally in the layout.\n */\n edgeSeparation: number = 20;\n\n /**\n * Number of pixels between each rank in the layout.\n */\n rankSeparation: number = 60; // 80\n\n /**\n * Number of pixels that separate nodes horizontally in the layout.\n */\n nodeSeparation: number = 60; // 80\n\n /**\n * Graph margin LR\n */\n marginX: number = 40;\n\n /**\n * Graph margin TB\n */\n marginY: number = 40;\n\n constructor(public workspace: VizWorkspaceElement) {}\n\n /**\n * Reads workspace object dimensions\n * @param {string} id Domain id of the object\n * @returns {DOMRect}\n */\n readDimensions(id: string): DOMRect | undefined {\n if (this.readPositions[id]) {\n return this.readPositions[id];\n }\n const element = this.workspace.querySelector(`[data-key=\"${id}\"]`);\n if (!element) {\n return undefined;\n }\n const rect = getObjectBoundingClientRect(element, this.workspace);\n this.readPositions[id] = rect;\n return rect;\n }\n\n initGraph(): Graph<GraphLabel, NodeConfig, EdgeConfig> {\n const g = new Graph<GraphLabel, NodeConfig, EdgeConfig>();\n const { rankDir, align, ranker, acyclicer, edgeSeparation, rankSeparation, nodeSeparation, marginX, marginY } = this;\n g.setGraph({\n edgeSeparation,\n rankSeparation,\n nodeSeparation,\n rankDir,\n align,\n ranker,\n acyclicer,\n marginX,\n marginY,\n });\n // eslint-disable-next-line arrow-body-style\n // g.setDefaultEdgeLabel(() => { return {}; });\n return g;\n }\n}\n"]}
1
+ {"version":3,"file":"WorkspaceLayout.js","sourceRoot":"","sources":["../../../../src/visualization/plugin/positioning/WorkspaceLayout.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,gCAAgC;AAChC,gCAAgC;AAChC,sCAAsC;AAEtC,OAAO,EAAE,KAAK,EAAkB,MAAM,mBAAmB,CAAC;AAG1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAmCzE,4BAA4B;AAC5B,8BAA8B;AAC9B,0BAA0B;AAC1B,wBAAwB;AACxB,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,uDAAY,CAAA;IACZ,wDAAa,CAAA;IACb,oDAAW,CAAA;IACX,gDAAS,CAAA;AACX,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AAAA,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,eAAe;IAgD1B,YAAmB,SAA8B;QAA9B,cAAS,GAAT,SAAS,CAAqB;QA/CjD,kBAAa,GAA4B,EAAE,CAAC;QAsB5C;;WAEG;QACH,mBAAc,GAAW,EAAE,CAAC;QAE5B;;WAEG;QACH,mBAAc,GAAW,EAAE,CAAC,CAAC,KAAK;QAElC;;WAEG;QACH,mBAAc,GAAW,EAAE,CAAC,CAAC,KAAK;QAElC;;WAEG;QACH,YAAO,GAAW,EAAE,CAAC;QAErB;;WAEG;QACH,YAAO,GAAW,EAAE,CAAC;IAE+B,CAAC;IAErD;;;;OAIG;IACH,cAAc,CAAC,EAAU;QACvB,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE;YAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;SAC/B;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,IAAI,GAAG,2BAA2B,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS;QACP,MAAM,CAAC,GAAG,IAAI,KAAK,EAAsC,CAAC;QAC1D,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACrH,CAAC,CAAC,QAAQ,CAAC;YACT,cAAc;YACd,cAAc;YACd,cAAc;YACd,OAAO;YACP,KAAK;YACL,MAAM;YACN,SAAS;YACT,OAAO;YACP,OAAO;SACR,CAAC,CAAC;QACH,4CAA4C;QAC5C,+CAA+C;QAC/C,OAAO,CAAC,CAAC;IACX,CAAC;CACF","sourcesContent":["/* eslint-disable class-methods-use-this */\n/* eslint-disable no-plusplus */\n/* eslint-disable no-continue */\n/* eslint-disable no-param-reassign */\n\nimport { Graph, NodeIdentifier } from '@api-client/graph';\nimport { EdgeConfig, NodeConfig, GraphLabel, RankDirOptions, AlignOptions, RankerOptions, AcyclicerOptions } from '@api-client/graph/src/layout/types';\nimport VizWorkspaceElement from '../../elements/VizWorkspaceElement.js';\nimport { getObjectBoundingClientRect } from '../../lib/PositionUtils.js';\n\nexport interface PositionedEdge {\n /**\n * The width of the label\n */\n width?: number;\n /**\n * The height of the label\n */\n height?: number;\n /**\n * The Id of the originating node\n */\n id: string;\n /**\n * The id of the target node\n */\n target: string;\n /**\n * Edge's weight, if possible to determine\n */\n weight?: number;\n}\n\nexport interface PositionResult {\n id: NodeIdentifier;\n node: NodeConfig;\n}\n\nexport interface PositioningResult {\n graph: Graph<GraphLabel, NodeConfig, EdgeConfig>;\n nodes: PositionResult[];\n}\n\n// 01 - external association\n// 10 - association (internal)\n// 20 - parent association\n// 40 - self association\nexport enum LayoutWeight {\n External = 1,\n Internal = 10,\n Parent = 40,\n Self = 80,\n};\n\n/**\n * A helper library that computes positioning of a data model\n * in the visualization workspace.\n */\nexport class WorkspaceLayout {\n readPositions: Record<string, DOMRect> = {};\n\n /**\n * Direction for rank nodes. Can be TB, BT, LR, or RL, where T = top, B = bottom, L = left, and R = right.\n */\n rankDir?: RankDirOptions;\n\n /**\n * Alignment for rank nodes. Can be UL, UR, DL, or DR, where U = up, D = down, L = left, and R = right.\n */\n align?: AlignOptions;\n\n /**\n * Type of algorithm to assign a rank to each node in the input graph.\n */\n ranker?: RankerOptions;\n\n /**\n * If set to greedy, uses a greedy heuristic for finding a feedback arc set for a graph. A feedback arc set is a set of edges that can be removed to make a graph acyclic.\n */\n acyclicer?: AcyclicerOptions;\n\n /**\n * Number of pixels that separate edges horizontally in the layout.\n */\n edgeSeparation: number = 20;\n\n /**\n * Number of pixels between each rank in the layout.\n */\n rankSeparation: number = 60; // 80\n\n /**\n * Number of pixels that separate nodes horizontally in the layout.\n */\n nodeSeparation: number = 60; // 80\n\n /**\n * Graph margin LR\n */\n marginX: number = 40;\n\n /**\n * Graph margin TB\n */\n marginY: number = 40;\n\n constructor(public workspace: VizWorkspaceElement) {}\n\n /**\n * Reads workspace object dimensions\n * @param {string} id Domain id of the object\n * @returns {DOMRect}\n */\n readDimensions(id: string): DOMRect | undefined {\n if (this.readPositions[id]) {\n return this.readPositions[id];\n }\n const element = this.workspace.querySelector(`[data-key=\"${id}\"]`);\n if (!element) {\n return undefined;\n }\n const rect = getObjectBoundingClientRect(element, this.workspace);\n this.readPositions[id] = rect;\n return rect;\n }\n\n initGraph(): Graph<GraphLabel, NodeConfig, EdgeConfig> {\n const g = new Graph<GraphLabel, NodeConfig, EdgeConfig>();\n const { rankDir, align, ranker, acyclicer, edgeSeparation, rankSeparation, nodeSeparation, marginX, marginY } = this;\n g.setGraph({\n edgeSeparation,\n rankSeparation,\n nodeSeparation,\n rankDir,\n align,\n ranker,\n acyclicer,\n marginX,\n marginY,\n });\n // eslint-disable-next-line arrow-body-style\n // g.setDefaultEdgeLabel(() => { return {}; });\n return g;\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@api-client/ui",
3
- "version": "0.0.4",
3
+ "version": "0.0.7",
4
4
  "description": "UI for API Client.",
5
5
  "license": "CC-BY-2.0",
6
6
  "main": "dist/index.js",
@@ -23,7 +23,7 @@
23
23
  "email": "arc@mulesoft.com"
24
24
  },
25
25
  "scripts": {
26
- "analyze": "cem analyze --litelement",
26
+ "analyze": "cem analyze --litelement --exclude \"dev\" --exclude \"demo\" --exclude \"dist\" --exclude \"test\" --exclude \"_old\"",
27
27
  "start": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wds\"",
28
28
  "build": "tsc && npm run analyze -- --exclude dist",
29
29
  "prepublish": "tsc && npm run analyze -- --exclude dist",
@@ -33,6 +33,7 @@
33
33
  "test:watch": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wtr --watch --playwright --browsers chromium\"",
34
34
  "prepare": "husky install && npm run gen:apis",
35
35
  "tsc:watch": "tsc --watch",
36
+ "tsc": "tsc",
36
37
  "gen:apis": "node demo/model.js"
37
38
  },
38
39
  "dependencies": {
@@ -0,0 +1,16 @@
1
+ import { customElement } from "lit/decorators.js";
2
+ import Element from "../../elements/dialog/DeleteCookieAction.element.js";
3
+ import elementStyles from '../../elements/dialog/DeleteCookieAction.styles.js';
4
+ import dialogStyles from '../../ui/dialog/UiDialog.styles.js';
5
+ import typography from '../../styles/m3/typography.module.js';
6
+
7
+ @customElement('delete-cookie-action-dialog')
8
+ export class ConfirmDeleteDialogElement extends Element {
9
+ static override styles = [dialogStyles, typography, elementStyles];
10
+ }
11
+
12
+ declare global {
13
+ interface HTMLElementTagNameMap {
14
+ 'delete-cookie-action-dialog': Element;
15
+ }
16
+ }
@@ -0,0 +1,16 @@
1
+ import { customElement } from "lit/decorators.js";
2
+ import Element from "../../elements/dialog/SetCookieAction.element.js";
3
+ import elementStyles from '../../elements/dialog/DeleteCookieAction.styles.js';
4
+ import dialogStyles from '../../ui/dialog/UiDialog.styles.js';
5
+ import typography from '../../styles/m3/typography.module.js';
6
+
7
+ @customElement('set-cookie-action-dialog')
8
+ export class ConfirmDeleteDialogElement extends Element {
9
+ static override styles = [dialogStyles, typography, elementStyles];
10
+ }
11
+
12
+ declare global {
13
+ interface HTMLElementTagNameMap {
14
+ 'set-cookie-action-dialog': Element;
15
+ }
16
+ }
@@ -1,11 +1,11 @@
1
1
  import { customElement } from 'lit/decorators.js';
2
- import Element from '../../elements/http/HttpAssertions.js';
2
+ import Element from '../../elements/http/HttpAssertions.element.js';
3
3
  import styles from '../../elements/http/HttpAssertions.styles.js';
4
- import typographyStyles from '../../styles/m3/typography.module.js';
4
+ import common from '../../elements/http/HttpFlows.common.js';
5
5
 
6
6
  @customElement('http-assertions')
7
7
  export class HttpAssertionsElement extends Element {
8
- static override styles = [styles, typographyStyles];
8
+ static override styles = [styles, ...common];
9
9
  }
10
10
 
11
11
  declare global {
@@ -0,0 +1,15 @@
1
+ import { customElement } from 'lit/decorators.js';
2
+ import Element from '../../elements/http/HttpFlows.element.js';
3
+ import styles from '../../elements/http/HttpFlows.styles.js';
4
+ import common from '../../elements/http/HttpFlows.common.js';
5
+
6
+ @customElement('http-flows')
7
+ export class HttpFlowsElement extends Element {
8
+ static override styles = [styles, ...common];
9
+ }
10
+
11
+ declare global {
12
+ interface HTMLElementTagNameMap {
13
+ 'http-flows': Element;
14
+ }
15
+ }
@@ -1,6 +1,11 @@
1
- import Element from "../../ui/list/DividerElement.js";
1
+ import { customElement } from "lit/decorators.js";
2
+ import Element from "../../ui/list/UiDivider.element.js";
3
+ import styles from "../../ui/list/UiDivider.styles.js";
2
4
 
3
- window.customElements.define('ui-divider', Element);
5
+ @customElement('ui-divider')
6
+ export class UiDividerElement extends Element {
7
+ static override styles = [styles];
8
+ }
4
9
 
5
10
  declare global {
6
11
  interface HTMLElementTagNameMap {
@@ -18,4 +18,11 @@ export default class ApiElement extends LitElement {
18
18
  super();
19
19
  this.eventsTarget = window;
20
20
  }
21
+
22
+ /**
23
+ * A common way for an element to notify a change.
24
+ */
25
+ notifyChange(): void {
26
+ this.dispatchEvent(new Event('change'));
27
+ }
21
28
  }
@@ -146,7 +146,7 @@ export default class ApiAuthorizationEditor extends ApiElement {
146
146
  */
147
147
  protected changeHandler(): void {
148
148
  this.validate();
149
- this.dispatchEvent(new Event('change'));
149
+ this.notifyChange();
150
150
  }
151
151
 
152
152
  /**
@@ -872,10 +872,11 @@ export default class ApiOperationDocument extends ApiDocumentationBase {
872
872
  const { selectedStatus } = this;
873
873
  const response = responses.find((item) => item.statusCode === selectedStatus);
874
874
  if (!response) {
875
- return html`<div class="empty-info">Select a response to render the documentation.</div>`;
875
+ return html`<div class="empty-info" id="status${selectedStatus}">Select a response to render the documentation.</div>`;
876
876
  }
877
877
  return html`
878
878
  <api-response-document
879
+ id="status${selectedStatus}"
879
880
  .domainId="${response.id}"
880
881
  .response="${response}"
881
882
  class="method-response"
@@ -194,7 +194,7 @@ export default class ApiRequest extends ApiElement {
194
194
  * Retargets the change event from the editor.
195
195
  */
196
196
  protected changeHandler(): void {
197
- this.dispatchEvent(new Event('change'));
197
+ this.notifyChange();
198
198
  }
199
199
 
200
200
  protected handleResponse(e: CustomEvent<IRequestLog>): void {
@@ -423,10 +423,6 @@ export default class ApiRequestEditor extends ApiElement {
423
423
  this.addEventListener(UiEventTypes.Http.Request.send, this.internalSendHandler.bind(this));
424
424
  }
425
425
 
426
- notifyChange(): void {
427
- this.dispatchEvent(new Event('change'));
428
- }
429
-
430
426
  override connectedCallback(): void {
431
427
  super.connectedCallback();
432
428
  this.processDebounce();
@@ -47,11 +47,13 @@ export class Authorization extends ApiElement {
47
47
 
48
48
  /**
49
49
  * Whether the UI should render the toggle button to toggle the enabled state of the security scheme
50
+ * @attribute
50
51
  */
51
52
  @property({ type: Boolean }) canToggle?: boolean;
52
53
 
53
54
  /**
54
55
  * Whether the UI should render the delete button
56
+ * @attribute
55
57
  */
56
58
  @property({ type: Boolean }) canDelete?: boolean;
57
59
 
@@ -68,11 +70,7 @@ export class Authorization extends ApiElement {
68
70
  this.requestUpdate();
69
71
  this.notifyChange();
70
72
  }
71
-
72
- notifyChange(): void {
73
- this.dispatchEvent(new Event('change'));
74
- }
75
-
73
+
76
74
  protected handleDelete(): void {
77
75
  this.dispatchEvent(new Event('delete'))
78
76
  }
@@ -0,0 +1,100 @@
1
+ import { TemplateResult, html, PropertyValues } from 'lit';
2
+ import { property } from 'lit/decorators.js';
3
+ import { live } from 'lit/directives/live.js';
4
+ import { ClassInfo, classMap } from 'lit/directives/class-map.js';
5
+ import { IDeleteCookieStep, DeleteCookieStep } from "@api-client/core/build/browser.js";
6
+ import UiDialog from "../../ui/dialog/UiDialog.js";
7
+ import type Input from '../../ui/input/Input.js';
8
+ import '../../define/ui/ui-text-field.js';
9
+
10
+ /**
11
+ * A dialog used by the Flow builder to configure the Delete Cookie action.
12
+ */
13
+ export default class DeleteCookieAction extends UiDialog {
14
+ @property({ type: Object }) step?: IDeleteCookieStep;
15
+
16
+ override dialogValue: IDeleteCookieStep = new DeleteCookieStep().toJSON();
17
+
18
+ constructor() {
19
+ super();
20
+ this.dismissLabel = 'Cancel';
21
+ this.confirmLabel = 'Save';
22
+ }
23
+
24
+ protected override willUpdate(cp: PropertyValues<this>): void {
25
+ if (cp.has('step')) {
26
+ this.setupDialogValue();
27
+ }
28
+ super.willUpdate(cp);
29
+ }
30
+
31
+ protected setupDialogValue(): void {
32
+ const { step } = this;
33
+ if (!step) {
34
+ this.dialogValue = new DeleteCookieStep().toJSON();
35
+ } else {
36
+ this.dialogValue = new DeleteCookieStep(step).toJSON();
37
+ }
38
+ }
39
+
40
+ protected handleUrlChange(e: Event): void {
41
+ const input = e.target as Input;
42
+ this.dialogValue.url = input.value;
43
+ }
44
+
45
+ protected handleNameChange(e: Event): void {
46
+ const input = e.target as Input;
47
+ this.dialogValue.name = input.value;
48
+ }
49
+
50
+ override renderIcon(): TemplateResult {
51
+ const classes: ClassInfo = {
52
+ icon: true,
53
+ 'with-icon': true,
54
+ };
55
+ return html`
56
+ <div class="${classMap(classes)}" part="icon"><ui-icon icon="tune" role="presentation"></ui-icon></div>
57
+ `;
58
+ }
59
+
60
+ override renderTitle(): TemplateResult {
61
+ const classes: ClassInfo = {
62
+ title: true,
63
+ 'with-title': true,
64
+ };
65
+ return html`
66
+ <div class="${classMap(classes)}" part="title"><span>Configure Delete Cookie Action</span></div>
67
+ `;
68
+ }
69
+
70
+ override renderBody(): TemplateResult {
71
+ const { name = '', url = '' } = this.dialogValue;
72
+
73
+ return html`
74
+ <div class="content">
75
+ <div class="param-row">
76
+ <ui-text-field
77
+ name="name"
78
+ label="Cookie name"
79
+ type="text"
80
+ .value="${live(name)}"
81
+ @change="${this.handleNameChange}"
82
+ class="input"
83
+ supportingText="Leave empty to delete all cookies for the URL."
84
+ ></ui-text-field>
85
+ </div>
86
+ <div class="param-row">
87
+ <ui-text-field
88
+ name="url"
89
+ label="Cookie URL"
90
+ type="url"
91
+ .value="${live(url)}"
92
+ @change="${this.handleUrlChange}"
93
+ class="input"
94
+ supportingText="When the URL is not set then the request URL is used."
95
+ ></ui-text-field>
96
+ </div>
97
+ </div>
98
+ `;
99
+ }
100
+ }
@@ -0,0 +1,14 @@
1
+ import { css } from 'lit';
2
+
3
+ // These are shared with the set cookie action dialog.
4
+
5
+ export default css`
6
+ .input {
7
+ max-width: 520px;
8
+ width: 100%;
9
+ }
10
+
11
+ .param-row:not(:last-of-type) {
12
+ margin-bottom: 20px;
13
+ }
14
+ `;
@@ -3,10 +3,10 @@ import { property, state } from 'lit/decorators.js';
3
3
  import { ClassInfo, classMap } from 'lit/directives/class-map.js';
4
4
  import { live } from 'lit/directives/live.js';
5
5
  import UiDialog from '../../ui/dialog/UiDialog.js';
6
+ import type Input from '../../ui/input/Input.js';
6
7
  import '../../define/ui/ui-button.js';
7
8
  import '../../define/ui/ui-icon.js';
8
9
  import '../../define/ui/ui-text-field.js';
9
- import Input from '../../ui/input/Input.js';
10
10
 
11
11
  /**
12
12
  * A dialog that requests the user for the new name.
@@ -20,15 +20,16 @@ import Input from '../../ui/input/Input.js';
20
20
  * The application should handle the event and trigger name change flow.
21
21
  *
22
22
  * ```javascript
23
- * const dialog = document.createElement('rename-file-dialog');
24
- * dialog.opened = true;
23
+ * const dialog = document.createElement('rename-dialog');
24
+ * dialog.name = 'old name';
25
25
  * document.body.appendChild(dialog);
26
+ * dialog.open = true;
26
27
  * dialog.addEventListener('closed', (ev: Event) => {
27
28
  * document.body.removeChild(dialog);
28
- * const event = ev as CustomEvent;
29
- * const { canceled, confirmed, value } = event.detail;
30
- * if (!canceled && confirmed && value) {
31
- * // trigger the flow
29
+ * const event = ev as CustomEvent<UiDialogClosingReason>;
30
+ * const { cancelled, value } = event.detail;
31
+ * if (!cancelled && value) {
32
+ * // trigger the flow, value is the new value
32
33
  * }
33
34
  * });
34
35
  * ```