@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":"UiDialog.d.ts","sourceRoot":"","sources":["../../../src/ui/dialog/UiDialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAGpE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,8BAA8B,CAAA;AAErC,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,SAAS;IAC7C,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;OAGG;IACH,IACI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAI1B;IAED;;;OAGG;IAC0B,KAAK,UAAS;IAE3C;;;;OAIG;IAC0B,IAAI,UAAS;IAE1C;;;;OAIG;IACyB,YAAY,CAAC,EAAE,MAAM,CAAC;IAElD;;;;OAIG;IACyB,YAAY,CAAC,EAAE,MAAM,CAAC;IAElD;;OAEG;IACc,QAAQ,CAAC,MAAM,EAAG,iBAAiB,CAAC;IAE5C,SAAS,CAAC,OAAO,UAAS;IAE1B,SAAS,CAAC,QAAQ,UAAS;IAE3B,SAAS,CAAC,SAAS,UAAS;IAEmB,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAG,WAAW,EAAE,CAAC;IAE3C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAG,WAAW,EAAE,CAAC;IAEtC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAG,WAAW,EAAE,CAAC;IAErG;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;;IASb,WAAW,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAYhC,aAAa,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;cAO3B,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAOzE,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAgBnC,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAOlC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI;IAiB/D,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAQnC,SAAS,CAAC,aAAa,IAAI,IAAI;IAI/B,SAAS,CAAC,aAAa,IAAI,IAAI;IAItB,MAAM,IAAI,cAAc;IAWjC,SAAS,CAAC,UAAU,IAAI,cAAc;IAUtC,SAAS,CAAC,WAAW,IAAI,cAAc;IAUvC,SAAS,CAAC,UAAU,IAAI,cAAc;IAMtC,SAAS,CAAC,aAAa,IAAI,cAAc;IAczC,SAAS,CAAC,mBAAmB,IAAI,cAAc,GAAG,OAAO,OAAO;IAUhE,SAAS,CAAC,mBAAmB,IAAI,cAAc,GAAG,OAAO,OAAO;CASjE"}
1
+ {"version":3,"file":"UiDialog.d.ts","sourceRoot":"","sources":["../../../src/ui/dialog/UiDialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAGpE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,8BAA8B,CAAA;AAErC,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,SAAS;IAC7C,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;OAGG;IACH,IACI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAI1B;IAED;;;;;;OAMG;IAC0B,KAAK,UAAS;IAE3C;;;;OAIG;IAC0B,IAAI,UAAS;IAE1C;;;;OAIG;IACyB,YAAY,CAAC,EAAE,MAAM,CAAC;IAElD;;;;OAIG;IACyB,YAAY,CAAC,EAAE,MAAM,CAAC;IAElD;;OAEG;IACc,QAAQ,CAAC,MAAM,EAAG,iBAAiB,CAAC;IAE5C,SAAS,CAAC,OAAO,UAAS;IAE1B,SAAS,CAAC,QAAQ,UAAS;IAE3B,SAAS,CAAC,SAAS,UAAS;IAEmB,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAG,WAAW,EAAE,CAAC;IAE3C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAG,WAAW,EAAE,CAAC;IAEtC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAG,WAAW,EAAE,CAAC;IAErG;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;;IASb,WAAW,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAYhC,aAAa,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;cAO3B,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAOzE,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAgBnC,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAOlC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI;IAiB/D,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAQnC,SAAS,CAAC,aAAa,IAAI,IAAI;IAI/B,SAAS,CAAC,aAAa,IAAI,IAAI;IAItB,MAAM,IAAI,cAAc;IAWjC,SAAS,CAAC,UAAU,IAAI,cAAc;IAUtC,SAAS,CAAC,WAAW,IAAI,cAAc;IAUvC,SAAS,CAAC,UAAU,IAAI,cAAc;IAMtC,SAAS,CAAC,aAAa,IAAI,cAAc;IAczC,SAAS,CAAC,mBAAmB,IAAI,cAAc,GAAG,OAAO,OAAO;IAUhE,SAAS,CAAC,mBAAmB,IAAI,cAAc,GAAG,OAAO,OAAO;CASjE"}
@@ -65,46 +65,25 @@ export default class UiDialog extends UiElement {
65
65
  setDisabled(this, value);
66
66
  this.requestUpdate('disabled', old);
67
67
  }
68
- /**
69
- * Opens the dialog as modal when toggling dialog's open state.
70
- * @attribute
71
- */
72
- modal = false;
73
- /**
74
- * Toggles visibility of the dialog.
75
- * Note, the dialog is opened asynchronously after the update is performed.
76
- * @attribute
77
- */
78
- open = false;
79
- /**
80
- * Imperative access to create a dismiss button.
81
- * When set this will render a dismiss button at the end of the buttons line, before the `confirmLabel` button.
82
- * @attribute
83
- */
84
- dismissLabel;
85
- /**
86
- * Imperative access to create a confirm button.
87
- * When set this will render a confirm button at the end of the buttons line, after the `dismissLabel` button.
88
- * @attribute
89
- */
90
- confirmLabel;
91
- /**
92
- * A reference to the underlying dialog element.
93
- */
94
- dialog;
95
- hasIcon = false;
96
- hasTitle = false;
97
- hasButton = false;
98
- icons;
99
- titles;
100
- buttons;
101
- /**
102
- * To be set by a child class when closing the dialog.
103
- * This is passed to the close event.
104
- */
105
- dialogValue;
106
68
  constructor() {
107
69
  super();
70
+ /**
71
+ * Opens the dialog as modal when toggling dialog's open state.
72
+ *
73
+ * Setting this value after the dialog was opened has no effect.
74
+ *
75
+ * @attribute
76
+ */
77
+ this.modal = false;
78
+ /**
79
+ * Toggles visibility of the dialog.
80
+ * Note, the dialog is opened asynchronously after the update is performed.
81
+ * @attribute
82
+ */
83
+ this.open = false;
84
+ this.hasIcon = false;
85
+ this.hasTitle = false;
86
+ this.hasButton = false;
108
87
  this.addEventListener('click', this.handleClick);
109
88
  this.addEventListener('keydown', this.handleKeyDown);
110
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UiDialog.js","sourceRoot":"","sources":["../../../src/ui/dialog/UiDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, nothing, PropertyValues, TemplateResult } from \"lit\";\nimport { property, query, queryAssignedElements, queryAssignedNodes, state } from \"lit/decorators.js\";\nimport { ClassInfo, classMap } from \"lit/directives/class-map.js\";\nimport { UiElement } from \"../UiElement.js\";\nimport { isDisabled, setDisabled } from \"../lib/disabled.js\";\nimport UiButton from \"../button/UiButton.js\";\nimport '../../define/ui/ui-button.js'\n\nexport interface UiDialogClosingReason {\n /**\n * Whether the dialog was cancelled by either activating the `dismiss` button\n * or by pressing escape.\n */\n cancelled: boolean;\n /**\n * This is used in cases when the dialog has more complex purpose.\n * This is the value expected from the dialog.\n */\n value?: unknown;\n}\n\n/**\n * Styled dialog using a native `<dialog>` element under the hood.\n * Note, since native dialog renders in the top layer it is not necessary \n * to place the dialog in the `<body>`.\n * \n * ## Using buttons\n * \n * The dialog automatically recognizes buttons with values `confirm` and `dismiss` \n * to close the dialog and dispatch the `close` event. The event has additional \n * closing reason detail.\n * \n * ```javascript\n * <ui-button value=\"dismiss\">Cancel</ui-button> \n * <ui-button value=\"confirm\">Take action</ui-button> \n * ```\n * \n * ```javascript\n * <button value=\"dismiss\">Cancel</button> \n * <button value=\"confirm\">Take action</button> \n * ```\n * \n * The detail object of the `close` event has the following properties:\n * - cancelled - Whether the dialog was cancelled by either activating the `dismiss` button or by pressing escape.\n * \n * The `close` event is only dispatched when the user interact with the dialog. Imperative control of the \n * dialog won't trigger the close button. \n * \n * ## Full example\n * \n * ```javascript\n * <ui-dialog modal>\n * <ui-icon slot=\"icon\" icon=\"delete\"></ui-icon>\n * \n * <span slot=\"title\">Delete photos?</span>\n * <p>This action will permanently remove the selected pictures from your account.</p>\n * \n * <ui-button slot=\"button\" value=\"dismiss\" type=\"text\">Cancel</ui-button>\n * <ui-button slot=\"button\" value=\"confirm\" type=\"text\">Confirm</ui-button>\n * </ui-dialog>\n * ```\n * \n * @slot - The slot for the content of the dialog.\n * @slot icon - The slot to place the dialog icon\n * @slot title - The slot to place the dialog title. Do not put elements here, just the text.\n * @slot button - The slot to place the dialog buttons. Use the `confirm` or `dismiss` buttons to automatically close the dialog.\n * @fires close - A non-bubbling, non-cancellable event with the `UiDialogClosingReason` as the detail.\n */\nexport default class UiDialog extends UiElement {\n get disabled(): boolean {\n return isDisabled(this);\n }\n\n /**\n * When set, the button is a disabled state.\n * @attribute\n */\n @property({ reflect: true, type: Boolean })\n set disabled(value: boolean) {\n const old = isDisabled(this);\n setDisabled(this, value);\n this.requestUpdate('disabled', old);\n }\n\n /**\n * Opens the dialog as modal when toggling dialog's open state.\n * @attribute\n */\n @property({ type: Boolean }) modal = false;\n\n /**\n * Toggles visibility of the dialog.\n * Note, the dialog is opened asynchronously after the update is performed.\n * @attribute\n */\n @property({ type: Boolean }) open = false;\n\n /**\n * Imperative access to create a dismiss button.\n * When set this will render a dismiss button at the end of the buttons line, before the `confirmLabel` button.\n * @attribute\n */\n @property({ type: String }) dismissLabel?: string;\n\n /**\n * Imperative access to create a confirm button.\n * When set this will render a confirm button at the end of the buttons line, after the `dismissLabel` button.\n * @attribute\n */\n @property({ type: String }) confirmLabel?: string;\n\n /**\n * A reference to the underlying dialog element.\n */\n @query('dialog') readonly dialog!: HTMLDialogElement;\n\n @state() protected hasIcon = false;\n\n @state() protected hasTitle = false;\n\n @state() protected hasButton = false;\n\n @queryAssignedElements({ flatten: true, slot: 'icon' }) protected readonly icons!: HTMLElement[];\n\n @queryAssignedNodes({ flatten: true, slot: 'title' }) protected readonly titles!: HTMLElement[];\n\n @queryAssignedElements({ flatten: true, slot: 'button' }) protected readonly buttons!: HTMLElement[];\n\n /**\n * To be set by a child class when closing the dialog.\n * This is passed to the close event.\n */\n dialogValue?: unknown;\n\n constructor() {\n super();\n\n this.addEventListener('click', this.handleClick);\n this.addEventListener('keydown', this.handleKeyDown);\n }\n\n override handleClick(e: MouseEvent): void {\n super.handleClick(e);\n const path = e.composedPath();\n const { buttons } = this;\n const button = path.find(i => buttons.includes(i as HTMLElement)) as HTMLButtonElement | UiButton | undefined;\n if (!button) {\n return;\n }\n const { value ='' } = button;\n this.handleInteraction(value as 'dismiss' | 'confirm');\n }\n\n override handleKeyDown(e: KeyboardEvent): void {\n super.handleKeyDown(e);\n if (e.key === 'Escape') {\n this.handleInteraction('dismiss');\n }\n }\n\n protected override updated(changedProperties: PropertyValues<this>): void {\n if (changedProperties.has('open')) {\n this.controlVisibility();\n }\n super.updated(changedProperties);\n }\n\n protected controlVisibility(): void {\n const { dialog, modal, open } = this;\n if (!dialog) {\n return;\n }\n if (open) {\n if (modal) {\n dialog.showModal();\n } else {\n dialog.show();\n }\n } else {\n dialog.close();\n }\n }\n\n protected handleSlotChange(): void {\n const { icons, titles, buttons } = this;\n this.hasIcon = !!icons && !!icons.length;\n this.hasTitle = !!titles && !!titles.length;\n this.hasButton = !!buttons && !!buttons.length;\n }\n\n protected handleInteraction(value: 'dismiss' | 'confirm'): void {\n if (!['dismiss', 'confirm'].includes(value)) {\n return;\n }\n this.open = false;\n const detail: UiDialogClosingReason = {\n cancelled: value === 'dismiss',\n }\n if (this.dialogValue !== undefined) {\n detail.value = this.dialogValue;\n }\n this.dispatchEvent(new CustomEvent<UiDialogClosingReason>('close', {\n composed: true,\n detail,\n }));\n }\n\n protected handleDialogClose(): void {\n if (!this.open) {\n return;\n }\n this.open = false;\n this.handleInteraction('dismiss');\n }\n\n protected handleDismiss(): void {\n this.handleInteraction('dismiss');\n }\n\n protected handleConfirm(): void {\n this.handleInteraction('confirm');\n }\n\n override render(): TemplateResult {\n return html`\n <dialog @close=\"${this.handleDialogClose}\">\n ${this.renderIcon()}\n ${this.renderTitle()}\n ${this.renderBody()}\n ${this.renderButtons()}\n </dialog>\n `;\n }\n\n protected renderIcon(): TemplateResult {\n const classes: ClassInfo = {\n icon: true,\n 'with-icon': this.hasIcon,\n };\n return html`\n <div class=\"${classMap(classes)}\" part=\"icon\"><slot name=\"icon\" @slotchange=\"${this.handleSlotChange}\"></slot></div>\n `;\n }\n\n protected renderTitle(): TemplateResult {\n const classes: ClassInfo = {\n title: true,\n 'with-title': this.hasTitle,\n };\n return html`\n <div class=\"${classMap(classes)}\" part=\"title\"><slot name=\"title\" @slotchange=\"${this.handleSlotChange}\"></slot></div>\n `;\n }\n\n protected renderBody(): TemplateResult {\n return html`\n <div class=\"content\"><slot></slot></div>\n `;\n }\n\n protected renderButtons(): TemplateResult {\n const classes: ClassInfo = {\n buttons: true,\n 'with-buttons': this.hasButton || !!this.confirmLabel || !!this.dismissLabel,\n };\n return html`\n <div class=\"${classMap(classes)}\" part=\"button\">\n <slot name=\"button\" @slotchange=\"${this.handleSlotChange}\"></slot>\n ${this.renderDismissButton()}\n ${this.renderConfirmButton()}\n </div>\n `;\n }\n\n protected renderDismissButton(): TemplateResult | typeof nothing {\n const { dismissLabel } = this;\n if (!dismissLabel) {\n return nothing;\n }\n return html`\n <ui-button value=\"dismiss\" type=\"text\" class=\"internal-button\" @click=\"${this.handleDismiss}\">${dismissLabel}</ui-button>\n `;\n }\n\n protected renderConfirmButton(): TemplateResult | typeof nothing {\n const { confirmLabel } = this;\n if (!confirmLabel) {\n return nothing;\n }\n return html`\n <ui-button value=\"confirm\" type=\"text\" class=\"internal-button\" @click=\"${this.handleConfirm}\">${confirmLabel}</ui-button>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"UiDialog.js","sourceRoot":"","sources":["../../../src/ui/dialog/UiDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, nothing, PropertyValues, TemplateResult } from \"lit\";\nimport { property, query, queryAssignedElements, queryAssignedNodes, state } from \"lit/decorators.js\";\nimport { ClassInfo, classMap } from \"lit/directives/class-map.js\";\nimport { UiElement } from \"../UiElement.js\";\nimport { isDisabled, setDisabled } from \"../lib/disabled.js\";\nimport UiButton from \"../button/UiButton.js\";\nimport '../../define/ui/ui-button.js'\n\nexport interface UiDialogClosingReason {\n /**\n * Whether the dialog was cancelled by either activating the `dismiss` button\n * or by pressing escape.\n */\n cancelled: boolean;\n /**\n * This is used in cases when the dialog has more complex purpose.\n * This is the value expected from the dialog.\n */\n value?: unknown;\n}\n\n/**\n * Styled dialog using a native `<dialog>` element under the hood.\n * Note, since native dialog renders in the top layer it is not necessary \n * to place the dialog in the `<body>`.\n * \n * ## Using buttons\n * \n * The dialog automatically recognizes buttons with values `confirm` and `dismiss` \n * to close the dialog and dispatch the `close` event. The event has additional \n * closing reason detail.\n * \n * ```javascript\n * <ui-button value=\"dismiss\">Cancel</ui-button> \n * <ui-button value=\"confirm\">Take action</ui-button> \n * ```\n * \n * ```javascript\n * <button value=\"dismiss\">Cancel</button> \n * <button value=\"confirm\">Take action</button> \n * ```\n * \n * The detail object of the `close` event has the following properties:\n * - cancelled - Whether the dialog was cancelled by either activating the `dismiss` button or by pressing escape.\n * \n * The `close` event is only dispatched when the user interact with the dialog. Imperative control of the \n * dialog won't trigger the close button. \n * \n * ## Full example\n * \n * ```javascript\n * <ui-dialog modal>\n * <ui-icon slot=\"icon\" icon=\"delete\"></ui-icon>\n * \n * <span slot=\"title\">Delete photos?</span>\n * <p>This action will permanently remove the selected pictures from your account.</p>\n * \n * <ui-button slot=\"button\" value=\"dismiss\" type=\"text\">Cancel</ui-button>\n * <ui-button slot=\"button\" value=\"confirm\" type=\"text\">Confirm</ui-button>\n * </ui-dialog>\n * ```\n * \n * @slot - The slot for the content of the dialog.\n * @slot icon - The slot to place the dialog icon\n * @slot title - The slot to place the dialog title. Do not put elements here, just the text.\n * @slot button - The slot to place the dialog buttons. Use the `confirm` or `dismiss` buttons to automatically close the dialog.\n * @fires close - A non-bubbling, non-cancellable event with the `UiDialogClosingReason` as the detail.\n */\nexport default class UiDialog extends UiElement {\n get disabled(): boolean {\n return isDisabled(this);\n }\n\n /**\n * When set, the button is a disabled state.\n * @attribute\n */\n @property({ reflect: true, type: Boolean })\n set disabled(value: boolean) {\n const old = isDisabled(this);\n setDisabled(this, value);\n this.requestUpdate('disabled', old);\n }\n\n /**\n * Opens the dialog as modal when toggling dialog's open state.\n * \n * Setting this value after the dialog was opened has no effect.\n * \n * @attribute\n */\n @property({ type: Boolean }) modal = false;\n\n /**\n * Toggles visibility of the dialog.\n * Note, the dialog is opened asynchronously after the update is performed.\n * @attribute\n */\n @property({ type: Boolean }) open = false;\n\n /**\n * Imperative access to create a dismiss button.\n * When set this will render a dismiss button at the end of the buttons line, before the `confirmLabel` button.\n * @attribute\n */\n @property({ type: String }) dismissLabel?: string;\n\n /**\n * Imperative access to create a confirm button.\n * When set this will render a confirm button at the end of the buttons line, after the `dismissLabel` button.\n * @attribute\n */\n @property({ type: String }) confirmLabel?: string;\n\n /**\n * A reference to the underlying dialog element.\n */\n @query('dialog') readonly dialog!: HTMLDialogElement;\n\n @state() protected hasIcon = false;\n\n @state() protected hasTitle = false;\n\n @state() protected hasButton = false;\n\n @queryAssignedElements({ flatten: true, slot: 'icon' }) protected readonly icons!: HTMLElement[];\n\n @queryAssignedNodes({ flatten: true, slot: 'title' }) protected readonly titles!: HTMLElement[];\n\n @queryAssignedElements({ flatten: true, slot: 'button' }) protected readonly buttons!: HTMLElement[];\n\n /**\n * To be set by a child class when closing the dialog.\n * This is passed to the close event.\n */\n dialogValue?: unknown;\n\n constructor() {\n super();\n\n this.addEventListener('click', this.handleClick);\n this.addEventListener('keydown', this.handleKeyDown);\n }\n\n override handleClick(e: MouseEvent): void {\n super.handleClick(e);\n const path = e.composedPath();\n const { buttons } = this;\n const button = path.find(i => buttons.includes(i as HTMLElement)) as HTMLButtonElement | UiButton | undefined;\n if (!button) {\n return;\n }\n const { value ='' } = button;\n this.handleInteraction(value as 'dismiss' | 'confirm');\n }\n\n override handleKeyDown(e: KeyboardEvent): void {\n super.handleKeyDown(e);\n if (e.key === 'Escape') {\n this.handleInteraction('dismiss');\n }\n }\n\n protected override updated(changedProperties: PropertyValues<this>): void {\n if (changedProperties.has('open')) {\n this.controlVisibility();\n }\n super.updated(changedProperties);\n }\n\n protected controlVisibility(): void {\n const { dialog, modal, open } = this;\n if (!dialog) {\n return;\n }\n if (open) {\n if (modal) {\n dialog.showModal();\n } else {\n dialog.show();\n }\n } else {\n dialog.close();\n }\n }\n\n protected handleSlotChange(): void {\n const { icons, titles, buttons } = this;\n this.hasIcon = !!icons && !!icons.length;\n this.hasTitle = !!titles && !!titles.length;\n this.hasButton = !!buttons && !!buttons.length;\n }\n\n protected handleInteraction(value: 'dismiss' | 'confirm'): void {\n if (!['dismiss', 'confirm'].includes(value)) {\n return;\n }\n this.open = false;\n const detail: UiDialogClosingReason = {\n cancelled: value === 'dismiss',\n }\n if (this.dialogValue !== undefined) {\n detail.value = this.dialogValue;\n }\n this.dispatchEvent(new CustomEvent<UiDialogClosingReason>('close', {\n composed: true,\n detail,\n }));\n }\n\n protected handleDialogClose(): void {\n if (!this.open) {\n return;\n }\n this.open = false;\n this.handleInteraction('dismiss');\n }\n\n protected handleDismiss(): void {\n this.handleInteraction('dismiss');\n }\n\n protected handleConfirm(): void {\n this.handleInteraction('confirm');\n }\n\n override render(): TemplateResult {\n return html`\n <dialog @close=\"${this.handleDialogClose}\">\n ${this.renderIcon()}\n ${this.renderTitle()}\n ${this.renderBody()}\n ${this.renderButtons()}\n </dialog>\n `;\n }\n\n protected renderIcon(): TemplateResult {\n const classes: ClassInfo = {\n icon: true,\n 'with-icon': this.hasIcon,\n };\n return html`\n <div class=\"${classMap(classes)}\" part=\"icon\"><slot name=\"icon\" @slotchange=\"${this.handleSlotChange}\"></slot></div>\n `;\n }\n\n protected renderTitle(): TemplateResult {\n const classes: ClassInfo = {\n title: true,\n 'with-title': this.hasTitle,\n };\n return html`\n <div class=\"${classMap(classes)}\" part=\"title\"><slot name=\"title\" @slotchange=\"${this.handleSlotChange}\"></slot></div>\n `;\n }\n\n protected renderBody(): TemplateResult {\n return html`\n <div class=\"content\"><slot></slot></div>\n `;\n }\n\n protected renderButtons(): TemplateResult {\n const classes: ClassInfo = {\n buttons: true,\n 'with-buttons': this.hasButton || !!this.confirmLabel || !!this.dismissLabel,\n };\n return html`\n <div class=\"${classMap(classes)}\" part=\"button\">\n <slot name=\"button\" @slotchange=\"${this.handleSlotChange}\"></slot>\n ${this.renderDismissButton()}\n ${this.renderConfirmButton()}\n </div>\n `;\n }\n\n protected renderDismissButton(): TemplateResult | typeof nothing {\n const { dismissLabel } = this;\n if (!dismissLabel) {\n return nothing;\n }\n return html`\n <ui-button value=\"dismiss\" type=\"text\" class=\"internal-button\" @click=\"${this.handleDismiss}\">${dismissLabel}</ui-button>\n `;\n }\n\n protected renderConfirmButton(): TemplateResult | typeof nothing {\n const { confirmLabel } = this;\n if (!confirmLabel) {\n return nothing;\n }\n return html`\n <ui-button value=\"confirm\" type=\"text\" class=\"internal-button\" @click=\"${this.handleConfirm}\">${confirmLabel}</ui-button>\n `;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ripple.d.ts","sourceRoot":"","sources":["../../../src/ui/effects/ripple.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAQ,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAElF,OAAO,EAAE,SAAS,EAAY,MAAM,6BAA6B,CAAC;AAclE,UAAU,MAAM;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAGD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,UAAU;IAC9C,WAAoB,MAAM,IAAI,SAAS,GAAG,SAAS,EAAE,CAEpD;IAEkB,MAAM,EAAG,WAAW,CAAC;IAExC;;OAEG;IAC0B,SAAS,UAAS;IAE/C;;OAEG;IACyC,QAAQ,UAAS;IAEpD,SAAS,CAAC,OAAO,UAAS;IAE1B,SAAS,CAAC,OAAO,UAAS;IAE1B,SAAS,CAAC,OAAO,UAAS;IAEnC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,SAAS,CAAC,UAAU,SAAM;IAE1B,SAAS,CAAC,WAAW,SAAM;IAE3B,SAAS,CAAC,WAAW,SAAK;IAE1B,SAAS,CAAC,oBAAoB,mDAA2B;IAEzD,SAAS,CAAC,aAAa,EAAE,SAAS,GAAG,IAAI,CAAQ;IAEjD,SAAS,CAAC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAQ;cAEnC,MAAM,IAAI,cAAc;IAI3C,mBAAmB;IACnB,SAAS,CAAC,sBAAsB,IAAI,SAAS;cAS1B,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IASnE,SAAS,CAAC,aAAa,IAAI,OAAO;IAIlC,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAuBrC,SAAS,CAAC,+BAA+B,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM;IAS7E,SAAS,CAAC,yBAAyB,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;KAAE;IA2B5G,SAAS,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI;IAwCjE,UAAU,CAAC,UAAU,CAAC,EAAE,KAAK,GAAG,IAAI;IAMpC,QAAQ,IAAI,IAAI;IAIhB,UAAU,IAAI,IAAI;IAIlB,QAAQ,IAAI,IAAI;IAIhB,UAAU,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI;IAS9C,QAAQ,IAAI,IAAI;CAWjB"}
1
+ {"version":3,"file":"ripple.d.ts","sourceRoot":"","sources":["../../../src/ui/effects/ripple.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAQ,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAElF,OAAO,EAAE,SAAS,EAAY,MAAM,6BAA6B,CAAC;AAclE,UAAU,MAAM;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAGD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,UAAU;IAC9C,WAAoB,MAAM,IAAI,SAAS,GAAG,SAAS,EAAE,CAEpD;IAEkB,MAAM,EAAG,WAAW,CAAC;IAExC;;OAEG;IAC0B,SAAS,UAAS;IAE/C;;OAEG;IACyC,QAAQ,UAAS;IAEpD,SAAS,CAAC,OAAO,UAAS;IAE1B,SAAS,CAAC,OAAO,UAAS;IAE1B,SAAS,CAAC,OAAO,UAAS;IAEnC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,SAAS,CAAC,UAAU,SAAM;IAE1B,SAAS,CAAC,WAAW,SAAM;IAE3B,SAAS,CAAC,WAAW,SAAK;IAE1B,SAAS,CAAC,oBAAoB,mDAA2B;IAEzD,SAAS,CAAC,aAAa,EAAE,SAAS,GAAG,IAAI,CAAQ;IAEjD,SAAS,CAAC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAQ;cAEnC,MAAM,IAAI,cAAc;IAI3C,mBAAmB;IACnB,SAAS,CAAC,sBAAsB,IAAI,SAAS;cAS1B,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IASnE,SAAS,CAAC,aAAa,IAAI,OAAO;IAIlC,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAuBrC,SAAS,CAAC,+BAA+B,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM;IAS7E,SAAS,CAAC,yBAAyB,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;KAAE;IA2B5G,SAAS,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI;IA6CjE,UAAU,CAAC,UAAU,CAAC,EAAE,KAAK,GAAG,IAAI;IAMpC,QAAQ,IAAI,IAAI;IAIhB,UAAU,IAAI,IAAI;IAIlB,QAAQ,IAAI,IAAI;IAIhB,UAAU,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI;IAS9C,QAAQ,IAAI,IAAI;CAWjB"}
@@ -18,30 +18,32 @@ const SOFT_EDGE_CONTAINER_RATIO = 0.35;
18
18
  const PRESS_PSEUDO = '::after';
19
19
  const ANIMATION_FILL = 'forwards';
20
20
  export default class UiRipple extends LitElement {
21
+ constructor() {
22
+ super(...arguments);
23
+ /**
24
+ * @attribute
25
+ */
26
+ this.unbounded = false;
27
+ /**
28
+ * @attribute
29
+ */
30
+ this.disabled = false;
31
+ this.hovered = false;
32
+ this.focused = false;
33
+ this.pressed = false;
34
+ this.rippleSize = '';
35
+ this.rippleScale = '';
36
+ this.initialSize = 0;
37
+ this.pressAnimationSignal = createAnimationSignal();
38
+ this.growAnimation = null;
39
+ this.delayedEndPressHandle = null;
40
+ }
21
41
  static get styles() {
22
42
  return elementStyles;
23
43
  }
24
- mdRoot;
25
- /**
26
- * @attribute
27
- */
28
- unbounded = false;
29
- /**
30
- * @attribute
31
- */
32
- disabled = false;
33
- hovered = false;
34
- focused = false;
35
- pressed = false;
36
44
  get isPressed() {
37
45
  return this.pressed;
38
46
  }
39
- rippleSize = '';
40
- rippleScale = '';
41
- initialSize = 0;
42
- pressAnimationSignal = createAnimationSignal();
43
- growAnimation = null;
44
- delayedEndPressHandle = null;
45
47
  render() {
46
48
  return html `<div class="surface ${classMap(this.getRenderRippleClasses())}"></div>`;
47
49
  }
@@ -114,12 +116,16 @@ export default class UiRipple extends LitElement {
114
116
  return { startPoint, endPoint };
115
117
  }
116
118
  startPressAnimation(positionEvent) {
119
+ const { mdRoot } = this;
120
+ if (!mdRoot) {
121
+ return;
122
+ }
117
123
  this.determineRippleSize();
118
124
  const { startPoint, endPoint } = this.getTranslationCoordinates(positionEvent);
119
125
  const translateStart = `${startPoint.x}px, ${startPoint.y}px`;
120
126
  const translateEnd = `${endPoint.x}px, ${endPoint.y}px`;
121
127
  const signal = this.pressAnimationSignal.start();
122
- const growAnimation = this.mdRoot.animate({
128
+ const growAnimation = mdRoot.animate({
123
129
  top: [0, 0],
124
130
  left: [0, 0],
125
131
  height: [this.rippleSize, this.rippleSize],
@@ -1 +1 @@
1
- {"version":3,"file":"ripple.js","sourceRoot":"","sources":["../../../src/ui/effects/ripple.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CSSResult, html, LitElement, PropertyValues, TemplateResult } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { ClassInfo, classMap } from 'lit/directives/class-map.js';\nimport elementStyles from './ripple.styles.js';\n\nimport { createAnimationSignal, Easing } from '../motion/animation.js';\n\nconst PRESS_GROW_MS = 450;\nconst MINIMUM_PRESS_MS = 225;\nconst INITIAL_ORIGIN_SCALE = 0.2;\nconst PADDING = 10;\nconst SOFT_EDGE_MINIMUM_SIZE = 75;\nconst SOFT_EDGE_CONTAINER_RATIO = 0.35;\nconst PRESS_PSEUDO = '::after';\nconst ANIMATION_FILL = 'forwards';\n\ninterface IPoint {\n x: number;\n y: number;\n}\n\n\nexport default class UiRipple extends LitElement {\n static override get styles(): CSSResult | CSSResult[] {\n return elementStyles;\n }\n\n @query('.surface') mdRoot!: HTMLElement;\n \n /**\n * @attribute\n */\n @property({ type: Boolean }) unbounded = false;\n\n /**\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @state() protected hovered = false;\n\n @state() protected focused = false;\n\n @state() protected pressed = false;\n\n get isPressed(): boolean {\n return this.pressed;\n }\n\n protected rippleSize = '';\n\n protected rippleScale = '';\n\n protected initialSize = 0;\n\n protected pressAnimationSignal = createAnimationSignal();\n\n protected growAnimation: Animation | null = null;\n\n protected delayedEndPressHandle: number | null = null;\n\n protected override render(): TemplateResult {\n return html`<div class=\"surface ${classMap(this.getRenderRippleClasses())}\"></div>`;\n }\n\n /** @soyTemplate */\n protected getRenderRippleClasses(): ClassInfo {\n return {\n 'hovered': this.hovered,\n 'focused': this.focused,\n 'pressed': this.pressed,\n 'unbounded': this.unbounded,\n };\n }\n\n protected override update(changedProps: PropertyValues<this>): void {\n if (changedProps.has('disabled') && this.disabled) {\n this.endHover();\n this.endFocus();\n this.endPress();\n }\n super.update(changedProps);\n }\n\n protected getDimensions(): DOMRect {\n return (this.parentElement ?? this).getBoundingClientRect();\n }\n\n protected determineRippleSize(): void {\n const { height, width } = this.getDimensions();\n const maxDim = Math.max(height, width);\n const softEdgeSize =\n Math.max(SOFT_EDGE_CONTAINER_RATIO * maxDim, SOFT_EDGE_MINIMUM_SIZE);\n\n\n let maxRadius = maxDim;\n let initialSize = Math.floor(maxDim * INITIAL_ORIGIN_SCALE);\n\n const hypotenuse = Math.sqrt(width ** 2 + height ** 2);\n maxRadius = hypotenuse + PADDING;\n\n // ensure `initialSize` is even for unbounded\n if (this.unbounded) {\n initialSize -= (initialSize % 2);\n }\n\n this.initialSize = initialSize;\n this.rippleScale = `${(maxRadius + softEdgeSize) / initialSize}`;\n this.rippleSize = `${this.initialSize}px`;\n }\n\n protected getNormalizedPointerEventCoords(pointerEvent: PointerEvent): IPoint {\n const { scrollX, scrollY } = window;\n const { left, top } = this.getDimensions();\n const documentX = scrollX + left;\n const documentY = scrollY + top;\n const { pageX, pageY } = pointerEvent;\n return { x: pageX - documentX, y: pageY - documentY };\n }\n\n protected getTranslationCoordinates(positionEvent?: Event | null): { startPoint: IPoint; endPoint: IPoint; } {\n const { height, width } = this.getDimensions();\n // end in the center\n const endPoint = {\n x: (width - this.initialSize) / 2,\n y: (height - this.initialSize) / 2,\n };\n\n let startPoint;\n if (positionEvent instanceof PointerEvent) {\n startPoint = this.getNormalizedPointerEventCoords(positionEvent);\n } else {\n startPoint = {\n x: width / 2,\n y: height / 2,\n };\n }\n\n // center around start point\n startPoint = {\n x: startPoint.x - (this.initialSize / 2),\n y: startPoint.y - (this.initialSize / 2),\n };\n\n return { startPoint, endPoint };\n }\n\n protected startPressAnimation(positionEvent?: Event | null): void {\n this.determineRippleSize();\n const { startPoint, endPoint } =\n this.getTranslationCoordinates(positionEvent);\n const translateStart = `${startPoint.x}px, ${startPoint.y}px`;\n const translateEnd = `${endPoint.x}px, ${endPoint.y}px`;\n\n const signal = this.pressAnimationSignal.start();\n\n const growAnimation = this.mdRoot.animate(\n {\n top: [0, 0],\n left: [0, 0],\n height: [this.rippleSize, this.rippleSize],\n width: [this.rippleSize, this.rippleSize],\n transform: [\n `translate(${translateStart}) scale(1)`,\n `translate(${translateEnd}) scale(${this.rippleScale})`\n ],\n },\n {\n pseudoElement: PRESS_PSEUDO,\n duration: PRESS_GROW_MS,\n easing: Easing.STANDARD,\n fill: ANIMATION_FILL\n });\n\n growAnimation.addEventListener('finish', () => {\n this.pressAnimationSignal.finish();\n this.growAnimation = null;\n });\n\n signal.addEventListener('abort', () => {\n growAnimation.cancel();\n this.growAnimation = null;\n });\n\n this.growAnimation = growAnimation;\n }\n\n beginHover(hoverEvent?: Event): void {\n if ((hoverEvent as PointerEvent)?.pointerType !== 'touch') {\n this.hovered = true;\n }\n }\n\n endHover(): void {\n this.hovered = false;\n }\n\n beginFocus(): void {\n this.focused = true;\n }\n\n endFocus(): void {\n this.focused = false;\n }\n\n beginPress(positionEvent?: Event | null): void {\n this.pressed = true;\n if (this.delayedEndPressHandle !== null) {\n clearTimeout(this.delayedEndPressHandle);\n this.delayedEndPressHandle = null;\n }\n this.startPressAnimation(positionEvent);\n }\n\n endPress(): void {\n const pressAnimationPlayState = this.growAnimation?.currentTime ?? Infinity;\n if (pressAnimationPlayState >= MINIMUM_PRESS_MS) {\n this.pressed = false;\n } else {\n this.delayedEndPressHandle = setTimeout(() => {\n this.pressed = false;\n this.delayedEndPressHandle = null;\n }, MINIMUM_PRESS_MS - pressAnimationPlayState) as unknown as number;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"ripple.js","sourceRoot":"","sources":["../../../src/ui/effects/ripple.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CSSResult, html, LitElement, PropertyValues, TemplateResult } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { ClassInfo, classMap } from 'lit/directives/class-map.js';\nimport elementStyles from './ripple.styles.js';\n\nimport { createAnimationSignal, Easing } from '../motion/animation.js';\n\nconst PRESS_GROW_MS = 450;\nconst MINIMUM_PRESS_MS = 225;\nconst INITIAL_ORIGIN_SCALE = 0.2;\nconst PADDING = 10;\nconst SOFT_EDGE_MINIMUM_SIZE = 75;\nconst SOFT_EDGE_CONTAINER_RATIO = 0.35;\nconst PRESS_PSEUDO = '::after';\nconst ANIMATION_FILL = 'forwards';\n\ninterface IPoint {\n x: number;\n y: number;\n}\n\n\nexport default class UiRipple extends LitElement {\n static override get styles(): CSSResult | CSSResult[] {\n return elementStyles;\n }\n\n @query('.surface') mdRoot!: HTMLElement;\n \n /**\n * @attribute\n */\n @property({ type: Boolean }) unbounded = false;\n\n /**\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @state() protected hovered = false;\n\n @state() protected focused = false;\n\n @state() protected pressed = false;\n\n get isPressed(): boolean {\n return this.pressed;\n }\n\n protected rippleSize = '';\n\n protected rippleScale = '';\n\n protected initialSize = 0;\n\n protected pressAnimationSignal = createAnimationSignal();\n\n protected growAnimation: Animation | null = null;\n\n protected delayedEndPressHandle: number | null = null;\n\n protected override render(): TemplateResult {\n return html`<div class=\"surface ${classMap(this.getRenderRippleClasses())}\"></div>`;\n }\n\n /** @soyTemplate */\n protected getRenderRippleClasses(): ClassInfo {\n return {\n 'hovered': this.hovered,\n 'focused': this.focused,\n 'pressed': this.pressed,\n 'unbounded': this.unbounded,\n };\n }\n\n protected override update(changedProps: PropertyValues<this>): void {\n if (changedProps.has('disabled') && this.disabled) {\n this.endHover();\n this.endFocus();\n this.endPress();\n }\n super.update(changedProps);\n }\n\n protected getDimensions(): DOMRect {\n return (this.parentElement ?? this).getBoundingClientRect();\n }\n\n protected determineRippleSize(): void {\n const { height, width } = this.getDimensions();\n const maxDim = Math.max(height, width);\n const softEdgeSize =\n Math.max(SOFT_EDGE_CONTAINER_RATIO * maxDim, SOFT_EDGE_MINIMUM_SIZE);\n\n\n let maxRadius = maxDim;\n let initialSize = Math.floor(maxDim * INITIAL_ORIGIN_SCALE);\n\n const hypotenuse = Math.sqrt(width ** 2 + height ** 2);\n maxRadius = hypotenuse + PADDING;\n\n // ensure `initialSize` is even for unbounded\n if (this.unbounded) {\n initialSize -= (initialSize % 2);\n }\n\n this.initialSize = initialSize;\n this.rippleScale = `${(maxRadius + softEdgeSize) / initialSize}`;\n this.rippleSize = `${this.initialSize}px`;\n }\n\n protected getNormalizedPointerEventCoords(pointerEvent: PointerEvent): IPoint {\n const { scrollX, scrollY } = window;\n const { left, top } = this.getDimensions();\n const documentX = scrollX + left;\n const documentY = scrollY + top;\n const { pageX, pageY } = pointerEvent;\n return { x: pageX - documentX, y: pageY - documentY };\n }\n\n protected getTranslationCoordinates(positionEvent?: Event | null): { startPoint: IPoint; endPoint: IPoint; } {\n const { height, width } = this.getDimensions();\n // end in the center\n const endPoint = {\n x: (width - this.initialSize) / 2,\n y: (height - this.initialSize) / 2,\n };\n\n let startPoint;\n if (positionEvent instanceof PointerEvent) {\n startPoint = this.getNormalizedPointerEventCoords(positionEvent);\n } else {\n startPoint = {\n x: width / 2,\n y: height / 2,\n };\n }\n\n // center around start point\n startPoint = {\n x: startPoint.x - (this.initialSize / 2),\n y: startPoint.y - (this.initialSize / 2),\n };\n\n return { startPoint, endPoint };\n }\n\n protected startPressAnimation(positionEvent?: Event | null): void {\n const { mdRoot } = this;\n if (!mdRoot) {\n return;\n }\n\n this.determineRippleSize();\n const { startPoint, endPoint } =\n this.getTranslationCoordinates(positionEvent);\n const translateStart = `${startPoint.x}px, ${startPoint.y}px`;\n const translateEnd = `${endPoint.x}px, ${endPoint.y}px`;\n\n const signal = this.pressAnimationSignal.start();\n\n const growAnimation = mdRoot.animate(\n {\n top: [0, 0],\n left: [0, 0],\n height: [this.rippleSize, this.rippleSize],\n width: [this.rippleSize, this.rippleSize],\n transform: [\n `translate(${translateStart}) scale(1)`,\n `translate(${translateEnd}) scale(${this.rippleScale})`\n ],\n },\n {\n pseudoElement: PRESS_PSEUDO,\n duration: PRESS_GROW_MS,\n easing: Easing.STANDARD,\n fill: ANIMATION_FILL\n });\n\n growAnimation.addEventListener('finish', () => {\n this.pressAnimationSignal.finish();\n this.growAnimation = null;\n });\n\n signal.addEventListener('abort', () => {\n growAnimation.cancel();\n this.growAnimation = null;\n });\n\n this.growAnimation = growAnimation;\n }\n\n beginHover(hoverEvent?: Event): void {\n if ((hoverEvent as PointerEvent)?.pointerType !== 'touch') {\n this.hovered = true;\n }\n }\n\n endHover(): void {\n this.hovered = false;\n }\n\n beginFocus(): void {\n this.focused = true;\n }\n\n endFocus(): void {\n this.focused = false;\n }\n\n beginPress(positionEvent?: Event | null): void {\n this.pressed = true;\n if (this.delayedEndPressHandle !== null) {\n clearTimeout(this.delayedEndPressHandle);\n this.delayedEndPressHandle = null;\n }\n this.startPressAnimation(positionEvent);\n }\n\n endPress(): void {\n const pressAnimationPlayState = this.growAnimation?.currentTime ?? Infinity;\n if (pressAnimationPlayState >= MINIMUM_PRESS_MS) {\n this.pressed = false;\n } else {\n this.delayedEndPressHandle = setTimeout(() => {\n this.pressed = false;\n this.delayedEndPressHandle = null;\n }, MINIMUM_PRESS_MS - pressAnimationPlayState) as unknown as number;\n }\n }\n}\n"]}
@@ -56,15 +56,14 @@ var State;
56
56
  State[State["WAITING_FOR_CLICK"] = 3] = "WAITING_FOR_CLICK";
57
57
  })(State || (State = {}));
58
58
  class RippleDirective extends Directive {
59
- rippleGetter = async () => null;
60
- element;
61
- state = State.INACTIVE;
62
- checkBoundsAfterContextMenu = false;
63
- rippleStartEvent = null;
64
- touchTimer = null;
65
- clickTimer = null;
66
59
  constructor(partInfo) {
67
60
  super(partInfo);
61
+ this.rippleGetter = async () => null;
62
+ this.state = State.INACTIVE;
63
+ this.checkBoundsAfterContextMenu = false;
64
+ this.rippleStartEvent = null;
65
+ this.touchTimer = null;
66
+ this.clickTimer = null;
68
67
  if (partInfo.type !== PartType.ELEMENT) {
69
68
  throw new Error('The `ripple` directive must be used on an element');
70
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rippleDirective.js","sourceRoot":"","sources":["../../../src/ui/effects/rippleDirective.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { noChange } from 'lit';\nimport { Directive, directive, DirectiveParameters, ElementPart, PartInfo, PartType } from 'lit/directive.js';\n\nimport Ripple from './ripple.js';\n\n/**\n * Delay reacting to touch so that we do not show the ripple for a swipe or\n * scroll interaction.\n */\nconst TOUCH_DELAY_MS = 150;\n\n/**\n * Interaction states for the ripple.\n *\n * On Touch:\n * - `INACTIVE -> TOUCH_DELAY -> WAITING_FOR_CLICK -> INACTIVE`\n * - `INACTIVE -> TOUCH_DELAY -> HOLDING -> WAITING_FOR_CLICK -> INACTIVE`\n *\n * On Mouse or Pen:\n * - `INACTIVE -> WAITING_FOR_CLICK -> INACTIVE`\n */\nenum State {\n /**\n * Initial state of the control, no touch in progress.\n *\n * Transitions:\n * - on touch down: transition to `TOUCH_DELAY`.\n * - on mouse down: transition to `WAITING_FOR_CLICK`.\n */\n INACTIVE,\n /**\n * Touch down has been received, waiting to determine if it's a swipe or\n * scroll.\n *\n * Transitions:\n * - on touch up: beginPress(); transition to `WAITING_FOR_CLICK`.\n * - on cancel: transition to `INACTIVE`.\n * - after `TOUCH_DELAY_MS`: beginPress(); transition to `HOLDING`.\n */\n TOUCH_DELAY,\n /**\n * A touch has been deemed to be a press\n *\n * Transitions:\n * - on up: transition to `WAITING_FOR_CLICK`.\n */\n HOLDING,\n /**\n * The user touch has finished, transition into rest state.\n *\n * Transitions:\n * - on click endPress(); transition to `INACTIVE`.\n */\n WAITING_FOR_CLICK\n}\n\n/**\n * Normalized ripple accessor type.\n *\n * Use with `await rippleFunction()`\n */\ntype RippleFunction = () => Ripple | null | Promise<Ripple | null>;\n\nclass RippleDirective extends Directive {\n private rippleGetter: RippleFunction = async () => null;\n\n private element?: HTMLElement;\n\n private state: State = State.INACTIVE;\n\n private checkBoundsAfterContextMenu = false;\n\n private rippleStartEvent: PointerEvent | null = null;\n\n private touchTimer: number | null = null;\n\n private clickTimer: number | null = null;\n\n constructor(partInfo: PartInfo) {\n super(partInfo);\n if (partInfo.type !== PartType.ELEMENT) {\n throw new Error('The `ripple` directive must be used on an element');\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(ripple: RippleFunction | Promise<Ripple | null>): typeof noChange {\n return noChange;\n }\n\n // Use EventListenerObject::handleEvent interface to handle events without\n // generating bound event handlers\n async handleEvent(event: Event): Promise<void> {\n const ripple = await this.rippleGetter();\n if (!ripple) {\n return;\n }\n switch (event.type) {\n case 'click':\n this.click(ripple);\n break;\n case 'contextmenu':\n this.contextMenu(ripple);\n break;\n case 'pointercancel':\n this.pointerCancel(ripple, event as PointerEvent);\n break;\n case 'pointerdown':\n this.pointerDown(ripple, event as PointerEvent);\n break;\n case 'pointerenter':\n this.pointerEnter(ripple, event as PointerEvent);\n break;\n case 'pointerleave':\n this.pointerLeave(ripple, event as PointerEvent);\n break;\n case 'pointerup':\n this.pointerUp(ripple, event as PointerEvent);\n break;\n default:\n break;\n }\n }\n\n override update(part: ElementPart, [ripple]: DirectiveParameters<this>): typeof noChange {\n if (!this.element) {\n // NOTE: addEventListener typing needs to be used with HTMLElements or a\n // subclass\n this.element = part.element as HTMLElement;\n this.element.addEventListener('click', this);\n this.element.addEventListener('contextmenu', this);\n this.element.addEventListener('pointercancel', this);\n this.element.addEventListener('pointerdown', this);\n this.element.addEventListener('pointerenter', this);\n this.element.addEventListener('pointerleave', this);\n this.element.addEventListener('pointerup', this);\n }\n // Normalize given ripple accessor\n this.rippleGetter = typeof ripple === 'function' ? ripple : (): Promise<Ripple | null> => ripple;\n return noChange;\n }\n\n /**\n * Returns `true` if\n * - the ripple element is enabled\n * - the pointer is primary for the input type\n * - the pointer is the pointer that started the interaction, or will start\n * the interaction\n * - the pointer is a touch, or the pointer state has the primary button\n * held, or the pointer is hovering\n */\n private shouldReactToEvent(ripple: Ripple, ev: PointerEvent, hovering = false): boolean {\n const enabled = !ripple.disabled;\n const isPrimaryPointer = ev.isPrimary;\n const isInteractionPointer = this.rippleStartEvent === null ||\n this.rippleStartEvent.pointerId === ev.pointerId;\n const isPrimaryButton = ev.buttons === 1;\n return enabled && isPrimaryPointer && isInteractionPointer &&\n (this.isTouch(ev) || isPrimaryButton || hovering);\n }\n\n private isTouch({ pointerType }: PointerEvent): boolean {\n return pointerType === 'touch';\n }\n\n /**\n * Check if the event is within the bounds of the element.\n *\n * This is only needed for the \"stuck\" contextmenu longpress on Chrome.\n */\n private inBounds({ x, y }: PointerEvent): boolean {\n const { top, left, bottom, right } = (this.element as HTMLElement).getBoundingClientRect();\n return x >= left && x <= right && y >= top && y <= bottom;\n }\n\n private beginPress(ripple: Ripple): void {\n ripple.beginPress(this.rippleStartEvent);\n }\n\n private endPress(ripple: Ripple): void {\n ripple.endPress();\n this.state = State.INACTIVE;\n this.rippleStartEvent = null;\n if (this.touchTimer) {\n clearTimeout(this.touchTimer);\n this.touchTimer = null;\n }\n if (this.clickTimer) {\n clearTimeout(this.clickTimer);\n this.clickTimer = null;\n }\n }\n\n private waitForTouchHold(): void {\n if (this.touchTimer !== null) {\n clearTimeout(this.touchTimer);\n }\n this.state = State.TOUCH_DELAY;\n this.touchTimer = setTimeout(async () => {\n const ripple = await this.rippleGetter();\n if (ripple === null || this.state !== State.TOUCH_DELAY) {\n return;\n }\n this.state = State.HOLDING;\n this.beginPress(ripple);\n }, TOUCH_DELAY_MS) as unknown as number;\n }\n\n private click(ripple: Ripple): void {\n // Click is a MouseEvent in Firefox and Safari, so we cannot use\n // `shouldReactToEvent`\n if (ripple.disabled) {\n return;\n }\n if (this.state === State.WAITING_FOR_CLICK) {\n this.endPress(ripple);\n } else if (this.state === State.INACTIVE) {\n // keyboard synthesized click event\n this.beginPress(ripple);\n this.endPress(ripple);\n }\n }\n\n private contextMenu(ripple: Ripple): void {\n if (!ripple.disabled) {\n this.checkBoundsAfterContextMenu = true;\n this.endPress(ripple);\n }\n }\n\n private pointerDown(ripple: Ripple, ev: PointerEvent): void {\n if (!this.shouldReactToEvent(ripple, ev)) {\n return;\n }\n this.rippleStartEvent = ev;\n if (this.isTouch(ev)) {\n // after a longpress contextmenu event, an extra `pointerdown` can be\n // dispatched to the pressed element. Check that the down is within\n // bounds of the element in this case.\n if (this.checkBoundsAfterContextMenu && !this.inBounds(ev)) {\n return;\n }\n this.checkBoundsAfterContextMenu = false;\n this.waitForTouchHold();\n } else {\n this.state = State.WAITING_FOR_CLICK;\n this.beginPress(ripple);\n }\n }\n\n private pointerUp(ripple: Ripple, ev: PointerEvent): void {\n if (!this.isTouch(ev) || !this.shouldReactToEvent(ripple, ev)) {\n return;\n }\n if (this.state === State.HOLDING) {\n this.state = State.WAITING_FOR_CLICK;\n } else if (this.state === State.TOUCH_DELAY) {\n this.state = State.WAITING_FOR_CLICK;\n this.beginPress(ripple);\n }\n }\n\n private pointerCancel(ripple: Ripple, ev: PointerEvent): void {\n if (this.shouldReactToEvent(ripple, ev)) {\n this.endPress(ripple);\n }\n }\n\n private pointerEnter(ripple: Ripple, ev: PointerEvent): void {\n if (this.shouldReactToEvent(ripple, ev, true)) {\n ripple.beginHover(ev);\n }\n }\n\n private pointerLeave(ripple: Ripple, ev: PointerEvent): void {\n if (this.shouldReactToEvent(ripple, ev, true)) {\n ripple.endHover();\n // release a held mouse or pen press that moves outside the element\n if (!this.isTouch(ev) && this.state !== State.INACTIVE) {\n this.endPress(ripple);\n }\n }\n }\n}\n\n/**\n * Connects a Ripple element to a node that drives the interaction\n *\n * @param rippleGetter A function that returns an `md-ripple` element\n * @param simulateKeyboardClick For elements that do not issue a click on\n * keyboard interaction, pass `true` to enable press animations on Enter or\n * Spacebar\n */\nexport const ripple = directive(RippleDirective);\n"]}
1
+ {"version":3,"file":"rippleDirective.js","sourceRoot":"","sources":["../../../src/ui/effects/rippleDirective.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { noChange } from 'lit';\nimport { Directive, directive, DirectiveParameters, ElementPart, PartInfo, PartType } from 'lit/directive.js';\n\nimport Ripple from './ripple.js';\n\n/**\n * Delay reacting to touch so that we do not show the ripple for a swipe or\n * scroll interaction.\n */\nconst TOUCH_DELAY_MS = 150;\n\n/**\n * Interaction states for the ripple.\n *\n * On Touch:\n * - `INACTIVE -> TOUCH_DELAY -> WAITING_FOR_CLICK -> INACTIVE`\n * - `INACTIVE -> TOUCH_DELAY -> HOLDING -> WAITING_FOR_CLICK -> INACTIVE`\n *\n * On Mouse or Pen:\n * - `INACTIVE -> WAITING_FOR_CLICK -> INACTIVE`\n */\nenum State {\n /**\n * Initial state of the control, no touch in progress.\n *\n * Transitions:\n * - on touch down: transition to `TOUCH_DELAY`.\n * - on mouse down: transition to `WAITING_FOR_CLICK`.\n */\n INACTIVE,\n /**\n * Touch down has been received, waiting to determine if it's a swipe or\n * scroll.\n *\n * Transitions:\n * - on touch up: beginPress(); transition to `WAITING_FOR_CLICK`.\n * - on cancel: transition to `INACTIVE`.\n * - after `TOUCH_DELAY_MS`: beginPress(); transition to `HOLDING`.\n */\n TOUCH_DELAY,\n /**\n * A touch has been deemed to be a press\n *\n * Transitions:\n * - on up: transition to `WAITING_FOR_CLICK`.\n */\n HOLDING,\n /**\n * The user touch has finished, transition into rest state.\n *\n * Transitions:\n * - on click endPress(); transition to `INACTIVE`.\n */\n WAITING_FOR_CLICK\n}\n\n/**\n * Normalized ripple accessor type.\n *\n * Use with `await rippleFunction()`\n */\ntype RippleFunction = () => Ripple | null | Promise<Ripple | null>;\n\nclass RippleDirective extends Directive {\n private rippleGetter: RippleFunction = async () => null;\n\n private element?: HTMLElement;\n\n private state: State = State.INACTIVE;\n\n private checkBoundsAfterContextMenu = false;\n\n private rippleStartEvent: PointerEvent | null = null;\n\n private touchTimer: number | null = null;\n\n private clickTimer: number | null = null;\n\n constructor(partInfo: PartInfo) {\n super(partInfo);\n if (partInfo.type !== PartType.ELEMENT) {\n throw new Error('The `ripple` directive must be used on an element');\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(ripple: RippleFunction | Promise<Ripple | null>): typeof noChange {\n return noChange;\n }\n\n // Use EventListenerObject::handleEvent interface to handle events without\n // generating bound event handlers\n async handleEvent(event: Event): Promise<void> {\n const ripple = await this.rippleGetter();\n if (!ripple) {\n return;\n }\n switch (event.type) {\n case 'click':\n this.click(ripple);\n break;\n case 'contextmenu':\n this.contextMenu(ripple);\n break;\n case 'pointercancel':\n this.pointerCancel(ripple, event as PointerEvent);\n break;\n case 'pointerdown':\n this.pointerDown(ripple, event as PointerEvent);\n break;\n case 'pointerenter':\n this.pointerEnter(ripple, event as PointerEvent);\n break;\n case 'pointerleave':\n this.pointerLeave(ripple, event as PointerEvent);\n break;\n case 'pointerup':\n this.pointerUp(ripple, event as PointerEvent);\n break;\n default:\n break;\n }\n }\n\n override update(part: ElementPart, [ripple]: DirectiveParameters<this>): typeof noChange {\n if (!this.element) {\n // NOTE: addEventListener typing needs to be used with HTMLElements or a\n // subclass\n this.element = part.element as HTMLElement;\n this.element.addEventListener('click', this);\n this.element.addEventListener('contextmenu', this);\n this.element.addEventListener('pointercancel', this);\n this.element.addEventListener('pointerdown', this);\n this.element.addEventListener('pointerenter', this);\n this.element.addEventListener('pointerleave', this);\n this.element.addEventListener('pointerup', this);\n }\n // Normalize given ripple accessor\n this.rippleGetter = typeof ripple === 'function' ? ripple : (): Promise<Ripple | null> => ripple;\n return noChange;\n }\n\n /**\n * Returns `true` if\n * - the ripple element is enabled\n * - the pointer is primary for the input type\n * - the pointer is the pointer that started the interaction, or will start\n * the interaction\n * - the pointer is a touch, or the pointer state has the primary button\n * held, or the pointer is hovering\n */\n private shouldReactToEvent(ripple: Ripple, ev: PointerEvent, hovering = false): boolean {\n const enabled = !ripple.disabled;\n const isPrimaryPointer = ev.isPrimary;\n const isInteractionPointer = this.rippleStartEvent === null ||\n this.rippleStartEvent.pointerId === ev.pointerId;\n const isPrimaryButton = ev.buttons === 1;\n return enabled && isPrimaryPointer && isInteractionPointer &&\n (this.isTouch(ev) || isPrimaryButton || hovering);\n }\n\n private isTouch({ pointerType }: PointerEvent): boolean {\n return pointerType === 'touch';\n }\n\n /**\n * Check if the event is within the bounds of the element.\n *\n * This is only needed for the \"stuck\" contextmenu longpress on Chrome.\n */\n private inBounds({ x, y }: PointerEvent): boolean {\n const { top, left, bottom, right } = (this.element as HTMLElement).getBoundingClientRect();\n return x >= left && x <= right && y >= top && y <= bottom;\n }\n\n private beginPress(ripple: Ripple): void {\n ripple.beginPress(this.rippleStartEvent);\n }\n\n private endPress(ripple: Ripple): void {\n ripple.endPress();\n this.state = State.INACTIVE;\n this.rippleStartEvent = null;\n if (this.touchTimer) {\n clearTimeout(this.touchTimer);\n this.touchTimer = null;\n }\n if (this.clickTimer) {\n clearTimeout(this.clickTimer);\n this.clickTimer = null;\n }\n }\n\n private waitForTouchHold(): void {\n if (this.touchTimer !== null) {\n clearTimeout(this.touchTimer);\n }\n this.state = State.TOUCH_DELAY;\n this.touchTimer = setTimeout(async () => {\n const ripple = await this.rippleGetter();\n if (ripple === null || this.state !== State.TOUCH_DELAY) {\n return;\n }\n this.state = State.HOLDING;\n this.beginPress(ripple);\n }, TOUCH_DELAY_MS) as unknown as number;\n }\n\n private click(ripple: Ripple): void {\n // Click is a MouseEvent in Firefox and Safari, so we cannot use\n // `shouldReactToEvent`\n if (ripple.disabled) {\n return;\n }\n if (this.state === State.WAITING_FOR_CLICK) {\n this.endPress(ripple);\n } else if (this.state === State.INACTIVE) {\n // keyboard synthesized click event\n this.beginPress(ripple);\n this.endPress(ripple);\n }\n }\n\n private contextMenu(ripple: Ripple): void {\n if (!ripple.disabled) {\n this.checkBoundsAfterContextMenu = true;\n this.endPress(ripple);\n }\n }\n\n private pointerDown(ripple: Ripple, ev: PointerEvent): void {\n if (!this.shouldReactToEvent(ripple, ev)) {\n return;\n }\n this.rippleStartEvent = ev;\n if (this.isTouch(ev)) {\n // after a longpress contextmenu event, an extra `pointerdown` can be\n // dispatched to the pressed element. Check that the down is within\n // bounds of the element in this case.\n if (this.checkBoundsAfterContextMenu && !this.inBounds(ev)) {\n return;\n }\n this.checkBoundsAfterContextMenu = false;\n this.waitForTouchHold();\n } else {\n this.state = State.WAITING_FOR_CLICK;\n this.beginPress(ripple);\n }\n }\n\n private pointerUp(ripple: Ripple, ev: PointerEvent): void {\n if (!this.isTouch(ev) || !this.shouldReactToEvent(ripple, ev)) {\n return;\n }\n if (this.state === State.HOLDING) {\n this.state = State.WAITING_FOR_CLICK;\n } else if (this.state === State.TOUCH_DELAY) {\n this.state = State.WAITING_FOR_CLICK;\n this.beginPress(ripple);\n }\n }\n\n private pointerCancel(ripple: Ripple, ev: PointerEvent): void {\n if (this.shouldReactToEvent(ripple, ev)) {\n this.endPress(ripple);\n }\n }\n\n private pointerEnter(ripple: Ripple, ev: PointerEvent): void {\n if (this.shouldReactToEvent(ripple, ev, true)) {\n ripple.beginHover(ev);\n }\n }\n\n private pointerLeave(ripple: Ripple, ev: PointerEvent): void {\n if (this.shouldReactToEvent(ripple, ev, true)) {\n ripple.endHover();\n // release a held mouse or pen press that moves outside the element\n if (!this.isTouch(ev) && this.state !== State.INACTIVE) {\n this.endPress(ripple);\n }\n }\n }\n}\n\n/**\n * Connects a Ripple element to a node that drives the interaction\n *\n * @param rippleGetter A function that returns an `md-ripple` element\n * @param simulateKeyboardClick For elements that do not issue a click on\n * keyboard interaction, pass `true` to enable press animations on Enter or\n * Spacebar\n */\nexport const ripple = directive(RippleDirective);\n"]}
@@ -4,8 +4,8 @@ import { SVGTemplateResult } from 'lit';
4
4
  * @param tpl Icon definition
5
5
  * @returns Complete SVG icon definition
6
6
  */
7
- export declare const iconWrapper: (tpl: SVGTemplateResult, width?: number, height?: number) => SVGTemplateResult;
8
- export type IconType = 'add' | 'api' | 'apps' | 'arrowBack' | 'arrowDropDown' | 'cancel' | 'cancelFilled' | 'check' | 'checkBox' | 'checkBoxBlank' | 'checkIndeterminate' | 'chevronLeft' | 'chevronRight' | 'close' | 'cloud' | 'cloudFilled' | 'collectionsBookmark' | 'deleteFile' | 'deleteOutline' | 'edit' | 'environment' | 'expandMore' | 'fileDownload' | 'folder' | 'folderFilled' | 'folderShared' | 'help' | 'history' | 'info' | 'key' | 'menu' | 'leaderBoard' | 'moreVert' | 'openInNew' | 'personAdd' | 'playArrow' | 'project' | 'remove' | 'rename' | 'request' | 'restoreFromTrash' | 'save' | 'schema' | 'schemaEntity' | 'schemaModel' | 'schemaNamespace' | 'search' | 'send' | 'settings' | 'space' | 'taskAlt' | 'timeline' | 'viewGrid' | 'viewList' | 'visibility' | 'visibilityOff' | 'warning';
7
+ export declare const iconWrapper: (tpl: SVGTemplateResult, width?: number, height?: number, top?: number, left?: number) => SVGTemplateResult;
8
+ export type IconType = 'add' | 'api' | 'apps' | 'arrowBack' | 'arrowDropDown' | 'cancel' | 'cancelFilled' | 'check' | 'checkBox' | 'checkBoxBlank' | 'checkIndeterminate' | 'chevronLeft' | 'chevronRight' | 'close' | 'cloud' | 'cloudFilled' | 'collectionsBookmark' | 'deleteFile' | 'deleteOutline' | 'edit' | 'environment' | 'expandMore' | 'fileDownload' | 'folder' | 'folderFilled' | 'folderShared' | 'help' | 'history' | 'info' | 'key' | 'menu' | 'leaderBoard' | 'moreVert' | 'openInNew' | 'personAdd' | 'playArrow' | 'project' | 'remove' | 'rename' | 'request' | 'restoreFromTrash' | 'save' | 'schema' | 'schemaEntity' | 'schemaModel' | 'schemaNamespace' | 'search' | 'send' | 'settings' | 'space' | 'taskAlt' | 'timeline' | 'tune' | 'viewGrid' | 'viewList' | 'visibility' | 'visibilityOff' | 'warning';
9
9
  export declare const add: SVGTemplateResult;
10
10
  export declare const api: SVGTemplateResult;
11
11
  export declare const apps: SVGTemplateResult;
@@ -58,6 +58,7 @@ export declare const settings: SVGTemplateResult;
58
58
  export declare const space: SVGTemplateResult;
59
59
  export declare const taskAlt: SVGTemplateResult;
60
60
  export declare const timeline: SVGTemplateResult;
61
+ export declare const tune: SVGTemplateResult;
61
62
  export declare const viewGrid: SVGTemplateResult;
62
63
  export declare const viewList: SVGTemplateResult;
63
64
  export declare const visibility: SVGTemplateResult;
@@ -1 +1 @@
1
- {"version":3,"file":"Icons.d.ts","sourceRoot":"","sources":["../../../src/ui/icons/Icons.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Icons.d.ts","sourceRoot":"","sources":["../../../src/ui/icons/Icons.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { svg } from 'lit';
4
4
  * @param tpl Icon definition
5
5
  * @returns Complete SVG icon definition
6
6
  */
7
- export const iconWrapper = (tpl, width = 24, height = 24) => svg `<svg viewBox="0 0 ${width} ${height}" preserveAspectRatio="xMidYMid meet" focusable="false" style="pointer-events: none; display: block; width: 100%; height: 100%;">${tpl}</svg>`;
7
+ export const iconWrapper = (tpl, width = 24, height = 24, top = 0, left = 0) => svg `<svg viewBox="${top} ${left} ${width} ${height}" preserveAspectRatio="xMidYMid meet" focusable="false" style="pointer-events: none; display: block; width: 100%; height: 100%;">${tpl}</svg>`;
8
8
  export const add = iconWrapper(svg `<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>`);
9
9
  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"/>`);
10
10
  export const apps = iconWrapper(svg `<path d="M6 8Q5.175 8 4.588 7.412Q4 6.825 4 6Q4 5.175 4.588 4.588Q5.175 4 6 4Q6.825 4 7.412 4.588Q8 5.175 8 6Q8 6.825 7.412 7.412Q6.825 8 6 8ZM12 20Q11.175 20 10.588 19.413Q10 18.825 10 18Q10 17.175 10.588 16.587Q11.175 16 12 16Q12.825 16 13.413 16.587Q14 17.175 14 18Q14 18.825 13.413 19.413Q12.825 20 12 20ZM6 20Q5.175 20 4.588 19.413Q4 18.825 4 18Q4 17.175 4.588 16.587Q5.175 16 6 16Q6.825 16 7.412 16.587Q8 17.175 8 18Q8 18.825 7.412 19.413Q6.825 20 6 20ZM6 14Q5.175 14 4.588 13.412Q4 12.825 4 12Q4 11.175 4.588 10.587Q5.175 10 6 10Q6.825 10 7.412 10.587Q8 11.175 8 12Q8 12.825 7.412 13.412Q6.825 14 6 14ZM12 14Q11.175 14 10.588 13.412Q10 12.825 10 12Q10 11.175 10.588 10.587Q11.175 10 12 10Q12.825 10 13.413 10.587Q14 11.175 14 12Q14 12.825 13.413 13.412Q12.825 14 12 14ZM18 8Q17.175 8 16.587 7.412Q16 6.825 16 6Q16 5.175 16.587 4.588Q17.175 4 18 4Q18.825 4 19.413 4.588Q20 5.175 20 6Q20 6.825 19.413 7.412Q18.825 8 18 8ZM12 8Q11.175 8 10.588 7.412Q10 6.825 10 6Q10 5.175 10.588 4.588Q11.175 4 12 4Q12.825 4 13.413 4.588Q14 5.175 14 6Q14 6.825 13.413 7.412Q12.825 8 12 8ZM18 14Q17.175 14 16.587 13.412Q16 12.825 16 12Q16 11.175 16.587 10.587Q17.175 10 18 10Q18.825 10 19.413 10.587Q20 11.175 20 12Q20 12.825 19.413 13.412Q18.825 14 18 14ZM18 20Q17.175 20 16.587 19.413Q16 18.825 16 18Q16 17.175 16.587 16.587Q17.175 16 18 16Q18.825 16 19.413 16.587Q20 17.175 20 18Q20 18.825 19.413 19.413Q18.825 20 18 20Z"/>`);
@@ -57,6 +57,7 @@ export const settings = iconWrapper(svg `<path d="M0 0h24v24H0V0z" fill="none"/>
57
57
  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);
58
58
  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"/>`);
59
59
  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"/>`);
60
+ 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);
60
61
  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"/>`);
61
62
  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"/>`);
62
63
  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>`);
@@ -1 +1 @@
1
- {"version":3,"file":"Icons.js","sourceRoot":"","sources":["../../../src/ui/icons/Icons.ts"],"names":[],"mappings":"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","sourcesContent":["import { svg, SVGTemplateResult } from 'lit';\n\n/**\n * Wraps icon into an SVG container.\n * @param tpl Icon definition\n * @returns Complete SVG icon definition\n */\nexport 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>`;\n\nexport type IconType = \n 'add' | 'api' | 'apps' | 'arrowBack' | 'arrowDropDown' | 'cancel' | 'cancelFilled' | 'check' | 'checkBox' | 'checkBoxBlank' | 'checkIndeterminate' | 'chevronLeft' | 'chevronRight' | 'close' | 'cloud' | 'cloudFilled' | 'collectionsBookmark' | 'deleteFile' | 'deleteOutline' | 'edit' | 'environment' | 'expandMore' | \n 'fileDownload' | 'folder' | 'folderFilled' | 'folderShared' | 'help' | 'history' | 'info' | 'key' | 'menu' | 'leaderBoard' |\n 'moreVert' | 'openInNew' | 'personAdd' | 'playArrow' | 'project' | 'remove' | 'rename' | 'request' | 'restoreFromTrash' | 'save' |\n 'schema' | 'schemaEntity' | 'schemaModel' | 'schemaNamespace' | 'search' | 'send' | 'settings' | 'space' | 'taskAlt' | 'timeline' | 'viewGrid' | 'viewList' | 'visibility' | 'visibilityOff' | 'warning';\n\nexport const add = iconWrapper(svg`<path d=\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"></path>`);\nexport 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\"/>`);\nexport const apps = iconWrapper(svg`<path d=\"M6 8Q5.175 8 4.588 7.412Q4 6.825 4 6Q4 5.175 4.588 4.588Q5.175 4 6 4Q6.825 4 7.412 4.588Q8 5.175 8 6Q8 6.825 7.412 7.412Q6.825 8 6 8ZM12 20Q11.175 20 10.588 19.413Q10 18.825 10 18Q10 17.175 10.588 16.587Q11.175 16 12 16Q12.825 16 13.413 16.587Q14 17.175 14 18Q14 18.825 13.413 19.413Q12.825 20 12 20ZM6 20Q5.175 20 4.588 19.413Q4 18.825 4 18Q4 17.175 4.588 16.587Q5.175 16 6 16Q6.825 16 7.412 16.587Q8 17.175 8 18Q8 18.825 7.412 19.413Q6.825 20 6 20ZM6 14Q5.175 14 4.588 13.412Q4 12.825 4 12Q4 11.175 4.588 10.587Q5.175 10 6 10Q6.825 10 7.412 10.587Q8 11.175 8 12Q8 12.825 7.412 13.412Q6.825 14 6 14ZM12 14Q11.175 14 10.588 13.412Q10 12.825 10 12Q10 11.175 10.588 10.587Q11.175 10 12 10Q12.825 10 13.413 10.587Q14 11.175 14 12Q14 12.825 13.413 13.412Q12.825 14 12 14ZM18 8Q17.175 8 16.587 7.412Q16 6.825 16 6Q16 5.175 16.587 4.588Q17.175 4 18 4Q18.825 4 19.413 4.588Q20 5.175 20 6Q20 6.825 19.413 7.412Q18.825 8 18 8ZM12 8Q11.175 8 10.588 7.412Q10 6.825 10 6Q10 5.175 10.588 4.588Q11.175 4 12 4Q12.825 4 13.413 4.588Q14 5.175 14 6Q14 6.825 13.413 7.412Q12.825 8 12 8ZM18 14Q17.175 14 16.587 13.412Q16 12.825 16 12Q16 11.175 16.587 10.587Q17.175 10 18 10Q18.825 10 19.413 10.587Q20 11.175 20 12Q20 12.825 19.413 13.412Q18.825 14 18 14ZM18 20Q17.175 20 16.587 19.413Q16 18.825 16 18Q16 17.175 16.587 16.587Q17.175 16 18 16Q18.825 16 19.413 16.587Q20 17.175 20 18Q20 18.825 19.413 19.413Q18.825 20 18 20Z\"/>`);\nexport const arrowBack = iconWrapper(svg`<path d=\"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z\"></path>`);\nexport const arrowDropDown = iconWrapper(svg`<path d=\"M7 10l5 5 5-5z\"/>`);\nexport const cancel = iconWrapper(svg`<path d=\"M0 0h24v24H0V0z\" fill=\"none\" opacity=\".87\"/><path d=\"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm3.59-13L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41z\"/>`);\nexport const cancelFilled = iconWrapper(svg`<path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"/>`);\nexport const check = iconWrapper(svg`<path d=\"m9.55 18-5.7-5.7 1.425-1.425L9.55 15.15l9.175-9.175L20.15 7.4Z\"/>`);\nexport const checkBox = iconWrapper(svg`<path d=\"m10.6 16.2 7.05-7.05-1.4-1.4-5.65 5.65-2.85-2.85-1.4 1.4ZM5 21q-.825 0-1.413-.587Q3 19.825 3 19V5q0-.825.587-1.413Q4.175 3 5 3h14q.825 0 1.413.587Q21 4.175 21 5v14q0 .825-.587 1.413Q19.825 21 19 21Zm0-2h14V5H5v14ZM5 5v14V5Z\"/>`);\nexport const checkBoxBlank = iconWrapper(svg`<path d=\"M5 21q-.825 0-1.413-.587Q3 19.825 3 19V5q0-.825.587-1.413Q4.175 3 5 3h14q.825 0 1.413.587Q21 4.175 21 5v14q0 .825-.587 1.413Q19.825 21 19 21Zm0-2h14V5H5v14Z\"/>`);\nexport const checkIndeterminate = iconWrapper(svg`<path d=\"M7 13v-2h10v2Z\"/>`);\nexport const chevronLeft = iconWrapper(svg`<path d=\"m14 18-6-6 6-6 1.4 1.4-4.6 4.6 4.6 4.6Z\"/>`);\nexport const chevronRight = iconWrapper(svg`<path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"/>`);\nexport const close = iconWrapper(svg`<path d=\"M6.4 19 5 17.6l5.6-5.6L5 6.4 6.4 5l5.6 5.6L17.6 5 19 6.4 13.4 12l5.6 5.6-1.4 1.4-5.6-5.6Z\"></path>`);\nexport const cloud = iconWrapper(svg`<path d=\"M12 6c2.62 0 4.88 1.86 5.39 4.43l.3 1.5 1.53.11c1.56.1 2.78 1.41 2.78 2.96 0 1.65-1.35 3-3 3H6c-2.21 0-4-1.79-4-4 0-2.05 1.53-3.76 3.56-3.97l1.07-.11.5-.95C8.08 7.14 9.94 6 12 6m0-2C9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96C18.67 6.59 15.64 4 12 4z\"/>`);\nexport const cloudFilled = iconWrapper(svg`<path d=\"M6.5 20Q4.225 20 2.613 18.425Q1 16.85 1 14.575Q1 12.625 2.175 11.1Q3.35 9.575 5.25 9.15Q5.875 6.85 7.75 5.425Q9.625 4 12 4Q14.925 4 16.962 6.037Q19 8.075 19 11Q20.725 11.2 21.863 12.487Q23 13.775 23 15.5Q23 17.375 21.688 18.688Q20.375 20 18.5 20Z\"/>`);\nexport const collectionsBookmark = iconWrapper(svg`<path d=\"M8 16h12V4h-2v7l-2.5-1.5L13 11V4H8v12Zm0 2q-.825 0-1.412-.587Q6 16.825 6 16V4q0-.825.588-1.413Q7.175 2 8 2h12q.825 0 1.413.587Q22 3.175 22 4v12q0 .825-.587 1.413Q20.825 18 20 18Zm-4 4q-.825 0-1.412-.587Q2 20.825 2 20V6h2v14h14v2Zm9-18h5ZM8 4h12Z\"/>`);\nexport const deleteFile = iconWrapper(svg`<path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M16 9v10H8V9h8m-1.5-6h-5l-1 1H5v2h14V4h-3.5l-1-1zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7z\"/>`);\nexport const deleteOutline = iconWrapper(svg`<path d=\"M7 21q-.825 0-1.412-.587Q5 19.825 5 19V6H4V4h5V3h6v1h5v2h-1v13q0 .825-.587 1.413Q17.825 21 17 21ZM17 6H7v13h10ZM9 17h2V8H9Zm4 0h2V8h-2ZM7 6v13Z\"/>`);\nexport const edit = iconWrapper(svg`<path d=\"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\"></path>`);\nexport const environment = iconWrapper(svg`<path d=\"M160,32h0V160s0,0,0,0H32l0,0h0V32s0,0,0,0H160m0-12H32A12,12,0,0,0,20,32V160a12,12,0,0,0,12,12H160a12,12,0,0,0,12-12V32a12,12,0,0,0-12-12Z\"/><path d=\"M96,68A28,28,0,1,1,68,96,28,28,0,0,1,96,68m0-12a40,40,0,1,0,40,40A40,40,0,0,0,96,56Z\"/><rect width=\"192\" height=\"192\" style=\"fill:none\"/>`, 192, 192);\nexport const expandMore = iconWrapper(svg`<path d=\"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z\"></path>`);\nexport const fileDownload = iconWrapper(svg`<path d=\"M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z\"></path>`);\nexport const folder = iconWrapper(svg`<path d=\"M9.17 6l2 2H20v10H4V6h5.17M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z\"/>`);\nexport const folderFilled = iconWrapper(svg`<path d=\"M4 20Q3.175 20 2.588 19.413Q2 18.825 2 18V6Q2 5.175 2.588 4.588Q3.175 4 4 4H10L12 6H20Q20.825 6 21.413 6.588Q22 7.175 22 8V18Q22 18.825 21.413 19.413Q20.825 20 20 20Z\"/>`);\nexport const folderShared = iconWrapper(svg`<path d=\"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V6h5.17l2 2H20v10zm-5-5c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm-4 4h8v-1c0-1.33-2.67-2-4-2s-4 .67-4 2v1z\"/>`);\nexport const help = iconWrapper(svg`<path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z\"></path>`);\nexport const history = iconWrapper(svg`<path d=\"M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z\"></path>`);\nexport const info = iconWrapper(svg`<path d=\"M11 17h2v-6h-2v6zm1-15C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zM11 9h2V7h-2v2z\"></path>`);\nexport const key = iconWrapper(svg`<g><rect fill=\"none\" height=\"24\" width=\"24\"/></g><g><path d=\"M21,10h-8.35C11.83,7.67,9.61,6,7,6c-3.31,0-6,2.69-6,6s2.69,6,6,6c2.61,0,4.83-1.67,5.65-4H13l2,2l2-2l2,2l4-4.04L21,10z M7,15c-1.65,0-3-1.35-3-3c0-1.65,1.35-3,3-3s3,1.35,3,3C10,13.65,8.65,15,7,15z\"/></g>`);\nexport const leaderBoard = iconWrapper(svg`<rect fill=\"none\" height=\"24\" width=\"24\"/><g><path d=\"M16,11V3H8v6H2v12h20V11H16z M10,5h4v14h-4V5z M4,11h4v8H4V11z M20,19h-4v-6h4V19z\"/></g>`);\nexport const menu = iconWrapper(svg`<path d=\"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z\"></path>`);\nexport const moreVert = iconWrapper(svg`<path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"/>`);\nexport const openInNew = iconWrapper(svg`<path d=\"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z\"></path>`);\nexport const personAdd = iconWrapper(svg`<g><rect fill=\"none\" height=\"24\" width=\"24\"/></g><g><path d=\"M20,9V6h-2v3h-3v2h3v3h2v-3h3V9H20z M9,12c2.21,0,4-1.79,4-4c0-2.21-1.79-4-4-4S5,5.79,5,8C5,10.21,6.79,12,9,12z M9,6 c1.1,0,2,0.9,2,2c0,1.1-0.9,2-2,2S7,9.1,7,8C7,6.9,7.9,6,9,6z M15.39,14.56C13.71,13.7,11.53,13,9,13c-2.53,0-4.71,0.7-6.39,1.56 C1.61,15.07,1,16.1,1,17.22V20h16v-2.78C17,16.1,16.39,15.07,15.39,14.56z M15,18H3v-0.78c0-0.38,0.2-0.72,0.52-0.88 C4.71,15.73,6.63,15,9,15c2.37,0,4.29,0.73,5.48,1.34C14.8,16.5,15,16.84,15,17.22V18z\"/></g>`);\nexport const playArrow = iconWrapper(svg`<path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M10 8.64L15.27 12 10 15.36V8.64M8 5v14l11-7L8 5z\"/>`);\nexport const project = iconWrapper(svg`<path d=\"M160,32h0V160s0,0,0,0H32l0,0h0V32s0,0,0,0H160m0-12H32A12,12,0,0,0,20,32V160a12,12,0,0,0,12,12H160a12,12,0,0,0,12-12V32a12,12,0,0,0-12-12Z\"/><circle cx=\"63\" cy=\"63\" r=\"9\" style=\"fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:8px\"/><circle cx=\"63\" cy=\"96\" r=\"9\" style=\"fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:8px\"/><circle cx=\"63\" cy=\"129\" r=\"9\" style=\"fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:8px\"/><rect width=\"192\" height=\"192\" style=\"fill:none\"/>`, 192, 192);\nexport const remove = iconWrapper(svg`<path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M19 13H5v-2h14v2z\"/>`);\nexport const rename = iconWrapper(svg`<g><rect fill=\"none\" height=\"24\" width=\"24\"/></g><g><g><polygon points=\"15,16 11,20 21,20 21,16\"/><path d=\"M12.06,7.19L3,16.25V20h3.75l9.06-9.06L12.06,7.19z M5.92,18H5v-0.92l7.06-7.06l0.92,0.92L5.92,18z\"/><path d=\"M18.71,8.04c0.39-0.39,0.39-1.02,0-1.41l-2.34-2.34C16.17,4.09,15.92,4,15.66,4c-0.25,0-0.51,0.1-0.7,0.29l-1.83,1.83 l3.75,3.75L18.71,8.04z\"/></g></g>`);\nexport const request = iconWrapper(svg`<polygon points=\"136 136 56 136 32 96 56 56 136 56 160 96 136 136\" style=\"fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:12px\"/><rect width=\"192\" height=\"192\" style=\"fill:none\"/>`, 192, 192);\nexport const restoreFromTrash = iconWrapper(svg`<path d=\"M11 16h2v-4.15l1.6 1.55L16 12l-4-4-4 4 1.4 1.4 1.6-1.55Zm-4 5q-.825 0-1.412-.587Q5 19.825 5 19V6H4V4h5V3h6v1h5v2h-1v13q0 .825-.587 1.413Q17.825 21 17 21ZM17 6H7v13h10ZM7 6v13Z\"/>`);\nexport const save = iconWrapper(svg`<path d=\"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z\"></path>`);\nexport const schema = iconWrapper(svg`<path d=\"M83.31,32.21a8,8,0,0,0-5.66,2.34L22.34,89.86a8.63,8.63,0,0,0,0,11.8L77.65,157A8,8,0,0,0,89,145.65L39.07,95.76,89,45.86a8,8,0,0,0-5.66-13.65Z\"/><path d=\"M108.9,32.53a8,8,0,0,0-5.66,13.65l49.9,49.9L103.24,146a8,8,0,0,0,11.32,11.32L169.87,102a8.63,8.63,0,0,0,0-11.8L114.56,34.87a8,8,0,0,0-5.66-2.34Z\"/><rect width=\"192\" height=\"192\" style=\"fill:none\"/>`, 192, 192);\nexport const schemaEntity = iconWrapper(svg`<path d=\"M19.78,1.4H4.7A3.22,3.22,0,0,0,1.45,4.65V19.74A3.22,3.22,0,0,0,4.7,23H19.78A3.22,3.22,0,0,0,23,19.74V4.65A3.22,3.22,0,0,0,19.78,1.4Zm1.95,18.34a2,2,0,0,1-1.95,2H4.7a2,2,0,0,1-1.95-2V4.65a2,2,0,0,1,2-1.95H19.78a2,2,0,0,1,1.95,2Z\"/><rect x=\"5.4\" y=\"5.35\" width=\"13.69\" height=\"13.69\" rx=\"2.06\"/><rect x=\"6.44\" y=\"6.39\" width=\"11.61\" height=\"11.61\" rx=\"1.02\"/><path d=\"M0,0H24V24H0Z\" style=\"fill:none\"/>`);\nexport const schemaModel = iconWrapper(svg`<path d=\"M3.4,16.79H9.09a1.71,1.71,0,0,0,1.85-1.55V8.85A1.8,1.8,0,0,0,9.09,7.21H3.4A1.71,1.71,0,0,0,1.55,8.76s0,.06,0,.09v6.3A1.7,1.7,0,0,0,3.3,16.79ZM14.91,23H20.6a1.7,1.7,0,0,0,1.85-1.54s0-.07,0-.1V15.06a1.8,1.8,0,0,0-1.86-1.64H14.91A1.71,1.71,0,0,0,13.06,15v6.38C12.93,22.31,13.85,23,14.91,23Zm0-12.55H20.6A1.7,1.7,0,0,0,22.45,8.9s0-.07,0-.1V2.65A1.79,1.79,0,0,0,20.6,1H14.91a1.7,1.7,0,0,0-1.85,1.54V8.94C12.93,9.76,13.85,10.44,14.91,10.44Z\" style=\"isolation:isolate\"/><path d=\"M0,0H24V24H0Z\" style=\"fill:none\"/>`);\nexport const schemaNamespace = iconWrapper(svg`<path d=\"M3.41,10.12H9.09a1.68,1.68,0,0,0,1.85-1.59V2.59A1.76,1.76,0,0,0,9.09,1H3.41A1.68,1.68,0,0,0,1.56,2.59V8.67A1.67,1.67,0,0,0,3.41,10.12Zm0,12.94H9.09a1.68,1.68,0,0,0,1.85-1.58V15.4a1.76,1.76,0,0,0-1.85-1.59H3.41A1.68,1.68,0,0,0,1.56,15.4v6.08A1.68,1.68,0,0,0,3.41,23.06Zm11.5,0h5.68a1.68,1.68,0,0,0,1.85-1.58V15.4a1.76,1.76,0,0,0-1.85-1.59H14.91a1.68,1.68,0,0,0-1.85,1.59v6.08C12.93,22.4,13.85,23.06,14.91,23.06Zm0-12.94h5.68a1.68,1.68,0,0,0,1.85-1.59V2.59A1.76,1.76,0,0,0,20.59,1H14.91a1.68,1.68,0,0,0-1.85,1.59V8.67C12.93,9.46,13.85,10.12,14.91,10.12Z\"/><path d=\"M0,0H24V24H0Z\" style=\"fill:none\"/>`);\nexport const search = iconWrapper(svg`<path d=\"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\"></path>`);\nexport const send = iconWrapper(svg`<path d=\"M2.01 21L23 12 2.01 3 2 10l15 2-15 2z\"></path>`);\nexport const settings = iconWrapper(svg`<path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M19.43 12.98c.04-.32.07-.64.07-.98 0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.09-.16-.26-.25-.44-.25-.06 0-.12.01-.17.03l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.06-.02-.12-.03-.18-.03-.17 0-.34.09-.43.25l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98 0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.09.16.26.25.44.25.06 0 .12-.01.17-.03l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.06.02.12.03.18.03.17 0 .34-.09.43-.25l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zm-1.98-1.71c.04.31.05.52.05.73 0 .21-.02.43-.05.73l-.14 1.13.89.7 1.08.84-.7 1.21-1.27-.51-1.04-.42-.9.68c-.43.32-.84.56-1.25.73l-1.06.43-.16 1.13-.2 1.35h-1.4l-.19-1.35-.16-1.13-1.06-.43c-.43-.18-.83-.41-1.23-.71l-.91-.7-1.06.43-1.27.51-.7-1.21 1.08-.84.89-.7-.14-1.13c-.03-.31-.05-.54-.05-.74s.02-.43.05-.73l.14-1.13-.89-.7-1.08-.84.7-1.21 1.27.51 1.04.42.9-.68c.43-.32.84-.56 1.25-.73l1.06-.43.16-1.13.2-1.35h1.39l.19 1.35.16 1.13 1.06.43c.43.18.83.41 1.23.71l.91.7 1.06-.43 1.27-.51.7 1.21-1.07.85-.89.7.14 1.13zM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"/>`);\nexport 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);\nexport 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\"/>`);\nexport 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\"/>`);\nexport 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\"/>`);\nexport 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\"/>`);\nexport 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>`);\nexport const visibilityOff = iconWrapper(svg`<path d=\"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"></path>`);\nexport const warning = iconWrapper(svg`<path d=\"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z\"></path>`);\n"]}
1
+ {"version":3,"file":"Icons.js","sourceRoot":"","sources":["../../../src/ui/icons/Icons.ts"],"names":[],"mappings":"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","sourcesContent":["import { svg, SVGTemplateResult } from 'lit';\n\n/**\n * Wraps icon into an SVG container.\n * @param tpl Icon definition\n * @returns Complete SVG icon definition\n */\nexport 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>`;\n\nexport type IconType = \n 'add' | 'api' | 'apps' | 'arrowBack' | 'arrowDropDown' | 'cancel' | 'cancelFilled' | 'check' | 'checkBox' | 'checkBoxBlank' | 'checkIndeterminate' | 'chevronLeft' | 'chevronRight' | 'close' | 'cloud' | 'cloudFilled' | 'collectionsBookmark' | 'deleteFile' | 'deleteOutline' | 'edit' | 'environment' | 'expandMore' | \n 'fileDownload' | 'folder' | 'folderFilled' | 'folderShared' | 'help' | 'history' | 'info' | 'key' | 'menu' | 'leaderBoard' |\n 'moreVert' | 'openInNew' | 'personAdd' | 'playArrow' | 'project' | 'remove' | 'rename' | 'request' | 'restoreFromTrash' | 'save' |\n 'schema' | 'schemaEntity' | 'schemaModel' | 'schemaNamespace' | 'search' | 'send' | 'settings' | 'space' | 'taskAlt' | 'timeline' | 'tune' | 'viewGrid' | 'viewList' | 'visibility' | 'visibilityOff' | 'warning';\n\nexport const add = iconWrapper(svg`<path d=\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"></path>`);\nexport 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\"/>`);\nexport const apps = iconWrapper(svg`<path d=\"M6 8Q5.175 8 4.588 7.412Q4 6.825 4 6Q4 5.175 4.588 4.588Q5.175 4 6 4Q6.825 4 7.412 4.588Q8 5.175 8 6Q8 6.825 7.412 7.412Q6.825 8 6 8ZM12 20Q11.175 20 10.588 19.413Q10 18.825 10 18Q10 17.175 10.588 16.587Q11.175 16 12 16Q12.825 16 13.413 16.587Q14 17.175 14 18Q14 18.825 13.413 19.413Q12.825 20 12 20ZM6 20Q5.175 20 4.588 19.413Q4 18.825 4 18Q4 17.175 4.588 16.587Q5.175 16 6 16Q6.825 16 7.412 16.587Q8 17.175 8 18Q8 18.825 7.412 19.413Q6.825 20 6 20ZM6 14Q5.175 14 4.588 13.412Q4 12.825 4 12Q4 11.175 4.588 10.587Q5.175 10 6 10Q6.825 10 7.412 10.587Q8 11.175 8 12Q8 12.825 7.412 13.412Q6.825 14 6 14ZM12 14Q11.175 14 10.588 13.412Q10 12.825 10 12Q10 11.175 10.588 10.587Q11.175 10 12 10Q12.825 10 13.413 10.587Q14 11.175 14 12Q14 12.825 13.413 13.412Q12.825 14 12 14ZM18 8Q17.175 8 16.587 7.412Q16 6.825 16 6Q16 5.175 16.587 4.588Q17.175 4 18 4Q18.825 4 19.413 4.588Q20 5.175 20 6Q20 6.825 19.413 7.412Q18.825 8 18 8ZM12 8Q11.175 8 10.588 7.412Q10 6.825 10 6Q10 5.175 10.588 4.588Q11.175 4 12 4Q12.825 4 13.413 4.588Q14 5.175 14 6Q14 6.825 13.413 7.412Q12.825 8 12 8ZM18 14Q17.175 14 16.587 13.412Q16 12.825 16 12Q16 11.175 16.587 10.587Q17.175 10 18 10Q18.825 10 19.413 10.587Q20 11.175 20 12Q20 12.825 19.413 13.412Q18.825 14 18 14ZM18 20Q17.175 20 16.587 19.413Q16 18.825 16 18Q16 17.175 16.587 16.587Q17.175 16 18 16Q18.825 16 19.413 16.587Q20 17.175 20 18Q20 18.825 19.413 19.413Q18.825 20 18 20Z\"/>`);\nexport const arrowBack = iconWrapper(svg`<path d=\"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z\"></path>`);\nexport const arrowDropDown = iconWrapper(svg`<path d=\"M7 10l5 5 5-5z\"/>`);\nexport const cancel = iconWrapper(svg`<path d=\"M0 0h24v24H0V0z\" fill=\"none\" opacity=\".87\"/><path d=\"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm3.59-13L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41z\"/>`);\nexport const cancelFilled = iconWrapper(svg`<path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"/>`);\nexport const check = iconWrapper(svg`<path d=\"m9.55 18-5.7-5.7 1.425-1.425L9.55 15.15l9.175-9.175L20.15 7.4Z\"/>`);\nexport const checkBox = iconWrapper(svg`<path d=\"m10.6 16.2 7.05-7.05-1.4-1.4-5.65 5.65-2.85-2.85-1.4 1.4ZM5 21q-.825 0-1.413-.587Q3 19.825 3 19V5q0-.825.587-1.413Q4.175 3 5 3h14q.825 0 1.413.587Q21 4.175 21 5v14q0 .825-.587 1.413Q19.825 21 19 21Zm0-2h14V5H5v14ZM5 5v14V5Z\"/>`);\nexport const checkBoxBlank = iconWrapper(svg`<path d=\"M5 21q-.825 0-1.413-.587Q3 19.825 3 19V5q0-.825.587-1.413Q4.175 3 5 3h14q.825 0 1.413.587Q21 4.175 21 5v14q0 .825-.587 1.413Q19.825 21 19 21Zm0-2h14V5H5v14Z\"/>`);\nexport const checkIndeterminate = iconWrapper(svg`<path d=\"M7 13v-2h10v2Z\"/>`);\nexport const chevronLeft = iconWrapper(svg`<path d=\"m14 18-6-6 6-6 1.4 1.4-4.6 4.6 4.6 4.6Z\"/>`);\nexport const chevronRight = iconWrapper(svg`<path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"/>`);\nexport const close = iconWrapper(svg`<path d=\"M6.4 19 5 17.6l5.6-5.6L5 6.4 6.4 5l5.6 5.6L17.6 5 19 6.4 13.4 12l5.6 5.6-1.4 1.4-5.6-5.6Z\"></path>`);\nexport const cloud = iconWrapper(svg`<path d=\"M12 6c2.62 0 4.88 1.86 5.39 4.43l.3 1.5 1.53.11c1.56.1 2.78 1.41 2.78 2.96 0 1.65-1.35 3-3 3H6c-2.21 0-4-1.79-4-4 0-2.05 1.53-3.76 3.56-3.97l1.07-.11.5-.95C8.08 7.14 9.94 6 12 6m0-2C9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96C18.67 6.59 15.64 4 12 4z\"/>`);\nexport const cloudFilled = iconWrapper(svg`<path d=\"M6.5 20Q4.225 20 2.613 18.425Q1 16.85 1 14.575Q1 12.625 2.175 11.1Q3.35 9.575 5.25 9.15Q5.875 6.85 7.75 5.425Q9.625 4 12 4Q14.925 4 16.962 6.037Q19 8.075 19 11Q20.725 11.2 21.863 12.487Q23 13.775 23 15.5Q23 17.375 21.688 18.688Q20.375 20 18.5 20Z\"/>`);\nexport const collectionsBookmark = iconWrapper(svg`<path d=\"M8 16h12V4h-2v7l-2.5-1.5L13 11V4H8v12Zm0 2q-.825 0-1.412-.587Q6 16.825 6 16V4q0-.825.588-1.413Q7.175 2 8 2h12q.825 0 1.413.587Q22 3.175 22 4v12q0 .825-.587 1.413Q20.825 18 20 18Zm-4 4q-.825 0-1.412-.587Q2 20.825 2 20V6h2v14h14v2Zm9-18h5ZM8 4h12Z\"/>`);\nexport const deleteFile = iconWrapper(svg`<path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M16 9v10H8V9h8m-1.5-6h-5l-1 1H5v2h14V4h-3.5l-1-1zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7z\"/>`);\nexport const deleteOutline = iconWrapper(svg`<path d=\"M7 21q-.825 0-1.412-.587Q5 19.825 5 19V6H4V4h5V3h6v1h5v2h-1v13q0 .825-.587 1.413Q17.825 21 17 21ZM17 6H7v13h10ZM9 17h2V8H9Zm4 0h2V8h-2ZM7 6v13Z\"/>`);\nexport const edit = iconWrapper(svg`<path d=\"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\"></path>`);\nexport const environment = iconWrapper(svg`<path d=\"M160,32h0V160s0,0,0,0H32l0,0h0V32s0,0,0,0H160m0-12H32A12,12,0,0,0,20,32V160a12,12,0,0,0,12,12H160a12,12,0,0,0,12-12V32a12,12,0,0,0-12-12Z\"/><path d=\"M96,68A28,28,0,1,1,68,96,28,28,0,0,1,96,68m0-12a40,40,0,1,0,40,40A40,40,0,0,0,96,56Z\"/><rect width=\"192\" height=\"192\" style=\"fill:none\"/>`, 192, 192);\nexport const expandMore = iconWrapper(svg`<path d=\"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z\"></path>`);\nexport const fileDownload = iconWrapper(svg`<path d=\"M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z\"></path>`);\nexport const folder = iconWrapper(svg`<path d=\"M9.17 6l2 2H20v10H4V6h5.17M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z\"/>`);\nexport const folderFilled = iconWrapper(svg`<path d=\"M4 20Q3.175 20 2.588 19.413Q2 18.825 2 18V6Q2 5.175 2.588 4.588Q3.175 4 4 4H10L12 6H20Q20.825 6 21.413 6.588Q22 7.175 22 8V18Q22 18.825 21.413 19.413Q20.825 20 20 20Z\"/>`);\nexport const folderShared = iconWrapper(svg`<path d=\"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V6h5.17l2 2H20v10zm-5-5c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm-4 4h8v-1c0-1.33-2.67-2-4-2s-4 .67-4 2v1z\"/>`);\nexport const help = iconWrapper(svg`<path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z\"></path>`);\nexport const history = iconWrapper(svg`<path d=\"M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z\"></path>`);\nexport const info = iconWrapper(svg`<path d=\"M11 17h2v-6h-2v6zm1-15C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zM11 9h2V7h-2v2z\"></path>`);\nexport const key = iconWrapper(svg`<g><rect fill=\"none\" height=\"24\" width=\"24\"/></g><g><path d=\"M21,10h-8.35C11.83,7.67,9.61,6,7,6c-3.31,0-6,2.69-6,6s2.69,6,6,6c2.61,0,4.83-1.67,5.65-4H13l2,2l2-2l2,2l4-4.04L21,10z M7,15c-1.65,0-3-1.35-3-3c0-1.65,1.35-3,3-3s3,1.35,3,3C10,13.65,8.65,15,7,15z\"/></g>`);\nexport const leaderBoard = iconWrapper(svg`<rect fill=\"none\" height=\"24\" width=\"24\"/><g><path d=\"M16,11V3H8v6H2v12h20V11H16z M10,5h4v14h-4V5z M4,11h4v8H4V11z M20,19h-4v-6h4V19z\"/></g>`);\nexport const menu = iconWrapper(svg`<path d=\"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z\"></path>`);\nexport const moreVert = iconWrapper(svg`<path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"/>`);\nexport const openInNew = iconWrapper(svg`<path d=\"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z\"></path>`);\nexport const personAdd = iconWrapper(svg`<g><rect fill=\"none\" height=\"24\" width=\"24\"/></g><g><path d=\"M20,9V6h-2v3h-3v2h3v3h2v-3h3V9H20z M9,12c2.21,0,4-1.79,4-4c0-2.21-1.79-4-4-4S5,5.79,5,8C5,10.21,6.79,12,9,12z M9,6 c1.1,0,2,0.9,2,2c0,1.1-0.9,2-2,2S7,9.1,7,8C7,6.9,7.9,6,9,6z M15.39,14.56C13.71,13.7,11.53,13,9,13c-2.53,0-4.71,0.7-6.39,1.56 C1.61,15.07,1,16.1,1,17.22V20h16v-2.78C17,16.1,16.39,15.07,15.39,14.56z M15,18H3v-0.78c0-0.38,0.2-0.72,0.52-0.88 C4.71,15.73,6.63,15,9,15c2.37,0,4.29,0.73,5.48,1.34C14.8,16.5,15,16.84,15,17.22V18z\"/></g>`);\nexport const playArrow = iconWrapper(svg`<path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M10 8.64L15.27 12 10 15.36V8.64M8 5v14l11-7L8 5z\"/>`);\nexport const project = iconWrapper(svg`<path d=\"M160,32h0V160s0,0,0,0H32l0,0h0V32s0,0,0,0H160m0-12H32A12,12,0,0,0,20,32V160a12,12,0,0,0,12,12H160a12,12,0,0,0,12-12V32a12,12,0,0,0-12-12Z\"/><circle cx=\"63\" cy=\"63\" r=\"9\" style=\"fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:8px\"/><circle cx=\"63\" cy=\"96\" r=\"9\" style=\"fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:8px\"/><circle cx=\"63\" cy=\"129\" r=\"9\" style=\"fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:8px\"/><rect width=\"192\" height=\"192\" style=\"fill:none\"/>`, 192, 192);\nexport const remove = iconWrapper(svg`<path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M19 13H5v-2h14v2z\"/>`);\nexport const rename = iconWrapper(svg`<g><rect fill=\"none\" height=\"24\" width=\"24\"/></g><g><g><polygon points=\"15,16 11,20 21,20 21,16\"/><path d=\"M12.06,7.19L3,16.25V20h3.75l9.06-9.06L12.06,7.19z M5.92,18H5v-0.92l7.06-7.06l0.92,0.92L5.92,18z\"/><path d=\"M18.71,8.04c0.39-0.39,0.39-1.02,0-1.41l-2.34-2.34C16.17,4.09,15.92,4,15.66,4c-0.25,0-0.51,0.1-0.7,0.29l-1.83,1.83 l3.75,3.75L18.71,8.04z\"/></g></g>`);\nexport const request = iconWrapper(svg`<polygon points=\"136 136 56 136 32 96 56 56 136 56 160 96 136 136\" style=\"fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:12px\"/><rect width=\"192\" height=\"192\" style=\"fill:none\"/>`, 192, 192);\nexport const restoreFromTrash = iconWrapper(svg`<path d=\"M11 16h2v-4.15l1.6 1.55L16 12l-4-4-4 4 1.4 1.4 1.6-1.55Zm-4 5q-.825 0-1.412-.587Q5 19.825 5 19V6H4V4h5V3h6v1h5v2h-1v13q0 .825-.587 1.413Q17.825 21 17 21ZM17 6H7v13h10ZM7 6v13Z\"/>`);\nexport const save = iconWrapper(svg`<path d=\"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z\"></path>`);\nexport const schema = iconWrapper(svg`<path d=\"M83.31,32.21a8,8,0,0,0-5.66,2.34L22.34,89.86a8.63,8.63,0,0,0,0,11.8L77.65,157A8,8,0,0,0,89,145.65L39.07,95.76,89,45.86a8,8,0,0,0-5.66-13.65Z\"/><path d=\"M108.9,32.53a8,8,0,0,0-5.66,13.65l49.9,49.9L103.24,146a8,8,0,0,0,11.32,11.32L169.87,102a8.63,8.63,0,0,0,0-11.8L114.56,34.87a8,8,0,0,0-5.66-2.34Z\"/><rect width=\"192\" height=\"192\" style=\"fill:none\"/>`, 192, 192);\nexport const schemaEntity = iconWrapper(svg`<path d=\"M19.78,1.4H4.7A3.22,3.22,0,0,0,1.45,4.65V19.74A3.22,3.22,0,0,0,4.7,23H19.78A3.22,3.22,0,0,0,23,19.74V4.65A3.22,3.22,0,0,0,19.78,1.4Zm1.95,18.34a2,2,0,0,1-1.95,2H4.7a2,2,0,0,1-1.95-2V4.65a2,2,0,0,1,2-1.95H19.78a2,2,0,0,1,1.95,2Z\"/><rect x=\"5.4\" y=\"5.35\" width=\"13.69\" height=\"13.69\" rx=\"2.06\"/><rect x=\"6.44\" y=\"6.39\" width=\"11.61\" height=\"11.61\" rx=\"1.02\"/><path d=\"M0,0H24V24H0Z\" style=\"fill:none\"/>`);\nexport const schemaModel = iconWrapper(svg`<path d=\"M3.4,16.79H9.09a1.71,1.71,0,0,0,1.85-1.55V8.85A1.8,1.8,0,0,0,9.09,7.21H3.4A1.71,1.71,0,0,0,1.55,8.76s0,.06,0,.09v6.3A1.7,1.7,0,0,0,3.3,16.79ZM14.91,23H20.6a1.7,1.7,0,0,0,1.85-1.54s0-.07,0-.1V15.06a1.8,1.8,0,0,0-1.86-1.64H14.91A1.71,1.71,0,0,0,13.06,15v6.38C12.93,22.31,13.85,23,14.91,23Zm0-12.55H20.6A1.7,1.7,0,0,0,22.45,8.9s0-.07,0-.1V2.65A1.79,1.79,0,0,0,20.6,1H14.91a1.7,1.7,0,0,0-1.85,1.54V8.94C12.93,9.76,13.85,10.44,14.91,10.44Z\" style=\"isolation:isolate\"/><path d=\"M0,0H24V24H0Z\" style=\"fill:none\"/>`);\nexport const schemaNamespace = iconWrapper(svg`<path d=\"M3.41,10.12H9.09a1.68,1.68,0,0,0,1.85-1.59V2.59A1.76,1.76,0,0,0,9.09,1H3.41A1.68,1.68,0,0,0,1.56,2.59V8.67A1.67,1.67,0,0,0,3.41,10.12Zm0,12.94H9.09a1.68,1.68,0,0,0,1.85-1.58V15.4a1.76,1.76,0,0,0-1.85-1.59H3.41A1.68,1.68,0,0,0,1.56,15.4v6.08A1.68,1.68,0,0,0,3.41,23.06Zm11.5,0h5.68a1.68,1.68,0,0,0,1.85-1.58V15.4a1.76,1.76,0,0,0-1.85-1.59H14.91a1.68,1.68,0,0,0-1.85,1.59v6.08C12.93,22.4,13.85,23.06,14.91,23.06Zm0-12.94h5.68a1.68,1.68,0,0,0,1.85-1.59V2.59A1.76,1.76,0,0,0,20.59,1H14.91a1.68,1.68,0,0,0-1.85,1.59V8.67C12.93,9.46,13.85,10.12,14.91,10.12Z\"/><path d=\"M0,0H24V24H0Z\" style=\"fill:none\"/>`);\nexport const search = iconWrapper(svg`<path d=\"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\"></path>`);\nexport const send = iconWrapper(svg`<path d=\"M2.01 21L23 12 2.01 3 2 10l15 2-15 2z\"></path>`);\nexport const settings = iconWrapper(svg`<path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M19.43 12.98c.04-.32.07-.64.07-.98 0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.09-.16-.26-.25-.44-.25-.06 0-.12.01-.17.03l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.06-.02-.12-.03-.18-.03-.17 0-.34.09-.43.25l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98 0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.09.16.26.25.44.25.06 0 .12-.01.17-.03l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.06.02.12.03.18.03.17 0 .34-.09.43-.25l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zm-1.98-1.71c.04.31.05.52.05.73 0 .21-.02.43-.05.73l-.14 1.13.89.7 1.08.84-.7 1.21-1.27-.51-1.04-.42-.9.68c-.43.32-.84.56-1.25.73l-1.06.43-.16 1.13-.2 1.35h-1.4l-.19-1.35-.16-1.13-1.06-.43c-.43-.18-.83-.41-1.23-.71l-.91-.7-1.06.43-1.27.51-.7-1.21 1.08-.84.89-.7-.14-1.13c-.03-.31-.05-.54-.05-.74s.02-.43.05-.73l.14-1.13-.89-.7-1.08-.84.7-1.21 1.27.51 1.04.42.9-.68c.43-.32.84-.56 1.25-.73l1.06-.43.16-1.13.2-1.35h1.39l.19 1.35.16 1.13 1.06.43c.43.18.83.41 1.23.71l.91.7 1.06-.43 1.27-.51.7 1.21-1.07.85-.89.7.14 1.13zM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"/>`);\nexport 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);\nexport 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\"/>`);\nexport 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\"/>`);\nexport 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);\nexport 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\"/>`);\nexport 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\"/>`);\nexport 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>`);\nexport const visibilityOff = iconWrapper(svg`<path d=\"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"></path>`);\nexport const warning = iconWrapper(svg`<path d=\"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z\"></path>`);\n"]}
@@ -7,9 +7,10 @@ import { html, LitElement } from 'lit';
7
7
  import { property } from 'lit/decorators.js';
8
8
  import * as Icons from './Icons.js';
9
9
  export default class UiIcon extends LitElement {
10
- iconInternal;
11
- hasIconInternal = false;
12
- iconValue;
10
+ constructor() {
11
+ super(...arguments);
12
+ this.hasIconInternal = false;
13
+ }
13
14
  /**
14
15
  * An icon to be rendered from the ApiIcons library.
15
16
  * When incorrect icon is referenced nothing is rendered.