@api-client/ui 0.0.17 → 0.1.1

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 (1241) hide show
  1. package/.github/workflows/deployment.yml +3 -1
  2. package/README.md +74 -11
  3. package/bin/dev.ts +1 -0
  4. package/build/src/amf/lib/AmfInputParser.d.ts +7 -6
  5. package/build/src/amf/lib/AmfInputParser.d.ts.map +1 -1
  6. package/build/src/amf/lib/AmfInputParser.js +2 -1
  7. package/build/src/amf/lib/AmfInputParser.js.map +1 -1
  8. package/build/src/amf/lib/AmfParameters.d.ts +16 -15
  9. package/build/src/amf/lib/AmfParameters.d.ts.map +1 -1
  10. package/build/src/amf/lib/AmfParameters.js +5 -3
  11. package/build/src/amf/lib/AmfParameters.js.map +1 -1
  12. package/build/src/amf/lib/AmfSecurity.d.ts +3 -3
  13. package/build/src/amf/lib/AmfSecurity.d.ts.map +1 -1
  14. package/build/src/amf/lib/AmfSecurity.js +1 -0
  15. package/build/src/amf/lib/AmfSecurity.js.map +1 -1
  16. package/build/src/amf/lib/Oauth2RamlCustomData.d.ts +13 -12
  17. package/build/src/amf/lib/Oauth2RamlCustomData.d.ts.map +1 -1
  18. package/build/src/amf/lib/Oauth2RamlCustomData.js +3 -3
  19. package/build/src/amf/lib/Oauth2RamlCustomData.js.map +1 -1
  20. package/build/src/amf/lib/PayloadUtils.d.ts +3 -2
  21. package/build/src/amf/lib/PayloadUtils.d.ts.map +1 -1
  22. package/build/src/amf/lib/PayloadUtils.js +3 -1
  23. package/build/src/amf/lib/PayloadUtils.js.map +1 -1
  24. package/build/src/amf/lib/QueryParameterProcessor.d.ts +7 -7
  25. package/build/src/amf/lib/QueryParameterProcessor.d.ts.map +1 -1
  26. package/build/src/amf/lib/QueryParameterProcessor.js +1 -1
  27. package/build/src/amf/lib/QueryParameterProcessor.js.map +1 -1
  28. package/build/src/amf/lib/Utils.d.ts +6 -5
  29. package/build/src/amf/lib/Utils.d.ts.map +1 -1
  30. package/build/src/amf/lib/Utils.js +2 -1
  31. package/build/src/amf/lib/Utils.js.map +1 -1
  32. package/build/src/amf/store/AmfGraphStore.d.ts +2 -2
  33. package/build/src/amf/store/AmfGraphStore.d.ts.map +1 -1
  34. package/build/src/amf/store/AmfGraphStore.js +2 -2
  35. package/build/src/amf/store/AmfGraphStore.js.map +1 -1
  36. package/build/src/amf/store/AmfStore.d.ts +21 -17
  37. package/build/src/amf/store/AmfStore.d.ts.map +1 -1
  38. package/build/src/amf/store/AmfStore.js +1 -2
  39. package/build/src/amf/store/AmfStore.js.map +1 -1
  40. package/build/src/amf/store/InMemAmfGraphStore.d.ts +24 -21
  41. package/build/src/amf/store/InMemAmfGraphStore.d.ts.map +1 -1
  42. package/build/src/amf/store/InMemAmfGraphStore.js +2 -1
  43. package/build/src/amf/store/InMemAmfGraphStore.js.map +1 -1
  44. package/build/src/amf/types.d.ts +9 -8
  45. package/build/src/amf/types.d.ts.map +1 -1
  46. package/build/src/amf/types.js.map +1 -1
  47. package/build/src/bindings/base/ConfigurationBindings.d.ts +1 -1
  48. package/build/src/bindings/base/ConfigurationBindings.d.ts.map +1 -1
  49. package/build/src/bindings/base/ConfigurationBindings.js.map +1 -1
  50. package/build/src/bindings/base/IoThread.d.ts +1 -1
  51. package/build/src/bindings/base/IoThread.d.ts.map +1 -1
  52. package/build/src/bindings/base/IoThread.js +1 -1
  53. package/build/src/bindings/base/IoThread.js.map +1 -1
  54. package/build/src/bindings/base/PlatformBindings.js +1 -1
  55. package/build/src/bindings/base/PlatformBindings.js.map +1 -1
  56. package/build/src/bindings/web/WebConfigurationBindings.d.ts.map +1 -1
  57. package/build/src/bindings/web/WebConfigurationBindings.js.map +1 -1
  58. package/build/src/code-snippets/Bash/CurlSnippet.d.ts +2 -1
  59. package/build/src/code-snippets/Bash/CurlSnippet.d.ts.map +1 -1
  60. package/build/src/code-snippets/Bash/CurlSnippet.js.map +1 -1
  61. package/build/src/code-snippets/C/CcurlSnippet.d.ts +2 -1
  62. package/build/src/code-snippets/C/CcurlSnippet.d.ts.map +1 -1
  63. package/build/src/code-snippets/C/CcurlSnippet.js.map +1 -1
  64. package/build/src/code-snippets/CodeSnippet.d.ts +3 -1
  65. package/build/src/code-snippets/CodeSnippet.d.ts.map +1 -1
  66. package/build/src/code-snippets/CodeSnippet.js +1 -1
  67. package/build/src/code-snippets/CodeSnippet.js.map +1 -1
  68. package/build/src/code-snippets/Dart/DartSnippet.d.ts +2 -1
  69. package/build/src/code-snippets/Dart/DartSnippet.d.ts.map +1 -1
  70. package/build/src/code-snippets/Dart/DartSnippet.js.map +1 -1
  71. package/build/src/code-snippets/HTTP/RawSnippet.d.ts +2 -1
  72. package/build/src/code-snippets/HTTP/RawSnippet.d.ts.map +1 -1
  73. package/build/src/code-snippets/HTTP/RawSnippet.js.map +1 -1
  74. package/build/src/code-snippets/Java/PlatformSnippet.d.ts +2 -1
  75. package/build/src/code-snippets/Java/PlatformSnippet.d.ts.map +1 -1
  76. package/build/src/code-snippets/Java/PlatformSnippet.js.map +1 -1
  77. package/build/src/code-snippets/Java/SpringSnippet.d.ts +2 -1
  78. package/build/src/code-snippets/Java/SpringSnippet.d.ts.map +1 -1
  79. package/build/src/code-snippets/Java/SpringSnippet.js.map +1 -1
  80. package/build/src/code-snippets/JavaScript/AsyncFetchSnippet.d.ts +2 -1
  81. package/build/src/code-snippets/JavaScript/AsyncFetchSnippet.d.ts.map +1 -1
  82. package/build/src/code-snippets/JavaScript/AsyncFetchSnippet.js.map +1 -1
  83. package/build/src/code-snippets/JavaScript/AxiosSnippet.d.ts +2 -1
  84. package/build/src/code-snippets/JavaScript/AxiosSnippet.d.ts.map +1 -1
  85. package/build/src/code-snippets/JavaScript/AxiosSnippet.js.map +1 -1
  86. package/build/src/code-snippets/JavaScript/FetchSnippet.d.ts +2 -1
  87. package/build/src/code-snippets/JavaScript/FetchSnippet.d.ts.map +1 -1
  88. package/build/src/code-snippets/JavaScript/FetchSnippet.js.map +1 -1
  89. package/build/src/code-snippets/JavaScript/NodeSnippet.d.ts +2 -1
  90. package/build/src/code-snippets/JavaScript/NodeSnippet.d.ts.map +1 -1
  91. package/build/src/code-snippets/JavaScript/NodeSnippet.js.map +1 -1
  92. package/build/src/code-snippets/JavaScript/XhrSnippet.d.ts +2 -1
  93. package/build/src/code-snippets/JavaScript/XhrSnippet.d.ts.map +1 -1
  94. package/build/src/code-snippets/JavaScript/XhrSnippet.js.map +1 -1
  95. package/build/src/code-snippets/JavaScript/jQuerySnippet.d.ts +2 -1
  96. package/build/src/code-snippets/JavaScript/jQuerySnippet.d.ts.map +1 -1
  97. package/build/src/code-snippets/JavaScript/jQuerySnippet.js.map +1 -1
  98. package/build/src/code-snippets/Python/Python27Snippet.d.ts +2 -1
  99. package/build/src/code-snippets/Python/Python27Snippet.d.ts.map +1 -1
  100. package/build/src/code-snippets/Python/Python27Snippet.js.map +1 -1
  101. package/build/src/code-snippets/Python/Python31Snippet.d.ts +2 -1
  102. package/build/src/code-snippets/Python/Python31Snippet.d.ts.map +1 -1
  103. package/build/src/code-snippets/Python/Python31Snippet.js.map +1 -1
  104. package/build/src/code-snippets/Python/RequestsSnippet.d.ts +2 -1
  105. package/build/src/code-snippets/Python/RequestsSnippet.d.ts.map +1 -1
  106. package/build/src/code-snippets/Python/RequestsSnippet.js.map +1 -1
  107. package/build/src/controllers/LiveDataController.d.ts +1 -1
  108. package/build/src/controllers/LiveDataController.d.ts.map +1 -1
  109. package/build/src/controllers/LiveDataController.js.map +1 -1
  110. package/build/src/core/Activity.d.ts +19 -1
  111. package/build/src/core/Activity.d.ts.map +1 -1
  112. package/build/src/core/Activity.js +286 -238
  113. package/build/src/core/Activity.js.map +1 -1
  114. package/build/src/core/ActivityManager.d.ts +8 -1
  115. package/build/src/core/ActivityManager.d.ts.map +1 -1
  116. package/build/src/core/ActivityManager.js +22 -1
  117. package/build/src/core/ActivityManager.js.map +1 -1
  118. package/build/src/core/Fragment.d.ts +5 -0
  119. package/build/src/core/Fragment.d.ts.map +1 -1
  120. package/build/src/core/Fragment.js +11 -0
  121. package/build/src/core/Fragment.js.map +1 -1
  122. package/build/src/core/FragmentManager.d.ts +1 -1
  123. package/build/src/core/FragmentManager.d.ts.map +1 -1
  124. package/build/src/core/FragmentManager.js.map +1 -1
  125. package/build/src/core/ModalActivity.d.ts +1 -1
  126. package/build/src/core/ModalActivity.js +1 -1
  127. package/build/src/core/ModalActivity.js.map +1 -1
  128. package/build/src/directives/live.d.ts +1 -1
  129. package/build/src/directives/live.d.ts.map +1 -1
  130. package/build/src/directives/live.js.map +1 -1
  131. package/build/src/elements/amf/ApiAnnotationDocument.element.d.ts +6 -5
  132. package/build/src/elements/amf/ApiAnnotationDocument.element.d.ts.map +1 -1
  133. package/build/src/elements/amf/ApiAnnotationDocument.element.js +1 -1
  134. package/build/src/elements/amf/ApiAnnotationDocument.element.js.map +1 -1
  135. package/build/src/elements/amf/ApiAuthorizationEditor.element.d.ts +16 -15
  136. package/build/src/elements/amf/ApiAuthorizationEditor.element.d.ts.map +1 -1
  137. package/build/src/elements/amf/ApiAuthorizationEditor.element.js.map +1 -1
  138. package/build/src/elements/amf/ApiChannelDocument.element.d.ts +2 -2
  139. package/build/src/elements/amf/ApiChannelDocument.element.d.ts.map +1 -1
  140. package/build/src/elements/amf/ApiChannelDocument.element.js.map +1 -1
  141. package/build/src/elements/amf/ApiDocumentation.element.d.ts +2 -2
  142. package/build/src/elements/amf/ApiDocumentation.element.d.ts.map +1 -1
  143. package/build/src/elements/amf/ApiDocumentation.element.js +1 -1
  144. package/build/src/elements/amf/ApiDocumentation.element.js.map +1 -1
  145. package/build/src/elements/amf/ApiDocumentationBase.d.ts +6 -4
  146. package/build/src/elements/amf/ApiDocumentationBase.d.ts.map +1 -1
  147. package/build/src/elements/amf/ApiDocumentationBase.js +1 -1
  148. package/build/src/elements/amf/ApiDocumentationBase.js.map +1 -1
  149. package/build/src/elements/amf/ApiDocumentationDocument.element.d.ts +5 -5
  150. package/build/src/elements/amf/ApiDocumentationDocument.element.d.ts.map +1 -1
  151. package/build/src/elements/amf/ApiDocumentationDocument.element.js.map +1 -1
  152. package/build/src/elements/amf/ApiNavigation.element.d.ts +12 -12
  153. package/build/src/elements/amf/ApiNavigation.element.d.ts.map +1 -1
  154. package/build/src/elements/amf/ApiNavigation.element.js.map +1 -1
  155. package/build/src/elements/amf/ApiOperationDocument.element.d.ts +27 -27
  156. package/build/src/elements/amf/ApiOperationDocument.element.d.ts.map +1 -1
  157. package/build/src/elements/amf/ApiOperationDocument.element.js +3 -1
  158. package/build/src/elements/amf/ApiOperationDocument.element.js.map +1 -1
  159. package/build/src/elements/amf/ApiParameterDocument.element.d.ts +6 -5
  160. package/build/src/elements/amf/ApiParameterDocument.element.d.ts.map +1 -1
  161. package/build/src/elements/amf/ApiParameterDocument.element.js.map +1 -1
  162. package/build/src/elements/amf/ApiParametrizedSecurityScheme.element.d.ts +6 -6
  163. package/build/src/elements/amf/ApiParametrizedSecurityScheme.element.d.ts.map +1 -1
  164. package/build/src/elements/amf/ApiParametrizedSecurityScheme.element.js +1 -1
  165. package/build/src/elements/amf/ApiParametrizedSecurityScheme.element.js.map +1 -1
  166. package/build/src/elements/amf/ApiPayloadDocument.element.d.ts +7 -7
  167. package/build/src/elements/amf/ApiPayloadDocument.element.d.ts.map +1 -1
  168. package/build/src/elements/amf/ApiPayloadDocument.element.js.map +1 -1
  169. package/build/src/elements/amf/ApiRequest.element.d.ts +2 -1
  170. package/build/src/elements/amf/ApiRequest.element.d.ts.map +1 -1
  171. package/build/src/elements/amf/ApiRequest.element.js.map +1 -1
  172. package/build/src/elements/amf/ApiRequestDocument.element.d.ts +9 -9
  173. package/build/src/elements/amf/ApiRequestDocument.element.d.ts.map +1 -1
  174. package/build/src/elements/amf/ApiRequestDocument.element.js.map +1 -1
  175. package/build/src/elements/amf/ApiRequestEditor.element.d.ts +16 -12
  176. package/build/src/elements/amf/ApiRequestEditor.element.d.ts.map +1 -1
  177. package/build/src/elements/amf/ApiRequestEditor.element.js +8 -3
  178. package/build/src/elements/amf/ApiRequestEditor.element.js.map +1 -1
  179. package/build/src/elements/amf/ApiResourceDocument.element.d.ts +17 -16
  180. package/build/src/elements/amf/ApiResourceDocument.element.d.ts.map +1 -1
  181. package/build/src/elements/amf/ApiResourceDocument.element.js +2 -1
  182. package/build/src/elements/amf/ApiResourceDocument.element.js.map +1 -1
  183. package/build/src/elements/amf/ApiResponseDocument.element.d.ts +9 -9
  184. package/build/src/elements/amf/ApiResponseDocument.element.d.ts.map +1 -1
  185. package/build/src/elements/amf/ApiResponseDocument.element.js.map +1 -1
  186. package/build/src/elements/amf/ApiSchemaDocument.element.d.ts +22 -22
  187. package/build/src/elements/amf/ApiSchemaDocument.element.d.ts.map +1 -1
  188. package/build/src/elements/amf/ApiSchemaDocument.element.js +4 -3
  189. package/build/src/elements/amf/ApiSchemaDocument.element.js.map +1 -1
  190. package/build/src/elements/amf/ApiSecurityDocument.element.d.ts +19 -19
  191. package/build/src/elements/amf/ApiSecurityDocument.element.d.ts.map +1 -1
  192. package/build/src/elements/amf/ApiSecurityDocument.element.js +1 -1
  193. package/build/src/elements/amf/ApiSecurityDocument.element.js.map +1 -1
  194. package/build/src/elements/amf/ApiSecurityRequirementDocument.element.d.ts +4 -4
  195. package/build/src/elements/amf/ApiSecurityRequirementDocument.element.d.ts.map +1 -1
  196. package/build/src/elements/amf/ApiSecurityRequirementDocument.element.js.map +1 -1
  197. package/build/src/elements/amf/ApiServerPicker.element.d.ts +3 -3
  198. package/build/src/elements/amf/ApiServerPicker.element.d.ts.map +1 -1
  199. package/build/src/elements/amf/ApiServerPicker.element.js +3 -3
  200. package/build/src/elements/amf/ApiServerPicker.element.js.map +1 -1
  201. package/build/src/elements/amf/ApiSummary.element.d.ts +13 -13
  202. package/build/src/elements/amf/ApiSummary.element.d.ts.map +1 -1
  203. package/build/src/elements/amf/ApiSummary.element.js +1 -1
  204. package/build/src/elements/amf/ApiSummary.element.js.map +1 -1
  205. package/build/src/elements/amf/SchemaCommonTemplates.d.ts +5 -5
  206. package/build/src/elements/amf/SchemaCommonTemplates.d.ts.map +1 -1
  207. package/build/src/elements/amf/SchemaCommonTemplates.js +1 -1
  208. package/build/src/elements/amf/SchemaCommonTemplates.js.map +1 -1
  209. package/build/src/elements/amf/authorization/AmfApiKey.d.ts +4 -2
  210. package/build/src/elements/amf/authorization/AmfApiKey.d.ts.map +1 -1
  211. package/build/src/elements/amf/authorization/AmfApiKey.js +2 -1
  212. package/build/src/elements/amf/authorization/AmfApiKey.js.map +1 -1
  213. package/build/src/elements/amf/authorization/AmfBasic.d.ts +3 -2
  214. package/build/src/elements/amf/authorization/AmfBasic.d.ts.map +1 -1
  215. package/build/src/elements/amf/authorization/AmfBasic.js +1 -1
  216. package/build/src/elements/amf/authorization/AmfBasic.js.map +1 -1
  217. package/build/src/elements/amf/authorization/AmfBearer.d.ts +3 -2
  218. package/build/src/elements/amf/authorization/AmfBearer.d.ts.map +1 -1
  219. package/build/src/elements/amf/authorization/AmfBearer.js +1 -1
  220. package/build/src/elements/amf/authorization/AmfBearer.js.map +1 -1
  221. package/build/src/elements/amf/authorization/AmfOauth2.d.ts +22 -18
  222. package/build/src/elements/amf/authorization/AmfOauth2.d.ts.map +1 -1
  223. package/build/src/elements/amf/authorization/AmfOauth2.js +2 -1
  224. package/build/src/elements/amf/authorization/AmfOauth2.js.map +1 -1
  225. package/build/src/elements/amf/authorization/AmfOidc.d.ts +3 -2
  226. package/build/src/elements/amf/authorization/AmfOidc.d.ts.map +1 -1
  227. package/build/src/elements/amf/authorization/AmfOidc.js +1 -1
  228. package/build/src/elements/amf/authorization/AmfOidc.js.map +1 -1
  229. package/build/src/elements/amf/authorization/AmfPassThrough.d.ts +7 -4
  230. package/build/src/elements/amf/authorization/AmfPassThrough.d.ts.map +1 -1
  231. package/build/src/elements/amf/authorization/AmfPassThrough.js +2 -1
  232. package/build/src/elements/amf/authorization/AmfPassThrough.js.map +1 -1
  233. package/build/src/elements/amf/authorization/AmfRamlCustom.d.ts +7 -4
  234. package/build/src/elements/amf/authorization/AmfRamlCustom.d.ts.map +1 -1
  235. package/build/src/elements/amf/authorization/AmfRamlCustom.js +2 -1
  236. package/build/src/elements/amf/authorization/AmfRamlCustom.js.map +1 -1
  237. package/build/src/elements/authorization/OAuth2Authorize.d.ts +1 -1
  238. package/build/src/elements/authorization/OAuth2Authorize.d.ts.map +1 -1
  239. package/build/src/elements/authorization/OAuth2Authorize.js +2 -1
  240. package/build/src/elements/authorization/OAuth2Authorize.js.map +1 -1
  241. package/build/src/elements/authorization/OidcAuthorize.d.ts +1 -1
  242. package/build/src/elements/authorization/OidcAuthorize.d.ts.map +1 -1
  243. package/build/src/elements/authorization/OidcAuthorize.js +2 -1
  244. package/build/src/elements/authorization/OidcAuthorize.js.map +1 -1
  245. package/build/src/elements/authorization/ui/ApiKeyAuthorization.d.ts +1 -1
  246. package/build/src/elements/authorization/ui/ApiKeyAuthorization.d.ts.map +1 -1
  247. package/build/src/elements/authorization/ui/ApiKeyAuthorization.js.map +1 -1
  248. package/build/src/elements/authorization/ui/Authorization.d.ts +1 -1
  249. package/build/src/elements/authorization/ui/Authorization.d.ts.map +1 -1
  250. package/build/src/elements/authorization/ui/Authorization.js.map +1 -1
  251. package/build/src/elements/authorization/ui/BasicAuthorization.d.ts +1 -1
  252. package/build/src/elements/authorization/ui/BasicAuthorization.d.ts.map +1 -1
  253. package/build/src/elements/authorization/ui/BasicAuthorization.js.map +1 -1
  254. package/build/src/elements/authorization/ui/BearerAuthorization.d.ts +1 -1
  255. package/build/src/elements/authorization/ui/BearerAuthorization.d.ts.map +1 -1
  256. package/build/src/elements/authorization/ui/BearerAuthorization.js.map +1 -1
  257. package/build/src/elements/authorization/ui/CcAuthorization.d.ts +3 -1
  258. package/build/src/elements/authorization/ui/CcAuthorization.d.ts.map +1 -1
  259. package/build/src/elements/authorization/ui/CcAuthorization.js +2 -1
  260. package/build/src/elements/authorization/ui/CcAuthorization.js.map +1 -1
  261. package/build/src/elements/authorization/ui/NtlmAuthorization.d.ts +1 -1
  262. package/build/src/elements/authorization/ui/NtlmAuthorization.d.ts.map +1 -1
  263. package/build/src/elements/authorization/ui/NtlmAuthorization.js.map +1 -1
  264. package/build/src/elements/authorization/ui/OAuth2Authorization.d.ts +2 -1
  265. package/build/src/elements/authorization/ui/OAuth2Authorization.d.ts.map +1 -1
  266. package/build/src/elements/authorization/ui/OAuth2Authorization.js +3 -2
  267. package/build/src/elements/authorization/ui/OAuth2Authorization.js.map +1 -1
  268. package/build/src/elements/authorization/ui/OidcAuthorization.d.ts +2 -1
  269. package/build/src/elements/authorization/ui/OidcAuthorization.d.ts.map +1 -1
  270. package/build/src/elements/authorization/ui/OidcAuthorization.js +4 -2
  271. package/build/src/elements/authorization/ui/OidcAuthorization.js.map +1 -1
  272. package/build/src/elements/code/HttpSnippets.d.ts +1 -1
  273. package/build/src/elements/code/HttpSnippets.d.ts.map +1 -1
  274. package/build/src/elements/code/HttpSnippets.js.map +1 -1
  275. package/build/src/elements/data-table/{internals/DataTable.d.ts → DataTable.d.ts} +1 -1
  276. package/build/src/elements/data-table/DataTable.d.ts.map +1 -0
  277. package/build/src/elements/data-table/{internals/DataTable.js → DataTable.js} +1 -1
  278. package/build/src/elements/data-table/DataTable.js.map +1 -0
  279. package/build/src/elements/data-table/DataTable.styles.d.ts.map +1 -0
  280. package/build/src/elements/data-table/DataTable.styles.js.map +1 -0
  281. package/build/src/elements/dialog/internals/DeleteCookieAction.element.d.ts +1 -1
  282. package/build/src/elements/dialog/internals/DeleteCookieAction.element.d.ts.map +1 -1
  283. package/build/src/elements/dialog/internals/DeleteCookieAction.element.js +1 -1
  284. package/build/src/elements/dialog/internals/DeleteCookieAction.element.js.map +1 -1
  285. package/build/src/elements/dialog/internals/SetCookieAction.element.d.ts +1 -1
  286. package/build/src/elements/dialog/internals/SetCookieAction.element.d.ts.map +1 -1
  287. package/build/src/elements/dialog/internals/SetCookieAction.element.js +1 -1
  288. package/build/src/elements/dialog/internals/SetCookieAction.element.js.map +1 -1
  289. package/build/src/elements/environment/EnvironmentEditor.d.ts +5 -1
  290. package/build/src/elements/environment/EnvironmentEditor.d.ts.map +1 -1
  291. package/build/src/elements/environment/EnvironmentEditor.js +3 -1
  292. package/build/src/elements/environment/EnvironmentEditor.js.map +1 -1
  293. package/build/src/elements/environment/ServerEditor.d.ts +2 -1
  294. package/build/src/elements/environment/ServerEditor.d.ts.map +1 -1
  295. package/build/src/elements/environment/ServerEditor.js +1 -1
  296. package/build/src/elements/environment/ServerEditor.js.map +1 -1
  297. package/build/src/elements/environment/VariablesEditor.d.ts +1 -1
  298. package/build/src/elements/environment/VariablesEditor.d.ts.map +1 -1
  299. package/build/src/elements/environment/VariablesEditor.js +1 -1
  300. package/build/src/elements/environment/VariablesEditor.js.map +1 -1
  301. package/build/src/elements/file-system/internals/Breadcrumbs.d.ts +2 -2
  302. package/build/src/elements/file-system/internals/Breadcrumbs.d.ts.map +1 -1
  303. package/build/src/elements/file-system/internals/Breadcrumbs.js +1 -1
  304. package/build/src/elements/file-system/internals/Breadcrumbs.js.map +1 -1
  305. package/build/src/elements/har/HarViewer.js +1 -1
  306. package/build/src/elements/har/HarViewer.js.map +1 -1
  307. package/build/src/elements/http/BodyEditor.d.ts +3 -1
  308. package/build/src/elements/http/BodyEditor.d.ts.map +1 -1
  309. package/build/src/elements/http/BodyEditor.js +1 -1
  310. package/build/src/elements/http/BodyEditor.js.map +1 -1
  311. package/build/src/elements/http/BodyMultipartEditor.d.ts +1 -1
  312. package/build/src/elements/http/BodyMultipartEditor.d.ts.map +1 -1
  313. package/build/src/elements/http/BodyMultipartEditor.js +3 -2
  314. package/build/src/elements/http/BodyMultipartEditor.js.map +1 -1
  315. package/build/src/elements/http/BodyUrlEncodedEditor.d.ts +1 -1
  316. package/build/src/elements/http/BodyUrlEncodedEditor.d.ts.map +1 -1
  317. package/build/src/elements/http/BodyUrlEncodedEditor.js +1 -1
  318. package/build/src/elements/http/BodyUrlEncodedEditor.js.map +1 -1
  319. package/build/src/elements/http/CertificateAdd.element.d.ts +1 -1
  320. package/build/src/elements/http/CertificateAdd.element.d.ts.map +1 -1
  321. package/build/src/elements/http/CertificateAdd.element.js +2 -1
  322. package/build/src/elements/http/CertificateAdd.element.js.map +1 -1
  323. package/build/src/elements/http/HeadersForm.d.ts +2 -1
  324. package/build/src/elements/http/HeadersForm.d.ts.map +1 -1
  325. package/build/src/elements/http/HeadersForm.js +6 -3
  326. package/build/src/elements/http/HeadersForm.js.map +1 -1
  327. package/build/src/elements/http/HttpAssertions.element.d.ts +2 -1
  328. package/build/src/elements/http/HttpAssertions.element.d.ts.map +1 -1
  329. package/build/src/elements/http/HttpAssertions.element.js.map +1 -1
  330. package/build/src/elements/http/HttpFlows.element.d.ts +2 -1
  331. package/build/src/elements/http/HttpFlows.element.d.ts.map +1 -1
  332. package/build/src/elements/http/HttpFlows.element.js.map +1 -1
  333. package/build/src/elements/http/HttpFlowsUi.d.ts +5 -1
  334. package/build/src/elements/http/HttpFlowsUi.d.ts.map +1 -1
  335. package/build/src/elements/http/HttpFlowsUi.js +5 -1
  336. package/build/src/elements/http/HttpFlowsUi.js.map +1 -1
  337. package/build/src/elements/http/LogBody.d.ts +1 -1
  338. package/build/src/elements/http/LogBody.d.ts.map +1 -1
  339. package/build/src/elements/http/LogBody.js +1 -1
  340. package/build/src/elements/http/LogBody.js.map +1 -1
  341. package/build/src/elements/http/LogHeaders.d.ts +5 -1
  342. package/build/src/elements/http/LogHeaders.d.ts.map +1 -1
  343. package/build/src/elements/http/LogHeaders.js +3 -1
  344. package/build/src/elements/http/LogHeaders.js.map +1 -1
  345. package/build/src/elements/http/LogTimings.d.ts +1 -1
  346. package/build/src/elements/http/LogTimings.d.ts.map +1 -1
  347. package/build/src/elements/http/LogTimings.js.map +1 -1
  348. package/build/src/elements/http/RequestConfigElement.d.ts +1 -1
  349. package/build/src/elements/http/RequestConfigElement.d.ts.map +1 -1
  350. package/build/src/elements/http/RequestConfigElement.js +1 -1
  351. package/build/src/elements/http/RequestConfigElement.js.map +1 -1
  352. package/build/src/elements/http/RequestEditor.d.ts +9 -1
  353. package/build/src/elements/http/RequestEditor.d.ts.map +1 -1
  354. package/build/src/elements/http/RequestEditor.js +6 -1
  355. package/build/src/elements/http/RequestEditor.js.map +1 -1
  356. package/build/src/elements/http/RequestLog.d.ts +6 -1
  357. package/build/src/elements/http/RequestLog.d.ts.map +1 -1
  358. package/build/src/elements/http/RequestLog.js +3 -1
  359. package/build/src/elements/http/RequestLog.js.map +1 -1
  360. package/build/src/elements/http/UrlEncodeUtils.d.ts +1 -1
  361. package/build/src/elements/http/UrlEncodeUtils.d.ts.map +1 -1
  362. package/build/src/elements/http/UrlEncodeUtils.js +1 -1
  363. package/build/src/elements/http/UrlEncodeUtils.js.map +1 -1
  364. package/build/src/elements/http/UrlInput.d.ts +1 -1
  365. package/build/src/elements/http/UrlInput.d.ts.map +1 -1
  366. package/build/src/elements/http/UrlInput.js.map +1 -1
  367. package/build/src/elements/http/UrlParamsForm.d.ts +1 -1
  368. package/build/src/elements/http/UrlParamsForm.d.ts.map +1 -1
  369. package/build/src/elements/http/UrlParamsForm.js +2 -1
  370. package/build/src/elements/http/UrlParamsForm.js.map +1 -1
  371. package/build/src/elements/layout/SplitPanel.js +3 -3
  372. package/build/src/elements/layout/SplitPanel.js.map +1 -1
  373. package/build/src/elements/navigation/internals/AppNavigation.styles.d.ts.map +1 -1
  374. package/build/src/elements/navigation/internals/AppNavigation.styles.js +1 -0
  375. package/build/src/elements/navigation/internals/AppNavigation.styles.js.map +1 -1
  376. package/build/src/elements/navigation/internals/AppNavigationElement.d.ts.map +1 -1
  377. package/build/src/elements/navigation/internals/AppNavigationElement.js +2 -7
  378. package/build/src/elements/navigation/internals/AppNavigationElement.js.map +1 -1
  379. package/build/src/elements/project/HttpHistoryChart.d.ts +1 -1
  380. package/build/src/elements/project/HttpHistoryChart.d.ts.map +1 -1
  381. package/build/src/elements/project/HttpHistoryChart.js +1 -1
  382. package/build/src/elements/project/HttpHistoryChart.js.map +1 -1
  383. package/build/src/elements/project/HttpProjectRequest.d.ts +17 -3
  384. package/build/src/elements/project/HttpProjectRequest.d.ts.map +1 -1
  385. package/build/src/elements/project/HttpProjectRequest.js +6 -1
  386. package/build/src/elements/project/HttpProjectRequest.js.map +1 -1
  387. package/build/src/elements/project/HttpProjectRequestHistory.d.ts +2 -1
  388. package/build/src/elements/project/HttpProjectRequestHistory.d.ts.map +1 -1
  389. package/build/src/elements/project/HttpProjectRequestHistory.js +1 -1
  390. package/build/src/elements/project/HttpProjectRequestHistory.js.map +1 -1
  391. package/build/src/elements/project/ProjectNavigation.d.ts +4 -1
  392. package/build/src/elements/project/ProjectNavigation.d.ts.map +1 -1
  393. package/build/src/elements/project/ProjectNavigation.js +3 -1
  394. package/build/src/elements/project/ProjectNavigation.js.map +1 -1
  395. package/build/src/elements/project/ProjectRunReport.d.ts +2 -1
  396. package/build/src/elements/project/ProjectRunReport.d.ts.map +1 -1
  397. package/build/src/elements/project/ProjectRunReport.js +1 -1
  398. package/build/src/elements/project/ProjectRunReport.js.map +1 -1
  399. package/build/src/elements/project/ProjectRunner.d.ts +5 -1
  400. package/build/src/elements/project/ProjectRunner.d.ts.map +1 -1
  401. package/build/src/elements/project/ProjectRunner.js +2 -1
  402. package/build/src/elements/project/ProjectRunner.js.map +1 -1
  403. package/build/src/elements/project/ProjectRunnerNavigationElement.d.ts +3 -1
  404. package/build/src/elements/project/ProjectRunnerNavigationElement.d.ts.map +1 -1
  405. package/build/src/elements/project/ProjectRunnerNavigationElement.js +1 -1
  406. package/build/src/elements/project/ProjectRunnerNavigationElement.js.map +1 -1
  407. package/build/src/elements/user/internals/UserAvatar.d.ts +1 -1
  408. package/build/src/elements/user/internals/UserAvatar.d.ts.map +1 -1
  409. package/build/src/elements/user/internals/UserAvatar.js.map +1 -1
  410. package/build/src/events/BroadcastUiEvents.d.ts +2 -1
  411. package/build/src/events/BroadcastUiEvents.d.ts.map +1 -1
  412. package/build/src/events/BroadcastUiEvents.js.map +1 -1
  413. package/build/src/events/ConfigEvents.d.ts +1 -1
  414. package/build/src/events/ConfigEvents.d.ts.map +1 -1
  415. package/build/src/events/ConfigEvents.js.map +1 -1
  416. package/build/src/events/Events.d.ts +2 -2
  417. package/build/src/events/HttpClientEvents.d.ts +3 -1
  418. package/build/src/events/HttpClientEvents.d.ts.map +1 -1
  419. package/build/src/events/HttpClientEvents.js +1 -1
  420. package/build/src/events/HttpClientEvents.js.map +1 -1
  421. package/build/src/events/HttpProjectEvents.d.ts +2 -1
  422. package/build/src/events/HttpProjectEvents.d.ts.map +1 -1
  423. package/build/src/events/HttpProjectEvents.js +1 -1
  424. package/build/src/events/HttpProjectEvents.js.map +1 -1
  425. package/build/src/events/IntentEvents.d.ts +1 -1
  426. package/build/src/events/IntentEvents.js +1 -1
  427. package/build/src/events/IntentEvents.js.map +1 -1
  428. package/build/src/events/StoreEvents.d.ts +9 -4
  429. package/build/src/events/StoreEvents.d.ts.map +1 -1
  430. package/build/src/events/StoreEvents.js.map +1 -1
  431. package/build/src/events/amf/ApiEvents.d.ts +2 -2
  432. package/build/src/events/amf/ApiEvents.d.ts.map +1 -1
  433. package/build/src/events/amf/ApiEvents.js.map +1 -1
  434. package/build/src/events/amf/DocumentationEvents.d.ts +3 -3
  435. package/build/src/events/amf/DocumentationEvents.d.ts.map +1 -1
  436. package/build/src/events/amf/DocumentationEvents.js.map +1 -1
  437. package/build/src/events/amf/EndpointEvents.d.ts +4 -4
  438. package/build/src/events/amf/EndpointEvents.d.ts.map +1 -1
  439. package/build/src/events/amf/EndpointEvents.js.map +1 -1
  440. package/build/src/events/amf/Events.d.ts +17 -17
  441. package/build/src/events/amf/OperationEvents.d.ts +3 -3
  442. package/build/src/events/amf/OperationEvents.d.ts.map +1 -1
  443. package/build/src/events/amf/OperationEvents.js.map +1 -1
  444. package/build/src/events/amf/PayloadEvents.d.ts +2 -2
  445. package/build/src/events/amf/PayloadEvents.d.ts.map +1 -1
  446. package/build/src/events/amf/PayloadEvents.js.map +1 -1
  447. package/build/src/events/amf/RequestEvents.d.ts +2 -2
  448. package/build/src/events/amf/RequestEvents.d.ts.map +1 -1
  449. package/build/src/events/amf/RequestEvents.js.map +1 -1
  450. package/build/src/events/amf/ResponseEvents.d.ts +2 -2
  451. package/build/src/events/amf/ResponseEvents.d.ts.map +1 -1
  452. package/build/src/events/amf/ResponseEvents.js.map +1 -1
  453. package/build/src/events/amf/SecurityEvents.d.ts +4 -4
  454. package/build/src/events/amf/SecurityEvents.d.ts.map +1 -1
  455. package/build/src/events/amf/SecurityEvents.js.map +1 -1
  456. package/build/src/events/amf/ServerEvents.d.ts +4 -3
  457. package/build/src/events/amf/ServerEvents.d.ts.map +1 -1
  458. package/build/src/events/amf/ServerEvents.js.map +1 -1
  459. package/build/src/events/amf/TypeEvents.d.ts +4 -3
  460. package/build/src/events/amf/TypeEvents.d.ts.map +1 -1
  461. package/build/src/events/amf/TypeEvents.js.map +1 -1
  462. package/build/src/index.d.ts +1 -1
  463. package/build/src/index.d.ts.map +1 -1
  464. package/build/src/index.js +1 -1
  465. package/build/src/index.js.map +1 -1
  466. package/build/src/lib/UserCache.d.ts +1 -1
  467. package/build/src/lib/UserCache.d.ts.map +1 -1
  468. package/build/src/lib/UserCache.js.map +1 -1
  469. package/build/src/lib/http/Har.d.ts +1 -1
  470. package/build/src/lib/http/Har.d.ts.map +1 -1
  471. package/build/src/lib/http/Har.js.map +1 -1
  472. package/build/src/lib/http/HeadersArray.js +1 -1
  473. package/build/src/lib/http/HeadersArray.js.map +1 -1
  474. package/build/src/lib/http/Payload.d.ts +1 -1
  475. package/build/src/lib/http/Payload.d.ts.map +1 -1
  476. package/build/src/lib/http/Payload.js.map +1 -1
  477. package/build/src/lib/http/Url.d.ts +1 -1
  478. package/build/src/lib/http/Url.d.ts.map +1 -1
  479. package/build/src/lib/http/Url.js.map +1 -1
  480. package/build/src/md/chip/internals/Chip.d.ts.map +1 -1
  481. package/build/src/md/chip/internals/Chip.js +3 -3
  482. package/build/src/md/chip/internals/Chip.js.map +1 -1
  483. package/build/src/md/dialog/internals/Dialog.styles.d.ts.map +1 -1
  484. package/build/src/md/dialog/internals/Dialog.styles.js +5 -0
  485. package/build/src/md/dialog/internals/Dialog.styles.js.map +1 -1
  486. package/build/src/md/dropdown-list/internals/UiDropdownList.d.ts.map +1 -1
  487. package/build/src/md/dropdown-list/internals/UiDropdownList.js +3 -3
  488. package/build/src/md/dropdown-list/internals/UiDropdownList.js.map +1 -1
  489. package/build/src/md/listbox/internals/Listbox.js +2 -2
  490. package/build/src/md/listbox/internals/Listbox.js.map +1 -1
  491. package/build/src/md/snackbar/internals/Snackbar.d.ts.map +1 -1
  492. package/build/src/md/snackbar/internals/Snackbar.js +3 -5
  493. package/build/src/md/snackbar/internals/Snackbar.js.map +1 -1
  494. package/build/src/mixins/FileDropMixin.d.ts +1 -0
  495. package/build/src/mixins/FileDropMixin.d.ts.map +1 -1
  496. package/build/src/mixins/FileDropMixin.js +24 -12
  497. package/build/src/mixins/FileDropMixin.js.map +1 -1
  498. package/build/src/{core → reactive}/LiveData.d.ts +1 -1
  499. package/build/src/reactive/LiveData.d.ts.map +1 -0
  500. package/build/src/{core → reactive}/LiveData.js +1 -1
  501. package/build/src/reactive/LiveData.js.map +1 -0
  502. package/build/src/reactive/reactive.d.ts.map +1 -0
  503. package/build/src/reactive/reactive.js.map +1 -0
  504. package/build/src/visualization/plugin/positioning/DataModelLayout.d.ts +2 -2
  505. package/build/src/visualization/plugin/positioning/DataModelLayout.d.ts.map +1 -1
  506. package/build/src/visualization/plugin/positioning/DataModelLayout.js +1 -2
  507. package/build/src/visualization/plugin/positioning/DataModelLayout.js.map +1 -1
  508. package/build/src/visualization/plugin/positioning/WorkspaceLayout.d.ts +2 -2
  509. package/build/src/visualization/plugin/positioning/WorkspaceLayout.d.ts.map +1 -1
  510. package/build/src/visualization/plugin/positioning/WorkspaceLayout.js +1 -1
  511. package/build/src/visualization/plugin/positioning/WorkspaceLayout.js.map +1 -1
  512. package/demo/amf/api-annotation.ts +4 -3
  513. package/demo/amf/api-channel.ts +1 -1
  514. package/demo/amf/api-console.ts +21 -22
  515. package/demo/amf/api-documentation-document.ts +1 -1
  516. package/demo/amf/api-documentation.ts +3 -2
  517. package/demo/amf/api-navigation.ts +5 -3
  518. package/demo/amf/api-operation.ts +3 -2
  519. package/demo/amf/api-payload.ts +13 -11
  520. package/demo/amf/api-request.ts +4 -3
  521. package/demo/amf/api-resource.ts +3 -2
  522. package/demo/amf/api-schema-documentation.ts +13 -10
  523. package/demo/amf/api-security-documentation.ts +3 -2
  524. package/demo/amf/api-server-picker.ts +4 -2
  525. package/demo/amf/api-summary.ts +1 -1
  526. package/demo/amf/bare-components.ts +3 -3
  527. package/demo/amf/lib/AmfDemoPage.ts +15 -10
  528. package/demo/amf/oauth-authorize.ts +3 -3
  529. package/demo/amf/request-editor.ts +3 -3
  530. package/demo/elements/authorization/api-key.ts +1 -1
  531. package/demo/elements/authorization/basic.ts +1 -1
  532. package/demo/elements/authorization/bearer.ts +1 -1
  533. package/demo/elements/authorization/ntlm.ts +1 -1
  534. package/demo/elements/authorization/oauth-authorize.ts +3 -3
  535. package/demo/elements/authorization/oauth2.ts +2 -1
  536. package/demo/elements/authorization/oidc.ts +2 -1
  537. package/demo/elements/environment/environment-editor.ts +1 -1
  538. package/demo/elements/environment/server-editor.ts +1 -1
  539. package/demo/elements/environment/variables-editor.ts +1 -1
  540. package/demo/elements/har/har-viewer.ts +1 -1
  541. package/demo/elements/highlight/marked-highlight.ts +1 -1
  542. package/demo/elements/http/body-editor.ts +1 -1
  543. package/demo/elements/http/headers.ts +1 -1
  544. package/demo/elements/http/http-assertions.ts +2 -2
  545. package/demo/elements/http/http-flows.ts +2 -2
  546. package/demo/elements/http/request-editor.ts +4 -10
  547. package/demo/elements/http/request-log.ts +4 -1
  548. package/demo/elements/http/url-editing.ts +1 -1
  549. package/demo/elements/md/list/list.ts +1 -1
  550. package/demo/elements/project/project-run-report.ts +3 -7
  551. package/demo/elements/project/request-editor.ts +8 -11
  552. package/demo/index.html +0 -3
  553. package/demo/layout/index.ts +2 -2
  554. package/demo/lib/DemoBindings.ts +1 -1
  555. package/demo/lib/amf/AmfPartialGraphStore.ts +39 -35
  556. package/demo/lib/amf/AmfPartialModel.ts +52 -52
  557. package/dev/amf-server/AmfService.js +2 -2
  558. package/license.md +15 -0
  559. package/package.json +48 -42
  560. package/src/amf/lib/AmfInputParser.ts +19 -11
  561. package/src/amf/lib/AmfParameters.ts +42 -45
  562. package/src/amf/lib/AmfSecurity.ts +3 -3
  563. package/src/amf/lib/Oauth2RamlCustomData.ts +44 -40
  564. package/src/amf/lib/PayloadUtils.ts +8 -10
  565. package/src/amf/lib/QueryParameterProcessor.ts +24 -23
  566. package/src/amf/lib/Utils.ts +23 -13
  567. package/src/amf/store/AmfGraphStore.ts +4 -3
  568. package/src/amf/store/AmfStore.ts +32 -24
  569. package/src/amf/store/InMemAmfGraphStore.ts +40 -36
  570. package/src/amf/types.ts +16 -12
  571. package/src/bindings/base/ConfigurationBindings.ts +1 -1
  572. package/src/bindings/base/IoThread.ts +1 -1
  573. package/src/bindings/base/PlatformBindings.ts +1 -1
  574. package/src/bindings/web/WebConfigurationBindings.ts +1 -1
  575. package/src/code-snippets/Bash/CurlSnippet.ts +2 -1
  576. package/src/code-snippets/C/CcurlSnippet.ts +2 -1
  577. package/src/code-snippets/CodeSnippet.ts +3 -1
  578. package/src/code-snippets/Dart/DartSnippet.ts +2 -1
  579. package/src/code-snippets/HTTP/RawSnippet.ts +2 -1
  580. package/src/code-snippets/Java/PlatformSnippet.ts +2 -1
  581. package/src/code-snippets/Java/SpringSnippet.ts +2 -1
  582. package/src/code-snippets/JavaScript/AsyncFetchSnippet.ts +2 -1
  583. package/src/code-snippets/JavaScript/AxiosSnippet.ts +2 -1
  584. package/src/code-snippets/JavaScript/FetchSnippet.ts +2 -1
  585. package/src/code-snippets/JavaScript/NodeSnippet.ts +2 -1
  586. package/src/code-snippets/JavaScript/XhrSnippet.ts +2 -1
  587. package/src/code-snippets/JavaScript/jQuerySnippet.ts +2 -1
  588. package/src/code-snippets/Python/Python27Snippet.ts +2 -1
  589. package/src/code-snippets/Python/Python31Snippet.ts +2 -1
  590. package/src/code-snippets/Python/RequestsSnippet.ts +2 -1
  591. package/src/controllers/LiveDataController.ts +1 -1
  592. package/src/core/Activity.ts +38 -1
  593. package/src/core/ActivityManager.ts +24 -1
  594. package/src/core/Fragment.ts +12 -0
  595. package/src/core/FragmentManager.ts +1 -1
  596. package/src/core/ModalActivity.ts +1 -1
  597. package/src/directives/live.ts +1 -1
  598. package/src/elements/amf/ApiAnnotationDocument.element.ts +9 -7
  599. package/src/elements/amf/ApiAuthorizationEditor.element.ts +21 -19
  600. package/src/elements/amf/ApiChannelDocument.element.ts +2 -5
  601. package/src/elements/amf/ApiDocumentation.element.ts +4 -3
  602. package/src/elements/amf/ApiDocumentationBase.ts +7 -4
  603. package/src/elements/amf/ApiDocumentationDocument.element.ts +4 -4
  604. package/src/elements/amf/ApiNavigation.element.ts +18 -12
  605. package/src/elements/amf/ApiOperationDocument.element.ts +45 -39
  606. package/src/elements/amf/ApiParameterDocument.element.ts +5 -4
  607. package/src/elements/amf/ApiParametrizedSecurityScheme.element.ts +15 -10
  608. package/src/elements/amf/ApiPayloadDocument.element.ts +6 -6
  609. package/src/elements/amf/ApiRequest.element.ts +2 -1
  610. package/src/elements/amf/ApiRequestDocument.element.ts +22 -19
  611. package/src/elements/amf/ApiRequestEditor.element.ts +34 -32
  612. package/src/elements/amf/ApiResourceDocument.element.ts +18 -17
  613. package/src/elements/amf/ApiResponseDocument.element.ts +14 -9
  614. package/src/elements/amf/ApiSchemaDocument.element.ts +55 -41
  615. package/src/elements/amf/ApiSecurityDocument.element.ts +35 -25
  616. package/src/elements/amf/ApiSecurityRequirementDocument.element.ts +4 -4
  617. package/src/elements/amf/ApiServerPicker.element.ts +6 -5
  618. package/src/elements/amf/ApiSummary.element.ts +21 -17
  619. package/src/elements/amf/SchemaCommonTemplates.ts +28 -17
  620. package/src/elements/amf/authorization/AmfApiKey.ts +15 -11
  621. package/src/elements/amf/authorization/AmfBasic.ts +6 -6
  622. package/src/elements/amf/authorization/AmfBearer.ts +6 -6
  623. package/src/elements/amf/authorization/AmfOauth2.ts +57 -47
  624. package/src/elements/amf/authorization/AmfOidc.ts +10 -7
  625. package/src/elements/amf/authorization/AmfPassThrough.ts +12 -12
  626. package/src/elements/amf/authorization/AmfRamlCustom.ts +14 -14
  627. package/src/elements/authorization/OAuth2Authorize.ts +5 -8
  628. package/src/elements/authorization/OidcAuthorize.ts +5 -9
  629. package/src/elements/authorization/ui/ApiKeyAuthorization.ts +1 -1
  630. package/src/elements/authorization/ui/Authorization.ts +1 -1
  631. package/src/elements/authorization/ui/BasicAuthorization.ts +1 -1
  632. package/src/elements/authorization/ui/BearerAuthorization.ts +1 -1
  633. package/src/elements/authorization/ui/CcAuthorization.ts +5 -8
  634. package/src/elements/authorization/ui/NtlmAuthorization.ts +1 -1
  635. package/src/elements/authorization/ui/OAuth2Authorization.ts +9 -10
  636. package/src/elements/authorization/ui/OidcAuthorization.ts +7 -7
  637. package/src/elements/code/HttpSnippets.ts +1 -1
  638. package/src/elements/data-table/{internals/DataTable.ts → DataTable.ts} +2 -2
  639. package/src/elements/dialog/internals/DeleteCookieAction.element.ts +4 -1
  640. package/src/elements/dialog/internals/SetCookieAction.element.ts +2 -1
  641. package/src/elements/environment/EnvironmentEditor.ts +5 -10
  642. package/src/elements/environment/ServerEditor.ts +2 -1
  643. package/src/elements/environment/VariablesEditor.ts +1 -1
  644. package/src/elements/file-system/internals/Breadcrumbs.ts +3 -2
  645. package/src/elements/har/HarViewer.ts +1 -1
  646. package/src/elements/http/BodyEditor.ts +5 -7
  647. package/src/elements/http/BodyMultipartEditor.ts +7 -7
  648. package/src/elements/http/BodyUrlEncodedEditor.ts +1 -1
  649. package/src/elements/http/CertificateAdd.element.ts +2 -1
  650. package/src/elements/http/HeadersForm.ts +6 -3
  651. package/src/elements/http/HttpAssertions.element.ts +2 -1
  652. package/src/elements/http/HttpFlows.element.ts +2 -1
  653. package/src/elements/http/HttpFlowsUi.ts +8 -8
  654. package/src/elements/http/LogBody.ts +6 -1
  655. package/src/elements/http/LogHeaders.ts +6 -9
  656. package/src/elements/http/LogTimings.ts +1 -1
  657. package/src/elements/http/RequestConfigElement.ts +1 -1
  658. package/src/elements/http/RequestEditor.ts +11 -18
  659. package/src/elements/http/RequestLog.ts +8 -11
  660. package/src/elements/http/UrlEncodeUtils.ts +1 -1
  661. package/src/elements/http/UrlInput.ts +1 -1
  662. package/src/elements/http/UrlParamsForm.ts +2 -1
  663. package/src/elements/layout/SplitPanel.ts +3 -3
  664. package/src/elements/navigation/internals/AppNavigation.styles.ts +1 -0
  665. package/src/elements/navigation/internals/AppNavigationElement.ts +2 -7
  666. package/src/elements/project/HttpHistoryChart.ts +3 -1
  667. package/src/elements/project/HttpProjectRequest.ts +21 -28
  668. package/src/elements/project/HttpProjectRequestHistory.ts +5 -8
  669. package/src/elements/project/ProjectNavigation.ts +5 -9
  670. package/src/elements/project/ProjectRunReport.ts +5 -7
  671. package/src/elements/project/ProjectRunner.ts +9 -12
  672. package/src/elements/project/ProjectRunnerNavigationElement.ts +3 -1
  673. package/src/elements/user/internals/UserAvatar.ts +1 -1
  674. package/src/events/BroadcastUiEvents.ts +2 -6
  675. package/src/events/ConfigEvents.ts +1 -1
  676. package/src/events/HttpClientEvents.ts +3 -7
  677. package/src/events/HttpProjectEvents.ts +5 -5
  678. package/src/events/IntentEvents.ts +1 -1
  679. package/src/events/StoreEvents.ts +10 -16
  680. package/src/events/amf/ApiEvents.ts +3 -3
  681. package/src/events/amf/DocumentationEvents.ts +5 -5
  682. package/src/events/amf/EndpointEvents.ts +7 -7
  683. package/src/events/amf/OperationEvents.ts +5 -5
  684. package/src/events/amf/PayloadEvents.ts +3 -3
  685. package/src/events/amf/RequestEvents.ts +3 -3
  686. package/src/events/amf/ResponseEvents.ts +3 -3
  687. package/src/events/amf/SecurityEvents.ts +11 -7
  688. package/src/events/amf/ServerEvents.ts +5 -4
  689. package/src/events/amf/TypeEvents.ts +6 -5
  690. package/src/index.ts +1 -1
  691. package/src/lib/UserCache.ts +1 -1
  692. package/src/lib/http/Har.ts +1 -1
  693. package/src/lib/http/HeadersArray.ts +1 -1
  694. package/src/lib/http/Payload.ts +1 -1
  695. package/src/lib/http/Url.ts +1 -1
  696. package/src/md/chip/internals/Chip.ts +3 -3
  697. package/src/md/dialog/internals/Dialog.styles.ts +5 -0
  698. package/src/md/dropdown-list/internals/UiDropdownList.ts +3 -3
  699. package/src/md/listbox/internals/Listbox.ts +2 -2
  700. package/src/md/snackbar/internals/Snackbar.ts +3 -5
  701. package/src/mixins/FileDropMixin.ts +28 -11
  702. package/src/{core → reactive}/LiveData.ts +1 -1
  703. package/src/visualization/plugin/positioning/DataModelLayout.ts +3 -2
  704. package/src/visualization/plugin/positioning/WorkspaceLayout.ts +3 -3
  705. package/test/core/live_data.spec.ts +1 -1
  706. package/test/elements/data-table/DataTable.browser.test.ts +2 -2
  707. package/test/elements/http/CertificateAdd.test.ts +5 -1
  708. package/test/elements/layout/SplitPanel.test.ts +1 -1
  709. package/web-test-runner.config.js +1 -1
  710. package/build/src/apps/activities/ApiActivity.d.ts +0 -21
  711. package/build/src/apps/activities/ApiActivity.d.ts.map +0 -1
  712. package/build/src/apps/activities/ApiActivity.js +0 -23
  713. package/build/src/apps/activities/ApiActivity.js.map +0 -1
  714. package/build/src/apps/activities/AppStartActivity.d.ts +0 -61
  715. package/build/src/apps/activities/AppStartActivity.d.ts.map +0 -1
  716. package/build/src/apps/activities/AppStartActivity.js +0 -100
  717. package/build/src/apps/activities/AppStartActivity.js.map +0 -1
  718. package/build/src/apps/activities/BrowseDataDomainActivity.d.ts +0 -375
  719. package/build/src/apps/activities/BrowseDataDomainActivity.d.ts.map +0 -1
  720. package/build/src/apps/activities/BrowseDataDomainActivity.js +0 -943
  721. package/build/src/apps/activities/BrowseDataDomainActivity.js.map +0 -1
  722. package/build/src/apps/activities/CreateFolderDialogActivity.d.ts +0 -30
  723. package/build/src/apps/activities/CreateFolderDialogActivity.d.ts.map +0 -1
  724. package/build/src/apps/activities/CreateFolderDialogActivity.js +0 -135
  725. package/build/src/apps/activities/CreateFolderDialogActivity.js.map +0 -1
  726. package/build/src/apps/activities/DeleteDataDomainActivity.d.ts +0 -47
  727. package/build/src/apps/activities/DeleteDataDomainActivity.d.ts.map +0 -1
  728. package/build/src/apps/activities/DeleteDataDomainActivity.js +0 -162
  729. package/build/src/apps/activities/DeleteDataDomainActivity.js.map +0 -1
  730. package/build/src/apps/activities/LoadingActivity.d.ts +0 -26
  731. package/build/src/apps/activities/LoadingActivity.d.ts.map +0 -1
  732. package/build/src/apps/activities/LoadingActivity.js +0 -67
  733. package/build/src/apps/activities/LoadingActivity.js.map +0 -1
  734. package/build/src/apps/activities/LoginActivity.d.ts +0 -26
  735. package/build/src/apps/activities/LoginActivity.d.ts.map +0 -1
  736. package/build/src/apps/activities/LoginActivity.js +0 -186
  737. package/build/src/apps/activities/LoginActivity.js.map +0 -1
  738. package/build/src/apps/activities/OrganizationSelectionActivity.d.ts +0 -35
  739. package/build/src/apps/activities/OrganizationSelectionActivity.d.ts.map +0 -1
  740. package/build/src/apps/activities/OrganizationSelectionActivity.js +0 -107
  741. package/build/src/apps/activities/OrganizationSelectionActivity.js.map +0 -1
  742. package/build/src/apps/activities/OrganizationSetupActivity.d.ts +0 -40
  743. package/build/src/apps/activities/OrganizationSetupActivity.d.ts.map +0 -1
  744. package/build/src/apps/activities/OrganizationSetupActivity.js +0 -171
  745. package/build/src/apps/activities/OrganizationSetupActivity.js.map +0 -1
  746. package/build/src/apps/activities/RenameFileDialogActivity.d.ts +0 -32
  747. package/build/src/apps/activities/RenameFileDialogActivity.d.ts.map +0 -1
  748. package/build/src/apps/activities/RenameFileDialogActivity.js +0 -168
  749. package/build/src/apps/activities/RenameFileDialogActivity.js.map +0 -1
  750. package/build/src/apps/activities/styles/BrowseDataDomain.styles.d.ts +0 -3
  751. package/build/src/apps/activities/styles/BrowseDataDomain.styles.d.ts.map +0 -1
  752. package/build/src/apps/activities/styles/BrowseDataDomain.styles.js +0 -28
  753. package/build/src/apps/activities/styles/BrowseDataDomain.styles.js.map +0 -1
  754. package/build/src/apps/activities/styles/DeleteDataDomain.styles.d.ts +0 -3
  755. package/build/src/apps/activities/styles/DeleteDataDomain.styles.d.ts.map +0 -1
  756. package/build/src/apps/activities/styles/DeleteDataDomain.styles.js +0 -26
  757. package/build/src/apps/activities/styles/DeleteDataDomain.styles.js.map +0 -1
  758. package/build/src/apps/activities/styles/login.d.ts +0 -3
  759. package/build/src/apps/activities/styles/login.d.ts.map +0 -1
  760. package/build/src/apps/activities/styles/login.js +0 -66
  761. package/build/src/apps/activities/styles/login.js.map +0 -1
  762. package/build/src/apps/api_service.d.ts +0 -18
  763. package/build/src/apps/api_service.d.ts.map +0 -1
  764. package/build/src/apps/api_service.js +0 -4
  765. package/build/src/apps/api_service.js.map +0 -1
  766. package/build/src/apps/fragments/loading.d.ts +0 -21
  767. package/build/src/apps/fragments/loading.d.ts.map +0 -1
  768. package/build/src/apps/fragments/loading.js +0 -63
  769. package/build/src/apps/fragments/loading.js.map +0 -1
  770. package/build/src/apps/quick-api/Intents.d.ts +0 -12
  771. package/build/src/apps/quick-api/Intents.d.ts.map +0 -1
  772. package/build/src/apps/quick-api/Intents.js +0 -12
  773. package/build/src/apps/quick-api/Intents.js.map +0 -1
  774. package/build/src/apps/quick-api/QuickApiApp.d.ts +0 -10
  775. package/build/src/apps/quick-api/QuickApiApp.d.ts.map +0 -1
  776. package/build/src/apps/quick-api/QuickApiApp.js +0 -61
  777. package/build/src/apps/quick-api/QuickApiApp.js.map +0 -1
  778. package/build/src/apps/quick-api/Schema.styles.d.ts +0 -3
  779. package/build/src/apps/quick-api/Schema.styles.d.ts.map +0 -1
  780. package/build/src/apps/quick-api/Schema.styles.js +0 -95
  781. package/build/src/apps/quick-api/Schema.styles.js.map +0 -1
  782. package/build/src/apps/quick-api/SchemaEditorApp.d.ts +0 -9
  783. package/build/src/apps/quick-api/SchemaEditorApp.d.ts.map +0 -1
  784. package/build/src/apps/quick-api/SchemaEditorApp.js +0 -60
  785. package/build/src/apps/quick-api/SchemaEditorApp.js.map +0 -1
  786. package/build/src/apps/quick-api/SchemaScreenActivity.d.ts +0 -49
  787. package/build/src/apps/quick-api/SchemaScreenActivity.d.ts.map +0 -1
  788. package/build/src/apps/quick-api/SchemaScreenActivity.js +0 -285
  789. package/build/src/apps/quick-api/SchemaScreenActivity.js.map +0 -1
  790. package/build/src/apps/quick-api/SchemaScreenViewModel.d.ts +0 -43
  791. package/build/src/apps/quick-api/SchemaScreenViewModel.d.ts.map +0 -1
  792. package/build/src/apps/quick-api/SchemaScreenViewModel.js +0 -40
  793. package/build/src/apps/quick-api/SchemaScreenViewModel.js.map +0 -1
  794. package/build/src/apps/quick-api/Start.styles.d.ts +0 -3
  795. package/build/src/apps/quick-api/Start.styles.d.ts.map +0 -1
  796. package/build/src/apps/quick-api/Start.styles.js +0 -125
  797. package/build/src/apps/quick-api/Start.styles.js.map +0 -1
  798. package/build/src/apps/quick-api/StartScreenActivity.d.ts +0 -46
  799. package/build/src/apps/quick-api/StartScreenActivity.d.ts.map +0 -1
  800. package/build/src/apps/quick-api/StartScreenActivity.js +0 -70
  801. package/build/src/apps/quick-api/StartScreenActivity.js.map +0 -1
  802. package/build/src/apps/quick-api/filesystem/Files.styles.d.ts +0 -3
  803. package/build/src/apps/quick-api/filesystem/Files.styles.d.ts.map +0 -1
  804. package/build/src/apps/quick-api/filesystem/Files.styles.js +0 -72
  805. package/build/src/apps/quick-api/filesystem/Files.styles.js.map +0 -1
  806. package/build/src/apps/quick-api/filesystem/FilesLib.d.ts +0 -10
  807. package/build/src/apps/quick-api/filesystem/FilesLib.d.ts.map +0 -1
  808. package/build/src/apps/quick-api/filesystem/FilesLib.js +0 -41
  809. package/build/src/apps/quick-api/filesystem/FilesLib.js.map +0 -1
  810. package/build/src/apps/quick-api/fragments/FilesystemFragment.d.ts +0 -92
  811. package/build/src/apps/quick-api/fragments/FilesystemFragment.d.ts.map +0 -1
  812. package/build/src/apps/quick-api/fragments/FilesystemFragment.js +0 -400
  813. package/build/src/apps/quick-api/fragments/FilesystemFragment.js.map +0 -1
  814. package/build/src/apps/quick-api/fragments/HeaderFragment.d.ts +0 -23
  815. package/build/src/apps/quick-api/fragments/HeaderFragment.d.ts.map +0 -1
  816. package/build/src/apps/quick-api/fragments/HeaderFragment.js +0 -64
  817. package/build/src/apps/quick-api/fragments/HeaderFragment.js.map +0 -1
  818. package/build/src/apps/quick-api/fragments/MainFragment.d.ts +0 -17
  819. package/build/src/apps/quick-api/fragments/MainFragment.d.ts.map +0 -1
  820. package/build/src/apps/quick-api/fragments/MainFragment.js +0 -39
  821. package/build/src/apps/quick-api/fragments/MainFragment.js.map +0 -1
  822. package/build/src/apps/quick-api/fragments/NavigationFragment.d.ts +0 -19
  823. package/build/src/apps/quick-api/fragments/NavigationFragment.d.ts.map +0 -1
  824. package/build/src/apps/quick-api/fragments/NavigationFragment.js +0 -158
  825. package/build/src/apps/quick-api/fragments/NavigationFragment.js.map +0 -1
  826. package/build/src/apps/quick-api/fragments/SchemaEditorEmptyState.fragment.d.ts +0 -9
  827. package/build/src/apps/quick-api/fragments/SchemaEditorEmptyState.fragment.d.ts.map +0 -1
  828. package/build/src/apps/quick-api/fragments/SchemaEditorEmptyState.fragment.js +0 -11
  829. package/build/src/apps/quick-api/fragments/SchemaEditorEmptyState.fragment.js.map +0 -1
  830. package/build/src/apps/quick-api/fragments/SchemaEditorHost.d.ts +0 -56
  831. package/build/src/apps/quick-api/fragments/SchemaEditorHost.d.ts.map +0 -1
  832. package/build/src/apps/quick-api/fragments/SchemaEditorHost.js +0 -241
  833. package/build/src/apps/quick-api/fragments/SchemaEditorHost.js.map +0 -1
  834. package/build/src/apps/quick-api/fragments/SchemaEditorHost.styles.d.ts +0 -3
  835. package/build/src/apps/quick-api/fragments/SchemaEditorHost.styles.d.ts.map +0 -1
  836. package/build/src/apps/quick-api/fragments/SchemaEditorHost.styles.js +0 -22
  837. package/build/src/apps/quick-api/fragments/SchemaEditorHost.styles.js.map +0 -1
  838. package/build/src/apps/quick-api/fragments/SchemaHeaderFragment.d.ts +0 -20
  839. package/build/src/apps/quick-api/fragments/SchemaHeaderFragment.d.ts.map +0 -1
  840. package/build/src/apps/quick-api/fragments/SchemaHeaderFragment.js +0 -106
  841. package/build/src/apps/quick-api/fragments/SchemaHeaderFragment.js.map +0 -1
  842. package/build/src/apps/quick-api/fragments/SchemaNavigation.styles.d.ts +0 -3
  843. package/build/src/apps/quick-api/fragments/SchemaNavigation.styles.d.ts.map +0 -1
  844. package/build/src/apps/quick-api/fragments/SchemaNavigation.styles.js +0 -16
  845. package/build/src/apps/quick-api/fragments/SchemaNavigation.styles.js.map +0 -1
  846. package/build/src/apps/quick-api/fragments/SchemaNavigationFragment.d.ts +0 -45
  847. package/build/src/apps/quick-api/fragments/SchemaNavigationFragment.d.ts.map +0 -1
  848. package/build/src/apps/quick-api/fragments/SchemaNavigationFragment.js +0 -282
  849. package/build/src/apps/quick-api/fragments/SchemaNavigationFragment.js.map +0 -1
  850. package/build/src/apps/quick-api/fragments/TrashFragment.d.ts +0 -40
  851. package/build/src/apps/quick-api/fragments/TrashFragment.d.ts.map +0 -1
  852. package/build/src/apps/quick-api/fragments/TrashFragment.js +0 -179
  853. package/build/src/apps/quick-api/fragments/TrashFragment.js.map +0 -1
  854. package/build/src/apps/quick-api/lib/SchemaContextualMenu.d.ts +0 -6
  855. package/build/src/apps/quick-api/lib/SchemaContextualMenu.d.ts.map +0 -1
  856. package/build/src/apps/quick-api/lib/SchemaContextualMenu.js +0 -61
  857. package/build/src/apps/quick-api/lib/SchemaContextualMenu.js.map +0 -1
  858. package/build/src/apps/quick-api/lib/UiLib.d.ts +0 -8
  859. package/build/src/apps/quick-api/lib/UiLib.d.ts.map +0 -1
  860. package/build/src/apps/quick-api/lib/UiLib.js +0 -16
  861. package/build/src/apps/quick-api/lib/UiLib.js.map +0 -1
  862. package/build/src/apps/services/ConfigurationService.d.ts +0 -12
  863. package/build/src/apps/services/ConfigurationService.d.ts.map +0 -1
  864. package/build/src/apps/services/ConfigurationService.js +0 -23
  865. package/build/src/apps/services/ConfigurationService.js.map +0 -1
  866. package/build/src/apps/services/LoggingService.d.ts +0 -17
  867. package/build/src/apps/services/LoggingService.d.ts.map +0 -1
  868. package/build/src/apps/services/LoggingService.js +0 -37
  869. package/build/src/apps/services/LoggingService.js.map +0 -1
  870. package/build/src/apps/services/OrganizationService.d.ts +0 -54
  871. package/build/src/apps/services/OrganizationService.d.ts.map +0 -1
  872. package/build/src/apps/services/OrganizationService.js +0 -133
  873. package/build/src/apps/services/OrganizationService.js.map +0 -1
  874. package/build/src/apps/services/SdkService.d.ts +0 -17
  875. package/build/src/apps/services/SdkService.d.ts.map +0 -1
  876. package/build/src/apps/services/SdkService.js +0 -36
  877. package/build/src/apps/services/SdkService.js.map +0 -1
  878. package/build/src/apps/services/TransmitService.d.ts +0 -10
  879. package/build/src/apps/services/TransmitService.d.ts.map +0 -1
  880. package/build/src/apps/services/TransmitService.js +0 -17
  881. package/build/src/apps/services/TransmitService.js.map +0 -1
  882. package/build/src/apps/services/UserService.d.ts +0 -23
  883. package/build/src/apps/services/UserService.d.ts.map +0 -1
  884. package/build/src/apps/services/UserService.js +0 -62
  885. package/build/src/apps/services/UserService.js.map +0 -1
  886. package/build/src/apps/transmit_client.d.ts +0 -3
  887. package/build/src/apps/transmit_client.d.ts.map +0 -1
  888. package/build/src/apps/transmit_client.js +0 -5
  889. package/build/src/apps/transmit_client.js.map +0 -1
  890. package/build/src/apps/types.d.ts +0 -11
  891. package/build/src/apps/types.d.ts.map +0 -1
  892. package/build/src/apps/types.js +0 -2
  893. package/build/src/apps/types.js.map +0 -1
  894. package/build/src/boot.d.ts +0 -3
  895. package/build/src/boot.d.ts.map +0 -1
  896. package/build/src/boot.js +0 -17
  897. package/build/src/boot.js.map +0 -1
  898. package/build/src/builders/DialogBuilder.d.ts +0 -131
  899. package/build/src/builders/DialogBuilder.d.ts.map +0 -1
  900. package/build/src/builders/DialogBuilder.js +0 -227
  901. package/build/src/builders/DialogBuilder.js.map +0 -1
  902. package/build/src/core/LiveData.d.ts.map +0 -1
  903. package/build/src/core/LiveData.js.map +0 -1
  904. package/build/src/core/container.d.ts +0 -14
  905. package/build/src/core/container.d.ts.map +0 -1
  906. package/build/src/core/container.js +0 -4
  907. package/build/src/core/container.js.map +0 -1
  908. package/build/src/core/reactive/reactive.d.ts.map +0 -1
  909. package/build/src/core/reactive/reactive.js.map +0 -1
  910. package/build/src/data/BreadcrumbsModel.d.ts +0 -36
  911. package/build/src/data/BreadcrumbsModel.d.ts.map +0 -1
  912. package/build/src/data/BreadcrumbsModel.js +0 -65
  913. package/build/src/data/BreadcrumbsModel.js.map +0 -1
  914. package/build/src/data/FileModel.d.ts +0 -35
  915. package/build/src/data/FileModel.d.ts.map +0 -1
  916. package/build/src/data/FileModel.js +0 -54
  917. package/build/src/data/FileModel.js.map +0 -1
  918. package/build/src/data/FilesModel.d.ts +0 -71
  919. package/build/src/data/FilesModel.d.ts.map +0 -1
  920. package/build/src/data/FilesModel.js +0 -166
  921. package/build/src/data/FilesModel.js.map +0 -1
  922. package/build/src/data/PatchableFileModel.d.ts +0 -141
  923. package/build/src/data/PatchableFileModel.d.ts.map +0 -1
  924. package/build/src/data/PatchableFileModel.js +0 -212
  925. package/build/src/data/PatchableFileModel.js.map +0 -1
  926. package/build/src/data/PatchableLiveDataContentModel.d.ts +0 -13
  927. package/build/src/data/PatchableLiveDataContentModel.d.ts.map +0 -1
  928. package/build/src/data/PatchableLiveDataContentModel.js +0 -18
  929. package/build/src/data/PatchableLiveDataContentModel.js.map +0 -1
  930. package/build/src/data/PatchableRawContentModel.d.ts +0 -14
  931. package/build/src/data/PatchableRawContentModel.d.ts.map +0 -1
  932. package/build/src/data/PatchableRawContentModel.js +0 -32
  933. package/build/src/data/PatchableRawContentModel.js.map +0 -1
  934. package/build/src/data/TrashModel.d.ts +0 -50
  935. package/build/src/data/TrashModel.d.ts.map +0 -1
  936. package/build/src/data/TrashModel.js +0 -102
  937. package/build/src/data/TrashModel.js.map +0 -1
  938. package/build/src/elements/data-table/filesystem-table.d.ts +0 -11
  939. package/build/src/elements/data-table/filesystem-table.d.ts.map +0 -1
  940. package/build/src/elements/data-table/filesystem-table.js +0 -28
  941. package/build/src/elements/data-table/filesystem-table.js.map +0 -1
  942. package/build/src/elements/data-table/internals/DataTable.d.ts.map +0 -1
  943. package/build/src/elements/data-table/internals/DataTable.js.map +0 -1
  944. package/build/src/elements/data-table/internals/DataTable.styles.d.ts.map +0 -1
  945. package/build/src/elements/data-table/internals/DataTable.styles.js.map +0 -1
  946. package/build/src/elements/data-table/internals/Filesystem.styles.d.ts +0 -3
  947. package/build/src/elements/data-table/internals/Filesystem.styles.d.ts.map +0 -1
  948. package/build/src/elements/data-table/internals/Filesystem.styles.js +0 -17
  949. package/build/src/elements/data-table/internals/Filesystem.styles.js.map +0 -1
  950. package/build/src/elements/data-table/internals/FilesystemDataTable.d.ts +0 -35
  951. package/build/src/elements/data-table/internals/FilesystemDataTable.d.ts.map +0 -1
  952. package/build/src/elements/data-table/internals/FilesystemDataTable.js +0 -237
  953. package/build/src/elements/data-table/internals/FilesystemDataTable.js.map +0 -1
  954. package/build/src/elements/data-table/internals/TrashDataTable.d.ts +0 -34
  955. package/build/src/elements/data-table/internals/TrashDataTable.d.ts.map +0 -1
  956. package/build/src/elements/data-table/internals/TrashDataTable.js +0 -173
  957. package/build/src/elements/data-table/internals/TrashDataTable.js.map +0 -1
  958. package/build/src/elements/data-table/trash-table.d.ts +0 -11
  959. package/build/src/elements/data-table/trash-table.d.ts.map +0 -1
  960. package/build/src/elements/data-table/trash-table.js +0 -28
  961. package/build/src/elements/data-table/trash-table.js.map +0 -1
  962. package/build/src/elements/modeling/domain-association-editor.d.ts +0 -10
  963. package/build/src/elements/modeling/domain-association-editor.d.ts.map +0 -1
  964. package/build/src/elements/modeling/domain-association-editor.js +0 -28
  965. package/build/src/elements/modeling/domain-association-editor.js.map +0 -1
  966. package/build/src/elements/modeling/domain-entity-editor.d.ts +0 -10
  967. package/build/src/elements/modeling/domain-entity-editor.d.ts.map +0 -1
  968. package/build/src/elements/modeling/domain-entity-editor.js +0 -30
  969. package/build/src/elements/modeling/domain-entity-editor.js.map +0 -1
  970. package/build/src/elements/modeling/domain-model-editor.d.ts +0 -10
  971. package/build/src/elements/modeling/domain-model-editor.d.ts.map +0 -1
  972. package/build/src/elements/modeling/domain-model-editor.js +0 -30
  973. package/build/src/elements/modeling/domain-model-editor.js.map +0 -1
  974. package/build/src/elements/modeling/domain-namespace-editor.d.ts +0 -10
  975. package/build/src/elements/modeling/domain-namespace-editor.d.ts.map +0 -1
  976. package/build/src/elements/modeling/domain-namespace-editor.js +0 -30
  977. package/build/src/elements/modeling/domain-namespace-editor.js.map +0 -1
  978. package/build/src/elements/modeling/domain-navigation.d.ts +0 -10
  979. package/build/src/elements/modeling/domain-navigation.d.ts.map +0 -1
  980. package/build/src/elements/modeling/domain-navigation.js +0 -28
  981. package/build/src/elements/modeling/domain-navigation.js.map +0 -1
  982. package/build/src/elements/modeling/domain-property-editor.d.ts +0 -10
  983. package/build/src/elements/modeling/domain-property-editor.d.ts.map +0 -1
  984. package/build/src/elements/modeling/domain-property-editor.js +0 -29
  985. package/build/src/elements/modeling/domain-property-editor.js.map +0 -1
  986. package/build/src/elements/modeling/internals/DomainAssociationEditor.d.ts +0 -100
  987. package/build/src/elements/modeling/internals/DomainAssociationEditor.d.ts.map +0 -1
  988. package/build/src/elements/modeling/internals/DomainAssociationEditor.js +0 -535
  989. package/build/src/elements/modeling/internals/DomainAssociationEditor.js.map +0 -1
  990. package/build/src/elements/modeling/internals/DomainEntityEditor.d.ts +0 -130
  991. package/build/src/elements/modeling/internals/DomainEntityEditor.d.ts.map +0 -1
  992. package/build/src/elements/modeling/internals/DomainEntityEditor.js +0 -809
  993. package/build/src/elements/modeling/internals/DomainEntityEditor.js.map +0 -1
  994. package/build/src/elements/modeling/internals/DomainModelEditor.d.ts +0 -19
  995. package/build/src/elements/modeling/internals/DomainModelEditor.d.ts.map +0 -1
  996. package/build/src/elements/modeling/internals/DomainModelEditor.js +0 -235
  997. package/build/src/elements/modeling/internals/DomainModelEditor.js.map +0 -1
  998. package/build/src/elements/modeling/internals/DomainNamespaceEditor.d.ts +0 -20
  999. package/build/src/elements/modeling/internals/DomainNamespaceEditor.d.ts.map +0 -1
  1000. package/build/src/elements/modeling/internals/DomainNamespaceEditor.js +0 -200
  1001. package/build/src/elements/modeling/internals/DomainNamespaceEditor.js.map +0 -1
  1002. package/build/src/elements/modeling/internals/DomainNavigation.d.ts +0 -33
  1003. package/build/src/elements/modeling/internals/DomainNavigation.d.ts.map +0 -1
  1004. package/build/src/elements/modeling/internals/DomainNavigation.js +0 -286
  1005. package/build/src/elements/modeling/internals/DomainNavigation.js.map +0 -1
  1006. package/build/src/elements/modeling/internals/DomainPropertyEditor.d.ts +0 -271
  1007. package/build/src/elements/modeling/internals/DomainPropertyEditor.d.ts.map +0 -1
  1008. package/build/src/elements/modeling/internals/DomainPropertyEditor.js +0 -1096
  1009. package/build/src/elements/modeling/internals/DomainPropertyEditor.js.map +0 -1
  1010. package/build/src/elements/modeling/internals/ModelingElement.d.ts +0 -26
  1011. package/build/src/elements/modeling/internals/ModelingElement.d.ts.map +0 -1
  1012. package/build/src/elements/modeling/internals/ModelingElement.js +0 -66
  1013. package/build/src/elements/modeling/internals/ModelingElement.js.map +0 -1
  1014. package/build/src/elements/modeling/internals/lib/UiMapping.d.ts +0 -37
  1015. package/build/src/elements/modeling/internals/lib/UiMapping.d.ts.map +0 -1
  1016. package/build/src/elements/modeling/internals/lib/UiMapping.js +0 -208
  1017. package/build/src/elements/modeling/internals/lib/UiMapping.js.map +0 -1
  1018. package/build/src/elements/modeling/internals/styles/DomainEntityEditor.styles.d.ts +0 -3
  1019. package/build/src/elements/modeling/internals/styles/DomainEntityEditor.styles.d.ts.map +0 -1
  1020. package/build/src/elements/modeling/internals/styles/DomainEntityEditor.styles.js +0 -83
  1021. package/build/src/elements/modeling/internals/styles/DomainEntityEditor.styles.js.map +0 -1
  1022. package/build/src/elements/modeling/internals/styles/DomainModelEditor.styles.d.ts +0 -3
  1023. package/build/src/elements/modeling/internals/styles/DomainModelEditor.styles.d.ts.map +0 -1
  1024. package/build/src/elements/modeling/internals/styles/DomainModelEditor.styles.js +0 -7
  1025. package/build/src/elements/modeling/internals/styles/DomainModelEditor.styles.js.map +0 -1
  1026. package/build/src/elements/modeling/internals/styles/DomainNamespaceEditor.styles.d.ts +0 -3
  1027. package/build/src/elements/modeling/internals/styles/DomainNamespaceEditor.styles.d.ts.map +0 -1
  1028. package/build/src/elements/modeling/internals/styles/DomainNamespaceEditor.styles.js +0 -7
  1029. package/build/src/elements/modeling/internals/styles/DomainNamespaceEditor.styles.js.map +0 -1
  1030. package/build/src/elements/modeling/internals/styles/DomainNavigation.styles.d.ts +0 -3
  1031. package/build/src/elements/modeling/internals/styles/DomainNavigation.styles.d.ts.map +0 -1
  1032. package/build/src/elements/modeling/internals/styles/DomainNavigation.styles.js +0 -27
  1033. package/build/src/elements/modeling/internals/styles/DomainNavigation.styles.js.map +0 -1
  1034. package/build/src/elements/modeling/internals/styles/DomainPropertyEditor.styles.d.ts +0 -3
  1035. package/build/src/elements/modeling/internals/styles/DomainPropertyEditor.styles.d.ts.map +0 -1
  1036. package/build/src/elements/modeling/internals/styles/DomainPropertyEditor.styles.js +0 -18
  1037. package/build/src/elements/modeling/internals/styles/DomainPropertyEditor.styles.js.map +0 -1
  1038. package/build/src/elements/modeling/internals/styles/form_styles.d.ts +0 -3
  1039. package/build/src/elements/modeling/internals/styles/form_styles.d.ts.map +0 -1
  1040. package/build/src/elements/modeling/internals/styles/form_styles.js +0 -63
  1041. package/build/src/elements/modeling/internals/styles/form_styles.js.map +0 -1
  1042. package/build/src/elements/modeling/internals/styles/learning.styles.d.ts +0 -3
  1043. package/build/src/elements/modeling/internals/styles/learning.styles.d.ts.map +0 -1
  1044. package/build/src/elements/modeling/internals/styles/learning.styles.js +0 -40
  1045. package/build/src/elements/modeling/internals/styles/learning.styles.js.map +0 -1
  1046. package/build/src/elements/modeling/types.d.ts +0 -32
  1047. package/build/src/elements/modeling/types.d.ts.map +0 -1
  1048. package/build/src/elements/modeling/types.js +0 -2
  1049. package/build/src/elements/modeling/types.js.map +0 -1
  1050. package/build/src/elements/schema-design/AssociationFormElement.d.ts +0 -34
  1051. package/build/src/elements/schema-design/AssociationFormElement.d.ts.map +0 -1
  1052. package/build/src/elements/schema-design/AssociationFormElement.js +0 -178
  1053. package/build/src/elements/schema-design/AssociationFormElement.js.map +0 -1
  1054. package/build/src/elements/schema-design/CommonStyles.d.ts +0 -3
  1055. package/build/src/elements/schema-design/CommonStyles.d.ts.map +0 -1
  1056. package/build/src/elements/schema-design/CommonStyles.js +0 -62
  1057. package/build/src/elements/schema-design/CommonStyles.js.map +0 -1
  1058. package/build/src/elements/schema-design/DataEntityEditorElement.d.ts +0 -69
  1059. package/build/src/elements/schema-design/DataEntityEditorElement.d.ts.map +0 -1
  1060. package/build/src/elements/schema-design/DataEntityEditorElement.js +0 -415
  1061. package/build/src/elements/schema-design/DataEntityEditorElement.js.map +0 -1
  1062. package/build/src/elements/schema-design/DataModelVisualizationElement.d.ts +0 -62
  1063. package/build/src/elements/schema-design/DataModelVisualizationElement.d.ts.map +0 -1
  1064. package/build/src/elements/schema-design/DataModelVisualizationElement.js +0 -417
  1065. package/build/src/elements/schema-design/DataModelVisualizationElement.js.map +0 -1
  1066. package/build/src/elements/schema-design/DataSchemaDocument.d.ts +0 -176
  1067. package/build/src/elements/schema-design/DataSchemaDocument.d.ts.map +0 -1
  1068. package/build/src/elements/schema-design/DataSchemaDocument.js +0 -949
  1069. package/build/src/elements/schema-design/DataSchemaDocument.js.map +0 -1
  1070. package/build/src/elements/schema-design/EntityFormElement.d.ts +0 -64
  1071. package/build/src/elements/schema-design/EntityFormElement.d.ts.map +0 -1
  1072. package/build/src/elements/schema-design/EntityFormElement.js +0 -331
  1073. package/build/src/elements/schema-design/EntityFormElement.js.map +0 -1
  1074. package/build/src/elements/schema-design/PropertyFormElement.d.ts +0 -96
  1075. package/build/src/elements/schema-design/PropertyFormElement.d.ts.map +0 -1
  1076. package/build/src/elements/schema-design/PropertyFormElement.js +0 -647
  1077. package/build/src/elements/schema-design/PropertyFormElement.js.map +0 -1
  1078. package/build/src/elements/schema-design/SchemaNamespaceSelector.d.ts +0 -27
  1079. package/build/src/elements/schema-design/SchemaNamespaceSelector.d.ts.map +0 -1
  1080. package/build/src/elements/schema-design/SchemaNamespaceSelector.js +0 -97
  1081. package/build/src/elements/schema-design/SchemaNamespaceSelector.js.map +0 -1
  1082. package/build/src/elements/schema-design/SchemaNamespaceSelector.styles.d.ts +0 -3
  1083. package/build/src/elements/schema-design/SchemaNamespaceSelector.styles.d.ts.map +0 -1
  1084. package/build/src/elements/schema-design/SchemaNamespaceSelector.styles.js +0 -28
  1085. package/build/src/elements/schema-design/SchemaNamespaceSelector.styles.js.map +0 -1
  1086. package/build/src/elements/schema-design/data-association-form.d.ts +0 -7
  1087. package/build/src/elements/schema-design/data-association-form.d.ts.map +0 -1
  1088. package/build/src/elements/schema-design/data-association-form.js +0 -3
  1089. package/build/src/elements/schema-design/data-association-form.js.map +0 -1
  1090. package/build/src/elements/schema-design/data-entity-editor.d.ts +0 -7
  1091. package/build/src/elements/schema-design/data-entity-editor.d.ts.map +0 -1
  1092. package/build/src/elements/schema-design/data-entity-editor.js +0 -3
  1093. package/build/src/elements/schema-design/data-entity-editor.js.map +0 -1
  1094. package/build/src/elements/schema-design/data-entity-form.d.ts +0 -7
  1095. package/build/src/elements/schema-design/data-entity-form.d.ts.map +0 -1
  1096. package/build/src/elements/schema-design/data-entity-form.js +0 -3
  1097. package/build/src/elements/schema-design/data-entity-form.js.map +0 -1
  1098. package/build/src/elements/schema-design/data-model-visualization.d.ts +0 -7
  1099. package/build/src/elements/schema-design/data-model-visualization.d.ts.map +0 -1
  1100. package/build/src/elements/schema-design/data-model-visualization.js +0 -3
  1101. package/build/src/elements/schema-design/data-model-visualization.js.map +0 -1
  1102. package/build/src/elements/schema-design/data-property-form.d.ts +0 -7
  1103. package/build/src/elements/schema-design/data-property-form.d.ts.map +0 -1
  1104. package/build/src/elements/schema-design/data-property-form.js +0 -3
  1105. package/build/src/elements/schema-design/data-property-form.js.map +0 -1
  1106. package/build/src/elements/schema-design/data-schema-document.d.ts +0 -7
  1107. package/build/src/elements/schema-design/data-schema-document.d.ts.map +0 -1
  1108. package/build/src/elements/schema-design/data-schema-document.js +0 -3
  1109. package/build/src/elements/schema-design/data-schema-document.js.map +0 -1
  1110. package/build/src/elements/schema-design/schemaCommon.d.ts +0 -3
  1111. package/build/src/elements/schema-design/schemaCommon.d.ts.map +0 -1
  1112. package/build/src/elements/schema-design/schemaCommon.js +0 -375
  1113. package/build/src/elements/schema-design/schemaCommon.js.map +0 -1
  1114. package/build/src/exceptions/FileLoadException.d.ts +0 -8
  1115. package/build/src/exceptions/FileLoadException.d.ts.map +0 -1
  1116. package/build/src/exceptions/FileLoadException.js +0 -8
  1117. package/build/src/exceptions/FileLoadException.js.map +0 -1
  1118. package/build/src/exceptions/MisconfigurationException.d.ts +0 -8
  1119. package/build/src/exceptions/MisconfigurationException.d.ts.map +0 -1
  1120. package/build/src/exceptions/MisconfigurationException.js +0 -8
  1121. package/build/src/exceptions/MisconfigurationException.js.map +0 -1
  1122. package/build/src/sdk/UiSdk.d.ts +0 -17
  1123. package/build/src/sdk/UiSdk.d.ts.map +0 -1
  1124. package/build/src/sdk/UiSdk.js +0 -41
  1125. package/build/src/sdk/UiSdk.js.map +0 -1
  1126. package/demo/apps/auth-callback.html +0 -37
  1127. package/demo/apps/main.html +0 -23
  1128. package/demo/apps/main.ts +0 -5
  1129. package/demo/apps/schema.html +0 -22
  1130. package/demo/apps/schema.ts +0 -5
  1131. package/src/apps/activities/ApiActivity.ts +0 -40
  1132. package/src/apps/activities/AppStartActivity.ts +0 -123
  1133. package/src/apps/activities/BrowseDataDomainActivity.ts +0 -1073
  1134. package/src/apps/activities/CreateFolderDialogActivity.ts +0 -128
  1135. package/src/apps/activities/DeleteDataDomainActivity.ts +0 -150
  1136. package/src/apps/activities/LoadingActivity.ts +0 -90
  1137. package/src/apps/activities/LoginActivity.ts +0 -193
  1138. package/src/apps/activities/OrganizationSelectionActivity.ts +0 -102
  1139. package/src/apps/activities/OrganizationSetupActivity.ts +0 -146
  1140. package/src/apps/activities/RenameFileDialogActivity.ts +0 -156
  1141. package/src/apps/activities/styles/BrowseDataDomain.styles.ts +0 -28
  1142. package/src/apps/activities/styles/DeleteDataDomain.styles.ts +0 -26
  1143. package/src/apps/activities/styles/login.ts +0 -66
  1144. package/src/apps/api_service.ts +0 -20
  1145. package/src/apps/fragments/loading.ts +0 -84
  1146. package/src/apps/quick-api/Intents.ts +0 -14
  1147. package/src/apps/quick-api/QuickApiApp.ts +0 -55
  1148. package/src/apps/quick-api/Schema.styles.ts +0 -95
  1149. package/src/apps/quick-api/SchemaEditorApp.ts +0 -60
  1150. package/src/apps/quick-api/SchemaScreenActivity.ts +0 -319
  1151. package/src/apps/quick-api/SchemaScreenViewModel.ts +0 -74
  1152. package/src/apps/quick-api/Start.styles.ts +0 -125
  1153. package/src/apps/quick-api/StartScreenActivity.ts +0 -102
  1154. package/src/apps/quick-api/filesystem/Files.styles.ts +0 -72
  1155. package/src/apps/quick-api/filesystem/FilesLib.ts +0 -43
  1156. package/src/apps/quick-api/fragments/FilesystemFragment.ts +0 -417
  1157. package/src/apps/quick-api/fragments/HeaderFragment.ts +0 -72
  1158. package/src/apps/quick-api/fragments/MainFragment.ts +0 -47
  1159. package/src/apps/quick-api/fragments/NavigationFragment.ts +0 -165
  1160. package/src/apps/quick-api/fragments/SchemaEditorEmptyState.fragment.ts +0 -11
  1161. package/src/apps/quick-api/fragments/SchemaEditorHost.styles.ts +0 -22
  1162. package/src/apps/quick-api/fragments/SchemaEditorHost.ts +0 -239
  1163. package/src/apps/quick-api/fragments/SchemaHeaderFragment.ts +0 -117
  1164. package/src/apps/quick-api/fragments/SchemaNavigation.styles.ts +0 -16
  1165. package/src/apps/quick-api/fragments/SchemaNavigationFragment.ts +0 -292
  1166. package/src/apps/quick-api/fragments/TrashFragment.ts +0 -174
  1167. package/src/apps/quick-api/lib/SchemaContextualMenu.ts +0 -63
  1168. package/src/apps/quick-api/lib/UiLib.ts +0 -17
  1169. package/src/apps/services/ConfigurationService.ts +0 -28
  1170. package/src/apps/services/LoggingService.ts +0 -48
  1171. package/src/apps/services/OrganizationService.ts +0 -138
  1172. package/src/apps/services/SdkService.ts +0 -45
  1173. package/src/apps/services/TransmitService.ts +0 -21
  1174. package/src/apps/services/UserService.ts +0 -69
  1175. package/src/apps/transmit_client.ts +0 -5
  1176. package/src/apps/types.ts +0 -10
  1177. package/src/boot.ts +0 -18
  1178. package/src/builders/DialogBuilder.ts +0 -248
  1179. package/src/core/container.ts +0 -15
  1180. package/src/data/BreadcrumbsModel.ts +0 -69
  1181. package/src/data/FileModel.ts +0 -58
  1182. package/src/data/FilesModel.ts +0 -186
  1183. package/src/data/PatchableFileModel.ts +0 -266
  1184. package/src/data/PatchableLiveDataContentModel.ts +0 -26
  1185. package/src/data/PatchableRawContentModel.ts +0 -42
  1186. package/src/data/TrashModel.ts +0 -114
  1187. package/src/elements/data-table/filesystem-table.ts +0 -16
  1188. package/src/elements/data-table/internals/Filesystem.styles.ts +0 -17
  1189. package/src/elements/data-table/internals/FilesystemDataTable.ts +0 -230
  1190. package/src/elements/data-table/internals/TrashDataTable.ts +0 -165
  1191. package/src/elements/data-table/trash-table.ts +0 -16
  1192. package/src/elements/modeling/domain-association-editor.ts +0 -15
  1193. package/src/elements/modeling/domain-entity-editor.ts +0 -17
  1194. package/src/elements/modeling/domain-model-editor.ts +0 -17
  1195. package/src/elements/modeling/domain-namespace-editor.ts +0 -17
  1196. package/src/elements/modeling/domain-navigation.ts +0 -15
  1197. package/src/elements/modeling/domain-property-editor.ts +0 -16
  1198. package/src/elements/modeling/internals/DomainAssociationEditor.ts +0 -550
  1199. package/src/elements/modeling/internals/DomainEntityEditor.ts +0 -813
  1200. package/src/elements/modeling/internals/DomainModelEditor.ts +0 -241
  1201. package/src/elements/modeling/internals/DomainNamespaceEditor.ts +0 -207
  1202. package/src/elements/modeling/internals/DomainNavigation.ts +0 -285
  1203. package/src/elements/modeling/internals/DomainPropertyEditor.ts +0 -1112
  1204. package/src/elements/modeling/internals/ModelingElement.ts +0 -48
  1205. package/src/elements/modeling/internals/lib/UiMapping.ts +0 -218
  1206. package/src/elements/modeling/internals/styles/DomainEntityEditor.styles.ts +0 -83
  1207. package/src/elements/modeling/internals/styles/DomainModelEditor.styles.ts +0 -7
  1208. package/src/elements/modeling/internals/styles/DomainNamespaceEditor.styles.ts +0 -7
  1209. package/src/elements/modeling/internals/styles/DomainNavigation.styles.ts +0 -27
  1210. package/src/elements/modeling/internals/styles/DomainPropertyEditor.styles.ts +0 -18
  1211. package/src/elements/modeling/internals/styles/form_styles.ts +0 -63
  1212. package/src/elements/modeling/internals/styles/learning.styles.ts +0 -40
  1213. package/src/elements/modeling/types.ts +0 -33
  1214. package/src/elements/schema-design/AssociationFormElement.ts +0 -155
  1215. package/src/elements/schema-design/CommonStyles.ts +0 -62
  1216. package/src/elements/schema-design/DataEntityEditorElement.ts +0 -376
  1217. package/src/elements/schema-design/DataModelVisualizationElement.ts +0 -417
  1218. package/src/elements/schema-design/DataSchemaDocument.ts +0 -959
  1219. package/src/elements/schema-design/EntityFormElement.ts +0 -315
  1220. package/src/elements/schema-design/PropertyFormElement.ts +0 -672
  1221. package/src/elements/schema-design/SchemaNamespaceSelector.styles.ts +0 -28
  1222. package/src/elements/schema-design/SchemaNamespaceSelector.ts +0 -78
  1223. package/src/elements/schema-design/data-association-form.ts +0 -9
  1224. package/src/elements/schema-design/data-entity-editor.ts +0 -9
  1225. package/src/elements/schema-design/data-entity-form.ts +0 -9
  1226. package/src/elements/schema-design/data-model-visualization.ts +0 -9
  1227. package/src/elements/schema-design/data-property-form.ts +0 -9
  1228. package/src/elements/schema-design/data-schema-document.ts +0 -9
  1229. package/src/elements/schema-design/schemaCommon.ts +0 -375
  1230. package/src/exceptions/FileLoadException.ts +0 -8
  1231. package/src/exceptions/MisconfigurationException.ts +0 -8
  1232. package/src/sdk/UiSdk.ts +0 -47
  1233. package/test/elements/modeling/domain-entity-editor.spec.ts +0 -1377
  1234. package/test/elements/modeling/domain-property-editor.spec.ts +0 -1551
  1235. /package/build/src/elements/data-table/{internals/DataTable.styles.d.ts → DataTable.styles.d.ts} +0 -0
  1236. /package/build/src/elements/data-table/{internals/DataTable.styles.js → DataTable.styles.js} +0 -0
  1237. /package/build/src/{core/reactive → reactive}/reactive.d.ts +0 -0
  1238. /package/build/src/{core/reactive → reactive}/reactive.js +0 -0
  1239. /package/src/elements/data-table/{internals/DataTable.styles.ts → DataTable.styles.ts} +0 -0
  1240. /package/src/{core/reactive → reactive}/reactive.ts +0 -0
  1241. /package/{web-dev-server.config.js → wds-demo.config.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Activity.js","sourceRoot":"","sources":["../../../src/core/Activity.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { nothing, TemplateResult } from 'lit'\nimport { ActivityState, IntentResult, type Intent } from './ActivityManager.js'\nimport { FragmentManager } from './FragmentManager.js'\nimport type { Fragment } from './Fragment.js'\nimport type { Application, UpdateRequest } from './Application.js'\n\n/**\n * `Activity` is a crucial component of your app. An application sends an intent\n * to bring the activity. If it's found, the activity gets to the foreground and start its activity.\n *\n * **Lifecycle**\n *\n * - `onCreated()` - fires when the system first creates the activity.\n * - `onStart()` - the activity becomes visible to the user as the app prepares for\n * the activity to enter the foreground and become interactive.\n * - `onResume()` - the state in which the app interacts with the user.\n * - `onPause()` - the first indication that the user is leaving your activity.\n * - `onStop()` - your activity is no longer visible to the user.\n * - `onDestroy()`- is called before the activity is destroyed\n */\nexport class Activity extends EventTarget {\n /**\n * To be set by an activity to replace the default render root.\n * This is particularly useful when the activity is a modal dialog\n * and the content should be rendered outside the application's render root.\n */\n renderRoot?: HTMLElement\n /**\n * An activity can define its action name that does not change.\n * It then should be used as the activity registration key.\n * This way other activities/fragments can use it to call the activity.\n */\n static action?: string\n\n public state: ActivityState = ActivityState.Initialized\n protected parent: Application\n /**\n * The fragment manager that manages fragments in this activity.\n */\n protected manager: FragmentManager\n protected resultData?: unknown\n\n protected exitCode = IntentResult.RESULT_CANCELED\n\n get resultCode(): IntentResult {\n return this.exitCode\n }\n\n /**\n * When starting an new activity for result, we add the request code here\n * so that the manager can track which activity originally called the\n * activity forresult.\n */\n protected pendingRequestCodes: number[] = []\n\n constructor(parent: Application) {\n super()\n this.parent = parent\n this.manager = new FragmentManager(this)\n }\n\n /**\n * Called when the activity is starting. This is where most initialization should go.\n * You can call `finish()` from within this function, in which case `onDestroy()` will be\n * immediately called after `onCreate()` without any of the rest of the activity lifecycle\n * (`onStart()`, `onResume()`, `onPause()`, etc) executing.\n *\n * In the `onCreate()` method, perform basic activity startup logic that happens only once\n * for the entire life of the activity.\n * @param intent Optional intent data.\n */\n onCreate(intent?: Intent): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('activity:create', { detail: intent }))\n }\n\n /**\n * Called when the activity becomes visible.\n * As `onCreate()` exits, the activity enters the `Started` state, and the activity becomes visible\n * to the user. This callback contains what amounts to the activity’s final preparations for coming\n * to the foreground and becoming interactive.\n *\n * Called after `onCreate()`. It will usually be followed by onResume().\n * This is a good place to begin running animations, etc.\n * You can call `finish()` from within this function, in which case `onStop()` will be\n * immediately called after `onStart()` without the lifecycle transitions\n * in-between (`onResume()`, `onPause()`, etc) executing.\n */\n onStart(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('activity:start', { detail: null }))\n }\n\n /**\n * Called when the activity gains focus.\n * Called after the `onPause()`. This is usually a hint for your activity to start interacting\n * with the user, which is a good indicator that the activity became active and ready to receive input.\n * This sometimes could also be a transit state toward another resting state.\n * For instance, an activity may be relaunched to `onPause()` due to configuration changes and\n * the activity was visible, but wasn't the top-most activity of an activity task.\n * The `render()` function is always called after this callback.\n */\n onResume(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('activity:resume', { detail: null }))\n }\n\n /**\n * Called when the activity loses focus.\n * Called as part of the activity lifecycle when the user no longer actively interacts with the activity,\n * but it is still visible on screen. The counterpart to `onResume()`.\n *\n * When activity B is launched in front of activity A, this callback will be invoked on A.\n * B will not be created until A's `onPause()` returns, so be sure to not do anything lengthy here.\n *\n * This callback is mostly used for saving any persistent state the activity is editing,\n * to present a \"edit in place\" model to the user and making sure nothing is lost if there are\n * not enough resources to start the new activity without first killing this one.\n * This is also a good place to stop things that consume a noticeable amount of CPU in order\n * to make the switch to the next activity as fast as possible.\n */\n onPause(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('activity:pause', { detail: null }))\n }\n\n /**\n * Called when you are no longer visible to the user.\n * You will next receive either onRestart(), onDestroy(), or nothing, depending on later user activity.\n * This is a good place to stop refreshing UI, running animations and other visual things.\n */\n onStop(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('activity:stop', { detail: null }))\n }\n\n onRestart(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('activity:restart', { detail: null }))\n }\n\n /**\n * Perform any final cleanup before an activity is destroyed.\n * This can happen because the activity is finishing (someone called finish() on it).\n */\n onDestroy(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('activity:destroy', { detail: null }))\n }\n\n /**\n * Called when a new intent is delivered\n * @param intent New intent data.\n */\n onNewIntent(intent: Intent): void | Promise<void> {\n //\n }\n\n /**\n * Called by the renderer when the activity is rendered for the first time.\n */\n onFirstRender(): void {\n //\n }\n\n /**\n * A function called when it should render the view.\n */\n render(): TemplateResult | typeof nothing {\n return nothing\n }\n\n /**\n * Finishes the activity.\n */\n async finish(): Promise<void> {\n await this.getApplication().manager.finishActivity(this)\n }\n\n /**\n * When the activity changes its state it should call the\n * `requestUpdate()` method to inform the parent application to\n * perform the render operation.\n * The function dispatches the `activity:update` custom event\n * that is handled by the parent application.\n *\n * Note, the application may choose to not call the render procedure\n * (for example, when the activity is not visible). The rendering\n * function is asynchronous. The only way to know the activity is being rendered,\n * is when the `render()` method if called.\n */\n requestUpdate(opts: UpdateRequest = {}): void {\n const { activity = true } = opts\n if (activity) {\n this.manager.updateActiveFragments()\n }\n this.parent.requestUpdate(opts)\n }\n\n /**\n * Registers a new fragment.\n * @param key The name of the fragment\n * @param fragment The fragment to register.\n */\n addFragment(key: string, fragment: Fragment, data?: unknown): void {\n this.manager.attachFragment(key, fragment, this, data)\n }\n\n showFragment(key: string, root?: HTMLElement): void {\n this.manager.showFragment(key, root)\n }\n\n /**\n * Unifies Fragment and Activity interfaces.\n * @returns `this`\n */\n getApplication(): Application {\n return this.parent\n }\n\n /**\n * A shortcut to the `manager` function.\n * @param intent The intent to start\n */\n startActivity(intent: Intent): Promise<void> {\n return this.parent.manager.startActivity(intent)\n }\n\n /**\n * Starts a new activity for a result.\n * @param intent The intent that created this activity.\n * @returns The request code created with this call.\n */\n async startActivityForResult(intent: Intent): Promise<number> {\n const { manager } = this.getApplication()\n const code = manager.createRequestCode()\n this.pendingRequestCodes.push(code)\n await manager.startActivityForResult(intent, code)\n return code\n }\n\n /**\n * Call this method to return data to the activity that started this activity.\n * @param data The data to return.\n */\n setResult(resultCode: IntentResult, data?: unknown): void {\n this.exitCode = resultCode\n this.resultData = data\n }\n\n /**\n * Called when an activity you launched exits, giving you the `requestCode` you started it with,\n * the `resultCode` it returned, and any additional data from it. The `resultCode` will be `RESULT_CANCELED`\n * if the activity explicitly returned that, didn't return any result, or crashed during its operation.\n *\n * An activity can never receive a result in the resumed state. You can count on `onResume()` being called\n * after this method, though not necessarily immediately after. If the activity was resumed,\n * it will be paused and the result will be delivered, followed by `onResume()`.\n *\n * @param requestCode The request code passed to startActivityForResult.\n * @param data The result from the activity.\n * @param intent The intent that was used to start the activity.\n */\n async onActivityResult(requestCode: number, resultCode: IntentResult, intent: Intent): Promise<void> {\n const index = this.pendingRequestCodes.indexOf(requestCode)\n if (index !== -1) {\n this.pendingRequestCodes.splice(index, 1)\n }\n // First we check whether any of the fragments has the code.\n const fragment = this.manager.findByRequestCode(requestCode)\n if (fragment) {\n return fragment.onActivityResult(requestCode, resultCode, intent)\n }\n if (this.constructor === Activity) {\n // eslint-disable-next-line no-console\n console.info(\n `Activity#onActivityResult not implemented. Request code: ${requestCode}, result code: ${resultCode}`,\n intent\n )\n }\n }\n\n getActivity(): Activity {\n return this\n }\n\n /**\n * Checks whether this activity initiated the activity for result.\n * @param code The request code to look for.\n * @returns `true` if the activity has the request code.\n */\n hasRequestCode(code: number): boolean {\n return this.pendingRequestCodes.includes(code)\n }\n\n getResult(): unknown | undefined {\n return this.resultData\n }\n}\n"]}
1
+ {"version":3,"file":"Activity.js","sourceRoot":"","sources":["../../../src/core/Activity.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { nothing, TemplateResult } from 'lit'\nimport { ActivityState, IntentResult, type Intent } from './ActivityManager.js'\nimport { FragmentManager } from './FragmentManager.js'\nimport type { Fragment } from './Fragment.js'\nimport type { Application, UpdateRequest } from './Application.js'\nimport { bound } from '../decorators/bound.js'\nimport type { ActivityDetail, ActivityWithResultDetail } from '../events/IntentEvents.js'\nimport { EventTypes } from '../events/EventTypes.js'\n\n/**\n * `Activity` is a crucial component of your app. An application sends an intent\n * to bring the activity. If it's found, the activity gets to the foreground and start its activity.\n *\n * **Lifecycle**\n *\n * - `onCreated()` - fires when the system first creates the activity.\n * - `onStart()` - the activity becomes visible to the user as the app prepares for\n * the activity to enter the foreground and become interactive.\n * - `onResume()` - the state in which the app interacts with the user.\n * - `onPause()` - the first indication that the user is leaving your activity.\n * - `onStop()` - your activity is no longer visible to the user.\n * - `onDestroy()`- is called before the activity is destroyed\n */\nexport class Activity extends EventTarget {\n /**\n * To be set by an activity to replace the default render root.\n * This is particularly useful when the activity is a modal dialog\n * and the content should be rendered outside the application's render root.\n */\n renderRoot?: HTMLElement\n /**\n * An activity can define its action name that does not change.\n * It then should be used as the activity registration key.\n * This way other activities/fragments can use it to call the activity.\n */\n static action?: string\n\n public state: ActivityState = ActivityState.Initialized\n protected parent: Application\n /**\n * The fragment manager that manages fragments in this activity.\n */\n protected manager: FragmentManager\n protected resultData?: unknown\n\n protected exitCode = IntentResult.RESULT_CANCELED\n\n get resultCode(): IntentResult {\n return this.exitCode\n }\n\n /**\n * When starting an new activity for result, we add the request code here\n * so that the manager can track which activity originally called the\n * activity for result.\n */\n protected pendingRequestCodes: number[] = []\n\n constructor(parent: Application) {\n super()\n this.parent = parent\n this.manager = new FragmentManager(this)\n }\n\n /**\n * Called when the activity is starting. This is where most initialization should go.\n * You can call `finish()` from within this function, in which case `onDestroy()` will be\n * immediately called after `onCreate()` without any of the rest of the activity lifecycle\n * (`onStart()`, `onResume()`, `onPause()`, etc) executing.\n *\n * In the `onCreate()` method, perform basic activity startup logic that happens only once\n * for the entire life of the activity.\n * @param intent Optional intent data.\n */\n onCreate(intent?: Intent): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('activity:create', { detail: intent }))\n }\n\n /**\n * Called when the activity becomes visible.\n * As `onCreate()` exits, the activity enters the `Started` state, and the activity becomes visible\n * to the user. This callback contains what amounts to the activity’s final preparations for coming\n * to the foreground and becoming interactive.\n *\n * Called after `onCreate()`. It will usually be followed by onResume().\n * This is a good place to begin running animations, etc.\n * You can call `finish()` from within this function, in which case `onStop()` will be\n * immediately called after `onStart()` without the lifecycle transitions\n * in-between (`onResume()`, `onPause()`, etc) executing.\n */\n onStart(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('activity:start', { detail: null }))\n }\n\n /**\n * Called when the activity gains focus.\n * Called after the `onPause()`. This is usually a hint for your activity to start interacting\n * with the user, which is a good indicator that the activity became active and ready to receive input.\n * This sometimes could also be a transit state toward another resting state.\n * For instance, an activity may be relaunched to `onPause()` due to configuration changes and\n * the activity was visible, but wasn't the top-most activity of an activity task.\n * The `render()` function is always called after this callback.\n */\n onResume(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('activity:resume', { detail: null }))\n }\n\n /**\n * Called when the activity loses focus.\n * Called as part of the activity lifecycle when the user no longer actively interacts with the activity,\n * but it is still visible on screen. The counterpart to `onResume()`.\n *\n * When activity B is launched in front of activity A, this callback will be invoked on A.\n * B will not be created until A's `onPause()` returns, so be sure to not do anything lengthy here.\n *\n * This callback is mostly used for saving any persistent state the activity is editing,\n * to present a \"edit in place\" model to the user and making sure nothing is lost if there are\n * not enough resources to start the new activity without first killing this one.\n * This is also a good place to stop things that consume a noticeable amount of CPU in order\n * to make the switch to the next activity as fast as possible.\n */\n onPause(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('activity:pause', { detail: null }))\n }\n\n /**\n * Called when you are no longer visible to the user.\n * You will next receive either onRestart(), onDestroy(), or nothing, depending on later user activity.\n * This is a good place to stop refreshing UI, running animations and other visual things.\n */\n onStop(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('activity:stop', { detail: null }))\n }\n\n onRestart(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('activity:restart', { detail: null }))\n }\n\n /**\n * Perform any final cleanup before an activity is destroyed.\n * This can happen because the activity is finishing (someone called finish() on it).\n */\n onDestroy(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('activity:destroy', { detail: null }))\n }\n\n /**\n * Called when a new intent is delivered\n * @param intent New intent data.\n */\n onNewIntent(intent: Intent): void | Promise<void> {\n //\n }\n\n /**\n * Called by the renderer when the activity is rendered for the first time.\n */\n onFirstRender(): void {\n //\n }\n\n /**\n * A function called when it should render the view.\n */\n render(): TemplateResult | typeof nothing {\n return nothing\n }\n\n /**\n * Finishes the activity.\n */\n async finish(): Promise<void> {\n await this.getApplication().manager.finishActivity(this)\n }\n\n /**\n * When the activity changes its state it should call the\n * `requestUpdate()` method to inform the parent application to\n * perform the render operation.\n * The function dispatches the `activity:update` custom event\n * that is handled by the parent application.\n *\n * Note, the application may choose to not call the render procedure\n * (for example, when the activity is not visible). The rendering\n * function is asynchronous. The only way to know the activity is being rendered,\n * is when the `render()` method if called.\n */\n requestUpdate(opts: UpdateRequest = {}): void {\n const { activity = true } = opts\n if (activity) {\n this.manager.updateActiveFragments()\n }\n this.parent.requestUpdate(opts)\n }\n\n /**\n * Registers a new fragment.\n * @param key The name of the fragment\n * @param fragment The fragment to register.\n */\n addFragment(key: string, fragment: Fragment, data?: unknown): void {\n this.manager.attachFragment(key, fragment, this, data)\n }\n\n showFragment(key: string, root?: HTMLElement): void {\n this.manager.showFragment(key, root)\n }\n\n hideFragment(key: string): void {\n const fragment = this.manager.findFragment(key)\n if (fragment) {\n this.manager.hideFragment(fragment)\n }\n }\n\n /**\n * Unifies Fragment and Activity interfaces.\n * @returns `this`\n */\n getApplication(): Application {\n return this.parent\n }\n\n /**\n * A shortcut to the `manager` function.\n * @param intent The intent to start\n */\n startActivity(intent: Intent): Promise<void> {\n return this.parent.manager.startActivity(intent)\n }\n\n /**\n * Starts a new activity for a result.\n * @param intent The intent that created this activity.\n * @returns The request code created with this call.\n */\n async startActivityForResult(intent: Intent): Promise<number> {\n const { manager } = this.getApplication()\n const code = manager.createRequestCode()\n this.pendingRequestCodes.push(code)\n await manager.startActivityForResult(intent, code)\n return code\n }\n\n /**\n * Call this method to return data to the activity that started this activity.\n * @param data The data to return.\n */\n setResult(resultCode: IntentResult, data?: unknown): void {\n this.exitCode = resultCode\n this.resultData = data\n }\n\n /**\n * Called when an activity you launched exits, giving you the `requestCode` you started it with,\n * the `resultCode` it returned, and any additional data from it. The `resultCode` will be `RESULT_CANCELED`\n * if the activity explicitly returned that, didn't return any result, or crashed during its operation.\n *\n * An activity can never receive a result in the resumed state. You can count on `onResume()` being called\n * after this method, though not necessarily immediately after. If the activity was resumed,\n * it will be paused and the result will be delivered, followed by `onResume()`.\n *\n * @param requestCode The request code passed to startActivityForResult.\n * @param data The result from the activity.\n * @param intent The intent that was used to start the activity.\n */\n async onActivityResult(requestCode: number, resultCode: IntentResult, intent: Intent): Promise<void> {\n const index = this.pendingRequestCodes.indexOf(requestCode)\n if (index !== -1) {\n this.pendingRequestCodes.splice(index, 1)\n }\n // First we check whether any of the fragments has the code.\n const fragment = this.manager.findByRequestCode(requestCode)\n if (fragment) {\n return fragment.onActivityResult(requestCode, resultCode, intent)\n }\n if (this.constructor === Activity) {\n // eslint-disable-next-line no-console\n console.info(\n `Activity#onActivityResult not implemented. Request code: ${requestCode}, result code: ${resultCode}`,\n intent\n )\n }\n }\n\n getActivity(): Activity {\n return this\n }\n\n /**\n * Checks whether this activity initiated the activity for result.\n * @param code The request code to look for.\n * @returns `true` if the activity has the request code.\n */\n hasRequestCode(code: number): boolean {\n return this.pendingRequestCodes.includes(code)\n }\n\n getResult(): unknown | undefined {\n return this.resultData\n }\n\n /**\n * A handler for the intent event dispatched by web components hosted by this activity.\n *\n * **Usage example:**\n *\n * ```ts\n * <custom-element @startactivity=\"${this.handleIntentEvent}\"></custom-element>\n * <custom-element @startactivityforresult=\"${this.handleIntentEvent}\"></custom-element>\n * ```\n *\n * @param event The event that was dispatched.\n * @returns A promise that resolves when the intent is handled.\n * @throws An error if the activity has no activity.\n * @throws An error if the event type is not recognized.\n */\n @bound\n async handleIntentEvent(event: CustomEvent<ActivityDetail | ActivityWithResultDetail>): Promise<void> {\n if (event.type === EventTypes.Intent.startActivityForResult) {\n const info = event.detail as ActivityWithResultDetail\n await this.startActivityForResult(info.intent)\n } else if (event.type === EventTypes.Intent.startActivity) {\n this.startActivity(event.detail.intent)\n } else {\n throw new Error(`Unrecognized intent event: ${event.type}`)\n }\n }\n}\n"]}
@@ -17,7 +17,14 @@ export declare enum IntentFlags {
17
17
  /**
18
18
  * The activity is started for result.
19
19
  */
20
- ForResult = 2
20
+ ForResult = 2,
21
+ /**
22
+ * When set, the intent data is passed by reference.
23
+ * By default the activity manager makes a copy of the intent data.
24
+ * This is useful when the data is large and you want to avoid copying it
25
+ * or when you want to share the same data between activities.
26
+ */
27
+ ByReference = 4
21
28
  }
22
29
  export interface Intent {
23
30
  action: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ActivityManager.d.ts","sourceRoot":"","sources":["../../../src/core/ActivityManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAGnD,oBAAY,aAAa;IACvB,WAAW,IAAA;IACX,OAAO,IAAA;IACP,OAAO,IAAA;IACP,OAAO,IAAA;IACP,MAAM,IAAA;IACN,OAAO,IAAA;IACP,SAAS,IAAA;CACV;AAED,oBAAY,WAAW;IACrB;;OAEG;IAEH,KAAK,IAAS;IACd;;OAEG;IAEH,SAAS,IAAS;CACnB;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,oBAAY,YAAY;IACtB,eAAe,IAAA;IACf,SAAS,IAAA;CACV;AA0BD;;;;;;;;;GASG;AACH,qBAAa,eAAe;;IAC1B,OAAO,CAAC,eAAe,CAAC,CAAU;IAElC;;OAEG;IACH,OAAO,CAAC,eAAe,CAAqC;IAE5D;;;OAGG;IACH,OAAO,CAAC,aAAa,CAA2B;IAEhD;;;OAGG;IACH,OAAO,CAAC,kBAAkB,CAA2B;IAErD,OAAO,CAAC,kBAAkB;gBAMd,MAAM,EAAE,WAAW;IAK/B,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,QAAQ,GAAG,IAAI;IAiBtE;;;;;;;;;OASG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAShC;;;;OAIG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDlD,OAAO,CAAC,aAAa;IAgBrB;;;;;OAKG;IACG,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYhF,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAIxC;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAgCzC,oBAAoB;YAoBpB,wBAAwB;IAYtC,cAAc,IAAI,QAAQ,GAAG,SAAS;IAStC,kBAAkB,IAAI,QAAQ,GAAG,SAAS;IAI1C;;;;;;OAMG;YACW,qBAAqB;IAqDnC;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAQnC,iBAAiB,IAAI,MAAM;IAM3B,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;CAGzD"}
1
+ {"version":3,"file":"ActivityManager.d.ts","sourceRoot":"","sources":["../../../src/core/ActivityManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAGnD,oBAAY,aAAa;IACvB,WAAW,IAAA;IACX,OAAO,IAAA;IACP,OAAO,IAAA;IACP,OAAO,IAAA;IACP,MAAM,IAAA;IACN,OAAO,IAAA;IACP,SAAS,IAAA;CACV;AAED,oBAAY,WAAW;IACrB;;OAEG;IAEH,KAAK,IAAS;IACd;;OAEG;IAEH,SAAS,IAAS;IAClB;;;;;OAKG;IAEH,WAAW,IAAS;CACrB;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,oBAAY,YAAY;IACtB,eAAe,IAAA;IACf,SAAS,IAAA;CACV;AA0BD;;;;;;;;;GASG;AACH,qBAAa,eAAe;;IAC1B,OAAO,CAAC,eAAe,CAAC,CAAU;IAElC;;OAEG;IACH,OAAO,CAAC,eAAe,CAAqC;IAE5D;;;OAGG;IACH,OAAO,CAAC,aAAa,CAA2B;IAEhD;;;OAGG;IACH,OAAO,CAAC,kBAAkB,CAA2B;IAErD,OAAO,CAAC,kBAAkB;gBAMd,MAAM,EAAE,WAAW;IAK/B,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,QAAQ,GAAG,IAAI;IAiBtE;;;;;;;;;OASG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAShC;;;;OAIG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDlD,OAAO,CAAC,aAAa;IAgBrB;;;;;OAKG;IACG,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBhF,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAIxC;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAgCzC,oBAAoB;YAoBpB,wBAAwB;IAYtC,cAAc,IAAI,QAAQ,GAAG,SAAS;IAStC,kBAAkB,IAAI,QAAQ,GAAG,SAAS;IAI1C;;;;;;OAMG;YACW,qBAAqB;IAyDnC;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAQnC,iBAAiB,IAAI,MAAM;IAM3B,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;CAGzD"}
@@ -21,6 +21,14 @@ export var IntentFlags;
21
21
  */
22
22
  // eslint-disable-next-line @typescript-eslint/prefer-literal-enum-member
23
23
  IntentFlags[IntentFlags["ForResult"] = 2] = "ForResult";
24
+ /**
25
+ * When set, the intent data is passed by reference.
26
+ * By default the activity manager makes a copy of the intent data.
27
+ * This is useful when the data is large and you want to avoid copying it
28
+ * or when you want to share the same data between activities.
29
+ */
30
+ // eslint-disable-next-line @typescript-eslint/prefer-literal-enum-member
31
+ IntentFlags[IntentFlags["ByReference"] = 4] = "ByReference";
24
32
  })(IntentFlags || (IntentFlags = {}));
25
33
  export var IntentResult;
26
34
  (function (IntentResult) {
@@ -119,7 +127,10 @@ export class ActivityManager {
119
127
  intent,
120
128
  });
121
129
  await info.activity.onNewIntent(intent);
130
+ // TODO: Check if the activity is destroyed.
122
131
  this.setupRoute(intent);
132
+ // this.currentActivity = info.activity
133
+ await this.updateCurrentActivity(info.activity, false);
123
134
  return;
124
135
  }
125
136
  const activity = this.buildActivity(intent);
@@ -173,7 +184,15 @@ export class ActivityManager {
173
184
  */
174
185
  async startActivityForResult(intent, requestCode) {
175
186
  intent.requestCode = requestCode;
187
+ const byReference = (intent.flags ?? 0) & IntentFlags.ByReference;
188
+ const data = intent.data;
189
+ if (byReference) {
190
+ delete intent.data;
191
+ }
176
192
  const intentCopy = structuredClone(intent);
193
+ if (data && !byReference) {
194
+ intentCopy.data = data;
195
+ }
177
196
  intent.requestCode = requestCode;
178
197
  if (intent.flags) {
179
198
  intent.flags = intent.flags & IntentFlags.ForResult;
@@ -269,7 +288,9 @@ export class ActivityManager {
269
288
  * @param activity The activity to bring to the foreground.
270
289
  */
271
290
  async updateCurrentActivity(activity, isModal) {
272
- if (this.currentActivity && this.currentActivity.state !== ActivityState.Destroyed) {
291
+ if (this.currentActivity &&
292
+ this.currentActivity !== activity &&
293
+ this.currentActivity.state !== ActivityState.Destroyed) {
273
294
  await this.currentActivity.onPause();
274
295
  this.currentActivity.state = ActivityState.Paused;
275
296
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ActivityManager.js","sourceRoot":"","sources":["../../../src/core/ActivityManager.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Activity } from './Activity.js'\nimport type { Application } from './Application.js'\nimport { navigateScreen } from './ApplicationRoute.js'\n\nexport enum ActivityState {\n Initialized,\n Created,\n Started,\n Resumed,\n Paused,\n Stopped,\n Destroyed,\n}\n\nexport enum IntentFlags {\n /**\n * Marks that the activity should be rendered as a modal.\n */\n // eslint-disable-next-line @typescript-eslint/prefer-literal-enum-member\n Modal = 1 << 0,\n /**\n * The activity is started for result.\n */\n // eslint-disable-next-line @typescript-eslint/prefer-literal-enum-member\n ForResult = 1 << 1,\n}\n\nexport interface Intent {\n action: string\n data?: unknown\n category?: string[]\n flags?: number\n /**\n * The request code used to distinguish between different activities.\n */\n requestCode?: number\n}\n\nexport enum IntentResult {\n RESULT_CANCELED,\n RESULT_OK,\n}\n\n/**\n * Defines the information stored for each activity on the stack:\n * the Activity instance, a unique id, and optionally the Intent that started the activity\n * (useful for restoring state).\n */\ninterface ActivityStackEntry {\n /**\n * The instance of the activity.\n */\n activity: Activity\n /**\n * Activity's unique ID.\n */\n id: string\n /**\n * The intent that started the activity.\n */\n intent: Intent\n /**\n * The action name the activity is registered for.\n */\n action: string\n}\n\n/**\n * Manages application activities.\n *\n * An activity is a screen or a portion of a rendered screen that has its own\n * lifecycle methods and routing.\n *\n * An activity is registered by its class definition. Because of that, activities\n * cannot have constructors that require own parameters. Activities have to be\n * self contained or use the event system to request data.\n */\nexport class ActivityManager {\n private currentActivity?: Activity\n\n /**\n * Stores activity *classes* by unique ID (action name).\n */\n private activityClasses = new Map<string, typeof Activity>()\n\n /**\n * Represents the activity stack. It is used to manage\n * the UI state after calling the back action.\n */\n private activityStack: ActivityStackEntry[] = []\n\n /**\n * A stack of activities that are rendered over other activities\n * in a dialog.\n */\n private modalActivityStack: ActivityStackEntry[] = []\n\n private generateActivityId(): string {\n return Math.random().toString(36).substring(2, 15)\n }\n\n #parent: Application\n\n constructor(parent: Application) {\n this.#parent = parent\n // this.reflectEvent = this.reflectEvent.bind(this)\n }\n\n registerActivity(action: string, activityClass: typeof Activity): void {\n if (this.activityClasses.has(action)) {\n // eslint-disable-next-line no-console\n console.warn(`Activity with action \"${action}\" already registered.`, new Error().stack)\n }\n this.activityClasses.set(action, activityClass)\n }\n\n // protected reflectEvent<T extends Event>(event: T): T {\n // const copy = Reflect.construct(event.constructor, [event.type, event])\n // const dispatched = this.#parent.events.dispatchEvent(copy)\n // if (!dispatched) {\n // event.preventDefault()\n // }\n // return copy\n // }\n\n /**\n * Creates an activity and pushes it into the stack, but it does not initialize any of the lifecycle methods.\n * It is a way to put an activity at some place of the stack,\n * but it will be only initialized when other activities finis.\n *\n * Note, if you add an uninitialized activity and you won't add more activities then this activity may never run.\n * Make sure that there's always another activity.\n *\n * @param intent The intent that created this activity.\n */\n async createActivity(intent: Intent): Promise<void> {\n const activity = this.buildActivity(intent)\n const activityId = this.generateActivityId()\n const stackEntry: ActivityStackEntry = { activity, id: activityId, intent, action: intent.action }\n this.activityStack.push(stackEntry)\n }\n\n setupRoute(intent: Intent): void {\n if (intent.data) {\n const typed = intent.data as { uri?: string }\n if (typed.uri) {\n navigateScreen(typed.uri)\n }\n }\n }\n\n /**\n * Starts a new activity and brings it to the foreground.\n *\n * @param intent The intent that created this activity.\n */\n async startActivity(intent: Intent): Promise<void> {\n const { currentActivity, activityStack } = this\n const lastIndex = activityStack.findLastIndex((entry) => entry.action === intent.action)\n // if the activity is in the history list, we bring it up and update intent.\n if (lastIndex > -1) {\n const info = activityStack[lastIndex]\n activityStack.splice(lastIndex, 1)\n activityStack.push({\n id: info.id,\n activity: info.activity,\n action: info.action,\n intent,\n })\n await info.activity.onNewIntent(intent)\n this.setupRoute(intent)\n return\n }\n const activity = this.buildActivity(intent)\n if (currentActivity) {\n await currentActivity.onPause()\n currentActivity.state = ActivityState.Paused\n }\n\n const activityId = this.generateActivityId()\n const stackEntry: ActivityStackEntry = { activity, id: activityId, intent, action: intent.action }\n // Modal activities are pretty much the same as regular activities but are rendered on top\n // of other activities. We keep track of them on another stack as all modal activities must\n // finish before returning to the regular stack.\n const isModal = (intent.flags ?? 0) & IntentFlags.Modal\n if (isModal) {\n this.modalActivityStack.push(stackEntry)\n } else {\n this.activityStack.push(stackEntry)\n }\n await activity.onCreate(intent)\n if (this.isDestroyed(activity)) {\n // the activity finished and the manager already took care of this situation.\n return\n }\n activity.state = ActivityState.Created\n\n await this.updateCurrentActivity(activity, !!isModal)\n if (this.isDestroyed(activity)) {\n // the activity finished and the manager already took care of this situation.\n return\n }\n this.setupRoute(intent)\n }\n\n private buildActivity(intent: Intent): Activity {\n const action = intent.action\n if (!this.activityClasses.has(action)) {\n throw new Error(`No activity class registered for action: ${action}`)\n }\n\n const ActivityClass = this.activityClasses.get(action)\n if (!ActivityClass) {\n throw new Error(`No activity class registered for action: ${action}`)\n }\n\n // We use the container to resolve dependencies, if any.\n // const activity = (await container.make(ActivityClass, [this.#parent])) as Activity\n return new ActivityClass(this.#parent)\n }\n\n /**\n * Starts an activity that should return a result to the calling activity.\n * The result should be a unique number across the application.\n * @param intent The intent to start the activity.\n * @param requestCode The request code used to match the activity result.\n */\n async startActivityForResult(intent: Intent, requestCode: number): Promise<void> {\n intent.requestCode = requestCode\n const intentCopy = structuredClone(intent)\n intent.requestCode = requestCode\n if (intent.flags) {\n intent.flags = intent.flags & IntentFlags.ForResult\n } else {\n intent.flags = IntentFlags.ForResult\n }\n await this.startActivity(intentCopy)\n }\n\n isDestroyed(activity: Activity): boolean {\n return activity.state === ActivityState.Destroyed\n }\n\n /**\n * @param activity The activity to finish.\n */\n async finishActivity(activity: Activity): Promise<void> {\n const isModal = this.modalActivityStack.some((entry) => entry.activity === activity)\n const stack = isModal ? this.modalActivityStack : this.activityStack\n const index = stack.findIndex((entry) => entry.activity === activity)\n if (index !== -1) {\n const stackEntry = stack.splice(index, 1)[0]\n\n await stackEntry.activity.onPause()\n stackEntry.activity.state = ActivityState.Paused\n await stackEntry.activity.onStop()\n stackEntry.activity.state = ActivityState.Stopped\n await stackEntry.activity.onDestroy()\n stackEntry.activity.state = ActivityState.Destroyed\n\n await this.manageActivityResult(stackEntry.activity, stackEntry.intent)\n\n // Resume the previous activity\n await this.bringLastActivityToFront()\n } else {\n if (activity.state === ActivityState.Created) {\n await activity.onStop()\n activity.state = ActivityState.Stopped\n }\n await activity.onDestroy()\n activity.state = ActivityState.Destroyed\n // This can happen when an activity finishes in one of the callback methods,\n // before it is added to the stack. In that case, we bring the last activity back to the front.\n await this.bringLastActivityToFront()\n }\n this.#parent.requestUpdate()\n }\n\n private async manageActivityResult(activity: Activity, intent: Intent): Promise<void> {\n const { flags = 0, requestCode = -1 } = intent\n if (flags & IntentFlags.ForResult) {\n const all = [...this.activityStack, ...this.modalActivityStack]\n const target = all.find((entry) => entry.activity.hasRequestCode(requestCode))\n if (target) {\n if (target.activity.state === ActivityState.Destroyed) {\n return\n }\n if (target.activity.state === ActivityState.Resumed) {\n await target.activity.onPause()\n target.activity.state = ActivityState.Paused\n }\n const intentCopy = structuredClone(intent)\n intentCopy.data = activity.getResult()\n await target.activity.onActivityResult(requestCode, activity.resultCode, intentCopy)\n }\n }\n }\n\n private async bringLastActivityToFront(): Promise<void> {\n if (this.modalActivityStack.length > 0) {\n const previousEntry = this.modalActivityStack[this.activityStack.length - 1]\n await this.updateCurrentActivity(previousEntry.activity, false)\n } else if (this.activityStack.length > 0) {\n const previousEntry = this.activityStack[this.activityStack.length - 1]\n await this.updateCurrentActivity(previousEntry.activity, false)\n } else {\n this.currentActivity = undefined // No more activities\n }\n }\n\n getTopActivity(): Activity | undefined {\n const topModal = this.modalActivityStack.findLast((a) => a.activity.state === ActivityState.Resumed)\n if (topModal) {\n return topModal.activity\n }\n const top = this.activityStack.findLast((a) => a.activity.state === ActivityState.Resumed)\n return top ? top.activity : undefined\n }\n\n getCurrentActivity(): Activity | undefined {\n return this.currentActivity\n }\n\n /**\n * A helper method to handle the transition between activities, ensuring\n * lifecycle methods are called in the correct order (pause the previous activity,\n * then start/resume the new one). This centralizes lifecycle management.\n *\n * @param activity The activity to bring to the foreground.\n */\n private async updateCurrentActivity(activity: Activity, isModal: boolean): Promise<void> {\n if (this.currentActivity && this.currentActivity.state !== ActivityState.Destroyed) {\n await this.currentActivity.onPause()\n this.currentActivity.state = ActivityState.Paused\n }\n if (activity.state === ActivityState.Paused) {\n await activity.onResume()\n if (this.isDestroyed(activity)) {\n return\n }\n activity.state = ActivityState.Resumed\n activity.requestUpdate()\n } else if (activity.state === ActivityState.Stopped) {\n await activity.onRestart()\n activity.state = ActivityState.Resumed\n } else if (activity.state === ActivityState.Destroyed) {\n throw new Error(`Invalid state. The activity is already destroyed.`)\n } else if (activity.state === ActivityState.Created) {\n await activity.onStart()\n if (this.isDestroyed(activity)) {\n return\n }\n activity.state = ActivityState.Started\n await activity.onResume()\n if (this.isDestroyed(activity)) {\n return\n }\n activity.state = ActivityState.Resumed\n activity.requestUpdate()\n } else if (activity.state === ActivityState.Started) {\n await activity.onResume()\n if (this.isDestroyed(activity)) {\n return\n }\n activity.state = ActivityState.Resumed\n activity.requestUpdate()\n } else if (activity.state === ActivityState.Initialized) {\n // TODO: Figure out intent passing here.\n await activity.onCreate()\n activity.state = ActivityState.Created\n if (this.isDestroyed(activity)) {\n // the activity finished and the manager already took care of this situation.\n return\n }\n // await this.updateCurrentActivity(activity)\n }\n if (!isModal) {\n // With a modal activity, it renders directly to the `<body>` and renders outside\n // of the normal rendering flow. We keep the previous activity rendered.\n this.currentActivity = activity\n }\n }\n\n /**\n * Allows navigating back through the activity stack.\n * Call `ActivityManager.navigateBack()` when the user performs a back action\n * (e.g., clicks a back button).\n */\n async navigateBack(): Promise<void> {\n if (this.activityStack.length > 1 && this.currentActivity) {\n // Finish current, which will resume previous\n await this.finishActivity(this.currentActivity)\n }\n // Else do nothing (or display a message, or exit the app)\n }\n\n createRequestCode(): number {\n const min = 1000\n const max = 9999\n return Math.floor(Math.random() * (max - min) + min)\n }\n\n findActiveActivity(action: string): Activity | undefined {\n return this.activityStack.find((entry) => entry.action === action)?.activity\n }\n}\n"]}
1
+ {"version":3,"file":"ActivityManager.js","sourceRoot":"","sources":["../../../src/core/ActivityManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,MAAM,CAAN,IAAY,aAQX;AARD,WAAY,aAAa;IACvB,+DAAW,CAAA;IACX,uDAAO,CAAA;IACP,uDAAO,CAAA;IACP,uDAAO,CAAA;IACP,qDAAM,CAAA;IACN,uDAAO,CAAA;IACP,2DAAS,CAAA;AACX,CAAC,EARW,aAAa,KAAb,aAAa,QAQxB;AAED,MAAM,CAAN,IAAY,WAmBX;AAnBD,WAAY,WAAW;IACrB;;OAEG;IACH,yEAAyE;IACzE,+CAAc,CAAA;IACd;;OAEG;IACH,yEAAyE;IACzE,uDAAkB,CAAA;IAClB;;;;;OAKG;IACH,yEAAyE;IACzE,2DAAoB,CAAA;AACtB,CAAC,EAnBW,WAAW,KAAX,WAAW,QAmBtB;AAaD,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,qEAAe,CAAA;IACf,yDAAS,CAAA;AACX,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AA0BD;;;;;;;;;GASG;AACH,MAAM,OAAO,eAAe;IAClB,eAAe,CAAW;IAElC;;OAEG;IACK,eAAe,GAAG,IAAI,GAAG,EAA2B,CAAA;IAE5D;;;OAGG;IACK,aAAa,GAAyB,EAAE,CAAA;IAEhD;;;OAGG;IACK,kBAAkB,GAAyB,EAAE,CAAA;IAE7C,kBAAkB;QACxB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACpD,CAAC;IAED,OAAO,CAAa;IAEpB,YAAY,MAAmB;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,mDAAmD;IACrD,CAAC;IAED,gBAAgB,CAAC,MAAc,EAAE,aAA8B;QAC7D,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,yBAAyB,MAAM,uBAAuB,EAAE,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC,CAAA;QACzF,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACjD,CAAC;IAED,yDAAyD;IACzD,2EAA2E;IAC3E,+DAA+D;IAC/D,uBAAuB;IACvB,6BAA6B;IAC7B,MAAM;IACN,gBAAgB;IAChB,IAAI;IAEJ;;;;;;;;;OASG;IACH,KAAK,CAAC,cAAc,CAAC,MAAc;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAC5C,MAAM,UAAU,GAAuB,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAA;QAClG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACrC,CAAC;IAED,UAAU,CAAC,MAAc;QACvB,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAwB,CAAA;YAC7C,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;gBACd,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,MAAc;QAChC,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,IAAI,CAAA;QAC/C,MAAM,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAA;QACxF,4EAA4E;QAC5E,IAAI,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;YACrC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;YAClC,aAAa,CAAC,IAAI,CAAC;gBACjB,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM;aACP,CAAC,CAAA;YACF,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YACvC,4CAA4C;YAC5C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;YACvB,uCAAuC;YACvC,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YACtD,OAAM;QACR,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,eAAe,CAAC,OAAO,EAAE,CAAA;YAC/B,eAAe,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAA;QAC9C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAC5C,MAAM,UAAU,GAAuB,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAA;QAClG,0FAA0F;QAC1F,2FAA2F;QAC3F,gDAAgD;QAChD,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAA;QACvD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC1C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACrC,CAAC;QACD,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC/B,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,6EAA6E;YAC7E,OAAM;QACR,CAAC;QACD,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,CAAA;QAEtC,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;QACrD,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,6EAA6E;YAC7E,OAAM;QACR,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IACzB,CAAC;IAEO,aAAa,CAAC,MAAc;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,4CAA4C,MAAM,EAAE,CAAC,CAAA;QACvE,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACtD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,MAAM,EAAE,CAAC,CAAA;QACvE,CAAC;QAED,wDAAwD;QACxD,qFAAqF;QACrF,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACxC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,sBAAsB,CAAC,MAAc,EAAE,WAAmB;QAC9D,MAAM,CAAC,WAAW,GAAG,WAAW,CAAA;QAChC,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,WAAW,CAAA;QACjE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QACxB,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,MAAM,CAAC,IAAI,CAAA;QACpB,CAAC;QACD,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACzB,UAAU,CAAC,IAAI,GAAG,IAAI,CAAA;QACxB,CAAC;QACD,MAAM,CAAC,WAAW,GAAG,WAAW,CAAA;QAChC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,SAAS,CAAA;QACrD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,SAAS,CAAA;QACtC,CAAC;QACD,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;IACtC,CAAC;IAED,WAAW,CAAC,QAAkB;QAC5B,OAAO,QAAQ,CAAC,KAAK,KAAK,aAAa,CAAC,SAAS,CAAA;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,QAAkB;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAA;QACpF,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAA;QACpE,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAA;QACrE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAE5C,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;YACnC,UAAU,CAAC,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAA;YAChD,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;YAClC,UAAU,CAAC,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,CAAA;YACjD,MAAM,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAA;YACrC,UAAU,CAAC,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,SAAS,CAAA;YAEnD,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;YAEvE,+BAA+B;YAC/B,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAA;QACvC,CAAC;aAAM,CAAC;YACN,IAAI,QAAQ,CAAC,KAAK,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC7C,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAA;gBACvB,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,CAAA;YACxC,CAAC;YACD,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAA;YAC1B,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,SAAS,CAAA;YACxC,4EAA4E;YAC5E,+FAA+F;YAC/F,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAA;QACvC,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAA;IAC9B,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,QAAkB,EAAE,MAAc;QACnE,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,CAAA;QAC9C,IAAI,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAA;YAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAA;YAC9E,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,aAAa,CAAC,SAAS,EAAE,CAAC;oBACtD,OAAM;gBACR,CAAC;gBACD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;oBACpD,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;oBAC/B,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAA;gBAC9C,CAAC;gBACD,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;gBAC1C,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;gBACtC,MAAM,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;YACtF,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,wBAAwB;QACpC,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAC5E,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACjE,CAAC;aAAM,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACvE,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACjE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA,CAAC,qBAAqB;QACxD,CAAC;IACH,CAAC;IAED,cAAc;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,KAAK,aAAa,CAAC,OAAO,CAAC,CAAA;QACpG,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC,QAAQ,CAAA;QAC1B,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,KAAK,aAAa,CAAC,OAAO,CAAC,CAAA;QAC1F,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;IACvC,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAA;IAC7B,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,qBAAqB,CAAC,QAAkB,EAAE,OAAgB;QACtE,IACE,IAAI,CAAC,eAAe;YACpB,IAAI,CAAC,eAAe,KAAK,QAAQ;YACjC,IAAI,CAAC,eAAe,CAAC,KAAK,KAAK,aAAa,CAAC,SAAS,EACtD,CAAC;YACD,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAA;YACpC,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAA;QACnD,CAAC;QACD,IAAI,QAAQ,CAAC,KAAK,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAA;YACzB,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,OAAM;YACR,CAAC;YACD,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,CAAA;YACtC,QAAQ,CAAC,aAAa,EAAE,CAAA;QAC1B,CAAC;aAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;YACpD,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAA;YAC1B,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,CAAA;QACxC,CAAC;aAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,aAAa,CAAC,SAAS,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;QACtE,CAAC;aAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;YACpD,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAA;YACxB,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,OAAM;YACR,CAAC;YACD,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,CAAA;YACtC,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAA;YACzB,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,OAAM;YACR,CAAC;YACD,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,CAAA;YACtC,QAAQ,CAAC,aAAa,EAAE,CAAA;QAC1B,CAAC;aAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;YACpD,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAA;YACzB,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,OAAM;YACR,CAAC;YACD,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,CAAA;YACtC,QAAQ,CAAC,aAAa,EAAE,CAAA;QAC1B,CAAC;aAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,aAAa,CAAC,WAAW,EAAE,CAAC;YACxD,wCAAwC;YACxC,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAA;YACzB,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,CAAA;YACtC,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,6EAA6E;gBAC7E,OAAM;YACR,CAAC;YACD,6CAA6C;QAC/C,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,iFAAiF;YACjF,wEAAwE;YACxE,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAA;QACjC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY;QAChB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1D,6CAA6C;YAC7C,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QACjD,CAAC;QACD,0DAA0D;IAC5D,CAAC;IAED,iBAAiB;QACf,MAAM,GAAG,GAAG,IAAI,CAAA;QAChB,MAAM,GAAG,GAAG,IAAI,CAAA;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;IACtD,CAAC;IAED,kBAAkB,CAAC,MAAc;QAC/B,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,QAAQ,CAAA;IAC9E,CAAC;CACF","sourcesContent":["import type { Activity } from './Activity.js'\nimport type { Application } from './Application.js'\nimport { navigateScreen } from './ApplicationRoute.js'\n\nexport enum ActivityState {\n Initialized,\n Created,\n Started,\n Resumed,\n Paused,\n Stopped,\n Destroyed,\n}\n\nexport enum IntentFlags {\n /**\n * Marks that the activity should be rendered as a modal.\n */\n // eslint-disable-next-line @typescript-eslint/prefer-literal-enum-member\n Modal = 1 << 0,\n /**\n * The activity is started for result.\n */\n // eslint-disable-next-line @typescript-eslint/prefer-literal-enum-member\n ForResult = 1 << 1,\n /**\n * When set, the intent data is passed by reference.\n * By default the activity manager makes a copy of the intent data.\n * This is useful when the data is large and you want to avoid copying it\n * or when you want to share the same data between activities.\n */\n // eslint-disable-next-line @typescript-eslint/prefer-literal-enum-member\n ByReference = 1 << 2,\n}\n\nexport interface Intent {\n action: string\n data?: unknown\n category?: string[]\n flags?: number\n /**\n * The request code used to distinguish between different activities.\n */\n requestCode?: number\n}\n\nexport enum IntentResult {\n RESULT_CANCELED,\n RESULT_OK,\n}\n\n/**\n * Defines the information stored for each activity on the stack:\n * the Activity instance, a unique id, and optionally the Intent that started the activity\n * (useful for restoring state).\n */\ninterface ActivityStackEntry {\n /**\n * The instance of the activity.\n */\n activity: Activity\n /**\n * Activity's unique ID.\n */\n id: string\n /**\n * The intent that started the activity.\n */\n intent: Intent\n /**\n * The action name the activity is registered for.\n */\n action: string\n}\n\n/**\n * Manages application activities.\n *\n * An activity is a screen or a portion of a rendered screen that has its own\n * lifecycle methods and routing.\n *\n * An activity is registered by its class definition. Because of that, activities\n * cannot have constructors that require own parameters. Activities have to be\n * self contained or use the event system to request data.\n */\nexport class ActivityManager {\n private currentActivity?: Activity\n\n /**\n * Stores activity *classes* by unique ID (action name).\n */\n private activityClasses = new Map<string, typeof Activity>()\n\n /**\n * Represents the activity stack. It is used to manage\n * the UI state after calling the back action.\n */\n private activityStack: ActivityStackEntry[] = []\n\n /**\n * A stack of activities that are rendered over other activities\n * in a dialog.\n */\n private modalActivityStack: ActivityStackEntry[] = []\n\n private generateActivityId(): string {\n return Math.random().toString(36).substring(2, 15)\n }\n\n #parent: Application\n\n constructor(parent: Application) {\n this.#parent = parent\n // this.reflectEvent = this.reflectEvent.bind(this)\n }\n\n registerActivity(action: string, activityClass: typeof Activity): void {\n if (this.activityClasses.has(action)) {\n // eslint-disable-next-line no-console\n console.warn(`Activity with action \"${action}\" already registered.`, new Error().stack)\n }\n this.activityClasses.set(action, activityClass)\n }\n\n // protected reflectEvent<T extends Event>(event: T): T {\n // const copy = Reflect.construct(event.constructor, [event.type, event])\n // const dispatched = this.#parent.events.dispatchEvent(copy)\n // if (!dispatched) {\n // event.preventDefault()\n // }\n // return copy\n // }\n\n /**\n * Creates an activity and pushes it into the stack, but it does not initialize any of the lifecycle methods.\n * It is a way to put an activity at some place of the stack,\n * but it will be only initialized when other activities finis.\n *\n * Note, if you add an uninitialized activity and you won't add more activities then this activity may never run.\n * Make sure that there's always another activity.\n *\n * @param intent The intent that created this activity.\n */\n async createActivity(intent: Intent): Promise<void> {\n const activity = this.buildActivity(intent)\n const activityId = this.generateActivityId()\n const stackEntry: ActivityStackEntry = { activity, id: activityId, intent, action: intent.action }\n this.activityStack.push(stackEntry)\n }\n\n setupRoute(intent: Intent): void {\n if (intent.data) {\n const typed = intent.data as { uri?: string }\n if (typed.uri) {\n navigateScreen(typed.uri)\n }\n }\n }\n\n /**\n * Starts a new activity and brings it to the foreground.\n *\n * @param intent The intent that created this activity.\n */\n async startActivity(intent: Intent): Promise<void> {\n const { currentActivity, activityStack } = this\n const lastIndex = activityStack.findLastIndex((entry) => entry.action === intent.action)\n // if the activity is in the history list, we bring it up and update intent.\n if (lastIndex > -1) {\n const info = activityStack[lastIndex]\n activityStack.splice(lastIndex, 1)\n activityStack.push({\n id: info.id,\n activity: info.activity,\n action: info.action,\n intent,\n })\n await info.activity.onNewIntent(intent)\n // TODO: Check if the activity is destroyed.\n this.setupRoute(intent)\n // this.currentActivity = info.activity\n await this.updateCurrentActivity(info.activity, false)\n return\n }\n const activity = this.buildActivity(intent)\n if (currentActivity) {\n await currentActivity.onPause()\n currentActivity.state = ActivityState.Paused\n }\n\n const activityId = this.generateActivityId()\n const stackEntry: ActivityStackEntry = { activity, id: activityId, intent, action: intent.action }\n // Modal activities are pretty much the same as regular activities but are rendered on top\n // of other activities. We keep track of them on another stack as all modal activities must\n // finish before returning to the regular stack.\n const isModal = (intent.flags ?? 0) & IntentFlags.Modal\n if (isModal) {\n this.modalActivityStack.push(stackEntry)\n } else {\n this.activityStack.push(stackEntry)\n }\n await activity.onCreate(intent)\n if (this.isDestroyed(activity)) {\n // the activity finished and the manager already took care of this situation.\n return\n }\n activity.state = ActivityState.Created\n\n await this.updateCurrentActivity(activity, !!isModal)\n if (this.isDestroyed(activity)) {\n // the activity finished and the manager already took care of this situation.\n return\n }\n this.setupRoute(intent)\n }\n\n private buildActivity(intent: Intent): Activity {\n const action = intent.action\n if (!this.activityClasses.has(action)) {\n throw new Error(`No activity class registered for action: ${action}`)\n }\n\n const ActivityClass = this.activityClasses.get(action)\n if (!ActivityClass) {\n throw new Error(`No activity class registered for action: ${action}`)\n }\n\n // We use the container to resolve dependencies, if any.\n // const activity = (await container.make(ActivityClass, [this.#parent])) as Activity\n return new ActivityClass(this.#parent)\n }\n\n /**\n * Starts an activity that should return a result to the calling activity.\n * The result should be a unique number across the application.\n * @param intent The intent to start the activity.\n * @param requestCode The request code used to match the activity result.\n */\n async startActivityForResult(intent: Intent, requestCode: number): Promise<void> {\n intent.requestCode = requestCode\n const byReference = (intent.flags ?? 0) & IntentFlags.ByReference\n const data = intent.data\n if (byReference) {\n delete intent.data\n }\n const intentCopy = structuredClone(intent)\n if (data && !byReference) {\n intentCopy.data = data\n }\n intent.requestCode = requestCode\n if (intent.flags) {\n intent.flags = intent.flags & IntentFlags.ForResult\n } else {\n intent.flags = IntentFlags.ForResult\n }\n await this.startActivity(intentCopy)\n }\n\n isDestroyed(activity: Activity): boolean {\n return activity.state === ActivityState.Destroyed\n }\n\n /**\n * @param activity The activity to finish.\n */\n async finishActivity(activity: Activity): Promise<void> {\n const isModal = this.modalActivityStack.some((entry) => entry.activity === activity)\n const stack = isModal ? this.modalActivityStack : this.activityStack\n const index = stack.findIndex((entry) => entry.activity === activity)\n if (index !== -1) {\n const stackEntry = stack.splice(index, 1)[0]\n\n await stackEntry.activity.onPause()\n stackEntry.activity.state = ActivityState.Paused\n await stackEntry.activity.onStop()\n stackEntry.activity.state = ActivityState.Stopped\n await stackEntry.activity.onDestroy()\n stackEntry.activity.state = ActivityState.Destroyed\n\n await this.manageActivityResult(stackEntry.activity, stackEntry.intent)\n\n // Resume the previous activity\n await this.bringLastActivityToFront()\n } else {\n if (activity.state === ActivityState.Created) {\n await activity.onStop()\n activity.state = ActivityState.Stopped\n }\n await activity.onDestroy()\n activity.state = ActivityState.Destroyed\n // This can happen when an activity finishes in one of the callback methods,\n // before it is added to the stack. In that case, we bring the last activity back to the front.\n await this.bringLastActivityToFront()\n }\n this.#parent.requestUpdate()\n }\n\n private async manageActivityResult(activity: Activity, intent: Intent): Promise<void> {\n const { flags = 0, requestCode = -1 } = intent\n if (flags & IntentFlags.ForResult) {\n const all = [...this.activityStack, ...this.modalActivityStack]\n const target = all.find((entry) => entry.activity.hasRequestCode(requestCode))\n if (target) {\n if (target.activity.state === ActivityState.Destroyed) {\n return\n }\n if (target.activity.state === ActivityState.Resumed) {\n await target.activity.onPause()\n target.activity.state = ActivityState.Paused\n }\n const intentCopy = structuredClone(intent)\n intentCopy.data = activity.getResult()\n await target.activity.onActivityResult(requestCode, activity.resultCode, intentCopy)\n }\n }\n }\n\n private async bringLastActivityToFront(): Promise<void> {\n if (this.modalActivityStack.length > 0) {\n const previousEntry = this.modalActivityStack[this.activityStack.length - 1]\n await this.updateCurrentActivity(previousEntry.activity, false)\n } else if (this.activityStack.length > 0) {\n const previousEntry = this.activityStack[this.activityStack.length - 1]\n await this.updateCurrentActivity(previousEntry.activity, false)\n } else {\n this.currentActivity = undefined // No more activities\n }\n }\n\n getTopActivity(): Activity | undefined {\n const topModal = this.modalActivityStack.findLast((a) => a.activity.state === ActivityState.Resumed)\n if (topModal) {\n return topModal.activity\n }\n const top = this.activityStack.findLast((a) => a.activity.state === ActivityState.Resumed)\n return top ? top.activity : undefined\n }\n\n getCurrentActivity(): Activity | undefined {\n return this.currentActivity\n }\n\n /**\n * A helper method to handle the transition between activities, ensuring\n * lifecycle methods are called in the correct order (pause the previous activity,\n * then start/resume the new one). This centralizes lifecycle management.\n *\n * @param activity The activity to bring to the foreground.\n */\n private async updateCurrentActivity(activity: Activity, isModal: boolean): Promise<void> {\n if (\n this.currentActivity &&\n this.currentActivity !== activity &&\n this.currentActivity.state !== ActivityState.Destroyed\n ) {\n await this.currentActivity.onPause()\n this.currentActivity.state = ActivityState.Paused\n }\n if (activity.state === ActivityState.Paused) {\n await activity.onResume()\n if (this.isDestroyed(activity)) {\n return\n }\n activity.state = ActivityState.Resumed\n activity.requestUpdate()\n } else if (activity.state === ActivityState.Stopped) {\n await activity.onRestart()\n activity.state = ActivityState.Resumed\n } else if (activity.state === ActivityState.Destroyed) {\n throw new Error(`Invalid state. The activity is already destroyed.`)\n } else if (activity.state === ActivityState.Created) {\n await activity.onStart()\n if (this.isDestroyed(activity)) {\n return\n }\n activity.state = ActivityState.Started\n await activity.onResume()\n if (this.isDestroyed(activity)) {\n return\n }\n activity.state = ActivityState.Resumed\n activity.requestUpdate()\n } else if (activity.state === ActivityState.Started) {\n await activity.onResume()\n if (this.isDestroyed(activity)) {\n return\n }\n activity.state = ActivityState.Resumed\n activity.requestUpdate()\n } else if (activity.state === ActivityState.Initialized) {\n // TODO: Figure out intent passing here.\n await activity.onCreate()\n activity.state = ActivityState.Created\n if (this.isDestroyed(activity)) {\n // the activity finished and the manager already took care of this situation.\n return\n }\n // await this.updateCurrentActivity(activity)\n }\n if (!isModal) {\n // With a modal activity, it renders directly to the `<body>` and renders outside\n // of the normal rendering flow. We keep the previous activity rendered.\n this.currentActivity = activity\n }\n }\n\n /**\n * Allows navigating back through the activity stack.\n * Call `ActivityManager.navigateBack()` when the user performs a back action\n * (e.g., clicks a back button).\n */\n async navigateBack(): Promise<void> {\n if (this.activityStack.length > 1 && this.currentActivity) {\n // Finish current, which will resume previous\n await this.finishActivity(this.currentActivity)\n }\n // Else do nothing (or display a message, or exit the app)\n }\n\n createRequestCode(): number {\n const min = 1000\n const max = 9999\n return Math.floor(Math.random() * (max - min) + min)\n }\n\n findActiveActivity(action: string): Activity | undefined {\n return this.activityStack.find((entry) => entry.action === action)?.activity\n }\n}\n"]}
@@ -130,6 +130,11 @@ export declare class Fragment extends EventTarget {
130
130
  * @param intent The intent to start.
131
131
  */
132
132
  startActivityForResult(intent: Intent): Promise<void>;
133
+ /**
134
+ * Starts another activity.
135
+ * @param intent The intent to start.
136
+ */
137
+ startActivity(intent: Intent): Promise<void>;
133
138
  /**
134
139
  * The callback method that is triggered when another activity that was
135
140
  * started for result finishes.
@@ -1 +1 @@
1
- {"version":3,"file":"Fragment.d.ts","sourceRoot":"","sources":["../../../src/core/Fragment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Fragment.d.ts","sourceRoot":"","sources":["../../../src/core/Fragment.ts"],"names":[],"mappings":"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"}
@@ -207,6 +207,17 @@ let Fragment = (() => {
207
207
  }
208
208
  this.requestCode = await activity.startActivityForResult(intent);
209
209
  }
210
+ /**
211
+ * Starts another activity.
212
+ * @param intent The intent to start.
213
+ */
214
+ async startActivity(intent) {
215
+ const activity = this.getActivity();
216
+ if (!activity) {
217
+ throw new Error(`The fragment has no activity. Unable to start an intent.`);
218
+ }
219
+ await activity.startActivity(intent);
220
+ }
210
221
  /**
211
222
  * The callback method that is triggered when another activity that was
212
223
  * started for result finishes.
@@ -1 +1 @@
1
- {"version":3,"file":"Fragment.js","sourceRoot":"","sources":["../../../src/core/Fragment.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAA;AAE7C,OAAO,EAAE,aAAa,EAAwB,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEjE,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAMpD;;;;;;;;;;;GAWG;IACU,QAAQ;sBAAS,WAAW;;;iBAA5B,QAAS,SAAQ,WAAW;;;6CAqQtC,KAAK;YACN,sMAAM,iBAAiB,6DAiBtB;;;QAtRM,KAAK,IADD,mDAAQ,EACW,aAAa,CAAC,WAAW,EAAA;QAChD,MAAM,CAAsB;QACzB,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAA;QACtC,eAAe,CAAiB;QAE1C;;WAEG;QACH,WAAW,GAAG,CAAC,CAAC,CAAA;QAEhB;;;;;;WAMG;QACH,qBAAqB,GAAuC,IAAI,GAAG,EAAiC,CAAA;QAEpG,SAAS,CAAkB;QAE3B,IAAI,QAAQ;YACV,OAAO,IAAI,CAAC,SAAS,CAAA;QACvB,CAAC;QAED,YAAY,OAAyB;YACnC,KAAK,EAAE,CAAA;YACP,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,CAAA;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAA;YAChD,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAC7C,CAAC;QAED;;WAEG;QACI,aAAa,CAAC,UAAgC;YACnD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QAC1C,CAAC;QAED,MAAM,CAAC,IAAa;YAClB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxE,CAAC;QAED;;;;;;WAMG;QACH,QAAQ,CAAC,IAAc;YACrB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC1E,CAAC;QAED;;WAEG;QACH,QAAQ,CAAC,IAAc;YACrB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC1E,CAAC;QAED;;WAEG;QACH,OAAO;YACL,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACzE,CAAC;QAED;;WAEG;QACH,QAAQ;YACN,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC1E,CAAC;QAED;;WAEG;QACH,OAAO;YACL,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACzE,CAAC;QAED;;WAEG;QACH,MAAM;YACJ,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxE,CAAC;QAED;;WAEG;QACH,QAAQ;YACN,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC1E,CAAC;QAED;;WAEG;QACH,SAAS;YACP,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC3E,CAAC;QAED;;WAEG;QACH,aAAa;YACX,EAAE;QACJ,CAAC;QAED;;;WAGG;QACH,MAAM;YACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAA;YAChD,IAAI,QAAQ,EAAE,CAAC;gBACb,uCAAuC;gBACvC,uEAAuE;gBACvE,8EAA8E;gBAC9E,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAA;YAC1B,CAAC;YACD,OAAO,OAAO,CAAA;QAChB,CAAC;QAED;;;;;WAKG;QACH,wBAAwB;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAA;YAC5C,OAAO,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACrD,CAAC;QAED;;;WAGG;QACH,oBAAoB;YAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAA;QAC/B,CAAC;QAED;;WAEG;QACH,mBAAmB;YACjB,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAA;QAC1C,CAAC;QAED;;;;;WAKG;QACH,QAAQ,CAAC,GAAW,EAAE,QAAkB,EAAE,IAAc;YACtD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YAChC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAChE,CAAC;QAED;;;WAGG;QACH,WAAW,CAAC,GAAW;YACrB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACpC,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;gBACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;QAED;;;WAGG;QACH,aAAa,CAAC,OAAsB,EAAE;YACpC,MAAM,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,IAAI,CAAA;YAChC,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAA;YAChC,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;YAChC,sDAAsD;QACxD,CAAC;QAED,cAAc;YACZ,OAAO,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAA;QACtC,CAAC;QAED,WAAW;YACT,OAAO,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;QACnC,CAAC;QAED;;;WAGG;QACH,KAAK,CAAC,sBAAsB,CAAC,MAAc;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;YACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;YAC7E,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,MAAM,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAA;QAClE,CAAC;QAED;;;;;;;WAOG;QACH,KAAK,CAAC,gBAAgB,CAAC,WAAmB,EAAE,UAAwB,EAAE,MAAc;YAClF,MAAM,EAAE,qBAAqB,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;YAChD,IAAI,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3C,MAAM,EAAE,QAAQ,EAAE,GAAG,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAA0B,CAAA;gBACpF,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;gBACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;gBAC5B,OAAM;YACR,CAAC;YACD,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBACzC,IAAI,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;oBACxC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;oBAC1D,OAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAA;YACrB,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAClC,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CAAC,6CAA6C,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;YAC9F,CAAC;QACH,CAAC;QAED,aAAa,CAAC,WAAmB;YAC/B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9C,IAAI,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;oBACxC,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,CAAA;QACzC,CAAC;QAED;;;;;;;;;;;;;;WAcG;QAEH,KAAK,CAAC,iBAAiB,CAAC,KAA6D;YACnF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;YACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;YAC7E,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;gBAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,MAAkC,CAAA;gBACrD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAC/D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;gBACvB,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE;oBACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB,CAAC,CAAA;YACJ,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC1D,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC7C,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;YAC7D,CAAC;QACH,CAAC;;;SAvRU,QAAQ","sourcesContent":["import { nothing, TemplateResult } from 'lit'\nimport { Activity } from './Activity.js'\nimport { FragmentState, type FragmentOptions, FragmentManager } from './FragmentManager.js'\nimport type { Application, UpdateRequest } from './Application.js'\nimport { FragmentRenderer } from './renderer/FragmentRenderer.js'\nimport { Intent, IntentResult } from './ActivityManager.js'\nimport { bound } from '../decorators/bound.js'\nimport type { ActivityDetail, ActivityWithResultDetail } from '../events/IntentEvents.js'\nimport { EventTypes } from '../events/EventTypes.js'\n\nexport interface PendingActivityResult {\n onResult(result: IntentResult, intent: Intent): void\n}\n\n/**\n * Similar to Activity, with lifecycle methods (onCreate, onAttach, onDetach, etc.).\n * The crucial difference is that a Fragment is always hosted by an `Activity` or\n * another `Fragment`.\n *\n * A `Fragment` represents a reusable portion of the app's UI.\n * A fragment defines and manages its own layout, has its own lifecycle,\n * and can handle its own input events.\n * Fragments can't live on their own. They must be hosted by an activity or another\n * fragment. The fragment’s view hierarchy becomes part of, or attaches to,\n * the host’s view hierarchy.\n */\nexport class Fragment extends EventTarget {\n public state: FragmentState = FragmentState.Initialized\n public parent?: Activity | Fragment\n protected children = new Map<string, Fragment>()\n protected fragmentManager: FragmentManager\n\n /**\n * The request code used to start an activity for a result.\n */\n requestCode = -1\n\n /**\n * A list of pending activity results that were requested by the components\n * hosted in this fragment.\n * The key is the request code and the value contains the callback\n * that will be called when the activity result is received.\n * The callback is called with the result code and the resulting intent.\n */\n pendingActivityResult: Map<number, PendingActivityResult> = new Map<number, PendingActivityResult>()\n\n #renderer: FragmentRenderer\n\n get renderer(): FragmentRenderer {\n return this.#renderer\n }\n\n constructor(options?: FragmentOptions) {\n super()\n this.parent = options?.parent\n this.fragmentManager = new FragmentManager(this)\n this.#renderer = new FragmentRenderer(this)\n }\n\n /**\n * @see {@link ./Renderer.js}\n */\n public setRenderRoot(renderRoot: HTMLElement | string): void {\n this.#renderer.setRenderRoot(renderRoot)\n }\n\n onData(data: unknown): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('fragment:data', { detail: data }))\n }\n\n /**\n * Called once when the fragment is created.\n *\n * In the `onCreate()` method, perform basic fragment startup logic that happens only once\n * for the entire life of the fragment.\n * @param data Optional init data.\n */\n onCreate(data?: unknown): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('fragment:create', { detail: data }))\n }\n\n /**\n * Called when the fragment is attached to a parent\n */\n onAttach(data?: unknown): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('fragment:attach', { detail: data }))\n }\n\n /**\n * Called when the fragment becomes visible.\n */\n onStart(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('fragment:start', { detail: null }))\n }\n\n /**\n * Called when the fragment gains focus.\n */\n onResume(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('fragment:resume', { detail: null }))\n }\n\n /**\n * Called when the fragment loses focus.\n */\n onPause(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('fragment:pause', { detail: null }))\n }\n\n /**\n * Called when the fragment is no longer visible.\n */\n onStop(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('fragment:stop', { detail: null }))\n }\n\n /**\n * Called when the fragment is detached from a parent\n */\n onDetach(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('fragment:detach', { detail: null }))\n }\n\n /**\n * Called before the fragment is destroyed.\n */\n onDestroy(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('fragment:destroy', { detail: null }))\n }\n\n /**\n * Called by the renderer when the fragment is rendered for the first time.\n */\n onFirstRender(): void {\n //\n }\n\n /**\n * A function called when it should render the view.\n * By default it renders a fragment view if the fragment hosts other fragments and only one is visible.\n */\n render(): TemplateResult | typeof nothing {\n const fragment = this.getSingleVisibleFragment()\n if (fragment) {\n // we can manage the default rendering.\n // we make an assumption that by default only one fragment is rendered,\n // otherwise the parent activity or fragment would have to setup render roots.\n return fragment.render()\n }\n return nothing\n }\n\n /**\n * Checks whether there's only one `Fragment` that is in the `Resumed` state\n * and returns it. It returns `null` if there is no `Fragment`s or more than a single\n * visible `Fragment`.\n * @returns A Fragment that is the only fragment that should be visible.\n */\n getSingleVisibleFragment(): Fragment | null {\n const fragments = this.getVisibleFragments()\n return fragments.length === 1 ? fragments[0] : null\n }\n\n /**\n * Checks whether this fragment is a host for other fragments.\n * @returns `true` when this fragment hosts other fragments.\n */\n isRenderingFragments(): boolean {\n return this.children.size > 0\n }\n\n /**\n * @returns The list of all fragments that are in the Resumed state.\n */\n getVisibleFragments(): Fragment[] {\n return this.fragmentManager.getVisible()\n }\n\n /**\n * Adds a child fragment to this fragment.\n * The FragmentManager will handle lifecycle.\n * @param key The name of the fragment.\n * @param fragment The fragment to add.\n */\n addChild(key: string, fragment: Fragment, data?: unknown): void {\n this.children.set(key, fragment)\n this.fragmentManager.attachFragment(key, fragment, this, data)\n }\n\n /**\n * Removes a fragment from this fragment.\n * @param key The name of the fragment to remove.\n */\n removeChild(key: string): void {\n const child = this.children.get(key)\n if (child) {\n this.fragmentManager.detachFragment(key)\n this.children.delete(key)\n }\n }\n\n /**\n * A helper to request an update.\n * Application or parent Fragment will handle rendering.\n */\n requestUpdate(opts: UpdateRequest = {}): void {\n const { fragment = true } = opts\n if (fragment) {\n this.#renderer.requestUpdate()\n }\n this.parent?.requestUpdate(opts)\n // If no parent, do nothing (or maybe throw an error?)\n }\n\n getApplication(): Application | undefined {\n return this.parent?.getApplication()\n }\n\n getActivity(): Activity | undefined {\n return this.parent?.getActivity()\n }\n\n /**\n * Starts an activity for result.\n * @param intent The intent to start.\n */\n async startActivityForResult(intent: Intent): Promise<void> {\n const activity = this.getActivity()\n if (!activity) {\n throw new Error(`The fragment has no activity. Unable to start an intent.`)\n }\n this.requestCode = await activity.startActivityForResult(intent)\n }\n\n /**\n * The callback method that is triggered when another activity that was\n * started for result finishes.\n *\n * @param requestCode The request code that was used to start the activity.\n * @param data The data that was passed back.\n * @param intent The intent that was used to start the activity.\n */\n async onActivityResult(requestCode: number, resultCode: IntentResult, intent: Intent): Promise<void> {\n const { pendingActivityResult, children } = this\n if (pendingActivityResult.has(requestCode)) {\n const { onResult } = pendingActivityResult.get(requestCode) as PendingActivityResult\n pendingActivityResult.delete(requestCode)\n onResult(resultCode, intent)\n return\n }\n for (const fragment of children.values()) {\n if (fragment.hasRequstCode(requestCode)) {\n fragment.onActivityResult(requestCode, resultCode, intent)\n return\n }\n }\n this.requestCode = -1\n if (this.constructor === Fragment) {\n // eslint-disable-next-line no-console\n console.info('Fragment#onActivityResult() not implemented', requestCode, resultCode, intent)\n }\n }\n\n hasRequstCode(requestCode: number): boolean {\n for (const fragment of this.children.values()) {\n if (fragment.hasRequstCode(requestCode)) {\n return true\n }\n }\n return this.requestCode === requestCode\n }\n\n /**\n * A handler for the intent event dispatched by web components hosted by this fragment.\n *\n * **Usage example:**\n *\n * ```ts\n * <custom-element @startactivity=\"${this.handleIntentEvent}\"></custom-element>\n * <custom-element @startactivityforresult=\"${this.handleIntentEvent}\"></custom-element>\n * ```\n *\n * @param event The event that was dispatched.\n * @returns A promise that resolves when the intent is handled.\n * @throws An error if the fragment has no activity.\n * @throws An error if the event type is not recognized.\n */\n @bound\n async handleIntentEvent(event: CustomEvent<ActivityDetail | ActivityWithResultDetail>): Promise<void> {\n const activity = this.getActivity()\n if (!activity) {\n throw new Error(`The fragment has no activity. Unable to start an intent.`)\n }\n if (event.type === EventTypes.Intent.startActivityForResult) {\n const info = event.detail as ActivityWithResultDetail\n const code = await activity.startActivityForResult(info.intent)\n this.requestCode = code\n this.pendingActivityResult.set(code, {\n onResult: info.onResult,\n })\n } else if (event.type === EventTypes.Intent.startActivity) {\n activity.startActivity(event.detail.intent)\n } else {\n throw new Error(`Unrecognized intent event: ${event.type}`)\n }\n }\n}\n"]}
1
+ {"version":3,"file":"Fragment.js","sourceRoot":"","sources":["../../../src/core/Fragment.ts"],"names":[],"mappings":"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","sourcesContent":["import { nothing, TemplateResult } from 'lit'\nimport { Activity } from './Activity.js'\nimport { FragmentState, type FragmentOptions, FragmentManager } from './FragmentManager.js'\nimport type { Application, UpdateRequest } from './Application.js'\nimport { FragmentRenderer } from './renderer/FragmentRenderer.js'\nimport { Intent, IntentResult } from './ActivityManager.js'\nimport { bound } from '../decorators/bound.js'\nimport type { ActivityDetail, ActivityWithResultDetail } from '../events/IntentEvents.js'\nimport { EventTypes } from '../events/EventTypes.js'\n\nexport interface PendingActivityResult {\n onResult(result: IntentResult, intent: Intent): void\n}\n\n/**\n * Similar to Activity, with lifecycle methods (onCreate, onAttach, onDetach, etc.).\n * The crucial difference is that a Fragment is always hosted by an `Activity` or\n * another `Fragment`.\n *\n * A `Fragment` represents a reusable portion of the app's UI.\n * A fragment defines and manages its own layout, has its own lifecycle,\n * and can handle its own input events.\n * Fragments can't live on their own. They must be hosted by an activity or another\n * fragment. The fragment’s view hierarchy becomes part of, or attaches to,\n * the host’s view hierarchy.\n */\nexport class Fragment extends EventTarget {\n public state: FragmentState = FragmentState.Initialized\n public parent?: Activity | Fragment\n protected children = new Map<string, Fragment>()\n protected fragmentManager: FragmentManager\n\n /**\n * The request code used to start an activity for a result.\n */\n requestCode = -1\n\n /**\n * A list of pending activity results that were requested by the components\n * hosted in this fragment.\n * The key is the request code and the value contains the callback\n * that will be called when the activity result is received.\n * The callback is called with the result code and the resulting intent.\n */\n pendingActivityResult: Map<number, PendingActivityResult> = new Map<number, PendingActivityResult>()\n\n #renderer: FragmentRenderer\n\n get renderer(): FragmentRenderer {\n return this.#renderer\n }\n\n constructor(options?: FragmentOptions) {\n super()\n this.parent = options?.parent\n this.fragmentManager = new FragmentManager(this)\n this.#renderer = new FragmentRenderer(this)\n }\n\n /**\n * @see {@link ./Renderer.js}\n */\n public setRenderRoot(renderRoot: HTMLElement | string): void {\n this.#renderer.setRenderRoot(renderRoot)\n }\n\n onData(data: unknown): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('fragment:data', { detail: data }))\n }\n\n /**\n * Called once when the fragment is created.\n *\n * In the `onCreate()` method, perform basic fragment startup logic that happens only once\n * for the entire life of the fragment.\n * @param data Optional init data.\n */\n onCreate(data?: unknown): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('fragment:create', { detail: data }))\n }\n\n /**\n * Called when the fragment is attached to a parent\n */\n onAttach(data?: unknown): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('fragment:attach', { detail: data }))\n }\n\n /**\n * Called when the fragment becomes visible.\n */\n onStart(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('fragment:start', { detail: null }))\n }\n\n /**\n * Called when the fragment gains focus.\n */\n onResume(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('fragment:resume', { detail: null }))\n }\n\n /**\n * Called when the fragment loses focus.\n */\n onPause(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('fragment:pause', { detail: null }))\n }\n\n /**\n * Called when the fragment is no longer visible.\n */\n onStop(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('fragment:stop', { detail: null }))\n }\n\n /**\n * Called when the fragment is detached from a parent\n */\n onDetach(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('fragment:detach', { detail: null }))\n }\n\n /**\n * Called before the fragment is destroyed.\n */\n onDestroy(): void | Promise<void> {\n this.dispatchEvent(new CustomEvent('fragment:destroy', { detail: null }))\n }\n\n /**\n * Called by the renderer when the fragment is rendered for the first time.\n */\n onFirstRender(): void {\n //\n }\n\n /**\n * A function called when it should render the view.\n * By default it renders a fragment view if the fragment hosts other fragments and only one is visible.\n */\n render(): TemplateResult | typeof nothing {\n const fragment = this.getSingleVisibleFragment()\n if (fragment) {\n // we can manage the default rendering.\n // we make an assumption that by default only one fragment is rendered,\n // otherwise the parent activity or fragment would have to setup render roots.\n return fragment.render()\n }\n return nothing\n }\n\n /**\n * Checks whether there's only one `Fragment` that is in the `Resumed` state\n * and returns it. It returns `null` if there is no `Fragment`s or more than a single\n * visible `Fragment`.\n * @returns A Fragment that is the only fragment that should be visible.\n */\n getSingleVisibleFragment(): Fragment | null {\n const fragments = this.getVisibleFragments()\n return fragments.length === 1 ? fragments[0] : null\n }\n\n /**\n * Checks whether this fragment is a host for other fragments.\n * @returns `true` when this fragment hosts other fragments.\n */\n isRenderingFragments(): boolean {\n return this.children.size > 0\n }\n\n /**\n * @returns The list of all fragments that are in the Resumed state.\n */\n getVisibleFragments(): Fragment[] {\n return this.fragmentManager.getVisible()\n }\n\n /**\n * Adds a child fragment to this fragment.\n * The FragmentManager will handle lifecycle.\n * @param key The name of the fragment.\n * @param fragment The fragment to add.\n */\n addChild(key: string, fragment: Fragment, data?: unknown): void {\n this.children.set(key, fragment)\n this.fragmentManager.attachFragment(key, fragment, this, data)\n }\n\n /**\n * Removes a fragment from this fragment.\n * @param key The name of the fragment to remove.\n */\n removeChild(key: string): void {\n const child = this.children.get(key)\n if (child) {\n this.fragmentManager.detachFragment(key)\n this.children.delete(key)\n }\n }\n\n /**\n * A helper to request an update.\n * Application or parent Fragment will handle rendering.\n */\n requestUpdate(opts: UpdateRequest = {}): void {\n const { fragment = true } = opts\n if (fragment) {\n this.#renderer.requestUpdate()\n }\n this.parent?.requestUpdate(opts)\n // If no parent, do nothing (or maybe throw an error?)\n }\n\n getApplication(): Application | undefined {\n return this.parent?.getApplication()\n }\n\n getActivity(): Activity | undefined {\n return this.parent?.getActivity()\n }\n\n /**\n * Starts an activity for result.\n * @param intent The intent to start.\n */\n async startActivityForResult(intent: Intent): Promise<void> {\n const activity = this.getActivity()\n if (!activity) {\n throw new Error(`The fragment has no activity. Unable to start an intent.`)\n }\n this.requestCode = await activity.startActivityForResult(intent)\n }\n\n /**\n * Starts another activity.\n * @param intent The intent to start.\n */\n async startActivity(intent: Intent): Promise<void> {\n const activity = this.getActivity()\n if (!activity) {\n throw new Error(`The fragment has no activity. Unable to start an intent.`)\n }\n await activity.startActivity(intent)\n }\n\n /**\n * The callback method that is triggered when another activity that was\n * started for result finishes.\n *\n * @param requestCode The request code that was used to start the activity.\n * @param data The data that was passed back.\n * @param intent The intent that was used to start the activity.\n */\n async onActivityResult(requestCode: number, resultCode: IntentResult, intent: Intent): Promise<void> {\n const { pendingActivityResult, children } = this\n if (pendingActivityResult.has(requestCode)) {\n const { onResult } = pendingActivityResult.get(requestCode) as PendingActivityResult\n pendingActivityResult.delete(requestCode)\n onResult(resultCode, intent)\n return\n }\n for (const fragment of children.values()) {\n if (fragment.hasRequstCode(requestCode)) {\n fragment.onActivityResult(requestCode, resultCode, intent)\n return\n }\n }\n this.requestCode = -1\n if (this.constructor === Fragment) {\n // eslint-disable-next-line no-console\n console.info('Fragment#onActivityResult() not implemented', requestCode, resultCode, intent)\n }\n }\n\n hasRequstCode(requestCode: number): boolean {\n for (const fragment of this.children.values()) {\n if (fragment.hasRequstCode(requestCode)) {\n return true\n }\n }\n return this.requestCode === requestCode\n }\n\n /**\n * A handler for the intent event dispatched by web components hosted by this fragment.\n *\n * **Usage example:**\n *\n * ```ts\n * <custom-element @startactivity=\"${this.handleIntentEvent}\"></custom-element>\n * <custom-element @startactivityforresult=\"${this.handleIntentEvent}\"></custom-element>\n * ```\n *\n * @param event The event that was dispatched.\n * @returns A promise that resolves when the intent is handled.\n * @throws An error if the fragment has no activity.\n * @throws An error if the event type is not recognized.\n */\n @bound\n async handleIntentEvent(event: CustomEvent<ActivityDetail | ActivityWithResultDetail>): Promise<void> {\n const activity = this.getActivity()\n if (!activity) {\n throw new Error(`The fragment has no activity. Unable to start an intent.`)\n }\n if (event.type === EventTypes.Intent.startActivityForResult) {\n const info = event.detail as ActivityWithResultDetail\n const code = await activity.startActivityForResult(info.intent)\n this.requestCode = code\n this.pendingActivityResult.set(code, {\n onResult: info.onResult,\n })\n } else if (event.type === EventTypes.Intent.startActivity) {\n activity.startActivity(event.detail.intent)\n } else {\n throw new Error(`Unrecognized intent event: ${event.type}`)\n }\n }\n}\n"]}
@@ -60,7 +60,7 @@ export declare class FragmentManager {
60
60
  * Hides a Fragment (calls lifecycle methods and removes from DOM if necessary)
61
61
  */
62
62
  hideFragment(fragment: Fragment): Promise<void>;
63
- private findFragment;
63
+ findFragment(key: string): Fragment | undefined;
64
64
  renderFragment(key: string): TemplateResult | typeof nothing;
65
65
  updateActiveFragments(): void;
66
66
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"FragmentManager.d.ts","sourceRoot":"","sources":["../../../src/core/FragmentManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,oBAAY,aAAa;IACvB,WAAW,IAAA;IACX,OAAO,IAAA;IACP,QAAQ,IAAA,CAAE,mCAAmC;IAC7C,OAAO,IAAA,CAAE,UAAU;IACnB,OAAO,IAAA,CAAE,YAAY;IACrB,MAAM,IAAA;IACN,OAAO,IAAA,CAAE,oBAAoB;IAC7B,QAAQ,IAAA,CAAE,uCAAuC;IACjD,SAAS,IAAA;CACV;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAC7B;AAED;;;;GAIG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACH,OAAO,CAAC,SAAS,CAA8B;IAC/C;;OAEG;IACH,OAAO,CAAC,IAAI,CAAqB;gBAErB,IAAI,EAAE,QAAQ,GAAG,QAAQ;IAIrC;;;;;;;OAOG;IACG,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjH;;;;OAIG;IACG,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBhD;;;;OAIG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB1E;;;OAGG;IACH,UAAU,IAAI,QAAQ,EAAE;IAIxB;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrD,OAAO,CAAC,YAAY;IAIpB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,OAAO,OAAO;IAQ5D,qBAAqB,IAAI,IAAI;IAQ7B;;;;OAIG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;CAQxD"}
1
+ {"version":3,"file":"FragmentManager.d.ts","sourceRoot":"","sources":["../../../src/core/FragmentManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,oBAAY,aAAa;IACvB,WAAW,IAAA;IACX,OAAO,IAAA;IACP,QAAQ,IAAA,CAAE,mCAAmC;IAC7C,OAAO,IAAA,CAAE,UAAU;IACnB,OAAO,IAAA,CAAE,YAAY;IACrB,MAAM,IAAA;IACN,OAAO,IAAA,CAAE,oBAAoB;IAC7B,QAAQ,IAAA,CAAE,uCAAuC;IACjD,SAAS,IAAA;CACV;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAC7B;AAED;;;;GAIG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACH,OAAO,CAAC,SAAS,CAA8B;IAC/C;;OAEG;IACH,OAAO,CAAC,IAAI,CAAqB;gBAErB,IAAI,EAAE,QAAQ,GAAG,QAAQ;IAIrC;;;;;;;OAOG;IACG,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjH;;;;OAIG;IACG,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBhD;;;;OAIG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB1E;;;OAGG;IACH,UAAU,IAAI,QAAQ,EAAE;IAIxB;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrD,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI/C,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,OAAO,OAAO;IAQ5D,qBAAqB,IAAI,IAAI;IAQ7B;;;;OAIG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;CAQxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"FragmentManager.js","sourceRoot":"","sources":["../../../src/core/FragmentManager.ts"],"names":[],"mappings":"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","sourcesContent":["import { type TemplateResult, nothing } from 'lit'\nimport type { Activity } from './Activity.js'\nimport type { Fragment } from './Fragment.js'\n\nexport enum FragmentState {\n Initialized,\n Created,\n Attached, // Added to an Activity or Fragment\n Started, // Visible\n Resumed, // Has focus\n Paused,\n Stopped, // No longer visible\n Detached, // Removed from an Activity or Fragment\n Destroyed,\n}\n\nexport interface FragmentOptions {\n parent?: Activity | Fragment\n}\n\n/**\n * `FragmentManager` is the class responsible for performing actions\n * on the app's fragments, such as adding, removing, or replacing them\n * and adding them to the back stack.\n */\nexport class FragmentManager {\n /**\n * Stores fragments by I\n */\n private fragments = new Map<string, Fragment>()\n /**\n * The reference to the host activity or fragment.\n */\n private host: Activity | Fragment\n\n constructor(host: Activity | Fragment) {\n this.host = host\n }\n\n /**\n * Attaches a fragment to a parent Activity or Fragment\n *\n * @param fragment The fragment to add.\n * @param parent The parent fragment or activity.\n * @param renderTarget Optional DOM target to render to.\n * @param data Optional data to pass to the `onCreate()` method.\n */\n async attachFragment(key: string, fragment: Fragment, parent: Activity | Fragment, data?: unknown): Promise<void> {\n // Ensure fragment has correct parent\n fragment.parent = parent\n\n this.fragments.set(key, fragment)\n await fragment.onCreate(data)\n fragment.state = FragmentState.Created\n await fragment.onAttach(data)\n fragment.state = FragmentState.Attached\n }\n\n /**\n * Detaches a fragment from its parent.\n * @param fragment\n * @returns\n */\n async detachFragment(key: string): Promise<void> {\n const fragment = this.findFragment(key)\n if (!fragment) {\n throw new Error(`Fragment with key ${key} not found.`)\n }\n\n this.hideFragment(fragment)\n await fragment.onDetach()\n fragment.state = FragmentState.Detached\n await fragment.onDestroy()\n fragment.state = FragmentState.Destroyed\n this.fragments.delete(key)\n // Clear parent reference\n fragment.parent = undefined\n }\n\n /**\n * Shows a Fragment (calls lifecycle methods and renders)\n * @param fragment The fragment to render.\n * @param renderTarget Optional render target, if any.\n */\n async showFragment(key: string, renderTarget?: HTMLElement): Promise<void> {\n const fragment = this.findFragment(key)\n if (!fragment) {\n throw new Error(`Fragment with key ${key} not found.`)\n }\n if (fragment.state === FragmentState.Resumed) {\n return\n }\n // Tell the fragment it is now started.\n await fragment.onStart()\n fragment.state = FragmentState.Started\n await fragment.onResume()\n fragment.state = FragmentState.Resumed\n if (renderTarget) {\n fragment.setRenderRoot(renderTarget)\n fragment.requestUpdate({ app: false, activity: false })\n } else {\n this.host.requestUpdate({ app: false, activity: true })\n }\n }\n\n /**\n * Lists all visible fragments, that is in the fragments with the `FragmentState.Resumed` state.\n * @returns The list of visible fragments\n */\n getVisible(): Fragment[] {\n return Array.from(this.fragments.values()).filter((fragment) => fragment.state === FragmentState.Resumed)\n }\n\n /**\n * Hides a Fragment (calls lifecycle methods and removes from DOM if necessary)\n */\n async hideFragment(fragment: Fragment): Promise<void> {\n await fragment.onPause()\n fragment.state = FragmentState.Paused\n await fragment.onStop()\n fragment.state = FragmentState.Stopped\n\n // if necessary, you would remove its template content from the DOM\n // however, with rendering logic encapsulated in Fragment, this isn't needed here\n }\n\n private findFragment(key: string): Fragment | undefined {\n return this.fragments.get(key)\n }\n\n renderFragment(key: string): TemplateResult | typeof nothing {\n const fragment = this.findFragment(key)\n if (!fragment || fragment.state !== FragmentState.Resumed) {\n return nothing\n }\n return fragment?.render() || nothing\n }\n\n updateActiveFragments(): void {\n for (const [, fragment] of this.fragments) {\n if ([FragmentState.Started, FragmentState.Resumed].includes(fragment.state)) {\n fragment.requestUpdate({ app: false, activity: false })\n }\n }\n }\n\n /**\n * Finds a fragment by activity request code.\n * @param requestCode The request code to find the fragment by.\n * @returns The corresponding fragment or `null`.\n */\n findByRequestCode(requestCode: number): Fragment | null {\n for (const [, fragment] of this.fragments) {\n if (fragment.hasRequstCode(requestCode)) {\n return fragment\n }\n }\n return null\n }\n}\n"]}
1
+ {"version":3,"file":"FragmentManager.js","sourceRoot":"","sources":["../../../src/core/FragmentManager.ts"],"names":[],"mappings":"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","sourcesContent":["import { type TemplateResult, nothing } from 'lit'\nimport type { Activity } from './Activity.js'\nimport type { Fragment } from './Fragment.js'\n\nexport enum FragmentState {\n Initialized,\n Created,\n Attached, // Added to an Activity or Fragment\n Started, // Visible\n Resumed, // Has focus\n Paused,\n Stopped, // No longer visible\n Detached, // Removed from an Activity or Fragment\n Destroyed,\n}\n\nexport interface FragmentOptions {\n parent?: Activity | Fragment\n}\n\n/**\n * `FragmentManager` is the class responsible for performing actions\n * on the app's fragments, such as adding, removing, or replacing them\n * and adding them to the back stack.\n */\nexport class FragmentManager {\n /**\n * Stores fragments by I\n */\n private fragments = new Map<string, Fragment>()\n /**\n * The reference to the host activity or fragment.\n */\n private host: Activity | Fragment\n\n constructor(host: Activity | Fragment) {\n this.host = host\n }\n\n /**\n * Attaches a fragment to a parent Activity or Fragment\n *\n * @param fragment The fragment to add.\n * @param parent The parent fragment or activity.\n * @param renderTarget Optional DOM target to render to.\n * @param data Optional data to pass to the `onCreate()` method.\n */\n async attachFragment(key: string, fragment: Fragment, parent: Activity | Fragment, data?: unknown): Promise<void> {\n // Ensure fragment has correct parent\n fragment.parent = parent\n\n this.fragments.set(key, fragment)\n await fragment.onCreate(data)\n fragment.state = FragmentState.Created\n await fragment.onAttach(data)\n fragment.state = FragmentState.Attached\n }\n\n /**\n * Detaches a fragment from its parent.\n * @param fragment\n * @returns\n */\n async detachFragment(key: string): Promise<void> {\n const fragment = this.findFragment(key)\n if (!fragment) {\n throw new Error(`Fragment with key ${key} not found.`)\n }\n\n this.hideFragment(fragment)\n await fragment.onDetach()\n fragment.state = FragmentState.Detached\n await fragment.onDestroy()\n fragment.state = FragmentState.Destroyed\n this.fragments.delete(key)\n // Clear parent reference\n fragment.parent = undefined\n }\n\n /**\n * Shows a Fragment (calls lifecycle methods and renders)\n * @param fragment The fragment to render.\n * @param renderTarget Optional render target, if any.\n */\n async showFragment(key: string, renderTarget?: HTMLElement): Promise<void> {\n const fragment = this.findFragment(key)\n if (!fragment) {\n throw new Error(`Fragment with key ${key} not found.`)\n }\n if (fragment.state === FragmentState.Resumed) {\n return\n }\n // Tell the fragment it is now started.\n await fragment.onStart()\n fragment.state = FragmentState.Started\n await fragment.onResume()\n fragment.state = FragmentState.Resumed\n if (renderTarget) {\n fragment.setRenderRoot(renderTarget)\n fragment.requestUpdate({ app: false, activity: false })\n } else {\n this.host.requestUpdate({ app: false, activity: true })\n }\n }\n\n /**\n * Lists all visible fragments, that is in the fragments with the `FragmentState.Resumed` state.\n * @returns The list of visible fragments\n */\n getVisible(): Fragment[] {\n return Array.from(this.fragments.values()).filter((fragment) => fragment.state === FragmentState.Resumed)\n }\n\n /**\n * Hides a Fragment (calls lifecycle methods and removes from DOM if necessary)\n */\n async hideFragment(fragment: Fragment): Promise<void> {\n await fragment.onPause()\n fragment.state = FragmentState.Paused\n await fragment.onStop()\n fragment.state = FragmentState.Stopped\n\n // if necessary, you would remove its template content from the DOM\n // however, with rendering logic encapsulated in Fragment, this isn't needed here\n }\n\n findFragment(key: string): Fragment | undefined {\n return this.fragments.get(key)\n }\n\n renderFragment(key: string): TemplateResult | typeof nothing {\n const fragment = this.findFragment(key)\n if (!fragment || fragment.state !== FragmentState.Resumed) {\n return nothing\n }\n return fragment?.render() || nothing\n }\n\n updateActiveFragments(): void {\n for (const [, fragment] of this.fragments) {\n if ([FragmentState.Started, FragmentState.Resumed].includes(fragment.state)) {\n fragment.requestUpdate({ app: false, activity: false })\n }\n }\n }\n\n /**\n * Finds a fragment by activity request code.\n * @param requestCode The request code to find the fragment by.\n * @returns The corresponding fragment or `null`.\n */\n findByRequestCode(requestCode: number): Fragment | null {\n for (const [, fragment] of this.fragments) {\n if (fragment.hasRequstCode(requestCode)) {\n return fragment\n }\n }\n return null\n }\n}\n"]}
@@ -29,7 +29,7 @@ export declare abstract class ModalActivity extends Activity {
29
29
  */
30
30
  protected dialogClasses: Record<string, boolean>;
31
31
  /**
32
- * Controls dialog visibility withouth controlling the activity state.
32
+ * Controls dialog visibility without controlling the activity state.
33
33
  */
34
34
  accessor opened: boolean;
35
35
  /**
@@ -39,7 +39,7 @@ let ModalActivity = (() => {
39
39
  */
40
40
  );
41
41
  /**
42
- * Controls dialog visibility withouth controlling the activity state.
42
+ * Controls dialog visibility without controlling the activity state.
43
43
  */
44
44
  get opened() { return this.#opened_accessor_storage; }
45
45
  set opened(value) { this.#opened_accessor_storage = value; }
@@ -1 +1 @@
1
- {"version":3,"file":"ModalActivity.js","sourceRoot":"","sources":["../../../src/core/ModalActivity.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, type TemplateResult } from 'lit'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { Activity } from './Activity.js'\nimport type { UiDialogClosingReason } from '../md/dialog/internals/Dialog.js'\nimport state from '../decorators/state.js'\nimport { IntentResult } from './ActivityManager.js'\n\nimport '../md/dialog/ui-dialog.js'\nimport '../md/button/ui-text-button.js'\n\nexport interface ActionButtonInit {\n /**\n * The label to use for the button.\n */\n label?: string\n /**\n * Whether the button is disabled.\n */\n disabled?: boolean\n}\n\n/**\n * A special kind of activity that renders content in a modal dialog.\n * When a modal activity is running the underlying activities are paused.\n *\n * A modal activity uses the UiDialogElement to render its content. The dialog\n * is inserted directly into the `<body>` element of the document and rendered\n * in the top layer. Because of that, the modal activity does not support\n * regular rendering logic. It creates its own render root that is used to render\n * the template.\n */\nexport abstract class ModalActivity extends Activity {\n /**\n * The list of classes to apply to the dialog.\n */\n protected dialogClasses: Record<string, boolean> = {}\n /**\n * Controls dialog visibility withouth controlling the activity state.\n */\n @state() accessor opened = true\n\n /**\n * The id of the form used to render the dialog.\n */\n protected formId?: string\n\n override onResume(): void | Promise<void> {\n this.renderRoot = document.createElement('div')\n this.renderRoot.classList.add('modal-activit-container')\n document.body.appendChild(this.renderRoot)\n super.onResume()\n this.requestUpdate()\n }\n\n override async finish(): Promise<void> {\n if (this.renderRoot) {\n document.body.removeChild(this.renderRoot)\n this.renderRoot = undefined\n }\n await super.finish()\n }\n\n protected handleDialogClosed(e: CustomEvent<UiDialogClosingReason>): void {\n const { cancelled, value } = e.detail\n if (cancelled) {\n this.handleNegativeAction(value)\n } else {\n this.handlePositiveAction(value)\n }\n }\n\n /**\n * Called when the dialog is closed with a negative action.\n * Override this function to handle the negative action.\n * @param value The value passed to the dialog when it is closed.\n */\n protected handleNegativeAction(value: unknown): void {\n this.setResult(IntentResult.RESULT_CANCELED, value)\n this.finish()\n }\n\n /**\n * Called when the dialog is closed with a positive action.\n * Override this function to handle the positive action.\n * @param value The value passed to the dialog when it is closed.\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected handlePositiveAction(value: unknown): void {\n this.finish()\n }\n\n /**\n * Override this method to handle the form submission.\n * @param e The submit event.\n */\n protected handleSubmit(e: SubmitEvent): void {\n e.preventDefault()\n }\n\n /**\n * The function called by the rendered when rendering this dialog.\n * This way, the `render()` function is still used as the primary template provider.\n */\n renderDialog(): TemplateResult {\n const classes = {\n activityDialog: true,\n [this.constructor.name.toLowerCase()]: true,\n ...this.dialogClasses,\n }\n return html`<ui-dialog modal .open=\"${this.opened}\" class=\"${classMap(classes)}\" @close=\"${this.handleDialogClosed}\"\n >${this.render()}</ui-dialog\n >`\n }\n\n /**\n * Used with dialogs that render forms. Override the `handleSubmit` method\n * to handle the form submission.\n * @param content The content to render in the form.\n * @param name Optional form name\n */\n protected renderForm(content: TemplateResult, name?: string): TemplateResult {\n if (!this.formId) {\n this.formId = `form-${this.constructor.name.toLowerCase()}`\n }\n return html`<form\n id=\"${this.formId}\"\n name=\"${ifDefined(name)}\"\n class=\"dialog-content\"\n @submit=\"${this.handleSubmit}\"\n >\n ${content}\n </form>`\n }\n\n /**\n * Renders the cancel button for the dialog.\n * @param label The label to use for the cancel button.\n */\n protected renderNegativeButton(init: ActionButtonInit = {}): TemplateResult {\n const { label = 'Cancel' } = init\n return html`<ui-text-button slot=\"button\" type=\"button\" value=\"dismiss\">${label}</ui-text-button>`\n }\n\n /**\n * Renders the submit button for the dialog.\n * If the formId is set, the button will be a submit button.\n * Otherwise, it will be a regular button.\n * @param label The label to use for the submit button.\n */\n protected renderPositiveButton(init: ActionButtonInit = {}): TemplateResult {\n const { label = 'OK', disabled = false } = init\n const { formId } = this\n const type = formId ? 'submit' : 'button'\n // UI buttons have a proper support for form association.\n return html`<ui-text-button\n slot=\"button\"\n ?disabled=\"${disabled}\"\n type=\"${type}\"\n value=\"confirm\"\n form=\"${ifDefined(formId)}\"\n >${label}</ui-text-button\n >`\n }\n\n /**\n * Renders the title for the dialog.\n * @param title The title to render in the dialog.\n */\n protected renderTitle(title: string): TemplateResult {\n return html`<span slot=\"title\">${title}</span>`\n }\n}\n"]}
1
+ {"version":3,"file":"ModalActivity.js","sourceRoot":"","sources":["../../../src/core/ModalActivity.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, type TemplateResult } from 'lit'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { Activity } from './Activity.js'\nimport type { UiDialogClosingReason } from '../md/dialog/internals/Dialog.js'\nimport state from '../decorators/state.js'\nimport { IntentResult } from './ActivityManager.js'\n\nimport '../md/dialog/ui-dialog.js'\nimport '../md/button/ui-text-button.js'\n\nexport interface ActionButtonInit {\n /**\n * The label to use for the button.\n */\n label?: string\n /**\n * Whether the button is disabled.\n */\n disabled?: boolean\n}\n\n/**\n * A special kind of activity that renders content in a modal dialog.\n * When a modal activity is running the underlying activities are paused.\n *\n * A modal activity uses the UiDialogElement to render its content. The dialog\n * is inserted directly into the `<body>` element of the document and rendered\n * in the top layer. Because of that, the modal activity does not support\n * regular rendering logic. It creates its own render root that is used to render\n * the template.\n */\nexport abstract class ModalActivity extends Activity {\n /**\n * The list of classes to apply to the dialog.\n */\n protected dialogClasses: Record<string, boolean> = {}\n /**\n * Controls dialog visibility without controlling the activity state.\n */\n @state() accessor opened = true\n\n /**\n * The id of the form used to render the dialog.\n */\n protected formId?: string\n\n override onResume(): void | Promise<void> {\n this.renderRoot = document.createElement('div')\n this.renderRoot.classList.add('modal-activit-container')\n document.body.appendChild(this.renderRoot)\n super.onResume()\n this.requestUpdate()\n }\n\n override async finish(): Promise<void> {\n if (this.renderRoot) {\n document.body.removeChild(this.renderRoot)\n this.renderRoot = undefined\n }\n await super.finish()\n }\n\n protected handleDialogClosed(e: CustomEvent<UiDialogClosingReason>): void {\n const { cancelled, value } = e.detail\n if (cancelled) {\n this.handleNegativeAction(value)\n } else {\n this.handlePositiveAction(value)\n }\n }\n\n /**\n * Called when the dialog is closed with a negative action.\n * Override this function to handle the negative action.\n * @param value The value passed to the dialog when it is closed.\n */\n protected handleNegativeAction(value: unknown): void {\n this.setResult(IntentResult.RESULT_CANCELED, value)\n this.finish()\n }\n\n /**\n * Called when the dialog is closed with a positive action.\n * Override this function to handle the positive action.\n * @param value The value passed to the dialog when it is closed.\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected handlePositiveAction(value: unknown): void {\n this.finish()\n }\n\n /**\n * Override this method to handle the form submission.\n * @param e The submit event.\n */\n protected handleSubmit(e: SubmitEvent): void {\n e.preventDefault()\n }\n\n /**\n * The function called by the rendered when rendering this dialog.\n * This way, the `render()` function is still used as the primary template provider.\n */\n renderDialog(): TemplateResult {\n const classes = {\n activityDialog: true,\n [this.constructor.name.toLowerCase()]: true,\n ...this.dialogClasses,\n }\n return html`<ui-dialog modal .open=\"${this.opened}\" class=\"${classMap(classes)}\" @close=\"${this.handleDialogClosed}\"\n >${this.render()}</ui-dialog\n >`\n }\n\n /**\n * Used with dialogs that render forms. Override the `handleSubmit` method\n * to handle the form submission.\n * @param content The content to render in the form.\n * @param name Optional form name\n */\n protected renderForm(content: TemplateResult, name?: string): TemplateResult {\n if (!this.formId) {\n this.formId = `form-${this.constructor.name.toLowerCase()}`\n }\n return html`<form\n id=\"${this.formId}\"\n name=\"${ifDefined(name)}\"\n class=\"dialog-content\"\n @submit=\"${this.handleSubmit}\"\n >\n ${content}\n </form>`\n }\n\n /**\n * Renders the cancel button for the dialog.\n * @param label The label to use for the cancel button.\n */\n protected renderNegativeButton(init: ActionButtonInit = {}): TemplateResult {\n const { label = 'Cancel' } = init\n return html`<ui-text-button slot=\"button\" type=\"button\" value=\"dismiss\">${label}</ui-text-button>`\n }\n\n /**\n * Renders the submit button for the dialog.\n * If the formId is set, the button will be a submit button.\n * Otherwise, it will be a regular button.\n * @param label The label to use for the submit button.\n */\n protected renderPositiveButton(init: ActionButtonInit = {}): TemplateResult {\n const { label = 'OK', disabled = false } = init\n const { formId } = this\n const type = formId ? 'submit' : 'button'\n // UI buttons have a proper support for form association.\n return html`<ui-text-button\n slot=\"button\"\n ?disabled=\"${disabled}\"\n type=\"${type}\"\n value=\"confirm\"\n form=\"${ifDefined(formId)}\"\n >${label}</ui-text-button\n >`\n }\n\n /**\n * Renders the title for the dialog.\n * @param title The title to render in the dialog.\n */\n protected renderTitle(title: string): TemplateResult {\n return html`<span slot=\"title\">${title}</span>`\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { AsyncDirective } from 'lit/async-directive.js';
2
- import { type LiveData } from '../core/LiveData.js';
2
+ import { type LiveData } from '../reactive/LiveData.js';
3
3
  declare class LiveDataDirective extends AsyncDirective {
4
4
  private liveData?;
5
5
  private path?;
@@ -1 +1 @@
1
- {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../../src/directives/live.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAEnD,cAAM,iBAAkB,SAAQ,cAAc;IAC5C,OAAO,CAAC,QAAQ,CAAC,CAAkB;IACnC,OAAO,CAAC,IAAI,CAAC,CAAQ;IACrB,OAAO,CAAC,WAAW,CAAC,CAAY;IAChC,OAAO,CAAC,SAAS,CAAC,CAAS;IAE3B,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO;IAqBtE,SAAS,IAAI,IAAI;cASE,YAAY;cAKZ,WAAW;CAG/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,IAAI,gJAA+B,CAAA"}
1
+ {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../../src/directives/live.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAEvD,cAAM,iBAAkB,SAAQ,cAAc;IAC5C,OAAO,CAAC,QAAQ,CAAC,CAAkB;IACnC,OAAO,CAAC,IAAI,CAAC,CAAQ;IACrB,OAAO,CAAC,WAAW,CAAC,CAAY;IAChC,OAAO,CAAC,SAAS,CAAC,CAAS;IAE3B,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO;IAqBtE,SAAS,IAAI,IAAI;cASE,YAAY;cAKZ,WAAW;CAG/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,IAAI,gJAA+B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"live.js","sourceRoot":"","sources":["../../../src/directives/live.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAGvD,MAAM,iBAAkB,SAAQ,cAAc;IACpC,QAAQ,CAAmB;IAC3B,IAAI,CAAS;IACb,WAAW,CAAa;IACxB,SAAS,CAAU;IAE3B,MAAM,CAAC,QAA0B,EAAE,IAAY,EAAE,WAAqB;QACpE,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;YACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;YAChB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAA;YACpB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;YAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,CAAC,SAAS,EAAE,CAAA;YAClB,CAAC;QACH,CAAC;QACD,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,GAAG,WAAW,CAAA;QACrB,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;YACtB,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,SAAS;QACP,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;QAC/B,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC7D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC3B,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAEkB,YAAY;QAC7B,IAAI,CAAC,WAAW,EAAE,EAAE,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;IAC9B,CAAC;IAEkB,WAAW;QAC5B,IAAI,CAAC,SAAS,EAAE,CAAA;IAClB,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAA","sourcesContent":["import { noChange } from 'lit'\nimport { directive } from 'lit/directive.js'\nimport { AsyncDirective } from 'lit/async-directive.js'\nimport { type LiveData } from '../core/LiveData.js'\n\nclass LiveDataDirective extends AsyncDirective {\n private liveData?: LiveData<object>\n private path?: string\n private unsubscribe?: () => void\n private lastValue?: unknown\n\n render(liveData: LiveData<object>, path: string, defaultVaue?: unknown) {\n if (this.liveData !== liveData) {\n this.liveData = liveData\n this.path = path\n this.unsubscribe?.()\n this.unsubscribe = undefined\n if (this.isConnected) {\n this.subscribe()\n }\n }\n let value = liveData.get(path)\n if (value === undefined) {\n value = defaultVaue\n }\n if (value !== this.lastValue) {\n this.lastValue = value\n return value\n }\n return noChange\n }\n\n subscribe(): void {\n const { liveData, path } = this\n if (liveData && path) {\n this.unsubscribe = liveData.observeProperties([path], (data) => {\n this.setValue(data.value)\n })\n }\n }\n\n protected override disconnected() {\n this.unsubscribe?.()\n this.unsubscribe = undefined\n }\n\n protected override reconnected() {\n this.subscribe()\n }\n}\n\n/**\n * A Lit directive that connects a `LiveData` property to a LitElement property.\n * When the `LiveData` property changes, the LitElement re-renders.\n *\n * @param liveData - The `LiveData` instance.\n * @param path - The dot-notation path to the property to observe (e.g., \"user.name\").\n * @returns The current value of the `LiveData` property.\n *\n * @example\n * ```typescript\n * import { LitElement, html } from 'lit';\n * import { customElement } from 'lit/decorators.js';\n * import { live, LiveData } from './LiveData.js';\n *\n * @customElement('my-element')\n * export class MyElement extends LitElement {\n * // Create a LiveData instance\n * userData = new LiveData({ name: 'Initial Name' });\n *\n * override render() {\n * return html`\n * <div>User Name: ${live(this.userData, 'name')}</div>\n * `;\n * }\n * }\n * ```\n */\nexport const live = directive(LiveDataDirective)\n"]}
1
+ {"version":3,"file":"live.js","sourceRoot":"","sources":["../../../src/directives/live.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAGvD,MAAM,iBAAkB,SAAQ,cAAc;IACpC,QAAQ,CAAmB;IAC3B,IAAI,CAAS;IACb,WAAW,CAAa;IACxB,SAAS,CAAU;IAE3B,MAAM,CAAC,QAA0B,EAAE,IAAY,EAAE,WAAqB;QACpE,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;YACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;YAChB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAA;YACpB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;YAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,CAAC,SAAS,EAAE,CAAA;YAClB,CAAC;QACH,CAAC;QACD,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,GAAG,WAAW,CAAA;QACrB,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;YACtB,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,SAAS;QACP,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;QAC/B,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC7D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC3B,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAEkB,YAAY;QAC7B,IAAI,CAAC,WAAW,EAAE,EAAE,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;IAC9B,CAAC;IAEkB,WAAW;QAC5B,IAAI,CAAC,SAAS,EAAE,CAAA;IAClB,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAA","sourcesContent":["import { noChange } from 'lit'\nimport { directive } from 'lit/directive.js'\nimport { AsyncDirective } from 'lit/async-directive.js'\nimport { type LiveData } from '../reactive/LiveData.js'\n\nclass LiveDataDirective extends AsyncDirective {\n private liveData?: LiveData<object>\n private path?: string\n private unsubscribe?: () => void\n private lastValue?: unknown\n\n render(liveData: LiveData<object>, path: string, defaultVaue?: unknown) {\n if (this.liveData !== liveData) {\n this.liveData = liveData\n this.path = path\n this.unsubscribe?.()\n this.unsubscribe = undefined\n if (this.isConnected) {\n this.subscribe()\n }\n }\n let value = liveData.get(path)\n if (value === undefined) {\n value = defaultVaue\n }\n if (value !== this.lastValue) {\n this.lastValue = value\n return value\n }\n return noChange\n }\n\n subscribe(): void {\n const { liveData, path } = this\n if (liveData && path) {\n this.unsubscribe = liveData.observeProperties([path], (data) => {\n this.setValue(data.value)\n })\n }\n }\n\n protected override disconnected() {\n this.unsubscribe?.()\n this.unsubscribe = undefined\n }\n\n protected override reconnected() {\n this.subscribe()\n }\n}\n\n/**\n * A Lit directive that connects a `LiveData` property to a LitElement property.\n * When the `LiveData` property changes, the LitElement re-renders.\n *\n * @param liveData - The `LiveData` instance.\n * @param path - The dot-notation path to the property to observe (e.g., \"user.name\").\n * @returns The current value of the `LiveData` property.\n *\n * @example\n * ```typescript\n * import { LitElement, html } from 'lit';\n * import { customElement } from 'lit/decorators.js';\n * import { live, LiveData } from './LiveData.js';\n *\n * @customElement('my-element')\n * export class MyElement extends LitElement {\n * // Create a LiveData instance\n * userData = new LiveData({ name: 'Initial Name' });\n *\n * override render() {\n * return html`\n * <div>User Name: ${live(this.userData, 'name')}</div>\n * `;\n * }\n * }\n * ```\n */\nexport const live = directive(LiveDataDirective)\n"]}