@api-client/ui 0.0.11 → 0.0.13

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 (242) hide show
  1. package/.eslintrc +8 -0
  2. package/demo/elements/authorization/cc.ts +56 -27
  3. package/demo/elements/index.html +3 -0
  4. package/demo/elements/store/file-picker.html +15 -0
  5. package/demo/elements/store/file-picker.ts +134 -0
  6. package/demo/elements/store/index.html +19 -0
  7. package/demo/store/StorePlugin.js +1 -0
  8. package/dist/bindings/base/FileBindings.d.ts +4 -0
  9. package/dist/bindings/base/FileBindings.d.ts.map +1 -1
  10. package/dist/bindings/base/FileBindings.js +21 -1
  11. package/dist/bindings/base/FileBindings.js.map +1 -1
  12. package/dist/bindings/base/StoreBindings.d.ts +6 -17
  13. package/dist/bindings/base/StoreBindings.d.ts.map +1 -1
  14. package/dist/bindings/base/StoreBindings.js +15 -60
  15. package/dist/bindings/base/StoreBindings.js.map +1 -1
  16. package/dist/bindings/web/WebFileBindings.js +1 -1
  17. package/dist/bindings/web/WebFileBindings.js.map +1 -1
  18. package/dist/define/http/certificate-add.d.ts +9 -0
  19. package/dist/define/http/certificate-add.d.ts.map +1 -0
  20. package/dist/define/http/certificate-add.js +10 -0
  21. package/dist/define/http/certificate-add.js.map +1 -0
  22. package/dist/define/store/file-picker.d.ts +9 -0
  23. package/dist/define/store/file-picker.d.ts.map +1 -0
  24. package/dist/define/store/file-picker.js +10 -0
  25. package/dist/define/store/file-picker.js.map +1 -0
  26. package/dist/define/{files → store}/share-file.d.ts +1 -1
  27. package/dist/define/store/share-file.d.ts.map +1 -0
  28. package/dist/define/{files → store}/share-file.js +2 -2
  29. package/dist/define/store/share-file.js.map +1 -0
  30. package/dist/define/ui/ui-segmented-button-set.d.ts +1 -1
  31. package/dist/define/ui/ui-segmented-button-set.d.ts.map +1 -1
  32. package/dist/define/ui/ui-segmented-button-set.js.map +1 -1
  33. package/dist/elements/authorization/ui/CC.styles.d.ts.map +1 -1
  34. package/dist/elements/authorization/ui/CC.styles.js +4 -9
  35. package/dist/elements/authorization/ui/CC.styles.js.map +1 -1
  36. package/dist/elements/authorization/ui/CcAuthorization.d.ts +14 -29
  37. package/dist/elements/authorization/ui/CcAuthorization.d.ts.map +1 -1
  38. package/dist/elements/authorization/ui/CcAuthorization.js +67 -158
  39. package/dist/elements/authorization/ui/CcAuthorization.js.map +1 -1
  40. package/dist/elements/http/CertificateAdd.element.d.ts +91 -0
  41. package/dist/elements/http/CertificateAdd.element.d.ts.map +1 -0
  42. package/dist/elements/http/CertificateAdd.element.js +389 -0
  43. package/dist/elements/http/CertificateAdd.element.js.map +1 -0
  44. package/dist/elements/http/CertificateAdd.styles.d.ts +3 -0
  45. package/dist/elements/http/CertificateAdd.styles.d.ts.map +1 -0
  46. package/dist/elements/http/CertificateAdd.styles.js +61 -0
  47. package/dist/elements/http/CertificateAdd.styles.js.map +1 -0
  48. package/dist/elements/project/ProjectRunReport.d.ts +2 -1
  49. package/dist/elements/project/ProjectRunReport.d.ts.map +1 -1
  50. package/dist/elements/project/ProjectRunReport.js.map +1 -1
  51. package/dist/elements/store/FilePicker.element.d.ts +87 -0
  52. package/dist/elements/store/FilePicker.element.d.ts.map +1 -0
  53. package/dist/elements/store/FilePicker.element.js +263 -0
  54. package/dist/elements/store/FilePicker.element.js.map +1 -0
  55. package/dist/elements/store/FilePicker.styles.d.ts +3 -0
  56. package/dist/elements/store/FilePicker.styles.d.ts.map +1 -0
  57. package/dist/elements/store/FilePicker.styles.js +73 -0
  58. package/dist/elements/store/FilePicker.styles.js.map +1 -0
  59. package/dist/elements/store/FilesLib.d.ts +10 -0
  60. package/dist/elements/store/FilesLib.d.ts.map +1 -0
  61. package/dist/elements/store/FilesLib.js +38 -0
  62. package/dist/elements/store/FilesLib.js.map +1 -0
  63. package/dist/elements/{files/ShareFile.d.ts → store/ShareFile.element.d.ts} +1 -1
  64. package/dist/elements/store/ShareFile.element.d.ts.map +1 -0
  65. package/dist/elements/{files/ShareFile.js → store/ShareFile.element.js} +1 -1
  66. package/dist/elements/store/ShareFile.element.js.map +1 -0
  67. package/dist/elements/store/ShareFile.styles.d.ts.map +1 -0
  68. package/dist/elements/{files → store}/ShareFile.styles.js.map +1 -1
  69. package/dist/events/EventTypes.d.ts +7 -7
  70. package/dist/events/EventTypes.d.ts.map +1 -1
  71. package/dist/events/EventTypes.js +8 -7
  72. package/dist/events/EventTypes.js.map +1 -1
  73. package/dist/events/Events.d.ts +7 -1
  74. package/dist/events/Events.d.ts.map +1 -1
  75. package/dist/events/Events.js +2 -0
  76. package/dist/events/Events.js.map +1 -1
  77. package/dist/events/FilesystemEvents.d.ts +8 -0
  78. package/dist/events/FilesystemEvents.d.ts.map +1 -0
  79. package/dist/events/FilesystemEvents.js +59 -0
  80. package/dist/events/FilesystemEvents.js.map +1 -0
  81. package/dist/events/HttpClientEvents.d.ts +0 -2
  82. package/dist/events/HttpClientEvents.d.ts.map +1 -1
  83. package/dist/events/HttpClientEvents.js +0 -2
  84. package/dist/events/HttpClientEvents.js.map +1 -1
  85. package/dist/events/StoreEvents.d.ts +8 -1
  86. package/dist/events/StoreEvents.d.ts.map +1 -1
  87. package/dist/events/StoreEvents.js +19 -0
  88. package/dist/events/StoreEvents.js.map +1 -1
  89. package/dist/http-client/idb/Arc18DataUpgrade.d.ts +0 -8
  90. package/dist/http-client/idb/Arc18DataUpgrade.d.ts.map +1 -1
  91. package/dist/http-client/idb/Arc18DataUpgrade.js +11 -206
  92. package/dist/http-client/idb/Arc18DataUpgrade.js.map +1 -1
  93. package/dist/http-client/store/StoreBroadcast.d.ts +0 -5
  94. package/dist/http-client/store/StoreBroadcast.d.ts.map +1 -1
  95. package/dist/http-client/store/StoreBroadcast.js +0 -7
  96. package/dist/http-client/store/StoreBroadcast.js.map +1 -1
  97. package/dist/lib/files/FileUtils.d.ts +9 -0
  98. package/dist/lib/files/FileUtils.d.ts.map +1 -0
  99. package/dist/lib/files/FileUtils.js +13 -0
  100. package/dist/lib/files/FileUtils.js.map +1 -0
  101. package/dist/mixins/RouteMixin.d.ts +4 -0
  102. package/dist/mixins/RouteMixin.d.ts.map +1 -1
  103. package/dist/mixins/RouteMixin.js +1 -0
  104. package/dist/mixins/RouteMixin.js.map +1 -1
  105. package/dist/pages/ApplicationScreen.d.ts +1 -1
  106. package/dist/pages/ApplicationScreen.d.ts.map +1 -1
  107. package/dist/pages/ApplicationScreen.js +4 -2
  108. package/dist/pages/ApplicationScreen.js.map +1 -1
  109. package/dist/pages/api-client/ApiClient.screen.d.ts +4 -6
  110. package/dist/pages/api-client/ApiClient.screen.d.ts.map +1 -1
  111. package/dist/pages/api-client/ApiClient.screen.js +39 -31
  112. package/dist/pages/api-client/ApiClient.screen.js.map +1 -1
  113. package/dist/pages/api-client/ApiClient.styles.d.ts.map +1 -1
  114. package/dist/pages/api-client/ApiClient.styles.js +0 -12
  115. package/dist/pages/api-client/ApiClient.styles.js.map +1 -1
  116. package/dist/pages/api-client/Authenticate.screen.d.ts +1 -1
  117. package/dist/pages/api-client/Authenticate.screen.d.ts.map +1 -1
  118. package/dist/pages/api-client/Authenticate.screen.js +2 -2
  119. package/dist/pages/api-client/Authenticate.screen.js.map +1 -1
  120. package/dist/pages/api-client/pages/Files.page.d.ts +6 -35
  121. package/dist/pages/api-client/pages/Files.page.d.ts.map +1 -1
  122. package/dist/pages/api-client/pages/Files.page.js +45 -141
  123. package/dist/pages/api-client/pages/Files.page.js.map +1 -1
  124. package/dist/pages/api-client/pages/Shared.page.d.ts +1 -5
  125. package/dist/pages/api-client/pages/Shared.page.d.ts.map +1 -1
  126. package/dist/pages/api-client/pages/Shared.page.js +1 -40
  127. package/dist/pages/api-client/pages/Shared.page.js.map +1 -1
  128. package/dist/pages/demo/DemoPage.d.ts +7 -0
  129. package/dist/pages/demo/DemoPage.d.ts.map +1 -1
  130. package/dist/pages/demo/DemoPage.js +14 -0
  131. package/dist/pages/demo/DemoPage.js.map +1 -1
  132. package/dist/store/FileSystem.d.ts +90 -0
  133. package/dist/store/FileSystem.d.ts.map +1 -0
  134. package/dist/store/FileSystem.js +260 -0
  135. package/dist/store/FileSystem.js.map +1 -0
  136. package/dist/styles/global-styles.d.ts.map +1 -1
  137. package/dist/styles/global-styles.js +7 -0
  138. package/dist/styles/global-styles.js.map +1 -1
  139. package/dist/ui/button/SegmentedButtonsSet.d.ts +14 -0
  140. package/dist/ui/button/SegmentedButtonsSet.d.ts.map +1 -1
  141. package/dist/ui/button/SegmentedButtonsSet.js.map +1 -1
  142. package/dist/ui/icons/Icons.d.ts +2 -1
  143. package/dist/ui/icons/Icons.d.ts.map +1 -1
  144. package/dist/ui/icons/Icons.js +1 -0
  145. package/dist/ui/icons/Icons.js.map +1 -1
  146. package/dist/ui/list/UiDropdownList.d.ts +9 -1
  147. package/dist/ui/list/UiDropdownList.d.ts.map +1 -1
  148. package/dist/ui/list/UiDropdownList.js +39 -17
  149. package/dist/ui/list/UiDropdownList.js.map +1 -1
  150. package/dist/ui/list/UiList.d.ts +6 -1
  151. package/dist/ui/list/UiList.d.ts.map +1 -1
  152. package/dist/ui/list/UiList.js +24 -9
  153. package/dist/ui/list/UiList.js.map +1 -1
  154. package/dist/ui/notification/SnackNotifications.d.ts +1 -0
  155. package/dist/ui/notification/SnackNotifications.d.ts.map +1 -1
  156. package/dist/ui/notification/SnackNotifications.js +7 -0
  157. package/dist/ui/notification/SnackNotifications.js.map +1 -1
  158. package/dist/ui/table/DataTable.d.ts +4 -0
  159. package/dist/ui/table/DataTable.d.ts.map +1 -1
  160. package/dist/ui/table/DataTable.js +23 -1
  161. package/dist/ui/table/DataTable.js.map +1 -1
  162. package/package.json +1 -1
  163. package/src/bindings/base/FileBindings.ts +25 -1
  164. package/src/bindings/base/StoreBindings.ts +16 -73
  165. package/src/bindings/web/WebFileBindings.ts +1 -1
  166. package/src/define/http/certificate-add.ts +12 -0
  167. package/src/define/store/file-picker.ts +12 -0
  168. package/src/define/{files → store}/share-file.ts +2 -2
  169. package/src/define/ui/ui-segmented-button-set.ts +1 -1
  170. package/src/elements/authorization/ui/CC.styles.ts +4 -9
  171. package/src/elements/authorization/ui/CcAuthorization.ts +67 -167
  172. package/src/elements/http/CertificateAdd.element.ts +443 -0
  173. package/src/elements/http/CertificateAdd.styles.ts +61 -0
  174. package/src/elements/project/ProjectRunReport.ts +2 -1
  175. package/src/elements/store/FilePicker.element.ts +297 -0
  176. package/src/elements/store/FilePicker.styles.ts +73 -0
  177. package/src/elements/store/FilesLib.ts +32 -0
  178. package/src/events/EventTypes.ts +8 -7
  179. package/src/events/Events.ts +2 -0
  180. package/src/events/FilesystemEvents.ts +63 -0
  181. package/src/events/HttpClientEvents.ts +0 -2
  182. package/src/events/StoreEvents.ts +21 -1
  183. package/src/http-client/idb/Arc18DataUpgrade.ts +84 -84
  184. package/src/http-client/store/StoreBroadcast.ts +0 -8
  185. package/src/lib/files/FileUtils.ts +12 -0
  186. package/src/mixins/RouteMixin.ts +8 -1
  187. package/src/pages/ApplicationScreen.ts +5 -3
  188. package/src/pages/api-client/ApiClient.screen.ts +42 -33
  189. package/src/pages/api-client/ApiClient.styles.ts +0 -12
  190. package/src/pages/api-client/Authenticate.screen.ts +2 -2
  191. package/src/pages/api-client/pages/Files.page.ts +48 -164
  192. package/src/pages/api-client/pages/Shared.page.ts +2 -40
  193. package/src/pages/demo/DemoPage.ts +17 -0
  194. package/src/store/FileSystem.ts +325 -0
  195. package/src/styles/global-styles.ts +7 -0
  196. package/src/ui/button/SegmentedButtonsSet.ts +16 -1
  197. package/src/ui/icons/Icons.ts +2 -1
  198. package/src/ui/list/UiDropdownList.ts +44 -17
  199. package/src/ui/list/UiList.ts +26 -10
  200. package/src/ui/notification/SnackNotifications.ts +8 -0
  201. package/src/ui/table/DataTable.ts +29 -3
  202. package/test/elements/http/BodyFormdataEditorElement.test.ts +458 -454
  203. package/test/elements/http/BodyMultipartEditorElement.test.ts +609 -605
  204. package/test/elements/http/BodyRawEditorElement.test.ts +60 -56
  205. package/test/elements/http/CertificateAdd.test.ts +430 -0
  206. package/test/elements/store/FilePicker.test.ts +241 -0
  207. package/test/env.js +3 -0
  208. package/test/events/EventTypes.test.ts +0 -22
  209. package/test/helpers/StoreHelper.ts +390 -0
  210. package/test/helpers/UiMock.ts +19 -2
  211. package/tsconfig.eslint.json +3 -1
  212. package/web-test-runner.config.mjs +50 -3
  213. package/dist/define/files/share-file.d.ts.map +0 -1
  214. package/dist/define/files/share-file.js.map +0 -1
  215. package/dist/elements/files/ShareFile.d.ts.map +0 -1
  216. package/dist/elements/files/ShareFile.js.map +0 -1
  217. package/dist/elements/files/ShareFile.styles.d.ts.map +0 -1
  218. package/dist/events/http-client/models/CertificatesEvents.d.ts +0 -12
  219. package/dist/events/http-client/models/CertificatesEvents.d.ts.map +0 -1
  220. package/dist/events/http-client/models/CertificatesEvents.js +0 -18
  221. package/dist/events/http-client/models/CertificatesEvents.js.map +0 -1
  222. package/dist/http-client/idb/AuthDataModel.d.ts +0 -60
  223. package/dist/http-client/idb/AuthDataModel.d.ts.map +0 -1
  224. package/dist/http-client/idb/AuthDataModel.js +0 -150
  225. package/dist/http-client/idb/AuthDataModel.js.map +0 -1
  226. package/dist/http-client/idb/HostsModel.d.ts +0 -25
  227. package/dist/http-client/idb/HostsModel.d.ts.map +0 -1
  228. package/dist/http-client/idb/HostsModel.js +0 -82
  229. package/dist/http-client/idb/HostsModel.js.map +0 -1
  230. package/dist/http-client/idb/LegacyMockedStore.d.ts +0 -214
  231. package/dist/http-client/idb/LegacyMockedStore.d.ts.map +0 -1
  232. package/dist/http-client/idb/LegacyMockedStore.js +0 -486
  233. package/dist/http-client/idb/LegacyMockedStore.js.map +0 -1
  234. package/src/events/http-client/models/CertificatesEvents.ts +0 -23
  235. package/src/http-client/idb/AuthDataModel.ts +0 -175
  236. package/src/http-client/idb/HostsModel.ts +0 -125
  237. package/src/http-client/idb/LegacyMockedStore.ts +0 -544
  238. package/test/apic-ui.test.ts +0 -31
  239. /package/dist/elements/{files → store}/ShareFile.styles.d.ts +0 -0
  240. /package/dist/elements/{files → store}/ShareFile.styles.js +0 -0
  241. /package/src/elements/{files/ShareFile.ts → store/ShareFile.element.ts} +0 -0
  242. /package/src/elements/{files → store}/ShareFile.styles.ts +0 -0
