@api-client/ui 0.0.14 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (877) hide show
  1. package/_old/ApiFilesElement.ts +1 -1
  2. package/_old/AppSettingsMenuElement.ts +1 -1
  3. package/_old/FileMaps.ts +1 -1
  4. package/demo/amf/api-annotation.ts +1 -1
  5. package/demo/amf/api-console.ts +1 -1
  6. package/demo/amf/api-editor.ts +1 -1
  7. package/demo/amf/api-operation.ts +1 -1
  8. package/demo/amf/api-payload.ts +1 -1
  9. package/demo/amf/api-request.ts +1 -1
  10. package/demo/amf/api-resource.ts +1 -1
  11. package/demo/amf/api-schema-documentation.ts +1 -1
  12. package/demo/amf/bare-components.ts +1 -1
  13. package/demo/amf/lib/AmfDemoPage.ts +1 -1
  14. package/demo/amf/oauth-authorize.ts +1 -1
  15. package/demo/elements/authorization/api-key.ts +1 -1
  16. package/demo/elements/authorization/basic.ts +1 -1
  17. package/demo/elements/authorization/bearer.ts +1 -1
  18. package/demo/elements/authorization/cc.ts +1 -1
  19. package/demo/elements/authorization/ntlm.ts +1 -1
  20. package/demo/elements/authorization/oauth-authorize.ts +1 -1
  21. package/demo/elements/authorization/oauth2.ts +1 -1
  22. package/demo/elements/authorization/oidc.ts +1 -1
  23. package/demo/elements/environment/environment-editor.ts +1 -1
  24. package/demo/elements/environment/server-editor.ts +1 -1
  25. package/demo/elements/environment/variables-editor.ts +1 -1
  26. package/demo/elements/har/har-viewer.ts +1 -1
  27. package/demo/elements/http/body-editor.ts +1 -1
  28. package/demo/elements/http/headers.ts +1 -1
  29. package/demo/elements/http/http-assertions.ts +1 -1
  30. package/demo/elements/http/http-flows.ts +1 -1
  31. package/demo/elements/http/request-editor.ts +1 -1
  32. package/demo/elements/http/request-log.ts +1 -1
  33. package/demo/elements/http/url-editing.ts +1 -1
  34. package/demo/elements/project/project-run-report.ts +1 -1
  35. package/demo/elements/project/request-editor.ts +1 -1
  36. package/demo/elements/store/file-picker.ts +1 -1
  37. package/demo/elements/ui/list/list.ts +1 -1
  38. package/demo/layout/index.ts +1 -1
  39. package/demo/lib/DemoBindings.ts +1 -1
  40. package/demo/lib/amf/AmfPartialGraphStore.ts +1 -1
  41. package/demo/lib/amf/AmfPartialModel.ts +1 -1
  42. package/dist/amf/lib/AmfInputParser.d.ts +1 -1
  43. package/dist/amf/lib/AmfInputParser.d.ts.map +1 -1
  44. package/dist/amf/lib/AmfInputParser.js +1 -1
  45. package/dist/amf/lib/AmfInputParser.js.map +1 -1
  46. package/dist/amf/lib/AmfParameters.d.ts +1 -1
  47. package/dist/amf/lib/AmfParameters.d.ts.map +1 -1
  48. package/dist/amf/lib/AmfParameters.js +1 -1
  49. package/dist/amf/lib/AmfParameters.js.map +1 -1
  50. package/dist/amf/lib/AmfSecurity.d.ts +1 -1
  51. package/dist/amf/lib/AmfSecurity.d.ts.map +1 -1
  52. package/dist/amf/lib/AmfSecurity.js.map +1 -1
  53. package/dist/amf/lib/Oauth2RamlCustomData.d.ts +1 -1
  54. package/dist/amf/lib/Oauth2RamlCustomData.d.ts.map +1 -1
  55. package/dist/amf/lib/Oauth2RamlCustomData.js +1 -1
  56. package/dist/amf/lib/Oauth2RamlCustomData.js.map +1 -1
  57. package/dist/amf/lib/PayloadUtils.d.ts +1 -1
  58. package/dist/amf/lib/PayloadUtils.d.ts.map +1 -1
  59. package/dist/amf/lib/PayloadUtils.js +1 -1
  60. package/dist/amf/lib/PayloadUtils.js.map +1 -1
  61. package/dist/amf/lib/QueryParameterProcessor.d.ts +1 -1
  62. package/dist/amf/lib/QueryParameterProcessor.d.ts.map +1 -1
  63. package/dist/amf/lib/QueryParameterProcessor.js +1 -1
  64. package/dist/amf/lib/QueryParameterProcessor.js.map +1 -1
  65. package/dist/amf/lib/Utils.d.ts +1 -1
  66. package/dist/amf/lib/Utils.d.ts.map +1 -1
  67. package/dist/amf/lib/Utils.js +1 -1
  68. package/dist/amf/lib/Utils.js.map +1 -1
  69. package/dist/amf/store/AmfGraphStore.d.ts +1 -1
  70. package/dist/amf/store/AmfGraphStore.d.ts.map +1 -1
  71. package/dist/amf/store/AmfGraphStore.js +1 -1
  72. package/dist/amf/store/AmfGraphStore.js.map +1 -1
  73. package/dist/amf/store/AmfStore.d.ts +1 -1
  74. package/dist/amf/store/AmfStore.d.ts.map +1 -1
  75. package/dist/amf/store/AmfStore.js +1 -1
  76. package/dist/amf/store/AmfStore.js.map +1 -1
  77. package/dist/amf/store/InMemAmfGraphStore.d.ts +2 -2
  78. package/dist/amf/store/InMemAmfGraphStore.d.ts.map +1 -1
  79. package/dist/amf/store/InMemAmfGraphStore.js +1 -1
  80. package/dist/amf/store/InMemAmfGraphStore.js.map +1 -1
  81. package/dist/amf/types.d.ts +1 -1
  82. package/dist/amf/types.d.ts.map +1 -1
  83. package/dist/amf/types.js.map +1 -1
  84. package/dist/bindings/base/HttpClientStoreBindings.d.ts +1 -1
  85. package/dist/bindings/base/HttpClientStoreBindings.d.ts.map +1 -1
  86. package/dist/bindings/base/HttpClientStoreBindings.js.map +1 -1
  87. package/dist/bindings/base/IoThread.d.ts +1 -1
  88. package/dist/bindings/base/IoThread.d.ts.map +1 -1
  89. package/dist/bindings/base/IoThread.js +1 -1
  90. package/dist/bindings/base/IoThread.js.map +1 -1
  91. package/dist/bindings/base/PlatformBindings.d.ts +1 -1
  92. package/dist/bindings/base/PlatformBindings.d.ts.map +1 -1
  93. package/dist/bindings/base/PlatformBindings.js +1 -1
  94. package/dist/bindings/base/PlatformBindings.js.map +1 -1
  95. package/dist/bindings/base/ProxyBindings.d.ts +1 -1
  96. package/dist/bindings/base/ProxyBindings.d.ts.map +1 -1
  97. package/dist/bindings/base/ProxyBindings.js +1 -1
  98. package/dist/bindings/base/ProxyBindings.js.map +1 -1
  99. package/dist/bindings/base/StoreBindings.d.ts +1 -1
  100. package/dist/bindings/base/StoreBindings.d.ts.map +1 -1
  101. package/dist/bindings/base/StoreBindings.js +1 -1
  102. package/dist/bindings/base/StoreBindings.js.map +1 -1
  103. package/dist/bindings/web/WebConfigurationBindings.d.ts +1 -1
  104. package/dist/bindings/web/WebConfigurationBindings.d.ts.map +1 -1
  105. package/dist/bindings/web/WebConfigurationBindings.js.map +1 -1
  106. package/dist/bindings/web/WebFileBindings.js +1 -1
  107. package/dist/bindings/web/WebFileBindings.js.map +1 -1
  108. package/dist/bindings/web/WebHttpClientStoreBindings.d.ts +1 -1
  109. package/dist/bindings/web/WebHttpClientStoreBindings.d.ts.map +1 -1
  110. package/dist/bindings/web/WebHttpClientStoreBindings.js.map +1 -1
  111. package/dist/bindings/web/WebProxyBindings.d.ts +1 -1
  112. package/dist/bindings/web/WebProxyBindings.d.ts.map +1 -1
  113. package/dist/bindings/web/WebProxyBindings.js +1 -1
  114. package/dist/bindings/web/WebProxyBindings.js.map +1 -1
  115. package/dist/bindings/web/WebStoreBindings.d.ts +1 -1
  116. package/dist/bindings/web/WebStoreBindings.d.ts.map +1 -1
  117. package/dist/bindings/web/WebStoreBindings.js +1 -1
  118. package/dist/bindings/web/WebStoreBindings.js.map +1 -1
  119. package/dist/code-snippets/Bash/CurlSnippet.d.ts +1 -1
  120. package/dist/code-snippets/Bash/CurlSnippet.d.ts.map +1 -1
  121. package/dist/code-snippets/Bash/CurlSnippet.js.map +1 -1
  122. package/dist/code-snippets/C/CcurlSnippet.d.ts +1 -1
  123. package/dist/code-snippets/C/CcurlSnippet.d.ts.map +1 -1
  124. package/dist/code-snippets/C/CcurlSnippet.js.map +1 -1
  125. package/dist/code-snippets/CodeSnippet.d.ts +1 -1
  126. package/dist/code-snippets/CodeSnippet.d.ts.map +1 -1
  127. package/dist/code-snippets/CodeSnippet.js +1 -1
  128. package/dist/code-snippets/CodeSnippet.js.map +1 -1
  129. package/dist/code-snippets/Dart/DartSnippet.d.ts +1 -1
  130. package/dist/code-snippets/Dart/DartSnippet.d.ts.map +1 -1
  131. package/dist/code-snippets/Dart/DartSnippet.js.map +1 -1
  132. package/dist/code-snippets/HTTP/RawSnippet.d.ts +1 -1
  133. package/dist/code-snippets/HTTP/RawSnippet.d.ts.map +1 -1
  134. package/dist/code-snippets/HTTP/RawSnippet.js.map +1 -1
  135. package/dist/code-snippets/Java/PlatformSnippet.d.ts +1 -1
  136. package/dist/code-snippets/Java/PlatformSnippet.d.ts.map +1 -1
  137. package/dist/code-snippets/Java/PlatformSnippet.js.map +1 -1
  138. package/dist/code-snippets/Java/SpringSnippet.d.ts +1 -1
  139. package/dist/code-snippets/Java/SpringSnippet.d.ts.map +1 -1
  140. package/dist/code-snippets/Java/SpringSnippet.js.map +1 -1
  141. package/dist/code-snippets/JavaScript/AsyncFetchSnippet.d.ts +1 -1
  142. package/dist/code-snippets/JavaScript/AsyncFetchSnippet.d.ts.map +1 -1
  143. package/dist/code-snippets/JavaScript/AsyncFetchSnippet.js.map +1 -1
  144. package/dist/code-snippets/JavaScript/AxiosSnippet.d.ts +1 -1
  145. package/dist/code-snippets/JavaScript/AxiosSnippet.d.ts.map +1 -1
  146. package/dist/code-snippets/JavaScript/AxiosSnippet.js.map +1 -1
  147. package/dist/code-snippets/JavaScript/FetchSnippet.d.ts +1 -1
  148. package/dist/code-snippets/JavaScript/FetchSnippet.d.ts.map +1 -1
  149. package/dist/code-snippets/JavaScript/FetchSnippet.js.map +1 -1
  150. package/dist/code-snippets/JavaScript/NodeSnippet.d.ts +1 -1
  151. package/dist/code-snippets/JavaScript/NodeSnippet.d.ts.map +1 -1
  152. package/dist/code-snippets/JavaScript/NodeSnippet.js.map +1 -1
  153. package/dist/code-snippets/JavaScript/XhrSnippet.d.ts +1 -1
  154. package/dist/code-snippets/JavaScript/XhrSnippet.d.ts.map +1 -1
  155. package/dist/code-snippets/JavaScript/XhrSnippet.js.map +1 -1
  156. package/dist/code-snippets/JavaScript/jQuerySnippet.d.ts +1 -1
  157. package/dist/code-snippets/JavaScript/jQuerySnippet.d.ts.map +1 -1
  158. package/dist/code-snippets/JavaScript/jQuerySnippet.js.map +1 -1
  159. package/dist/code-snippets/Python/Python27Snippet.d.ts +1 -1
  160. package/dist/code-snippets/Python/Python27Snippet.d.ts.map +1 -1
  161. package/dist/code-snippets/Python/Python27Snippet.js.map +1 -1
  162. package/dist/code-snippets/Python/Python31Snippet.d.ts +1 -1
  163. package/dist/code-snippets/Python/Python31Snippet.d.ts.map +1 -1
  164. package/dist/code-snippets/Python/Python31Snippet.js.map +1 -1
  165. package/dist/code-snippets/Python/RequestsSnippet.d.ts +1 -1
  166. package/dist/code-snippets/Python/RequestsSnippet.d.ts.map +1 -1
  167. package/dist/code-snippets/Python/RequestsSnippet.js.map +1 -1
  168. package/dist/elements/amf/ApiAnnotationDocument.element.d.ts +1 -1
  169. package/dist/elements/amf/ApiAnnotationDocument.element.d.ts.map +1 -1
  170. package/dist/elements/amf/ApiAnnotationDocument.element.js +1 -1
  171. package/dist/elements/amf/ApiAnnotationDocument.element.js.map +1 -1
  172. package/dist/elements/amf/ApiAuthorizationEditor.element.d.ts +1 -1
  173. package/dist/elements/amf/ApiAuthorizationEditor.element.d.ts.map +1 -1
  174. package/dist/elements/amf/ApiAuthorizationEditor.element.js.map +1 -1
  175. package/dist/elements/amf/ApiChannelDocument.element.d.ts +1 -1
  176. package/dist/elements/amf/ApiChannelDocument.element.d.ts.map +1 -1
  177. package/dist/elements/amf/ApiChannelDocument.element.js.map +1 -1
  178. package/dist/elements/amf/ApiDocumentation.element.d.ts +1 -1
  179. package/dist/elements/amf/ApiDocumentation.element.d.ts.map +1 -1
  180. package/dist/elements/amf/ApiDocumentation.element.js +1 -1
  181. package/dist/elements/amf/ApiDocumentation.element.js.map +1 -1
  182. package/dist/elements/amf/ApiDocumentationBase.d.ts +1 -1
  183. package/dist/elements/amf/ApiDocumentationBase.d.ts.map +1 -1
  184. package/dist/elements/amf/ApiDocumentationBase.js +1 -1
  185. package/dist/elements/amf/ApiDocumentationBase.js.map +1 -1
  186. package/dist/elements/amf/ApiDocumentationDocument.element.d.ts +1 -1
  187. package/dist/elements/amf/ApiDocumentationDocument.element.d.ts.map +1 -1
  188. package/dist/elements/amf/ApiDocumentationDocument.element.js.map +1 -1
  189. package/dist/elements/amf/ApiNavigation.element.d.ts +1 -1
  190. package/dist/elements/amf/ApiNavigation.element.d.ts.map +1 -1
  191. package/dist/elements/amf/ApiNavigation.element.js.map +1 -1
  192. package/dist/elements/amf/ApiOperationDocument.element.d.ts +1 -1
  193. package/dist/elements/amf/ApiOperationDocument.element.d.ts.map +1 -1
  194. package/dist/elements/amf/ApiOperationDocument.element.js +1 -1
  195. package/dist/elements/amf/ApiOperationDocument.element.js.map +1 -1
  196. package/dist/elements/amf/ApiParameterDocument.element.d.ts +1 -1
  197. package/dist/elements/amf/ApiParameterDocument.element.d.ts.map +1 -1
  198. package/dist/elements/amf/ApiParameterDocument.element.js.map +1 -1
  199. package/dist/elements/amf/ApiParametrizedSecurityScheme.element.d.ts +1 -1
  200. package/dist/elements/amf/ApiParametrizedSecurityScheme.element.d.ts.map +1 -1
  201. package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js +1 -1
  202. package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js.map +1 -1
  203. package/dist/elements/amf/ApiPayloadDocument.element.d.ts +1 -1
  204. package/dist/elements/amf/ApiPayloadDocument.element.d.ts.map +1 -1
  205. package/dist/elements/amf/ApiPayloadDocument.element.js.map +1 -1
  206. package/dist/elements/amf/ApiRequest.element.d.ts +1 -1
  207. package/dist/elements/amf/ApiRequest.element.d.ts.map +1 -1
  208. package/dist/elements/amf/ApiRequest.element.js.map +1 -1
  209. package/dist/elements/amf/ApiRequestDocument.element.d.ts +1 -1
  210. package/dist/elements/amf/ApiRequestDocument.element.d.ts.map +1 -1
  211. package/dist/elements/amf/ApiRequestDocument.element.js.map +1 -1
  212. package/dist/elements/amf/ApiRequestEditor.element.d.ts +1 -1
  213. package/dist/elements/amf/ApiRequestEditor.element.d.ts.map +1 -1
  214. package/dist/elements/amf/ApiRequestEditor.element.js +1 -1
  215. package/dist/elements/amf/ApiRequestEditor.element.js.map +1 -1
  216. package/dist/elements/amf/ApiResourceDocument.element.d.ts +1 -1
  217. package/dist/elements/amf/ApiResourceDocument.element.d.ts.map +1 -1
  218. package/dist/elements/amf/ApiResourceDocument.element.js +1 -1
  219. package/dist/elements/amf/ApiResourceDocument.element.js.map +1 -1
  220. package/dist/elements/amf/ApiResponseDocument.element.d.ts +1 -1
  221. package/dist/elements/amf/ApiResponseDocument.element.d.ts.map +1 -1
  222. package/dist/elements/amf/ApiResponseDocument.element.js.map +1 -1
  223. package/dist/elements/amf/ApiSchemaDocument.element.d.ts +1 -1
  224. package/dist/elements/amf/ApiSchemaDocument.element.d.ts.map +1 -1
  225. package/dist/elements/amf/ApiSchemaDocument.element.js +1 -1
  226. package/dist/elements/amf/ApiSchemaDocument.element.js.map +1 -1
  227. package/dist/elements/amf/ApiSecurityDocument.element.d.ts +1 -1
  228. package/dist/elements/amf/ApiSecurityDocument.element.d.ts.map +1 -1
  229. package/dist/elements/amf/ApiSecurityDocument.element.js +1 -1
  230. package/dist/elements/amf/ApiSecurityDocument.element.js.map +1 -1
  231. package/dist/elements/amf/ApiSecurityRequirementDocument.element.d.ts +1 -1
  232. package/dist/elements/amf/ApiSecurityRequirementDocument.element.d.ts.map +1 -1
  233. package/dist/elements/amf/ApiSecurityRequirementDocument.element.js.map +1 -1
  234. package/dist/elements/amf/ApiServerPicker.element.d.ts +1 -1
  235. package/dist/elements/amf/ApiServerPicker.element.d.ts.map +1 -1
  236. package/dist/elements/amf/ApiServerPicker.element.js +1 -1
  237. package/dist/elements/amf/ApiServerPicker.element.js.map +1 -1
  238. package/dist/elements/amf/ApiSummary.element.d.ts +1 -1
  239. package/dist/elements/amf/ApiSummary.element.d.ts.map +1 -1
  240. package/dist/elements/amf/ApiSummary.element.js +1 -1
  241. package/dist/elements/amf/ApiSummary.element.js.map +1 -1
  242. package/dist/elements/amf/SchemaCommonTemplates.d.ts +1 -1
  243. package/dist/elements/amf/SchemaCommonTemplates.d.ts.map +1 -1
  244. package/dist/elements/amf/SchemaCommonTemplates.js +1 -1
  245. package/dist/elements/amf/SchemaCommonTemplates.js.map +1 -1
  246. package/dist/elements/amf/authorization/AmfApiKey.d.ts +1 -1
  247. package/dist/elements/amf/authorization/AmfApiKey.d.ts.map +1 -1
  248. package/dist/elements/amf/authorization/AmfApiKey.js +1 -1
  249. package/dist/elements/amf/authorization/AmfApiKey.js.map +1 -1
  250. package/dist/elements/amf/authorization/AmfBasic.d.ts +1 -1
  251. package/dist/elements/amf/authorization/AmfBasic.d.ts.map +1 -1
  252. package/dist/elements/amf/authorization/AmfBasic.js +1 -1
  253. package/dist/elements/amf/authorization/AmfBasic.js.map +1 -1
  254. package/dist/elements/amf/authorization/AmfBearer.d.ts +1 -1
  255. package/dist/elements/amf/authorization/AmfBearer.d.ts.map +1 -1
  256. package/dist/elements/amf/authorization/AmfBearer.js +1 -1
  257. package/dist/elements/amf/authorization/AmfBearer.js.map +1 -1
  258. package/dist/elements/amf/authorization/AmfOauth2.d.ts +1 -1
  259. package/dist/elements/amf/authorization/AmfOauth2.d.ts.map +1 -1
  260. package/dist/elements/amf/authorization/AmfOauth2.js +1 -1
  261. package/dist/elements/amf/authorization/AmfOauth2.js.map +1 -1
  262. package/dist/elements/amf/authorization/AmfOidc.d.ts +1 -1
  263. package/dist/elements/amf/authorization/AmfOidc.d.ts.map +1 -1
  264. package/dist/elements/amf/authorization/AmfOidc.js +1 -1
  265. package/dist/elements/amf/authorization/AmfOidc.js.map +1 -1
  266. package/dist/elements/amf/authorization/AmfPassThrough.d.ts +1 -1
  267. package/dist/elements/amf/authorization/AmfPassThrough.d.ts.map +1 -1
  268. package/dist/elements/amf/authorization/AmfPassThrough.js +1 -1
  269. package/dist/elements/amf/authorization/AmfPassThrough.js.map +1 -1
  270. package/dist/elements/amf/authorization/AmfRamlCustom.d.ts +1 -1
  271. package/dist/elements/amf/authorization/AmfRamlCustom.d.ts.map +1 -1
  272. package/dist/elements/amf/authorization/AmfRamlCustom.js +1 -1
  273. package/dist/elements/amf/authorization/AmfRamlCustom.js.map +1 -1
  274. package/dist/elements/authorization/OAuth2Authorize.d.ts +1 -1
  275. package/dist/elements/authorization/OAuth2Authorize.d.ts.map +1 -1
  276. package/dist/elements/authorization/OAuth2Authorize.js +1 -1
  277. package/dist/elements/authorization/OAuth2Authorize.js.map +1 -1
  278. package/dist/elements/authorization/OidcAuthorize.d.ts +1 -1
  279. package/dist/elements/authorization/OidcAuthorize.d.ts.map +1 -1
  280. package/dist/elements/authorization/OidcAuthorize.js +1 -1
  281. package/dist/elements/authorization/OidcAuthorize.js.map +1 -1
  282. package/dist/elements/authorization/ui/ApiKeyAuthorization.d.ts +1 -1
  283. package/dist/elements/authorization/ui/ApiKeyAuthorization.d.ts.map +1 -1
  284. package/dist/elements/authorization/ui/ApiKeyAuthorization.js.map +1 -1
  285. package/dist/elements/authorization/ui/Authorization.d.ts +1 -1
  286. package/dist/elements/authorization/ui/Authorization.d.ts.map +1 -1
  287. package/dist/elements/authorization/ui/Authorization.js.map +1 -1
  288. package/dist/elements/authorization/ui/BasicAuthorization.d.ts +1 -1
  289. package/dist/elements/authorization/ui/BasicAuthorization.d.ts.map +1 -1
  290. package/dist/elements/authorization/ui/BasicAuthorization.js.map +1 -1
  291. package/dist/elements/authorization/ui/BearerAuthorization.d.ts +1 -1
  292. package/dist/elements/authorization/ui/BearerAuthorization.d.ts.map +1 -1
  293. package/dist/elements/authorization/ui/BearerAuthorization.js.map +1 -1
  294. package/dist/elements/authorization/ui/CcAuthorization.d.ts +1 -1
  295. package/dist/elements/authorization/ui/CcAuthorization.d.ts.map +1 -1
  296. package/dist/elements/authorization/ui/CcAuthorization.js +1 -1
  297. package/dist/elements/authorization/ui/CcAuthorization.js.map +1 -1
  298. package/dist/elements/authorization/ui/NtlmAuthorization.d.ts +1 -1
  299. package/dist/elements/authorization/ui/NtlmAuthorization.d.ts.map +1 -1
  300. package/dist/elements/authorization/ui/NtlmAuthorization.js.map +1 -1
  301. package/dist/elements/authorization/ui/OAuth2Authorization.d.ts +1 -1
  302. package/dist/elements/authorization/ui/OAuth2Authorization.d.ts.map +1 -1
  303. package/dist/elements/authorization/ui/OAuth2Authorization.js +1 -1
  304. package/dist/elements/authorization/ui/OAuth2Authorization.js.map +1 -1
  305. package/dist/elements/authorization/ui/OidcAuthorization.d.ts +1 -1
  306. package/dist/elements/authorization/ui/OidcAuthorization.d.ts.map +1 -1
  307. package/dist/elements/authorization/ui/OidcAuthorization.js +1 -1
  308. package/dist/elements/authorization/ui/OidcAuthorization.js.map +1 -1
  309. package/dist/elements/code/HttpSnippets.d.ts +1 -1
  310. package/dist/elements/code/HttpSnippets.d.ts.map +1 -1
  311. package/dist/elements/code/HttpSnippets.js.map +1 -1
  312. package/dist/elements/dialog/DeleteCookieAction.element.d.ts +1 -1
  313. package/dist/elements/dialog/DeleteCookieAction.element.d.ts.map +1 -1
  314. package/dist/elements/dialog/DeleteCookieAction.element.js +1 -1
  315. package/dist/elements/dialog/DeleteCookieAction.element.js.map +1 -1
  316. package/dist/elements/dialog/SetCookieAction.element.d.ts +1 -1
  317. package/dist/elements/dialog/SetCookieAction.element.d.ts.map +1 -1
  318. package/dist/elements/dialog/SetCookieAction.element.js +1 -1
  319. package/dist/elements/dialog/SetCookieAction.element.js.map +1 -1
  320. package/dist/elements/environment/EnvironmentEditor.d.ts +1 -1
  321. package/dist/elements/environment/EnvironmentEditor.d.ts.map +1 -1
  322. package/dist/elements/environment/EnvironmentEditor.js +1 -1
  323. package/dist/elements/environment/EnvironmentEditor.js.map +1 -1
  324. package/dist/elements/environment/ServerEditor.d.ts +1 -1
  325. package/dist/elements/environment/ServerEditor.d.ts.map +1 -1
  326. package/dist/elements/environment/ServerEditor.js +1 -1
  327. package/dist/elements/environment/ServerEditor.js.map +1 -1
  328. package/dist/elements/environment/VariablesEditor.d.ts +1 -1
  329. package/dist/elements/environment/VariablesEditor.d.ts.map +1 -1
  330. package/dist/elements/environment/VariablesEditor.js +1 -1
  331. package/dist/elements/environment/VariablesEditor.js.map +1 -1
  332. package/dist/elements/har/HarViewer.js +1 -1
  333. package/dist/elements/har/HarViewer.js.map +1 -1
  334. package/dist/elements/http/BodyEditor.d.ts +1 -1
  335. package/dist/elements/http/BodyEditor.d.ts.map +1 -1
  336. package/dist/elements/http/BodyEditor.js +1 -1
  337. package/dist/elements/http/BodyEditor.js.map +1 -1
  338. package/dist/elements/http/BodyMultipartEditor.d.ts +1 -1
  339. package/dist/elements/http/BodyMultipartEditor.d.ts.map +1 -1
  340. package/dist/elements/http/BodyMultipartEditor.js +1 -1
  341. package/dist/elements/http/BodyMultipartEditor.js.map +1 -1
  342. package/dist/elements/http/BodyUrlEncodedEditor.d.ts +1 -1
  343. package/dist/elements/http/BodyUrlEncodedEditor.d.ts.map +1 -1
  344. package/dist/elements/http/BodyUrlEncodedEditor.js +1 -1
  345. package/dist/elements/http/BodyUrlEncodedEditor.js.map +1 -1
  346. package/dist/elements/http/CertificateAdd.element.d.ts +1 -1
  347. package/dist/elements/http/CertificateAdd.element.d.ts.map +1 -1
  348. package/dist/elements/http/CertificateAdd.element.js +1 -1
  349. package/dist/elements/http/CertificateAdd.element.js.map +1 -1
  350. package/dist/elements/http/HeadersForm.d.ts +1 -1
  351. package/dist/elements/http/HeadersForm.d.ts.map +1 -1
  352. package/dist/elements/http/HeadersForm.js +1 -1
  353. package/dist/elements/http/HeadersForm.js.map +1 -1
  354. package/dist/elements/http/HttpAssertions.element.d.ts +1 -1
  355. package/dist/elements/http/HttpAssertions.element.d.ts.map +1 -1
  356. package/dist/elements/http/HttpAssertions.element.js.map +1 -1
  357. package/dist/elements/http/HttpFlows.element.d.ts +1 -1
  358. package/dist/elements/http/HttpFlows.element.d.ts.map +1 -1
  359. package/dist/elements/http/HttpFlows.element.js.map +1 -1
  360. package/dist/elements/http/HttpFlowsUi.d.ts +1 -1
  361. package/dist/elements/http/HttpFlowsUi.d.ts.map +1 -1
  362. package/dist/elements/http/HttpFlowsUi.js +1 -1
  363. package/dist/elements/http/HttpFlowsUi.js.map +1 -1
  364. package/dist/elements/http/LogBody.d.ts +1 -1
  365. package/dist/elements/http/LogBody.d.ts.map +1 -1
  366. package/dist/elements/http/LogBody.js +1 -1
  367. package/dist/elements/http/LogBody.js.map +1 -1
  368. package/dist/elements/http/LogHeaders.d.ts +1 -1
  369. package/dist/elements/http/LogHeaders.d.ts.map +1 -1
  370. package/dist/elements/http/LogHeaders.js +1 -1
  371. package/dist/elements/http/LogHeaders.js.map +1 -1
  372. package/dist/elements/http/LogTimings.d.ts +1 -1
  373. package/dist/elements/http/LogTimings.d.ts.map +1 -1
  374. package/dist/elements/http/LogTimings.js.map +1 -1
  375. package/dist/elements/http/RequestAuth.template.d.ts +1 -1
  376. package/dist/elements/http/RequestAuth.template.d.ts.map +1 -1
  377. package/dist/elements/http/RequestAuth.template.js.map +1 -1
  378. package/dist/elements/http/RequestConfigElement.d.ts +1 -1
  379. package/dist/elements/http/RequestConfigElement.d.ts.map +1 -1
  380. package/dist/elements/http/RequestConfigElement.js +1 -1
  381. package/dist/elements/http/RequestConfigElement.js.map +1 -1
  382. package/dist/elements/http/RequestEditor.d.ts +2 -2
  383. package/dist/elements/http/RequestEditor.d.ts.map +1 -1
  384. package/dist/elements/http/RequestEditor.js +1 -1
  385. package/dist/elements/http/RequestEditor.js.map +1 -1
  386. package/dist/elements/http/RequestLog.d.ts +1 -1
  387. package/dist/elements/http/RequestLog.d.ts.map +1 -1
  388. package/dist/elements/http/RequestLog.js +1 -1
  389. package/dist/elements/http/RequestLog.js.map +1 -1
  390. package/dist/elements/http/UrlEncodeUtils.d.ts +1 -1
  391. package/dist/elements/http/UrlEncodeUtils.d.ts.map +1 -1
  392. package/dist/elements/http/UrlEncodeUtils.js +1 -1
  393. package/dist/elements/http/UrlEncodeUtils.js.map +1 -1
  394. package/dist/elements/http/UrlInput.d.ts +1 -1
  395. package/dist/elements/http/UrlInput.d.ts.map +1 -1
  396. package/dist/elements/http/UrlInput.js.map +1 -1
  397. package/dist/elements/http/UrlParamsForm.d.ts +1 -1
  398. package/dist/elements/http/UrlParamsForm.d.ts.map +1 -1
  399. package/dist/elements/http/UrlParamsForm.js +1 -1
  400. package/dist/elements/http/UrlParamsForm.js.map +1 -1
  401. package/dist/elements/layout/SplitPanel.js +1 -1
  402. package/dist/elements/layout/SplitPanel.js.map +1 -1
  403. package/dist/elements/navigation/AppNavigationElement.js +1 -1
  404. package/dist/elements/navigation/AppNavigationElement.js.map +1 -1
  405. package/dist/elements/project/HttpProjectRequest.d.ts +2 -2
  406. package/dist/elements/project/HttpProjectRequest.d.ts.map +1 -1
  407. package/dist/elements/project/HttpProjectRequest.js +1 -1
  408. package/dist/elements/project/HttpProjectRequest.js.map +1 -1
  409. package/dist/elements/project/HttpProjectRequestHistory.d.ts +1 -1
  410. package/dist/elements/project/HttpProjectRequestHistory.d.ts.map +1 -1
  411. package/dist/elements/project/HttpProjectRequestHistory.js +1 -1
  412. package/dist/elements/project/HttpProjectRequestHistory.js.map +1 -1
  413. package/dist/elements/project/ProjectNavigation.d.ts +1 -1
  414. package/dist/elements/project/ProjectNavigation.d.ts.map +1 -1
  415. package/dist/elements/project/ProjectNavigation.js +1 -1
  416. package/dist/elements/project/ProjectNavigation.js.map +1 -1
  417. package/dist/elements/project/ProjectRunReport.d.ts +1 -1
  418. package/dist/elements/project/ProjectRunReport.d.ts.map +1 -1
  419. package/dist/elements/project/ProjectRunReport.js +1 -1
  420. package/dist/elements/project/ProjectRunReport.js.map +1 -1
  421. package/dist/elements/project/ProjectRunner.d.ts +1 -1
  422. package/dist/elements/project/ProjectRunner.d.ts.map +1 -1
  423. package/dist/elements/project/ProjectRunner.js +1 -1
  424. package/dist/elements/project/ProjectRunner.js.map +1 -1
  425. package/dist/elements/project/ProjectRunnerNavigationElement.d.ts +1 -1
  426. package/dist/elements/project/ProjectRunnerNavigationElement.d.ts.map +1 -1
  427. package/dist/elements/project/ProjectRunnerNavigationElement.js +1 -1
  428. package/dist/elements/project/ProjectRunnerNavigationElement.js.map +1 -1
  429. package/dist/elements/schema-design/AssociationFormElement.d.ts +1 -1
  430. package/dist/elements/schema-design/AssociationFormElement.d.ts.map +1 -1
  431. package/dist/elements/schema-design/AssociationFormElement.js +1 -1
  432. package/dist/elements/schema-design/AssociationFormElement.js.map +1 -1
  433. package/dist/elements/schema-design/DataEntityEditorElement.d.ts +1 -1
  434. package/dist/elements/schema-design/DataEntityEditorElement.d.ts.map +1 -1
  435. package/dist/elements/schema-design/DataEntityEditorElement.js +1 -1
  436. package/dist/elements/schema-design/DataEntityEditorElement.js.map +1 -1
  437. package/dist/elements/schema-design/DataModelVisualizationElement.d.ts +1 -1
  438. package/dist/elements/schema-design/DataModelVisualizationElement.d.ts.map +1 -1
  439. package/dist/elements/schema-design/DataModelVisualizationElement.js.map +1 -1
  440. package/dist/elements/schema-design/DataSchemaDocument.d.ts +1 -1
  441. package/dist/elements/schema-design/DataSchemaDocument.d.ts.map +1 -1
  442. package/dist/elements/schema-design/DataSchemaDocument.js +1 -1
  443. package/dist/elements/schema-design/DataSchemaDocument.js.map +1 -1
  444. package/dist/elements/schema-design/EntityFormElement.d.ts +1 -1
  445. package/dist/elements/schema-design/EntityFormElement.d.ts.map +1 -1
  446. package/dist/elements/schema-design/EntityFormElement.js +1 -1
  447. package/dist/elements/schema-design/EntityFormElement.js.map +1 -1
  448. package/dist/elements/schema-design/PropertyFormElement.d.ts +1 -1
  449. package/dist/elements/schema-design/PropertyFormElement.d.ts.map +1 -1
  450. package/dist/elements/schema-design/PropertyFormElement.js +1 -1
  451. package/dist/elements/schema-design/PropertyFormElement.js.map +1 -1
  452. package/dist/elements/schema-design/SchemaDesignNavigation.d.ts +1 -1
  453. package/dist/elements/schema-design/SchemaDesignNavigation.d.ts.map +1 -1
  454. package/dist/elements/schema-design/SchemaDesignNavigation.js +1 -1
  455. package/dist/elements/schema-design/SchemaDesignNavigation.js.map +1 -1
  456. package/dist/elements/schema-design/SchemaNamespaceSelector.d.ts +1 -1
  457. package/dist/elements/schema-design/SchemaNamespaceSelector.d.ts.map +1 -1
  458. package/dist/elements/schema-design/SchemaNamespaceSelector.js +1 -1
  459. package/dist/elements/schema-design/SchemaNamespaceSelector.js.map +1 -1
  460. package/dist/elements/store/FilePicker.element.d.ts +1 -1
  461. package/dist/elements/store/FilePicker.element.d.ts.map +1 -1
  462. package/dist/elements/store/FilePicker.element.js +1 -1
  463. package/dist/elements/store/FilePicker.element.js.map +1 -1
  464. package/dist/elements/store/FilesLib.d.ts +1 -1
  465. package/dist/elements/store/FilesLib.d.ts.map +1 -1
  466. package/dist/elements/store/FilesLib.js +1 -1
  467. package/dist/elements/store/FilesLib.js.map +1 -1
  468. package/dist/elements/store/ShareFile.element.d.ts +1 -1
  469. package/dist/elements/store/ShareFile.element.d.ts.map +1 -1
  470. package/dist/elements/store/ShareFile.element.js +1 -1
  471. package/dist/elements/store/ShareFile.element.js.map +1 -1
  472. package/dist/elements/user/UserAvatarElement.d.ts +1 -1
  473. package/dist/elements/user/UserAvatarElement.d.ts.map +1 -1
  474. package/dist/elements/user/UserAvatarElement.js.map +1 -1
  475. package/dist/events/BroadcastUiEvents.d.ts +1 -1
  476. package/dist/events/BroadcastUiEvents.d.ts.map +1 -1
  477. package/dist/events/BroadcastUiEvents.js.map +1 -1
  478. package/dist/events/Events.d.ts +30 -30
  479. package/dist/events/HttpClientEvents.d.ts +1 -1
  480. package/dist/events/HttpClientEvents.d.ts.map +1 -1
  481. package/dist/events/HttpClientEvents.js +1 -1
  482. package/dist/events/HttpClientEvents.js.map +1 -1
  483. package/dist/events/HttpProjectEvents.d.ts +1 -1
  484. package/dist/events/HttpProjectEvents.d.ts.map +1 -1
  485. package/dist/events/HttpProjectEvents.js +1 -1
  486. package/dist/events/HttpProjectEvents.js.map +1 -1
  487. package/dist/events/StoreEvents.d.ts +1 -1
  488. package/dist/events/StoreEvents.d.ts.map +1 -1
  489. package/dist/events/StoreEvents.js +1 -1
  490. package/dist/events/StoreEvents.js.map +1 -1
  491. package/dist/events/amf/ApiEvents.d.ts +1 -1
  492. package/dist/events/amf/ApiEvents.d.ts.map +1 -1
  493. package/dist/events/amf/ApiEvents.js.map +1 -1
  494. package/dist/events/amf/DocumentationEvents.d.ts +1 -1
  495. package/dist/events/amf/DocumentationEvents.d.ts.map +1 -1
  496. package/dist/events/amf/DocumentationEvents.js.map +1 -1
  497. package/dist/events/amf/EndpointEvents.d.ts +1 -1
  498. package/dist/events/amf/EndpointEvents.d.ts.map +1 -1
  499. package/dist/events/amf/EndpointEvents.js.map +1 -1
  500. package/dist/events/amf/Events.d.ts +17 -17
  501. package/dist/events/amf/OperationEvents.d.ts +1 -1
  502. package/dist/events/amf/OperationEvents.d.ts.map +1 -1
  503. package/dist/events/amf/OperationEvents.js.map +1 -1
  504. package/dist/events/amf/PayloadEvents.d.ts +1 -1
  505. package/dist/events/amf/PayloadEvents.d.ts.map +1 -1
  506. package/dist/events/amf/PayloadEvents.js.map +1 -1
  507. package/dist/events/amf/RequestEvents.d.ts +1 -1
  508. package/dist/events/amf/RequestEvents.d.ts.map +1 -1
  509. package/dist/events/amf/RequestEvents.js.map +1 -1
  510. package/dist/events/amf/ResponseEvents.d.ts +1 -1
  511. package/dist/events/amf/ResponseEvents.d.ts.map +1 -1
  512. package/dist/events/amf/ResponseEvents.js.map +1 -1
  513. package/dist/events/amf/SecurityEvents.d.ts +1 -1
  514. package/dist/events/amf/SecurityEvents.d.ts.map +1 -1
  515. package/dist/events/amf/SecurityEvents.js.map +1 -1
  516. package/dist/events/amf/ServerEvents.d.ts +1 -1
  517. package/dist/events/amf/ServerEvents.d.ts.map +1 -1
  518. package/dist/events/amf/ServerEvents.js.map +1 -1
  519. package/dist/events/amf/TypeEvents.d.ts +1 -1
  520. package/dist/events/amf/TypeEvents.d.ts.map +1 -1
  521. package/dist/events/amf/TypeEvents.js.map +1 -1
  522. package/dist/http-client/idb/Arc18DataUpgrade.js +1 -1
  523. package/dist/http-client/idb/Arc18DataUpgrade.js.map +1 -1
  524. package/dist/http-client/idb/Base.d.ts +1 -1
  525. package/dist/http-client/idb/Base.d.ts.map +1 -1
  526. package/dist/http-client/idb/Base.js +1 -1
  527. package/dist/http-client/idb/Base.js.map +1 -1
  528. package/dist/http-client/idb/LegacyBodyProcessor.d.ts +1 -1
  529. package/dist/http-client/idb/LegacyBodyProcessor.d.ts.map +1 -1
  530. package/dist/http-client/idb/LegacyBodyProcessor.js.map +1 -1
  531. package/dist/http-client/idb/MockedStore.d.ts +1 -1
  532. package/dist/http-client/idb/MockedStore.d.ts.map +1 -1
  533. package/dist/http-client/idb/MockedStore.js +1 -1
  534. package/dist/http-client/idb/MockedStore.js.map +1 -1
  535. package/dist/http-client/store/Cursor.js +1 -1
  536. package/dist/http-client/store/Cursor.js.map +1 -1
  537. package/dist/http-client/store/DataImportProcessor.d.ts +2 -2
  538. package/dist/http-client/store/DataImportProcessor.d.ts.map +1 -1
  539. package/dist/http-client/store/DataImportProcessor.js +2 -2
  540. package/dist/http-client/store/DataImportProcessor.js.map +1 -1
  541. package/dist/http-client/store/HttpClientIdbDatabase.d.ts +1 -1
  542. package/dist/http-client/store/HttpClientIdbDatabase.d.ts.map +1 -1
  543. package/dist/http-client/store/HttpClientIdbDatabase.js.map +1 -1
  544. package/dist/http-client/store/IdbThread.d.ts +1 -1
  545. package/dist/http-client/store/IdbThread.d.ts.map +1 -1
  546. package/dist/http-client/store/IdbThread.js.map +1 -1
  547. package/dist/http-client/store/State.d.ts +1 -1
  548. package/dist/http-client/store/State.d.ts.map +1 -1
  549. package/dist/http-client/store/State.js.map +1 -1
  550. package/dist/http-client/store/idb/IdbProjectUi.d.ts +1 -1
  551. package/dist/http-client/store/idb/IdbProjectUi.d.ts.map +1 -1
  552. package/dist/http-client/store/idb/IdbProjectUi.js +1 -1
  553. package/dist/http-client/store/idb/IdbProjectUi.js.map +1 -1
  554. package/dist/http-client/store/idb/IdbUrlHistory.d.ts +1 -1
  555. package/dist/http-client/store/idb/IdbUrlHistory.d.ts.map +1 -1
  556. package/dist/http-client/store/idb/IdbUrlHistory.js.map +1 -1
  557. package/dist/http-client/store/idb/IdbWsHistory.d.ts +1 -1
  558. package/dist/http-client/store/idb/IdbWsHistory.d.ts.map +1 -1
  559. package/dist/http-client/store/idb/IdbWsHistory.js.map +1 -1
  560. package/dist/http-client/store/stores/ProjectUi.d.ts +1 -1
  561. package/dist/http-client/store/stores/ProjectUi.d.ts.map +1 -1
  562. package/dist/http-client/store/stores/ProjectUi.js.map +1 -1
  563. package/dist/http-client/store/stores/UrlHistory.d.ts +1 -1
  564. package/dist/http-client/store/stores/UrlHistory.d.ts.map +1 -1
  565. package/dist/http-client/store/stores/UrlHistory.js.map +1 -1
  566. package/dist/http-client/store/stores/WsHistory.d.ts +1 -1
  567. package/dist/http-client/store/stores/WsHistory.d.ts.map +1 -1
  568. package/dist/http-client/store/stores/WsHistory.js.map +1 -1
  569. package/dist/http-client/store/types.d.ts +1 -1
  570. package/dist/http-client/store/types.d.ts.map +1 -1
  571. package/dist/http-client/store/types.js.map +1 -1
  572. package/dist/lib/chart/HttpHistoryChart.d.ts +1 -1
  573. package/dist/lib/chart/HttpHistoryChart.d.ts.map +1 -1
  574. package/dist/lib/chart/HttpHistoryChart.js +1 -1
  575. package/dist/lib/chart/HttpHistoryChart.js.map +1 -1
  576. package/dist/lib/http/Har.d.ts +1 -1
  577. package/dist/lib/http/Har.d.ts.map +1 -1
  578. package/dist/lib/http/Har.js.map +1 -1
  579. package/dist/lib/http/HeadersArray.js +1 -1
  580. package/dist/lib/http/HeadersArray.js.map +1 -1
  581. package/dist/lib/http/Payload.d.ts +1 -1
  582. package/dist/lib/http/Payload.d.ts.map +1 -1
  583. package/dist/lib/http/Payload.js.map +1 -1
  584. package/dist/lib/http/Url.d.ts +1 -1
  585. package/dist/lib/http/Url.d.ts.map +1 -1
  586. package/dist/lib/http/Url.js.map +1 -1
  587. package/dist/pages/ApplicationScreen.d.ts +1 -1
  588. package/dist/pages/ApplicationScreen.d.ts.map +1 -1
  589. package/dist/pages/ApplicationScreen.js +1 -1
  590. package/dist/pages/ApplicationScreen.js.map +1 -1
  591. package/dist/pages/api-client/ApiClient.screen.d.ts +1 -1
  592. package/dist/pages/api-client/ApiClient.screen.d.ts.map +1 -1
  593. package/dist/pages/api-client/ApiClient.screen.js +1 -1
  594. package/dist/pages/api-client/ApiClient.screen.js.map +1 -1
  595. package/dist/pages/api-client/AppInfo.d.ts +1 -1
  596. package/dist/pages/api-client/AppInfo.d.ts.map +1 -1
  597. package/dist/pages/api-client/AppInfo.js.map +1 -1
  598. package/dist/pages/api-client/StoreConfig.screen.js +1 -1
  599. package/dist/pages/api-client/StoreConfig.screen.js.map +1 -1
  600. package/dist/pages/api-client/pages/Files.page.d.ts +1 -1
  601. package/dist/pages/api-client/pages/Files.page.d.ts.map +1 -1
  602. package/dist/pages/api-client/pages/Files.page.js +1 -1
  603. package/dist/pages/api-client/pages/Files.page.js.map +1 -1
  604. package/dist/pages/api-client/pages/Shared.page.d.ts +1 -1
  605. package/dist/pages/api-client/pages/Shared.page.d.ts.map +1 -1
  606. package/dist/pages/api-client/pages/Shared.page.js.map +1 -1
  607. package/dist/pages/api-client/pages/Trash.page.d.ts +1 -1
  608. package/dist/pages/api-client/pages/Trash.page.d.ts.map +1 -1
  609. package/dist/pages/api-client/pages/Trash.page.js +1 -1
  610. package/dist/pages/api-client/pages/Trash.page.js.map +1 -1
  611. package/dist/pages/http-project/AppInfo.d.ts +1 -1
  612. package/dist/pages/http-project/AppInfo.d.ts.map +1 -1
  613. package/dist/pages/http-project/AppInfo.js.map +1 -1
  614. package/dist/pages/http-project/HttpClientCommands.js +1 -1
  615. package/dist/pages/http-project/HttpClientCommands.js.map +1 -1
  616. package/dist/pages/http-project/HttpProject.screen.d.ts +1 -1
  617. package/dist/pages/http-project/HttpProject.screen.d.ts.map +1 -1
  618. package/dist/pages/http-project/HttpProject.screen.js +1 -1
  619. package/dist/pages/http-project/HttpProject.screen.js.map +1 -1
  620. package/dist/pages/http-project/types.d.ts +1 -1
  621. package/dist/pages/http-project/types.d.ts.map +1 -1
  622. package/dist/pages/http-project/types.js.map +1 -1
  623. package/dist/pages/schema-design/AppInfo.d.ts +1 -1
  624. package/dist/pages/schema-design/AppInfo.d.ts.map +1 -1
  625. package/dist/pages/schema-design/AppInfo.js.map +1 -1
  626. package/dist/pages/schema-design/SchemaDesigner.screen.d.ts +1 -1
  627. package/dist/pages/schema-design/SchemaDesigner.screen.d.ts.map +1 -1
  628. package/dist/pages/schema-design/SchemaDesigner.screen.js +1 -1
  629. package/dist/pages/schema-design/SchemaDesigner.screen.js.map +1 -1
  630. package/dist/pages/schema-design/SchemaDesignerCommands.d.ts +1 -1
  631. package/dist/pages/schema-design/SchemaDesignerCommands.d.ts.map +1 -1
  632. package/dist/pages/schema-design/SchemaDesignerCommands.js +1 -1
  633. package/dist/pages/schema-design/SchemaDesignerCommands.js.map +1 -1
  634. package/dist/store/FileSystem.d.ts +1 -1
  635. package/dist/store/FileSystem.d.ts.map +1 -1
  636. package/dist/store/FileSystem.js.map +1 -1
  637. package/dist/store/HttpStore.d.ts +1 -1
  638. package/dist/store/HttpStore.d.ts.map +1 -1
  639. package/dist/store/HttpStore.js +1 -1
  640. package/dist/store/HttpStore.js.map +1 -1
  641. package/dist/store/UserCache.d.ts +1 -1
  642. package/dist/store/UserCache.d.ts.map +1 -1
  643. package/dist/store/UserCache.js.map +1 -1
  644. package/dist/ui/chip/UiChip.js +1 -1
  645. package/dist/ui/chip/UiChip.js.map +1 -1
  646. package/dist/ui/notification/Snackbar.js +1 -1
  647. package/dist/ui/notification/Snackbar.js.map +1 -1
  648. package/dist/visualization/plugin/positioning/DataModelLayout.d.ts +1 -1
  649. package/dist/visualization/plugin/positioning/DataModelLayout.d.ts.map +1 -1
  650. package/dist/visualization/plugin/positioning/DataModelLayout.js.map +1 -1
  651. package/package.json +3 -3
  652. package/src/amf/lib/AmfInputParser.ts +1 -1
  653. package/src/amf/lib/AmfParameters.ts +1 -1
  654. package/src/amf/lib/AmfSecurity.ts +1 -1
  655. package/src/amf/lib/Oauth2RamlCustomData.ts +1 -1
  656. package/src/amf/lib/PayloadUtils.ts +1 -1
  657. package/src/amf/lib/QueryParameterProcessor.ts +1 -1
  658. package/src/amf/lib/Utils.ts +1 -1
  659. package/src/amf/store/AmfGraphStore.ts +1 -1
  660. package/src/amf/store/AmfStore.ts +1 -1
  661. package/src/amf/store/InMemAmfGraphStore.ts +1 -1
  662. package/src/amf/types.ts +1 -1
  663. package/src/bindings/base/HttpClientStoreBindings.ts +1 -1
  664. package/src/bindings/base/IoThread.ts +1 -1
  665. package/src/bindings/base/PlatformBindings.ts +1 -1
  666. package/src/bindings/base/ProxyBindings.ts +1 -1
  667. package/src/bindings/base/StoreBindings.ts +1 -1
  668. package/src/bindings/web/WebConfigurationBindings.ts +1 -1
  669. package/src/bindings/web/WebFileBindings.ts +1 -1
  670. package/src/bindings/web/WebHttpClientStoreBindings.ts +1 -1
  671. package/src/bindings/web/WebProxyBindings.ts +1 -1
  672. package/src/bindings/web/WebStoreBindings.ts +1 -1
  673. package/src/code-snippets/Bash/CurlSnippet.ts +1 -1
  674. package/src/code-snippets/C/CcurlSnippet.ts +1 -1
  675. package/src/code-snippets/CodeSnippet.ts +1 -1
  676. package/src/code-snippets/Dart/DartSnippet.ts +1 -1
  677. package/src/code-snippets/HTTP/RawSnippet.ts +1 -1
  678. package/src/code-snippets/Java/PlatformSnippet.ts +1 -1
  679. package/src/code-snippets/Java/SpringSnippet.ts +1 -1
  680. package/src/code-snippets/JavaScript/AsyncFetchSnippet.ts +1 -1
  681. package/src/code-snippets/JavaScript/AxiosSnippet.ts +1 -1
  682. package/src/code-snippets/JavaScript/FetchSnippet.ts +1 -1
  683. package/src/code-snippets/JavaScript/NodeSnippet.ts +1 -1
  684. package/src/code-snippets/JavaScript/XhrSnippet.ts +1 -1
  685. package/src/code-snippets/JavaScript/jQuerySnippet.ts +1 -1
  686. package/src/code-snippets/Python/Python27Snippet.ts +1 -1
  687. package/src/code-snippets/Python/Python31Snippet.ts +1 -1
  688. package/src/code-snippets/Python/RequestsSnippet.ts +1 -1
  689. package/src/elements/amf/ApiAnnotationDocument.element.ts +1 -1
  690. package/src/elements/amf/ApiAuthorizationEditor.element.ts +1 -1
  691. package/src/elements/amf/ApiChannelDocument.element.ts +1 -1
  692. package/src/elements/amf/ApiDocumentation.element.ts +1 -1
  693. package/src/elements/amf/ApiDocumentationBase.ts +1 -1
  694. package/src/elements/amf/ApiDocumentationDocument.element.ts +1 -1
  695. package/src/elements/amf/ApiNavigation.element.ts +1 -1
  696. package/src/elements/amf/ApiOperationDocument.element.ts +1 -1
  697. package/src/elements/amf/ApiParameterDocument.element.ts +1 -1
  698. package/src/elements/amf/ApiParametrizedSecurityScheme.element.ts +1 -1
  699. package/src/elements/amf/ApiPayloadDocument.element.ts +1 -1
  700. package/src/elements/amf/ApiRequest.element.ts +1 -1
  701. package/src/elements/amf/ApiRequestDocument.element.ts +1 -1
  702. package/src/elements/amf/ApiRequestEditor.element.ts +1 -1
  703. package/src/elements/amf/ApiResourceDocument.element.ts +1 -1
  704. package/src/elements/amf/ApiResponseDocument.element.ts +1 -1
  705. package/src/elements/amf/ApiSchemaDocument.element.ts +1 -1
  706. package/src/elements/amf/ApiSecurityDocument.element.ts +1 -1
  707. package/src/elements/amf/ApiSecurityRequirementDocument.element.ts +1 -1
  708. package/src/elements/amf/ApiServerPicker.element.ts +1 -1
  709. package/src/elements/amf/ApiSummary.element.ts +1 -1
  710. package/src/elements/amf/SchemaCommonTemplates.ts +1 -1
  711. package/src/elements/amf/authorization/AmfApiKey.ts +1 -1
  712. package/src/elements/amf/authorization/AmfBasic.ts +1 -1
  713. package/src/elements/amf/authorization/AmfBearer.ts +1 -1
  714. package/src/elements/amf/authorization/AmfOauth2.ts +1 -1
  715. package/src/elements/amf/authorization/AmfOidc.ts +1 -1
  716. package/src/elements/amf/authorization/AmfPassThrough.ts +1 -1
  717. package/src/elements/amf/authorization/AmfRamlCustom.ts +1 -1
  718. package/src/elements/authorization/OAuth2Authorize.ts +1 -1
  719. package/src/elements/authorization/OidcAuthorize.ts +1 -1
  720. package/src/elements/authorization/ui/ApiKeyAuthorization.ts +1 -1
  721. package/src/elements/authorization/ui/Authorization.ts +1 -1
  722. package/src/elements/authorization/ui/BasicAuthorization.ts +1 -1
  723. package/src/elements/authorization/ui/BearerAuthorization.ts +1 -1
  724. package/src/elements/authorization/ui/CcAuthorization.ts +1 -1
  725. package/src/elements/authorization/ui/NtlmAuthorization.ts +1 -1
  726. package/src/elements/authorization/ui/OAuth2Authorization.ts +1 -1
  727. package/src/elements/authorization/ui/OidcAuthorization.ts +1 -1
  728. package/src/elements/code/HttpSnippets.ts +1 -1
  729. package/src/elements/dialog/DeleteCookieAction.element.ts +1 -1
  730. package/src/elements/dialog/SetCookieAction.element.ts +2 -2
  731. package/src/elements/environment/EnvironmentEditor.ts +1 -1
  732. package/src/elements/environment/ServerEditor.ts +1 -1
  733. package/src/elements/environment/VariablesEditor.ts +1 -1
  734. package/src/elements/har/HarViewer.ts +1 -1
  735. package/src/elements/http/BodyEditor.ts +1 -1
  736. package/src/elements/http/BodyMultipartEditor.ts +1 -1
  737. package/src/elements/http/BodyUrlEncodedEditor.ts +1 -1
  738. package/src/elements/http/CertificateAdd.element.ts +1 -1
  739. package/src/elements/http/HeadersForm.ts +1 -1
  740. package/src/elements/http/HttpAssertions.element.ts +1 -1
  741. package/src/elements/http/HttpFlows.element.ts +1 -1
  742. package/src/elements/http/HttpFlowsUi.ts +1 -1
  743. package/src/elements/http/LogBody.ts +1 -1
  744. package/src/elements/http/LogHeaders.ts +1 -1
  745. package/src/elements/http/LogTimings.ts +1 -1
  746. package/src/elements/http/RequestAuth.template.ts +1 -1
  747. package/src/elements/http/RequestConfigElement.ts +1 -1
  748. package/src/elements/http/RequestEditor.ts +2 -2
  749. package/src/elements/http/RequestLog.ts +1 -1
  750. package/src/elements/http/UrlEncodeUtils.ts +1 -1
  751. package/src/elements/http/UrlInput.ts +1 -1
  752. package/src/elements/http/UrlParamsForm.ts +1 -1
  753. package/src/elements/layout/SplitPanel.ts +1 -1
  754. package/src/elements/navigation/AppNavigationElement.ts +1 -1
  755. package/src/elements/project/HttpProjectRequest.ts +2 -2
  756. package/src/elements/project/HttpProjectRequestHistory.ts +1 -1
  757. package/src/elements/project/ProjectNavigation.ts +1 -1
  758. package/src/elements/project/ProjectRunReport.ts +1 -1
  759. package/src/elements/project/ProjectRunner.ts +1 -1
  760. package/src/elements/project/ProjectRunnerNavigationElement.ts +1 -1
  761. package/src/elements/schema-design/AssociationFormElement.ts +1 -1
  762. package/src/elements/schema-design/DataEntityEditorElement.ts +1 -1
  763. package/src/elements/schema-design/DataModelVisualizationElement.ts +1 -1
  764. package/src/elements/schema-design/DataSchemaDocument.ts +1 -1
  765. package/src/elements/schema-design/EntityFormElement.ts +1 -1
  766. package/src/elements/schema-design/PropertyFormElement.ts +2 -2
  767. package/src/elements/schema-design/SchemaDesignNavigation.ts +1 -1
  768. package/src/elements/schema-design/SchemaNamespaceSelector.ts +1 -1
  769. package/src/elements/store/FilePicker.element.ts +1 -1
  770. package/src/elements/store/FilesLib.ts +1 -1
  771. package/src/elements/store/ShareFile.element.ts +1 -1
  772. package/src/elements/user/UserAvatarElement.ts +1 -1
  773. package/src/events/BroadcastUiEvents.ts +1 -1
  774. package/src/events/HttpClientEvents.ts +1 -1
  775. package/src/events/HttpProjectEvents.ts +1 -1
  776. package/src/events/StoreEvents.ts +1 -1
  777. package/src/events/amf/ApiEvents.ts +1 -1
  778. package/src/events/amf/DocumentationEvents.ts +1 -1
  779. package/src/events/amf/EndpointEvents.ts +1 -1
  780. package/src/events/amf/OperationEvents.ts +1 -1
  781. package/src/events/amf/PayloadEvents.ts +1 -1
  782. package/src/events/amf/RequestEvents.ts +1 -1
  783. package/src/events/amf/ResponseEvents.ts +1 -1
  784. package/src/events/amf/SecurityEvents.ts +1 -1
  785. package/src/events/amf/ServerEvents.ts +1 -1
  786. package/src/events/amf/TypeEvents.ts +1 -1
  787. package/src/http-client/idb/Arc18DataUpgrade.ts +1 -1
  788. package/src/http-client/idb/Base.ts +1 -1
  789. package/src/http-client/idb/LegacyBodyProcessor.ts +1 -1
  790. package/src/http-client/idb/MockedStore.ts +1 -1
  791. package/src/http-client/store/Cursor.ts +1 -1
  792. package/src/http-client/store/DataImportProcessor.ts +2 -2
  793. package/src/http-client/store/HttpClientIdbDatabase.ts +1 -1
  794. package/src/http-client/store/IdbThread.ts +1 -1
  795. package/src/http-client/store/State.ts +1 -1
  796. package/src/http-client/store/idb/IdbProjectUi.ts +1 -1
  797. package/src/http-client/store/idb/IdbUrlHistory.ts +1 -1
  798. package/src/http-client/store/idb/IdbWsHistory.ts +1 -1
  799. package/src/http-client/store/stores/ProjectUi.ts +1 -1
  800. package/src/http-client/store/stores/UrlHistory.ts +1 -1
  801. package/src/http-client/store/stores/WsHistory.ts +1 -1
  802. package/src/http-client/store/types.ts +1 -1
  803. package/src/lib/chart/HttpHistoryChart.ts +1 -1
  804. package/src/lib/http/Har.ts +1 -1
  805. package/src/lib/http/HeadersArray.ts +1 -1
  806. package/src/lib/http/Payload.ts +1 -1
  807. package/src/lib/http/Url.ts +1 -1
  808. package/src/pages/ApplicationScreen.ts +1 -1
  809. package/src/pages/api-client/ApiClient.screen.ts +1 -1
  810. package/src/pages/api-client/AppInfo.ts +1 -1
  811. package/src/pages/api-client/StoreConfig.screen.ts +1 -1
  812. package/src/pages/api-client/pages/Files.page.ts +1 -1
  813. package/src/pages/api-client/pages/Shared.page.ts +1 -1
  814. package/src/pages/api-client/pages/Trash.page.ts +1 -1
  815. package/src/pages/http-project/AppInfo.ts +1 -1
  816. package/src/pages/http-project/HttpClientCommands.ts +1 -1
  817. package/src/pages/http-project/HttpProject.screen.ts +1 -1
  818. package/src/pages/http-project/types.ts +1 -1
  819. package/src/pages/schema-design/AppInfo.ts +1 -1
  820. package/src/pages/schema-design/SchemaDesigner.screen.ts +1 -1
  821. package/src/pages/schema-design/SchemaDesignerCommands.ts +1 -1
  822. package/src/store/FileSystem.ts +1 -1
  823. package/src/store/HttpStore.ts +1 -1
  824. package/src/store/UserCache.ts +1 -1
  825. package/src/ui/chip/UiChip.ts +1 -1
  826. package/src/ui/notification/Snackbar.ts +1 -1
  827. package/src/visualization/plugin/positioning/DataModelLayout.ts +1 -1
  828. package/test/amf/AmfLoader.ts +1 -1
  829. package/test/amf/authorization/ApiAuthorizationEditorElement.oas.test.ts +1 -1
  830. package/test/amf/authorization/ApiAuthorizationEditorElement.raml.test.ts +1 -1
  831. package/test/amf/authorization/ApiKeyMethod.test.ts +1 -1
  832. package/test/amf/authorization/CustomMethod.test.ts +1 -1
  833. package/test/amf/authorization/OAuth2-21143.test.ts +1 -1
  834. package/test/amf/authorization/OAuth2-flows.test.ts +1 -1
  835. package/test/amf/authorization/OAuth2-pkce.test.ts +1 -1
  836. package/test/amf/authorization/OAuth2Method.test.ts +1 -1
  837. package/test/amf/authorization/PassThroughMethod.test.ts +1 -1
  838. package/test/amf/elements/ApiAnnotationDocumentElement.test.ts +1 -1
  839. package/test/amf/elements/ApiDocumentationDocumentElement.test.ts +1 -1
  840. package/test/amf/elements/ApiDocumentationElement.test.ts +1 -1
  841. package/test/amf/elements/ApiOperationDocumentElement.test.ts +1 -1
  842. package/test/amf/elements/ApiRequestDocumentElement.test.ts +1 -1
  843. package/test/amf/elements/ApiResourceDocumentElement.test.ts +1 -1
  844. package/test/amf/elements/ApiResponseDocumentElement.test.ts +1 -1
  845. package/test/amf/elements/ApiSchemaDocumentElement.test.ts +1 -1
  846. package/test/amf/elements/ApiSecurityDocumentElement.test.ts +1 -1
  847. package/test/amf/elements/ApiSecurityRequirementDocumentElement.test.ts +1 -1
  848. package/test/amf/elements/ApiServerPickerElement.test.ts +1 -1
  849. package/test/amf/elements/ApiSummaryElement.test.ts +1 -1
  850. package/test/amf/elements/SE-12957.test.ts +1 -1
  851. package/test/amf/http-request/APIC-289.test.ts +1 -1
  852. package/test/amf/http-request/APIC-298.test.ts +1 -1
  853. package/test/amf/http-request/APIC-689.test.ts +1 -1
  854. package/test/amf/http-request/ApiRequestEditorElement.test.ts +1 -1
  855. package/test/amf/http-request/ApiRequestElement.test.ts +1 -1
  856. package/test/amf/http-request/SE-12042.test.ts +1 -1
  857. package/test/amf/http-request/SE-12957.test.ts +1 -1
  858. package/test/amf/lib/UrlUtils.test.ts +1 -1
  859. package/test/amf/navigation/ApiNavigationElement.test.ts +1 -1
  860. package/test/elements/authorization/basic-method.test.ts +1 -1
  861. package/test/elements/authorization/bearer-method.test.ts +1 -1
  862. package/test/elements/authorization/ntlm-method.test.ts +1 -1
  863. package/test/elements/authorization/oauth2-client-credentials-method.test.ts +1 -1
  864. package/test/elements/authorization/oauth2-code-method.test.ts +1 -1
  865. package/test/elements/authorization/oauth2-custom-grant-method.test.ts +1 -1
  866. package/test/elements/authorization/oauth2-device-code-method.test.ts +1 -1
  867. package/test/elements/authorization/oauth2-implicit-method.test.ts +1 -1
  868. package/test/elements/authorization/oauth2-jwt-method.test.ts +1 -1
  869. package/test/elements/authorization/oauth2-password-method.test.ts +1 -1
  870. package/test/elements/authorization/openid-method.test.ts +1 -1
  871. package/test/elements/http/BodyFormdataEditorElement.test.ts +1 -1
  872. package/test/elements/http/HttpAssertions.test.ts +1 -1
  873. package/test/elements/http/HttpFlows.test.ts +1 -1
  874. package/test/elements/http/UrlEncodeUtils.test.ts +1 -1
  875. package/test/elements/store/FilePicker.test.ts +1 -1
  876. package/test/helpers/StoreHelper.ts +1 -1
  877. package/web-dev-server.config.mjs +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaDesignNavigation.js","sourceRoot":"","sources":["../../../src/elements/schema-design/SchemaDesignNavigation.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { \n DataEntity,\n DataEntityKind,\n DataModel,\n DataModelKind,\n DataNamespace,\n DataNamespaceKind,\n} from '@api-client/core/build/browser.js';\nimport AppNavigation from '../navigation/AppNavigationElement.js';\nimport { Events } from '../../events/Events.js';\nimport '../../define/ui/ui-icon.js';\n\nexport default class SchemaDesignNavigation extends AppNavigation {\n /**\n * The instance of the root DataNamespace.\n */\n @property({ type: Object }) root?: DataNamespace;\n\n /**\n * The key of the selected namespace.\n */\n @property({ type: String }) parentNamespace?: string;\n\n @state() protected _nsSelectorOpened?: boolean;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('aria-label', 'Schema model');\n }\n\n protected _toggleNsSelector(): void {\n this._nsSelectorOpened = !this._nsSelectorOpened;\n }\n\n protected override _commitName(key: string, kind: string, name: string): void {\n const { root } = this;\n if (!root) {\n return;\n }\n if (!name) {\n return;\n }\n if (kind === DataNamespaceKind) {\n const object = key === root.key ? root : root.findNamespace(key);\n if (!object) {\n throw new Error(`Invalid state. Namespace not found.`);\n }\n object.info.name = name;\n } else if (kind === DataModelKind) {\n const object = root.findDataModel(key);\n if (!object) {\n throw new Error(`Invalid state. Data model not found.`);\n }\n object.info.name = name;\n } else if (kind === DataEntityKind) {\n const object = root.definitions.entities.find(e => e.key === key);\n if (!object) {\n throw new Error(`Invalid state. Entity not found.`);\n }\n object.info.name = name;\n } else {\n throw new Error(`Invalid state. Unknown kind.`);\n }\n this.edited = undefined;\n Events.SchemaDesign.changed(this);\n Events.SchemaDesign.State.nameChanged(key, kind, this);\n }\n\n override render(): TemplateResult | string {\n const { root } = this;\n if (!root) {\n return html``;\n }\n const hasChildren = root.items.some(i => [DataNamespaceKind, DataModelKind].includes(i.kind));\n if (!hasChildren) {\n return this.renderEmptyInfo();\n }\n return html`\n <div class=\"headline\">Namespace</div>\n ${this._namespaceTreeTemplate(root)}\n `;\n }\n\n protected renderEmptyInfo(): TemplateResult {\n return html`\n <div class=\"empty-view\">\n <p class=\"empty-message\">There are no schemas to render.</p>\n <p class=\"info\">Right-click here to create your first data model.</p>\n </div>\n `;\n }\n\n protected _namespaceTreeTemplate(root: DataNamespace): TemplateResult {\n const namespaces = root.listNamespaces();\n const dataModels = root.listDataModels();\n const contents: TemplateResult[] = [];\n namespaces.forEach(ns => {\n contents.push(this._namespaceItemTemplate(ns));\n });\n dataModels.forEach(ns => {\n contents.push(this._dataModelItemTemplate(ns));\n });\n\n return this._outerListTemplate(contents);\n }\n\n protected _nsChildrenTemplate(current: DataNamespace): TemplateResult {\n const namespaces = current.listNamespaces();\n const dataModels = current.listDataModels();\n const contents: TemplateResult[] = [];\n namespaces.forEach(ns => {\n contents.push(this._namespaceItemTemplate(ns));\n });\n dataModels.forEach(ns => {\n contents.push(this._dataModelItemTemplate(ns));\n });\n return this._parentListItemTemplate(current.key, current.kind, current.info.name || 'Unnamed namespace', contents, {\n parentIcon: 'schemaNamespace',\n });\n }\n\n protected _namespaceItemTemplate(item: DataNamespace): TemplateResult {\n const hasChildren = item.items.some(i => [DataNamespaceKind, DataModelKind].includes(i.kind));\n if (hasChildren) {\n return this._nsChildrenTemplate(item);\n }\n const label = item.info.renderLabel;\n const content = this._itemContentTemplate('schemaNamespace', label);\n return this._listItemTemplate(item.key, item.kind, label, content);\n }\n\n protected _dataModelItemTemplate(current: DataModel): TemplateResult {\n const hasChildren = !!current.entities.length;\n const label = current.info.renderLabel;\n if (!hasChildren) {\n const content = this._itemContentTemplate('schemaModel', label);\n return this._listItemTemplate(current.key, current.kind, label, content);\n }\n const entities = current.entities.map(i => this._entityItemTemplate(i));\n return this._parentListItemTemplate(current.key, current.kind, label, entities, {\n parentIcon: 'schemaModel',\n });\n }\n\n protected _entityItemTemplate(item: DataEntity): TemplateResult {\n const label = item.info.renderLabel;\n const content = this._itemContentTemplate('schemaEntity', label);\n return this._listItemTemplate(item.key, item.kind, label, content, {\n draggable: true,\n });\n }\n}\n"]}
