@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":"IdbProjectUi.js","sourceRoot":"","sources":["../../../../src/http-client/store/idb/IdbProjectUi.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextDeleteRecord, IRequestUiMeta, ContextChangeRecord, RequestUiMetaKind, IBulkOperationResult } from \"@api-client/core/build/browser.js\";\nimport { ProjectUiCreatedBroadcastEvent, ProjectUiDeletedBroadcastEvent } from \"../../../events/BroadcastUiEvents.js\";\nimport { StoreBroadcast } from \"../StoreBroadcast.js\";\nimport { ProjectUi } from \"../stores/ProjectUi.js\";\nimport { IStoredRequestUi } from \"../types.js\";\nimport { IdbStore } from \"./IdbStore.js\";\n\nexport class IdbProjectUi extends IdbStore implements ProjectUi {\n channel = new BroadcastChannel(StoreBroadcast.projectUi);\n\n async clear(key: string): Promise<ContextDeleteRecord> {\n const tx = this.db.transaction('ProjectUi', 'readwrite');\n const index = tx.store.index('project');\n const items = await index.getAll(key);\n await Promise.all(items.map(item => tx.store.delete([item.meta.project, item.meta.key])));\n items.forEach(item => {\n this.notifyDeleted(item.meta.project, item.meta.key);\n });\n return {\n key,\n }\n }\n\n async set(pid: string, key: string, meta: IRequestUiMeta): Promise<ContextChangeRecord<IRequestUiMeta>> {\n const value: IStoredRequestUi = {\n data: meta,\n meta: { project: pid, key, },\n };\n await this.db.put('ProjectUi', value);\n const event: ProjectUiCreatedBroadcastEvent = {\n type: 'event',\n operation: 'created',\n kind: RequestUiMetaKind,\n key,\n project: pid,\n data: meta,\n space: '',\n path: '/projects/ui',\n };\n this.channel.postMessage(event);\n return {\n key,\n parent: pid,\n item: meta,\n kind: RequestUiMetaKind,\n };\n }\n\n async get(pid: string, key: string): Promise<IRequestUiMeta | undefined> {\n const item = await this.db.get('ProjectUi', [pid, key]);\n if (item) {\n return item.data;\n }\n return undefined;\n }\n\n async getBulk(pid: string, keys: string[]): Promise<IBulkOperationResult<IRequestUiMeta>> {\n const { store } = this.db.transaction('ProjectUi', 'readonly');\n const items = await Promise.all(keys.map(key => store.get([pid, key])));\n const result: (IRequestUiMeta | undefined)[] = items.map((item) => {\n if (item) {\n return item.data;\n }\n return undefined;\n });\n return {\n items: result,\n };\n }\n\n async delete(pid: string, key: string): Promise<ContextDeleteRecord> {\n await this.db.delete('ProjectUi', [pid, key]);\n this.notifyDeleted(pid, key);\n return {\n key,\n kind: RequestUiMetaKind,\n parent: pid,\n }\n }\n\n protected notifyDeleted(projectId: string, requestId: string): void {\n const event: ProjectUiDeletedBroadcastEvent = {\n type: 'event',\n operation: 'deleted',\n kind: RequestUiMetaKind,\n key: requestId,\n project: projectId,\n space: '',\n path: '/projects/ui',\n };\n this.channel.postMessage(event);\n }\n}\n"]}
1
+ {"version":3,"file":"IdbProjectUi.js","sourceRoot":"","sources":["../../../../src/http-client/store/idb/IdbProjectUi.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextDeleteRecord, IRequestUiMeta, ContextChangeRecord, RequestUiMetaKind, IBulkOperationResult } from \"@api-client/core/build/browser.js\";\nimport { ProjectUiCreatedBroadcastEvent, ProjectUiDeletedBroadcastEvent } from \"../../../events/BroadcastUiEvents.js\";\nimport { StoreBroadcast } from \"../StoreBroadcast.js\";\nimport { ProjectUi } from \"../stores/ProjectUi.js\";\nimport { IStoredRequestUi } from \"../types.js\";\nimport { IdbStore } from \"./IdbStore.js\";\n\nexport class IdbProjectUi extends IdbStore implements ProjectUi {\n channel = new BroadcastChannel(StoreBroadcast.projectUi);\n\n async clear(key: string): Promise<ContextDeleteRecord> {\n const tx = this.db.transaction('ProjectUi', 'readwrite');\n const index = tx.store.index('project');\n const items = await index.getAll(key);\n await Promise.all(items.map(item => tx.store.delete([item.meta.project, item.meta.key])));\n items.forEach(item => {\n this.notifyDeleted(item.meta.project, item.meta.key);\n });\n return {\n key,\n }\n }\n\n async set(pid: string, key: string, meta: IRequestUiMeta): Promise<ContextChangeRecord<IRequestUiMeta>> {\n const value: IStoredRequestUi = {\n data: meta,\n meta: { project: pid, key, },\n };\n await this.db.put('ProjectUi', value);\n const event: ProjectUiCreatedBroadcastEvent = {\n type: 'event',\n operation: 'created',\n kind: RequestUiMetaKind,\n key,\n project: pid,\n data: meta,\n space: '',\n path: '/projects/ui',\n };\n this.channel.postMessage(event);\n return {\n key,\n parent: pid,\n item: meta,\n kind: RequestUiMetaKind,\n };\n }\n\n async get(pid: string, key: string): Promise<IRequestUiMeta | undefined> {\n const item = await this.db.get('ProjectUi', [pid, key]);\n if (item) {\n return item.data;\n }\n return undefined;\n }\n\n async getBulk(pid: string, keys: string[]): Promise<IBulkOperationResult<IRequestUiMeta>> {\n const { store } = this.db.transaction('ProjectUi', 'readonly');\n const items = await Promise.all(keys.map(key => store.get([pid, key])));\n const result: (IRequestUiMeta | undefined)[] = items.map((item) => {\n if (item) {\n return item.data;\n }\n return undefined;\n });\n return {\n items: result,\n };\n }\n\n async delete(pid: string, key: string): Promise<ContextDeleteRecord> {\n await this.db.delete('ProjectUi', [pid, key]);\n this.notifyDeleted(pid, key);\n return {\n key,\n kind: RequestUiMetaKind,\n parent: pid,\n }\n }\n\n protected notifyDeleted(projectId: string, requestId: string): void {\n const event: ProjectUiDeletedBroadcastEvent = {\n type: 'event',\n operation: 'deleted',\n kind: RequestUiMetaKind,\n key: requestId,\n project: projectId,\n space: '',\n path: '/projects/ui',\n };\n this.channel.postMessage(event);\n }\n}\n"]}
@@ -1,6 +1,4 @@
1
1
  export class IdbStore {
2
- parent;
3
- db;
4
2
  /**
5
3
  * @param parent The parent data store object
6
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"IdbStore.js","sourceRoot":"","sources":["../../../../src/http-client/store/idb/IdbStore.ts"],"names":[],"mappings":"AAKA,MAAM,OAAgB,QAAQ;IAIT;IAAsC;IAHzD;;OAEG;IACH,YAAmB,MAA6B,EAAS,EAA8B;QAApE,WAAM,GAAN,MAAM,CAAuB;QAAS,OAAE,GAAF,EAAE,CAA4B;IAAG,CAAC;IAE3F;;;OAGG;IACH,KAAK,CAAC,MAAM;QACV,GAAG;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO;QACX,GAAG;IACL,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,kBAAkB,CAAC,EAA8B,EAAE,SAAoB,EAAE,IAAgB;QACvG,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QACzB,MAAM,EAAE,UAAU,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC9E,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAClD,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,KAAK,GAAc,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;YACtD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAsB,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC5B,SAAS;aACV;YACD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YAC5B,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;gBACjC,SAAS;aACV;YACD,MAAM,EAAE,GAAG,EAAE,GAAG,IAAuB,CAAC;YACxC,IAAI,CAAC,GAAG,EAAE;gBACR,SAAS;aACV;YACD,IAAI,OAAO,IAAI,CAAC,QAAQ,EAAE;gBACxB,IAAI,GAAG,KAAK,OAAO,EAAE;oBACnB,SAAS;iBACV;gBACD,QAAQ,GAAG,IAAI,CAAC;aACjB;YACD,IAAI,GAAG,EAAE;gBACP,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACpB,GAAG,GAAG,CAAC,CAAC;gBACR,SAAS;aACV;YACD,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,SAAS;aACV;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE;gBACzB,MAAM;aACP;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF","sourcesContent":["import { IDBPDatabase } from \"idb\";\nimport { HttpClientDB, IStoredEntity, StoreName } from \"../types.js\";\nimport { IListState } from \"../State.js\";\nimport { HttpClientIdbDatabase } from \"../HttpClientIdbDatabase.js\";\n\nexport abstract class IdbStore {\n /**\n * @param parent The parent data store object\n */\n constructor(public parent: HttpClientIdbDatabase, public db: IDBPDatabase<HttpClientDB>) {}\n \n /**\n * A logic to be implemented when the model starts-up.\n * It is optional to implement but always called.\n */\n async warmup(): Promise<void> {\n // \n }\n\n /**\n * Cleans up before shut down.\n * It is optional to implement but always called.\n */\n async cleanup(): Promise<void> {\n // \n }\n\n /**\n * Lists entities that uses `IStoredEntity` format.\n * @param db A reference to the database \n * @param storeName The name of the store to query.\n * @param opts Query options.\n * @returns The list of listed objects. \n */\n protected async listStoredEntities(db: IDBPDatabase<HttpClientDB>, storeName: StoreName, opts: IListState): Promise<unknown[]> {\n let adv = opts.skip || 0;\n const { descending, limit = this.parent.defaultLimit, lastKey, space } = opts;\n const tx = db.transaction(storeName, 'readonly');\n const dir = descending === true ? 'prev' : 'next';\n let keyFound = false;\n const items: unknown[] = [];\n for await (const cursor of tx.store.iterate(null, dir)) {\n const info = cursor.value as IStoredEntity;\n if (!info.meta || !info.data) {\n continue;\n }\n const { meta, data } = info;\n if (space && meta.space !== space) {\n continue;\n }\n const { key } = data as { key: string };\n if (!key) {\n continue;\n }\n if (lastKey && !keyFound) {\n if (key !== lastKey) {\n continue;\n }\n keyFound = true;\n }\n if (adv) {\n cursor.advance(adv);\n adv = 0;\n continue;\n }\n if (meta.deleted) {\n continue;\n }\n items.push(data);\n if (items.length >= limit) {\n break;\n }\n }\n return items;\n }\n}\n"]}
1
+ {"version":3,"file":"IdbStore.js","sourceRoot":"","sources":["../../../../src/http-client/store/idb/IdbStore.ts"],"names":[],"mappings":"AAKA,MAAM,OAAgB,QAAQ;IAC5B;;OAEG;IACH,YAAmB,MAA6B,EAAS,EAA8B;QAApE,WAAM,GAAN,MAAM,CAAuB;QAAS,OAAE,GAAF,EAAE,CAA4B;IAAG,CAAC;IAE3F;;;OAGG;IACH,KAAK,CAAC,MAAM;QACV,GAAG;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO;QACX,GAAG;IACL,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,kBAAkB,CAAC,EAA8B,EAAE,SAAoB,EAAE,IAAgB;QACvG,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QACzB,MAAM,EAAE,UAAU,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC9E,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAClD,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,KAAK,GAAc,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;YACtD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAsB,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC5B,SAAS;aACV;YACD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YAC5B,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;gBACjC,SAAS;aACV;YACD,MAAM,EAAE,GAAG,EAAE,GAAG,IAAuB,CAAC;YACxC,IAAI,CAAC,GAAG,EAAE;gBACR,SAAS;aACV;YACD,IAAI,OAAO,IAAI,CAAC,QAAQ,EAAE;gBACxB,IAAI,GAAG,KAAK,OAAO,EAAE;oBACnB,SAAS;iBACV;gBACD,QAAQ,GAAG,IAAI,CAAC;aACjB;YACD,IAAI,GAAG,EAAE;gBACP,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACpB,GAAG,GAAG,CAAC,CAAC;gBACR,SAAS;aACV;YACD,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,SAAS;aACV;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE;gBACzB,MAAM;aACP;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF","sourcesContent":["import { IDBPDatabase } from \"idb\";\nimport { HttpClientDB, IStoredEntity, StoreName } from \"../types.js\";\nimport { IListState } from \"../State.js\";\nimport { HttpClientIdbDatabase } from \"../HttpClientIdbDatabase.js\";\n\nexport abstract class IdbStore {\n /**\n * @param parent The parent data store object\n */\n constructor(public parent: HttpClientIdbDatabase, public db: IDBPDatabase<HttpClientDB>) {}\n \n /**\n * A logic to be implemented when the model starts-up.\n * It is optional to implement but always called.\n */\n async warmup(): Promise<void> {\n // \n }\n\n /**\n * Cleans up before shut down.\n * It is optional to implement but always called.\n */\n async cleanup(): Promise<void> {\n // \n }\n\n /**\n * Lists entities that uses `IStoredEntity` format.\n * @param db A reference to the database \n * @param storeName The name of the store to query.\n * @param opts Query options.\n * @returns The list of listed objects. \n */\n protected async listStoredEntities(db: IDBPDatabase<HttpClientDB>, storeName: StoreName, opts: IListState): Promise<unknown[]> {\n let adv = opts.skip || 0;\n const { descending, limit = this.parent.defaultLimit, lastKey, space } = opts;\n const tx = db.transaction(storeName, 'readonly');\n const dir = descending === true ? 'prev' : 'next';\n let keyFound = false;\n const items: unknown[] = [];\n for await (const cursor of tx.store.iterate(null, dir)) {\n const info = cursor.value as IStoredEntity;\n if (!info.meta || !info.data) {\n continue;\n }\n const { meta, data } = info;\n if (space && meta.space !== space) {\n continue;\n }\n const { key } = data as { key: string };\n if (!key) {\n continue;\n }\n if (lastKey && !keyFound) {\n if (key !== lastKey) {\n continue;\n }\n keyFound = true;\n }\n if (adv) {\n cursor.advance(adv);\n adv = 0;\n continue;\n }\n if (meta.deleted) {\n continue;\n }\n items.push(data);\n if (items.length >= limit) {\n break;\n }\n }\n return items;\n }\n}\n"]}
@@ -4,7 +4,10 @@ function setMidnight(date) {
4
4
  date.setHours(0, 0, 0, 0);
5
5
  }
6
6
  export class IdbUrlHistory extends IdbStore {
7
- channel = new BroadcastChannel(StoreBroadcast.urlHistory);
7
+ constructor() {
8
+ super(...arguments);
9
+ this.channel = new BroadcastChannel(StoreBroadcast.urlHistory);
10
+ }
8
11
  async add(url) {
9
12
  const tx = this.db.transaction('UrlHistory', 'readwrite');
10
13
  const { store } = tx;
@@ -1 +1 @@
1
- {"version":3,"file":"IdbUrlHistory.js","sourceRoot":"","sources":["../../../../src/http-client/store/idb/IdbUrlHistory.ts"],"names":[],"mappings":"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","sourcesContent":["import { BroadcastCreatedEvent, ClearedBroadcastEvent, ContextDeleteRecord, DeletedBroadcastEvent, IQueryResponse, IUrl } from \"@api-client/core/build/browser.js\";\nimport { StoreBroadcast } from \"../StoreBroadcast.js\";\nimport { UrlHistory } from \"../stores/UrlHistory.js\";\nimport { IdbStore } from \"./IdbStore.js\";\n\nfunction setMidnight(date: Date): void {\n date.setHours(0, 0, 0, 0);\n}\n\nexport class IdbUrlHistory extends IdbStore implements UrlHistory {\n channel = new BroadcastChannel(StoreBroadcast.urlHistory);\n\n async add(url: string): Promise<IUrl> {\n const tx = this.db.transaction('UrlHistory', 'readwrite');\n const { store } = tx;\n let item = await store.get(url);\n const time = Date.now();\n const midnight = new Date(time);\n setMidnight(midnight);\n if (item) {\n item.cnt += 1;\n item.time = time;\n item.midnight = midnight.getTime();\n } else {\n item = {\n cnt: 1,\n time,\n key: url,\n midnight: midnight.getTime(),\n } as IUrl;\n }\n await store.put(item);\n await tx.done;\n\n const event: BroadcastCreatedEvent = {\n type: 'event',\n operation: 'created',\n key: url,\n data: item,\n kind: '',\n space: '',\n path: '/history/url'\n };\n this.channel.postMessage(event);\n return item;\n }\n\n async query(query: string): Promise<IQueryResponse<IUrl>> {\n const q = String(query).toLowerCase();\n const tx = this.db.transaction('UrlHistory', 'readonly');\n const result: IQueryResponse<IUrl> = {\n items: [],\n };\n for await (const cursor of tx.store) {\n const item = cursor.value;\n const url = String(item.key).toLowerCase();\n if (url.includes(q)) {\n result.items.push({\n doc: item,\n index: ['key'],\n });\n }\n }\n return result;\n }\n\n async delete(url: string): Promise<ContextDeleteRecord> {\n const tx = this.db.transaction('UrlHistory', 'readwrite');\n await tx.store.delete(url);\n const event: DeletedBroadcastEvent = {\n type: 'event',\n operation: 'deleted',\n kind: '',\n key: url,\n path: '/history/url',\n space: '',\n };\n this.channel.postMessage(event);\n return {\n key: url,\n }\n }\n\n async clear(): Promise<void> {\n await this.db.clear('UrlHistory');\n const event: ClearedBroadcastEvent = {\n type: 'event',\n operation: 'cleared',\n path: '/history/url',\n space: '',\n name: 'UrlHistory',\n };\n this.channel.postMessage(event);\n }\n}\n"]}
1
+ {"version":3,"file":"IdbUrlHistory.js","sourceRoot":"","sources":["../../../../src/http-client/store/idb/IdbUrlHistory.ts"],"names":[],"mappings":"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","sourcesContent":["import { BroadcastCreatedEvent, ClearedBroadcastEvent, ContextDeleteRecord, DeletedBroadcastEvent, IQueryResponse, IUrl } from \"@api-client/core/build/browser.js\";\nimport { StoreBroadcast } from \"../StoreBroadcast.js\";\nimport { UrlHistory } from \"../stores/UrlHistory.js\";\nimport { IdbStore } from \"./IdbStore.js\";\n\nfunction setMidnight(date: Date): void {\n date.setHours(0, 0, 0, 0);\n}\n\nexport class IdbUrlHistory extends IdbStore implements UrlHistory {\n channel = new BroadcastChannel(StoreBroadcast.urlHistory);\n\n async add(url: string): Promise<IUrl> {\n const tx = this.db.transaction('UrlHistory', 'readwrite');\n const { store } = tx;\n let item = await store.get(url);\n const time = Date.now();\n const midnight = new Date(time);\n setMidnight(midnight);\n if (item) {\n item.cnt += 1;\n item.time = time;\n item.midnight = midnight.getTime();\n } else {\n item = {\n cnt: 1,\n time,\n key: url,\n midnight: midnight.getTime(),\n } as IUrl;\n }\n await store.put(item);\n await tx.done;\n\n const event: BroadcastCreatedEvent = {\n type: 'event',\n operation: 'created',\n key: url,\n data: item,\n kind: '',\n space: '',\n path: '/history/url'\n };\n this.channel.postMessage(event);\n return item;\n }\n\n async query(query: string): Promise<IQueryResponse<IUrl>> {\n const q = String(query).toLowerCase();\n const tx = this.db.transaction('UrlHistory', 'readonly');\n const result: IQueryResponse<IUrl> = {\n items: [],\n };\n for await (const cursor of tx.store) {\n const item = cursor.value;\n const url = String(item.key).toLowerCase();\n if (url.includes(q)) {\n result.items.push({\n doc: item,\n index: ['key'],\n });\n }\n }\n return result;\n }\n\n async delete(url: string): Promise<ContextDeleteRecord> {\n const tx = this.db.transaction('UrlHistory', 'readwrite');\n await tx.store.delete(url);\n const event: DeletedBroadcastEvent = {\n type: 'event',\n operation: 'deleted',\n kind: '',\n key: url,\n path: '/history/url',\n space: '',\n };\n this.channel.postMessage(event);\n return {\n key: url,\n }\n }\n\n async clear(): Promise<void> {\n await this.db.clear('UrlHistory');\n const event: ClearedBroadcastEvent = {\n type: 'event',\n operation: 'cleared',\n path: '/history/url',\n space: '',\n name: 'UrlHistory',\n };\n this.channel.postMessage(event);\n }\n}\n"]}
@@ -4,7 +4,10 @@ function setMidnight(date) {
4
4
  date.setHours(0, 0, 0, 0);
5
5
  }
6
6
  export class IdbWsHistory extends IdbStore {
7
- channel = new BroadcastChannel(StoreBroadcast.wsHistory);
7
+ constructor() {
8
+ super(...arguments);
9
+ this.channel = new BroadcastChannel(StoreBroadcast.wsHistory);
10
+ }
8
11
  async add(url) {
9
12
  const tx = this.db.transaction('WsHistory', 'readwrite');
10
13
  const { store } = tx;
@@ -1 +1 @@
1
- {"version":3,"file":"IdbWsHistory.js","sourceRoot":"","sources":["../../../../src/http-client/store/idb/IdbWsHistory.ts"],"names":[],"mappings":"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","sourcesContent":["import { BroadcastCreatedEvent, ClearedBroadcastEvent, ContextDeleteRecord, DeletedBroadcastEvent, IQueryResponse, IUrl } from \"@api-client/core/build/browser.js\";\nimport { StoreBroadcast } from \"../StoreBroadcast.js\";\nimport { WsHistory } from \"../stores/WsHistory.js\";\nimport { IdbStore } from \"./IdbStore.js\";\n\nfunction setMidnight(date: Date): void {\n date.setHours(0, 0, 0, 0);\n}\n\nexport class IdbWsHistory extends IdbStore implements WsHistory {\n channel = new BroadcastChannel(StoreBroadcast.wsHistory);\n\n async add(url: string): Promise<IUrl> {\n const tx = this.db.transaction('WsHistory', 'readwrite');\n const { store } = tx;\n let item = await store.get(url);\n const time = Date.now();\n const midnight = new Date(time);\n setMidnight(midnight);\n if (item) {\n item.cnt += 1;\n item.time = time;\n item.midnight = midnight.getTime();\n } else {\n item = {\n cnt: 1,\n time,\n key: url,\n midnight: midnight.getTime(),\n } as IUrl;\n }\n await store.put(item);\n await tx.done;\n\n const event: BroadcastCreatedEvent = {\n type: 'event',\n operation: 'created',\n key: url,\n data: item,\n kind: '',\n space: '',\n path: '/history/ws'\n };\n this.channel.postMessage(event);\n return item;\n }\n\n async query(query: string): Promise<IQueryResponse<IUrl>> {\n const q = String(query).toLowerCase();\n const tx = this.db.transaction('WsHistory', 'readonly');\n const result: IQueryResponse<IUrl> = {\n items: [],\n };\n for await (const cursor of tx.store) {\n const item = cursor.value;\n const url = String(item.key).toLowerCase();\n if (url.includes(q)) {\n result.items.push({\n doc: item,\n index: ['key'],\n });\n }\n }\n return result;\n }\n\n async delete(url: string): Promise<ContextDeleteRecord> {\n const tx = this.db.transaction('WsHistory', 'readwrite');\n await tx.store.delete(url);\n const event: DeletedBroadcastEvent = {\n type: 'event',\n operation: 'deleted',\n kind: '',\n key: url,\n path: '/history/ws',\n space: '',\n };\n this.channel.postMessage(event);\n return {\n key: url,\n }\n }\n\n async clear(): Promise<void> {\n await this.db.clear('WsHistory');\n const event: ClearedBroadcastEvent = {\n type: 'event',\n operation: 'cleared',\n path: '/history/ws',\n space: '',\n name: 'WsHistory',\n };\n this.channel.postMessage(event);\n }\n}\n"]}
1
+ {"version":3,"file":"IdbWsHistory.js","sourceRoot":"","sources":["../../../../src/http-client/store/idb/IdbWsHistory.ts"],"names":[],"mappings":"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","sourcesContent":["import { BroadcastCreatedEvent, ClearedBroadcastEvent, ContextDeleteRecord, DeletedBroadcastEvent, IQueryResponse, IUrl } from \"@api-client/core/build/browser.js\";\nimport { StoreBroadcast } from \"../StoreBroadcast.js\";\nimport { WsHistory } from \"../stores/WsHistory.js\";\nimport { IdbStore } from \"./IdbStore.js\";\n\nfunction setMidnight(date: Date): void {\n date.setHours(0, 0, 0, 0);\n}\n\nexport class IdbWsHistory extends IdbStore implements WsHistory {\n channel = new BroadcastChannel(StoreBroadcast.wsHistory);\n\n async add(url: string): Promise<IUrl> {\n const tx = this.db.transaction('WsHistory', 'readwrite');\n const { store } = tx;\n let item = await store.get(url);\n const time = Date.now();\n const midnight = new Date(time);\n setMidnight(midnight);\n if (item) {\n item.cnt += 1;\n item.time = time;\n item.midnight = midnight.getTime();\n } else {\n item = {\n cnt: 1,\n time,\n key: url,\n midnight: midnight.getTime(),\n } as IUrl;\n }\n await store.put(item);\n await tx.done;\n\n const event: BroadcastCreatedEvent = {\n type: 'event',\n operation: 'created',\n key: url,\n data: item,\n kind: '',\n space: '',\n path: '/history/ws'\n };\n this.channel.postMessage(event);\n return item;\n }\n\n async query(query: string): Promise<IQueryResponse<IUrl>> {\n const q = String(query).toLowerCase();\n const tx = this.db.transaction('WsHistory', 'readonly');\n const result: IQueryResponse<IUrl> = {\n items: [],\n };\n for await (const cursor of tx.store) {\n const item = cursor.value;\n const url = String(item.key).toLowerCase();\n if (url.includes(q)) {\n result.items.push({\n doc: item,\n index: ['key'],\n });\n }\n }\n return result;\n }\n\n async delete(url: string): Promise<ContextDeleteRecord> {\n const tx = this.db.transaction('WsHistory', 'readwrite');\n await tx.store.delete(url);\n const event: DeletedBroadcastEvent = {\n type: 'event',\n operation: 'deleted',\n kind: '',\n key: url,\n path: '/history/ws',\n space: '',\n };\n this.channel.postMessage(event);\n return {\n key: url,\n }\n }\n\n async clear(): Promise<void> {\n await this.db.clear('WsHistory');\n const event: ClearedBroadcastEvent = {\n type: 'event',\n operation: 'cleared',\n path: '/history/ws',\n space: '',\n name: 'WsHistory',\n };\n this.channel.postMessage(event);\n }\n}\n"]}
@@ -154,19 +154,18 @@ export { chartStyles };
154
154
  const DaySeparatorKind = 'Chart#DaySeparator';
155
155
  const EntryKind = 'Chart#Entry';
156
156
  export class HttpHistoryChart {
157
- data;
158
- _topDuration = 0;
159
- _topRequestSize = 0;
160
- _topResponseSize = 0;
161
- /**
162
- * The ordered from the oldest to the newest history data.
163
- */
164
- _values = [];
165
157
  /**
166
158
  * @param data Sorted history data. Each array item is a group if requests made that day.
167
159
  */
168
160
  constructor(data) {
169
161
  this.data = data;
162
+ this._topDuration = 0;
163
+ this._topRequestSize = 0;
164
+ this._topResponseSize = 0;
165
+ /**
166
+ * The ordered from the oldest to the newest history data.
167
+ */
168
+ this._values = [];
170
169
  this._analyze();
171
170
  }
172
171
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"HttpHistoryChart.js","sourceRoot":"","sources":["../../../src/lib/chart/HttpHistoryChart.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable class-methods-use-this */\nimport { ErrorResponse, IHttpHistory, IResponse } from '@api-client/core/build/browser.js';\nimport { css, html, TemplateResult } from 'lit';\nimport { range } from 'lit/directives/range.js';\nimport { map } from 'lit/directives/map.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { getTime, relativeDay } from '../time/Conversion.js';\n\nconst chartStyles = css`\n.grid-container {\n display: grid;\n grid-template:\n \"header header\" 40px\n \"rows data\" auto\n \". columns\" 80px / 80px auto;\n\n font-family: var(--md-sys-typescale-body-small-font-family-name);\n font-style: var(--md-sys-typescale-body-small-font-family-style);\n font-weight: var(--md-sys-typescale-body-small-font-weight);\n font-size: var(--md-sys-typescale-body-small-font-size);\n letter-spacing: var(--md-sys-typescale-body-small-tracking);\n line-height: var(--md-sys-typescale-body-small-height);\n text-transform: var(--md-sys-typescale-body-small-text-transform);\n text-decoration: var(--md-sys-typescale-body-small-text-decoration);\n}\n\n.chart-title {\n font-weight: 500;\n font-size: 1.1rem;\n grid-area: header;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.chart-rows {\n grid-area: rows;\n position: relative;\n background-image: repeating-linear-gradient(to top, #CCC, #CCC 1px, white 1px, white 10%, #CCC 10% );\n border-right: 1px #e5e5e5 solid;\n text-align: right;\n padding-right: 20px;\n}\n\n.chart-rows .label {\n left: 0;\n top: calc(100% / 2 - calc(1rem / 2));\n position: absolute;\n transform: rotate(-90deg);\n left: -68px;\n}\n\n.chart-data {\n grid-area: data; \n}\n\n.chart-rows,\n.chart-data {\n background-image: repeating-linear-gradient(to top, #CCC, #CCC 1px, white 1px, white 10%, #CCC 10% );\n}\n\n.chart-columns {\n grid-area: columns;\n /* overflow: hidden; */\n}\n\n.chart-data,\n.chart-columns {\n display: flex;\n gap: 12px;\n}\n\n.data-rows {\n display: flex;\n flex-direction: column-reverse;\n height: 100%;\n}\n\n.data-rows > * {\n flex: 1 1 0%;\n display: flex;\n align-items: start;\n justify-content: end;\n margin-top: 8px;\n}\n\n.data-column,\n.data-bar {\n display: block;\n min-width: 8px;\n background-color: transparent;\n min-width: 20px;\n flex: 1 1 0%;\n}\n\n.data-bar.day-separator {\n background-color: #03a9f45e;\n}\n\n.data-bar.day-separator,\n.data-column.day-separator {\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n max-width: 60px;\n}\n\n.data-bar.day-separator .label {\n transform: rotate(-90deg);\n white-space: nowrap;\n background-color: #a2dffb;\n padding: 8px;\n}\n\n.data-column {\n display: flex;\n align-items: center;\n padding-top: 8px;\n}\n\n.data-column .label {\n display: block;\n transform: rotate(-90deg);\n white-space: nowrap;\n /* overflow: hidden;\n text-overflow: ellipsis; */\n}\n\n.bar-day-entry {\n display: flex;\n flex-direction: column;\n}\n\n.bar-day-entry .label {\n flex: 1;\n min-height: 0px;\n position: relative;\n z-index: 1;\n place-self: center end;\n display: flex;\n align-items: end;\n}\n\n.label.inside {\n transform: translate(0px, 1.5rem);\n}\n\n.bar-value {\n transition: all 0.4s ease-in-out 0s;\n background: rgb(76 175 80 / 78%);\n}\n`;\n\nexport { chartStyles };\n\nconst DaySeparatorKind = 'Chart#DaySeparator';\nconst EntryKind = 'Chart#Entry';\n\ninterface IDaySeparator {\n kind: typeof DaySeparatorKind;\n label: string;\n}\n\ninterface IEntry {\n kind: typeof EntryKind;\n /**\n * Request duration.\n */\n d: number;\n /**\n * Request size\n */\n res: number;\n /**\n * Response size\n */\n rps: number;\n /**\n * The log created time\n */\n t: number;\n}\n\ntype DataEntry = IEntry | IDaySeparator;\n\nexport class HttpHistoryChart {\n protected _topDuration = 0;\n\n protected _topRequestSize = 0;\n \n protected _topResponseSize = 0;\n\n /**\n * The ordered from the oldest to the newest history data.\n */\n protected _values: DataEntry[] = [];\n\n /**\n * @param data Sorted history data. Each array item is a group if requests made that day.\n */\n constructor(protected data: IHttpHistory[][]) {\n this._analyze();\n }\n\n /**\n * Normalizes the data, formats the labels and sets the `_values` array.\n */\n protected _analyze(): void {\n const { data } = this;\n const result: DataEntry[] = [];\n const copy = [...data].reverse();\n for (const group of copy) {\n if (!group.length) {\n continue;\n }\n const groupEntry: IDaySeparator = {\n kind: DaySeparatorKind,\n label: relativeDay(group[0].midnight || 0),\n };\n result.push(groupEntry);\n for (const item of [...group].reverse()) {\n const { log, created } = item;\n if (!log) {\n continue;\n }\n const entry: IEntry = {\n kind: EntryKind,\n d: 0,\n res: 0,\n rps: 0,\n t: created,\n };\n result.push(entry);\n const { size, response } = log;\n if (size) {\n entry.res = size.request;\n entry.rps = size.response;\n if (this._topRequestSize < size.request) {\n this._topRequestSize = size.request;\n }\n if (this._topResponseSize < size.response) {\n this._topResponseSize = size.response;\n }\n }\n if (!ErrorResponse.isErrorResponse(response)) {\n const typed = response as IResponse;\n entry.d = typed.loadingTime;\n if (this._topDuration < typed.loadingTime) {\n this._topDuration = typed.loadingTime;\n }\n }\n }\n }\n this._values = result;\n }\n\n /**\n * Creates a plot for the request duration.\n */\n durationPlot(): TemplateResult {\n return html`\n <figure aria-hidden=\"true\" class=\"grid-container chart\">\n <figcaption class=\"chart-title\">Request duration</figcaption>\n ${this._durationRows()}\n ${this._durationChart()}\n ${this._durationColumns()}\n </figure>\n `;\n }\n\n private _durationRows(): TemplateResult {\n const step = this._topDuration / 10;\n return html`\n <div class=\"chart-rows\">\n <div class=\"label\">Milliseconds</div>\n <div class=\"data-rows\">\n ${map(range(10), (i) => html`<span>${Math.round((i+1) * step)}</span>`)}\n </div>\n </div>\n `;\n }\n\n private _durationChart(): TemplateResult {\n const data = this._values;\n return html`<div class=\"chart-data\">\n ${data.map(i => this._durationItem(i))}\n </div>`;\n }\n\n private _durationColumns(): TemplateResult {\n const data = this._values;\n return html`\n <div class=\"chart-columns\">\n ${data.map(i => this._durationColumn(i))}\n </div>`;\n }\n\n private _durationItem(item: DataEntry): TemplateResult {\n if (item.kind === DaySeparatorKind) {\n return this._durationDaySeparatorItem(item);\n }\n return this._durationEntryItem(item);\n }\n\n private _durationDaySeparatorItem(item: IDaySeparator): TemplateResult {\n return html`\n <div class=\"data-bar day-separator\">\n <span class=\"label\">${item.label}</span>\n </div>\n `;\n }\n\n private _durationEntryItem(item: IEntry): TemplateResult {\n const { d } = item;\n let scale = 0;\n if (this._topDuration) {\n scale = d / this._topDuration;\n }\n const classes = {\n 'label': true,\n 'inside': scale >= 0.75,\n };\n return html`\n <div class=\"data-bar bar-day-entry\">\n <span class=\"${classMap(classes)}\">${d}</span>\n <div class=\"bar-value\" style=\"flex-basis: ${scale * 100}%\">\n </div>\n </div>\n `;\n }\n\n private _durationColumn(item: DataEntry): TemplateResult {\n const classes = {\n 'data-column': true,\n 'day-separator': item.kind === DaySeparatorKind,\n };\n let label: string | undefined;\n if (item.kind === EntryKind) {\n label = getTime(item.t);\n }\n return html`\n <div class=\"${classMap(classes)}\">\n ${label ? html`<span class=\"label\">${label}</span>` : ''}\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"HttpHistoryChart.js","sourceRoot":"","sources":["../../../src/lib/chart/HttpHistoryChart.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable class-methods-use-this */\nimport { ErrorResponse, IHttpHistory, IResponse } from '@api-client/core/build/browser.js';\nimport { css, html, TemplateResult } from 'lit';\nimport { range } from 'lit/directives/range.js';\nimport { map } from 'lit/directives/map.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { getTime, relativeDay } from '../time/Conversion.js';\n\nconst chartStyles = css`\n.grid-container {\n display: grid;\n grid-template:\n \"header header\" 40px\n \"rows data\" auto\n \". columns\" 80px / 80px auto;\n\n font-family: var(--md-sys-typescale-body-small-font-family-name);\n font-style: var(--md-sys-typescale-body-small-font-family-style);\n font-weight: var(--md-sys-typescale-body-small-font-weight);\n font-size: var(--md-sys-typescale-body-small-font-size);\n letter-spacing: var(--md-sys-typescale-body-small-tracking);\n line-height: var(--md-sys-typescale-body-small-height);\n text-transform: var(--md-sys-typescale-body-small-text-transform);\n text-decoration: var(--md-sys-typescale-body-small-text-decoration);\n}\n\n.chart-title {\n font-weight: 500;\n font-size: 1.1rem;\n grid-area: header;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.chart-rows {\n grid-area: rows;\n position: relative;\n background-image: repeating-linear-gradient(to top, #CCC, #CCC 1px, white 1px, white 10%, #CCC 10% );\n border-right: 1px #e5e5e5 solid;\n text-align: right;\n padding-right: 20px;\n}\n\n.chart-rows .label {\n left: 0;\n top: calc(100% / 2 - calc(1rem / 2));\n position: absolute;\n transform: rotate(-90deg);\n left: -68px;\n}\n\n.chart-data {\n grid-area: data; \n}\n\n.chart-rows,\n.chart-data {\n background-image: repeating-linear-gradient(to top, #CCC, #CCC 1px, white 1px, white 10%, #CCC 10% );\n}\n\n.chart-columns {\n grid-area: columns;\n /* overflow: hidden; */\n}\n\n.chart-data,\n.chart-columns {\n display: flex;\n gap: 12px;\n}\n\n.data-rows {\n display: flex;\n flex-direction: column-reverse;\n height: 100%;\n}\n\n.data-rows > * {\n flex: 1 1 0%;\n display: flex;\n align-items: start;\n justify-content: end;\n margin-top: 8px;\n}\n\n.data-column,\n.data-bar {\n display: block;\n min-width: 8px;\n background-color: transparent;\n min-width: 20px;\n flex: 1 1 0%;\n}\n\n.data-bar.day-separator {\n background-color: #03a9f45e;\n}\n\n.data-bar.day-separator,\n.data-column.day-separator {\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n max-width: 60px;\n}\n\n.data-bar.day-separator .label {\n transform: rotate(-90deg);\n white-space: nowrap;\n background-color: #a2dffb;\n padding: 8px;\n}\n\n.data-column {\n display: flex;\n align-items: center;\n padding-top: 8px;\n}\n\n.data-column .label {\n display: block;\n transform: rotate(-90deg);\n white-space: nowrap;\n /* overflow: hidden;\n text-overflow: ellipsis; */\n}\n\n.bar-day-entry {\n display: flex;\n flex-direction: column;\n}\n\n.bar-day-entry .label {\n flex: 1;\n min-height: 0px;\n position: relative;\n z-index: 1;\n place-self: center end;\n display: flex;\n align-items: end;\n}\n\n.label.inside {\n transform: translate(0px, 1.5rem);\n}\n\n.bar-value {\n transition: all 0.4s ease-in-out 0s;\n background: rgb(76 175 80 / 78%);\n}\n`;\n\nexport { chartStyles };\n\nconst DaySeparatorKind = 'Chart#DaySeparator';\nconst EntryKind = 'Chart#Entry';\n\ninterface IDaySeparator {\n kind: typeof DaySeparatorKind;\n label: string;\n}\n\ninterface IEntry {\n kind: typeof EntryKind;\n /**\n * Request duration.\n */\n d: number;\n /**\n * Request size\n */\n res: number;\n /**\n * Response size\n */\n rps: number;\n /**\n * The log created time\n */\n t: number;\n}\n\ntype DataEntry = IEntry | IDaySeparator;\n\nexport class HttpHistoryChart {\n protected _topDuration = 0;\n\n protected _topRequestSize = 0;\n \n protected _topResponseSize = 0;\n\n /**\n * The ordered from the oldest to the newest history data.\n */\n protected _values: DataEntry[] = [];\n\n /**\n * @param data Sorted history data. Each array item is a group if requests made that day.\n */\n constructor(protected data: IHttpHistory[][]) {\n this._analyze();\n }\n\n /**\n * Normalizes the data, formats the labels and sets the `_values` array.\n */\n protected _analyze(): void {\n const { data } = this;\n const result: DataEntry[] = [];\n const copy = [...data].reverse();\n for (const group of copy) {\n if (!group.length) {\n continue;\n }\n const groupEntry: IDaySeparator = {\n kind: DaySeparatorKind,\n label: relativeDay(group[0].midnight || 0),\n };\n result.push(groupEntry);\n for (const item of [...group].reverse()) {\n const { log, created } = item;\n if (!log) {\n continue;\n }\n const entry: IEntry = {\n kind: EntryKind,\n d: 0,\n res: 0,\n rps: 0,\n t: created,\n };\n result.push(entry);\n const { size, response } = log;\n if (size) {\n entry.res = size.request;\n entry.rps = size.response;\n if (this._topRequestSize < size.request) {\n this._topRequestSize = size.request;\n }\n if (this._topResponseSize < size.response) {\n this._topResponseSize = size.response;\n }\n }\n if (!ErrorResponse.isErrorResponse(response)) {\n const typed = response as IResponse;\n entry.d = typed.loadingTime;\n if (this._topDuration < typed.loadingTime) {\n this._topDuration = typed.loadingTime;\n }\n }\n }\n }\n this._values = result;\n }\n\n /**\n * Creates a plot for the request duration.\n */\n durationPlot(): TemplateResult {\n return html`\n <figure aria-hidden=\"true\" class=\"grid-container chart\">\n <figcaption class=\"chart-title\">Request duration</figcaption>\n ${this._durationRows()}\n ${this._durationChart()}\n ${this._durationColumns()}\n </figure>\n `;\n }\n\n private _durationRows(): TemplateResult {\n const step = this._topDuration / 10;\n return html`\n <div class=\"chart-rows\">\n <div class=\"label\">Milliseconds</div>\n <div class=\"data-rows\">\n ${map(range(10), (i) => html`<span>${Math.round((i+1) * step)}</span>`)}\n </div>\n </div>\n `;\n }\n\n private _durationChart(): TemplateResult {\n const data = this._values;\n return html`<div class=\"chart-data\">\n ${data.map(i => this._durationItem(i))}\n </div>`;\n }\n\n private _durationColumns(): TemplateResult {\n const data = this._values;\n return html`\n <div class=\"chart-columns\">\n ${data.map(i => this._durationColumn(i))}\n </div>`;\n }\n\n private _durationItem(item: DataEntry): TemplateResult {\n if (item.kind === DaySeparatorKind) {\n return this._durationDaySeparatorItem(item);\n }\n return this._durationEntryItem(item);\n }\n\n private _durationDaySeparatorItem(item: IDaySeparator): TemplateResult {\n return html`\n <div class=\"data-bar day-separator\">\n <span class=\"label\">${item.label}</span>\n </div>\n `;\n }\n\n private _durationEntryItem(item: IEntry): TemplateResult {\n const { d } = item;\n let scale = 0;\n if (this._topDuration) {\n scale = d / this._topDuration;\n }\n const classes = {\n 'label': true,\n 'inside': scale >= 0.75,\n };\n return html`\n <div class=\"data-bar bar-day-entry\">\n <span class=\"${classMap(classes)}\">${d}</span>\n <div class=\"bar-value\" style=\"flex-basis: ${scale * 100}%\">\n </div>\n </div>\n `;\n }\n\n private _durationColumn(item: DataEntry): TemplateResult {\n const classes = {\n 'data-column': true,\n 'day-separator': item.kind === DaySeparatorKind,\n };\n let label: string | undefined;\n if (item.kind === EntryKind) {\n label = getTime(item.t);\n }\n return html`\n <div class=\"${classMap(classes)}\">\n ${label ? html`<span class=\"label\">${label}</span>` : ''}\n </div>\n `;\n }\n}\n"]}
@@ -26,7 +26,6 @@ export const dropHandler = Symbol('dropHandler');
26
26
  */
27
27
  export const FileDropMixin = dedupeMixin((superClass) => {
28
28
  class MyMixinClass extends superClass {
29
- dropTargetActive;
30
29
  constructor(...args) {
31
30
  super(...args);
32
31
  this[dragEnterHandler] = this[dragEnterHandler].bind(this);
@@ -1 +1 @@
1
- {"version":3,"file":"FileDropMixin.js","sourceRoot":"","sources":["../../src/mixins/FileDropMixin.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable max-classes-per-file */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable class-methods-use-this */\nimport { html, TemplateResult, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { dedupeMixin } from '@open-wc/dedupe-mixin';\nimport '../define/ui/ui-icon.js';\n\nexport const dragEnterHandler = Symbol('dragEnterHandler');\nexport const dragLeaveHandler = Symbol('dragLeaveHandler');\nexport const dragOverHandler = Symbol('dragOverHandler');\nexport const dropHandler = Symbol('dropHandler');\n\ntype Constructor<T = {}> = new (...args: any[]) => T;\n\nexport declare class FileDropMixinInterface {\n dropTargetActive: boolean;\n\n /**\n * Processes dropped to the page files\n * @param files The list of dropped files\n * @abstract This is to be implemented by the platform bindings\n */\n processDroppedFiles(files: FileList): Promise<void>;\n}\n\n/**\n * Adds methods to accept files via drag and drop.\n * The mixin register the dnd events on the body element. When an object is dragged over the window it adds\n * this `drop-target` class to the `body` element. Additionally it sets the `dropTargetActive` property.\n * \n * The mixin also assumes that when the `drop-target` is set then the `drop-info` overlay is rendered.\n * However, it does not change the logic if the element is not in the DOM.\n * Use the provided `dropTargetTemplate()` function to generate template for the drag info.\n * \n * The class implementing this mixin should override the `processDroppedFiles(files)` method\n * to process the incoming files.\n *\n * @mixin\n */\nexport const FileDropMixin = dedupeMixin(<T extends Constructor<LitElement>>(superClass: T): Constructor<FileDropMixinInterface> & T => {\n class MyMixinClass extends superClass {\n @property() dropTargetActive: boolean;\n\n constructor(...args: any[]) {\n super(...args);\n this[dragEnterHandler] = this[dragEnterHandler].bind(this);\n this[dragLeaveHandler] = this[dragLeaveHandler].bind(this);\n this[dragOverHandler] = this[dragOverHandler].bind(this);\n this[dropHandler] = this[dropHandler].bind(this);\n\n this.dropTargetActive = false;\n\n document.body.addEventListener('dragenter', this[dragEnterHandler]);\n document.body.addEventListener('dragleave', this[dragLeaveHandler]);\n document.body.addEventListener('dragover', this[dragOverHandler]);\n document.body.addEventListener('drop', this[dropHandler]);\n }\n\n /**\n * Processes dropped to the page files\n * @param files The list of dropped files\n * @abstract This is to be implemented by the platform bindings\n */\n async processDroppedFiles(files: FileList): Promise<void> {\n // ...\n }\n\n /**\n * @returns The template for the drop file message\n */\n dropTargetTemplate(): TemplateResult {\n return html`\n <div class=\"drop-info\">\n <ui-icon icon=\"fileDownload\" class=\"drop-icon\"></ui-icon>\n <p class=\"drop-message\">Drop the file here</p>\n </div>\n `;\n }\n\n [dragEnterHandler](e: DragEvent): void {\n if (!e.dataTransfer) {\n return;\n }\n if (![...e.dataTransfer.types].includes('Files')) {\n return;\n }\n e.preventDefault();\n document.body.classList.add('drop-target');\n this.dropTargetActive = true;\n e.dataTransfer.effectAllowed = 'copy';\n }\n\n [dragLeaveHandler](e: DragEvent): void {\n if (!e.dataTransfer) {\n return;\n }\n if (![...e.dataTransfer.types].includes('Files')) {\n return;\n }\n const node = e.target as HTMLElement;\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return;\n }\n if (node !== document.body && !node.classList.contains('drop-info')) {\n return;\n }\n e.preventDefault();\n document.body.classList.remove('drop-target');\n this.dropTargetActive = false;\n }\n\n [dragOverHandler](e: DragEvent): void {\n if (!e.dataTransfer) {\n return;\n }\n if (![...e.dataTransfer.types].includes('Files')) {\n return;\n }\n const node = e.target as HTMLElement;\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return;\n }\n if (node !== document.body && !node.classList.contains('drop-info')) {\n return;\n }\n e.preventDefault();\n document.body.classList.add('drop-target');\n this.dropTargetActive = true;\n }\n\n [dropHandler](e: DragEvent): void {\n if (!e.dataTransfer) {\n return;\n }\n if (![...e.dataTransfer.types].includes('Files')) {\n return;\n }\n e.preventDefault();\n document.body.classList.remove('drop-target');\n this.dropTargetActive = false;\n this.processDroppedFiles(e.dataTransfer.files);\n }\n };\n return MyMixinClass as Constructor<FileDropMixinInterface> & T;\n});\n"]}
1
+ {"version":3,"file":"FileDropMixin.js","sourceRoot":"","sources":["../../src/mixins/FileDropMixin.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable max-classes-per-file */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable class-methods-use-this */\nimport { html, TemplateResult, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { dedupeMixin } from '@open-wc/dedupe-mixin';\nimport '../define/ui/ui-icon.js';\n\nexport const dragEnterHandler = Symbol('dragEnterHandler');\nexport const dragLeaveHandler = Symbol('dragLeaveHandler');\nexport const dragOverHandler = Symbol('dragOverHandler');\nexport const dropHandler = Symbol('dropHandler');\n\ntype Constructor<T = {}> = new (...args: any[]) => T;\n\nexport declare class FileDropMixinInterface {\n dropTargetActive: boolean;\n\n /**\n * Processes dropped to the page files\n * @param files The list of dropped files\n * @abstract This is to be implemented by the platform bindings\n */\n processDroppedFiles(files: FileList): Promise<void>;\n}\n\n/**\n * Adds methods to accept files via drag and drop.\n * The mixin register the dnd events on the body element. When an object is dragged over the window it adds\n * this `drop-target` class to the `body` element. Additionally it sets the `dropTargetActive` property.\n * \n * The mixin also assumes that when the `drop-target` is set then the `drop-info` overlay is rendered.\n * However, it does not change the logic if the element is not in the DOM.\n * Use the provided `dropTargetTemplate()` function to generate template for the drag info.\n * \n * The class implementing this mixin should override the `processDroppedFiles(files)` method\n * to process the incoming files.\n *\n * @mixin\n */\nexport const FileDropMixin = dedupeMixin(<T extends Constructor<LitElement>>(superClass: T): Constructor<FileDropMixinInterface> & T => {\n class MyMixinClass extends superClass {\n @property() dropTargetActive: boolean;\n\n constructor(...args: any[]) {\n super(...args);\n this[dragEnterHandler] = this[dragEnterHandler].bind(this);\n this[dragLeaveHandler] = this[dragLeaveHandler].bind(this);\n this[dragOverHandler] = this[dragOverHandler].bind(this);\n this[dropHandler] = this[dropHandler].bind(this);\n\n this.dropTargetActive = false;\n\n document.body.addEventListener('dragenter', this[dragEnterHandler]);\n document.body.addEventListener('dragleave', this[dragLeaveHandler]);\n document.body.addEventListener('dragover', this[dragOverHandler]);\n document.body.addEventListener('drop', this[dropHandler]);\n }\n\n /**\n * Processes dropped to the page files\n * @param files The list of dropped files\n * @abstract This is to be implemented by the platform bindings\n */\n async processDroppedFiles(files: FileList): Promise<void> {\n // ...\n }\n\n /**\n * @returns The template for the drop file message\n */\n dropTargetTemplate(): TemplateResult {\n return html`\n <div class=\"drop-info\">\n <ui-icon icon=\"fileDownload\" class=\"drop-icon\"></ui-icon>\n <p class=\"drop-message\">Drop the file here</p>\n </div>\n `;\n }\n\n [dragEnterHandler](e: DragEvent): void {\n if (!e.dataTransfer) {\n return;\n }\n if (![...e.dataTransfer.types].includes('Files')) {\n return;\n }\n e.preventDefault();\n document.body.classList.add('drop-target');\n this.dropTargetActive = true;\n e.dataTransfer.effectAllowed = 'copy';\n }\n\n [dragLeaveHandler](e: DragEvent): void {\n if (!e.dataTransfer) {\n return;\n }\n if (![...e.dataTransfer.types].includes('Files')) {\n return;\n }\n const node = e.target as HTMLElement;\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return;\n }\n if (node !== document.body && !node.classList.contains('drop-info')) {\n return;\n }\n e.preventDefault();\n document.body.classList.remove('drop-target');\n this.dropTargetActive = false;\n }\n\n [dragOverHandler](e: DragEvent): void {\n if (!e.dataTransfer) {\n return;\n }\n if (![...e.dataTransfer.types].includes('Files')) {\n return;\n }\n const node = e.target as HTMLElement;\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return;\n }\n if (node !== document.body && !node.classList.contains('drop-info')) {\n return;\n }\n e.preventDefault();\n document.body.classList.add('drop-target');\n this.dropTargetActive = true;\n }\n\n [dropHandler](e: DragEvent): void {\n if (!e.dataTransfer) {\n return;\n }\n if (![...e.dataTransfer.types].includes('Files')) {\n return;\n }\n e.preventDefault();\n document.body.classList.remove('drop-target');\n this.dropTargetActive = false;\n this.processDroppedFiles(e.dataTransfer.files);\n }\n };\n return MyMixinClass as Constructor<FileDropMixinInterface> & T;\n});\n"]}
@@ -26,24 +26,11 @@ export const supportsAdoptingStyleSheets = window.ShadowRoot &&
26
26
  * @mixin
27
27
  */
28
28
  export const RenderableMixin = dedupeMixin((superClass) => {
29
+ var _a, _b;
29
30
  class RenderableMixinClass extends superClass {
30
31
  static get styles() {
31
32
  return css ``;
32
33
  }
33
- /**
34
- * Determines whether the initial render had run and the `firstRender()`
35
- * function was called.
36
- *
37
- * @default false
38
- */
39
- firstRendered = false;
40
- [renderingValue] = false;
41
- [hasPendingUpdatePromise] = false;
42
- [updateResolver];
43
- /**
44
- * @type A promise resolved when the render finished.
45
- */
46
- updateComplete;
47
34
  /**
48
35
  * True when rendering debouncer is running.
49
36
  */
@@ -52,6 +39,15 @@ export const RenderableMixin = dedupeMixin((superClass) => {
52
39
  }
53
40
  constructor(...args) {
54
41
  super(...args);
42
+ /**
43
+ * Determines whether the initial render had run and the `firstRender()`
44
+ * function was called.
45
+ *
46
+ * @default false
47
+ */
48
+ this.firstRendered = false;
49
+ this[_a] = false;
50
+ this[_b] = false;
55
51
  this[setUpdatePromise]();
56
52
  this.adaptStyles();
57
53
  }
@@ -118,7 +114,7 @@ export const RenderableMixin = dedupeMixin((superClass) => {
118
114
  this[renderPage]();
119
115
  });
120
116
  }
121
- [renderPage]() {
117
+ [(_a = renderingValue, _b = hasPendingUpdatePromise, renderPage)]() {
122
118
  const root = document.querySelector('#app');
123
119
  if (!root) {
124
120
  // eslint-disable-next-line no-console
@@ -1 +1 @@
1
- {"version":3,"file":"RenderableMixin.js","sourceRoot":"","sources":["../../src/mixins/RenderableMixin.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/ban-types */\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable class-methods-use-this */\n/* eslint-disable max-classes-per-file */\nimport { dedupeMixin } from '@open-wc/dedupe-mixin';\nimport { html, TemplateResult, render, CSSResult, css } from 'lit';\nimport { reactive } from '../lib/decorators.js';\n\nexport const renderingValue = Symbol('renderingValue');\nexport const renderPage = Symbol('renderPage');\nexport const setUpdatePromise = Symbol('setUpdatePromise');\nexport const updateResolver = Symbol('updateResolver');\nexport const hasPendingUpdatePromise = Symbol('hasPendingUpdatePromise');\nexport const resolveUpdatePromise = Symbol('resolveUpdatePromise');\n\ntype Constructor<T = {}> = new (...args: any[]) => T;\n\n/**\n * Whether the current browser supports `adoptedStyleSheets`.\n */\nexport const supportsAdoptingStyleSheets =\n window.ShadowRoot &&\n 'adoptedStyleSheets' in Document.prototype &&\n 'replace' in CSSStyleSheet.prototype;\n\nexport declare class RenderableMixinInterface {\n /**\n * Determines whether the initial render had run and the `firstRender()`\n * function was called.\n *\n * @default false\n */\n firstRendered: boolean;\n\n /** \n * @type A promise resolved when the render finished.\n */\n updateComplete?: Promise<boolean>;\n\n /** \n * True when rendering debouncer is running.\n */\n get rendering(): boolean;\n\n /**\n * Helper function to be overridden by child classes. It is called when the view\n * is rendered for the first time.\n */\n firstRender(): void;\n\n /**\n * A function called when the template has been rendered\n */\n updated(): void;\n\n /**\n * This to be used by the child classes to render page template.\n * @returns Application page template\n */\n pageTemplate(): TemplateResult;\n\n /**\n * The main render function. Sub classes should not override this method.\n * Override `[renderPage]()` instead.\n *\n * The function calls `[renderPage]()` in a micro task so it is safe to call this\n * multiple time in the same event loop.\n */\n render(): TemplateResult | undefined;\n}\n\n/**\n * Adds methods that helps with asynchronous template rendering.\n * \n * The application page content is rendered into the `#app` container.\n *\n * @mixin\n */\nexport const RenderableMixin = dedupeMixin(<T extends Constructor<any>>(superClass: T): Constructor<RenderableMixinInterface> & T => {\n class RenderableMixinClass extends superClass {\n \n static get styles(): CSSResult | CSSResult[] {\n return css``;\n }\n\n /**\n * Determines whether the initial render had run and the `firstRender()`\n * function was called.\n *\n * @default false\n */\n @reactive() \n firstRendered = false;\n\n [renderingValue] = false;\n\n [hasPendingUpdatePromise] = false;\n\n [updateResolver]?: (value?: any) => void;\n \n\n /** \n * @type A promise resolved when the render finished.\n */\n updateComplete?: Promise<boolean>;\n\n /** \n * True when rendering debouncer is running.\n */\n get rendering(): boolean {\n return this[renderingValue];\n }\n\n constructor(...args: any[]) {\n super(...args);\n this[setUpdatePromise]();\n this.adaptStyles();\n }\n\n protected adaptStyles(): void {\n // @ts-ignore\n const input = this.constructor.styles as CSSResult | CSSResult[];\n if (!input) {\n return;\n }\n let styles = input as CSSResult[];\n if (!Array.isArray(input)) {\n styles = [input];\n }\n if (supportsAdoptingStyleSheets) {\n const sheets = styles.map(i => i.styleSheet);\n // @ts-ignore\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, ...sheets];\n } else {\n styles.forEach((s) => {\n const style = document.createElement('style');\n style.textContent = (s as CSSResult).cssText;\n document.head.appendChild(style);\n });\n }\n }\n\n /**\n * Helper function to be overridden by child classes. It is called when the view\n * is rendered for the first time.\n */\n firstRender(): void {\n // \n }\n\n /**\n * A function called when the template has been rendered\n */\n updated(): void {\n // \n }\n\n /**\n * This to be used by the child classes to render page template.\n * @returns Application page template\n */\n pageTemplate(): TemplateResult {\n return html``;\n }\n\n /**\n * The main render function. Sub classes should not override this method.\n * Override `[renderPage]()` instead.\n *\n * The function calls `[renderPage]()` in a micro task so it is safe to call this\n * multiple time in the same event loop.\n */\n render(): TemplateResult | undefined {\n if (this.rendering) {\n return;\n }\n this[renderingValue] = true;\n if (!this[hasPendingUpdatePromise]) {\n this[setUpdatePromise]();\n }\n requestAnimationFrame(() => {\n this[renderingValue] = false;\n this[renderPage]();\n });\n }\n\n [renderPage](): void {\n const root = document.querySelector('#app') as HTMLElement;\n if (!root) {\n // eslint-disable-next-line no-console\n console.warn(`The <div id=\"app\"></div> is not in the document.`);\n return;\n }\n if (!this.firstRendered) {\n this.firstRendered = true;\n // cleanup any pre-existing content.\n Array.from(root.childNodes).forEach(node => node.parentNode?.removeChild(node));\n setTimeout(() => this.firstRender());\n }\n render(this.pageTemplate(), root, { host: this, });\n this[resolveUpdatePromise]();\n this.updated();\n }\n\n [setUpdatePromise](): void {\n this.updateComplete = new Promise((resolve) => {\n this[updateResolver] = resolve;\n this[hasPendingUpdatePromise] = true;\n });\n }\n\n [resolveUpdatePromise](): void {\n if (!this[hasPendingUpdatePromise]) {\n return;\n }\n this[hasPendingUpdatePromise] = false;\n const resolver = this[updateResolver];\n if (resolver) {\n resolver();\n }\n }\n }\n return RenderableMixinClass as Constructor<RenderableMixinInterface> & T;\n});\n"]}
1
+ {"version":3,"file":"RenderableMixin.js","sourceRoot":"","sources":["../../src/mixins/RenderableMixin.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/ban-types */\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable class-methods-use-this */\n/* eslint-disable max-classes-per-file */\nimport { dedupeMixin } from '@open-wc/dedupe-mixin';\nimport { html, TemplateResult, render, CSSResult, css } from 'lit';\nimport { reactive } from '../lib/decorators.js';\n\nexport const renderingValue = Symbol('renderingValue');\nexport const renderPage = Symbol('renderPage');\nexport const setUpdatePromise = Symbol('setUpdatePromise');\nexport const updateResolver = Symbol('updateResolver');\nexport const hasPendingUpdatePromise = Symbol('hasPendingUpdatePromise');\nexport const resolveUpdatePromise = Symbol('resolveUpdatePromise');\n\ntype Constructor<T = {}> = new (...args: any[]) => T;\n\n/**\n * Whether the current browser supports `adoptedStyleSheets`.\n */\nexport const supportsAdoptingStyleSheets =\n window.ShadowRoot &&\n 'adoptedStyleSheets' in Document.prototype &&\n 'replace' in CSSStyleSheet.prototype;\n\nexport declare class RenderableMixinInterface {\n /**\n * Determines whether the initial render had run and the `firstRender()`\n * function was called.\n *\n * @default false\n */\n firstRendered: boolean;\n\n /** \n * @type A promise resolved when the render finished.\n */\n updateComplete?: Promise<boolean>;\n\n /** \n * True when rendering debouncer is running.\n */\n get rendering(): boolean;\n\n /**\n * Helper function to be overridden by child classes. It is called when the view\n * is rendered for the first time.\n */\n firstRender(): void;\n\n /**\n * A function called when the template has been rendered\n */\n updated(): void;\n\n /**\n * This to be used by the child classes to render page template.\n * @returns Application page template\n */\n pageTemplate(): TemplateResult;\n\n /**\n * The main render function. Sub classes should not override this method.\n * Override `[renderPage]()` instead.\n *\n * The function calls `[renderPage]()` in a micro task so it is safe to call this\n * multiple time in the same event loop.\n */\n render(): TemplateResult | undefined;\n}\n\n/**\n * Adds methods that helps with asynchronous template rendering.\n * \n * The application page content is rendered into the `#app` container.\n *\n * @mixin\n */\nexport const RenderableMixin = dedupeMixin(<T extends Constructor<any>>(superClass: T): Constructor<RenderableMixinInterface> & T => {\n class RenderableMixinClass extends superClass {\n \n static get styles(): CSSResult | CSSResult[] {\n return css``;\n }\n\n /**\n * Determines whether the initial render had run and the `firstRender()`\n * function was called.\n *\n * @default false\n */\n @reactive() \n firstRendered = false;\n\n [renderingValue] = false;\n\n [hasPendingUpdatePromise] = false;\n\n [updateResolver]?: (value?: any) => void;\n \n\n /** \n * @type A promise resolved when the render finished.\n */\n updateComplete?: Promise<boolean>;\n\n /** \n * True when rendering debouncer is running.\n */\n get rendering(): boolean {\n return this[renderingValue];\n }\n\n constructor(...args: any[]) {\n super(...args);\n this[setUpdatePromise]();\n this.adaptStyles();\n }\n\n protected adaptStyles(): void {\n // @ts-ignore\n const input = this.constructor.styles as CSSResult | CSSResult[];\n if (!input) {\n return;\n }\n let styles = input as CSSResult[];\n if (!Array.isArray(input)) {\n styles = [input];\n }\n if (supportsAdoptingStyleSheets) {\n const sheets = styles.map(i => i.styleSheet);\n // @ts-ignore\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, ...sheets];\n } else {\n styles.forEach((s) => {\n const style = document.createElement('style');\n style.textContent = (s as CSSResult).cssText;\n document.head.appendChild(style);\n });\n }\n }\n\n /**\n * Helper function to be overridden by child classes. It is called when the view\n * is rendered for the first time.\n */\n firstRender(): void {\n // \n }\n\n /**\n * A function called when the template has been rendered\n */\n updated(): void {\n // \n }\n\n /**\n * This to be used by the child classes to render page template.\n * @returns Application page template\n */\n pageTemplate(): TemplateResult {\n return html``;\n }\n\n /**\n * The main render function. Sub classes should not override this method.\n * Override `[renderPage]()` instead.\n *\n * The function calls `[renderPage]()` in a micro task so it is safe to call this\n * multiple time in the same event loop.\n */\n render(): TemplateResult | undefined {\n if (this.rendering) {\n return;\n }\n this[renderingValue] = true;\n if (!this[hasPendingUpdatePromise]) {\n this[setUpdatePromise]();\n }\n requestAnimationFrame(() => {\n this[renderingValue] = false;\n this[renderPage]();\n });\n }\n\n [renderPage](): void {\n const root = document.querySelector('#app') as HTMLElement;\n if (!root) {\n // eslint-disable-next-line no-console\n console.warn(`The <div id=\"app\"></div> is not in the document.`);\n return;\n }\n if (!this.firstRendered) {\n this.firstRendered = true;\n // cleanup any pre-existing content.\n Array.from(root.childNodes).forEach(node => node.parentNode?.removeChild(node));\n setTimeout(() => this.firstRender());\n }\n render(this.pageTemplate(), root, { host: this, });\n this[resolveUpdatePromise]();\n this.updated();\n }\n\n [setUpdatePromise](): void {\n this.updateComplete = new Promise((resolve) => {\n this[updateResolver] = resolve;\n this[hasPendingUpdatePromise] = true;\n });\n }\n\n [resolveUpdatePromise](): void {\n if (!this[hasPendingUpdatePromise]) {\n return;\n }\n this[hasPendingUpdatePromise] = false;\n const resolver = this[updateResolver];\n if (resolver) {\n resolver();\n }\n }\n }\n return RenderableMixinClass as Constructor<RenderableMixinInterface> & T;\n});\n"]}
@@ -1,10 +1,10 @@
1
1
  import { TemplateResult } from 'lit';
2
2
  import { IUser, IBackendInfo } from '@api-client/core/build/browser.js';
3
3
  import { IConfigEnvironment, ThemeType } from '../lib/config/Config.js';
4
- import '../define/ui/ui-button.js';
5
4
  import { StoreBindings } from '../bindings/base/StoreBindings.js';
6
5
  import type { AddConfigEnvironmentInit, ConfigurationBindings } from '../bindings/base/ConfigurationBindings.js';
7
6
  import { PlatformBindings } from '../bindings/base/PlatformBindings.js';
7
+ import '../define/ui/ui-button.js';
8
8
  export interface ApplicationInit {
9
9
  /**
10
10
  * A reference to the store bindings.
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationScreen.d.ts","sourceRoot":"","sources":["../../src/pages/ApplicationScreen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApplicationScreen.d.ts","sourceRoot":"","sources":["../../src/pages/ApplicationScreen.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,8 @@ import { EventTypes } from '../events/EventTypes.js';
11
11
  import { ConfigBroadcastChannel } from '../lib/config/Config.js';
12
12
  import supportedPlatform from '../lib/SupportedPlatform.js';
13
13
  import { ButtonType } from '../ui/button/UiButton.js';
14
- import '../define/ui/ui-button.js';
15
14
  import { SnackNotifications } from '../ui/notification/SnackNotifications.js';
15
+ import '../define/ui/ui-button.js';
16
16
  /**
17
17
  * A base class for pages build outside the LitElement. It uses `lit-html`
18
18
  * as the template renderer.
@@ -27,41 +27,6 @@ import { SnackNotifications } from '../ui/notification/SnackNotifications.js';
27
27
  * meaning, when the property change it calls the `render()` function.
28
28
  */
29
29
  export class ApplicationScreen extends RouteMixin(RenderableMixin(EventTarget)) {
30
- eventTarget = window;
31
- /**
32
- * True when the app should render mobile friendly view.
33
- */
34
- isMobile = false;
35
- /**
36
- * The loading state information.
37
- */
38
- loadingStatus = 'Initializing the application...';
39
- /**
40
- * A flag telling the application screen that the logic is initialized.
41
- *
42
- * The page can request different initialization logics. When the logic is
43
- * loaded the flag is set to true.
44
- */
45
- initialized = false;
46
- /**
47
- * The page on the screen currently being rendered.
48
- */
49
- page;
50
- /**
51
- * The current user.
52
- * Call the `loadUser()` to populate this.
53
- */
54
- user;
55
- /**
56
- * True when the user meta is being loaded.
57
- */
58
- loadingUser = false;
59
- authenticated = false;
60
- /**
61
- * This is automatically set when initializing the store.
62
- * Basic information about the store.
63
- */
64
- storeInfo;
65
30
  /**
66
31
  * Checks whether the store is in the single user mode.
67
32
  * It also returns true when the store info is not set (before the backend was initialized).
@@ -73,28 +38,42 @@ export class ApplicationScreen extends RouteMixin(RenderableMixin(EventTarget))
73
38
  }
74
39
  return storeInfo.mode === 'single-user';
75
40
  }
76
- pendingResolver;
77
- /**
78
- * Detected system theme.
79
- */
80
- systemTheme = 'light';
81
- /**
82
- * The theme to use as selected by the user.
83
- * Default to system default.
84
- */
85
- userTheme = 'default';
86
- /**
87
- * Application configuration broadcast channel.
88
- */
89
- configBroadcast = new BroadcastChannel(ConfigBroadcastChannel);
90
- bindings;
91
- /**
92
- * The store environment in use.
93
- * This is set after the `initializeStore()` was called.
94
- */
95
- env;
96
41
  constructor(init) {
97
42
  super();
43
+ this.eventTarget = window;
44
+ /**
45
+ * True when the app should render mobile friendly view.
46
+ */
47
+ this.isMobile = false;
48
+ /**
49
+ * The loading state information.
50
+ */
51
+ this.loadingStatus = 'Initializing the application...';
52
+ /**
53
+ * A flag telling the application screen that the logic is initialized.
54
+ *
55
+ * The page can request different initialization logics. When the logic is
56
+ * loaded the flag is set to true.
57
+ */
58
+ this.initialized = false;
59
+ /**
60
+ * True when the user meta is being loaded.
61
+ */
62
+ this.loadingUser = false;
63
+ this.authenticated = false;
64
+ /**
65
+ * Detected system theme.
66
+ */
67
+ this.systemTheme = 'light';
68
+ /**
69
+ * The theme to use as selected by the user.
70
+ * Default to system default.
71
+ */
72
+ this.userTheme = 'default';
73
+ /**
74
+ * Application configuration broadcast channel.
75
+ */
76
+ this.configBroadcast = new BroadcastChannel(ConfigBroadcastChannel);
98
77
  this.bindings = {
99
78
  config: init.config,
100
79
  store: init.store,