package/.eslintrc CHANGED
@@ -53,6 +53,10 @@
53
53
  ],
54
54
  "rules": {
55
55
  "class-methods-use-this": "off"
56
+ },
57
+ "env": {
58
+ "node": false,
59
+ "browser": true
56
60
  }
57
61
  },
58
62
  {
@@ -61,6 +65,10 @@
61
65
  ],
62
66
  "rules": {
63
67
  "class-methods-use-this": "off"
68
+ },
69
+ "env": {
70
+ "node": false,
71
+ "browser": true
64
72
  }
65
73
  },
66
74
  {
@@ -1,12 +1,14 @@
1
1
  import { html, TemplateResult } from 'lit';
2
- import { IRequestAuthorization, RequestAuthorization, ProjectMock } from '@api-client/core/build/browser.js';
2
+ import { IRequestAuthorization, RequestAuthorization, ProjectMock, ISpace, CertificateFile } from '@api-client/core/build/browser.js';
3
3
  import { reactive } from '../../../src/lib/decorators.js';
4
4
  import { DemoPage } from '../../../src/pages/demo/DemoPage.js';
5
5
  import { Authorization } from '../../../src/elements/authorization/ui/Authorization.js';
6
- import { WebHttpClientStoreBindings } from '../../../src/bindings/web/WebHttpClientStoreBindings.js';
6
+ import { WebStoreBindings } from '../../../src/bindings/web/WebStoreBindings.js';
7
+ import { WebConfigurationBindings } from '../../../src/bindings/web/WebConfigurationBindings.js';
8
+ import AppInfo from '../../../src/pages/api-client/AppInfo.js';
7
9
  import '../../../src/define/authorization/cc-authorization.js';
8
10
 
9
- const workerUri = new URL('/src/http-client/store/IdbThread.ts', import.meta.url).toString();
11
+ const configUri = new URL('/demo/lib/io/AppConfig.ts', import.meta.url).toString();
10
12
 
11
13
  const STORE_KEY = 'demo.authorization.editor.cc';
12
14
 
@@ -15,12 +17,16 @@ class ComponentDemoPage extends DemoPage {
15
17
 
16
18
  @reactive() authorization: IRequestAuthorization;
17
19
 
18
- store = new WebHttpClientStoreBindings({ code: 'demo', name: 'Demo', 'version': '0' }, workerUri);
19
-
20
- mock = new ProjectMock();
20
+ mocking = new ProjectMock();
21
21
 
22
22
  @reactive() initialized = false;
23
23
 
24
+ store = new WebStoreBindings(AppInfo, `http://localhost:8550/v1`);
25
+
26
+ config = new WebConfigurationBindings(AppInfo, configUri);
27
+
28
+ space?: ISpace;
29
+
24
30
  constructor() {
25
31
  super();
26
32
  this.store.space = 'demo-space';
@@ -30,13 +36,41 @@ class ComponentDemoPage extends DemoPage {
30
36
  const auth = RequestAuthorization.fromTypedConfig('client certificate', {}, false);
31
37
  this.authorization = auth.toJSON();
32
38
  }
33
-
34
- this.init();
35
39
  }
36
40
 
37
- async init(): Promise<void> {
41
+ async initialize(): Promise<void> {
42
+ await this.config.initialize();
38
43
  await this.store.initialize();
44
+ const env = await this.config.environment.read();
45
+ await this.store.global.set(env);
46
+ this.authenticated = await this.store.auth.isAuthenticated();
47
+ if (!this.authenticated) {
48
+ this.initialized = true;
49
+ return;
50
+ }
51
+ await this.afterAuth();
52
+ }
53
+
54
+ protected async afterAuth(): Promise<void> {
55
+ const spacesResult = await this.store.spaces.list();
56
+ const { items } = spacesResult;
57
+ const [space] = items;
58
+ if (!space) {
59
+ return;
60
+ }
61
+ this.space = space;
62
+ this.store.space = space.key;
63
+ await this.store.observeFiles();
39
64
  this.initialized = true;
65
+ this.render();
66
+ }
67
+
68
+ async handleAuthenticate(): Promise<void> {
69
+ const { store } = this;
70
+ await store.auth.authenticate({ updateEnvironment: true });
71
+ this.authenticated = true;
72
+ this.initialized = false;
73
+ await this.afterAuth();
40
74
  }
41
75
 
42
76
  restoreAuth(): void {
@@ -64,21 +98,15 @@ class ComponentDemoPage extends DemoPage {
64
98
  console.log('Requested to delete.');
65
99
  }
66
100
 
67
- protected handleGenerateCertificates(): void {
68
- this.generateCertificates();
69
- }
70
-
71
- protected handleClearCertificates(): void {
72
- this.clearCertificates();
73
- }
74
-
75
- async generateCertificates(): Promise<void> {
76
- const values = this.mock.certificates.certificates(100);
77
- await Promise.all(values.map(i => this.store.certificateAdd(i, '')));
78
- }
79
-
80
- async clearCertificates(): Promise<void> {
81
- await this.store.certificateEmpty('');
101
+ async handleCertificateAdd(): Promise<void> {
102
+ const { space, store } = this;
103
+ if (!space) {
104
+ return;
105
+ }
106
+ const cert = this.mocking.certificates.certificate();
107
+ const file = CertificateFile.fromCertificate(cert, space.key).toJSON();
108
+ await store.files.add(file);
109
+ await store.media.add(file.key, cert, 'application/json');
82
110
  }
83
111
 
84
112
  contentTemplate(): TemplateResult {
@@ -97,13 +125,14 @@ class ComponentDemoPage extends DemoPage {
97
125
  <section class="demo-section">
98
126
  <h2 class="title-large">Data configuration</h2>
99
127
  <div class="demo-row">
100
- <ui-button type="outlined" @click="${this.handleGenerateCertificates}">Generate Certificates</ui-button>
101
- <ui-button type="outlined" @click="${this.handleClearCertificates}">Clear certificates</ui-button>
128
+ <ui-button type="outlined" @click="${this.handleCertificateAdd}">Add a certificate</ui-button>
102
129
  </div>
103
130
  </section>
104
131
 
105
132
  <section class="demo-section">
106
133
  <cc-authorization
134
+ canDelete
135
+ canToggle
107
136
  .authorization="${this.authorization}"
108
137
  @change="${this.handleChange}"
109
138
  @delete="${this.handleDelete}"
@@ -114,4 +143,4 @@ class ComponentDemoPage extends DemoPage {
114
143
  }
115
144
 
116
145
  const instance = new ComponentDemoPage();
117
- instance.render();
146
+ instance.initialize();
@@ -41,6 +41,9 @@
41
41
 
42
42
  <dt><a href="authorization/index.html">Authorization element</a></dt>
43
43
  <dd>Elements to define HTTP authorization.</dd>
44
+
45
+ <dt><a href="store/index.html">Net store UI</a></dt>
46
+ <dd>UIs related to the net-store library.</dd>
44
47
  </dl>
45
48
  </nav>
46
49
  </main>
@@ -0,0 +1,15 @@
1
+ <!doctype html>
2
+ <html lang="en-GB">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1, user-scalable=yes">
6
+ <title>File picker</title>
7
+ <link href="../../../src/styles/m3/tokens.css" rel="stylesheet" type="text/css" />
8
+ <link href="../../../src/styles/m3/theme.css" rel="stylesheet" type="text/css" />
9
+ </head>
10
+ <body>
11
+ <div id="app"></div>
12
+
13
+ <script type="module" src="./file-picker.ts"></script>
14
+ </body>
15
+ </html>
@@ -0,0 +1,134 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ import { html, TemplateResult } from 'lit';
3
+ import { CertificateFile, Folder, HttpProject, ISpace, Project, ProjectMock } from '@api-client/core/build/browser.js';
4
+ import { DemoPage } from '../../../src/pages/demo/DemoPage.js';
5
+ import { WebStoreBindings } from '../../../src/bindings/web/WebStoreBindings.js';
6
+ import { WebConfigurationBindings } from '../../../src/bindings/web/WebConfigurationBindings.js';
7
+ import AppInfo from '../../../src/pages/api-client/AppInfo.js';
8
+ import type { FilePickerClosingReason } from '../../../src/elements/store/FilePicker.element.js';
9
+ import { reactive } from '../../../src/lib/decorators.js';
10
+ import '../../../src/define/store/file-picker.js';
11
+ import '../../../src/define/ui/ui-button.js';
12
+ import '../../../src/define/ui/ui-dropdown-list.js';
13
+
14
+ const configUri = new URL('/demo/lib/io/AppConfig.ts', import.meta.url).toString();
15
+
16
+ class ComponentDemoPage extends DemoPage {
17
+ componentName = 'File picker';
18
+
19
+ @reactive() initialized = false;
20
+
21
+ store = new WebStoreBindings(AppInfo, `http://localhost:8550/v1`);
22
+
23
+ config = new WebConfigurationBindings(AppInfo, configUri);
24
+
25
+ mocking = new ProjectMock();
26
+
27
+ space?: ISpace;
28
+
29
+ async initialize(): Promise<void> {
30
+ await this.config.initialize();
31
+ await this.store.initialize();
32
+ const env = await this.config.environment.read();
33
+ await this.store.global.set(env);
34
+ this.authenticated = await this.store.auth.isAuthenticated();
35
+ if (!this.authenticated) {
36
+ this.initialized = true;
37
+ return;
38
+ }
39
+ await this.afterAuth();
40
+ }
41
+
42
+ protected async afterAuth(): Promise<void> {
43
+ const spacesResult = await this.store.spaces.list();
44
+ const { items } = spacesResult;
45
+ const [space] = items;
46
+ if (!space) {
47
+ return;
48
+ }
49
+ this.space = space;
50
+ this.store.space = space.key;
51
+ await this.store.observeFiles();
52
+ this.initialized = true;
53
+ this.render();
54
+ }
55
+
56
+ protected handleClose(e: CustomEvent<FilePickerClosingReason>): void {
57
+ const { canceled, file } = e.detail;
58
+ if (canceled) {
59
+ console.log('Dialog was canceled');
60
+ } else {
61
+ console.log('Selected file', file);
62
+ }
63
+ }
64
+
65
+ async handleAuthenticate(): Promise<void> {
66
+ const { store } = this;
67
+ await store.auth.authenticate({ updateEnvironment: true });
68
+ this.authenticated = true;
69
+ this.initialized = false;
70
+ await this.afterAuth();
71
+ }
72
+
73
+ async handleFolderAdd(): Promise<void> {
74
+ const { space, store } = this;
75
+ if (!space) {
76
+ return;
77
+ }
78
+ const instance = Folder.fromName(this.mocking.lorem.word(), space.key).toJSON();
79
+ await store.files.add(instance);
80
+ }
81
+
82
+ async handleProjectAdd(): Promise<void> {
83
+ const { space, store } = this;
84
+ if (!space) {
85
+ return;
86
+ }
87
+ const project = HttpProject.fromName(this.mocking.lorem.word()).toJSON();
88
+ const file = Project.fromProject(project, space.key).toJSON();
89
+ await store.files.add(file);
90
+ await store.media.add(file.key, project, 'application/json');
91
+ }
92
+
93
+ async handleCertificateAdd(): Promise<void> {
94
+ const { space, store } = this;
95
+ if (!space) {
96
+ return;
97
+ }
98
+ const cert = this.mocking.certificates.certificate();
99
+ const file = CertificateFile.fromCertificate(cert, space.key).toJSON();
100
+ await store.files.add(file);
101
+ await store.media.add(file.key, cert, 'application/json');
102
+ }
103
+
104
+ contentTemplate(): TemplateResult {
105
+ if (!this.initialized) {
106
+ return html`<p>Loading demo page...</p>`;
107
+ }
108
+ if (!this.authenticated) {
109
+ return this.authenticateTemplate();
110
+ }
111
+ return html`
112
+ <a href="../">Back</a>
113
+
114
+ <section class="demo-section">
115
+ <h2 class="header-medium">In a drop down</h2>
116
+ <ui-dropdown-list>
117
+ <ui-button class="dropdown-trigger">Select a file</ui-button>
118
+ <file-picker slot="dropdown" @close="${this.handleClose}"></file-picker>
119
+ </ui-dropdown-list>
120
+
121
+ <h2 class="header-medium">Plain element</h2>
122
+ <file-picker @close="${this.handleClose}"></file-picker>
123
+
124
+ <h2 class="header-medium">Data control</h2>
125
+ <ui-button @click="${this.handleProjectAdd}">Add a project</ui-button>
126
+ <ui-button @click="${this.handleCertificateAdd}">Add a certificate</ui-button>
127
+ <ui-button @click="${this.handleFolderAdd}">Add a folder</ui-button>
128
+ </section>
129
+ `;
130
+ }
131
+ }
132
+
133
+ const instance = new ComponentDemoPage();
134
+ instance.initialize();
@@ -0,0 +1,19 @@
1
+ <!doctype html>
2
+ <html lang="en-GB">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>API Client Store</title>
6
+ </head>
7
+ <body>
8
+ <main>
9
+ <h1>The UI library for the store entities</h1>
10
+ <a href="../">Back</a>
11
+ <nav>
12
+ <dl>
13
+ <dt><a href="file-picker.html">File picker</a></dt>
14
+ <dd>Renders a dialog with the store file list.</dd>
15
+ </dl>
16
+ </nav>
17
+ </main>
18
+ </body>
19
+ </html>
@@ -109,6 +109,7 @@ export default /** @type Plugin */ ({
109
109
  await multiServer.stop();
110
110
  await proxyServer.stop();
111
111
  await singleStore.cleanup();
112
+ await multiStore.cleanup();
112
113
  },
113
114
 
114
115
  serve(context) {
@@ -130,6 +130,10 @@ export interface FileWriteOptions extends ReadWriteOptions {
130
130
  */
131
131
  export declare abstract class FileBindings extends PlatformBindings {
132
132
  initialize(): Promise<void>;
133
+ protected handleRequestSaveFile(e: Event): void;
134
+ protected handleRequestOpenFile(e: Event): void;
135
+ protected handleWriteFile(e: Event): void;
136
+ protected handleReadFile(e: Event): void;
133
137
  /**
134
138
  * Opens a dialog to pick a file to save.
135
139
  *
@@ -1 +1 @@
1
- {"version":3,"file":"FileBindings.d.ts","sourceRoot":"","sources":["../../../src/bindings/base/FileBindings.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;;;OAYG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IAExB;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IAExB;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,UAAU,gBAAgB;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD;;;;OAIG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAClC;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,8BAAsB,YAAa,SAAQ,gBAAgB;IACnD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAEnF;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAEnF;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAEzH;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAE/F;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAC9C"}
1
+ {"version":3,"file":"FileBindings.d.ts","sourceRoot":"","sources":["../../../src/bindings/base/FileBindings.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;;;OAYG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IAExB;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IAExB;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,UAAU,gBAAgB;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD;;;;OAIG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAClC;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,8BAAsB,YAAa,SAAQ,gBAAgB;IACnD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,SAAS,CAAC,qBAAqB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAK/C,SAAS,CAAC,qBAAqB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAK/C,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAKzC,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAKxC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAEnF;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAEnF;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAEzH;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAE/F;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAC9C"}
@@ -1,10 +1,30 @@
1
+ import { EventTypes } from '../../events/EventTypes.js';
1
2
  import { PlatformBindings } from './PlatformBindings.js';
2
3
  /**
3
4
  * The base class for file access bindings.
4
5
  */
5
6
  export class FileBindings extends PlatformBindings {
6
7
  async initialize() {
7
- //
8
+ window.addEventListener(EventTypes.Filesystem.requestSaveFile, this.handleRequestSaveFile.bind(this));
9
+ window.addEventListener(EventTypes.Filesystem.requestOpenFile, this.handleRequestOpenFile.bind(this));
10
+ window.addEventListener(EventTypes.Filesystem.writeFile, this.handleWriteFile.bind(this));
11
+ window.addEventListener(EventTypes.Filesystem.readFile, this.handleReadFile.bind(this));
12
+ }
13
+ handleRequestSaveFile(e) {
14
+ const event = e;
15
+ event.detail.result = this.saveFileDialog(event.detail.options);
16
+ }
17
+ handleRequestOpenFile(e) {
18
+ const event = e;
19
+ event.detail.result = this.openFileDialog(event.detail.options);
20
+ }
21
+ handleWriteFile(e) {
22
+ const event = e;
23
+ event.detail.result = this.writeFile(event.detail.path, event.detail.contents, event.detail.options);
24
+ }
25
+ handleReadFile(e) {
26
+ const event = e;
27
+ event.detail.result = this.readFile(event.detail.path, event.detail.options);
8
28
  }
9
29
  }
10
30
  //# sourceMappingURL=FileBindings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileBindings.js","sourceRoot":"","sources":["../../../src/bindings/base/FileBindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AA6IzD;;GAEG;AACH,MAAM,OAAgB,YAAa,SAAQ,gBAAgB;IACzD,KAAK,CAAC,UAAU;QACd,GAAG;IACL,CAAC;CAsCF","sourcesContent":["import { PlatformBindings } from './PlatformBindings.js';\n// import { EventTypes } from '../../events/EventTypes.js';\n\nexport interface IFileFilter {\n /**\n * An optional description of the category of files types allowed.\n * \n * @platform web\n * @platform electron\n */\n description?: string;\n /**\n * An Object with the keys set to the MIME type and the values an Array of file extensions.\n * \n * ```\n * \"description\": \"Images\",\n * \"accept\": {\n * 'image/*': ['.png', '.gif', '.jpeg', '.jpg']\n * }\n * ```\n * \n * @platform web\n * @platform electron\n */\n accept: Record<string, string[]>;\n}\n\nexport interface ISaveFileDialogInit {\n /**\n * Only when the platform supports it.\n * The dialog title. Cannot be displayed on some _Linux_ desktop environments.\n */\n title?: string;\n /**\n * Only when the platform supports it.\n * Absolute directory path, absolute file path, or file name to use by default.\n */\n defaultPath?: string;\n\n /**\n * The list of file filters to apply to the dialog.\n */\n filters?: IFileFilter[];\n\n /**\n * Default false. By default the picker should include an option to not apply any file type filters. \n * Setting this option to true means that option is not available.\n * \n * @platform web\n */\n excludeAcceptAllOption?: boolean;\n}\n\nexport interface ISaveFileDialogResult {\n /**\n * Whether or not the dialog was canceled.\n */\n canceled: boolean;\n\n /**\n * If the dialog is canceled, this will be `undefined`.\n * \n * In **electron** this is the path to the selected file.\n * In the **web** platform this is autogenerated id to the file handle\n * the app should use with the further communication.\n */\n filePath?: string;\n}\n\nexport interface IOpenFileDialogInit {\n /**\n * Only when the platform supports it.\n * The dialog title. Cannot be displayed on some _Linux_ desktop environments.\n */\n title?: string;\n /**\n * Only when the platform supports it.\n * Absolute directory path, absolute file path, or file name to use by default.\n */\n defaultPath?: string;\n /**\n * The list of file filters to apply to the dialog.\n */\n filters?: IFileFilter[];\n\n /**\n * Default false. By default the picker should include an option to not apply any file type filters. \n * Setting this option to true means that option is not available.\n * \n * @platform web\n */\n excludeAcceptAllOption?: boolean;\n\n /**\n * When set to true multiple files may be selected.\n * @platform web\n */\n multiple?: boolean;\n}\n\nexport interface IOpenFileDialogResult {\n /**\n * Whether or not the dialog was canceled.\n */\n canceled: boolean;\n\n /**\n * If the dialog is cancelled this will be an empty array.\n * \n * In **electron** this is an array of file paths chosen by the user.\n * In the **web** platform this is autogenerated list of ids to the file handles\n * the app should use with the further communication.\n */\n filePath?: string[];\n}\n\ninterface ReadWriteOptions {\n /**\n * Whether the `path` will no longer be used.\n * This is relevant for the `web` environment when the bindings keep a reference to a file entry.\n * This should always be set to true when the read/write operation is done only once.\n */\n dispose?: boolean;\n}\n\nexport interface FileReadOptions extends ReadWriteOptions {\n /**\n * The type of the return value. It can be either a buffer (ArrayBuffer in the web or Buffer in Node) or a string.\n * \n * @default string\n */\n returnType?: 'buffer' | 'string';\n}\n\nexport interface FileWriteOptions extends ReadWriteOptions {\n /**\n * File encoding.\n */\n encoding?: 'utf8';\n}\n\n/**\n * The base class for file access bindings.\n */\nexport abstract class FileBindings extends PlatformBindings {\n async initialize(): Promise<void> {\n // \n }\n\n /**\n * Opens a dialog to pick a file to save.\n * \n * @param opts The dialog configuration.\n */\n abstract saveFileDialog(opts?: ISaveFileDialogInit): Promise<ISaveFileDialogResult>;\n\n /**\n * Opens a dialog to pick a file for reading.\n * \n * @param opts The dialog configuration.\n */\n abstract openFileDialog(opts?: IOpenFileDialogInit): Promise<IOpenFileDialogResult>;\n\n /**\n * Writes contents to the file.\n * \n * @param path The path returned by the `saveFileDialog()`.\n * @param contents The contents to write to the file.\n */\n abstract writeFile(path: string, contents: BufferSource | Blob | string | Buffer, opts?: FileWriteOptions): Promise<void>;\n\n /**\n * Reads file data.\n * @param path The path returned by the `openFileDialog()`.\n * @param returnType The type of the return value. It can be either a buffer (ArrayBuffer in the web or Buffer in Node) or a string.\n */\n abstract readFile(path: string, opts?: FileReadOptions): Promise<Buffer | ArrayBuffer | string>;\n\n /**\n * Disposes of previously created path with the `saveFileDialog()` or `openFileDialog()`.\n * This is mandatory to call when during reading or writing to a file the `dispose` option is not set to true, after the file is no longer in use.\n * \n * @param path The previously created path.\n */\n abstract dispose(path: string): Promise<void>;\n}\n"]}
1
+ {"version":3,"file":"FileBindings.js","sourceRoot":"","sources":["../../../src/bindings/base/FileBindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AA6IzD;;GAEG;AACH,MAAM,OAAgB,YAAa,SAAQ,gBAAgB;IACzD,KAAK,CAAC,UAAU;QACd,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtG,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtG,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1F,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1F,CAAC;IAES,qBAAqB,CAAC,CAAQ;QACtC,MAAM,KAAK,GAAG,CAA2F,CAAC;QAC1G,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAES,qBAAqB,CAAC,CAAQ;QACtC,MAAM,KAAK,GAAG,CAA2F,CAAC;QAC1G,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAES,eAAe,CAAC,CAAQ;QAChC,MAAM,KAAK,GAAG,CAAsI,CAAC;QACrJ,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvG,CAAC;IAES,cAAc,CAAC,CAAQ;QAC/B,MAAM,KAAK,GAAG,CAA6G,CAAC;QAC5H,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/E,CAAC;CAsCF","sourcesContent":["import { EventTypes } from '../../events/EventTypes.js';\nimport { PlatformBindings } from './PlatformBindings.js';\n// import { EventTypes } from '../../events/EventTypes.js';\n\nexport interface IFileFilter {\n /**\n * An optional description of the category of files types allowed.\n * \n * @platform web\n * @platform electron\n */\n description?: string;\n /**\n * An Object with the keys set to the MIME type and the values an Array of file extensions.\n * \n * ```\n * \"description\": \"Images\",\n * \"accept\": {\n * 'image/*': ['.png', '.gif', '.jpeg', '.jpg']\n * }\n * ```\n * \n * @platform web\n * @platform electron\n */\n accept: Record<string, string[]>;\n}\n\nexport interface ISaveFileDialogInit {\n /**\n * Only when the platform supports it.\n * The dialog title. Cannot be displayed on some _Linux_ desktop environments.\n */\n title?: string;\n /**\n * Only when the platform supports it.\n * Absolute directory path, absolute file path, or file name to use by default.\n */\n defaultPath?: string;\n\n /**\n * The list of file filters to apply to the dialog.\n */\n filters?: IFileFilter[];\n\n /**\n * Default false. By default the picker should include an option to not apply any file type filters. \n * Setting this option to true means that option is not available.\n * \n * @platform web\n */\n excludeAcceptAllOption?: boolean;\n}\n\nexport interface ISaveFileDialogResult {\n /**\n * Whether or not the dialog was canceled.\n */\n canceled: boolean;\n\n /**\n * If the dialog is canceled, this will be `undefined`.\n * \n * In **electron** this is the path to the selected file.\n * In the **web** platform this is autogenerated id to the file handle\n * the app should use with the further communication.\n */\n filePath?: string;\n}\n\nexport interface IOpenFileDialogInit {\n /**\n * Only when the platform supports it.\n * The dialog title. Cannot be displayed on some _Linux_ desktop environments.\n */\n title?: string;\n /**\n * Only when the platform supports it.\n * Absolute directory path, absolute file path, or file name to use by default.\n */\n defaultPath?: string;\n /**\n * The list of file filters to apply to the dialog.\n */\n filters?: IFileFilter[];\n\n /**\n * Default false. By default the picker should include an option to not apply any file type filters. \n * Setting this option to true means that option is not available.\n * \n * @platform web\n */\n excludeAcceptAllOption?: boolean;\n\n /**\n * When set to true multiple files may be selected.\n * @platform web\n */\n multiple?: boolean;\n}\n\nexport interface IOpenFileDialogResult {\n /**\n * Whether or not the dialog was canceled.\n */\n canceled: boolean;\n\n /**\n * If the dialog is cancelled this will be an empty array.\n * \n * In **electron** this is an array of file paths chosen by the user.\n * In the **web** platform this is autogenerated list of ids to the file handles\n * the app should use with the further communication.\n */\n filePath?: string[];\n}\n\ninterface ReadWriteOptions {\n /**\n * Whether the `path` will no longer be used.\n * This is relevant for the `web` environment when the bindings keep a reference to a file entry.\n * This should always be set to true when the read/write operation is done only once.\n */\n dispose?: boolean;\n}\n\nexport interface FileReadOptions extends ReadWriteOptions {\n /**\n * The type of the return value. It can be either a buffer (ArrayBuffer in the web or Buffer in Node) or a string.\n * \n * @default string\n */\n returnType?: 'buffer' | 'string';\n}\n\nexport interface FileWriteOptions extends ReadWriteOptions {\n /**\n * File encoding.\n */\n encoding?: 'utf8';\n}\n\n/**\n * The base class for file access bindings.\n */\nexport abstract class FileBindings extends PlatformBindings {\n async initialize(): Promise<void> {\n window.addEventListener(EventTypes.Filesystem.requestSaveFile, this.handleRequestSaveFile.bind(this));\n window.addEventListener(EventTypes.Filesystem.requestOpenFile, this.handleRequestOpenFile.bind(this));\n window.addEventListener(EventTypes.Filesystem.writeFile, this.handleWriteFile.bind(this));\n window.addEventListener(EventTypes.Filesystem.readFile, this.handleReadFile.bind(this));\n }\n\n protected handleRequestSaveFile(e: Event): void {\n const event = e as CustomEvent<{ options?: ISaveFileDialogInit, result: Promise<ISaveFileDialogResult> }>;\n event.detail.result = this.saveFileDialog(event.detail.options);\n }\n\n protected handleRequestOpenFile(e: Event): void {\n const event = e as CustomEvent<{ options?: IOpenFileDialogInit, result: Promise<IOpenFileDialogResult> }>;\n event.detail.result = this.openFileDialog(event.detail.options);\n }\n\n protected handleWriteFile(e: Event): void {\n const event = e as CustomEvent<{ path: string, contents: BufferSource | Blob | string | Buffer, options?: FileWriteOptions, result: Promise<void> }>;\n event.detail.result = this.writeFile(event.detail.path, event.detail.contents, event.detail.options);\n }\n\n protected handleReadFile(e: Event): void {\n const event = e as CustomEvent<{ path: string, options?: FileReadOptions, result: Promise<Buffer | ArrayBuffer | string> }>;\n event.detail.result = this.readFile(event.detail.path, event.detail.options);\n }\n\n /**\n * Opens a dialog to pick a file to save.\n * \n * @param opts The dialog configuration.\n */\n abstract saveFileDialog(opts?: ISaveFileDialogInit): Promise<ISaveFileDialogResult>;\n\n /**\n * Opens a dialog to pick a file for reading.\n * \n * @param opts The dialog configuration.\n */\n abstract openFileDialog(opts?: IOpenFileDialogInit): Promise<IOpenFileDialogResult>;\n\n /**\n * Writes contents to the file.\n * \n * @param path The path returned by the `saveFileDialog()`.\n * @param contents The contents to write to the file.\n */\n abstract writeFile(path: string, contents: BufferSource | Blob | string | Buffer, opts?: FileWriteOptions): Promise<void>;\n\n /**\n * Reads file data.\n * @param path The path returned by the `openFileDialog()`.\n * @param returnType The type of the return value. It can be either a buffer (ArrayBuffer in the web or Buffer in Node) or a string.\n */\n abstract readFile(path: string, opts?: FileReadOptions): Promise<Buffer | ArrayBuffer | string>;\n\n /**\n * Disposes of previously created path with the `saveFileDialog()` or `openFileDialog()`.\n * This is mandatory to call when during reading or writing to a file the `dispose` option is not set to true, after the file is no longer in use.\n * \n * @param path The previously created path.\n */\n abstract dispose(path: string): Promise<void>;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { IBackendInfo, ContextListOptions, ContextListResult, IFile, IFileCreateOptions, AccessOperation, IUser, IAccessPatchInfo, IPatchInfo, IPatchRevision, IApplication, ListFileKind, IBulkOperationResult, ContextChangeRecord, ContextDeleteRecord, IProjectExecution, IProjectExecutionListOptions, ISpace, PermissionRole, HttpCertificate, ContextSpaceListOptions, IRevision, TrashEntry, TrashEntryCreate, ContextDeleteBulkEvent, FileAddOptions, FileBreadcrumb } from '@api-client/core/build/browser.js';
1
+ import { IBackendInfo, ContextListOptions, ContextListResult, IFile, IFileCreateOptions, AccessOperation, IUser, IAccessPatchInfo, IPatchInfo, IPatchRevision, IApplication, ListFileKind, IBulkOperationResult, ContextChangeRecord, ContextDeleteRecord, IProjectExecution, IProjectExecutionListOptions, ISpace, PermissionRole, ContextSpaceListOptions, IRevision, TrashEntry, TrashEntryCreate, ContextDeleteBulkEvent, FileAddOptions, FileBreadcrumb } from '@api-client/core/build/browser.js';
2
2
  import { Patch } from '@api-client/json';
3
3
  import { PlatformBindings } from './PlatformBindings.js';
4
4
  import { IConfigEnvironment, IConfigInit } from '../../lib/config/Config.js';
@@ -72,7 +72,7 @@ export declare abstract class StoreBindings extends PlatformBindings {
72
72
  trashChannel: BroadcastChannel;
73
73
  historyChannel: BroadcastChannel;
74
74
  projectExeChannel: BroadcastChannel;
75
- certificatesChannel: BroadcastChannel;
75
+ initialized: boolean;
76
76
  initializeStore(): Promise<void>;
77
77
  initialize(): Promise<void>;
78
78
  abstract environment: EnvironmentSettings;
@@ -141,6 +141,10 @@ export declare abstract class StoreBindings extends PlatformBindings {
141
141
  key: string;
142
142
  result: Promise<ContextListResult<IUser>>;
143
143
  }>): void;
144
+ protected handleFileBreadcrumbs(event: CustomEvent<{
145
+ key: string;
146
+ result: Promise<ContextListResult<FileBreadcrumb>>;
147
+ }>): void;
144
148
  protected handlerMe(input: Event): void;
145
149
  protected handleUsersList(input: Event): void;
146
150
  protected handleUserRead(input: Event): void;
@@ -241,15 +245,6 @@ export declare abstract class StoreBindings extends PlatformBindings {
241
245
  removeUser: (space: string, otherUserKey: string) => Promise<void>;
242
246
  patchUsers: (space: string, value: IAccessPatchInfo) => Promise<void>;
243
247
  };
244
- certificates: {
245
- add: (value: HttpCertificate, space: string) => Promise<ContextChangeRecord<HttpCertificate>>;
246
- addBulk: (values: HttpCertificate[], space: string) => Promise<IBulkOperationResult<ContextChangeRecord<HttpCertificate>>>;
247
- read: (key: string) => Promise<HttpCertificate>;
248
- list: (options?: ContextSpaceListOptions) => Promise<ContextListResult<HttpCertificate>>;
249
- delete: (key: string) => Promise<ContextDeleteRecord>;
250
- deleteBulk: (keys: string[]) => Promise<IBulkOperationResult<ContextDeleteRecord>>;
251
- empty: (space: string) => Promise<void>;
252
- };
253
248
  trash: {
254
249
  add: (entry: TrashEntryCreate, space: string) => Promise<ContextChangeRecord<TrashEntry>>;
255
250
  list: (options: ContextSpaceListOptions) => Promise<ContextListResult<TrashEntry>>;
@@ -284,12 +279,6 @@ export declare abstract class StoreBindings extends PlatformBindings {
284
279
  me: () => Promise<IUser>;
285
280
  read: (key: string) => Promise<IUser>;
286
281
  };
287
- protected handleCertificateList(event: Event): void;
288
- protected handleCertificateRead(event: Event): void;
289
- protected handleCertificateDelete(event: Event): void;
290
- protected handleCertificateInsert(event: Event): void;
291
- observeCertificates(): Promise<void>;
292
- unobserveCertificates(): Promise<void>;
293
282
  observeSpaces(): Promise<void>;
294
283
  unobserveSpaces(): Promise<void>;
295
284
  observeFiles(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"StoreBindings.d.ts","sourceRoot":"","sources":["../../../src/bindings/base/StoreBindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StoreBindings.d.ts","sourceRoot":"","sources":["../../../src/bindings/base/StoreBindings.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EAAyC,kBAAkB,EAAE,iBAAiB,EAAE,KAAK,EACjG,kBAAkB,EAAE,eAAe,EAAE,KAAK,EACrB,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EACf,YAAY,EAC5E,oBAAoB,EAAE,mBAAmB,EAEzC,mBAAmB,EACnB,iBAAiB,EACjB,4BAA4B,EAC5B,MAAM,EAGN,cAAc,EACd,uBAAuB,EACvB,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,cAAc,EAQf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAGvE,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,GAAG,CAAC,EAAE,kBAAkB,CAAC;IACzB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,mBAAmB;IAC3B;;;;OAIG;IACH,eAAe,CAAC,GAAG,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE5D;;;;OAIG;IACH,YAAY,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE3E,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,8BAAsB,aAAc,SAAQ,gBAAgB;IAC1D;;;;MAIE;IACF,KAAK,SAAM;IAEX;;;OAGG;IACH,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IAEvC;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,YAAY,mBAA8C;IAE1D,YAAY,mBAA8C;IAE1D,aAAa,mBAA+C;IAE5D,YAAY,mBAA8C;IAE1D,cAAc,mBAAgD;IAE9D,iBAAiB,mBAAoD;IAErE,WAAW,UAAS;IAEd,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAwDjC,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAE1C,IAAI,EAAE,mBAAmB,CAmCxB;IAED,MAAM;QACJ;;;;;;;WAOG;mBACc,kBAAkB,KAAG,QAAQ,IAAI,CAAC;mBASpC,QAAQ,kBAAkB,CAAC;MAO3C;IAED,SAAS,CAAC,2BAA2B,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAOzD,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAM7C,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAM9C,SAAS,CAAC,2BAA2B,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAMzD,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAMjD,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAMjD,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAM7C,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC;QAAE,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;KAAE,CAAC,GAAG,IAAI;IAOvJ,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,WAAW,CAAC;QAAE,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;KAAE,CAAC,GAAG,IAAI;IAO7J,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAA;KAAE,CAAC,GAAG,IAAI;IAU9J,SAAS,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAMtD,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,CAAA;KAAE,CAAC,GAAG,IAAI;IAUrH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;QAAC,GAAG,EAAE,YAAY,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;KAAE,CAAC,GAAG,IAAI;IAa7K,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC,GAAG,IAAI;IAK9F,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,eAAe,EAAE,CAAC;QAAC,GAAG,EAAE,YAAY,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC,GAAG,IAAI;IAUxJ,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;KAAE,CAAC,GAAG,IAAI;IAKnH,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,WAAW,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAA;KAAE,CAAC,GAAG,IAAI;IAM9H,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAMvC,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAO7C,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAM5C,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAUjD,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAUrD,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAMjD,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAU/C,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAM/C,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;IAKtE,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,WAAW,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;IAKrG,SAAS,CAAC,yBAAyB,CAAC,KAAK,EAAE,WAAW,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;IAKxH,SAAS,CAAC,yBAAyB,CAAC,KAAK,EAAE,WAAW,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;IAKnI,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAO9D,SAAS,CAAC,yBAAyB,CAAC,KAAK,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC,CAAA;KAAE,CAAC,GAAG,IAAI;IAMnJ,SAAS,CAAC,0BAA0B,CAAC,KAAK,EAAE,WAAW,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAA;KAAE,CAAC,GAAG,IAAI;IAMnH,SAAS,CAAC,0BAA0B,CAAC,KAAK,EAAE,WAAW,CAAC;QAAE,OAAO,EAAE,4BAA4B,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAA;KAAE,CAAC,GAAG,IAAI;IAUhK,SAAS,CAAC,4BAA4B,CAAC,KAAK,EAAE,WAAW,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC,GAAG,IAAI;IAMxG,SAAS,CAAC,gCAAgC,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;IAM/E,SAAS,CAAC,gCAAgC,CAAC,KAAK,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC,GAAG,IAAI;IAM9G,SAAS,CAAC,kCAAkC,CAAC,KAAK,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC,GAAG,IAAI;IAMjI,SAAS,CAAC,iCAAiC,CAAC,KAAK,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC,GAAG,IAAI;IAMhJ;;;;;;;OAOG;IACG,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAUlI;;;;;;OAMG;IACG,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAUvH;;;;;;OAMG;IACG,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAU7H;;;;;;OAMG;IACG,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAStH,QAAQ,IAAI,SAAS;IAQrB,MAAM;yBACa,kBAAkB,KAAG,QAAQ,kBAAkB,MAAM,CAAC,CAAC;4BACpD,MAAM,GAAG,MAAM,KAAG,QAAQ,oBAAoB,MAAM,CAAC,CAAC;oBAS9D,MAAM,KAAG,QAAQ,MAAM,CAAC;sBAChB,MAAM,KAAG,QAAQ,mBAAmB,CAAC;yBAOxC,MAAM,gBAAgB,MAAM,QAAQ,cAAc,YAAY,MAAM,KAAG,QAAQ,IAAI,CAAC;4BACjF,MAAM,gBAAgB,MAAM,KAAG,QAAQ,IAAI,CAAC;4BAC5C,MAAM,SAAS,gBAAgB,KAAG,QAAQ,IAAI,CAAC;MACpE;IAED,KAAK;qBACU,gBAAgB,SAAS,MAAM,KAAG,QAAQ,oBAAoB,UAAU,CAAC,CAAC;wBACvE,uBAAuB,KAAG,QAAQ,kBAAkB,UAAU,CAAC,CAAC;sBAO5D,MAAM,KAAG,QAAQ,mBAAmB,CAAC;4BAIrC,MAAM,EAAE,KAAG,QAAQ,qBAAqB,mBAAmB,CAAC,CAAC;uBAClE,MAAM,KAAG,QAAQ,oBAAoB,KAAK,CAAC,CAAC;6BACtC,MAAM,EAAE,KAAG,QAAQ,qBAAqB,oBAAoB,KAAK,CAAC,CAAC,CAAC;uBAC1E,MAAM,KAAG,QAAQ,IAAI,CAAC;MACtC;IAED,SAAS;oBACK,MAAM,WAAW,uBAAuB,KAAG,QAAQ,kBAAkB,SAAS,CAAC,CAAC;MAC7F;IAED,KAAK;mBACQ,MAAM,YAAY,OAAO,QAAQ,MAAM,KAAG,QAAQ,IAAI,CAAC;oBACtD,MAAM,KAAG,QAAQ,OAAO,CAAC;qBACxB,MAAM,QAAQ,UAAU,KAAG,QAAQ,cAAc,CAAC;MAChE;IAED,KAAK;wBACa,kBAAkB,UAAU,YAAY,EAAE,KAAG,QAAQ,kBAAkB,KAAK,CAAC,CAAC;qBACjF,KAAK,SAAS,cAAc,KAAG,QAAQ,oBAAoB,KAAK,CAAC,CAAC;oBACnE,MAAM,KAAG,QAAQ,KAAK,CAAC;yBAClB,MAAM,EAAE,KAAG,QAAQ,qBAAqB,KAAK,CAAC,CAAC;sBAClD,MAAM,KAAG,QAAQ,MAAM,CAAC;qBACzB,MAAM,QAAQ,UAAU,KAAG,QAAQ,cAAc,CAAC;2BAC5C,MAAM,KAAG,QAAQ,kBAAkB,cAAc,CAAC,CAAC;MACvE;IAED,MAAM;wBACY,kBAAkB,UAAU,YAAY,EAAE,KAAG,QAAQ,kBAAkB,KAAK,CAAC,CAAC;MAC/F;IAED,KAAK;yBACc,kBAAkB,KAAG,QAAQ,kBAAkB,KAAK,CAAC,CAAC;kBAC/D,QAAQ,KAAK,CAAC;oBACV,MAAM,KAAG,QAAQ,KAAK,CAAC;MACpC;IAEK,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,OAAO,GAAG,MAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvE,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,OAAO,GAAG,MAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzE,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzC,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;cAIhD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAcxC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1D,YAAY,CAAC,EAAE,SAAS,CAAC;IAEnB,eAAe,IAAI,OAAO,CAAC,SAAS,CAAC;IAWrC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IASxC,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI;CAkCnD"}