@api-client/ui 0.0.5 → 0.0.8

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 (326) 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/bindings/base/StoreBindings.js +4 -4
  8. package/dist/bindings/base/StoreBindings.js.map +1 -1
  9. package/dist/define/dialog/delete-cookie-action-dialog.d.ts +10 -0
  10. package/dist/define/dialog/delete-cookie-action-dialog.d.ts.map +1 -0
  11. package/dist/define/dialog/delete-cookie-action-dialog.js +14 -0
  12. package/dist/define/dialog/delete-cookie-action-dialog.js.map +1 -0
  13. package/dist/define/dialog/set-cookie-action-dialog.d.ts +10 -0
  14. package/dist/define/dialog/set-cookie-action-dialog.d.ts.map +1 -0
  15. package/dist/define/dialog/set-cookie-action-dialog.js +14 -0
  16. package/dist/define/dialog/set-cookie-action-dialog.js.map +1 -0
  17. package/dist/define/http/http-assertions.d.ts +1 -1
  18. package/dist/define/http/http-assertions.d.ts.map +1 -1
  19. package/dist/define/http/http-assertions.js +3 -3
  20. package/dist/define/http/http-assertions.js.map +1 -1
  21. package/dist/define/http/http-flows.d.ts +10 -0
  22. package/dist/define/http/http-flows.d.ts.map +1 -0
  23. package/dist/define/http/http-flows.js +13 -0
  24. package/dist/define/http/http-flows.js.map +1 -0
  25. package/dist/define/ui/ui-divider.d.ts +4 -1
  26. package/dist/define/ui/ui-divider.d.ts.map +1 -1
  27. package/dist/define/ui/ui-divider.js +11 -2
  28. package/dist/define/ui/ui-divider.js.map +1 -1
  29. package/dist/elements/ApiElement.d.ts +4 -0
  30. package/dist/elements/ApiElement.d.ts.map +1 -1
  31. package/dist/elements/ApiElement.js +6 -0
  32. package/dist/elements/ApiElement.js.map +1 -1
  33. package/dist/elements/amf/ApiAuthorizationEditor.element.js +1 -1
  34. package/dist/elements/amf/ApiAuthorizationEditor.element.js.map +1 -1
  35. package/dist/elements/amf/ApiOperationDocument.element.d.ts.map +1 -1
  36. package/dist/elements/amf/ApiOperationDocument.element.js +2 -1
  37. package/dist/elements/amf/ApiOperationDocument.element.js.map +1 -1
  38. package/dist/elements/amf/ApiRequest.element.js +1 -1
  39. package/dist/elements/amf/ApiRequest.element.js.map +1 -1
  40. package/dist/elements/amf/ApiRequestEditor.element.d.ts +0 -1
  41. package/dist/elements/amf/ApiRequestEditor.element.d.ts.map +1 -1
  42. package/dist/elements/amf/ApiRequestEditor.element.js +0 -3
  43. package/dist/elements/amf/ApiRequestEditor.element.js.map +1 -1
  44. package/dist/elements/authorization/ui/Authorization.d.ts +2 -1
  45. package/dist/elements/authorization/ui/Authorization.d.ts.map +1 -1
  46. package/dist/elements/authorization/ui/Authorization.js +0 -3
  47. package/dist/elements/authorization/ui/Authorization.js.map +1 -1
  48. package/dist/elements/dialog/DeleteCookieAction.element.d.ts +20 -0
  49. package/dist/elements/dialog/DeleteCookieAction.element.d.ts.map +1 -0
  50. package/dist/elements/dialog/DeleteCookieAction.element.js +93 -0
  51. package/dist/elements/dialog/DeleteCookieAction.element.js.map +1 -0
  52. package/dist/elements/dialog/DeleteCookieAction.styles.d.ts +3 -0
  53. package/dist/elements/dialog/DeleteCookieAction.styles.d.ts.map +1 -0
  54. package/dist/elements/dialog/DeleteCookieAction.styles.js +13 -0
  55. package/dist/elements/dialog/DeleteCookieAction.styles.js.map +1 -0
  56. package/dist/elements/dialog/Rename.d.ts +7 -6
  57. package/dist/elements/dialog/Rename.d.ts.map +1 -1
  58. package/dist/elements/dialog/Rename.js +7 -6
  59. package/dist/elements/dialog/Rename.js.map +1 -1
  60. package/dist/elements/dialog/SetCookieAction.element.d.ts +22 -0
  61. package/dist/elements/dialog/SetCookieAction.element.d.ts.map +1 -0
  62. package/dist/elements/dialog/SetCookieAction.element.js +173 -0
  63. package/dist/elements/dialog/SetCookieAction.element.js.map +1 -0
  64. package/dist/elements/environment/EnvironmentEditor.d.ts +24 -3
  65. package/dist/elements/environment/EnvironmentEditor.d.ts.map +1 -1
  66. package/dist/elements/environment/EnvironmentEditor.js +69 -23
  67. package/dist/elements/environment/EnvironmentEditor.js.map +1 -1
  68. package/dist/elements/environment/EnvironmentEditor.styles.d.ts.map +1 -1
  69. package/dist/elements/environment/EnvironmentEditor.styles.js +5 -0
  70. package/dist/elements/environment/EnvironmentEditor.styles.js.map +1 -1
  71. package/dist/elements/environment/ServerEditor.d.ts +3 -3
  72. package/dist/elements/environment/ServerEditor.d.ts.map +1 -1
  73. package/dist/elements/environment/ServerEditor.js +3 -6
  74. package/dist/elements/environment/ServerEditor.js.map +1 -1
  75. package/dist/elements/environment/VariablesEditor.d.ts +0 -1
  76. package/dist/elements/environment/VariablesEditor.d.ts.map +1 -1
  77. package/dist/elements/environment/VariablesEditor.js +3 -6
  78. package/dist/elements/environment/VariablesEditor.js.map +1 -1
  79. package/dist/elements/highlight/Prism.styles.d.ts.map +1 -1
  80. package/dist/elements/highlight/Prism.styles.js +12 -5
  81. package/dist/elements/highlight/Prism.styles.js.map +1 -1
  82. package/dist/elements/http/BodyEditor.d.ts +0 -4
  83. package/dist/elements/http/BodyEditor.d.ts.map +1 -1
  84. package/dist/elements/http/BodyEditor.js +10 -16
  85. package/dist/elements/http/BodyEditor.js.map +1 -1
  86. package/dist/elements/http/BodyMultipartEditor.d.ts +3 -16
  87. package/dist/elements/http/BodyMultipartEditor.d.ts.map +1 -1
  88. package/dist/elements/http/BodyMultipartEditor.js +3 -19
  89. package/dist/elements/http/BodyMultipartEditor.js.map +1 -1
  90. package/dist/elements/http/BodyTextEditor.d.ts +0 -1
  91. package/dist/elements/http/BodyTextEditor.d.ts.map +1 -1
  92. package/dist/elements/http/BodyTextEditor.js +0 -3
  93. package/dist/elements/http/BodyTextEditor.js.map +1 -1
  94. package/dist/elements/http/BodyUrlEncodedEditor.d.ts +3 -3
  95. package/dist/elements/http/BodyUrlEncodedEditor.d.ts.map +1 -1
  96. package/dist/elements/http/BodyUrlEncodedEditor.js +3 -5
  97. package/dist/elements/http/BodyUrlEncodedEditor.js.map +1 -1
  98. package/dist/elements/http/HeadersForm.d.ts +0 -4
  99. package/dist/elements/http/HeadersForm.d.ts.map +1 -1
  100. package/dist/elements/http/HeadersForm.js +0 -6
  101. package/dist/elements/http/HeadersForm.js.map +1 -1
  102. package/dist/elements/http/HttpAssertions.element.d.ts +55 -0
  103. package/dist/elements/http/HttpAssertions.element.d.ts.map +1 -0
  104. package/dist/elements/http/HttpAssertions.element.js +264 -0
  105. package/dist/elements/http/HttpAssertions.element.js.map +1 -0
  106. package/dist/elements/http/HttpAssertions.styles.d.ts.map +1 -1
  107. package/dist/elements/http/HttpAssertions.styles.js +7 -156
  108. package/dist/elements/http/HttpAssertions.styles.js.map +1 -1
  109. package/dist/elements/http/HttpFlows.common.d.ts +3 -0
  110. package/dist/elements/http/HttpFlows.common.d.ts.map +1 -0
  111. package/dist/elements/http/HttpFlows.common.js +181 -0
  112. package/dist/elements/http/HttpFlows.common.js.map +1 -0
  113. package/dist/elements/http/HttpFlows.element.d.ts +97 -0
  114. package/dist/elements/http/HttpFlows.element.d.ts.map +1 -0
  115. package/dist/elements/http/HttpFlows.element.js +684 -0
  116. package/dist/elements/http/HttpFlows.element.js.map +1 -0
  117. package/dist/elements/http/HttpFlows.styles.d.ts +3 -0
  118. package/dist/elements/http/HttpFlows.styles.d.ts.map +1 -0
  119. package/dist/elements/http/HttpFlows.styles.js +28 -0
  120. package/dist/elements/http/HttpFlows.styles.js.map +1 -0
  121. package/dist/elements/http/HttpFlowsUi.d.ts +172 -0
  122. package/dist/elements/http/HttpFlowsUi.d.ts.map +1 -0
  123. package/dist/elements/http/HttpFlowsUi.js +1256 -0
  124. package/dist/elements/http/HttpFlowsUi.js.map +1 -0
  125. package/dist/elements/http/RequestConfigElement.d.ts +0 -1
  126. package/dist/elements/http/RequestConfigElement.d.ts.map +1 -1
  127. package/dist/elements/http/RequestConfigElement.js +8 -11
  128. package/dist/elements/http/RequestConfigElement.js.map +1 -1
  129. package/dist/elements/http/RequestEditor.d.ts +10 -10
  130. package/dist/elements/http/RequestEditor.d.ts.map +1 -1
  131. package/dist/elements/http/RequestEditor.js +62 -23
  132. package/dist/elements/http/RequestEditor.js.map +1 -1
  133. package/dist/elements/http/UrlInput.d.ts +3 -3
  134. package/dist/elements/http/UrlInput.d.ts.map +1 -1
  135. package/dist/elements/http/UrlInput.js +2 -2
  136. package/dist/elements/http/UrlInput.js.map +1 -1
  137. package/dist/elements/http/UrlParamsForm.d.ts +0 -1
  138. package/dist/elements/http/UrlParamsForm.d.ts.map +1 -1
  139. package/dist/elements/http/UrlParamsForm.js +0 -3
  140. package/dist/elements/http/UrlParamsForm.js.map +1 -1
  141. package/dist/elements/layout/SplitView.styles.d.ts.map +1 -1
  142. package/dist/elements/layout/SplitView.styles.js +1 -0
  143. package/dist/elements/layout/SplitView.styles.js.map +1 -1
  144. package/dist/elements/navigation/AppNavigationItem.styles.d.ts.map +1 -1
  145. package/dist/elements/navigation/AppNavigationItem.styles.js +2 -0
  146. package/dist/elements/navigation/AppNavigationItem.styles.js.map +1 -1
  147. package/dist/elements/project/HttpProjectRequest.d.ts +2 -1
  148. package/dist/elements/project/HttpProjectRequest.d.ts.map +1 -1
  149. package/dist/elements/project/HttpProjectRequest.js +14 -5
  150. package/dist/elements/project/HttpProjectRequest.js.map +1 -1
  151. package/dist/elements/project/ProjectRunner.d.ts +0 -1
  152. package/dist/elements/project/ProjectRunner.d.ts.map +1 -1
  153. package/dist/elements/project/ProjectRunner.js +1 -4
  154. package/dist/elements/project/ProjectRunner.js.map +1 -1
  155. package/dist/elements/schema-design/AssociationFormElement.d.ts +0 -1
  156. package/dist/elements/schema-design/AssociationFormElement.d.ts.map +1 -1
  157. package/dist/elements/schema-design/AssociationFormElement.js +2 -5
  158. package/dist/elements/schema-design/AssociationFormElement.js.map +1 -1
  159. package/dist/elements/schema-design/DataEntityEditorElement.d.ts +2 -2
  160. package/dist/elements/schema-design/DataEntityEditorElement.d.ts.map +1 -1
  161. package/dist/elements/schema-design/DataEntityEditorElement.js +5 -5
  162. package/dist/elements/schema-design/DataEntityEditorElement.js.map +1 -1
  163. package/dist/elements/schema-design/DataSchemaDocument.d.ts +0 -1
  164. package/dist/elements/schema-design/DataSchemaDocument.d.ts.map +1 -1
  165. package/dist/elements/schema-design/DataSchemaDocument.js +4 -7
  166. package/dist/elements/schema-design/DataSchemaDocument.js.map +1 -1
  167. package/dist/elements/schema-design/EntityFormElement.d.ts +0 -1
  168. package/dist/elements/schema-design/EntityFormElement.d.ts.map +1 -1
  169. package/dist/elements/schema-design/EntityFormElement.js +4 -7
  170. package/dist/elements/schema-design/EntityFormElement.js.map +1 -1
  171. package/dist/elements/schema-design/PropertyFormElement.d.ts +1 -2
  172. package/dist/elements/schema-design/PropertyFormElement.d.ts.map +1 -1
  173. package/dist/elements/schema-design/PropertyFormElement.js +8 -11
  174. package/dist/elements/schema-design/PropertyFormElement.js.map +1 -1
  175. package/dist/pages/ApplicationScreen.d.ts +1 -1
  176. package/dist/pages/ApplicationScreen.d.ts.map +1 -1
  177. package/dist/pages/ApplicationScreen.js +1 -1
  178. package/dist/pages/ApplicationScreen.js.map +1 -1
  179. package/dist/pages/api-client/ApiClient.styles.d.ts.map +1 -1
  180. package/dist/pages/api-client/ApiClient.styles.js +22 -3
  181. package/dist/pages/api-client/ApiClient.styles.js.map +1 -1
  182. package/dist/pages/api-client/Authenticate.screen.d.ts +2 -0
  183. package/dist/pages/api-client/Authenticate.screen.d.ts.map +1 -1
  184. package/dist/pages/api-client/Authenticate.screen.js +19 -3
  185. package/dist/pages/api-client/Authenticate.screen.js.map +1 -1
  186. package/dist/pages/api-client/StoreConfig.screen.d.ts.map +1 -1
  187. package/dist/pages/api-client/StoreConfig.screen.js +4 -2
  188. package/dist/pages/api-client/StoreConfig.screen.js.map +1 -1
  189. package/dist/pages/api-client/StoreConfig.styles.d.ts.map +1 -1
  190. package/dist/pages/api-client/StoreConfig.styles.js +5 -0
  191. package/dist/pages/api-client/StoreConfig.styles.js.map +1 -1
  192. package/dist/pages/api-client/pages/Files.page.d.ts +1 -0
  193. package/dist/pages/api-client/pages/Files.page.d.ts.map +1 -1
  194. package/dist/pages/api-client/pages/Files.page.js +2 -1
  195. package/dist/pages/api-client/pages/Files.page.js.map +1 -1
  196. package/dist/pages/http-project/HttpProject.screen.d.ts +0 -8
  197. package/dist/pages/http-project/HttpProject.screen.d.ts.map +1 -1
  198. package/dist/pages/http-project/HttpProject.screen.js +14 -15
  199. package/dist/pages/http-project/HttpProject.screen.js.map +1 -1
  200. package/dist/pages/http-project/types.d.ts +8 -6
  201. package/dist/pages/http-project/types.d.ts.map +1 -1
  202. package/dist/pages/http-project/types.js.map +1 -1
  203. package/dist/styles/m3/surface.module.d.ts.map +1 -1
  204. package/dist/styles/m3/surface.module.js +11 -27
  205. package/dist/styles/m3/surface.module.js.map +1 -1
  206. package/dist/ui/UiElement.d.ts +4 -0
  207. package/dist/ui/UiElement.d.ts.map +1 -1
  208. package/dist/ui/UiElement.js +6 -0
  209. package/dist/ui/UiElement.js.map +1 -1
  210. package/dist/ui/button/SegmentedButton.styles.d.ts.map +1 -1
  211. package/dist/ui/button/SegmentedButton.styles.js +3 -1
  212. package/dist/ui/button/SegmentedButton.styles.js.map +1 -1
  213. package/dist/ui/dialog/UiDialog.d.ts +3 -0
  214. package/dist/ui/dialog/UiDialog.d.ts.map +1 -1
  215. package/dist/ui/dialog/UiDialog.js +3 -0
  216. package/dist/ui/dialog/UiDialog.js.map +1 -1
  217. package/dist/ui/effects/ripple.d.ts.map +1 -1
  218. package/dist/ui/effects/ripple.js +5 -1
  219. package/dist/ui/effects/ripple.js.map +1 -1
  220. package/dist/ui/icons/Icons.d.ts +3 -2
  221. package/dist/ui/icons/Icons.d.ts.map +1 -1
  222. package/dist/ui/icons/Icons.js +2 -1
  223. package/dist/ui/icons/Icons.js.map +1 -1
  224. package/dist/ui/input/CheckedElement.d.ts +1 -1
  225. package/dist/ui/input/CheckedElement.d.ts.map +1 -1
  226. package/dist/ui/input/CheckedElement.js +3 -3
  227. package/dist/ui/input/CheckedElement.js.map +1 -1
  228. package/dist/ui/input/Input.js +1 -1
  229. package/dist/ui/input/Input.js.map +1 -1
  230. package/dist/ui/list/{DividerElement.d.ts → UiDivider.element.d.ts} +6 -6
  231. package/dist/ui/list/UiDivider.element.d.ts.map +1 -0
  232. package/dist/ui/list/UiDivider.element.js +39 -0
  233. package/dist/ui/list/UiDivider.element.js.map +1 -0
  234. package/dist/ui/list/UiDivider.styles.d.ts +3 -0
  235. package/dist/ui/list/UiDivider.styles.d.ts.map +1 -0
  236. package/dist/ui/list/UiDivider.styles.js +49 -0
  237. package/dist/ui/list/UiDivider.styles.js.map +1 -0
  238. package/dist/ui/tabs/UiTabs.d.ts +13 -1
  239. package/dist/ui/tabs/UiTabs.d.ts.map +1 -1
  240. package/dist/ui/tabs/UiTabs.js +42 -13
  241. package/dist/ui/tabs/UiTabs.js.map +1 -1
  242. package/package.json +1 -1
  243. package/src/bindings/base/StoreBindings.ts +4 -4
  244. package/src/define/dialog/delete-cookie-action-dialog.ts +16 -0
  245. package/src/define/dialog/set-cookie-action-dialog.ts +16 -0
  246. package/src/define/http/http-assertions.ts +3 -3
  247. package/src/define/http/http-flows.ts +15 -0
  248. package/src/define/ui/ui-divider.ts +7 -2
  249. package/src/elements/ApiElement.ts +7 -0
  250. package/src/elements/amf/ApiAuthorizationEditor.element.ts +1 -1
  251. package/src/elements/amf/ApiOperationDocument.element.ts +2 -1
  252. package/src/elements/amf/ApiRequest.element.ts +1 -1
  253. package/src/elements/amf/ApiRequestEditor.element.ts +0 -4
  254. package/src/elements/authorization/ui/Authorization.ts +3 -5
  255. package/src/elements/dialog/DeleteCookieAction.element.ts +100 -0
  256. package/src/elements/dialog/DeleteCookieAction.styles.ts +14 -0
  257. package/src/elements/dialog/Rename.ts +8 -7
  258. package/src/elements/dialog/SetCookieAction.element.ts +183 -0
  259. package/src/elements/environment/EnvironmentEditor.styles.ts +5 -0
  260. package/src/elements/environment/EnvironmentEditor.ts +81 -22
  261. package/src/elements/environment/ServerEditor.ts +4 -8
  262. package/src/elements/environment/VariablesEditor.ts +3 -7
  263. package/src/elements/highlight/Prism.styles.ts +12 -5
  264. package/src/elements/http/BodyEditor.ts +10 -17
  265. package/src/elements/http/BodyMultipartEditor.ts +3 -20
  266. package/src/elements/http/BodyTextEditor.ts +0 -4
  267. package/src/elements/http/BodyUrlEncodedEditor.ts +5 -8
  268. package/src/elements/http/HeadersForm.ts +2 -9
  269. package/src/elements/http/HttpAssertions.element.ts +286 -0
  270. package/src/elements/http/HttpAssertions.styles.ts +7 -156
  271. package/src/elements/http/HttpFlows.common.ts +181 -0
  272. package/src/elements/http/HttpFlows.element.ts +722 -0
  273. package/src/elements/http/HttpFlows.styles.ts +29 -0
  274. package/src/elements/http/HttpFlowsUi.ts +1327 -0
  275. package/src/elements/http/RequestConfigElement.ts +10 -14
  276. package/src/elements/http/RequestEditor.ts +77 -35
  277. package/src/elements/http/UrlInput.ts +6 -6
  278. package/src/elements/http/UrlParamsForm.ts +2 -6
  279. package/src/elements/layout/SplitView.styles.ts +1 -0
  280. package/src/elements/navigation/AppNavigationItem.styles.ts +2 -0
  281. package/src/elements/project/HttpProjectRequest.ts +16 -5
  282. package/src/elements/project/ProjectRunner.ts +3 -7
  283. package/src/elements/schema-design/AssociationFormElement.ts +4 -8
  284. package/src/elements/schema-design/DataEntityEditorElement.ts +8 -8
  285. package/src/elements/schema-design/DataSchemaDocument.ts +5 -9
  286. package/src/elements/schema-design/EntityFormElement.ts +6 -10
  287. package/src/elements/schema-design/PropertyFormElement.ts +11 -15
  288. package/src/pages/ApplicationScreen.ts +1 -1
  289. package/src/pages/api-client/ApiClient.styles.ts +22 -3
  290. package/src/pages/api-client/Authenticate.screen.ts +19 -3
  291. package/src/pages/api-client/StoreConfig.screen.ts +4 -2
  292. package/src/pages/api-client/StoreConfig.styles.ts +5 -0
  293. package/src/pages/api-client/pages/Files.page.ts +2 -1
  294. package/src/pages/http-project/HttpProject.screen.ts +14 -26
  295. package/src/pages/http-project/types.ts +8 -6
  296. package/src/styles/m3/surface.module.ts +11 -27
  297. package/src/styles/m3/theme.css +36 -0
  298. package/src/styles/m3/tokens.css +11 -0
  299. package/src/ui/UiElement.ts +7 -0
  300. package/src/ui/button/SegmentedButton.styles.ts +3 -1
  301. package/src/ui/dialog/UiDialog.ts +3 -0
  302. package/src/ui/effects/ripple.ts +6 -1
  303. package/src/ui/icons/Icons.ts +3 -2
  304. package/src/ui/input/CheckedElement.ts +3 -3
  305. package/src/ui/input/Input.ts +1 -1
  306. package/src/ui/list/UiDivider.element.ts +41 -0
  307. package/src/ui/list/UiDivider.styles.ts +49 -0
  308. package/src/ui/tabs/UiTabs.ts +55 -13
  309. package/test/amf/authorization/OAuth2Method.test.ts +1 -1
  310. package/test/elements/http/HttpAssertions.test.ts +5 -6
  311. package/test/elements/http/HttpFlows.test.ts +485 -0
  312. package/dist/elements/http/HttpAssertions.d.ts +0 -114
  313. package/dist/elements/http/HttpAssertions.d.ts.map +0 -1
  314. package/dist/elements/http/HttpAssertions.js +0 -1146
  315. package/dist/elements/http/HttpAssertions.js.map +0 -1
  316. package/dist/elements/http/internals.d.ts +0 -150
  317. package/dist/elements/http/internals.d.ts.map +0 -1
  318. package/dist/elements/http/internals.js +0 -150
  319. package/dist/elements/http/internals.js.map +0 -1
  320. package/dist/ui/list/DividerElement.d.ts.map +0 -1
  321. package/dist/ui/list/DividerElement.js +0 -82
  322. package/dist/ui/list/DividerElement.js.map +0 -1
  323. package/src/elements/http/HttpAssertions.ts +0 -1187
  324. package/src/elements/http/internals.ts +0 -151
  325. package/src/http-client/docs/Files.md +0 -28
  326. package/src/ui/list/DividerElement.ts +0 -84
