@api-client/ui 0.0.12 → 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 (141) hide show
  1. package/demo/elements/authorization/cc.ts +56 -27
  2. package/dist/bindings/base/FileBindings.d.ts +4 -0
  3. package/dist/bindings/base/FileBindings.d.ts.map +1 -1
  4. package/dist/bindings/base/FileBindings.js +21 -1
  5. package/dist/bindings/base/FileBindings.js.map +1 -1
  6. package/dist/bindings/base/StoreBindings.d.ts +1 -17
  7. package/dist/bindings/base/StoreBindings.d.ts.map +1 -1
  8. package/dist/bindings/base/StoreBindings.js +0 -59
  9. package/dist/bindings/base/StoreBindings.js.map +1 -1
  10. package/dist/bindings/web/WebFileBindings.js +1 -1
  11. package/dist/bindings/web/WebFileBindings.js.map +1 -1
  12. package/dist/define/http/certificate-add.d.ts +9 -0
  13. package/dist/define/http/certificate-add.d.ts.map +1 -0
  14. package/dist/define/http/certificate-add.js +10 -0
  15. package/dist/define/http/certificate-add.js.map +1 -0
  16. package/dist/define/ui/ui-segmented-button-set.d.ts +1 -1
  17. package/dist/define/ui/ui-segmented-button-set.d.ts.map +1 -1
  18. package/dist/define/ui/ui-segmented-button-set.js.map +1 -1
  19. package/dist/elements/authorization/ui/CC.styles.d.ts.map +1 -1
  20. package/dist/elements/authorization/ui/CC.styles.js +4 -9
  21. package/dist/elements/authorization/ui/CC.styles.js.map +1 -1
  22. package/dist/elements/authorization/ui/CcAuthorization.d.ts +14 -29
  23. package/dist/elements/authorization/ui/CcAuthorization.d.ts.map +1 -1
  24. package/dist/elements/authorization/ui/CcAuthorization.js +67 -158
  25. package/dist/elements/authorization/ui/CcAuthorization.js.map +1 -1
  26. package/dist/elements/http/CertificateAdd.element.d.ts +91 -0
  27. package/dist/elements/http/CertificateAdd.element.d.ts.map +1 -0
  28. package/dist/elements/http/CertificateAdd.element.js +389 -0
  29. package/dist/elements/http/CertificateAdd.element.js.map +1 -0
  30. package/dist/elements/http/CertificateAdd.styles.d.ts +3 -0
  31. package/dist/elements/http/CertificateAdd.styles.d.ts.map +1 -0
  32. package/dist/elements/http/CertificateAdd.styles.js +61 -0
  33. package/dist/elements/http/CertificateAdd.styles.js.map +1 -0
  34. package/dist/elements/project/ProjectRunReport.d.ts +2 -1
  35. package/dist/elements/project/ProjectRunReport.d.ts.map +1 -1
  36. package/dist/elements/project/ProjectRunReport.js.map +1 -1
  37. package/dist/elements/store/FilePicker.styles.d.ts.map +1 -1
  38. package/dist/elements/store/FilePicker.styles.js +1 -0
  39. package/dist/elements/store/FilePicker.styles.js.map +1 -1
  40. package/dist/events/EventTypes.d.ts +6 -7
  41. package/dist/events/EventTypes.d.ts.map +1 -1
  42. package/dist/events/EventTypes.js +7 -7
  43. package/dist/events/EventTypes.js.map +1 -1
  44. package/dist/events/Events.d.ts +6 -1
  45. package/dist/events/Events.d.ts.map +1 -1
  46. package/dist/events/Events.js +2 -0
  47. package/dist/events/Events.js.map +1 -1
  48. package/dist/events/FilesystemEvents.d.ts +8 -0
  49. package/dist/events/FilesystemEvents.d.ts.map +1 -0
  50. package/dist/events/FilesystemEvents.js +59 -0
  51. package/dist/events/FilesystemEvents.js.map +1 -0
  52. package/dist/events/HttpClientEvents.d.ts +0 -2
  53. package/dist/events/HttpClientEvents.d.ts.map +1 -1
  54. package/dist/events/HttpClientEvents.js +0 -2
  55. package/dist/events/HttpClientEvents.js.map +1 -1
  56. package/dist/http-client/idb/Arc18DataUpgrade.d.ts +0 -8
  57. package/dist/http-client/idb/Arc18DataUpgrade.d.ts.map +1 -1
  58. package/dist/http-client/idb/Arc18DataUpgrade.js +11 -206
  59. package/dist/http-client/idb/Arc18DataUpgrade.js.map +1 -1
  60. package/dist/http-client/store/StoreBroadcast.d.ts +0 -5
  61. package/dist/http-client/store/StoreBroadcast.d.ts.map +1 -1
  62. package/dist/http-client/store/StoreBroadcast.js +0 -7
  63. package/dist/http-client/store/StoreBroadcast.js.map +1 -1
  64. package/dist/lib/files/FileUtils.d.ts +9 -0
  65. package/dist/lib/files/FileUtils.d.ts.map +1 -0
  66. package/dist/lib/files/FileUtils.js +13 -0
  67. package/dist/lib/files/FileUtils.js.map +1 -0
  68. package/dist/mixins/RouteMixin.d.ts +4 -0
  69. package/dist/mixins/RouteMixin.d.ts.map +1 -1
  70. package/dist/mixins/RouteMixin.js +1 -0
  71. package/dist/mixins/RouteMixin.js.map +1 -1
  72. package/dist/pages/api-client/ApiClient.screen.d.ts +4 -0
  73. package/dist/pages/api-client/ApiClient.screen.d.ts.map +1 -1
  74. package/dist/pages/api-client/ApiClient.screen.js +23 -2
  75. package/dist/pages/api-client/ApiClient.screen.js.map +1 -1
  76. package/dist/pages/api-client/ApiClient.styles.d.ts.map +1 -1
  77. package/dist/pages/api-client/ApiClient.styles.js +0 -12
  78. package/dist/pages/api-client/ApiClient.styles.js.map +1 -1
  79. package/dist/pages/api-client/pages/Files.page.d.ts.map +1 -1
  80. package/dist/pages/api-client/pages/Files.page.js +13 -0
  81. package/dist/pages/api-client/pages/Files.page.js.map +1 -1
  82. package/dist/ui/button/SegmentedButtonsSet.d.ts +14 -0
  83. package/dist/ui/button/SegmentedButtonsSet.d.ts.map +1 -1
  84. package/dist/ui/button/SegmentedButtonsSet.js.map +1 -1
  85. package/dist/ui/notification/SnackNotifications.d.ts +1 -0
  86. package/dist/ui/notification/SnackNotifications.d.ts.map +1 -1
  87. package/dist/ui/notification/SnackNotifications.js +7 -0
  88. package/dist/ui/notification/SnackNotifications.js.map +1 -1
  89. package/package.json +1 -1
  90. package/src/bindings/base/FileBindings.ts +25 -1
  91. package/src/bindings/base/StoreBindings.ts +1 -73
  92. package/src/bindings/web/WebFileBindings.ts +1 -1
  93. package/src/define/http/certificate-add.ts +12 -0
  94. package/src/define/ui/ui-segmented-button-set.ts +1 -1
  95. package/src/elements/authorization/ui/CC.styles.ts +4 -9
  96. package/src/elements/authorization/ui/CcAuthorization.ts +67 -167
  97. package/src/elements/http/CertificateAdd.element.ts +443 -0
  98. package/src/elements/http/CertificateAdd.styles.ts +61 -0
  99. package/src/elements/project/ProjectRunReport.ts +2 -1
  100. package/src/elements/store/FilePicker.styles.ts +1 -0
  101. package/src/events/EventTypes.ts +7 -7
  102. package/src/events/Events.ts +2 -0
  103. package/src/events/FilesystemEvents.ts +63 -0
  104. package/src/events/HttpClientEvents.ts +0 -2
  105. package/src/http-client/idb/Arc18DataUpgrade.ts +84 -84
  106. package/src/http-client/store/StoreBroadcast.ts +0 -8
  107. package/src/lib/files/FileUtils.ts +12 -0
  108. package/src/mixins/RouteMixin.ts +8 -1
  109. package/src/pages/api-client/ApiClient.screen.ts +26 -2
  110. package/src/pages/api-client/ApiClient.styles.ts +0 -12
  111. package/src/pages/api-client/pages/Files.page.ts +11 -0
  112. package/src/ui/button/SegmentedButtonsSet.ts +16 -1
  113. package/src/ui/notification/SnackNotifications.ts +8 -0
  114. package/test/elements/http/BodyFormdataEditorElement.test.ts +458 -454
  115. package/test/elements/http/BodyMultipartEditorElement.test.ts +609 -605
  116. package/test/elements/http/BodyRawEditorElement.test.ts +60 -56
  117. package/test/elements/http/CertificateAdd.test.ts +430 -0
  118. package/test/events/EventTypes.test.ts +0 -22
  119. package/test/helpers/UiMock.ts +19 -2
  120. package/web-test-runner.config.mjs +4 -3
  121. package/dist/events/http-client/models/CertificatesEvents.d.ts +0 -12
  122. package/dist/events/http-client/models/CertificatesEvents.d.ts.map +0 -1
  123. package/dist/events/http-client/models/CertificatesEvents.js +0 -18
  124. package/dist/events/http-client/models/CertificatesEvents.js.map +0 -1
  125. package/dist/http-client/idb/AuthDataModel.d.ts +0 -60
  126. package/dist/http-client/idb/AuthDataModel.d.ts.map +0 -1
  127. package/dist/http-client/idb/AuthDataModel.js +0 -150
  128. package/dist/http-client/idb/AuthDataModel.js.map +0 -1
  129. package/dist/http-client/idb/HostsModel.d.ts +0 -25
  130. package/dist/http-client/idb/HostsModel.d.ts.map +0 -1
  131. package/dist/http-client/idb/HostsModel.js +0 -82
  132. package/dist/http-client/idb/HostsModel.js.map +0 -1
  133. package/dist/http-client/idb/LegacyMockedStore.d.ts +0 -214
  134. package/dist/http-client/idb/LegacyMockedStore.d.ts.map +0 -1
  135. package/dist/http-client/idb/LegacyMockedStore.js +0 -486
  136. package/dist/http-client/idb/LegacyMockedStore.js.map +0 -1
  137. package/src/events/http-client/models/CertificatesEvents.ts +0 -23
  138. package/src/http-client/idb/AuthDataModel.ts +0 -175
  139. package/src/http-client/idb/HostsModel.ts +0 -125
  140. package/src/http-client/idb/LegacyMockedStore.ts +0 -544
  141. package/test/apic-ui.test.ts +0 -31