1
+ {"version":3,"file":"SchemaDesignNavigation.js","sourceRoot":"","sources":["../../../src/elements/schema-design/SchemaDesignNavigation.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { \n DataEntity,\n DataEntityKind,\n DataModel,\n DataModelKind,\n DataNamespace,\n DataNamespaceKind,\n} from '@api-client/core/build/esm/browser.js';\nimport AppNavigation from '../navigation/AppNavigationElement.js';\nimport { Events } from '../../events/Events.js';\nimport '../../define/ui/ui-icon.js';\n\nexport default class SchemaDesignNavigation extends AppNavigation {\n /**\n * The instance of the root DataNamespace.\n */\n @property({ type: Object }) root?: DataNamespace;\n\n /**\n * The key of the selected namespace.\n */\n @property({ type: String }) parentNamespace?: string;\n\n @state() protected _nsSelectorOpened?: boolean;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('aria-label', 'Schema model');\n }\n\n protected _toggleNsSelector(): void {\n this._nsSelectorOpened = !this._nsSelectorOpened;\n }\n\n protected override _commitName(key: string, kind: string, name: string): void {\n const { root } = this;\n if (!root) {\n return;\n }\n if (!name) {\n return;\n }\n if (kind === DataNamespaceKind) {\n const object = key === root.key ? root : root.findNamespace(key);\n if (!object) {\n throw new Error(`Invalid state. Namespace not found.`);\n }\n object.info.name = name;\n } else if (kind === DataModelKind) {\n const object = root.findDataModel(key);\n if (!object) {\n throw new Error(`Invalid state. Data model not found.`);\n }\n object.info.name = name;\n } else if (kind === DataEntityKind) {\n const object = root.definitions.entities.find(e => e.key === key);\n if (!object) {\n throw new Error(`Invalid state. Entity not found.`);\n }\n object.info.name = name;\n } else {\n throw new Error(`Invalid state. Unknown kind.`);\n }\n this.edited = undefined;\n Events.SchemaDesign.changed(this);\n Events.SchemaDesign.State.nameChanged(key, kind, this);\n }\n\n override render(): TemplateResult | string {\n const { root } = this;\n if (!root) {\n return html``;\n }\n const hasChildren = root.items.some(i => [DataNamespaceKind, DataModelKind].includes(i.kind));\n if (!hasChildren) {\n return this.renderEmptyInfo();\n }\n return html`\n <div class=\"headline\">Namespace</div>\n ${this._namespaceTreeTemplate(root)}\n `;\n }\n\n protected renderEmptyInfo(): TemplateResult {\n return html`\n <div class=\"empty-view\">\n <p class=\"empty-message\">There are no schemas to render.</p>\n <p class=\"info\">Right-click here to create your first data model.</p>\n </div>\n `;\n }\n\n protected _namespaceTreeTemplate(root: DataNamespace): TemplateResult {\n const namespaces = root.listNamespaces();\n const dataModels = root.listDataModels();\n const contents: TemplateResult[] = [];\n namespaces.forEach(ns => {\n contents.push(this._namespaceItemTemplate(ns));\n });\n dataModels.forEach(ns => {\n contents.push(this._dataModelItemTemplate(ns));\n });\n\n return this._outerListTemplate(contents);\n }\n\n protected _nsChildrenTemplate(current: DataNamespace): TemplateResult {\n const namespaces = current.listNamespaces();\n const dataModels = current.listDataModels();\n const contents: TemplateResult[] = [];\n namespaces.forEach(ns => {\n contents.push(this._namespaceItemTemplate(ns));\n });\n dataModels.forEach(ns => {\n contents.push(this._dataModelItemTemplate(ns));\n });\n return this._parentListItemTemplate(current.key, current.kind, current.info.name || 'Unnamed namespace', contents, {\n parentIcon: 'schemaNamespace',\n });\n }\n\n protected _namespaceItemTemplate(item: DataNamespace): TemplateResult {\n const hasChildren = item.items.some(i => [DataNamespaceKind, DataModelKind].includes(i.kind));\n if (hasChildren) {\n return this._nsChildrenTemplate(item);\n }\n const label = item.info.renderLabel;\n const content = this._itemContentTemplate('schemaNamespace', label);\n return this._listItemTemplate(item.key, item.kind, label, content);\n }\n\n protected _dataModelItemTemplate(current: DataModel): TemplateResult {\n const hasChildren = !!current.entities.length;\n const label = current.info.renderLabel;\n if (!hasChildren) {\n const content = this._itemContentTemplate('schemaModel', label);\n return this._listItemTemplate(current.key, current.kind, label, content);\n }\n const entities = current.entities.map(i => this._entityItemTemplate(i));\n return this._parentListItemTemplate(current.key, current.kind, label, entities, {\n parentIcon: 'schemaModel',\n });\n }\n\n protected _entityItemTemplate(item: DataEntity): TemplateResult {\n const label = item.info.renderLabel;\n const content = this._itemContentTemplate('schemaEntity', label);\n return this._listItemTemplate(item.key, item.kind, label, content, {\n draggable: true,\n });\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { DataNamespace } from "@api-client/core/build/browser.js";
1
+ import { DataNamespace } from "@api-client/core/build/esm/browser.js";
2
2
  import { TemplateResult } from "lit";
3
3
  import AppNavigation from "../navigation/AppNavigationElement.js";
4
4
  import '../../define/ui/ui-icon.js';
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaNamespaceSelector.d.ts","sourceRoot":"","sources":["../../../src/elements/schema-design/SchemaNamespaceSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAqB,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAQ,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3C,OAAO,aAAa,MAAM,uCAAuC,CAAC;AAClE,OAAO,4BAA4B,CAAC;AAEpC;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,aAAa;IAChE;;OAEG;IACyB,IAAI,CAAC,EAAE,aAAa,CAAC;IAEjD;;;OAGG;IACyC,MAAM,CAAC,EAAE,OAAO,CAAC;IAEpD,iBAAiB,IAAI,IAAI;IAKlC,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAK1B,MAAM,IAAI,cAAc,GAAG,MAAM;IAsB1C,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,aAAa,GAAG,cAAc;IAMrE,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,cAAc;IAMlE,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,cAAc;CAS/D"}
1
+ {"version":3,"file":"SchemaNamespaceSelector.d.ts","sourceRoot":"","sources":["../../../src/elements/schema-design/SchemaNamespaceSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAqB,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAQ,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3C,OAAO,aAAa,MAAM,uCAAuC,CAAC;AAClE,OAAO,4BAA4B,CAAC;AAEpC;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,aAAa;IAChE;;OAEG;IACyB,IAAI,CAAC,EAAE,aAAa,CAAC;IAEjD;;;OAGG;IACyC,MAAM,CAAC,EAAE,OAAO,CAAC;IAEpD,iBAAiB,IAAI,IAAI;IAKlC,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAK1B,MAAM,IAAI,cAAc,GAAG,MAAM;IAsB1C,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,aAAa,GAAG,cAAc;IAMrE,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,cAAc;IAMlE,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,cAAc;CAS/D"}
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { DataNamespaceKind } from "@api-client/core/build/browser.js";
2
+ import { DataNamespaceKind } from "@api-client/core/build/esm/browser.js";
3
3
  import { html } from "lit";
4
4
  import { property } from "lit/decorators.js";
5
5
  import AppNavigation from "../navigation/AppNavigationElement.js";
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaNamespaceSelector.js","sourceRoot":"","sources":["../../../src/elements/schema-design/SchemaNamespaceSelector.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataNamespace, DataNamespaceKind } from \"@api-client/core/build/browser.js\";\nimport { html, TemplateResult } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport AppNavigation from \"../navigation/AppNavigationElement.js\";\nimport '../../define/ui/ui-icon.js';\n\n/**\n * An element that specializes in rendering a navigation dropdown for the schema / data namespace.\n * \n * @fires open - When the element is \"open\" property change internally through user interaction.\n */\nexport default class SchemaNamespaceSelector extends AppNavigation {\n /**\n * The instance of the root DataNamespace.\n */\n @property({ type: Object }) root?: DataNamespace;\n\n /**\n * When opened the selector render the selection tree, not only the label.\n * @attr\n */\n @property({ type: Boolean, reflect: true }) opened?: boolean;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('aria-label', 'Namespace selection');\n }\n\n protected _toggleNsSelector(): void {\n this.opened = !this.opened;\n this.dispatchEvent(new Event('open'));\n }\n\n override render(): TemplateResult | string {\n const { root, selected, opened } = this;\n if (!root) {\n return html``;\n }\n const parent = selected ? root.findNamespace(selected) : root;\n if (!parent) {\n // TODO: This should still render but with the invalid selection state so the user\n // can change the selection.\n return html``;\n }\n return html`\n <div class=\"section-title\">Namespace</div>\n <button class=\"selector-label\" @click=\"${this._toggleNsSelector}\">\n <span class=\"label\">${parent.info.name}</span>\n <ui-icon icon=\"arrowDropDown\" class=\"toggle-icon\"></ui-icon>\n </button>\n\n ${opened ? this._namespaceTreeTemplate(root) : ''}\n `;\n }\n\n protected _namespaceTreeTemplate(root: DataNamespace): TemplateResult {\n const children = root.listNamespaces();\n const contents = children.map(item => this._nsItemTemplate(item));\n return this._outerListTemplate(contents);\n }\n\n protected _nsChildrenTemplate(item: DataNamespace): TemplateResult {\n const children = item.listNamespaces();\n const contents = children.map(current => this._nsItemTemplate(current));\n return this._parentListItemTemplate(item.key, item.kind, item.info.name || 'Unnamed namespace', contents);\n }\n\n protected _nsItemTemplate(item: DataNamespace): TemplateResult {\n const hasChildren = item.items.some(i => i.kind === DataNamespaceKind);\n if (hasChildren) {\n return this._nsChildrenTemplate(item);\n }\n const label = item.info.name || 'Unnamed namespace';\n const content = this._itemContentTemplate('schemaNamespace', label);\n return this._listItemTemplate(item.key, item.kind, label, content);\n }\n}\n"]}
1
+ {"version":3,"file":"SchemaNamespaceSelector.js","sourceRoot":"","sources":["../../../src/elements/schema-design/SchemaNamespaceSelector.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataNamespace, DataNamespaceKind } from \"@api-client/core/build/esm/browser.js\";\nimport { html, TemplateResult } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport AppNavigation from \"../navigation/AppNavigationElement.js\";\nimport '../../define/ui/ui-icon.js';\n\n/**\n * An element that specializes in rendering a navigation dropdown for the schema / data namespace.\n * \n * @fires open - When the element is \"open\" property change internally through user interaction.\n */\nexport default class SchemaNamespaceSelector extends AppNavigation {\n /**\n * The instance of the root DataNamespace.\n */\n @property({ type: Object }) root?: DataNamespace;\n\n /**\n * When opened the selector render the selection tree, not only the label.\n * @attr\n */\n @property({ type: Boolean, reflect: true }) opened?: boolean;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('aria-label', 'Namespace selection');\n }\n\n protected _toggleNsSelector(): void {\n this.opened = !this.opened;\n this.dispatchEvent(new Event('open'));\n }\n\n override render(): TemplateResult | string {\n const { root, selected, opened } = this;\n if (!root) {\n return html``;\n }\n const parent = selected ? root.findNamespace(selected) : root;\n if (!parent) {\n // TODO: This should still render but with the invalid selection state so the user\n // can change the selection.\n return html``;\n }\n return html`\n <div class=\"section-title\">Namespace</div>\n <button class=\"selector-label\" @click=\"${this._toggleNsSelector}\">\n <span class=\"label\">${parent.info.name}</span>\n <ui-icon icon=\"arrowDropDown\" class=\"toggle-icon\"></ui-icon>\n </button>\n\n ${opened ? this._namespaceTreeTemplate(root) : ''}\n `;\n }\n\n protected _namespaceTreeTemplate(root: DataNamespace): TemplateResult {\n const children = root.listNamespaces();\n const contents = children.map(item => this._nsItemTemplate(item));\n return this._outerListTemplate(contents);\n }\n\n protected _nsChildrenTemplate(item: DataNamespace): TemplateResult {\n const children = item.listNamespaces();\n const contents = children.map(current => this._nsItemTemplate(current));\n return this._parentListItemTemplate(item.key, item.kind, item.info.name || 'Unnamed namespace', contents);\n }\n\n protected _nsItemTemplate(item: DataNamespace): TemplateResult {\n const hasChildren = item.items.some(i => i.kind === DataNamespaceKind);\n if (hasChildren) {\n return this._nsChildrenTemplate(item);\n }\n const label = item.info.name || 'Unnamed namespace';\n const content = this._itemContentTemplate('schemaNamespace', label);\n return this._listItemTemplate(item.key, item.kind, label, content);\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { IFile, ListFileKind } from "@api-client/core/build/browser.js";
1
+ import { IFile, ListFileKind } from "@api-client/core/build/esm/browser.js";
2
2
  import { CSSResult, TemplateResult } from "lit";
3
3
  import ApiElement from "../ApiElement.js";
4
4
  import type UiList from "../../ui/list/UiList.js";
@@ -1 +1 @@
1
- {"version":3,"file":"FilePicker.element.d.ts","sourceRoot":"","sources":["../../../src/elements/store/FilePicker.element.ts"],"names":[],"mappings":"AAAA,OAAO,EACO,KAAK,EACjB,YAAY,EACb,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAiB,cAAc,EAAE,MAAM,KAAK,CAAC;AAG/D,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAG1C,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,+BAA+B,CAAC;AACvC,OAAO,8BAA8B,CAAC;AACtC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,4BAA4B,CAAC;AACpC,OAAO,4BAA4B,CAAC;AACpC,OAAO,iCAAiC,CAAC;AACzC,OAAO,gCAAgC,CAAC;AAExC,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;CACd;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,UAAU;IAChD,WAAoB,MAAM,IAAI,SAAS,EAAE,CAExC;IAED;;;OAGG;IACH,IACI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAEnC;IAED;;;OAGG;IACH,IACI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAElC;IAED,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED;;;OAGG;IACH,IACI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,EAEhC;IAED;;;OAGG;IACH,IACI,KAAK,IAAI,YAAY,EAAE,GAAG,SAAS,CAEtC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,SAAS,EAI1C;IAEiB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAE1C;;OAEG;IACM,SAAS,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;IAE/B,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;OAIG;IAC0B,WAAW,CAAC,EAAE,OAAO,CAAC;IAEnD,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,EAAE,aAAoB;;IAqBb,iBAAiB,IAAI,IAAI;IAWzB,oBAAoB,IAAI,IAAI;IAK5B,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;IAOxD,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,GAAG,IAAI;IAejE,SAAS,CAAC,cAAc,IAAI,IAAI;IAKhC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAoB9C,SAAS,CAAC,YAAY,IAAI,IAAI;IAI9B,SAAS,CAAC,YAAY,IAAI,IAAI;IAK9B,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;cAOvB,MAAM,IAAI,cAAc;IAa3C,SAAS,CAAC,YAAY,IAAI,cAAc;IA4BxC,SAAS,CAAC,WAAW,IAAI,cAAc;IAYvC,SAAS,CAAC,eAAe,IAAI,cAAc;IAM3C,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,GAAG,cAAc;IAUrD,SAAS,CAAC,aAAa,IAAI,cAAc;CAU1C"}
1
+ {"version":3,"file":"FilePicker.element.d.ts","sourceRoot":"","sources":["../../../src/elements/store/FilePicker.element.ts"],"names":[],"mappings":"AAAA,OAAO,EACO,KAAK,EACjB,YAAY,EACb,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAiB,cAAc,EAAE,MAAM,KAAK,CAAC;AAG/D,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAG1C,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,+BAA+B,CAAC;AACvC,OAAO,8BAA8B,CAAC;AACtC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,4BAA4B,CAAC;AACpC,OAAO,4BAA4B,CAAC;AACpC,OAAO,iCAAiC,CAAC;AACzC,OAAO,gCAAgC,CAAC;AAExC,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;CACd;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,UAAU;IAChD,WAAoB,MAAM,IAAI,SAAS,EAAE,CAExC;IAED;;;OAGG;IACH,IACI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAEnC;IAED;;;OAGG;IACH,IACI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAElC;IAED,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED;;;OAGG;IACH,IACI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,EAEhC;IAED;;;OAGG;IACH,IACI,KAAK,IAAI,YAAY,EAAE,GAAG,SAAS,CAEtC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,SAAS,EAI1C;IAEiB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAE1C;;OAEG;IACM,SAAS,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;IAE/B,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;OAIG;IAC0B,WAAW,CAAC,EAAE,OAAO,CAAC;IAEnD,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,EAAE,aAAoB;;IAqBb,iBAAiB,IAAI,IAAI;IAWzB,oBAAoB,IAAI,IAAI;IAK5B,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;IAOxD,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,GAAG,IAAI;IAejE,SAAS,CAAC,cAAc,IAAI,IAAI;IAKhC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAoB9C,SAAS,CAAC,YAAY,IAAI,IAAI;IAI9B,SAAS,CAAC,YAAY,IAAI,IAAI;IAK9B,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;cAOvB,MAAM,IAAI,cAAc;IAa3C,SAAS,CAAC,YAAY,IAAI,cAAc;IA4BxC,SAAS,CAAC,WAAW,IAAI,cAAc;IAYvC,SAAS,CAAC,eAAe,IAAI,cAAc;IAM3C,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,GAAG,cAAc;IAUrD,SAAS,CAAC,aAAa,IAAI,cAAc;CAU1C"}
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { FolderKind } from "@api-client/core/build/browser.js";
2
+ import { FolderKind } from "@api-client/core/build/esm/browser.js";
3
3
  import { html, nothing } from "lit";
4
4
  import { eventOptions, property, query, state } from "lit/decorators.js";
5
5
  import { classMap } from "lit/directives/class-map.js";
@@ -1 +1 @@
1
- {"version":3,"file":"FilePicker.element.js","sourceRoot":"","sources":["../../../src/elements/store/FilePicker.element.ts"],"names":[],"mappings":"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","sourcesContent":["import { \n FolderKind, IFile, \n ListFileKind \n} from \"@api-client/core/build/browser.js\";\nimport { CSSResult, html, nothing, TemplateResult } from \"lit\";\nimport { eventOptions, property, query, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport ApiElement from \"../ApiElement.js\";\nimport styles from './FilePicker.styles.js';\nimport { fileIcon } from \"./FilesLib.js\";\nimport type UiList from \"../../ui/list/UiList.js\";\nimport type { UiListSelection } from \"../../ui/list/UiList.js\";\nimport { FileSystem } from \"../../store/FileSystem.js\";\nimport '../../define/ui/ui-divider.js';\nimport '../../define/ui/ui-button.js';\nimport '../../define/ui/ui-icon-button.js';\nimport '../../define/ui/ui-icon.js';\nimport '../../define/ui/ui-list.js';\nimport '../../define/ui/ui-list-item.js';\nimport '../../define/ui/ui-progress.js';\n\nexport interface FilePickerClosingReason {\n /**\n * Whether the picker was canceled.\n */\n canceled: boolean;\n /**\n * The file selected by the user. This is always and only selected when the `canceled` is false.\n */\n file?: IFile;\n}\n\n/**\n * A portable element that allow to pick a file from the Store.\n * \n * @fires close - When a file is selected or the user cancelled the dialog. The detail object is the picked file object. Note, this event bubbles.\n * @fires querycomplete - When the page of results was loaded.\n */\nexport default class FilePicker extends ApiElement {\n static override get styles(): CSSResult[] {\n return styles;\n }\n\n /**\n * The key of the parent folder to query for files.\n * @attribute\n */\n @property({ type: String, hasChanged: () => false }) \n get folder(): string | undefined {\n return this.fs.parent;\n }\n\n set folder(value: string | undefined) {\n this.fs.selectFolder(value);\n }\n\n /**\n * The page limit. Defaults to the store defaults.\n * @attribute\n */\n @property({ type: Number, hasChanged: () => false }) \n set limit(value: number | undefined) {\n this.fs.limit = value;\n }\n\n get limit(): number | undefined {\n return this.fs.limit;\n }\n\n /**\n * The timeout for the page query debouncer.\n * @attribute\n */\n @property({ type: Number, hasChanged: () => false }) \n get debounceTimeout(): number {\n return this.fs.debounceTimeout;\n }\n\n set debounceTimeout(value: number) {\n this.fs.debounceTimeout = value || 0;\n }\n\n /**\n * The list of file kinds to list.\n * Folders are always included.\n */\n @property({ type: Array, hasChanged: () => false }) \n get kinds(): ListFileKind[] | undefined {\n return this.fs.kinds;\n }\n\n set kinds(value: ListFileKind[] | undefined) {\n this.fs.kinds = value;\n this.fs.resetList();\n this.fs.debounceQuery();\n }\n\n @query('ui-list') protected list?: UiList;\n\n /**\n * The currently selected in the picker file.\n */\n @state() protected selectedFile?: IFile;\n\n @state() errorMessage?: string;\n\n /**\n * When set it does not query for files when attached to the DOM. \n * It will still query for files when attributes change. This is primarily used in tests.\n * @attribute\n */\n @property({ type: Boolean }) manualQuery?: boolean;\n\n get selectedKey(): string | undefined {\n return this.selectedFile?.key;\n }\n\n fs = new FileSystem();\n\n constructor() {\n super();\n this.fs.eventsTarget = this;\n this.fs.addEventListener('change', () => this.requestUpdate());\n this.fs.addEventListener('error', (e: Event) => {\n const event = e as CustomEvent<string>;\n this.errorMessage = event.detail;\n });\n this.fs.addEventListener('querycomplete', () => {\n this.dispatchEvent(new Event('querycomplete'));\n });\n this.fs.addEventListener('delete', (e: Event) => {\n const event = e as CustomEvent<string>;\n if (this.selectedFile && this.selectedFile.key === event.detail) {\n this.selectedFile = undefined;\n }\n });\n }\n \n override connectedCallback(): void {\n super.connectedCallback();\n this.fs.observe();\n if (!this.manualQuery) {\n this.fs.debounceQuery();\n }\n if (!this.hasAttribute('tabindex')) {\n this.setAttribute('tabindex', '0');\n }\n }\n \n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.fs.unobserve();\n }\n\n override focus(options?: FocusOptions | undefined): void {\n const { list } = this;\n if (list) {\n list.focus(options);\n }\n }\n\n protected handleFileSelect(e: CustomEvent<UiListSelection>): void {\n // this prevents the dropdown list to close the UI.\n e.preventDefault();\n const file = this.fs.files[e.detail.index];\n if (!file) {\n return;\n }\n if (file.kind === FolderKind) {\n this.fs.selectFolder(file.key);\n this.selectedFile = undefined;\n return;\n }\n this.selectedFile = file;\n }\n\n protected handleParentUp(): void {\n this.fs.parentUp();\n this.selectedFile = undefined;\n }\n\n protected notifyClose(canceled: boolean): void {\n if (!canceled && !this.selectedFile) {\n return;\n }\n const detail: FilePickerClosingReason = {\n canceled,\n };\n if (!canceled) {\n detail.file = this.selectedFile;\n }\n // this event bubbles so any dropdown on the way can close itself.\n const e = new CustomEvent<FilePickerClosingReason>('close', {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail,\n });\n this.dispatchEvent(e);\n }\n\n protected handleSelect(): void {\n this.notifyClose(false);\n }\n\n protected handleCancel(): void {\n this.notifyClose(true);\n }\n\n @eventOptions({ passive: true })\n protected handleListScroll(e: Event): void {\n const list = e.target as UiList;\n if (this.fs.isListEnd(list)) {\n this.fs.debounceQuery();\n }\n }\n\n protected override render(): TemplateResult {\n return html`\n <div class=\"content\">\n ${this.renderHeader()}\n <ui-divider></ui-divider>\n ${this.renderFiles()}\n ${this.errorMessage ? html`<p class=\"error\">${this.errorMessage}</p>` : nothing}\n <ui-divider></ui-divider>\n ${this.renderActions()}\n </div>\n `;\n }\n\n protected renderHeader(): TemplateResult {\n const { breadcrumbs = [], reading } = this.fs;\n let content: TemplateResult;\n let withIcon = false;\n if (!breadcrumbs.length) {\n content = html`<span class=\"title-large label\">My files</span>`;\n } else {\n withIcon = true;\n const [parent] = breadcrumbs;\n content = html`\n <ui-icon-button aria-label=\"Open parent folder\" @click=\"${this.handleParentUp}\" class=\"back-button\">\n <ui-icon role=\"presentation\" icon=\"arrowBack\"></ui-icon>\n </ui-icon-button>\n <span class=\"title-large label\">${parent.name}</span>\n `;\n }\n const classes = {\n header: true,\n withIcon,\n }\n return html`\n <div class=\"${classMap(classes)}\">\n ${content}\n ${reading ? html`<ui-progress indeterminate class=\"progress\"></ui-progress>` : nothing}\n </div>\n `;\n }\n\n protected renderFiles(): TemplateResult {\n const { files } = this.fs;\n if (!files || !files.length) {\n return this.renderEmptyList();\n }\n return html`\n <ui-list class=\"list\" role=\"menu\" @select=\"${this.handleFileSelect}\" selectActive @scroll=\"${this.handleListScroll}\">\n ${files.map(item => this.renderFileItem(item))}\n </ui-list>\n `;\n }\n\n protected renderEmptyList(): TemplateResult {\n return html`\n <p class=\"no-files body-large\">No files in this view.</p>\n `;\n }\n\n protected renderFileItem(item: IFile): TemplateResult {\n const icon = fileIcon(item);\n return html`\n <ui-list-item role=\"menuitem\" data-key=\"${item.key}\" data-kind=\"${item.kind}\">\n ${icon ? html`<ui-icon icon=\"${icon}\" class=\"file-icon\"></ui-icon>` : nothing}\n ${item.info.name || 'Unnamed file'}\n </ui-list-item>\n `;\n }\n\n protected renderActions(): TemplateResult {\n const { selectedFile } = this;\n const disableSelect = !selectedFile;\n return html`\n <div class=\"actions\">\n <ui-button type=\"text\" @click=\"${this.handleCancel}\" value=\"cancel\">Cancel</ui-button>\n <ui-button type=\"tonal\" ?disabled=\"${disableSelect}\" @click=\"${this.handleSelect}\" value=\"select\">Select</ui-button>\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"FilePicker.element.js","sourceRoot":"","sources":["../../../src/elements/store/FilePicker.element.ts"],"names":[],"mappings":"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","sourcesContent":["import { \n FolderKind, IFile, \n ListFileKind \n} from \"@api-client/core/build/esm/browser.js\";\nimport { CSSResult, html, nothing, TemplateResult } from \"lit\";\nimport { eventOptions, property, query, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport ApiElement from \"../ApiElement.js\";\nimport styles from './FilePicker.styles.js';\nimport { fileIcon } from \"./FilesLib.js\";\nimport type UiList from \"../../ui/list/UiList.js\";\nimport type { UiListSelection } from \"../../ui/list/UiList.js\";\nimport { FileSystem } from \"../../store/FileSystem.js\";\nimport '../../define/ui/ui-divider.js';\nimport '../../define/ui/ui-button.js';\nimport '../../define/ui/ui-icon-button.js';\nimport '../../define/ui/ui-icon.js';\nimport '../../define/ui/ui-list.js';\nimport '../../define/ui/ui-list-item.js';\nimport '../../define/ui/ui-progress.js';\n\nexport interface FilePickerClosingReason {\n /**\n * Whether the picker was canceled.\n */\n canceled: boolean;\n /**\n * The file selected by the user. This is always and only selected when the `canceled` is false.\n */\n file?: IFile;\n}\n\n/**\n * A portable element that allow to pick a file from the Store.\n * \n * @fires close - When a file is selected or the user cancelled the dialog. The detail object is the picked file object. Note, this event bubbles.\n * @fires querycomplete - When the page of results was loaded.\n */\nexport default class FilePicker extends ApiElement {\n static override get styles(): CSSResult[] {\n return styles;\n }\n\n /**\n * The key of the parent folder to query for files.\n * @attribute\n */\n @property({ type: String, hasChanged: () => false }) \n get folder(): string | undefined {\n return this.fs.parent;\n }\n\n set folder(value: string | undefined) {\n this.fs.selectFolder(value);\n }\n\n /**\n * The page limit. Defaults to the store defaults.\n * @attribute\n */\n @property({ type: Number, hasChanged: () => false }) \n set limit(value: number | undefined) {\n this.fs.limit = value;\n }\n\n get limit(): number | undefined {\n return this.fs.limit;\n }\n\n /**\n * The timeout for the page query debouncer.\n * @attribute\n */\n @property({ type: Number, hasChanged: () => false }) \n get debounceTimeout(): number {\n return this.fs.debounceTimeout;\n }\n\n set debounceTimeout(value: number) {\n this.fs.debounceTimeout = value || 0;\n }\n\n /**\n * The list of file kinds to list.\n * Folders are always included.\n */\n @property({ type: Array, hasChanged: () => false }) \n get kinds(): ListFileKind[] | undefined {\n return this.fs.kinds;\n }\n\n set kinds(value: ListFileKind[] | undefined) {\n this.fs.kinds = value;\n this.fs.resetList();\n this.fs.debounceQuery();\n }\n\n @query('ui-list') protected list?: UiList;\n\n /**\n * The currently selected in the picker file.\n */\n @state() protected selectedFile?: IFile;\n\n @state() errorMessage?: string;\n\n /**\n * When set it does not query for files when attached to the DOM. \n * It will still query for files when attributes change. This is primarily used in tests.\n * @attribute\n */\n @property({ type: Boolean }) manualQuery?: boolean;\n\n get selectedKey(): string | undefined {\n return this.selectedFile?.key;\n }\n\n fs = new FileSystem();\n\n constructor() {\n super();\n this.fs.eventsTarget = this;\n this.fs.addEventListener('change', () => this.requestUpdate());\n this.fs.addEventListener('error', (e: Event) => {\n const event = e as CustomEvent<string>;\n this.errorMessage = event.detail;\n });\n this.fs.addEventListener('querycomplete', () => {\n this.dispatchEvent(new Event('querycomplete'));\n });\n this.fs.addEventListener('delete', (e: Event) => {\n const event = e as CustomEvent<string>;\n if (this.selectedFile && this.selectedFile.key === event.detail) {\n this.selectedFile = undefined;\n }\n });\n }\n \n override connectedCallback(): void {\n super.connectedCallback();\n this.fs.observe();\n if (!this.manualQuery) {\n this.fs.debounceQuery();\n }\n if (!this.hasAttribute('tabindex')) {\n this.setAttribute('tabindex', '0');\n }\n }\n \n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.fs.unobserve();\n }\n\n override focus(options?: FocusOptions | undefined): void {\n const { list } = this;\n if (list) {\n list.focus(options);\n }\n }\n\n protected handleFileSelect(e: CustomEvent<UiListSelection>): void {\n // this prevents the dropdown list to close the UI.\n e.preventDefault();\n const file = this.fs.files[e.detail.index];\n if (!file) {\n return;\n }\n if (file.kind === FolderKind) {\n this.fs.selectFolder(file.key);\n this.selectedFile = undefined;\n return;\n }\n this.selectedFile = file;\n }\n\n protected handleParentUp(): void {\n this.fs.parentUp();\n this.selectedFile = undefined;\n }\n\n protected notifyClose(canceled: boolean): void {\n if (!canceled && !this.selectedFile) {\n return;\n }\n const detail: FilePickerClosingReason = {\n canceled,\n };\n if (!canceled) {\n detail.file = this.selectedFile;\n }\n // this event bubbles so any dropdown on the way can close itself.\n const e = new CustomEvent<FilePickerClosingReason>('close', {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail,\n });\n this.dispatchEvent(e);\n }\n\n protected handleSelect(): void {\n this.notifyClose(false);\n }\n\n protected handleCancel(): void {\n this.notifyClose(true);\n }\n\n @eventOptions({ passive: true })\n protected handleListScroll(e: Event): void {\n const list = e.target as UiList;\n if (this.fs.isListEnd(list)) {\n this.fs.debounceQuery();\n }\n }\n\n protected override render(): TemplateResult {\n return html`\n <div class=\"content\">\n ${this.renderHeader()}\n <ui-divider></ui-divider>\n ${this.renderFiles()}\n ${this.errorMessage ? html`<p class=\"error\">${this.errorMessage}</p>` : nothing}\n <ui-divider></ui-divider>\n ${this.renderActions()}\n </div>\n `;\n }\n\n protected renderHeader(): TemplateResult {\n const { breadcrumbs = [], reading } = this.fs;\n let content: TemplateResult;\n let withIcon = false;\n if (!breadcrumbs.length) {\n content = html`<span class=\"title-large label\">My files</span>`;\n } else {\n withIcon = true;\n const [parent] = breadcrumbs;\n content = html`\n <ui-icon-button aria-label=\"Open parent folder\" @click=\"${this.handleParentUp}\" class=\"back-button\">\n <ui-icon role=\"presentation\" icon=\"arrowBack\"></ui-icon>\n </ui-icon-button>\n <span class=\"title-large label\">${parent.name}</span>\n `;\n }\n const classes = {\n header: true,\n withIcon,\n }\n return html`\n <div class=\"${classMap(classes)}\">\n ${content}\n ${reading ? html`<ui-progress indeterminate class=\"progress\"></ui-progress>` : nothing}\n </div>\n `;\n }\n\n protected renderFiles(): TemplateResult {\n const { files } = this.fs;\n if (!files || !files.length) {\n return this.renderEmptyList();\n }\n return html`\n <ui-list class=\"list\" role=\"menu\" @select=\"${this.handleFileSelect}\" selectActive @scroll=\"${this.handleListScroll}\">\n ${files.map(item => this.renderFileItem(item))}\n </ui-list>\n `;\n }\n\n protected renderEmptyList(): TemplateResult {\n return html`\n <p class=\"no-files body-large\">No files in this view.</p>\n `;\n }\n\n protected renderFileItem(item: IFile): TemplateResult {\n const icon = fileIcon(item);\n return html`\n <ui-list-item role=\"menuitem\" data-key=\"${item.key}\" data-kind=\"${item.kind}\">\n ${icon ? html`<ui-icon icon=\"${icon}\" class=\"file-icon\"></ui-icon>` : nothing}\n ${item.info.name || 'Unnamed file'}\n </ui-list-item>\n `;\n }\n\n protected renderActions(): TemplateResult {\n const { selectedFile } = this;\n const disableSelect = !selectedFile;\n return html`\n <div class=\"actions\">\n <ui-button type=\"text\" @click=\"${this.handleCancel}\" value=\"cancel\">Cancel</ui-button>\n <ui-button type=\"tonal\" ?disabled=\"${disableSelect}\" @click=\"${this.handleSelect}\" value=\"select\">Select</ui-button>\n </div>\n `;\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { IFile, TrashEntry } from "@api-client/core/build/browser.js";
1
+ import { IFile, TrashEntry } from "@api-client/core/build/esm/browser.js";
2
2
  import { IconType } from "../../ui/icons/Icons.js";
3
3
  /**
4
4
  * Sorts files on the list.
@@ -1 +1 @@
1
- {"version":3,"file":"FilesLib.d.ts","sourceRoot":"","sources":["../../../src/elements/store/FilesLib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiD,KAAK,EAAe,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAClI,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,CAW5D;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAUvE"}
1
+ {"version":3,"file":"FilesLib.d.ts","sourceRoot":"","sources":["../../../src/elements/store/FilesLib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiD,KAAK,EAAe,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACtI,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,CAW5D;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAUvE"}
@@ -1,4 +1,4 @@
1
- import { CertificateFileKind, DataFileKind, FolderKind, ProjectKind } from "@api-client/core/build/browser.js";
1
+ import { CertificateFileKind, DataFileKind, FolderKind, ProjectKind } from "@api-client/core/build/esm/browser.js";
2
2
  /**
3
3
  * Sorts files on the list.
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"FilesLib.js","sourceRoot":"","sources":["../../../src/elements/store/FilesLib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,UAAU,EAAS,WAAW,EAAc,MAAM,mCAAmC,CAAC;AAGlI;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,CAAQ,EAAE,CAAQ;IAClD,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE;QACrB,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE;YACzB,OAAO,CAAC,CAAC,CAAC;SACX;QACD,OAAO,CAAC,CAAC;KACV;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE;QAC9C,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;KAC7D;IACD,OAAO,CAAC,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAwB;IAC/C,IAAI,IAA0B,CAAC;IAC/B,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,YAAY;YAAE,IAAI,GAAG,QAAQ,CAAC;YAAC,MAAM;QAC1C,KAAK,UAAU;YAAE,IAAI,GAAG,QAAQ,CAAC;YAAC,MAAM;QACxC,KAAK,WAAW;YAAE,IAAI,GAAG,qBAAqB,CAAC;YAAC,MAAM;QACtD,KAAK,mBAAmB;YAAE,IAAI,GAAG,aAAa,CAAC;YAAC,MAAM;QACtD,QAAQ;KACT;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import { CertificateFileKind, DataFileKind, FolderKind, IFile, ProjectKind, TrashEntry } from \"@api-client/core/build/browser.js\";\nimport { IconType } from \"../../ui/icons/Icons.js\";\n\n/**\n * Sorts files on the list.\n * \n * Folders are always on top.\n */\nexport function filesSortFunction(a: IFile, b: IFile): number {\n if (a.kind !== b.kind) {\n if (a.kind === FolderKind) {\n return -1;\n }\n return 1;\n }\n if (a.kind === b.kind && a.kind === FolderKind) {\n return (a.info.name || '').localeCompare(b.info.name || '');\n }\n return b.lastModified.time - a.lastModified.time;\n}\n\nexport function fileIcon(item: IFile | TrashEntry): IconType | undefined {\n let icon: IconType | undefined;\n switch (item.kind) {\n case DataFileKind: icon = 'schema'; break;\n case FolderKind: icon = 'folder'; break;\n case ProjectKind: icon = 'collectionsBookmark'; break;\n case CertificateFileKind: icon = 'certificate'; break;\n default:\n }\n return icon;\n}\n"]}
1
+ {"version":3,"file":"FilesLib.js","sourceRoot":"","sources":["../../../src/elements/store/FilesLib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,UAAU,EAAS,WAAW,EAAc,MAAM,uCAAuC,CAAC;AAGtI;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,CAAQ,EAAE,CAAQ;IAClD,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE;QACrB,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE;YACzB,OAAO,CAAC,CAAC,CAAC;SACX;QACD,OAAO,CAAC,CAAC;KACV;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE;QAC9C,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;KAC7D;IACD,OAAO,CAAC,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAwB;IAC/C,IAAI,IAA0B,CAAC;IAC/B,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,YAAY;YAAE,IAAI,GAAG,QAAQ,CAAC;YAAC,MAAM;QAC1C,KAAK,UAAU;YAAE,IAAI,GAAG,QAAQ,CAAC;YAAC,MAAM;QACxC,KAAK,WAAW;YAAE,IAAI,GAAG,qBAAqB,CAAC;YAAC,MAAM;QACtD,KAAK,mBAAmB;YAAE,IAAI,GAAG,aAAa,CAAC;YAAC,MAAM;QACtD,QAAQ;KACT;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import { CertificateFileKind, DataFileKind, FolderKind, IFile, ProjectKind, TrashEntry } from \"@api-client/core/build/esm/browser.js\";\nimport { IconType } from \"../../ui/icons/Icons.js\";\n\n/**\n * Sorts files on the list.\n * \n * Folders are always on top.\n */\nexport function filesSortFunction(a: IFile, b: IFile): number {\n if (a.kind !== b.kind) {\n if (a.kind === FolderKind) {\n return -1;\n }\n return 1;\n }\n if (a.kind === b.kind && a.kind === FolderKind) {\n return (a.info.name || '').localeCompare(b.info.name || '');\n }\n return b.lastModified.time - a.lastModified.time;\n}\n\nexport function fileIcon(item: IFile | TrashEntry): IconType | undefined {\n let icon: IconType | undefined;\n switch (item.kind) {\n case DataFileKind: icon = 'schema'; break;\n case FolderKind: icon = 'folder'; break;\n case ProjectKind: icon = 'collectionsBookmark'; break;\n case CertificateFileKind: icon = 'certificate'; break;\n default:\n }\n return icon;\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { TemplateResult, nothing } from 'lit';
2
2
  import { StyleInfo } from 'lit/directives/style-map.js';
3
- import { IFile, IUser, AccessOperation, PermissionRole, IPermission, IApplication, FilePatchBroadcastEvent } from '@api-client/core/build/browser.js';
3
+ import { IFile, IUser, AccessOperation, PermissionRole, IPermission, IApplication, FilePatchBroadcastEvent } from '@api-client/core/build/esm/browser.js';
4
4
  import UiDialog from '../../ui/dialog/UiDialog.js';
5
5
  import UiListbox from '../../ui/list/UiListbox.js';
6
6
  import '../../define/ui/ui-listbox.js';
@@ -1 +1 @@
1
- {"version":3,"file":"ShareFile.element.d.ts","sourceRoot":"","sources":["../../../src/elements/store/ShareFile.element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShareFile.element.d.ts","sourceRoot":"","sources":["../../../src/elements/store/ShareFile.element.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { property, query, state } from 'lit/decorators.js';
4
4
  import { styleMap } from 'lit/directives/style-map.js';
5
5
  import { classMap } from 'lit/directives/class-map.js';
6
6
  import { ifDefined } from 'lit/directives/if-defined.js';
7
- import { Events as CoreEvents, } from '@api-client/core/build/browser.js';
7
+ import { Events as CoreEvents, } from '@api-client/core/build/esm/browser.js';
8
8
  import { Patch, Core as JsonCore } from '@api-client/json';
9
9
  import { Events } from '../../events/Events.js';
10
10
  import { randomString } from '../../lib/Random.js';
@@ -1 +1 @@
1
- {"version":3,"file":"ShareFile.element.js","sourceRoot":"","sources":["../../../src/elements/store/ShareFile.element.ts"],"names":[],"mappings":";AAAA,OAAO,EAAkB,IAAI,EAAE,OAAO,GAAG,MAAM,KAAK,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAa,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAa,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EACE,MAAM,IAAI,UAAU,GAE5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,QAAQ,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAIxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,+BAA+B,CAAC;AACvC,OAAO,iCAAiC,CAAC;AACzC,OAAO,4BAA4B,CAAC;AACpC,OAAO,8BAA8B,CAAC;AACtC,OAAO,4BAA4B,CAAC;AACpC,OAAO,4BAA4B,CAAC;AACpC,OAAO,+BAA+B,CAAC;AACvC,OAAO,qCAAqC,CAAC;AAC7C,OAAO,kCAAkC,CAAC;AAE1C,MAAM,eAAe,GAAG;IACtB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,GAAG;IACV,SAAS,EAAE,WAAW;CACvB,CAAC;AAOF,MAAM,KAAK,GAAqC;IAC9C,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,8BAA8B,EAAE;IAClE,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,mEAAmE,EAAE;IAC7G,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,oFAAoF,EAAE;IACxH,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,+CAA+C,EAAE;CAClF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,QAAQ;IAG7C;;OAEG;IACyB,IAAI,GAAG;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,GAAG,CAAC,KAAyB;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;QAC7B,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,OAAO;SACR;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAID;;;OAGG;IACyB,IAAI,IAAI;QAClC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI,CAAC,KAAwB;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;QAC9B,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,OAAO;SACR;QACD,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,EAAE;YACzC,OAAO;SACR;QACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAClC;IACH,CAAC;IAyBD;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,gBAAgB,CAAC;IACnD,CAAC;IA4CD;;OAEG;IACH,IAAc,aAAa;QACzB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,IAAI,CAAC;SACb;QACD,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,IAAI,gBAAgB;QAClB,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAG;YAC3D,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;QACpC,OAAO,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC;IAC7D,CAAC;IAED,IAAc,MAAM;QAClB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC3B,IAAI,GAAG,EAAE;YACP,OAAO,GAAG,CAAC;SACZ;QACD,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAC,GAAG,CAAC;SACjB;QACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAWD;QACE,KAAK,EAAE,CAAC;QAlHV;;WAEG;QACgB,gBAAW,GAAG,KAAK,CAAC;QAEvC;;WAEG;QACgB,qBAAgB,GAAG,KAAK,CAAC;QAuB5C;;WAEG;QACgB,sBAAiB,GAAG,KAAK,CAAC;QAO7C;;;WAGG;QACgB,oBAAe,GAAY,EAAE,CAAC;QA2DjD,iBAAY,GAAG,IAAI,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAOvC,iBAAY,GAAmB,QAAQ,CAAC;QAIzD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IAEQ,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC7E,CAAC;IAEQ,oBAAoB;QAC3B,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAChF,CAAC;IAES,sBAAsB,CAAC,CAAe;QAC9C,MAAM,KAAK,GAAG,CAAC,CAAC,IAAsB,CAAC;QACvC,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,EAAE;YAC/B,IAAI,CAAC,eAAe,CAAC,KAAgC,CAAC,CAAC;SACxD;IACH,CAAC;IAES,eAAe,CAAC,KAA8B;QACtD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,KAAK,MAAM,EAAE;YACzC,OAAO;SACR;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAa,CAAC;QAChC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAsB,CAAC;QACzC,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;QACtB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,GAAY,CAAC;QAChC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;QACzE,IAAI,aAAa,EAAE;YACjB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAES,cAAc,CAAC,KAAc;QACrC,IAAI,CAAC,KAAK,EAAE;YACV,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACpC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,OAAO;SACR;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,GAAW;QACzC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,EAAE;YACtC,OAAO;SACR;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI;YACF,IAAI,CAAC,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;SAC5D;QAAC,OAAO,CAAC,EAAE;YACV,UAAU,CAAC,SAAS,CAAC,SAAS,CAAE,CAAW,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAClE;gBAAS;YACR,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;IACH,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,GAAW;QAC1C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;SACnC;QAAC,OAAO,CAAC,EAAE;YACV,UAAU,CAAC,SAAS,CAAC,SAAS,CAAE,CAAW,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAClE;gBAAS;YACR,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;SAC/B;IACH,CAAC;IAES,WAAW,CAAC,CAAQ;QAC5B,MAAM,KAAK,GAAG,CAAC,CAAC,MAA0B,CAAC;QAC3C,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAES,aAAa,CAAC,KAAoB;QAC1C,MAAM,EAAE,iBAAiB,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QACpD,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC9C,OAAO;SACR;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO;QAErE,IAAI,KAAK,CAAC,GAAG,KAAK,eAAe,CAAC,MAAM,EAAE;YACxC,IAAI,iBAAiB,EAAE;gBACrB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;aAC/B;SACF;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,eAAe,CAAC,SAAS,EAAE;YAClD,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,iBAAiB,EAAE;gBACrB,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;aACtC;iBAAM;gBACL,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;aACrB;SACF;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,eAAe,CAAC,OAAO,EAAE;YAChD,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,iBAAiB,EAAE;gBACrB,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;aAC1C;SACF;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,eAAe,CAAC,IAAI,EAAE;YAC7C,IAAI,iBAAiB,EAAE;gBACrB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;aACvC;SACF;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,eAAe,CAAC,GAAG,EAAE;YAC5C,IAAI,iBAAiB,EAAE;gBACrB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;aACtC;SACF;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,eAAe,CAAC,KAAK,EAAE;YAC9C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,iBAAiB,EAAE;gBACrB,MAAM,IAAI,GAAG,eAAe,CAAC,iBAAiB,CAAC;gBAC/C,IAAI,IAAI,EAAE;oBACR,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;iBACpC;aACF;SACF;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,eAAe,CAAC,SAAS,EAAE;YAClD,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;gBAChB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,CAAC,sBAAsB,EAAE,CAAC;aAC/B;SACF;IACH,CAAC;IAES,sBAAsB,CAAC,CAAc;QAC7C,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAkB,CAAC;QACzC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,GAAG,EAAE;YACR,OAAO;SACR;QACD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAES,oBAAoB,CAAC,GAAW;QACxC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,KAAK,IAAI,CAAC,eAAe,EAAE;YAC9B,OAAO;SACR;QACD,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,CAAC;SAC7B;aAAM;YACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAES,sBAAsB,CAAC,GAAW;QAC1C,MAAM,EAAE,aAAa,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QAClD,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBACjB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;aAChC;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAES,oBAAoB,CAAC,CAAQ;QACrC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAgB,CAAC;QAChC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,GAAG,EAAE;YACR,OAAO;SACR;QACD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAES,sBAAsB;QAC9B,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YAC3C,OAAO;SACR;QACD,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YACzB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;SAChC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,CAAS;QAClC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACrE,IAAI,KAAK,GAAY,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,aAAa,IAAI,eAAe,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;YACjE,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9B,mDAAmD;YACnD,4DAA4D;YAC5D,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBACnC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC1B,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;oBAC9C,OAAO,IAAI,CAAC;iBACb;gBACD,IAAI,KAAK,EAAE;oBACT,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;wBACxB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;4BAC1D,OAAO,IAAI,CAAC;yBACb;qBACF;iBACF;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC1C,KAAK,EAAE,CAAC;aACT,CAAC,CAAC;YACH,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;SACtB;QACD,IAAI,aAAa,EAAE;YACjB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;SACtF;QACD,IAAI,IAAI,EAAE;YACR,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;SAC/D;QACD,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;SAC/B;IACH,CAAC;IAES,iBAAiB,CAAC,MAAe;QACzC,IAAI,CAAC,MAAM,EAAE;YACX,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;SACpB;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,EAAE;gBAChG,QAAQ,EAAE,KAAK;gBACf,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,IAAI;gBACf,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;IACH,CAAC;IAES,YAAY,CAAC,IAAW;QAChC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAG;YAC3C,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,4DAA4D;QAC5D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC/B,OAAO,IAAI,CAAC,KAAK,CAAC;aACnB;YACD,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACzB;SACF;QACD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAES,gBAAgB,CAAC,CAAc;QACvC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,IAAmB,CAAC;QAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QACD,IAAI,CAAC,YAAY,GAAG,IAAsB,CAAC;IAC7C,CAAC;IAES,eAAe;QACvB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACjC,CAAC;IAES,WAAW;QACnB,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,YAAY,EAAE;YACjB,kBAAkB,CAAC,MAAM,CAAC,8BAA8B,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7E,OAAO;SACR;QACD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC3B,CAAC;IAES,KAAK,CAAC,KAAK,CAAC,IAAoB;QACxC,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SACzD;QACD,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YAC3C,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO;SACR;QACD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,SAAS,YAAY,CAAC,CAAC;SAC/E;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACvB,IAAI,CAAC,EAAE,EAAE;YACP,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,CAAC,SAAS,YAAY,CAAC,CAAC;SAC9E;QACD,MAAM,GAAG,GAAsB,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACtD,MAAM,EAAE,GAAoB;gBAC1B,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,IAAI;gBACX,EAAE,EAAE,IAAI,CAAC,GAAG;aACb,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,IAAI;YACF,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YACrE,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,KAAK,GAAG,CAAU,CAAC;YACzB,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3D,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAES,sBAAsB,CAAC,CAAc;QAC7C,MAAM,IAAI,GAAG,CAAC,CAAC,MAAqB,CAAC;QACrC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACvC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,IAAmB,CAAC;QAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAsB,CAAC;QACpD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,OAAO;SACR;QACD,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;SAC9B;QACD,MAAM,EAAE,kBAAkB,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;QACzC,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;QAC/D,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,0BAA0B;YAC1B,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACrC;QAED,IAAI,IAAI,KAAK,OAAO,EAAE;YACpB,uEAAuE;YACvE,4BAA4B;YAC5B,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;gBAC9B,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;aACrC;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO;SACR;QAED,IAAI,EAAmB,CAAC;QACxB,IAAK,IAAe,KAAK,QAAQ,EAAE;YACjC,EAAE,GAAG;gBACH,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,MAAM;gBACZ,EAAE,EAAE,IAAI;aACT,CAAC;SACH;aAAM;YACL,EAAE,GAAG;gBACH,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,IAAI;gBACX,EAAE,EAAE,IAAI;aACT,CAAC;SACH;QACD,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAES,KAAK,CAAC,mBAAmB;QACjC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;QAC/C,IAAI,CAAC,kBAAkB,EAAE;YACvB,OAAO;SACR;QACD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,SAAS,YAAY,CAAC,CAAC;SAC/E;QACD,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC;QACnC,IAAI,CAAC,EAAE,EAAE;YACP,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,CAAC,SAAS,YAAY,CAAC,CAAC;SAC3F;QACD,IAAI;YACF,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;YACpF,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;SACrC;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,KAAK,GAAG,CAAU,CAAC;YACzB,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3D,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAEQ,UAAU;QACjB,MAAM,OAAO,GAAc;YACzB,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,IAAI;SAClB,CAAC;QACF,OAAO,IAAI,CAAA;kBACG,QAAQ,CAAC,OAAO,CAAC;KAC9B,CAAC;IACJ,CAAC;IAEQ,WAAW;QAClB,MAAM,OAAO,GAAc;YACzB,KAAK,EAAE,IAAI;YACX,YAAY,EAAE,IAAI;SACnB,CAAC;QACF,OAAO,IAAI,CAAA;kBACG,QAAQ,CAAC,OAAO,CAAC;KAC9B,CAAC;IACJ,CAAC;IAEQ,UAAU;QACjB,OAAO,IAAI,CAAA;;QAEP,IAAI,CAAC,iBAAiB,EAAE;QACxB,IAAI,CAAC,kBAAkB,EAAE;;KAE5B,CAAC;IACJ,CAAC;IAEQ,aAAa;QACpB,MAAM,OAAO,GAAc;YACzB,OAAO,EAAE,IAAI;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;QAEF,IAAI,OAAuB,CAAC;QAC5B,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;SACzC;aAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAChC,OAAO,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;SAC/C;aAAM;YACL,OAAO,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAC1C;QACD,OAAO,IAAI,CAAA;kBACG,QAAQ,CAAC,OAAO,CAAC,mBAAmB,OAAO;KACxD,CAAC;IACJ,CAAC;IAES,uBAAuB;QAC/B,OAAO,IAAI,CAAA;6EAC8D,IAAI,CAAC,aAAa;KAC1F,CAAC;IACJ,CAAC;IAES,4BAA4B;QACpC,OAAO,IAAI,CAAA;6DAC8C,IAAI,CAAC,eAAe;6DACpB,IAAI,CAAC,WAAW;KACxE,CAAC;IACJ,CAAC;IAES,sBAAsB;QAC9B,OAAO,IAAI,CAAA;;6DAE8C,IAAI,CAAC,mBAAmB;KAChF,CAAC;IACJ,CAAC;IAES,iBAAiB;QACzB,MAAM,OAAO,GAAG;YACd,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI,CAAC,iBAAiB;SACrC,CAAC;QACF,OAAO,IAAI,CAAA;;oBAEK,QAAQ,CAAC,OAAO,CAAC;UAC3B,IAAI,CAAC,WAAW,EAAE;UAClB,IAAI,CAAC,kBAAkB,EAAE;;QAE3B,IAAI,CAAC,oBAAoB,EAAE;;KAE9B,CAAA;IACH,CAAC;IAES,WAAW;QACnB,OAAO,IAAI,CAAA;;QAEP,IAAI,CAAC,uBAAuB,EAAE;;;;;qBAKjB,IAAI,CAAC,aAAa;kBACrB,IAAI,CAAC,WAAW;oBACd,IAAI,CAAC,aAAa;;;;;;KAMjC,CAAC;IACJ,CAAC;IAES,kBAAkB;QAC1B,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QACjC,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACpC,IAAI,MAAM,IAAI,CAAC,CAAC,eAAe,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;YAC3D,MAAM,GAAG,KAAK,CAAC;SAChB;QAED,MAAM,OAAO,GAAG;YACd,WAAW,EAAE,IAAI;YACjB,MAAM;SACP,CAAC;QAEF,OAAO,IAAI,CAAA;kBACG,QAAQ,CAAC,OAAO,CAAC,YAAY,QAAQ,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;;;;;;mBAMjE,IAAI,CAAC,sBAAsB;;UAEpC,IAAI,CAAC,oBAAoB,EAAE;;;KAGhC,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,oBAAoB;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC1C,OAAO,EAAE,CAAC;SACX;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACO,oBAAoB,CAAC,IAAW;QACxC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,IAAI,CAAA;;;kBAGG,GAAG;;;;;;yCAMoB,IAAI;aAChC,IAAI,IAAI,GAAG;kCACU,KAAK;oBACnB,CAAC;IACnB,CAAC;IAES,uBAAuB;QAC/B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B,OAAO,EAAE,CAAC;SACX;QACD,OAAO,IAAI,CAAA;MACR,IAAI,CAAC,aAAyB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;KACzE,CAAC;IACJ,CAAC;IAES,cAAc,CAAC,IAAW;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,IAAI,CAAA;8CAC+B,IAAI,CAAC,oBAAoB,eAAe,IAAI,CAAC,GAAG,YAAY,SAAS,CAAC,KAAK,CAAC;0CAChF,IAAI;QACtC,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG;;KAEjC,CAAC;IACJ,CAAC;IAES,oBAAoB;QAC5B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B,OAAO,EAAE,CAAC;SACX;QACD,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;QAE9B,IAAI,KAAa,CAAC;QAClB,MAAM,IAAI,GAAG,KAAK,CAAC,YAA8B,CAAC,CAAC;QACnD,IAAI,IAAI,EAAE;YACR,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;SACpB;aAAM;YACL,KAAK,GAAG,MAAM,CAAC;SAChB;QACD,OAAO,IAAI,CAAA;iCACkB,IAAI,CAAC,gBAAgB;8DACQ,KAAK;;UAEzD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAA;mDACK,GAAG,YAAY,KAAK,CAAC,GAAqB,CAAC,CAAC,KAAK;YACxF,KAAK,CAAC,GAAqB,CAAC,CAAC,KAAK;wBACtB,CAAC;;;KAGpB,CAAC;IACJ,CAAC;IAES,kBAAkB;QAC1B,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,OAAO,EAAE,CAAC;SACX;QACD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QAChD,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,IAAI,OAAO,EAAE;YACxC,OAAO,EAAE,CAAC;SACX;QACD,MAAM,EAAE,WAAW,GAAC,EAAE,EAAE,GAAG,IAAI,CAAC;QAChC,OAAO,IAAI,CAAA;;QAEP,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;;KAErD,CAAC;IACJ,CAAC;IAES,oBAAoB,CAAC,UAAuB;QACpD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;QAClC,IAAI,IAAI,KAAK,OAAO,EAAE;YACpB,OAAO,OAAO,CAAC;SAChB;QACD,IAAI,IAAI,KAAK,QAAQ,EAAE;YACrB,OAAO,IAAI,CAAA,wCAAwC,CAAC;SACrD;QACD,MAAM,EAAE,eAAe,GAAC,EAAE,EAAE,GAAG,IAAI,CAAC;QACpC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAe,CAAC;QAC1C,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,EAAE;YACT,oCAAoC;YACpC,OAAO,OAAO,CAAC;SAChB;QACD,OAAO,IAAI,CAAA;;8CAE+B,IAAI;;kCAEhB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG;mCACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;;;UAGhD,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC;;;KAG9C,CAAC;IACJ,CAAC;IAES,sBAAsB,CAAC,IAAoB,EAAE,MAAc;QACnE,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;QACpC,MAAM,OAAO,GAAG,kBAAkB,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAoC,CAAC;QAC5I,MAAM,WAAW,GAAG,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC;QAC7C,MAAM,aAAa,GAAG,WAAW,IAAI,IAAI,CAAC;QAE1C,IAAI,KAAa,CAAC;QAClB,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QAClC,IAAI,IAAI,EAAE;YACR,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;SACpB;aAAM;YACL,KAAK,GAAG,MAAM,CAAC;SAChB;QACD,OAAO,IAAI,CAAA;;iBAEE,IAAI,CAAC,sBAAsB;;mBAEzB,MAAM;sBACH,IAAI;;6DAEmC,KAAK;;UAExD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC;UAC9C,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC;UACjD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC;UAC9C,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC;;;;;;;KAOlD,CAAC;IACJ,CAAC;IAES,gBAAgB,CAAC,IAAoB,EAAE,QAAwB;QACvE,OAAO,IAAI,CAAA;+CACgC,IAAI,YAAY,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK;QACxE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA,6CAA6C,CAAC,CAAC,CAAC,EAAE;QAC1E,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK;;KAEpB,CAAC;IACJ,CAAC;CACF;AAn2B6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oCAE1B;AAiB2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qCAE1B;AAmB2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uCAAc;AAQb;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CAAwB;AAK1C;IAAR,KAAK,EAAE;8CAA+B;AAK9B;IAAR,KAAK,EAAE;mDAAoC;AAU5C;IADC,KAAK,CAAC,YAAY,CAAC;wCACwB;AAG5C;IADC,KAAK,CAAC,cAAc,CAAC;uDACmC;AAGzD;IADC,KAAK,CAAC,8BAA8B,CAAC;kDACS;AAKtC;IAAR,KAAK,EAAE;kDAAqC;AAKpC;IAAR,KAAK,EAAE;oDAAqC;AAKpC;IAAR,KAAK,EAAE;gDAAmC;AAMlC;IAAR,KAAK,EAAE;kDAAyC;AAOxC;IAAR,KAAK,EAAE;qDAAkD;AA2DjD;IAAR,KAAK,EAAE;+CAAmD","sourcesContent":["import { TemplateResult, html, nothing, } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { StyleInfo, styleMap } from 'lit/directives/style-map.js';\nimport { ClassInfo, classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { \n IFile, Events as CoreEvents, IUser, AccessOperation, IAccessAddOperation, PermissionRole, IPermission,\n IApplication, IPatchRevision, BroadcastEvent, FilePatchBroadcastEvent,\n} from '@api-client/core/build/browser.js';\nimport { Patch, Core as JsonCore } from '@api-client/json';\nimport { Events } from '../../events/Events.js';\nimport { randomString } from '../../lib/Random.js';\nimport { StoreBroadcast } from '../../http-client/store/StoreBroadcast.js';\nimport UiDialog from '../../ui/dialog/UiDialog.js';\nimport { ElementPositioning } from '../../ui/lib/ElementPositioning.js';\nimport UiListbox from '../../ui/list/UiListbox.js';\nimport UiListItem from '../../ui/list/UiListItem.js';\nimport UiChip from '../../ui/chip/UiChip.js';\nimport { SnackNotifications } from '../../ui/notification/SnackNotifications.js';\nimport '../../define/ui/ui-listbox.js';\nimport '../../define/ui/ui-list-item.js';\nimport '../../define/ui/ui-list.js';\nimport '../../define/ui/ui-button.js';\nimport '../../define/ui/ui-icon.js';\nimport '../../define/ui/ui-chip.js';\nimport '../../define/ui/ui-divider.js';\nimport '../../define/ui/ui-dropdown-list.js';\nimport '../../define/user/user-avatar.js';\n\nconst NAVIGATION_KEYS = {\n ArrowDown: 'ArrowDown',\n ArrowUp: 'ArrowUp',\n Home: 'Home',\n End: 'End',\n Escape: 'Escape',\n Enter: 'Enter',\n Space: ' ',\n Backspace: 'Backspace',\n};\n\ninterface RoleInfo {\n label: string;\n title: string;\n}\n\nconst roles: Record<PermissionRole, RoleInfo> = {\n reader: { label: 'Reader', title: 'Shares the file as read only' },\n commenter: { label: 'Commenter', title: 'Allows users to collaborate by leaving comments (when applicable)' },\n writer: { label: 'Writer', title: \"Allows users to edit contents of the file. It also allows to share or delete file.\" },\n owner: { label: 'Owner', title: 'The same permissions as the owner of the file' },\n};\n\n/**\n * A dialog that shows users that the file is shared with and allows to share a file.\n * \n * Listen to the `closed` on the dialog. The CustomEvent has the `detail`\n * object with the `closingReason` retails:\n * - canceled: whether the dialog was cancelled (ESC, outside click, dismiss button)\n * - confirmed: whether the dialog was confirmed by the user\n * \n * ```javascript\n * const dialog = document.createElement('share-file');\n * dialog.key = 'file key';\n * // or\n * dialog.file = file;\n * dialog.appInfo=\"${AppInfo}\"\n * dialog.user=\"${currentUser}\"\n * dialog.opened = true;\n * document.body.appendChild(dialog);\n * dialog.addEventListener('closed', (ev: Event) => {\n * document.body.removeChild(dialog);\n * });\n * ```\n */\nexport default class ShareFile extends UiDialog {\n private keyInternal?: string;\n\n /**\n * The key of the file to share.\n */\n @property({ type: String }) get key(): string | undefined {\n return this.keyInternal;\n }\n\n set key(value: string | undefined) {\n const old = this.keyInternal;\n if (old === value) {\n return;\n }\n this.keyInternal = value;\n this.processFileKey(value);\n }\n\n protected fileInternal?: IFile;\n\n /**\n * When known, set this instead of the `key` to skip requesting the file info.\n * Also, when file is set and then the `key` is set the HTTP request won't be made.\n */\n @property({ type: Object }) get file(): IFile | undefined {\n return this.fileInternal;\n }\n\n set file(value: IFile | undefined) {\n const old = this.fileInternal;\n if (old === value) {\n return;\n }\n if (old && value && old.key === value.key) {\n return;\n }\n this.fileInternal = value ? JsonCore.clone(value) : undefined;\n if (value) {\n this.requestFileUsers(value.key);\n }\n }\n\n /**\n * The current user to filter out the user from the suggestions and the shared list.\n */\n @property({ type: Object }) user?: IUser;\n\n /**\n * This property is required for the API access to work.\n * Set it to the current application information.\n * \n * It will throw an error when trying to patch access without setting this property.\n */\n @property({ type: Object }) appInfo?: IApplication;\n\n /**\n * A flag set when requesting the the file meta\n */\n @state() protected loadingFile = false;\n\n /**\n * A flag set when requesting the current list of users for the file.\n */\n @state() protected loadingFileUsers = false;\n\n /**\n * Computed value of whether currently loading file or file users.\n */\n get loading(): boolean {\n return this.loadingFile || this.loadingFileUsers;\n }\n\n @query('#userInput')\n protected readonly input!: HTMLInputElement;\n\n @query('.suggestions')\n protected readonly suggestionsContainer!: HTMLDivElement;\n\n @query('ui-listbox.user-autocomplete')\n protected readonly suggestionsList!: UiListbox;\n\n /**\n * The list of users to render in the suggestion box.\n */\n @state() protected userSuggestions?: IUser[];\n\n /**\n * Whether the suggestion box is opened.\n */\n @state() protected suggestionsOpened = false;\n\n /**\n * The list of users that were selected by the users to share the file with.\n */\n @state() protected selectedUsers?: IUser[];\n\n /**\n * The list of users that have permission to the file read from the store\n * when the component was initializing.\n */\n @state() protected permissionUsers: IUser[] = [];\n\n /**\n * A list of permissions to set on the users after the user confirms the change.\n * These are pending changes and only populated when the user changes any of the roles of \n * an existing user.\n */\n @state() protected pendingPermissions?: AccessOperation[];\n\n /**\n * The last user query sent to the server. Used by the suggestions logic.\n */\n protected lastUserQuery?: string;\n\n /**\n * Computed value telling whether the main input should be disabled for the current state.\n */\n protected get inputDisabled(): boolean {\n const { file } = this;\n if (!file) {\n return true;\n }\n const { capabilities } = file;\n if (!capabilities) {\n return true;\n }\n return !capabilities.canShare;\n }\n\n /**\n * Computed value whether there are selected users\n */\n get hasSelectedUsers(): boolean {\n const { selectedUsers } = this;\n if (!Array.isArray(selectedUsers) || !selectedUsers.length) {\n return false;\n }\n return true;\n }\n\n /**\n * Whether there are pending permissions to be set.\n */\n get hasPending(): boolean {\n const { pendingPermissions } = this;\n return !!pendingPermissions && !!pendingPermissions.length;\n }\n\n protected get fileId(): string {\n const { key, file } = this;\n if (key) {\n return key;\n }\n if (file) {\n return file.key;\n }\n throw new Error(`Invalid state, file is not set.`);\n }\n\n filesChannel = new BroadcastChannel(StoreBroadcast.files);\n\n /**\n * Computed positioning styles for the suggestion box.\n */\n protected suggestionStyles?: StyleInfo;\n\n @state() protected selectedRole: PermissionRole = 'reader';\n\n constructor() {\n super();\n this.fileMetaMessageHandler = this.fileMetaMessageHandler.bind(this);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.filesChannel.addEventListener('message', this.fileMetaMessageHandler);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.filesChannel.removeEventListener('message', this.fileMetaMessageHandler);\n }\n\n protected fileMetaMessageHandler(e: MessageEvent): void {\n const event = e.data as BroadcastEvent;\n if (event.operation === 'patch') {\n this.handleFilePatch(event as FilePatchBroadcastEvent);\n }\n }\n\n protected handleFilePatch(event: FilePatchBroadcastEvent): void {\n const { key, alt } = event;\n if (this.fileId !== key || alt !== 'meta') {\n return;\n }\n const file = this.file as IFile;\n const rev = event.data as IPatchRevision;\n const { patch } = rev;\n const result = Patch.apply(file, patch);\n this.file = result.doc as IFile;\n const hasPermission = patch.some(i => i.path.startsWith('/permissions'));\n if (hasPermission) {\n this.requestFileUsers(file.key);\n }\n this.requestUpdate();\n }\n\n protected processFileKey(value?: string): void {\n if (!value) {\n this.file = undefined;\n this.selectedUsers = undefined;\n this.lastUserQuery = undefined;\n this.pendingPermissions = undefined;\n this.selectedUsers = undefined;\n this.userSuggestions = undefined;\n this.loadingFile = false;\n this.loadingFileUsers = false;\n this.permissionUsers = [];\n return;\n }\n this.requestFileInfo(value);\n this.requestFileUsers(value);\n }\n\n protected async requestFileInfo(key: string): Promise<void> {\n if (this.file && this.file.key === key) {\n return;\n }\n this.loadingFile = true;\n try {\n this.file = await Events.Store.File.read(key, false, this);\n } catch (e) {\n CoreEvents.Telemetry.exception((e as Error).message, true, this);\n } finally {\n this.loadingFile = false;\n }\n }\n\n protected async requestFileUsers(key: string): Promise<void> {\n this.loadingFileUsers = true;\n try {\n const list = await Events.Store.File.listUsers(key);\n this.permissionUsers = list.items;\n } catch (e) {\n CoreEvents.Telemetry.exception((e as Error).message, true, this);\n } finally {\n this.loadingFileUsers = false;\n }\n }\n\n protected handleInput(e: Event): void {\n const input = e.target as HTMLInputElement;\n const { value } = input;\n this.queryUsers(value);\n }\n\n protected handleKeydown(event: KeyboardEvent): void {\n const { suggestionsOpened, suggestionsList } = this;\n if (!suggestionsList || event.defaultPrevented) {\n return;\n }\n if (Object.values(NAVIGATION_KEYS).indexOf(event.key) === -1) return;\n\n if (event.key === NAVIGATION_KEYS.Escape) {\n if (suggestionsOpened) {\n event.preventDefault();\n event.stopPropagation();\n this.toggleSuggestions(false);\n }\n } else if (event.key === NAVIGATION_KEYS.ArrowDown) {\n event.preventDefault();\n if (suggestionsOpened) {\n this.suggestionsList.highlightNext();\n } else {\n this.queryUsers('');\n }\n } else if (event.key === NAVIGATION_KEYS.ArrowUp) {\n event.preventDefault();\n if (suggestionsOpened) {\n this.suggestionsList.highlightPrevious();\n }\n } else if (event.key === NAVIGATION_KEYS.Home) {\n if (suggestionsOpened) {\n event.preventDefault();\n this.suggestionsList.highlightFirst();\n }\n } else if (event.key === NAVIGATION_KEYS.End) {\n if (suggestionsOpened) {\n event.preventDefault();\n this.suggestionsList.highlightLast();\n }\n } else if (event.key === NAVIGATION_KEYS.Enter) {\n event.preventDefault();\n if (suggestionsOpened) {\n const item = suggestionsList.highlightListItem;\n if (item) {\n suggestionsList.notifySelect(item);\n }\n }\n } else if (event.key === NAVIGATION_KEYS.Backspace) {\n const input = event.target as HTMLInputElement;\n if (!input.value) {\n event.preventDefault();\n this.removeLastSelectedUser();\n }\n }\n }\n\n protected handleSuggestionSelect(e: CustomEvent): void {\n const item = e.detail.item as UiListItem;\n const { key } = item.dataset;\n if (!key) {\n return;\n }\n this.selectUserSuggestion(key);\n }\n\n protected selectUserSuggestion(key: string): void {\n this.toggleSuggestions(false);\n const { input, userSuggestions } = this;\n if (!input || !userSuggestions) {\n return;\n }\n input.value = '';\n const user = userSuggestions.find(i => i.key === key);\n if (!user) {\n return;\n }\n if (!this.selectedUsers) {\n this.selectedUsers = [user];\n } else {\n this.selectedUsers.push(user);\n this.requestUpdate();\n }\n }\n\n protected deselectUserSuggestion(key: string): void {\n const { selectedUsers: users = [] } = this;\n const index = users.findIndex(u => u.key === key);\n if (index >= 0) {\n users.splice(index, 1);\n if (!users.length) {\n this.selectedUsers = undefined;\n }\n this.requestUpdate();\n }\n }\n\n protected handleUserChipRemove(e: Event): void {\n const chip = e.target as UiChip;\n const { key } = chip.dataset;\n if (!key) {\n return;\n }\n this.deselectUserSuggestion(key);\n }\n\n protected removeLastSelectedUser(): void {\n const { selectedUsers } = this;\n if (!selectedUsers || !selectedUsers.length) {\n return;\n }\n const index = selectedUsers.length - 1;\n selectedUsers.splice(index, 1);\n if (!selectedUsers.length) {\n this.selectedUsers = undefined;\n }\n this.requestUpdate();\n }\n\n protected async queryUsers(q: string): Promise<void> {\n const { lastUserQuery, selectedUsers, userSuggestions, user } = this;\n let users: IUser[] = [];\n this.lastUserQuery = q;\n if (lastUserQuery && userSuggestions && q.includes(lastUserQuery)) {\n const lower = q.toLowerCase();\n // filter the current list for the continues query.\n // Not necessary to query the server as we have all results.\n users = userSuggestions.filter((i) => {\n const { name, email } = i;\n if (name && name.toLowerCase().includes(lower)) {\n return true;\n }\n if (email) {\n for (const item of email) {\n if (item.email && item.email.toLowerCase().includes(lower)) {\n return true;\n }\n }\n }\n return false;\n });\n } else {\n const result = await Events.Store.User.list({\n query: q,\n });\n users = result.items;\n }\n if (selectedUsers) {\n users = users.filter(candidate => !selectedUsers.some(i => i.key === candidate.key));\n }\n if (user) {\n users = users.filter(candidate => candidate.key !== user.key);\n }\n if (users.length) {\n this.userSuggestions = users;\n this.toggleSuggestions(true);\n } else {\n this.userSuggestions = undefined;\n this.toggleSuggestions(false);\n }\n }\n\n protected toggleSuggestions(opened: boolean): void {\n if (!opened) {\n this.suggestionsOpened = false;\n this.input.focus();\n } else {\n this.suggestionStyles = ElementPositioning.positionOverlay(this.suggestionsContainer, this.input, {\n vertical: 'top',\n noOverlap: true,\n constrain: true,\n matchAnchorWidth: true,\n });\n this.suggestionsOpened = true;\n }\n }\n\n protected getUserEmail(user: IUser): string | undefined {\n const { email } = user;\n if (!Array.isArray(email) || !email.length) {\n return undefined;\n }\n const emails: string[] = [];\n // we first find a verified email and then we pick any email\n for (const item of email) {\n if (item.verified && item.email) {\n return item.email;\n }\n if (item.email) {\n emails.push(item.email);\n }\n }\n return emails[0];\n }\n\n protected handleRoleOption(e: CustomEvent): void {\n const element = e.detail.item as HTMLElement;\n const { role } = element.dataset;\n if (!role) {\n return;\n }\n this.selectedRole = role as PermissionRole;\n }\n\n protected cancelShareUser(): void {\n this.selectedUsers = undefined;\n this.lastUserQuery = undefined;\n this.userSuggestions = undefined;\n this.suggestionsOpened = false;\n }\n\n protected handleShare(): void {\n const { selectedRole } = this;\n if (!selectedRole) {\n SnackNotifications.notify('Select a role before sharing', { timeout: 2000 });\n return;\n }\n this.share(selectedRole);\n }\n\n protected async share(role: PermissionRole): Promise<void> {\n if (!role) {\n throw new Error(`Invalid state. Role is not selected.`);\n }\n const { selectedUsers } = this;\n if (!selectedUsers || !selectedUsers.length) {\n this.cancelShareUser();\n return;\n }\n const { appInfo } = this;\n if (!appInfo) {\n throw new Error(`The appInfo is not set on the <${this.localName}> element.`);\n }\n const id = this.fileId;\n if (!id) {\n throw new Error(`The fileId is not set on the <${this.localName}> element.`);\n }\n const ops: AccessOperation[] = selectedUsers.map(user => {\n const op: AccessOperation = {\n op: 'add',\n type: 'user',\n value: role,\n id: user.key,\n };\n return op;\n });\n try {\n await Events.Store.File.patchUsers(id, randomString(), ops, appInfo);\n this.cancelShareUser();\n } catch (e) {\n const cause = e as Error;\n CoreEvents.Telemetry.exception(cause.message, false, this);\n throw cause;\n }\n }\n\n protected handleRoleChangeOption(e: CustomEvent): void {\n const list = e.target as HTMLElement;\n const { user, current } = list.dataset;\n const element = e.detail.item as HTMLElement;\n const role = element.dataset.role as PermissionRole;\n if (!role || !user || !current) {\n return;\n }\n if (!this.pendingPermissions) {\n this.pendingPermissions = [];\n }\n const { pendingPermissions = [] } = this;\n const index = pendingPermissions.findIndex(i => i.id === user);\n if (index >= 0) {\n // removes prior selection\n pendingPermissions.splice(index, 1);\n }\n\n if (role === current) {\n // the user selected the role that was originally assigned to the user.\n // we don't change anything.\n if (!pendingPermissions.length) {\n this.pendingPermissions = undefined;\n }\n this.requestUpdate();\n return;\n }\n\n let op: AccessOperation;\n if ((role as string) === 'remove') {\n op = {\n op: 'remove',\n type: 'user',\n id: user,\n };\n } else {\n op = {\n op: 'add',\n type: 'user',\n value: role,\n id: user,\n };\n }\n pendingPermissions.push(op);\n this.requestUpdate();\n }\n\n protected async handleCommitChanges(): Promise<void> {\n const { key, file, pendingPermissions } = this;\n if (!pendingPermissions) {\n return;\n }\n const { appInfo } = this;\n if (!appInfo) {\n throw new Error(`The appInfo is not set on the <${this.localName}> element.`);\n }\n const id = key || file && file.key;\n if (!id) {\n throw new Error(`Either \"key\" or \"file\" must be set on the <${this.localName}> element.`);\n }\n try {\n await Events.Store.File.patchUsers(id, randomString(), pendingPermissions, appInfo);\n this.pendingPermissions = undefined;\n } catch (e) {\n const cause = e as Error;\n CoreEvents.Telemetry.exception(cause.message, false, this);\n throw cause;\n }\n }\n\n override renderIcon(): TemplateResult {\n const classes: ClassInfo = {\n icon: true,\n 'with-icon': true,\n };\n return html`\n <div class=\"${classMap(classes)}\" part=\"icon\"><ui-icon icon=\"personAdd\"></ui-icon></div>\n `;\n }\n\n override renderTitle(): TemplateResult {\n const classes: ClassInfo = {\n title: true,\n 'with-title': true,\n };\n return html`\n <div class=\"${classMap(classes)}\" part=\"title\"><span>Share with others</span></div>\n `;\n }\n\n override renderBody(): TemplateResult {\n return html`\n <div class=\"content\">\n ${this.userInputTemplate()}\n ${this.renderCurrentUsers()}\n </div>\n `;\n }\n\n override renderButtons(): TemplateResult {\n const classes: ClassInfo = {\n buttons: true,\n 'with-buttons': true,\n };\n\n let content: TemplateResult;\n if (this.hasPending) {\n content = this.pendingActionsTemplate();\n } else if (this.hasSelectedUsers) {\n content = this.selectedUsersActionsTemplate();\n } else {\n content = this.overviewActionsTemplate();\n }\n return html`\n <div class=\"${classMap(classes)}\" part=\"button\">${content}</div>\n `;\n }\n\n protected overviewActionsTemplate(): TemplateResult {\n return html`\n <ui-button value=\"confirm\" type=\"text\" class=\"internal-button\" @click=\"${this.handleConfirm}\">Done</ui-button>\n `;\n }\n\n protected selectedUsersActionsTemplate(): TemplateResult {\n return html`\n <ui-button type=\"text\" class=\"internal-button\" @click=\"${this.cancelShareUser}\">Cancel</ui-button>\n <ui-button type=\"text\" class=\"internal-button\" @click=\"${this.handleShare}\">Share</ui-button>\n `;\n }\n\n protected pendingActionsTemplate(): TemplateResult {\n return html`\n <span class=\"pending-info\">Pending changes</span>\n <ui-button type=\"text\" class=\"internal-button\" @click=\"${this.handleCommitChanges}\">Save</ui-button>\n `;\n }\n\n protected userInputTemplate(): TemplateResult {\n const classes = {\n 'name-input': true,\n autocomplete: this.suggestionsOpened,\n };\n return html`\n <div class=\"input-line\">\n <div class=\"${classMap(classes)}\">\n ${this.renderInput()}\n ${this.renderAutocomplete()}\n </div>\n ${this.roleSelectorTemplate()}\n </div>\n `\n }\n\n protected renderInput(): TemplateResult {\n return html`\n <div class=\"input-wrapper\">\n ${this.renderSelectedUserChips()}\n <input \n type=\"text\"\n id=\"userInput\"\n name=\"name\"\n ?disabled=\"${this.inputDisabled}\"\n @input=\"${this.handleInput}\"\n @keydown=\"${this.handleKeydown}\"\n placeholder=\"Name or email\"\n aria-label=\"Name or email\"\n autocomplete=\"off\"\n />\n </div>\n `;\n }\n\n protected renderAutocomplete(): TemplateResult {\n const { userSuggestions } = this;\n let opened = this.suggestionsOpened;\n if (opened && (!userSuggestions || !userSuggestions.length)) {\n opened = false;\n }\n\n const classes = {\n suggestions: true,\n opened,\n };\n\n return html`\n <div class=\"${classMap(classes)}\" style=\"${styleMap(this.suggestionStyles || {})}\">\n <ui-listbox \n class=\"user-autocomplete\" \n role=\"listbox\" \n aria-label=\"Suggested users from your organization.\"\n tabindex=\"-1\"\n @select=\"${this.handleSuggestionSelect}\"\n >\n ${this.renderSuggestionList()}\n </ui-listbox>\n </div>\n `;\n }\n\n /**\n * @returns The template for the suggestions list.\n */\n protected renderSuggestionList(): TemplateResult[] | string {\n const items = this.userSuggestions;\n if (!Array.isArray(items) || !items.length) {\n return '';\n }\n return items.map(i => this.renderSuggestionItem(i));\n }\n\n /**\n * @returns The template for an URL suggestion item.\n */\n protected renderSuggestionItem(user: IUser): TemplateResult {\n const { name, key } = user;\n const email = this.getUserEmail(user);\n return html`\n <ui-list-item \n class=\"suggestion-item\" \n data-key=\"${key}\"\n role=\"option\"\n aria-selected=\"false\"\n lines=\"two\"\n image=\"avatar\"\n >\n <user-avatar slot=\"start\" .user=\"${user}\"></user-avatar>\n <div>${name || key}</div>\n <p slot=\"supporting-text\">${email}</p>\n </ui-list-item>`;\n }\n\n protected renderSelectedUserChips(): TemplateResult | string {\n if (!this.hasSelectedUsers) {\n return '';\n }\n return html`\n ${(this.selectedUsers as IUser[]).map((user) => this.renderUserChip(user))}\n `;\n }\n\n protected renderUserChip(user: IUser): TemplateResult {\n const email = this.getUserEmail(user);\n return html`\n <ui-chip type=\"input\" closable @close=\"${this.handleUserChipRemove}\" data-key=\"${user.key}\" title=\"${ifDefined(email)}\">\n <user-avatar slot=\"avatar\" .user=\"${user}\"></user-avatar>\n ${user.name || email || user.key}\n </ui-chip>\n `;\n }\n\n protected roleSelectorTemplate(): TemplateResult | string {\n if (!this.hasSelectedUsers) {\n return '';\n }\n const { selectedRole } = this;\n \n let label: string;\n const info = roles[selectedRole as PermissionRole];\n if (info) {\n label = info.label;\n } else {\n label = 'Role';\n }\n return html`\n <ui-dropdown-list @select=\"${this.handleRoleOption}\" closeOnOutsideClick class=\"dropdown\">\n <ui-button aria-label=\"Select user role\" type=\"tonal\">${label} <ui-icon icon=\"arrowDropDown\" role=\"presentation\"></ui-icon></ui-button>\n <ui-list slot=\"dropdown\" role=\"menu\">\n ${Object.keys(roles).map((key) => html`\n <ui-list-item role=\"menuitem\" data-role=\"${key}\" title=\"${roles[key as PermissionRole].title}\">\n ${roles[key as PermissionRole].label}\n </ui-list-item>`)}\n </ui-list>\n </ui-dropdown-list>\n `;\n }\n\n protected renderCurrentUsers(): TemplateResult | string {\n if (this.hasSelectedUsers) {\n return '';\n }\n const { file, loading, permissionUsers } = this;\n if (!file || !permissionUsers || loading) {\n return '';\n }\n const { permissions=[] } = file;\n return html`\n <div class=\"current-users\">\n ${permissions.map(p => this.renderUserPermission(p))}\n </div>\n `;\n }\n\n protected renderUserPermission(permission: IPermission): TemplateResult | typeof nothing {\n const { type, role } = permission;\n if (type === 'group') {\n return nothing;\n }\n if (type === 'anyone') {\n return html`<p>Shared within the organization.</p>`;\n }\n const { permissionUsers=[] } = this;\n const userId = permission.owner as string;\n const user = permissionUsers.find(u => u.key === userId);\n if (!user) {\n // @TODO: should render something...\n return nothing;\n }\n return html`\n <div class=\"permission-item\">\n <user-avatar class=\"user-icon\" .user=\"${user}\"></user-avatar>\n <div class=\"permission-user\">\n <span class=\"user-name\">${user.name || user.key}</span>\n <span class=\"user-email\">${this.getUserEmail(user)}</span>\n </div>\n <div class=\"user-role\">\n ${this.permissionRoleTemplate(role, userId)}\n </div>\n </div>\n `;\n }\n\n protected permissionRoleTemplate(role: PermissionRole, userId: string): TemplateResult {\n const { pendingPermissions } = this;\n const pending = pendingPermissions && pendingPermissions.find(i => i.type === 'user' && i.id === userId) as IAccessAddOperation | undefined;\n const pendingRole = pending && pending.value;\n const selectionRole = pendingRole || role;\n\n let label: string;\n const info = roles[selectionRole];\n if (info) {\n label = info.label;\n } else {\n label = 'Role';\n }\n return html`\n <ui-dropdown-list \n @select=\"${this.handleRoleChangeOption}\" \n closeOnOutsideClick class=\"dropdown\" \n data-user=\"${userId}\"\n data-current=\"${role}\"\n >\n <ui-button aria-label=\"Select user role\" type=\"text\">${label} <ui-icon icon=\"arrowDropDown\" role=\"presentation\"></ui-icon></ui-button>\n <ui-list slot=\"dropdown\" role=\"menu\">\n ${this.roleItemTemplate('reader', selectionRole)}\n ${this.roleItemTemplate('commenter', selectionRole)}\n ${this.roleItemTemplate('writer', selectionRole)}\n ${this.roleItemTemplate('owner', selectionRole)}\n <ui-divider type=\"inset\"></ui-divider>\n <ui-list-item role=\"menuitem\" data-role=\"remove\" title=\"Removes the user\">\n Remove\n </ui-list-item>\n </ui-list>\n </ui-dropdown-list>\n `;\n }\n\n protected roleItemTemplate(role: PermissionRole, userRole: PermissionRole): TemplateResult {\n return html`\n <ui-list-item role=\"menuitem\" data-role=\"${role}\" title=\"${roles[role].title}\" image=\"icon\">\n ${role === userRole ? html`<ui-icon icon=\"check\" slot=\"end\"></ui-icon>` : ''}\n ${roles[role].label}\n </ui-list-item>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"ShareFile.element.js","sourceRoot":"","sources":["../../../src/elements/store/ShareFile.element.ts"],"names":[],"mappings":"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","sourcesContent":["import { TemplateResult, html, nothing, } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { StyleInfo, styleMap } from 'lit/directives/style-map.js';\nimport { ClassInfo, classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { \n IFile, Events as CoreEvents, IUser, AccessOperation, IAccessAddOperation, PermissionRole, IPermission,\n IApplication, IPatchRevision, BroadcastEvent, FilePatchBroadcastEvent,\n} from '@api-client/core/build/esm/browser.js';\nimport { Patch, Core as JsonCore } from '@api-client/json';\nimport { Events } from '../../events/Events.js';\nimport { randomString } from '../../lib/Random.js';\nimport { StoreBroadcast } from '../../http-client/store/StoreBroadcast.js';\nimport UiDialog from '../../ui/dialog/UiDialog.js';\nimport { ElementPositioning } from '../../ui/lib/ElementPositioning.js';\nimport UiListbox from '../../ui/list/UiListbox.js';\nimport UiListItem from '../../ui/list/UiListItem.js';\nimport UiChip from '../../ui/chip/UiChip.js';\nimport { SnackNotifications } from '../../ui/notification/SnackNotifications.js';\nimport '../../define/ui/ui-listbox.js';\nimport '../../define/ui/ui-list-item.js';\nimport '../../define/ui/ui-list.js';\nimport '../../define/ui/ui-button.js';\nimport '../../define/ui/ui-icon.js';\nimport '../../define/ui/ui-chip.js';\nimport '../../define/ui/ui-divider.js';\nimport '../../define/ui/ui-dropdown-list.js';\nimport '../../define/user/user-avatar.js';\n\nconst NAVIGATION_KEYS = {\n ArrowDown: 'ArrowDown',\n ArrowUp: 'ArrowUp',\n Home: 'Home',\n End: 'End',\n Escape: 'Escape',\n Enter: 'Enter',\n Space: ' ',\n Backspace: 'Backspace',\n};\n\ninterface RoleInfo {\n label: string;\n title: string;\n}\n\nconst roles: Record<PermissionRole, RoleInfo> = {\n reader: { label: 'Reader', title: 'Shares the file as read only' },\n commenter: { label: 'Commenter', title: 'Allows users to collaborate by leaving comments (when applicable)' },\n writer: { label: 'Writer', title: \"Allows users to edit contents of the file. It also allows to share or delete file.\" },\n owner: { label: 'Owner', title: 'The same permissions as the owner of the file' },\n};\n\n/**\n * A dialog that shows users that the file is shared with and allows to share a file.\n * \n * Listen to the `closed` on the dialog. The CustomEvent has the `detail`\n * object with the `closingReason` retails:\n * - canceled: whether the dialog was cancelled (ESC, outside click, dismiss button)\n * - confirmed: whether the dialog was confirmed by the user\n * \n * ```javascript\n * const dialog = document.createElement('share-file');\n * dialog.key = 'file key';\n * // or\n * dialog.file = file;\n * dialog.appInfo=\"${AppInfo}\"\n * dialog.user=\"${currentUser}\"\n * dialog.opened = true;\n * document.body.appendChild(dialog);\n * dialog.addEventListener('closed', (ev: Event) => {\n * document.body.removeChild(dialog);\n * });\n * ```\n */\nexport default class ShareFile extends UiDialog {\n private keyInternal?: string;\n\n /**\n * The key of the file to share.\n */\n @property({ type: String }) get key(): string | undefined {\n return this.keyInternal;\n }\n\n set key(value: string | undefined) {\n const old = this.keyInternal;\n if (old === value) {\n return;\n }\n this.keyInternal = value;\n this.processFileKey(value);\n }\n\n protected fileInternal?: IFile;\n\n /**\n * When known, set this instead of the `key` to skip requesting the file info.\n * Also, when file is set and then the `key` is set the HTTP request won't be made.\n */\n @property({ type: Object }) get file(): IFile | undefined {\n return this.fileInternal;\n }\n\n set file(value: IFile | undefined) {\n const old = this.fileInternal;\n if (old === value) {\n return;\n }\n if (old && value && old.key === value.key) {\n return;\n }\n this.fileInternal = value ? JsonCore.clone(value) : undefined;\n if (value) {\n this.requestFileUsers(value.key);\n }\n }\n\n /**\n * The current user to filter out the user from the suggestions and the shared list.\n */\n @property({ type: Object }) user?: IUser;\n\n /**\n * This property is required for the API access to work.\n * Set it to the current application information.\n * \n * It will throw an error when trying to patch access without setting this property.\n */\n @property({ type: Object }) appInfo?: IApplication;\n\n /**\n * A flag set when requesting the the file meta\n */\n @state() protected loadingFile = false;\n\n /**\n * A flag set when requesting the current list of users for the file.\n */\n @state() protected loadingFileUsers = false;\n\n /**\n * Computed value of whether currently loading file or file users.\n */\n get loading(): boolean {\n return this.loadingFile || this.loadingFileUsers;\n }\n\n @query('#userInput')\n protected readonly input!: HTMLInputElement;\n\n @query('.suggestions')\n protected readonly suggestionsContainer!: HTMLDivElement;\n\n @query('ui-listbox.user-autocomplete')\n protected readonly suggestionsList!: UiListbox;\n\n /**\n * The list of users to render in the suggestion box.\n */\n @state() protected userSuggestions?: IUser[];\n\n /**\n * Whether the suggestion box is opened.\n */\n @state() protected suggestionsOpened = false;\n\n /**\n * The list of users that were selected by the users to share the file with.\n */\n @state() protected selectedUsers?: IUser[];\n\n /**\n * The list of users that have permission to the file read from the store\n * when the component was initializing.\n */\n @state() protected permissionUsers: IUser[] = [];\n\n /**\n * A list of permissions to set on the users after the user confirms the change.\n * These are pending changes and only populated when the user changes any of the roles of \n * an existing user.\n */\n @state() protected pendingPermissions?: AccessOperation[];\n\n /**\n * The last user query sent to the server. Used by the suggestions logic.\n */\n protected lastUserQuery?: string;\n\n /**\n * Computed value telling whether the main input should be disabled for the current state.\n */\n protected get inputDisabled(): boolean {\n const { file } = this;\n if (!file) {\n return true;\n }\n const { capabilities } = file;\n if (!capabilities) {\n return true;\n }\n return !capabilities.canShare;\n }\n\n /**\n * Computed value whether there are selected users\n */\n get hasSelectedUsers(): boolean {\n const { selectedUsers } = this;\n if (!Array.isArray(selectedUsers) || !selectedUsers.length) {\n return false;\n }\n return true;\n }\n\n /**\n * Whether there are pending permissions to be set.\n */\n get hasPending(): boolean {\n const { pendingPermissions } = this;\n return !!pendingPermissions && !!pendingPermissions.length;\n }\n\n protected get fileId(): string {\n const { key, file } = this;\n if (key) {\n return key;\n }\n if (file) {\n return file.key;\n }\n throw new Error(`Invalid state, file is not set.`);\n }\n\n filesChannel = new BroadcastChannel(StoreBroadcast.files);\n\n /**\n * Computed positioning styles for the suggestion box.\n */\n protected suggestionStyles?: StyleInfo;\n\n @state() protected selectedRole: PermissionRole = 'reader';\n\n constructor() {\n super();\n this.fileMetaMessageHandler = this.fileMetaMessageHandler.bind(this);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.filesChannel.addEventListener('message', this.fileMetaMessageHandler);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.filesChannel.removeEventListener('message', this.fileMetaMessageHandler);\n }\n\n protected fileMetaMessageHandler(e: MessageEvent): void {\n const event = e.data as BroadcastEvent;\n if (event.operation === 'patch') {\n this.handleFilePatch(event as FilePatchBroadcastEvent);\n }\n }\n\n protected handleFilePatch(event: FilePatchBroadcastEvent): void {\n const { key, alt } = event;\n if (this.fileId !== key || alt !== 'meta') {\n return;\n }\n const file = this.file as IFile;\n const rev = event.data as IPatchRevision;\n const { patch } = rev;\n const result = Patch.apply(file, patch);\n this.file = result.doc as IFile;\n const hasPermission = patch.some(i => i.path.startsWith('/permissions'));\n if (hasPermission) {\n this.requestFileUsers(file.key);\n }\n this.requestUpdate();\n }\n\n protected processFileKey(value?: string): void {\n if (!value) {\n this.file = undefined;\n this.selectedUsers = undefined;\n this.lastUserQuery = undefined;\n this.pendingPermissions = undefined;\n this.selectedUsers = undefined;\n this.userSuggestions = undefined;\n this.loadingFile = false;\n this.loadingFileUsers = false;\n this.permissionUsers = [];\n return;\n }\n this.requestFileInfo(value);\n this.requestFileUsers(value);\n }\n\n protected async requestFileInfo(key: string): Promise<void> {\n if (this.file && this.file.key === key) {\n return;\n }\n this.loadingFile = true;\n try {\n this.file = await Events.Store.File.read(key, false, this);\n } catch (e) {\n CoreEvents.Telemetry.exception((e as Error).message, true, this);\n } finally {\n this.loadingFile = false;\n }\n }\n\n protected async requestFileUsers(key: string): Promise<void> {\n this.loadingFileUsers = true;\n try {\n const list = await Events.Store.File.listUsers(key);\n this.permissionUsers = list.items;\n } catch (e) {\n CoreEvents.Telemetry.exception((e as Error).message, true, this);\n } finally {\n this.loadingFileUsers = false;\n }\n }\n\n protected handleInput(e: Event): void {\n const input = e.target as HTMLInputElement;\n const { value } = input;\n this.queryUsers(value);\n }\n\n protected handleKeydown(event: KeyboardEvent): void {\n const { suggestionsOpened, suggestionsList } = this;\n if (!suggestionsList || event.defaultPrevented) {\n return;\n }\n if (Object.values(NAVIGATION_KEYS).indexOf(event.key) === -1) return;\n\n if (event.key === NAVIGATION_KEYS.Escape) {\n if (suggestionsOpened) {\n event.preventDefault();\n event.stopPropagation();\n this.toggleSuggestions(false);\n }\n } else if (event.key === NAVIGATION_KEYS.ArrowDown) {\n event.preventDefault();\n if (suggestionsOpened) {\n this.suggestionsList.highlightNext();\n } else {\n this.queryUsers('');\n }\n } else if (event.key === NAVIGATION_KEYS.ArrowUp) {\n event.preventDefault();\n if (suggestionsOpened) {\n this.suggestionsList.highlightPrevious();\n }\n } else if (event.key === NAVIGATION_KEYS.Home) {\n if (suggestionsOpened) {\n event.preventDefault();\n this.suggestionsList.highlightFirst();\n }\n } else if (event.key === NAVIGATION_KEYS.End) {\n if (suggestionsOpened) {\n event.preventDefault();\n this.suggestionsList.highlightLast();\n }\n } else if (event.key === NAVIGATION_KEYS.Enter) {\n event.preventDefault();\n if (suggestionsOpened) {\n const item = suggestionsList.highlightListItem;\n if (item) {\n suggestionsList.notifySelect(item);\n }\n }\n } else if (event.key === NAVIGATION_KEYS.Backspace) {\n const input = event.target as HTMLInputElement;\n if (!input.value) {\n event.preventDefault();\n this.removeLastSelectedUser();\n }\n }\n }\n\n protected handleSuggestionSelect(e: CustomEvent): void {\n const item = e.detail.item as UiListItem;\n const { key } = item.dataset;\n if (!key) {\n return;\n }\n this.selectUserSuggestion(key);\n }\n\n protected selectUserSuggestion(key: string): void {\n this.toggleSuggestions(false);\n const { input, userSuggestions } = this;\n if (!input || !userSuggestions) {\n return;\n }\n input.value = '';\n const user = userSuggestions.find(i => i.key === key);\n if (!user) {\n return;\n }\n if (!this.selectedUsers) {\n this.selectedUsers = [user];\n } else {\n this.selectedUsers.push(user);\n this.requestUpdate();\n }\n }\n\n protected deselectUserSuggestion(key: string): void {\n const { selectedUsers: users = [] } = this;\n const index = users.findIndex(u => u.key === key);\n if (index >= 0) {\n users.splice(index, 1);\n if (!users.length) {\n this.selectedUsers = undefined;\n }\n this.requestUpdate();\n }\n }\n\n protected handleUserChipRemove(e: Event): void {\n const chip = e.target as UiChip;\n const { key } = chip.dataset;\n if (!key) {\n return;\n }\n this.deselectUserSuggestion(key);\n }\n\n protected removeLastSelectedUser(): void {\n const { selectedUsers } = this;\n if (!selectedUsers || !selectedUsers.length) {\n return;\n }\n const index = selectedUsers.length - 1;\n selectedUsers.splice(index, 1);\n if (!selectedUsers.length) {\n this.selectedUsers = undefined;\n }\n this.requestUpdate();\n }\n\n protected async queryUsers(q: string): Promise<void> {\n const { lastUserQuery, selectedUsers, userSuggestions, user } = this;\n let users: IUser[] = [];\n this.lastUserQuery = q;\n if (lastUserQuery && userSuggestions && q.includes(lastUserQuery)) {\n const lower = q.toLowerCase();\n // filter the current list for the continues query.\n // Not necessary to query the server as we have all results.\n users = userSuggestions.filter((i) => {\n const { name, email } = i;\n if (name && name.toLowerCase().includes(lower)) {\n return true;\n }\n if (email) {\n for (const item of email) {\n if (item.email && item.email.toLowerCase().includes(lower)) {\n return true;\n }\n }\n }\n return false;\n });\n } else {\n const result = await Events.Store.User.list({\n query: q,\n });\n users = result.items;\n }\n if (selectedUsers) {\n users = users.filter(candidate => !selectedUsers.some(i => i.key === candidate.key));\n }\n if (user) {\n users = users.filter(candidate => candidate.key !== user.key);\n }\n if (users.length) {\n this.userSuggestions = users;\n this.toggleSuggestions(true);\n } else {\n this.userSuggestions = undefined;\n this.toggleSuggestions(false);\n }\n }\n\n protected toggleSuggestions(opened: boolean): void {\n if (!opened) {\n this.suggestionsOpened = false;\n this.input.focus();\n } else {\n this.suggestionStyles = ElementPositioning.positionOverlay(this.suggestionsContainer, this.input, {\n vertical: 'top',\n noOverlap: true,\n constrain: true,\n matchAnchorWidth: true,\n });\n this.suggestionsOpened = true;\n }\n }\n\n protected getUserEmail(user: IUser): string | undefined {\n const { email } = user;\n if (!Array.isArray(email) || !email.length) {\n return undefined;\n }\n const emails: string[] = [];\n // we first find a verified email and then we pick any email\n for (const item of email) {\n if (item.verified && item.email) {\n return item.email;\n }\n if (item.email) {\n emails.push(item.email);\n }\n }\n return emails[0];\n }\n\n protected handleRoleOption(e: CustomEvent): void {\n const element = e.detail.item as HTMLElement;\n const { role } = element.dataset;\n if (!role) {\n return;\n }\n this.selectedRole = role as PermissionRole;\n }\n\n protected cancelShareUser(): void {\n this.selectedUsers = undefined;\n this.lastUserQuery = undefined;\n this.userSuggestions = undefined;\n this.suggestionsOpened = false;\n }\n\n protected handleShare(): void {\n const { selectedRole } = this;\n if (!selectedRole) {\n SnackNotifications.notify('Select a role before sharing', { timeout: 2000 });\n return;\n }\n this.share(selectedRole);\n }\n\n protected async share(role: PermissionRole): Promise<void> {\n if (!role) {\n throw new Error(`Invalid state. Role is not selected.`);\n }\n const { selectedUsers } = this;\n if (!selectedUsers || !selectedUsers.length) {\n this.cancelShareUser();\n return;\n }\n const { appInfo } = this;\n if (!appInfo) {\n throw new Error(`The appInfo is not set on the <${this.localName}> element.`);\n }\n const id = this.fileId;\n if (!id) {\n throw new Error(`The fileId is not set on the <${this.localName}> element.`);\n }\n const ops: AccessOperation[] = selectedUsers.map(user => {\n const op: AccessOperation = {\n op: 'add',\n type: 'user',\n value: role,\n id: user.key,\n };\n return op;\n });\n try {\n await Events.Store.File.patchUsers(id, randomString(), ops, appInfo);\n this.cancelShareUser();\n } catch (e) {\n const cause = e as Error;\n CoreEvents.Telemetry.exception(cause.message, false, this);\n throw cause;\n }\n }\n\n protected handleRoleChangeOption(e: CustomEvent): void {\n const list = e.target as HTMLElement;\n const { user, current } = list.dataset;\n const element = e.detail.item as HTMLElement;\n const role = element.dataset.role as PermissionRole;\n if (!role || !user || !current) {\n return;\n }\n if (!this.pendingPermissions) {\n this.pendingPermissions = [];\n }\n const { pendingPermissions = [] } = this;\n const index = pendingPermissions.findIndex(i => i.id === user);\n if (index >= 0) {\n // removes prior selection\n pendingPermissions.splice(index, 1);\n }\n\n if (role === current) {\n // the user selected the role that was originally assigned to the user.\n // we don't change anything.\n if (!pendingPermissions.length) {\n this.pendingPermissions = undefined;\n }\n this.requestUpdate();\n return;\n }\n\n let op: AccessOperation;\n if ((role as string) === 'remove') {\n op = {\n op: 'remove',\n type: 'user',\n id: user,\n };\n } else {\n op = {\n op: 'add',\n type: 'user',\n value: role,\n id: user,\n };\n }\n pendingPermissions.push(op);\n this.requestUpdate();\n }\n\n protected async handleCommitChanges(): Promise<void> {\n const { key, file, pendingPermissions } = this;\n if (!pendingPermissions) {\n return;\n }\n const { appInfo } = this;\n if (!appInfo) {\n throw new Error(`The appInfo is not set on the <${this.localName}> element.`);\n }\n const id = key || file && file.key;\n if (!id) {\n throw new Error(`Either \"key\" or \"file\" must be set on the <${this.localName}> element.`);\n }\n try {\n await Events.Store.File.patchUsers(id, randomString(), pendingPermissions, appInfo);\n this.pendingPermissions = undefined;\n } catch (e) {\n const cause = e as Error;\n CoreEvents.Telemetry.exception(cause.message, false, this);\n throw cause;\n }\n }\n\n override renderIcon(): TemplateResult {\n const classes: ClassInfo = {\n icon: true,\n 'with-icon': true,\n };\n return html`\n <div class=\"${classMap(classes)}\" part=\"icon\"><ui-icon icon=\"personAdd\"></ui-icon></div>\n `;\n }\n\n override renderTitle(): TemplateResult {\n const classes: ClassInfo = {\n title: true,\n 'with-title': true,\n };\n return html`\n <div class=\"${classMap(classes)}\" part=\"title\"><span>Share with others</span></div>\n `;\n }\n\n override renderBody(): TemplateResult {\n return html`\n <div class=\"content\">\n ${this.userInputTemplate()}\n ${this.renderCurrentUsers()}\n </div>\n `;\n }\n\n override renderButtons(): TemplateResult {\n const classes: ClassInfo = {\n buttons: true,\n 'with-buttons': true,\n };\n\n let content: TemplateResult;\n if (this.hasPending) {\n content = this.pendingActionsTemplate();\n } else if (this.hasSelectedUsers) {\n content = this.selectedUsersActionsTemplate();\n } else {\n content = this.overviewActionsTemplate();\n }\n return html`\n <div class=\"${classMap(classes)}\" part=\"button\">${content}</div>\n `;\n }\n\n protected overviewActionsTemplate(): TemplateResult {\n return html`\n <ui-button value=\"confirm\" type=\"text\" class=\"internal-button\" @click=\"${this.handleConfirm}\">Done</ui-button>\n `;\n }\n\n protected selectedUsersActionsTemplate(): TemplateResult {\n return html`\n <ui-button type=\"text\" class=\"internal-button\" @click=\"${this.cancelShareUser}\">Cancel</ui-button>\n <ui-button type=\"text\" class=\"internal-button\" @click=\"${this.handleShare}\">Share</ui-button>\n `;\n }\n\n protected pendingActionsTemplate(): TemplateResult {\n return html`\n <span class=\"pending-info\">Pending changes</span>\n <ui-button type=\"text\" class=\"internal-button\" @click=\"${this.handleCommitChanges}\">Save</ui-button>\n `;\n }\n\n protected userInputTemplate(): TemplateResult {\n const classes = {\n 'name-input': true,\n autocomplete: this.suggestionsOpened,\n };\n return html`\n <div class=\"input-line\">\n <div class=\"${classMap(classes)}\">\n ${this.renderInput()}\n ${this.renderAutocomplete()}\n </div>\n ${this.roleSelectorTemplate()}\n </div>\n `\n }\n\n protected renderInput(): TemplateResult {\n return html`\n <div class=\"input-wrapper\">\n ${this.renderSelectedUserChips()}\n <input \n type=\"text\"\n id=\"userInput\"\n name=\"name\"\n ?disabled=\"${this.inputDisabled}\"\n @input=\"${this.handleInput}\"\n @keydown=\"${this.handleKeydown}\"\n placeholder=\"Name or email\"\n aria-label=\"Name or email\"\n autocomplete=\"off\"\n />\n </div>\n `;\n }\n\n protected renderAutocomplete(): TemplateResult {\n const { userSuggestions } = this;\n let opened = this.suggestionsOpened;\n if (opened && (!userSuggestions || !userSuggestions.length)) {\n opened = false;\n }\n\n const classes = {\n suggestions: true,\n opened,\n };\n\n return html`\n <div class=\"${classMap(classes)}\" style=\"${styleMap(this.suggestionStyles || {})}\">\n <ui-listbox \n class=\"user-autocomplete\" \n role=\"listbox\" \n aria-label=\"Suggested users from your organization.\"\n tabindex=\"-1\"\n @select=\"${this.handleSuggestionSelect}\"\n >\n ${this.renderSuggestionList()}\n </ui-listbox>\n </div>\n `;\n }\n\n /**\n * @returns The template for the suggestions list.\n */\n protected renderSuggestionList(): TemplateResult[] | string {\n const items = this.userSuggestions;\n if (!Array.isArray(items) || !items.length) {\n return '';\n }\n return items.map(i => this.renderSuggestionItem(i));\n }\n\n /**\n * @returns The template for an URL suggestion item.\n */\n protected renderSuggestionItem(user: IUser): TemplateResult {\n const { name, key } = user;\n const email = this.getUserEmail(user);\n return html`\n <ui-list-item \n class=\"suggestion-item\" \n data-key=\"${key}\"\n role=\"option\"\n aria-selected=\"false\"\n lines=\"two\"\n image=\"avatar\"\n >\n <user-avatar slot=\"start\" .user=\"${user}\"></user-avatar>\n <div>${name || key}</div>\n <p slot=\"supporting-text\">${email}</p>\n </ui-list-item>`;\n }\n\n protected renderSelectedUserChips(): TemplateResult | string {\n if (!this.hasSelectedUsers) {\n return '';\n }\n return html`\n ${(this.selectedUsers as IUser[]).map((user) => this.renderUserChip(user))}\n `;\n }\n\n protected renderUserChip(user: IUser): TemplateResult {\n const email = this.getUserEmail(user);\n return html`\n <ui-chip type=\"input\" closable @close=\"${this.handleUserChipRemove}\" data-key=\"${user.key}\" title=\"${ifDefined(email)}\">\n <user-avatar slot=\"avatar\" .user=\"${user}\"></user-avatar>\n ${user.name || email || user.key}\n </ui-chip>\n `;\n }\n\n protected roleSelectorTemplate(): TemplateResult | string {\n if (!this.hasSelectedUsers) {\n return '';\n }\n const { selectedRole } = this;\n \n let label: string;\n const info = roles[selectedRole as PermissionRole];\n if (info) {\n label = info.label;\n } else {\n label = 'Role';\n }\n return html`\n <ui-dropdown-list @select=\"${this.handleRoleOption}\" closeOnOutsideClick class=\"dropdown\">\n <ui-button aria-label=\"Select user role\" type=\"tonal\">${label} <ui-icon icon=\"arrowDropDown\" role=\"presentation\"></ui-icon></ui-button>\n <ui-list slot=\"dropdown\" role=\"menu\">\n ${Object.keys(roles).map((key) => html`\n <ui-list-item role=\"menuitem\" data-role=\"${key}\" title=\"${roles[key as PermissionRole].title}\">\n ${roles[key as PermissionRole].label}\n </ui-list-item>`)}\n </ui-list>\n </ui-dropdown-list>\n `;\n }\n\n protected renderCurrentUsers(): TemplateResult | string {\n if (this.hasSelectedUsers) {\n return '';\n }\n const { file, loading, permissionUsers } = this;\n if (!file || !permissionUsers || loading) {\n return '';\n }\n const { permissions=[] } = file;\n return html`\n <div class=\"current-users\">\n ${permissions.map(p => this.renderUserPermission(p))}\n </div>\n `;\n }\n\n protected renderUserPermission(permission: IPermission): TemplateResult | typeof nothing {\n const { type, role } = permission;\n if (type === 'group') {\n return nothing;\n }\n if (type === 'anyone') {\n return html`<p>Shared within the organization.</p>`;\n }\n const { permissionUsers=[] } = this;\n const userId = permission.owner as string;\n const user = permissionUsers.find(u => u.key === userId);\n if (!user) {\n // @TODO: should render something...\n return nothing;\n }\n return html`\n <div class=\"permission-item\">\n <user-avatar class=\"user-icon\" .user=\"${user}\"></user-avatar>\n <div class=\"permission-user\">\n <span class=\"user-name\">${user.name || user.key}</span>\n <span class=\"user-email\">${this.getUserEmail(user)}</span>\n </div>\n <div class=\"user-role\">\n ${this.permissionRoleTemplate(role, userId)}\n </div>\n </div>\n `;\n }\n\n protected permissionRoleTemplate(role: PermissionRole, userId: string): TemplateResult {\n const { pendingPermissions } = this;\n const pending = pendingPermissions && pendingPermissions.find(i => i.type === 'user' && i.id === userId) as IAccessAddOperation | undefined;\n const pendingRole = pending && pending.value;\n const selectionRole = pendingRole || role;\n\n let label: string;\n const info = roles[selectionRole];\n if (info) {\n label = info.label;\n } else {\n label = 'Role';\n }\n return html`\n <ui-dropdown-list \n @select=\"${this.handleRoleChangeOption}\" \n closeOnOutsideClick class=\"dropdown\" \n data-user=\"${userId}\"\n data-current=\"${role}\"\n >\n <ui-button aria-label=\"Select user role\" type=\"text\">${label} <ui-icon icon=\"arrowDropDown\" role=\"presentation\"></ui-icon></ui-button>\n <ui-list slot=\"dropdown\" role=\"menu\">\n ${this.roleItemTemplate('reader', selectionRole)}\n ${this.roleItemTemplate('commenter', selectionRole)}\n ${this.roleItemTemplate('writer', selectionRole)}\n ${this.roleItemTemplate('owner', selectionRole)}\n <ui-divider type=\"inset\"></ui-divider>\n <ui-list-item role=\"menuitem\" data-role=\"remove\" title=\"Removes the user\">\n Remove\n </ui-list-item>\n </ui-list>\n </ui-dropdown-list>\n `;\n }\n\n protected roleItemTemplate(role: PermissionRole, userRole: PermissionRole): TemplateResult {\n return html`\n <ui-list-item role=\"menuitem\" data-role=\"${role}\" title=\"${roles[role].title}\" image=\"icon\">\n ${role === userRole ? html`<ui-icon icon=\"check\" slot=\"end\"></ui-icon>` : ''}\n ${roles[role].label}\n </ui-list-item>\n `;\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { TemplateResult, LitElement, CSSResult } from 'lit';
2
- import { IUser } from '@api-client/core/build/browser.js';
2
+ import { IUser } from '@api-client/core/build/esm/browser.js';
3
3
  export default class UserAvatarElement extends LitElement {
4
4
  static get styles(): CSSResult;
5
5
  private _user?;
@@ -1 +1 @@
1
- {"version":3,"file":"UserAvatarElement.d.ts","sourceRoot":"","sources":["../../../src/elements/user/UserAvatarElement.ts"],"names":[],"mappings":"AAKA,OAAO,EAAQ,cAAc,EAAE,UAAU,EAAO,SAAS,EAAE,MAAM,KAAK,CAAC;AAEvE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,UAAU;IACvD,WAAoB,MAAM,IAAI,SAAS,CAoCtC;IAED,OAAO,CAAC,KAAK,CAAC,CAAQ;IAEtB;;OAEG;IACM,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEzC;;OAEG;IACM,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAExC;;OAEG;IACH,IACI,IAAI,IAAI,KAAK,GAAG,SAAS,CAE5B;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,EAWhC;IAED,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI;IAU1C,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS;IAU5D,SAAS,CAAC,aAAa,IAAI,IAAI;IAI/B;;OAEG;IACM,MAAM,IAAI,cAAc;IAcjC,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc;IAMtD;;;OAGG;IACH,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc;CAKzD"}
1
+ {"version":3,"file":"UserAvatarElement.d.ts","sourceRoot":"","sources":["../../../src/elements/user/UserAvatarElement.ts"],"names":[],"mappings":"AAKA,OAAO,EAAQ,cAAc,EAAE,UAAU,EAAO,SAAS,EAAE,MAAM,KAAK,CAAC;AAEvE,OAAO,EAAE,KAAK,EAAE,MAAM,uCAAuC,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,UAAU;IACvD,WAAoB,MAAM,IAAI,SAAS,CAoCtC;IAED,OAAO,CAAC,KAAK,CAAC,CAAQ;IAEtB;;OAEG;IACM,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEzC;;OAEG;IACM,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAExC;;OAEG;IACH,IACI,IAAI,IAAI,KAAK,GAAG,SAAS,CAE5B;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,EAWhC;IAED,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI;IAU1C,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS;IAU5D,SAAS,CAAC,aAAa,IAAI,IAAI;IAI/B;;OAEG;IACM,MAAM,IAAI,cAAc;IAcjC,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc;IAMtD;;;OAGG;IACH,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc;CAKzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"UserAvatarElement.js","sourceRoot":"","sources":["../../../src/elements/user/UserAvatarElement.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable class-methods-use-this */\n/*\nCopyright 2022 Pawel Psztyc\nLicensed under the CC-BY 2.0\n*/\nimport { html, TemplateResult, LitElement, css, CSSResult } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { IUser } from '@api-client/core/build/browser.js';\n\nexport default class UserAvatarElement extends LitElement {\n static override get styles(): CSSResult {\n return css`\n :host {\n display: inline-block;\n width: 40px;\n height: 40px;\n }\n\n .user-icon,\n .avatar-initials {\n background-color: var(--user-avatar-initials-background-color, #0540F2);\n color: var(--user-avatar-initials-color, #fff);\n }\n\n .avatar-initials {\n border-radius: 50%;\n text-transform: uppercase;\n font-size: large;\n border: 1px #0d47a1 solid;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .user-picture {\n border-radius: 50%;\n border: 1px #0d47a1 solid;\n }\n\n .user-icon {\n width: inherit;\n height: inherit;\n }\n `;\n }\n\n private _user?: IUser;\n\n /**\n * Set with the user. The computed user initials.\n */\n @state() protected userInitials?: string;\n\n /**\n * The URL to the user picture.\n */\n @state() protected userPicture?: string;\n\n /**\n * @attribute\n */\n @property({ type: Object })\n get user(): IUser | undefined {\n return this._user;\n }\n\n set user(value: IUser | undefined) {\n const old = this._user;\n if (old === value) {\n return;\n }\n if (old && value && old.key === value.key) {\n return;\n }\n this._user = value;\n this.requestUpdate('user', old);\n this._processUser(value);\n }\n\n protected _processUser(user?: IUser): void {\n if (user) {\n this.userInitials = this._readUserInitials(user);\n this.userPicture = user.picture && user.picture.url;\n } else {\n this.userInitials = undefined;\n this.userPicture = undefined;\n }\n }\n\n protected _readUserInitials(user: IUser): string | undefined {\n const { name } = user;\n if (!name) {\n return undefined;\n }\n const max = 2;\n const parts = name.split(/[\\s-]/).slice(0, max).filter(i => !!i).map(i => i[0]);\n return parts.join('');\n }\n\n protected _pictureError(): void {\n this.userPicture = undefined;\n }\n\n /**\n * @return Template result for an icon\n */\n override render(): TemplateResult {\n const { user, userPicture } = this;\n if (!user || user.key === 'default') {\n return html``;\n }\n if (userPicture) {\n return this.pictureTemplate(userPicture);\n }\n if (this.userInitials) {\n return this.nameTemplate(this.userInitials)\n }\n return this.nameTemplate('')\n }\n\n protected pictureTemplate(url: string): TemplateResult {\n return html`\n <img src=\"${url}\" alt=\"${this.userInitials || 'Thumb'}\" class=\"user-picture user-icon\" @error=\"${this._pictureError}\"/>\n `;\n }\n\n /**\n * Renders a bubble with user initials\n * @param initials The user initials\n */\n protected nameTemplate(initials: string): TemplateResult {\n return html`\n <span class=\"avatar-initials user-icon\">${initials}</span>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"UserAvatarElement.js","sourceRoot":"","sources":["../../../src/elements/user/UserAvatarElement.ts"],"names":[],"mappings":";AAAA,2CAA2C;AAC3C;;;EAGE;AACF,OAAO,EAAE,IAAI,EAAkB,UAAU,EAAE,GAAG,EAAa,MAAM,KAAK,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,UAAU;IACvD,MAAM,KAAc,MAAM;QACxB,OAAO,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkCT,CAAC;IACJ,CAAC;IAcD;;OAEG;IAEH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,KAAwB;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,OAAO;SACR;QACD,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,EAAE;YACzC,OAAO;SACR;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAES,YAAY,CAAC,IAAY;QACjC,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SACrD;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;SAC9B;IACH,CAAC;IAES,iBAAiB,CAAC,IAAW;QACrC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,GAAG,GAAG,CAAC,CAAC;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IAES,aAAa;QACrB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED;;OAEG;IACM,MAAM;QACb,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE;YACnC,OAAO,IAAI,CAAA,EAAE,CAAC;SACf;QACD,IAAI,WAAW,EAAE;YACf,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;SAC1C;QACD,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;SAC5C;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;IAC9B,CAAC;IAES,eAAe,CAAC,GAAW;QACnC,OAAO,IAAI,CAAA;gBACC,GAAG,UAAU,IAAI,CAAC,YAAY,IAAI,OAAO,4CAA4C,IAAI,CAAC,aAAa;KAClH,CAAC;IACJ,CAAC;IAED;;;OAGG;IACO,YAAY,CAAC,QAAgB;QACrC,OAAO,IAAI,CAAA;8CAC+B,QAAQ;KACjD,CAAC;IACJ,CAAC;CACF;AApFU;IAAR,KAAK,EAAE;uDAAiC;AAKhC;IAAR,KAAK,EAAE;sDAAgC;AAMxC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CAG1B","sourcesContent":["/* eslint-disable class-methods-use-this */\n/*\nCopyright 2022 Pawel Psztyc\nLicensed under the CC-BY 2.0\n*/\nimport { html, TemplateResult, LitElement, css, CSSResult } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { IUser } from '@api-client/core/build/esm/browser.js';\n\nexport default class UserAvatarElement extends LitElement {\n static override get styles(): CSSResult {\n return css`\n :host {\n display: inline-block;\n width: 40px;\n height: 40px;\n }\n\n .user-icon,\n .avatar-initials {\n background-color: var(--user-avatar-initials-background-color, #0540F2);\n color: var(--user-avatar-initials-color, #fff);\n }\n\n .avatar-initials {\n border-radius: 50%;\n text-transform: uppercase;\n font-size: large;\n border: 1px #0d47a1 solid;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .user-picture {\n border-radius: 50%;\n border: 1px #0d47a1 solid;\n }\n\n .user-icon {\n width: inherit;\n height: inherit;\n }\n `;\n }\n\n private _user?: IUser;\n\n /**\n * Set with the user. The computed user initials.\n */\n @state() protected userInitials?: string;\n\n /**\n * The URL to the user picture.\n */\n @state() protected userPicture?: string;\n\n /**\n * @attribute\n */\n @property({ type: Object })\n get user(): IUser | undefined {\n return this._user;\n }\n\n set user(value: IUser | undefined) {\n const old = this._user;\n if (old === value) {\n return;\n }\n if (old && value && old.key === value.key) {\n return;\n }\n this._user = value;\n this.requestUpdate('user', old);\n this._processUser(value);\n }\n\n protected _processUser(user?: IUser): void {\n if (user) {\n this.userInitials = this._readUserInitials(user);\n this.userPicture = user.picture && user.picture.url;\n } else {\n this.userInitials = undefined;\n this.userPicture = undefined;\n }\n }\n\n protected _readUserInitials(user: IUser): string | undefined {\n const { name } = user;\n if (!name) {\n return undefined;\n }\n const max = 2;\n const parts = name.split(/[\\s-]/).slice(0, max).filter(i => !!i).map(i => i[0]);\n return parts.join('');\n }\n\n protected _pictureError(): void {\n this.userPicture = undefined;\n }\n\n /**\n * @return Template result for an icon\n */\n override render(): TemplateResult {\n const { user, userPicture } = this;\n if (!user || user.key === 'default') {\n return html``;\n }\n if (userPicture) {\n return this.pictureTemplate(userPicture);\n }\n if (this.userInitials) {\n return this.nameTemplate(this.userInitials)\n }\n return this.nameTemplate('')\n }\n\n protected pictureTemplate(url: string): TemplateResult {\n return html`\n <img src=\"${url}\" alt=\"${this.userInitials || 'Thumb'}\" class=\"user-picture user-icon\" @error=\"${this._pictureError}\"/>\n `;\n }\n\n /**\n * Renders a bubble with user initials\n * @param initials The user initials\n */\n protected nameTemplate(initials: string): TemplateResult {\n return html`\n <span class=\"avatar-initials user-icon\">${initials}</span>\n `;\n }\n}\n"]}