@@ -84,6 +84,9 @@ export default class UiDialog extends UiElement {
84
84
 
85
85
  /**
86
86
  * Opens the dialog as modal when toggling dialog's open state.
87
+ *
88
+ * Setting this value after the dialog was opened has no effect.
89
+ *
87
90
  * @attribute
88
91
  */
89
92
  @property({ type: Boolean }) modal = false;
@@ -152,6 +152,11 @@ export default class UiRipple extends LitElement {
152
152
  }
153
153
 
154
154
  protected startPressAnimation(positionEvent?: Event | null): void {
155
+ const { mdRoot } = this;
156
+ if (!mdRoot) {
157
+ return;
158
+ }
159
+
155
160
  this.determineRippleSize();
156
161
  const { startPoint, endPoint } =
157
162
  this.getTranslationCoordinates(positionEvent);
@@ -160,7 +165,7 @@ export default class UiRipple extends LitElement {
160
165
 
161
166
  const signal = this.pressAnimationSignal.start();
162
167
 
163
- const growAnimation = this.mdRoot.animate(
168
+ const growAnimation = mdRoot.animate(
164
169
  {
165
170
  top: [0, 0],
166
171
  left: [0, 0],
@@ -5,13 +5,13 @@ import { svg, SVGTemplateResult } from 'lit';
5
5
  * @param tpl Icon definition
6
6
  * @returns Complete SVG icon definition
7
7
  */
8
- export const iconWrapper = (tpl: SVGTemplateResult, width = 24, height = 24): SVGTemplateResult => svg`<svg viewBox="0 0 ${width} ${height}" preserveAspectRatio="xMidYMid meet" focusable="false" style="pointer-events: none; display: block; width: 100%; height: 100%;">${tpl}</svg>`;
8
+ export const iconWrapper = (tpl: SVGTemplateResult, width = 24, height = 24, top = 0, left = 0): SVGTemplateResult => svg`<svg viewBox="${top} ${left} ${width} ${height}" preserveAspectRatio="xMidYMid meet" focusable="false" style="pointer-events: none; display: block; width: 100%; height: 100%;">${tpl}</svg>`;
9
9
 
10
10
  export type IconType =
11
11
  'add' | 'api' | 'apps' | 'arrowBack' | 'arrowDropDown' | 'cancel' | 'cancelFilled' | 'check' | 'checkBox' | 'checkBoxBlank' | 'checkIndeterminate' | 'chevronLeft' | 'chevronRight' | 'close' | 'cloud' | 'cloudFilled' | 'collectionsBookmark' | 'deleteFile' | 'deleteOutline' | 'edit' | 'environment' | 'expandMore' |
12
12
  'fileDownload' | 'folder' | 'folderFilled' | 'folderShared' | 'help' | 'history' | 'info' | 'key' | 'menu' | 'leaderBoard' |
13
13
  'moreVert' | 'openInNew' | 'personAdd' | 'playArrow' | 'project' | 'remove' | 'rename' | 'request' | 'restoreFromTrash' | 'save' |
14
- 'schema' | 'schemaEntity' | 'schemaModel' | 'schemaNamespace' | 'search' | 'send' | 'settings' | 'space' | 'taskAlt' | 'timeline' | 'viewGrid' | 'viewList' | 'visibility' | 'visibilityOff' | 'warning';
14
+ 'schema' | 'schemaEntity' | 'schemaModel' | 'schemaNamespace' | 'search' | 'send' | 'settings' | 'space' | 'taskAlt' | 'timeline' | 'tune' | 'viewGrid' | 'viewList' | 'visibility' | 'visibilityOff' | 'warning';
15
15
 
16
16
  export const add = iconWrapper(svg`<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>`);
17
17
  export const api = iconWrapper(svg`<path d="M0,0H24V24H0Z" style="fill:none"/><path d="M22.45,15.1a4.87,4.87,0,0,0-3.74-4.73,5.29,5.29,0,0,0,.05-.56A4.88,4.88,0,0,0,9.3,8.12,2.85,2.85,0,0,0,5,10.54,4.86,4.86,0,0,0,6.48,20H17.87v0A4.87,4.87,0,0,0,22.45,15.1Z"/>`);
@@ -65,6 +65,7 @@ export const settings = iconWrapper(svg`<path d="M0 0h24v24H0V0z" fill="none"/><
65
65
  export const space = iconWrapper(svg`<path d="M62.14,110.18a11.26,11.26,0,1,1-11.27,11.26,11.29,11.29,0,0,1,11.27-11.26m0-11.27a22.53,22.53,0,1,0,22.52,22.53A22.6,22.6,0,0,0,62.14,98.91Zm33.78-45A11.26,11.26,0,1,1,84.66,65.13,11.3,11.3,0,0,1,95.92,53.87m0-11.26a22.52,22.52,0,1,0,22.52,22.52A22.58,22.58,0,0,0,95.92,42.61Zm33.78,67.57a11.26,11.26,0,1,1-11.26,11.26,11.28,11.28,0,0,1,11.26-11.26m0-11.27a22.53,22.53,0,1,0,22.53,22.53A22.6,22.6,0,0,0,129.7,98.91Z"/><rect width="192" height="192" style="fill:none"/>`, 192, 192);
66
66
  export const taskAlt = iconWrapper(svg`<rect fill="none" height="24" width="24"/><path d="M22,5.18L10.59,16.6l-4.24-4.24l1.41-1.41l2.83,2.83l10-10L22,5.18z M19.79,10.22C19.92,10.79,20,11.39,20,12 c0,4.42-3.58,8-8,8s-8-3.58-8-8c0-4.42,3.58-8,8-8c1.58,0,3.04,0.46,4.28,1.25l1.44-1.44C16.1,2.67,14.13,2,12,2C6.48,2,2,6.48,2,12 c0,5.52,4.48,10,10,10s10-4.48,10-10c0-1.19-0.22-2.33-0.6-3.39L19.79,10.22z"/>`);
67
67
  export const timeline = iconWrapper(svg`<path d="M3 18Q2.175 18 1.588 17.413Q1 16.825 1 16Q1 15.175 1.588 14.587Q2.175 14 3 14Q3.15 14 3.263 14Q3.375 14 3.5 14.05L8.05 9.5Q8 9.375 8 9.262Q8 9.15 8 9Q8 8.175 8.588 7.587Q9.175 7 10 7Q10.825 7 11.413 7.587Q12 8.175 12 9Q12 9.05 11.95 9.5L14.5 12.05Q14.625 12 14.738 12Q14.85 12 15 12Q15.15 12 15.262 12Q15.375 12 15.5 12.05L19.05 8.5Q19 8.375 19 8.262Q19 8.15 19 8Q19 7.175 19.587 6.588Q20.175 6 21 6Q21.825 6 22.413 6.588Q23 7.175 23 8Q23 8.825 22.413 9.412Q21.825 10 21 10Q20.85 10 20.738 10Q20.625 10 20.5 9.95L16.95 13.5Q17 13.625 17 13.738Q17 13.85 17 14Q17 14.825 16.413 15.412Q15.825 16 15 16Q14.175 16 13.588 15.412Q13 14.825 13 14Q13 13.85 13 13.738Q13 13.625 13.05 13.5L10.5 10.95Q10.375 11 10.262 11Q10.15 11 10 11Q9.95 11 9.5 10.95L4.95 15.5Q5 15.625 5 15.738Q5 15.85 5 16Q5 16.825 4.412 17.413Q3.825 18 3 18Z"/>`);
68
+ export const tune = iconWrapper(svg`<path d="M440 936V696h80v80h320v80H520v80h-80Zm-320-80v-80h240v80H120Zm160-160v-80H120v-80h160v-80h80v240h-80Zm160-80v-80h400v80H440Zm160-160V216h80v80h160v80H680v80h-80Zm-480-80v-80h400v80H120Z"/>`, 960, 960, 0, 96);
68
69
  export const viewGrid = iconWrapper(svg`<rect fill="none" height="24" width="24"/><path d="M3,5v14h18V5H3z M7,7v2H5V7H7z M5,13v-2h2v2H5z M5,15h2v2H5V15z M19,17H9v-2h10V17z M19,13H9v-2h10V13z M19,9H9V7h10V9z"/>`);
69
70
  export const viewList = iconWrapper(svg`<g><rect fill="none" height="24" width="24"/></g><path d="M3,3v8h8V3H3z M9,9H5V5h4V9z M3,13v8h8v-8H3z M9,19H5v-4h4V19z M13,3v8h8V3H13z M19,9h-4V5h4V9z M13,13v8h8v-8H13z M19,19h-4v-4h4V19z"/>`);
70
71
  export const visibility = iconWrapper(svg`<path d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"></path>`);
@@ -255,10 +255,10 @@ export default class CheckedElement extends UiElement {
255
255
  }
256
256
  }
257
257
 
258
- protected _notifyChange(): void {
258
+ override notifyChange(): void {
259
259
  // The <input type="checkbox"/> dispatches both events.
260
260
  this.dispatchEvent(new Event('input'));
261
- this.dispatchEvent(new Event('change'));
261
+ super.notifyChange();
262
262
  }
263
263
 
264
264
  protected _invalidHandler(): void {
@@ -280,7 +280,7 @@ export default class CheckedElement extends UiElement {
280
280
  }
281
281
 
282
282
  protected _postCheckedChange(): void {
283
- this._notifyChange();
283
+ this.notifyChange();
284
284
  this.#_internals.checkValidity();
285
285
  }
286
286
 
@@ -968,7 +968,7 @@ export default abstract class Input extends UiElement {
968
968
  return html``;
969
969
  }
970
970
  return html`
971
- <span class="label" id="${this.labelId}">${this.renderLabelText()}</span>
971
+ <span class="label" id="${this.labelId}" title="label">${label}</span>
972
972
  `;
973
973
  }
974
974
 
@@ -0,0 +1,41 @@
1
+ import { html, LitElement, TemplateResult } from "lit";
2
+ import { property } from "lit/decorators.js";
3
+
4
+ export enum DividerType {
5
+ 'full' = 'full',
6
+ 'inset' = 'inset',
7
+ 'middle' = 'middle',
8
+ }
9
+
10
+ /**
11
+ * A divider element.
12
+ */
13
+ export default class UiDivider extends LitElement {
14
+ /**
15
+ * The predefined type of the divider.
16
+ * @attribute
17
+ */
18
+ @property({ type: String, reflect: true }) type: DividerType;
19
+
20
+ /**
21
+ * Whether to render the divider as a vertical separation.
22
+ * @attribute
23
+ */
24
+ @property({ type: Boolean, reflect: true }) vertical = false;
25
+
26
+ constructor() {
27
+ super();
28
+ this.type = DividerType.full;
29
+ }
30
+
31
+ override connectedCallback(): void {
32
+ super.connectedCallback();
33
+ if (!this.hasAttribute('role')) {
34
+ this.setAttribute('role', 'presentation');
35
+ }
36
+ }
37
+
38
+ protected override render(): TemplateResult {
39
+ return html`<div class="container"></div>`;
40
+ }
41
+ }
@@ -0,0 +1,49 @@
1
+ import { css } from "lit";
2
+
3
+ export default css`
4
+ :host {
5
+ display: block;
6
+ margin-top: 8px;
7
+ margin-bottom: 8px;
8
+
9
+ --ui-divider-padding: 16px;
10
+ --ui-divider-vertical-separation: 8px;
11
+ }
12
+
13
+ .container {
14
+ height: 1px;
15
+ width: 100%;
16
+ box-sizing: border-box;
17
+ }
18
+
19
+ .container::before {
20
+ content: '';
21
+ height: inherit;
22
+ background-color: var(--md-sys-color-outline-variant);
23
+ display: block;
24
+ }
25
+
26
+ :host([type="inset"]) .container {
27
+ padding-left: var(--ui-divider-padding);
28
+ }
29
+
30
+ :host([type="middle"]) .container {
31
+ padding-left: var(--ui-divider-padding);
32
+ padding-right: var(--ui-divider-padding);
33
+ }
34
+
35
+ :host([vertical]) {
36
+ margin: 0;
37
+ height: auto;
38
+ }
39
+
40
+ :host([vertical]) .container {
41
+ width: 1px;
42
+ height: 100%;
43
+ margin: 0 var(--ui-divider-vertical-separation);
44
+ }
45
+
46
+ :host([vertical][type="middle"]) .container {
47
+ padding: var(--ui-divider-padding) 0 var(--ui-divider-padding) 0;
48
+ }
49
+ `;
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable import/no-cycle */
2
2
  /* eslint-disable no-param-reassign */
3
- import { html, LitElement, nothing, TemplateResult } from "lit";
3
+ import { html, LitElement, nothing, PropertyValues, TemplateResult } from "lit";
4
4
  import { property, query, queryAssignedElements, state } from "lit/decorators.js";
5
5
  import { ClassInfo, classMap } from "lit/directives/class-map.js";
6
6
  import { StyleInfo, styleMap } from "lit/directives/style-map.js";
@@ -38,6 +38,8 @@ export default class UiTabs extends LitElement {
38
38
 
39
39
  activeItem: UiTab | null = null;
40
40
 
41
+ previousItem: UiTab | null = null;
42
+
41
43
  @queryAssignedElements({ flatten: true }) protected assignedElements!: HTMLElement[] | null;
42
44
 
43
45
  @query('.pointer') protected pointer!: HTMLElement;
@@ -80,18 +82,46 @@ export default class UiTabs extends LitElement {
80
82
 
81
83
  @state() protected indicated = false;
82
84
 
83
- // constructor() {
84
- // super();
85
+ protected observer: IntersectionObserver;
86
+
87
+ /**
88
+ * This is set by the intersection observer. Once the tabs are in the view it turns to `true`.
89
+ * This we can properly visualize selection.
90
+ */
91
+ @state() isVisible?: boolean;
92
+
93
+ constructor() {
94
+ super();
85
95
 
86
- // // this.addEventListener('keydown', this.handleKeydown.bind(this));
87
- // // this.addEventListener('click', this.handleClick.bind(this));
88
- // }
96
+ this.observer = new IntersectionObserver(this.intersectionCallback.bind(this), {
97
+ threshold: 1.0,
98
+ rootMargin: '0px',
99
+ });
100
+ }
101
+
102
+ protected override willUpdate(cp: PropertyValues<this>): void {
103
+ if (cp.has('isVisible')) {
104
+ this.handleVisibility();
105
+ }
106
+ super.willUpdate(cp);
107
+ }
89
108
 
90
109
  override connectedCallback(): void {
91
110
  super.connectedCallback();
92
111
  if (!this.hasAttribute('role')) {
93
112
  this.setAttribute('role', 'tablist');
94
113
  }
114
+ this.observer.observe(this);
115
+ }
116
+
117
+ override disconnectedCallback(): void {
118
+ super.disconnectedCallback();
119
+ this.observer.unobserve(this);
120
+ }
121
+
122
+ protected intersectionCallback(entries: IntersectionObserverEntry[]): void {
123
+ const [entry] = entries;
124
+ this.isVisible = entry.isIntersecting;
95
125
  }
96
126
 
97
127
  protected async updateItems(): Promise<void> {
@@ -143,6 +173,7 @@ export default class UiTabs extends LitElement {
143
173
  tab.highlight();
144
174
  return;
145
175
  }
176
+ this.previousItem = activeItem;
146
177
  if (activeItem) {
147
178
  this.deselectItem(activeItem);
148
179
  }
@@ -172,16 +203,13 @@ export default class UiTabs extends LitElement {
172
203
  }
173
204
 
174
205
  protected selectItem(tab: UiTab, focus = false): void {
175
- if (this.activeItem === tab) {
176
- return;
177
- }
206
+ this.activeItem = tab;
178
207
  if (this.hasAttribute('tabindex')) {
179
208
  this.removeAttribute('tabindex');
180
209
  }
181
210
  tab.setAttribute('aria-selected', 'true');
182
211
  tab.setAttribute('tabindex', '0');
183
212
  tab.selected = true;
184
- this.activeItem = tab;
185
213
  tab.priority = this.priority;
186
214
  tab.scrollIntoView({ inline: 'nearest', behavior: 'auto', block: 'nearest' });
187
215
  if (focus) {
@@ -196,8 +224,19 @@ export default class UiTabs extends LitElement {
196
224
  tab.indicated = false;
197
225
  }
198
226
 
227
+ protected handleVisibility(): void {
228
+ const { previousItem, activeItem } = this;
229
+ if (!activeItem) {
230
+ return;
231
+ }
232
+ this.positionPointer(activeItem, previousItem);
233
+ }
234
+
199
235
  protected async positionPointer(tab: UiTab, old?: UiTab | null): Promise<void> {
200
- const { items, pointer } = this;
236
+ const { items, pointer, isVisible } = this;
237
+ if (!isVisible) {
238
+ return;
239
+ }
201
240
  const index = items.indexOf(tab);
202
241
  if (index < 0 || !pointer) {
203
242
  this.pointerStyles = undefined;
@@ -209,15 +248,18 @@ export default class UiTabs extends LitElement {
209
248
  tab.indicated = true;
210
249
  return;
211
250
  }
251
+ const isPrimary = this.priority === 'primary';
252
+ const final = isPrimary ? this.getPrimaryLeft(tab) : this.getSecondaryLeft(tab);
253
+ if (this.pointerStyles && this.pointerStyles.left === `${final}px`) {
254
+ return;
255
+ }
212
256
 
213
257
  // first position this indicator in the place of the old one.
214
258
  // update the view and then run the animation.
215
259
  this.indicated = true;
216
- const isPrimary = this.priority === 'primary';
217
260
  const left = isPrimary ? this.getPrimaryLeft(old) : this.getSecondaryLeft(old);
218
261
  this.pointerStyles = { left };
219
262
  await this.updateComplete;
220
- const final = isPrimary ? this.getPrimaryLeft(tab) : this.getSecondaryLeft(tab);
221
263
  const frames = isPrimary ? this.getPrimaryKeyframes(left, final) : this.getSecondaryKeyframes(left, final);
222
264
 
223
265
  if (this.moveAnimation) {
@@ -210,7 +210,7 @@ describe.skip('OAuth 2', () => {
210
210
  it('updates query parameter on token request', async () => {
211
211
  const input = (element.shadowRoot!.querySelector('.form-input[name="queryTokenResource"]')) as Input;
212
212
  input.value = 'test';
213
- input.dispatchEvent(new Event('change'));
213
+ input.notifyChange();
214
214
  const info = element.serialize() as IOAuth2Authorization;
215
215
  const cd = info.customData as IOAuth2CustomData;
216
216
  const token = cd.token as IOAuth2TokenRequestCustomData;
@@ -1,16 +1,15 @@
1
1
  import {
2
2
  DataSteps, FlowResponseDataEnum, FlowSourceEnum, TransformationSteps,
3
- HttpAssertions as CoreAssertions,
3
+ HttpAssertions as CoreAssertions, IHttpStep,
4
4
  } from '@api-client/core/build/browser.js';
5
- import { IHttpStep } from '@api-client/core/build/src/models/http-actions/HttpStep.js';
6
5
  import { assert, fixture, html } from '@open-wc/testing';
7
6
  import { resetMouse, setViewport } from '@web/test-runner-commands';
8
7
  import sinon from 'sinon';
9
- import '../../../src/define/http/http-assertions.js';
10
- import HttpAssertionsElement from '../../../src/elements/http/HttpAssertions.js';
11
- import UiChip from '../../../src/ui/chip/UiChip.js';
12
- import Input from '../../../src/ui/input/Input.js';
8
+ import type HttpAssertionsElement from '../../../src/elements/http/HttpAssertions.element.js';
9
+ import type UiChip from '../../../src/ui/chip/UiChip.js';
10
+ import type Input from '../../../src/ui/input/Input.js';
13
11
  import { UiMock } from '../../helpers/UiMock.js';
12
+ import '../../../src/define/http/http-assertions.js';
14
13
 
15
14
  describe('element', () => {
16
15
  describe('http', () => {