@@ -1 +1 @@
1
- {"version":3,"file":"StoreBindings.js","sourceRoot":"","sources":["../../../src/bindings/base/StoreBindings.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable no-dupe-class-members */\nimport { \n IBackendInfo, ProjectKind, FolderKind, DataFileKind, ContextListOptions, ContextListResult, IFile,\n IFileCreateOptions, AccessOperation, IUser, \n Folder, HttpProject, IAccessPatchInfo, IPatchInfo, IPatchRevision, IApplication, \n IHttpHistory, IHttpHistoryBulkAdd, HistoryListOptions, Project, ListFileKind, DataNamespace, DataFile, \n IBulkOperationResult, ContextChangeRecord,\n ContextDeleteEvent,\n ContextDeleteRecord,\n IProjectExecution,\n IProjectExecutionListOptions,\n ISpace,\n SpaceKind,\n Space,\n PermissionRole,\n HttpCertificate,\n ContextSpaceListOptions,\n IRevision,\n TrashEntry,\n TrashEntryCreate,\n ContextDeleteBulkEvent,\n ICertificate,\n ContextListEvent,\n ContextReadEvent,\n ContextUpdateEvent,\n FileAddOptions,\n FileBreadcrumb,\n IBackendObserveCommand,\n BackendCommandType,\n BackendCommandKind,\n RouteBuilder,\n BroadcastEvent,\n BackendErrorEvent,\n BroadcastFileData,\n} from '@api-client/core/build/browser.js';\nimport { Patch } from '@api-client/json';\nimport { PlatformBindings } from './PlatformBindings.js';\nimport { Events } from '../../events/Events.js';\nimport { EventTypes } from '../../events/EventTypes.js';\nimport { IConfigEnvironment, IConfigInit } from '../../lib/config/Config.js';\nimport { ISessionInitInfo, HttpStore } from '../../store/HttpStore.js';\nimport { StoreBroadcast } from '../../http-client/store/StoreBroadcast.js';\n\nexport interface EnvironmentSettings {\n /**\n * Initializes the store configuration from the init data.\n * \n * @param init The init data for the store environment.\n */\n init(init: IConfigInit): Promise<void>;\n\n /**\n * Reads the backend information about the store.\n * \n * @param baseUri Store's base URI.\n */\n readStoreInfo(baseUri: string): Promise<IBackendInfo>;\n}\n\nexport interface StoreAuthenticationInit {\n /**\n * The environment to authenticate. Default to globally set environment.\n */\n env?: IConfigEnvironment; \n /**\n * Whether to update environment in application configuration after authentication.\n */\n updateEnvironment?: boolean;\n /**\n * Whether to force authentication even when the user is already authenticated.\n */\n force?: boolean;\n}\n\ninterface StoreAuthentication {\n /**\n * Checks whether the user is authenticated in the store for the environment\n * @param env Optional environment if different than the global environment\n * @returns True if the user is authenticated in the store.\n */\n isAuthenticated(env?: IConfigEnvironment): Promise<boolean>;\n\n /**\n * Authenticates the global environment with the store.\n * \n * @param updateEnvironment When true it stores the environment data when the session was renewed.\n */\n authenticate(options?: StoreAuthenticationInit): Promise<ISessionInitInfo>;\n\n getToken(): Promise<string | undefined>;\n}\n\n/**\n * The base class for API store bindings.\n */\nexport abstract class StoreBindings extends PlatformBindings {\n /**\n * This is used by the client side (main thread or the renderer process)\n * to define the current space the app is using. \n * This space is used in some APIs instead of adding the space to the events system.\n */\n space = '';\n\n /**\n * The currently used environment for all store calls.\n * This can be changed via the `Events.Global.setEnv()`\n */\n globalEnvironment?: IConfigEnvironment;\n\n /**\n * Initialized with the `globalEnvironment`.\n * The store with initialized SDK for the global environment\n */\n store?: HttpStore;\n\n filesChannel = new BroadcastChannel(StoreBroadcast.files);\n\n mediaChannel = new BroadcastChannel(StoreBroadcast.media);\n\n spacesChannel = new BroadcastChannel(StoreBroadcast.spaces);\n\n trashChannel = new BroadcastChannel(StoreBroadcast.trash);\n\n historyChannel = new BroadcastChannel(StoreBroadcast.history);\n\n projectExeChannel = new BroadcastChannel(StoreBroadcast.projectRuns);\n\n certificatesChannel = new BroadcastChannel(StoreBroadcast.certificates);\n\n initialized = false;\n\n async initializeStore(): Promise<void> {\n // ...\n }\n\n async initialize(): Promise<void> {\n if (this.initialized) {\n return;\n }\n this.initialized = true;\n const target = document.body;\n\n window.addEventListener(EventTypes.Store.initEnvironment, this.handleInitializeEnvironment.bind(this));\n window.addEventListener(EventTypes.Store.info, this.handleStoreInfo.bind(this));\n window.addEventListener(EventTypes.Store.Global.setEnv, this.setGlobalEnvHandler.bind(this));\n window.addEventListener(EventTypes.Store.Global.getEnv, this.getGlobalEnvHandler.bind(this));\n \n // Auth\n window.addEventListener(EventTypes.Store.Auth.authenticate, this.storeAuthHandler.bind(this));\n window.addEventListener(EventTypes.Store.Auth.isAuthenticated, this.storeIsAuthenticatedHandler.bind(this));\n window.addEventListener(EventTypes.Store.Auth.getToken, this.getTokenHandler.bind(this));\n\n // Files\n window.addEventListener(EventTypes.Store.File.list, this.handleFileList.bind(this) as EventListener);\n window.addEventListener(EventTypes.Store.File.listShared, this.handleSharedFileList.bind(this) as EventListener);\n window.addEventListener(EventTypes.Store.File.create, this.handleFileCreate.bind(this) as EventListener);\n window.addEventListener(EventTypes.Store.File.createDefault, this.fileCreateDefaultHandler.bind(this));\n window.addEventListener(EventTypes.Store.File.read, this.handleFileRead.bind(this) as EventListener);\n window.addEventListener(EventTypes.Store.File.patch, this.handleFilePatch.bind(this) as EventListener);\n window.addEventListener(EventTypes.Store.File.delete, this.handleFileDelete.bind(this) as EventListener);\n window.addEventListener(EventTypes.Store.File.patchUsers, this.handleFilePatchUser.bind(this) as EventListener);\n window.addEventListener(EventTypes.Store.File.listUsers, this.handleListFileUsers.bind(this) as EventListener);\n window.addEventListener(EventTypes.Store.File.breadcrumbs, this.handleFileBreadcrumbs.bind(this) as EventListener);\n\n // User\n window.addEventListener(EventTypes.Store.User.me, this.handlerMe.bind(this));\n window.addEventListener(EventTypes.Store.User.list, this.handleUsersList.bind(this));\n window.addEventListener(EventTypes.Store.User.read, this.handleUserRead.bind(this));\n\n // history\n target.addEventListener(EventTypes.Store.History.create, this.handleHistoryCreate.bind(this));\n target.addEventListener(EventTypes.Store.History.createBulk, this.handleHistoryCreateBulk.bind(this));\n target.addEventListener(EventTypes.Store.History.delete, this.handleHistoryDelete.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.History.deleteBulk, this.handleHistoryDeleteBulk.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.History.list, this.handleHistoryList.bind(this));\n target.addEventListener(EventTypes.Store.History.read, this.handleHistoryRead.bind(this));\n target.addEventListener(EventTypes.Store.History.clearSpace, this.handleHistoryClearSpace.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.History.clearProject, this.handleHistoryClearProject.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.History.clearRequest, this.handleHistoryClearRequest.bind(this) as EventListener);\n\n // project runs\n target.addEventListener(EventTypes.Store.ProjectRuns.add, this.handleAddProjectExecution.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.ProjectRuns.list, this.handleProjectExecutionList.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.ProjectRuns.read, this.handleProjectExecutionRead.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.ProjectRuns.delete, this.handleProjectExecutionDelete.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.ProjectRuns.deleteBulk, this.handleProjectExecutionDeleteBulk.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.ProjectRuns.clearSpace, this.handleProjectExecutionClearSpace.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.ProjectRuns.clearProject, this.handleProjectExecutionClearProject.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.ProjectRuns.clearParent, this.handleProjectExecutionClearFolder.bind(this) as EventListener);\n\n // certificates\n target.addEventListener(EventTypes.Store.Certificate.list, this.handleCertificateList.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.Certificate.read, this.handleCertificateRead.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.Certificate.delete, this.handleCertificateDelete.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.Certificate.insert, this.handleCertificateInsert.bind(this) as EventListener);\n }\n\n abstract environment: EnvironmentSettings;\n\n auth: StoreAuthentication = {\n isAuthenticated: async (env?: IConfigEnvironment): Promise<boolean> => {\n let { store } = this;\n if (env) {\n store = new HttpStore(env);\n }\n if (!store) {\n throw new Error(`Environment is not set.`);\n }\n return store.isAuthenticated(env);\n },\n\n authenticate: async (options: StoreAuthenticationInit = {}): Promise<ISessionInitInfo> => {\n const { env, force, updateEnvironment } = options;\n let { store } = this;\n if (env) {\n store = new HttpStore(env);\n }\n if (!store) {\n throw new Error(`Environment is not set.`);\n }\n const result = await store.getStoreSessionToken(undefined, force);\n if (updateEnvironment && result.new) {\n await Events.Config.Environment.update(env || this.globalEnvironment as IConfigEnvironment);\n }\n return result;\n },\n\n /**\n * @returns The current store token or undefined if no store is set.\n */\n getToken: async (): Promise<string | undefined> => {\n const { store } = this;\n return store && store.sdk && store.sdk.token || undefined;\n },\n }\n\n global = {\n /**\n * Sets the store environment to be used globally by the application.\n * This initializes the store with the configuration.\n * \n * Note, this won't initialize the session with the store.\n * \n * @param env The environment to set. Note, it must have the `location` set.\n */\n set: async (env: IConfigEnvironment): Promise<void> => {\n if (!env.location) {\n throw new Error(`The location is required for store environment configuration.`);\n }\n this.globalEnvironment = env;\n const store = new HttpStore(env);\n this.store = store;\n },\n\n get: async (): Promise<IConfigEnvironment> => {\n const { globalEnvironment } = this;\n if (!globalEnvironment) {\n throw new Error(`The current environment is not set.`);\n }\n return globalEnvironment;\n },\n }\n\n protected handleInitializeEnvironment(input: Event): void {\n const e = input as CustomEvent;\n e.preventDefault();\n const copy = { ...e.detail };\n e.detail.result = this.environment.init(copy);\n }\n\n protected handleStoreInfo(input: Event): void {\n const e = input as CustomEvent;\n e.preventDefault();\n e.detail.result = this.environment.readStoreInfo(e.detail.baseUri);\n }\n\n protected storeAuthHandler(input: Event): void {\n const e = input as CustomEvent<{ options?: StoreAuthenticationInit, result: Promise<ISessionInitInfo> }>;\n e.preventDefault();\n e.detail.result = this.auth.authenticate(e.detail.options);\n }\n\n protected storeIsAuthenticatedHandler(input: Event): void {\n const e = input as CustomEvent;\n e.preventDefault();\n e.detail.result = this.auth.isAuthenticated(e.detail.env);\n }\n\n protected setGlobalEnvHandler(input: Event): void {\n const e = input as CustomEvent;\n e.preventDefault();\n e.detail.result = this.global.set(e.detail.env);\n }\n\n protected getGlobalEnvHandler(input: Event): void {\n const e = input as CustomEvent;\n e.preventDefault();\n e.detail.result = this.global.get();\n }\n\n protected getTokenHandler(input: Event): void {\n const e = input as CustomEvent;\n e.preventDefault();\n e.detail.result = this.auth.getToken();\n }\n\n protected handleFileList(event: CustomEvent<{ kinds?: ListFileKind[], options?: ContextListOptions, result: Promise<ContextListResult<IFile>> }>): void {\n event.preventDefault();\n const { kinds, options } = event.detail;\n const { space } = this;\n event.detail.result = this.getStore().sdk.file.list(space, kinds as ListFileKind[], options);\n }\n\n protected handleSharedFileList(event: CustomEvent<{ kinds?: ListFileKind[], options?: ContextListOptions, result: Promise<ContextListResult<IFile>> }>): void {\n event.preventDefault();\n const { kinds, options } = event.detail;\n const { space } = this;\n event.detail.result = this.getStore().sdk.shared.list(space, kinds, options);\n }\n\n protected handleFileCreate(event: CustomEvent<{ meta: IFile, media?: unknown, opts?: IFileCreateOptions, result: Promise<ContextChangeRecord<IFile>> }>): void {\n event.preventDefault();\n const { meta, media, opts } = event.detail;\n if (media) {\n event.detail.result = this.getStore().sdk.file.create(meta, media, this.space, opts);\n } else {\n event.detail.result = this.getStore().sdk.file.createMeta(meta, this.space, opts);\n }\n }\n\n protected fileCreateDefaultHandler(input: Event): void {\n const e = input as CustomEvent;\n e.preventDefault();\n e.detail.result = this.createDefaultFile(e.detail.name, e.detail.kind, e.detail.opts);\n }\n\n protected handleFileRead(event: CustomEvent<{ key: string, media: boolean, result: Promise<IFile | unknown> }>): void {\n event.preventDefault();\n const { media, key } = event.detail;\n if (media) {\n event.detail.result = this.getStore().sdk.file.read(this.space, key, media as true);\n } else {\n event.detail.result = this.getStore().sdk.file.read(this.space, key, media as false);\n }\n }\n\n protected handleFilePatch(event: CustomEvent<{ key: string, id: string, value: Patch.JsonPatch, app: IApplication, media?: boolean, result: Promise<IPatchRevision> }>): void {\n event.preventDefault();\n const { key, id, value, app, media } = event.detail;\n const info: IPatchInfo = {\n app: app.code,\n appVersion: app.version,\n patch: value,\n id,\n };\n\n event.detail.result = this.getStore().sdk.file.patch(this.space, key, info, media as false);\n }\n\n protected handleFileDelete(event: CustomEvent<{ key: string, result: Promise<string> }>): void {\n event.preventDefault();\n event.detail.result = this.getStore().sdk.file.delete(this.space, event.detail.key);\n }\n\n protected handleFilePatchUser(event: CustomEvent<{ key: string, id: string, value: AccessOperation[], app: IApplication, result: Promise<void> }>): void {\n event.preventDefault();\n const { key, id, value } = event.detail;\n const info: IAccessPatchInfo = {\n patch: value,\n id,\n };\n event.detail.result = this.getStore().sdk.file.patchUsers(this.space, key, info);\n }\n\n protected handleListFileUsers(event: CustomEvent<{ key: string, result: Promise<ContextListResult<IUser>> }>): void {\n event.preventDefault();\n event.detail.result = this.getStore().sdk.file.listUsers(this.space, event.detail.key);\n }\n\n protected handleFileBreadcrumbs(event: CustomEvent<{ key: string, result: Promise<ContextListResult<FileBreadcrumb>> }>): void {\n event.preventDefault();\n event.detail.result = this.files.breadcrumbs(event.detail.key)\n // this.getStore().sdk.file.breadcrumbs(this.space, event.detail.key);\n }\n\n protected handlerMe(input: Event): void {\n const e = input as CustomEvent<{ result: Promise<IUser> }>;\n e.preventDefault();\n e.detail.result = this.users.me();\n }\n\n protected handleUsersList(input: Event): void {\n const e = input as CustomEvent<{ options?: ContextListOptions, result: Promise<ContextListResult<IUser>> }>;\n e.preventDefault();\n e.detail.result = this.users.list(e.detail.options);\n }\n\n\n protected handleUserRead(input: Event): void {\n const e = input as CustomEvent<{ key: string, result: Promise<IUser> }>;\n e.preventDefault();\n e.detail.result = this.users.read(e.detail.key);\n }\n\n protected handleHistoryCreate(input: Event): void {\n const e = input as CustomEvent<{ history: IHttpHistory, result: Promise<ContextChangeRecord<IHttpHistory>> }>;\n e.preventDefault();\n const cp = { ...e.detail.history };\n if (!cp.space) {\n cp.space = this.space;\n }\n e.detail.result = this.getStore().sdk.history.add(cp);\n }\n\n protected handleHistoryCreateBulk(input: Event): void {\n const e = input as CustomEvent<{ info: IHttpHistoryBulkAdd, result: Promise<IBulkOperationResult<ContextChangeRecord<IHttpHistory>>> }>;\n e.preventDefault();\n const cp = { ...e.detail.info };\n if (!cp.space) {\n cp.space = this.space;\n }\n e.detail.result = this.getStore().sdk.history.createBulk(cp);\n }\n\n protected handleHistoryDelete(input: Event): void {\n const e = input as ContextDeleteEvent;\n e.preventDefault();\n e.detail.result = this.deleteHistory(e.detail.key);\n }\n\n protected handleHistoryList(input: Event): void {\n const e = input as CustomEvent<{ init: HistoryListOptions, result: Promise<ContextListResult<IHttpHistory>> }>;\n e.preventDefault();\n const cp = { ...e.detail.init } as HistoryListOptions;\n if (!cp.space) {\n cp.space = this.space;\n }\n e.detail.result = this.getStore().sdk.history.list(cp);\n }\n\n protected handleHistoryRead(input: Event): void {\n const e = input as CustomEvent;\n e.preventDefault();\n e.detail.result = this.getStore().sdk.history.read(e.detail.key);\n }\n\n protected handleHistoryDeleteBulk(event: ContextDeleteBulkEvent): void {\n event.preventDefault();\n event.detail.result = this.getStore().sdk.history.deleteBulk(event.detail.keys);\n }\n\n protected handleHistoryClearSpace(event: CustomEvent<{ result: Promise<void>, space: string }>): void {\n event.preventDefault();\n event.detail.result = this.getStore().sdk.history.clearSpace(event.detail.space);\n }\n\n protected handleHistoryClearProject(event: CustomEvent<{ result: Promise<void>, space: string, project: string }>): void {\n event.preventDefault();\n event.detail.result = this.getStore().sdk.history.clearProject(event.detail.space, event.detail.project);\n }\n\n protected handleHistoryClearRequest(event: CustomEvent<{ result: Promise<void>, space: string, project: string, request: string }>): void {\n event.preventDefault();\n event.detail.result = this.getStore().sdk.history.clearRequest(event.detail.space, event.detail.project, event.detail.request);\n }\n\n async deleteHistory(key: string): Promise<ContextDeleteRecord> {\n await this.getStore().sdk.history.delete(key);\n return {\n key,\n };\n }\n\n protected handleAddProjectExecution(event: CustomEvent<{ item: IProjectExecution, result: Promise<ContextChangeRecord<IProjectExecution>> }>): void {\n event.preventDefault();\n const { item } = event.detail;\n event.detail.result = this.getStore().sdk.projectExecution.add(this.space, item);\n }\n\n protected handleProjectExecutionRead(event: CustomEvent<{ key: string, result: Promise<IProjectExecution> }>): void {\n event.preventDefault();\n const { key } = event.detail;\n event.detail.result = this.getStore().sdk.projectExecution.read(key);\n }\n\n protected handleProjectExecutionList(event: CustomEvent<{ options: IProjectExecutionListOptions, result: Promise<ContextListResult<IProjectExecution>> }>): void {\n event.preventDefault();\n const { options } = event.detail;\n const cp = { ...options };\n if (!cp.space) {\n cp.space = this.space;\n }\n event.detail.result = this.getStore().sdk.projectExecution.list(cp);\n }\n\n protected handleProjectExecutionDelete(event: CustomEvent<{ key: string, result: Promise<void> }>): void {\n event.preventDefault();\n const { key } = event.detail;\n event.detail.result = this.getStore().sdk.projectExecution.delete(key);\n }\n\n protected handleProjectExecutionDeleteBulk(event: ContextDeleteBulkEvent): void {\n event.preventDefault();\n const { keys } = event.detail;\n event.detail.result = this.getStore().sdk.projectExecution.deleteBulk(keys);\n }\n\n protected handleProjectExecutionClearSpace(event: CustomEvent<{ space: string, result: Promise<void> }>): void {\n event.preventDefault();\n const { space } = event.detail;\n event.detail.result = this.getStore().sdk.projectExecution.clearSpace(space);\n }\n\n protected handleProjectExecutionClearProject(event: CustomEvent<{ space: string, project: string, result: Promise<void> }>): void {\n event.preventDefault();\n const { space, project } = event.detail;\n event.detail.result = this.getStore().sdk.projectExecution.clearProject(space, project);\n }\n\n protected handleProjectExecutionClearFolder(event: CustomEvent<{ space: string, project: string, folder: string, result: Promise<void> }>): void {\n event.preventDefault();\n const { space, project, folder } = event.detail;\n event.detail.result = this.getStore().sdk.projectExecution.clearParent(space, project, folder);\n }\n\n /**\n * A logic that creates an empty (default) file from its name and the file kind.\n * \n * @param name The name of the file.\n * @param kind The kind of the file.\n * @param opts Optional create options\n * @returns The key of the created file.\n */\n async createDefaultFile(space: string, name: string, kind: string, opts?: IFileCreateOptions): Promise<ContextChangeRecord<IFile>> {\n switch (kind) {\n case ProjectKind: return this.createDefaultProject(space, name, opts);\n case FolderKind: return this.createDefaultFolder(space, name, opts);\n case DataFileKind: return this.createDefaultDataNamespace(space, name, opts);\n default: \n throw new Error(`Unrecognized file kind: ${kind}`);\n }\n }\n\n /**\n * Creates a default HttpProject from a name\n * \n * @param name The name of the project\n * @param opts Create options.\n * @returns The key of the created file.\n */\n async createDefaultProject(space: string, name: string, opts?: IFileCreateOptions): Promise<ContextChangeRecord<IFile>> {\n const { store } = this;\n if (!store) {\n throw new Error(`Environment is not set.`);\n }\n const media = HttpProject.fromName(name);\n const file = Project.fromProject(media, space);\n return store.sdk.file.create(file.toJSON(), media.toJSON(), space, opts);\n }\n\n /**\n * Creates a default DataNamespace from a name\n * \n * @param name The name of the DataNamespace\n * @param opts Create options.\n * @returns The key of the created file.\n */\n async createDefaultDataNamespace(space: string, name: string, opts?: IFileCreateOptions): Promise<ContextChangeRecord<IFile>> {\n const { store } = this;\n if (!store) {\n throw new Error(`Environment is not set.`);\n }\n const media = DataNamespace.fromName(name);\n const file = DataFile.fromDataNamespace(media, space);\n return store.sdk.file.create(file.toJSON(), media.toJSON(), space, opts);\n }\n\n /**\n * Creates a default Folder from a name\n * \n * @param name The name of the space\n * @param opts Create options.\n * @returns The key of the created file.\n */\n async createDefaultFolder(space: string, name: string, opts?: IFileCreateOptions): Promise<ContextChangeRecord<IFile>> {\n const { store } = this;\n if (!store) {\n throw new Error(`Environment is not set.`);\n }\n const folder = Folder.fromName(name, space);\n return store.sdk.file.createMeta(folder.toJSON(), space, opts);\n }\n\n getStore(): HttpStore {\n const { store } = this;\n if (!store) {\n throw new Error(`Environment is not set.`);\n }\n return store;\n }\n\n spaces = {\n list: (options?: ContextListOptions): Promise<ContextListResult<ISpace>> => this.getStore().sdk.spaces.list(options),\n add: (nameOrObject: string | ISpace): Promise<ContextChangeRecord<ISpace>> => {\n let space: ISpace;\n if (typeof nameOrObject === 'string') {\n space = Space.fromName(nameOrObject).toJSON();\n } else {\n space = nameOrObject as ISpace;\n }\n return this.getStore().sdk.spaces.add(space);\n },\n read: (key: string): Promise<ISpace> => this.getStore().sdk.spaces.read(key),\n delete: async (key: string): Promise<ContextDeleteRecord> => {\n await this.getStore().sdk.spaces.delete(key);\n return {\n key,\n kind: SpaceKind,\n };\n },\n addUser: (space: string, otherUserKey: string, role: PermissionRole, expires?: number): Promise<void> => this.getStore().sdk.spaces.addUser(this.space || space, otherUserKey, role, expires),\n removeUser: (space: string, otherUserKey: string): Promise<void> => this.getStore().sdk.spaces.removeUser(this.space || space, otherUserKey),\n patchUsers: (space: string, value: IAccessPatchInfo): Promise<void> => this.getStore().sdk.spaces.patchUsers(this.space || space, value),\n }\n\n certificates = {\n add: (value: HttpCertificate, space: string): Promise<ContextChangeRecord<HttpCertificate>> => this.getStore().sdk.certificates.add(value, this.space || space),\n addBulk: (values: HttpCertificate[], space: string): Promise<IBulkOperationResult<ContextChangeRecord<HttpCertificate>>> => this.getStore().sdk.certificates.addBulk(values, this.space || space),\n read: (key: string): Promise<HttpCertificate> => this.getStore().sdk.certificates.read(key),\n list: (options?: ContextSpaceListOptions): Promise<ContextListResult<HttpCertificate>> => {\n const cp = { ...options } as ContextSpaceListOptions;\n if (!cp.space) {\n cp.space = this.space;\n }\n return this.getStore().sdk.certificates.list(cp);\n },\n delete: async (key: string): Promise<ContextDeleteRecord> => {\n await this.getStore().sdk.certificates.delete(key);\n return {\n key,\n };\n },\n deleteBulk: (keys: string[]): Promise<IBulkOperationResult<ContextDeleteRecord>> => this.getStore().sdk.certificates.deleteBulk(keys),\n empty: (space: string): Promise<void> => this.getStore().sdk.certificates.empty(this.space || space),\n }\n\n trash = {\n add: (entry: TrashEntryCreate, space: string): Promise<ContextChangeRecord<TrashEntry>> => this.getStore().sdk.trash.add(entry, this.space || space),\n list: (options: ContextSpaceListOptions): Promise<ContextListResult<TrashEntry>> => {\n const cp = { ...options } as ContextSpaceListOptions;\n if (!cp.space) {\n cp.space = this.space;\n }\n return this.getStore().sdk.trash.list(cp);\n },\n delete: async (key: string): Promise<ContextDeleteRecord> => {\n await this.getStore().sdk.trash.delete(key);\n return { key };\n },\n batchDelete: (keys: string[]): Promise<IBulkOperationResult<ContextDeleteRecord>> => this.getStore().sdk.trash.batchDelete(keys),\n restore: (key: string): Promise<ContextChangeRecord<IFile>> => this.getStore().sdk.trash.restore(key),\n batchRestore: (keys: string[]): Promise<IBulkOperationResult<ContextChangeRecord<IFile>>> => this.getStore().sdk.trash.batchDelete(keys),\n empty: (space: string): Promise<void> => this.getStore().sdk.trash.empty(this.space || space),\n }\n\n revisions = {\n list: (key: string, options: ContextSpaceListOptions): Promise<ContextListResult<IRevision>> => this.getStore().sdk.revisions.list(key, options),\n }\n\n media = {\n add: (key: string, contents: unknown, mime: string): Promise<void> => this.getStore().sdk.file.createMedia(contents, this.space, key, { mime }),\n read: (key: string): Promise<unknown> => this.getStore().sdk.file.read(this.space, key, true),\n patch: (key: string, info: IPatchInfo): Promise<IPatchRevision> => this.getStore().sdk.file.patch(this.space, key, info, true),\n }\n\n files = {\n list: (options: ContextListOptions, kinds?: ListFileKind[]): Promise<ContextListResult<IFile>> => this.getStore().sdk.file.list(this.space, kinds, options),\n add: (input: IFile, opts?: FileAddOptions): Promise<ContextChangeRecord<IFile>> => this.getStore().sdk.file.createMeta(input, this.space, opts),\n read: (key: string): Promise<IFile> => this.getStore().sdk.file.read(this.space, key, false),\n readBulk: (keys: string[]): Promise<IBulkOperationResult<IFile>> => this.getStore().sdk.file.readBulk(this.space, keys),\n delete: (key: string): Promise<string> => this.getStore().sdk.file.delete(this.space, key),\n patch: (key: string, info: IPatchInfo): Promise<IPatchRevision> => this.getStore().sdk.file.patch(this.space, key, info, false),\n breadcrumbs: (key: string): Promise<ContextListResult<FileBreadcrumb>> => this.getStore().sdk.file.breadcrumbs(this.space, key),\n }\n\n shared = {\n list: (options: ContextListOptions, kinds?: ListFileKind[]): Promise<ContextListResult<IFile>> => this.getStore().sdk.shared.list(this.space, kinds, options),\n }\n\n users = {\n list: (options?: ContextListOptions): Promise<ContextListResult<IUser>> => this.getStore().sdk.user.list(options),\n me: (): Promise<IUser> => this.getStore().sdk.user.me(),\n read: (key: string): Promise<IUser> => this.getStore().sdk.user.read(key),\n }\n\n protected handleCertificateList(event: Event): void {\n const e = event as ContextListEvent<ICertificate>;\n e.preventDefault();\n const options: ContextSpaceListOptions = {\n ...e.detail,\n space: this.space,\n }\n e.detail.result = this.certificates.list(options);\n }\n\n protected handleCertificateRead(event: Event): void {\n const e = event as ContextReadEvent<ICertificate>;\n e.preventDefault();\n e.detail.result = this.certificates.read(e.detail.key);\n }\n\n protected handleCertificateDelete(event: Event): void {\n const e = event as ContextDeleteEvent;\n e.preventDefault();\n e.detail.result = this.certificates.delete(e.detail.key);\n }\n\n protected handleCertificateInsert(event: Event): void {\n const e = event as ContextUpdateEvent<HttpCertificate, HttpCertificate>;\n e.preventDefault();\n e.detail.result = this.certificates.add(e.detail.item, this.space);\n }\n\n async observeCertificates(): Promise<void> {\n await this.observePath(RouteBuilder.certificates());\n }\n\n async unobserveCertificates(): Promise<void> {\n await this.unobservePath(RouteBuilder.certificates());\n }\n\n async observeSpaces(): Promise<void> {\n await this.observePath(RouteBuilder.spaces());\n }\n\n async unobserveSpaces(): Promise<void> {\n await this.unobservePath(RouteBuilder.spaces());\n }\n\n async observeFiles(): Promise<void> {\n await this.observePath(RouteBuilder.files());\n }\n\n async unobserveFiles(): Promise<void> {\n await this.unobservePath(RouteBuilder.files());\n }\n\n async observeFile(key: string, alt: 'media' | 'meta' = 'meta'): Promise<void> {\n const path = RouteBuilder.file(key)\n await this.observePath(`${path}?alt=${alt}`);\n }\n\n async unobserveFile(key: string, alt: 'media' | 'meta' = 'meta'): Promise<void> {\n const path = RouteBuilder.file(key)\n await this.unobservePath(`${path}?alt=${alt}`);\n }\n\n async observeHistory(): Promise<void> {\n await this.observePath(RouteBuilder.history());\n }\n\n async unobserveHistory(): Promise<void> {\n await this.unobservePath(RouteBuilder.history());\n }\n\n async observeProjectExecutions(): Promise<void> {\n await this.observePath(RouteBuilder.projectExecutions());\n }\n\n async unobserveProjectExecutions(): Promise<void> {\n await this.unobservePath(RouteBuilder.projectExecutions());\n }\n\n async observeTrash(): Promise<void> {\n await this.observePath(RouteBuilder.trash());\n }\n\n async unobserveTrash(): Promise<void> {\n await this.unobservePath(RouteBuilder.trash());\n }\n\n async sendSocket(ws: WebSocket, command: unknown): Promise<void> {\n ws.send(JSON.stringify(command));\n }\n\n protected async observePath(path: string): Promise<void> {\n const { space } = this;\n const url = new URL(path, 'http://localhost');\n url.searchParams.set('space', space);\n const fullPath = `${url.pathname}${url.search}`\n const socket = await this.getEventsSocket();\n const cmd: IBackendObserveCommand = {\n cmd: BackendCommandType.observe,\n kind: BackendCommandKind,\n path: fullPath,\n };\n await this.sendSocket(socket, cmd);\n }\n\n protected async unobservePath(path: string): Promise<void> {\n const socket = await this.getEventsSocket();\n const cmd: IBackendObserveCommand = {\n cmd: BackendCommandType.unobserve,\n kind: BackendCommandKind,\n path,\n };\n await this.sendSocket(socket, cmd);\n }\n\n eventsSocket?: WebSocket;\n\n async getEventsSocket(): Promise<WebSocket> {\n if (!this.eventsSocket) {\n const store = this.getStore();\n const { token } = store.sdk;\n const url = store.sdk.getUrl('/events');\n this.eventsSocket = await store.sdk.ws.createAndConnect(url.toString(), token) as WebSocket;\n this.eventsSocket.addEventListener('message', this.storeEventHandler.bind(this));\n }\n return this.eventsSocket;\n }\n\n async closeEventsSocket(): Promise<void> {\n const { eventsSocket } = this;\n if (!eventsSocket) {\n return;\n }\n this.eventsSocket = undefined;\n eventsSocket.close();\n }\n\n protected storeEventHandler(e: MessageEvent): void {\n const event = JSON.parse(e.data) as BroadcastEvent | BackendErrorEvent;\n if (event.type === 'error') {\n throw new Error(event.cause);\n }\n if (event.space && event.space !== this.space) {\n // we allow files here to support shared files.\n if (event.path === RouteBuilder.files()) {\n this.filesChannel.postMessage(event);\n }\n return;\n }\n if (event.path === RouteBuilder.spaces()) {\n this.spacesChannel.postMessage(event);\n } else if (event.path === RouteBuilder.files()) {\n this.filesChannel.postMessage(event);\n } else if (event.path.startsWith(RouteBuilder.files())) {\n const typed = event as BroadcastFileData & BroadcastEvent;\n if (typed.alt === 'media') {\n this.mediaChannel.postMessage(event);\n } else {\n this.filesChannel.postMessage(event);\n }\n } else if (event.path === RouteBuilder.trash()) {\n this.trashChannel.postMessage(event);\n } else if (event.path === RouteBuilder.history()) {\n this.historyChannel.postMessage(event);\n } else if (event.path === RouteBuilder.projectExecutions()) {\n this.projectExeChannel.postMessage(event);\n } else if (event.path === RouteBuilder.certificates()) {\n this.certificatesChannel.postMessage(event);\n } else {\n // eslint-disable-next-line no-console\n console.warn(`Broadcast path not handled`, event.path, event)\n }\n }\n}\n"]}
1
+ {"version":3,"file":"StoreBindings.js","sourceRoot":"","sources":["../../../src/bindings/base/StoreBindings.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable no-dupe-class-members */\nimport { \n IBackendInfo, ProjectKind, FolderKind, DataFileKind, ContextListOptions, ContextListResult, IFile,\n IFileCreateOptions, AccessOperation, IUser, \n Folder, HttpProject, IAccessPatchInfo, IPatchInfo, IPatchRevision, IApplication, \n IHttpHistory, IHttpHistoryBulkAdd, HistoryListOptions, Project, ListFileKind, DataNamespace, DataFile, \n IBulkOperationResult, ContextChangeRecord,\n ContextDeleteEvent,\n ContextDeleteRecord,\n IProjectExecution,\n IProjectExecutionListOptions,\n ISpace,\n SpaceKind,\n Space,\n PermissionRole,\n ContextSpaceListOptions,\n IRevision,\n TrashEntry,\n TrashEntryCreate,\n ContextDeleteBulkEvent,\n FileAddOptions,\n FileBreadcrumb,\n IBackendObserveCommand,\n BackendCommandType,\n BackendCommandKind,\n RouteBuilder,\n BroadcastEvent,\n BackendErrorEvent,\n BroadcastFileData,\n} from '@api-client/core/build/browser.js';\nimport { Patch } from '@api-client/json';\nimport { PlatformBindings } from './PlatformBindings.js';\nimport { Events } from '../../events/Events.js';\nimport { EventTypes } from '../../events/EventTypes.js';\nimport { IConfigEnvironment, IConfigInit } from '../../lib/config/Config.js';\nimport { ISessionInitInfo, HttpStore } from '../../store/HttpStore.js';\nimport { StoreBroadcast } from '../../http-client/store/StoreBroadcast.js';\n\nexport interface EnvironmentSettings {\n /**\n * Initializes the store configuration from the init data.\n * \n * @param init The init data for the store environment.\n */\n init(init: IConfigInit): Promise<void>;\n\n /**\n * Reads the backend information about the store.\n * \n * @param baseUri Store's base URI.\n */\n readStoreInfo(baseUri: string): Promise<IBackendInfo>;\n}\n\nexport interface StoreAuthenticationInit {\n /**\n * The environment to authenticate. Default to globally set environment.\n */\n env?: IConfigEnvironment; \n /**\n * Whether to update environment in application configuration after authentication.\n */\n updateEnvironment?: boolean;\n /**\n * Whether to force authentication even when the user is already authenticated.\n */\n force?: boolean;\n}\n\ninterface StoreAuthentication {\n /**\n * Checks whether the user is authenticated in the store for the environment\n * @param env Optional environment if different than the global environment\n * @returns True if the user is authenticated in the store.\n */\n isAuthenticated(env?: IConfigEnvironment): Promise<boolean>;\n\n /**\n * Authenticates the global environment with the store.\n * \n * @param updateEnvironment When true it stores the environment data when the session was renewed.\n */\n authenticate(options?: StoreAuthenticationInit): Promise<ISessionInitInfo>;\n\n getToken(): Promise<string | undefined>;\n}\n\n/**\n * The base class for API store bindings.\n */\nexport abstract class StoreBindings extends PlatformBindings {\n /**\n * This is used by the client side (main thread or the renderer process)\n * to define the current space the app is using. \n * This space is used in some APIs instead of adding the space to the events system.\n */\n space = '';\n\n /**\n * The currently used environment for all store calls.\n * This can be changed via the `Events.Global.setEnv()`\n */\n globalEnvironment?: IConfigEnvironment;\n\n /**\n * Initialized with the `globalEnvironment`.\n * The store with initialized SDK for the global environment\n */\n store?: HttpStore;\n\n filesChannel = new BroadcastChannel(StoreBroadcast.files);\n\n mediaChannel = new BroadcastChannel(StoreBroadcast.media);\n\n spacesChannel = new BroadcastChannel(StoreBroadcast.spaces);\n\n trashChannel = new BroadcastChannel(StoreBroadcast.trash);\n\n historyChannel = new BroadcastChannel(StoreBroadcast.history);\n\n projectExeChannel = new BroadcastChannel(StoreBroadcast.projectRuns);\n\n initialized = false;\n\n async initializeStore(): Promise<void> {\n // ...\n }\n\n async initialize(): Promise<void> {\n if (this.initialized) {\n return;\n }\n this.initialized = true;\n const target = document.body;\n\n window.addEventListener(EventTypes.Store.initEnvironment, this.handleInitializeEnvironment.bind(this));\n window.addEventListener(EventTypes.Store.info, this.handleStoreInfo.bind(this));\n window.addEventListener(EventTypes.Store.Global.setEnv, this.setGlobalEnvHandler.bind(this));\n window.addEventListener(EventTypes.Store.Global.getEnv, this.getGlobalEnvHandler.bind(this));\n \n // Auth\n window.addEventListener(EventTypes.Store.Auth.authenticate, this.storeAuthHandler.bind(this));\n window.addEventListener(EventTypes.Store.Auth.isAuthenticated, this.storeIsAuthenticatedHandler.bind(this));\n window.addEventListener(EventTypes.Store.Auth.getToken, this.getTokenHandler.bind(this));\n\n // Files\n window.addEventListener(EventTypes.Store.File.list, this.handleFileList.bind(this) as EventListener);\n window.addEventListener(EventTypes.Store.File.listShared, this.handleSharedFileList.bind(this) as EventListener);\n window.addEventListener(EventTypes.Store.File.create, this.handleFileCreate.bind(this) as EventListener);\n window.addEventListener(EventTypes.Store.File.createDefault, this.fileCreateDefaultHandler.bind(this));\n window.addEventListener(EventTypes.Store.File.read, this.handleFileRead.bind(this) as EventListener);\n window.addEventListener(EventTypes.Store.File.patch, this.handleFilePatch.bind(this) as EventListener);\n window.addEventListener(EventTypes.Store.File.delete, this.handleFileDelete.bind(this) as EventListener);\n window.addEventListener(EventTypes.Store.File.patchUsers, this.handleFilePatchUser.bind(this) as EventListener);\n window.addEventListener(EventTypes.Store.File.listUsers, this.handleListFileUsers.bind(this) as EventListener);\n window.addEventListener(EventTypes.Store.File.breadcrumbs, this.handleFileBreadcrumbs.bind(this) as EventListener);\n\n // User\n window.addEventListener(EventTypes.Store.User.me, this.handlerMe.bind(this));\n window.addEventListener(EventTypes.Store.User.list, this.handleUsersList.bind(this));\n window.addEventListener(EventTypes.Store.User.read, this.handleUserRead.bind(this));\n\n // history\n target.addEventListener(EventTypes.Store.History.create, this.handleHistoryCreate.bind(this));\n target.addEventListener(EventTypes.Store.History.createBulk, this.handleHistoryCreateBulk.bind(this));\n target.addEventListener(EventTypes.Store.History.delete, this.handleHistoryDelete.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.History.deleteBulk, this.handleHistoryDeleteBulk.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.History.list, this.handleHistoryList.bind(this));\n target.addEventListener(EventTypes.Store.History.read, this.handleHistoryRead.bind(this));\n target.addEventListener(EventTypes.Store.History.clearSpace, this.handleHistoryClearSpace.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.History.clearProject, this.handleHistoryClearProject.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.History.clearRequest, this.handleHistoryClearRequest.bind(this) as EventListener);\n\n // project runs\n target.addEventListener(EventTypes.Store.ProjectRuns.add, this.handleAddProjectExecution.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.ProjectRuns.list, this.handleProjectExecutionList.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.ProjectRuns.read, this.handleProjectExecutionRead.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.ProjectRuns.delete, this.handleProjectExecutionDelete.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.ProjectRuns.deleteBulk, this.handleProjectExecutionDeleteBulk.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.ProjectRuns.clearSpace, this.handleProjectExecutionClearSpace.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.ProjectRuns.clearProject, this.handleProjectExecutionClearProject.bind(this) as EventListener);\n target.addEventListener(EventTypes.Store.ProjectRuns.clearParent, this.handleProjectExecutionClearFolder.bind(this) as EventListener);\n }\n\n abstract environment: EnvironmentSettings;\n\n auth: StoreAuthentication = {\n isAuthenticated: async (env?: IConfigEnvironment): Promise<boolean> => {\n let { store } = this;\n if (env) {\n store = new HttpStore(env);\n }\n if (!store) {\n throw new Error(`Environment is not set.`);\n }\n return store.isAuthenticated(env);\n },\n\n authenticate: async (options: StoreAuthenticationInit = {}): Promise<ISessionInitInfo> => {\n const { env, force, updateEnvironment } = options;\n let { store } = this;\n if (env) {\n store = new HttpStore(env);\n }\n if (!store) {\n throw new Error(`Environment is not set.`);\n }\n const result = await store.getStoreSessionToken(undefined, force);\n if (updateEnvironment && result.new) {\n await Events.Config.Environment.update(env || this.globalEnvironment as IConfigEnvironment);\n }\n return result;\n },\n\n /**\n * @returns The current store token or undefined if no store is set.\n */\n getToken: async (): Promise<string | undefined> => {\n const { store } = this;\n return store && store.sdk && store.sdk.token || undefined;\n },\n }\n\n global = {\n /**\n * Sets the store environment to be used globally by the application.\n * This initializes the store with the configuration.\n * \n * Note, this won't initialize the session with the store.\n * \n * @param env The environment to set. Note, it must have the `location` set.\n */\n set: async (env: IConfigEnvironment): Promise<void> => {\n if (!env.location) {\n throw new Error(`The location is required for store environment configuration.`);\n }\n this.globalEnvironment = env;\n const store = new HttpStore(env);\n this.store = store;\n },\n\n get: async (): Promise<IConfigEnvironment> => {\n const { globalEnvironment } = this;\n if (!globalEnvironment) {\n throw new Error(`The current environment is not set.`);\n }\n return globalEnvironment;\n },\n }\n\n protected handleInitializeEnvironment(input: Event): void {\n const e = input as CustomEvent;\n e.preventDefault();\n const copy = { ...e.detail };\n e.detail.result = this.environment.init(copy);\n }\n\n protected handleStoreInfo(input: Event): void {\n const e = input as CustomEvent;\n e.preventDefault();\n e.detail.result = this.environment.readStoreInfo(e.detail.baseUri);\n }\n\n protected storeAuthHandler(input: Event): void {\n const e = input as CustomEvent<{ options?: StoreAuthenticationInit, result: Promise<ISessionInitInfo> }>;\n e.preventDefault();\n e.detail.result = this.auth.authenticate(e.detail.options);\n }\n\n protected storeIsAuthenticatedHandler(input: Event): void {\n const e = input as CustomEvent;\n e.preventDefault();\n e.detail.result = this.auth.isAuthenticated(e.detail.env);\n }\n\n protected setGlobalEnvHandler(input: Event): void {\n const e = input as CustomEvent;\n e.preventDefault();\n e.detail.result = this.global.set(e.detail.env);\n }\n\n protected getGlobalEnvHandler(input: Event): void {\n const e = input as CustomEvent;\n e.preventDefault();\n e.detail.result = this.global.get();\n }\n\n protected getTokenHandler(input: Event): void {\n const e = input as CustomEvent;\n e.preventDefault();\n e.detail.result = this.auth.getToken();\n }\n\n protected handleFileList(event: CustomEvent<{ kinds?: ListFileKind[], options?: ContextListOptions, result: Promise<ContextListResult<IFile>> }>): void {\n event.preventDefault();\n const { kinds, options } = event.detail;\n const { space } = this;\n event.detail.result = this.getStore().sdk.file.list(space, kinds as ListFileKind[], options);\n }\n\n protected handleSharedFileList(event: CustomEvent<{ kinds?: ListFileKind[], options?: ContextListOptions, result: Promise<ContextListResult<IFile>> }>): void {\n event.preventDefault();\n const { kinds, options } = event.detail;\n const { space } = this;\n event.detail.result = this.getStore().sdk.shared.list(space, kinds, options);\n }\n\n protected handleFileCreate(event: CustomEvent<{ meta: IFile, media?: unknown, opts?: IFileCreateOptions, result: Promise<ContextChangeRecord<IFile>> }>): void {\n event.preventDefault();\n const { meta, media, opts } = event.detail;\n if (media) {\n event.detail.result = this.getStore().sdk.file.create(meta, media, this.space, opts);\n } else {\n event.detail.result = this.getStore().sdk.file.createMeta(meta, this.space, opts);\n }\n }\n\n protected fileCreateDefaultHandler(input: Event): void {\n const e = input as CustomEvent;\n e.preventDefault();\n e.detail.result = this.createDefaultFile(e.detail.name, e.detail.kind, e.detail.opts);\n }\n\n protected handleFileRead(event: CustomEvent<{ key: string, media: boolean, result: Promise<IFile | unknown> }>): void {\n event.preventDefault();\n const { media, key } = event.detail;\n if (media) {\n event.detail.result = this.getStore().sdk.file.read(this.space, key, media as true);\n } else {\n event.detail.result = this.getStore().sdk.file.read(this.space, key, media as false);\n }\n }\n\n protected handleFilePatch(event: CustomEvent<{ key: string, id: string, value: Patch.JsonPatch, app: IApplication, media?: boolean, result: Promise<IPatchRevision> }>): void {\n event.preventDefault();\n const { key, id, value, app, media } = event.detail;\n const info: IPatchInfo = {\n app: app.code,\n appVersion: app.version,\n patch: value,\n id,\n };\n\n event.detail.result = this.getStore().sdk.file.patch(this.space, key, info, media as false);\n }\n\n protected handleFileDelete(event: CustomEvent<{ key: string, result: Promise<string> }>): void {\n event.preventDefault();\n event.detail.result = this.getStore().sdk.file.delete(this.space, event.detail.key);\n }\n\n protected handleFilePatchUser(event: CustomEvent<{ key: string, id: string, value: AccessOperation[], app: IApplication, result: Promise<void> }>): void {\n event.preventDefault();\n const { key, id, value } = event.detail;\n const info: IAccessPatchInfo = {\n patch: value,\n id,\n };\n event.detail.result = this.getStore().sdk.file.patchUsers(this.space, key, info);\n }\n\n protected handleListFileUsers(event: CustomEvent<{ key: string, result: Promise<ContextListResult<IUser>> }>): void {\n event.preventDefault();\n event.detail.result = this.getStore().sdk.file.listUsers(this.space, event.detail.key);\n }\n\n protected handleFileBreadcrumbs(event: CustomEvent<{ key: string, result: Promise<ContextListResult<FileBreadcrumb>> }>): void {\n event.preventDefault();\n event.detail.result = this.files.breadcrumbs(event.detail.key)\n // this.getStore().sdk.file.breadcrumbs(this.space, event.detail.key);\n }\n\n protected handlerMe(input: Event): void {\n const e = input as CustomEvent<{ result: Promise<IUser> }>;\n e.preventDefault();\n e.detail.result = this.users.me();\n }\n\n protected handleUsersList(input: Event): void {\n const e = input as CustomEvent<{ options?: ContextListOptions, result: Promise<ContextListResult<IUser>> }>;\n e.preventDefault();\n e.detail.result = this.users.list(e.detail.options);\n }\n\n\n protected handleUserRead(input: Event): void {\n const e = input as CustomEvent<{ key: string, result: Promise<IUser> }>;\n e.preventDefault();\n e.detail.result = this.users.read(e.detail.key);\n }\n\n protected handleHistoryCreate(input: Event): void {\n const e = input as CustomEvent<{ history: IHttpHistory, result: Promise<ContextChangeRecord<IHttpHistory>> }>;\n e.preventDefault();\n const cp = { ...e.detail.history };\n if (!cp.space) {\n cp.space = this.space;\n }\n e.detail.result = this.getStore().sdk.history.add(cp);\n }\n\n protected handleHistoryCreateBulk(input: Event): void {\n const e = input as CustomEvent<{ info: IHttpHistoryBulkAdd, result: Promise<IBulkOperationResult<ContextChangeRecord<IHttpHistory>>> }>;\n e.preventDefault();\n const cp = { ...e.detail.info };\n if (!cp.space) {\n cp.space = this.space;\n }\n e.detail.result = this.getStore().sdk.history.createBulk(cp);\n }\n\n protected handleHistoryDelete(input: Event): void {\n const e = input as ContextDeleteEvent;\n e.preventDefault();\n e.detail.result = this.deleteHistory(e.detail.key);\n }\n\n protected handleHistoryList(input: Event): void {\n const e = input as CustomEvent<{ init: HistoryListOptions, result: Promise<ContextListResult<IHttpHistory>> }>;\n e.preventDefault();\n const cp = { ...e.detail.init } as HistoryListOptions;\n if (!cp.space) {\n cp.space = this.space;\n }\n e.detail.result = this.getStore().sdk.history.list(cp);\n }\n\n protected handleHistoryRead(input: Event): void {\n const e = input as CustomEvent;\n e.preventDefault();\n e.detail.result = this.getStore().sdk.history.read(e.detail.key);\n }\n\n protected handleHistoryDeleteBulk(event: ContextDeleteBulkEvent): void {\n event.preventDefault();\n event.detail.result = this.getStore().sdk.history.deleteBulk(event.detail.keys);\n }\n\n protected handleHistoryClearSpace(event: CustomEvent<{ result: Promise<void>, space: string }>): void {\n event.preventDefault();\n event.detail.result = this.getStore().sdk.history.clearSpace(event.detail.space);\n }\n\n protected handleHistoryClearProject(event: CustomEvent<{ result: Promise<void>, space: string, project: string }>): void {\n event.preventDefault();\n event.detail.result = this.getStore().sdk.history.clearProject(event.detail.space, event.detail.project);\n }\n\n protected handleHistoryClearRequest(event: CustomEvent<{ result: Promise<void>, space: string, project: string, request: string }>): void {\n event.preventDefault();\n event.detail.result = this.getStore().sdk.history.clearRequest(event.detail.space, event.detail.project, event.detail.request);\n }\n\n async deleteHistory(key: string): Promise<ContextDeleteRecord> {\n await this.getStore().sdk.history.delete(key);\n return {\n key,\n };\n }\n\n protected handleAddProjectExecution(event: CustomEvent<{ item: IProjectExecution, result: Promise<ContextChangeRecord<IProjectExecution>> }>): void {\n event.preventDefault();\n const { item } = event.detail;\n event.detail.result = this.getStore().sdk.projectExecution.add(this.space, item);\n }\n\n protected handleProjectExecutionRead(event: CustomEvent<{ key: string, result: Promise<IProjectExecution> }>): void {\n event.preventDefault();\n const { key } = event.detail;\n event.detail.result = this.getStore().sdk.projectExecution.read(key);\n }\n\n protected handleProjectExecutionList(event: CustomEvent<{ options: IProjectExecutionListOptions, result: Promise<ContextListResult<IProjectExecution>> }>): void {\n event.preventDefault();\n const { options } = event.detail;\n const cp = { ...options };\n if (!cp.space) {\n cp.space = this.space;\n }\n event.detail.result = this.getStore().sdk.projectExecution.list(cp);\n }\n\n protected handleProjectExecutionDelete(event: CustomEvent<{ key: string, result: Promise<void> }>): void {\n event.preventDefault();\n const { key } = event.detail;\n event.detail.result = this.getStore().sdk.projectExecution.delete(key);\n }\n\n protected handleProjectExecutionDeleteBulk(event: ContextDeleteBulkEvent): void {\n event.preventDefault();\n const { keys } = event.detail;\n event.detail.result = this.getStore().sdk.projectExecution.deleteBulk(keys);\n }\n\n protected handleProjectExecutionClearSpace(event: CustomEvent<{ space: string, result: Promise<void> }>): void {\n event.preventDefault();\n const { space } = event.detail;\n event.detail.result = this.getStore().sdk.projectExecution.clearSpace(space);\n }\n\n protected handleProjectExecutionClearProject(event: CustomEvent<{ space: string, project: string, result: Promise<void> }>): void {\n event.preventDefault();\n const { space, project } = event.detail;\n event.detail.result = this.getStore().sdk.projectExecution.clearProject(space, project);\n }\n\n protected handleProjectExecutionClearFolder(event: CustomEvent<{ space: string, project: string, folder: string, result: Promise<void> }>): void {\n event.preventDefault();\n const { space, project, folder } = event.detail;\n event.detail.result = this.getStore().sdk.projectExecution.clearParent(space, project, folder);\n }\n\n /**\n * A logic that creates an empty (default) file from its name and the file kind.\n * \n * @param name The name of the file.\n * @param kind The kind of the file.\n * @param opts Optional create options\n * @returns The key of the created file.\n */\n async createDefaultFile(space: string, name: string, kind: string, opts?: IFileCreateOptions): Promise<ContextChangeRecord<IFile>> {\n switch (kind) {\n case ProjectKind: return this.createDefaultProject(space, name, opts);\n case FolderKind: return this.createDefaultFolder(space, name, opts);\n case DataFileKind: return this.createDefaultDataNamespace(space, name, opts);\n default: \n throw new Error(`Unrecognized file kind: ${kind}`);\n }\n }\n\n /**\n * Creates a default HttpProject from a name\n * \n * @param name The name of the project\n * @param opts Create options.\n * @returns The key of the created file.\n */\n async createDefaultProject(space: string, name: string, opts?: IFileCreateOptions): Promise<ContextChangeRecord<IFile>> {\n const { store } = this;\n if (!store) {\n throw new Error(`Environment is not set.`);\n }\n const media = HttpProject.fromName(name);\n const file = Project.fromProject(media, space);\n return store.sdk.file.create(file.toJSON(), media.toJSON(), space, opts);\n }\n\n /**\n * Creates a default DataNamespace from a name\n * \n * @param name The name of the DataNamespace\n * @param opts Create options.\n * @returns The key of the created file.\n */\n async createDefaultDataNamespace(space: string, name: string, opts?: IFileCreateOptions): Promise<ContextChangeRecord<IFile>> {\n const { store } = this;\n if (!store) {\n throw new Error(`Environment is not set.`);\n }\n const media = DataNamespace.fromName(name);\n const file = DataFile.fromDataNamespace(media, space);\n return store.sdk.file.create(file.toJSON(), media.toJSON(), space, opts);\n }\n\n /**\n * Creates a default Folder from a name\n * \n * @param name The name of the space\n * @param opts Create options.\n * @returns The key of the created file.\n */\n async createDefaultFolder(space: string, name: string, opts?: IFileCreateOptions): Promise<ContextChangeRecord<IFile>> {\n const { store } = this;\n if (!store) {\n throw new Error(`Environment is not set.`);\n }\n const folder = Folder.fromName(name, space);\n return store.sdk.file.createMeta(folder.toJSON(), space, opts);\n }\n\n getStore(): HttpStore {\n const { store } = this;\n if (!store) {\n throw new Error(`Environment is not set.`);\n }\n return store;\n }\n\n spaces = {\n list: (options?: ContextListOptions): Promise<ContextListResult<ISpace>> => this.getStore().sdk.spaces.list(options),\n add: (nameOrObject: string | ISpace): Promise<ContextChangeRecord<ISpace>> => {\n let space: ISpace;\n if (typeof nameOrObject === 'string') {\n space = Space.fromName(nameOrObject).toJSON();\n } else {\n space = nameOrObject as ISpace;\n }\n return this.getStore().sdk.spaces.add(space);\n },\n read: (key: string): Promise<ISpace> => this.getStore().sdk.spaces.read(key),\n delete: async (key: string): Promise<ContextDeleteRecord> => {\n await this.getStore().sdk.spaces.delete(key);\n return {\n key,\n kind: SpaceKind,\n };\n },\n addUser: (space: string, otherUserKey: string, role: PermissionRole, expires?: number): Promise<void> => this.getStore().sdk.spaces.addUser(this.space || space, otherUserKey, role, expires),\n removeUser: (space: string, otherUserKey: string): Promise<void> => this.getStore().sdk.spaces.removeUser(this.space || space, otherUserKey),\n patchUsers: (space: string, value: IAccessPatchInfo): Promise<void> => this.getStore().sdk.spaces.patchUsers(this.space || space, value),\n }\n\n trash = {\n add: (entry: TrashEntryCreate, space: string): Promise<ContextChangeRecord<TrashEntry>> => this.getStore().sdk.trash.add(entry, this.space || space),\n list: (options: ContextSpaceListOptions): Promise<ContextListResult<TrashEntry>> => {\n const cp = { ...options } as ContextSpaceListOptions;\n if (!cp.space) {\n cp.space = this.space;\n }\n return this.getStore().sdk.trash.list(cp);\n },\n delete: async (key: string): Promise<ContextDeleteRecord> => {\n await this.getStore().sdk.trash.delete(key);\n return { key };\n },\n batchDelete: (keys: string[]): Promise<IBulkOperationResult<ContextDeleteRecord>> => this.getStore().sdk.trash.batchDelete(keys),\n restore: (key: string): Promise<ContextChangeRecord<IFile>> => this.getStore().sdk.trash.restore(key),\n batchRestore: (keys: string[]): Promise<IBulkOperationResult<ContextChangeRecord<IFile>>> => this.getStore().sdk.trash.batchDelete(keys),\n empty: (space: string): Promise<void> => this.getStore().sdk.trash.empty(this.space || space),\n }\n\n revisions = {\n list: (key: string, options: ContextSpaceListOptions): Promise<ContextListResult<IRevision>> => this.getStore().sdk.revisions.list(key, options),\n }\n\n media = {\n add: (key: string, contents: unknown, mime: string): Promise<void> => this.getStore().sdk.file.createMedia(contents, this.space, key, { mime }),\n read: (key: string): Promise<unknown> => this.getStore().sdk.file.read(this.space, key, true),\n patch: (key: string, info: IPatchInfo): Promise<IPatchRevision> => this.getStore().sdk.file.patch(this.space, key, info, true),\n }\n\n files = {\n list: (options: ContextListOptions, kinds?: ListFileKind[]): Promise<ContextListResult<IFile>> => this.getStore().sdk.file.list(this.space, kinds, options),\n add: (input: IFile, opts?: FileAddOptions): Promise<ContextChangeRecord<IFile>> => this.getStore().sdk.file.createMeta(input, this.space, opts),\n read: (key: string): Promise<IFile> => this.getStore().sdk.file.read(this.space, key, false),\n readBulk: (keys: string[]): Promise<IBulkOperationResult<IFile>> => this.getStore().sdk.file.readBulk(this.space, keys),\n delete: (key: string): Promise<string> => this.getStore().sdk.file.delete(this.space, key),\n patch: (key: string, info: IPatchInfo): Promise<IPatchRevision> => this.getStore().sdk.file.patch(this.space, key, info, false),\n breadcrumbs: (key: string): Promise<ContextListResult<FileBreadcrumb>> => this.getStore().sdk.file.breadcrumbs(this.space, key),\n }\n\n shared = {\n list: (options: ContextListOptions, kinds?: ListFileKind[]): Promise<ContextListResult<IFile>> => this.getStore().sdk.shared.list(this.space, kinds, options),\n }\n\n users = {\n list: (options?: ContextListOptions): Promise<ContextListResult<IUser>> => this.getStore().sdk.user.list(options),\n me: (): Promise<IUser> => this.getStore().sdk.user.me(),\n read: (key: string): Promise<IUser> => this.getStore().sdk.user.read(key),\n }\n \n async observeSpaces(): Promise<void> {\n await this.observePath(RouteBuilder.spaces());\n }\n\n async unobserveSpaces(): Promise<void> {\n await this.unobservePath(RouteBuilder.spaces());\n }\n\n async observeFiles(): Promise<void> {\n await this.observePath(RouteBuilder.files());\n }\n\n async unobserveFiles(): Promise<void> {\n await this.unobservePath(RouteBuilder.files());\n }\n\n async observeFile(key: string, alt: 'media' | 'meta' = 'meta'): Promise<void> {\n const path = RouteBuilder.file(key)\n await this.observePath(`${path}?alt=${alt}`);\n }\n\n async unobserveFile(key: string, alt: 'media' | 'meta' = 'meta'): Promise<void> {\n const path = RouteBuilder.file(key)\n await this.unobservePath(`${path}?alt=${alt}`);\n }\n\n async observeHistory(): Promise<void> {\n await this.observePath(RouteBuilder.history());\n }\n\n async unobserveHistory(): Promise<void> {\n await this.unobservePath(RouteBuilder.history());\n }\n\n async observeProjectExecutions(): Promise<void> {\n await this.observePath(RouteBuilder.projectExecutions());\n }\n\n async unobserveProjectExecutions(): Promise<void> {\n await this.unobservePath(RouteBuilder.projectExecutions());\n }\n\n async observeTrash(): Promise<void> {\n await this.observePath(RouteBuilder.trash());\n }\n\n async unobserveTrash(): Promise<void> {\n await this.unobservePath(RouteBuilder.trash());\n }\n\n async sendSocket(ws: WebSocket, command: unknown): Promise<void> {\n ws.send(JSON.stringify(command));\n }\n\n protected async observePath(path: string): Promise<void> {\n const { space } = this;\n const url = new URL(path, 'http://localhost');\n url.searchParams.set('space', space);\n const fullPath = `${url.pathname}${url.search}`\n const socket = await this.getEventsSocket();\n const cmd: IBackendObserveCommand = {\n cmd: BackendCommandType.observe,\n kind: BackendCommandKind,\n path: fullPath,\n };\n await this.sendSocket(socket, cmd);\n }\n\n protected async unobservePath(path: string): Promise<void> {\n const socket = await this.getEventsSocket();\n const cmd: IBackendObserveCommand = {\n cmd: BackendCommandType.unobserve,\n kind: BackendCommandKind,\n path,\n };\n await this.sendSocket(socket, cmd);\n }\n\n eventsSocket?: WebSocket;\n\n async getEventsSocket(): Promise<WebSocket> {\n if (!this.eventsSocket) {\n const store = this.getStore();\n const { token } = store.sdk;\n const url = store.sdk.getUrl('/events');\n this.eventsSocket = await store.sdk.ws.createAndConnect(url.toString(), token) as WebSocket;\n this.eventsSocket.addEventListener('message', this.storeEventHandler.bind(this));\n }\n return this.eventsSocket;\n }\n\n async closeEventsSocket(): Promise<void> {\n const { eventsSocket } = this;\n if (!eventsSocket) {\n return;\n }\n this.eventsSocket = undefined;\n eventsSocket.close();\n }\n\n protected storeEventHandler(e: MessageEvent): void {\n const event = JSON.parse(e.data) as BroadcastEvent | BackendErrorEvent;\n if (event.type === 'error') {\n throw new Error(event.cause);\n }\n if (event.space && event.space !== this.space) {\n // we allow files here to support shared files.\n if (event.path === RouteBuilder.files()) {\n this.filesChannel.postMessage(event);\n }\n return;\n }\n if (event.path === RouteBuilder.spaces()) {\n this.spacesChannel.postMessage(event);\n } else if (event.path === RouteBuilder.files()) {\n this.filesChannel.postMessage(event);\n } else if (event.path.startsWith(RouteBuilder.files())) {\n const typed = event as BroadcastFileData & BroadcastEvent;\n if (typed.alt === 'media') {\n this.mediaChannel.postMessage(event);\n } else {\n this.filesChannel.postMessage(event);\n }\n } else if (event.path === RouteBuilder.trash()) {\n this.trashChannel.postMessage(event);\n } else if (event.path === RouteBuilder.history()) {\n this.historyChannel.postMessage(event);\n } else if (event.path === RouteBuilder.projectExecutions()) {\n this.projectExeChannel.postMessage(event);\n } else {\n // eslint-disable-next-line no-console\n console.warn(`Broadcast path not handled`, event.path, event)\n }\n }\n}\n"]}
@@ -39,7 +39,7 @@ export class WebFileBindings extends FileBindings {
39
39
  const handles = await window.showOpenFilePicker(dialogOptions);
40
40
  const result = [];
41
41
  handles.forEach((handle) => {
42
- const path = uuidV4();
42
+ const path = `${uuidV4()}/${handle.name}`;
43
43
  result.push(path);
44
44
  this.handles.set(path, handle);
45
45
  });
@@ -1 +1 @@
1
- {"version":3,"file":"WebFileBindings.js","sourceRoot":"","sources":["../../../src/bindings/web/WebFileBindings.ts"],"names":[],"mappings":"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","sourcesContent":["import { uuidV4 } from \"@api-client/core/build/browser.js\";\nimport { \n FileBindings, \n FileReadOptions, \n FileWriteOptions, \n IOpenFileDialogInit, \n IOpenFileDialogResult, \n ISaveFileDialogInit, \n ISaveFileDialogResult \n} from \"../base/FileBindings.js\";\n\nexport class WebFileBindings extends FileBindings {\n /**\n * Keeps references to file handles mapped to the generated path.\n */\n protected handles = new Map<string, FileSystemFileHandle>();\n\n async saveFileDialog(opts: ISaveFileDialogInit = {}): Promise<ISaveFileDialogResult> {\n const { excludeAcceptAllOption, filters } = opts;\n const dialogOptions: SaveFilePickerOptions = {\n excludeAcceptAllOption, \n };\n if (Array.isArray(filters) && filters.length) {\n dialogOptions.types = filters;\n }\n try {\n const handle = await window.showSaveFilePicker(dialogOptions);\n const path = uuidV4();\n this.handles.set(path, handle);\n return { canceled: false, filePath: path };\n } catch (_) {\n return { canceled: true };\n }\n }\n\n async openFileDialog(opts: IOpenFileDialogInit = {}): Promise<IOpenFileDialogResult> {\n const { excludeAcceptAllOption, filters, multiple } = opts;\n const dialogOptions: OpenFilePickerOptions = {\n excludeAcceptAllOption,\n multiple,\n }\n if (Array.isArray(filters) && filters.length) {\n dialogOptions.types = filters;\n }\n try {\n const handles = await window.showOpenFilePicker(dialogOptions);\n const result: string[] = [];\n handles.forEach((handle) => {\n const path = uuidV4();\n result.push(path);\n this.handles.set(path, handle);\n });\n return { canceled: false, filePath: result };\n } catch (_) {\n return { canceled: true };\n }\n }\n\n async writeFile(path: string, contents: string | Buffer | BufferSource | Blob, opts: FileWriteOptions = {}): Promise<void> {\n const handle = this.handles.get(path);\n if (!handle) {\n throw new Error(`Invalid file path. The file handle not found.`);\n }\n const stream = await handle.createWritable();\n await stream.write(contents);\n await stream.close();\n if (opts.dispose) {\n this.dispose(path);\n }\n }\n\n async readFile(path: string, opts: FileReadOptions = {}): Promise<string | Buffer | ArrayBuffer> {\n const handle = this.handles.get(path);\n if (!handle) {\n throw new Error(`Invalid file path. The file handle not found.`);\n }\n const file = await handle.getFile();\n let result: ArrayBuffer | string;\n if (opts.returnType === 'buffer') {\n result = await file.arrayBuffer();\n } else {\n result = await file.text();\n }\n if (opts.dispose) {\n this.dispose(path);\n }\n return result;\n }\n\n async dispose(path: string): Promise<void> {\n this.handles.delete(path);\n }\n}\n"]}
1
+ {"version":3,"file":"WebFileBindings.js","sourceRoot":"","sources":["../../../src/bindings/web/WebFileBindings.ts"],"names":[],"mappings":"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","sourcesContent":["import { uuidV4 } from \"@api-client/core/build/browser.js\";\nimport { \n FileBindings, \n FileReadOptions, \n FileWriteOptions, \n IOpenFileDialogInit, \n IOpenFileDialogResult, \n ISaveFileDialogInit, \n ISaveFileDialogResult \n} from \"../base/FileBindings.js\";\n\nexport class WebFileBindings extends FileBindings {\n /**\n * Keeps references to file handles mapped to the generated path.\n */\n protected handles = new Map<string, FileSystemFileHandle>();\n\n async saveFileDialog(opts: ISaveFileDialogInit = {}): Promise<ISaveFileDialogResult> {\n const { excludeAcceptAllOption, filters } = opts;\n const dialogOptions: SaveFilePickerOptions = {\n excludeAcceptAllOption, \n };\n if (Array.isArray(filters) && filters.length) {\n dialogOptions.types = filters;\n }\n try {\n const handle = await window.showSaveFilePicker(dialogOptions);\n const path = uuidV4();\n this.handles.set(path, handle);\n return { canceled: false, filePath: path };\n } catch (_) {\n return { canceled: true };\n }\n }\n\n async openFileDialog(opts: IOpenFileDialogInit = {}): Promise<IOpenFileDialogResult> {\n const { excludeAcceptAllOption, filters, multiple } = opts;\n const dialogOptions: OpenFilePickerOptions = {\n excludeAcceptAllOption,\n multiple,\n }\n if (Array.isArray(filters) && filters.length) {\n dialogOptions.types = filters;\n }\n try {\n const handles = await window.showOpenFilePicker(dialogOptions);\n const result: string[] = [];\n handles.forEach((handle) => {\n const path = `${uuidV4()}/${handle.name}`;\n result.push(path);\n this.handles.set(path, handle);\n });\n return { canceled: false, filePath: result };\n } catch (_) {\n return { canceled: true };\n }\n }\n\n async writeFile(path: string, contents: string | Buffer | BufferSource | Blob, opts: FileWriteOptions = {}): Promise<void> {\n const handle = this.handles.get(path);\n if (!handle) {\n throw new Error(`Invalid file path. The file handle not found.`);\n }\n const stream = await handle.createWritable();\n await stream.write(contents);\n await stream.close();\n if (opts.dispose) {\n this.dispose(path);\n }\n }\n\n async readFile(path: string, opts: FileReadOptions = {}): Promise<string | Buffer | ArrayBuffer> {\n const handle = this.handles.get(path);\n if (!handle) {\n throw new Error(`Invalid file path. The file handle not found.`);\n }\n const file = await handle.getFile();\n let result: ArrayBuffer | string;\n if (opts.returnType === 'buffer') {\n result = await file.arrayBuffer();\n } else {\n result = await file.text();\n }\n if (opts.dispose) {\n this.dispose(path);\n }\n return result;\n }\n\n async dispose(path: string): Promise<void> {\n this.handles.delete(path);\n }\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import Element from '../../elements/http/CertificateAdd.element.js';
2
+ export declare class CertificateAddElement extends Element {
3
+ }
4
+ declare global {
5
+ interface HTMLElementTagNameMap {
6
+ 'certificate-add': Element;
7
+ }
8
+ }
9
+ //# sourceMappingURL=certificate-add.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certificate-add.d.ts","sourceRoot":"","sources":["../../../src/define/http/certificate-add.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,+CAA+C,CAAC;AAEpE,qBACa,qBAAsB,SAAQ,OAAO;CACjD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,OAAO,CAAC;KAC5B;CACF"}
@@ -0,0 +1,10 @@
1
+ import { __decorate } from "tslib";
2
+ import { customElement } from 'lit/decorators.js';
3
+ import Element from '../../elements/http/CertificateAdd.element.js';
4
+ let CertificateAddElement = class CertificateAddElement extends Element {
5
+ };
6
+ CertificateAddElement = __decorate([
7
+ customElement('certificate-add')
8
+ ], CertificateAddElement);
9
+ export { CertificateAddElement };
10
+ //# sourceMappingURL=certificate-add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certificate-add.js","sourceRoot":"","sources":["../../../src/define/http/certificate-add.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,OAAO,MAAM,+CAA+C,CAAC;AAG7D,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,OAAO;CACjD,CAAA;AADY,qBAAqB;IADjC,aAAa,CAAC,iBAAiB,CAAC;GACpB,qBAAqB,CACjC;SADY,qBAAqB","sourcesContent":["import { customElement } from 'lit/decorators.js';\nimport Element from '../../elements/http/CertificateAdd.element.js';\n\n@customElement('certificate-add')\nexport class CertificateAddElement extends Element {\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'certificate-add': Element;\n }\n}\n"]}
@@ -4,7 +4,7 @@ export declare class UiSegmentedButtonSetElement extends Element {
4
4
  }
5
5
  declare global {
6
6
  interface HTMLElementTagNameMap {
7
- 'ui-segmented-button-set': UiSegmentedButtonSetElement;
7
+ 'ui-segmented-button-set': Element;
8
8
  }
9
9
  }
10
10
  //# sourceMappingURL=ui-segmented-button-set.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-segmented-button-set.d.ts","sourceRoot":"","sources":["../../../src/define/ui/ui-segmented-button-set.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,wCAAwC,CAAC;AAG7D,qBACa,2BAA4B,SAAQ,OAAO;IACtD,OAAgB,MAAM,4BAAY;CACnC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,yBAAyB,EAAE,2BAA2B,CAAC;KACxD;CACF"}
1
+ {"version":3,"file":"ui-segmented-button-set.d.ts","sourceRoot":"","sources":["../../../src/define/ui/ui-segmented-button-set.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,wCAAwC,CAAC;AAG7D,qBACa,2BAA4B,SAAQ,OAAO;IACtD,OAAgB,MAAM,4BAAY;CACnC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,yBAAyB,EAAE,OAAO,CAAC;KACpC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ui-segmented-button-set.js","sourceRoot":"","sources":["../../../src/define/ui/ui-segmented-button-set.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,OAAO,MAAM,wCAAwC,CAAC;AAC7D,OAAO,MAAM,MAAM,+CAA+C,CAAC;AAG5D,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,OAAO;aACtC,WAAM,GAAG,CAAC,MAAM,CAAC,CAAC;;AADvB,2BAA2B;IADvC,aAAa,CAAC,yBAAyB,CAAC;GAC5B,2BAA2B,CAEvC;SAFY,2BAA2B","sourcesContent":["import { customElement } from \"lit/decorators.js\";\nimport Element from \"../../ui/button/SegmentedButtonsSet.js\";\nimport styles from \"../../ui/button/SegmentedButtonsSet.styles.js\";\n\n@customElement('ui-segmented-button-set')\nexport class UiSegmentedButtonSetElement extends Element {\n static override styles = [styles];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui-segmented-button-set': UiSegmentedButtonSetElement;\n }\n}\n"]}
1
+ {"version":3,"file":"ui-segmented-button-set.js","sourceRoot":"","sources":["../../../src/define/ui/ui-segmented-button-set.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,OAAO,MAAM,wCAAwC,CAAC;AAC7D,OAAO,MAAM,MAAM,+CAA+C,CAAC;AAG5D,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,OAAO;aACtC,WAAM,GAAG,CAAC,MAAM,CAAC,CAAC;;AADvB,2BAA2B;IADvC,aAAa,CAAC,yBAAyB,CAAC;GAC5B,2BAA2B,CAEvC;SAFY,2BAA2B","sourcesContent":["import { customElement } from \"lit/decorators.js\";\nimport Element from \"../../ui/button/SegmentedButtonsSet.js\";\nimport styles from \"../../ui/button/SegmentedButtonsSet.styles.js\";\n\n@customElement('ui-segmented-button-set')\nexport class UiSegmentedButtonSetElement extends Element {\n static override styles = [styles];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui-segmented-button-set': Element;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CC.styles.d.ts","sourceRoot":"","sources":["../../../../src/elements/authorization/ui/CC.styles.ts"],"names":[],"mappings":";AAEA,wBAgBE"}
1
+ {"version":3,"file":"CC.styles.d.ts","sourceRoot":"","sources":["../../../../src/elements/authorization/ui/CC.styles.ts"],"names":[],"mappings":";AAEA,wBAWE"}
@@ -1,19 +1,14 @@
1
1
  import { css } from 'lit';
2
2
  export default css `
3
- .cert-meta {
4
- display: inline-flex;
5
- align-items: center;
6
- }
7
-
8
3
  :host {
9
- max-height: 300px;
10
4
  display: flex;
11
5
  flex-direction: column;
12
6
  }
13
7
 
14
- form {
15
- overflow: auto;
16
- flex: 1;
8
+ .certificate-info {
9
+ display: flex;
10
+ align-items: center;
11
+ margin-top: 20px;
17
12
  }
18
13
  `;
19
14
  //# sourceMappingURL=CC.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CC.styles.js","sourceRoot":"","sources":["../../../../src/elements/authorization/ui/CC.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;CAgBjB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport default css`\n.cert-meta {\n display: inline-flex;\n align-items: center;\n}\n\n:host {\n max-height: 300px;\n display: flex;\n flex-direction: column;\n}\n\nform {\n overflow: auto;\n flex: 1;\n}\n`;\n"]}
1
+ {"version":3,"file":"CC.styles.js","sourceRoot":"","sources":["../../../../src/elements/authorization/ui/CC.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,eAAe,GAAG,CAAA;;;;;;;;;;;CAWjB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport default css`\n:host {\n display: flex;\n flex-direction: column;\n}\n\n.certificate-info {\n display: flex;\n align-items: center;\n margin-top: 20px;\n}\n`;\n"]}
@@ -1,37 +1,22 @@
1
1
  import { nothing, TemplateResult } from "lit";
2
- import { HttpCertificate, ICertificate, BroadcastCreatedEvent, DeletedBroadcastEvent } from '@api-client/core/build/browser.js';
3
- import '@github/relative-time-element';
2
+ import { ICCAuthorization, HttpCertificate } from '@api-client/core/build/browser.js';
4
3
  import { Authorization } from "./Authorization.js";
4
+ import type { FilePickerClosingReason } from "../../store/FilePicker.element.js";
5
+ import '../../../define/ui/ui-dropdown-list.js';
5
6
  import '../../../define/ui/ui-button.js';
6
- import '../../../define/ui/ui-radio.js';
7
+ import '../../../define/ui/ui-icon-button.js';
8
+ import '../../../define/ui/ui-icon.js';
9
+ import '../../../define/store/file-picker.js';
7
10
  export default class CcAuthorization extends Authorization {
8
- items?: ICertificate[];
9
- querying: boolean;
10
- loadingError?: string;
11
- channel: BroadcastChannel;
12
- constructor();
13
- connectedCallback(): void;
14
- disconnectedCallback(): void;
15
- protected handleBroadcast(e: MessageEvent): void;
16
- protected handleCreated(event: BroadcastCreatedEvent): void;
17
- protected handleDeleted(event: DeletedBroadcastEvent): void;
18
- protected queryCertificates(): Promise<void>;
19
- protected handleSelected(e: Event): void;
11
+ selectorRendered: boolean;
12
+ get config(): ICCAuthorization;
13
+ protected handleClose(e: CustomEvent<FilePickerClosingReason>): void;
14
+ setCertificate(key: string): Promise<void>;
15
+ protected handleDropDownOpen(): void;
16
+ protected handleClearCertificate(): void;
20
17
  render(): TemplateResult;
21
18
  protected renderEditor(): TemplateResult | typeof nothing;
22
- protected renderErrorState(error: string): TemplateResult;
23
- protected renderEmptyState(): TemplateResult;
24
- protected renderList(items: HttpCertificate[], current?: ICertificate): TemplateResult;
25
- protected renderNoneItem(selectedKey?: string): TemplateResult;
26
- /**
27
- * @param item The item to render
28
- * @returns The template for the dropdown item.
29
- */
30
- protected renderCertItem(item: HttpCertificate, selectedKey?: string): TemplateResult;
31
- /**
32
- * @param created The certificate created time.
33
- * @returns The template for the cert time element.
34
- */
35
- protected renderDateTime(created?: number): TemplateResult;
19
+ protected renderSelector(): TemplateResult;
20
+ protected renderSelection(certificate: HttpCertificate): TemplateResult;
36
21
  }
37
22
  //# sourceMappingURL=CcAuthorization.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CcAuthorization.d.ts","sourceRoot":"","sources":["../../../../src/elements/authorization/ui/CcAuthorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAEpD,OAAO,EACa,eAAe,EACjC,YAAY,EAEZ,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,+BAA+B,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,OAAO,iCAAiC,CAAC;AACzC,OAAO,gCAAgC,CAAC;AAExC,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,aAAa;IAC/C,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IAEvB,QAAQ,UAAS;IAEjB,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B,OAAO,mBAAqD;;IAQnD,iBAAiB,IAAI,IAAI;IAMzB,oBAAoB,IAAI,IAAI;IAKrC,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI;IAShD,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI;IAc3D,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI;cAY3C,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBlD,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IA8B/B,MAAM,IAAI,cAAc;IAOjC,SAAS,CAAC,YAAY,IAAI,cAAc,GAAG,OAAO,OAAO;IAsBzD,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc;IAIzD,SAAS,CAAC,gBAAgB,IAAI,cAAc;IAI5C,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,cAAc;IAQtF,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc;IAS9D;;;OAGG;IACH,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc;IAcrF;;;OAGG;IACH,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,cAAc;CAS3D"}
1
+ {"version":3,"file":"CcAuthorization.d.ts","sourceRoot":"","sources":["../../../../src/elements/authorization/ui/CcAuthorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AACpD,OAAO,EACL,gBAAgB,EAAE,eAAe,EAClC,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAEjF,OAAO,wCAAwC,CAAC;AAChD,OAAO,iCAAiC,CAAC;AACzC,OAAO,sCAAsC,CAAC;AAC9C,OAAO,+BAA+B,CAAC;AACvC,OAAO,sCAAsC,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,aAAa;IAC/C,gBAAgB,UAAS;IAElC,IAAI,MAAM,IAAI,gBAAgB,CAS7B;IAED,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,uBAAuB,CAAC,GAAG,IAAI;IAa9D,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAahD,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAOpC,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAO/B,MAAM,IAAI,cAAc;IAOjC,SAAS,CAAC,YAAY,IAAI,cAAc,GAAG,OAAO,OAAO;IAWzD,SAAS,CAAC,cAAc,IAAI,cAAc;IAa1C,SAAS,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,GAAG,cAAc;CAcxE"}