@pitcher/js-api 1.22.0-alpha.6 → 1.22.0-beta.0

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 (185) hide show
  1. package/js-api.esm.js +472 -139
  2. package/js-api.esm.js.map +1 -1
  3. package/js-api.umd.min.js +10 -10
  4. package/js-api.umd.min.js.map +1 -1
  5. package/lib/api/canvases/canvases.queries.d.ts +5 -5
  6. package/lib/apps/browser/stores/api.d.ts +215 -84
  7. package/lib/apps/browser/stores/app.d.ts +7 -26
  8. package/lib/apps/browser/stores/upload.d.ts +34 -24
  9. package/lib/apps/browser/util/file.d.ts +2 -2
  10. package/lib/apps/canvas-builder/composables/useCanvas.d.ts +550 -460
  11. package/lib/apps/canvas-builder/composables/useCanvasExit.d.ts +3 -0
  12. package/lib/apps/canvas-builder/composables/useCanvasHistory.d.ts +86 -74
  13. package/lib/apps/canvas-builder/composables/useCanvasHooks.d.ts +4 -4
  14. package/lib/apps/canvas-builder/composables/useCanvasPages.d.ts +3 -3
  15. package/lib/apps/canvas-builder/composables/useCanvasSectionOverrides.d.ts +3 -3
  16. package/lib/apps/canvas-builder/composables/useCanvasTheme.d.ts +24 -17
  17. package/lib/apps/canvas-builder/composables/useCanvasVisibility.d.ts +2 -2
  18. package/lib/apps/canvas-builder/composables/useCollapsibles.d.ts +3 -3
  19. package/lib/apps/canvas-builder/composables/useComponentPermissions.d.ts +2 -2
  20. package/lib/apps/canvas-builder/composables/useContentSelector.d.ts +6 -4
  21. package/lib/apps/canvas-builder/composables/useInstalledEmbeddables.d.ts +15 -0
  22. package/lib/apps/canvas-builder/composables/useRecommendations.d.ts +5 -5
  23. package/lib/apps/canvas-builder/composables/useSectionPopularity.d.ts +2 -2
  24. package/lib/apps/canvas-builder/types/canvas.d.ts +19 -18
  25. package/lib/apps/canvas-builder/types/recommendations.types.d.ts +3 -3
  26. package/lib/apps/canvas-builder/util/canvas.util.d.ts +5 -4
  27. package/lib/apps/canvas-selector/appTypes.d.ts +9 -0
  28. package/lib/apps/content-selector/appTypes.d.ts +1 -0
  29. package/lib/apps/content-selector/stores/app.d.ts +8 -1
  30. package/lib/components/CFileViewer/CFileViewer.use.d.ts +2 -4
  31. package/lib/components/CFileViewer/CFileViewerFullScreen.use.d.ts +1 -1
  32. package/lib/components/canvases/CanvasesManagementBulk.use.d.ts +5 -5
  33. package/lib/components/filters/filter.util.d.ts +1 -1
  34. package/lib/components/savedCanvases/CSavedCanvasesManagementShareCanvas.use.d.ts +5 -3
  35. package/lib/composables/instanceTagsActions.use.d.ts +14 -0
  36. package/lib/composables/recentFiles.use.d.ts +1 -1
  37. package/lib/composables/suggestedTags.use.d.ts +3 -0
  38. package/lib/composables/tableColumnsSettings.use.d.ts +25 -0
  39. package/lib/composables/useCanvasOverlay.d.ts +20 -0
  40. package/lib/composables/useCanvasTablesPagination.d.ts +13 -0
  41. package/lib/composables/useConfirmation.d.ts +1 -0
  42. package/lib/composables/useElementHeightResize.d.ts +5 -0
  43. package/lib/composables/useFiles.d.ts +11 -0
  44. package/lib/constants/pitcherSettings.const.d.ts +4 -0
  45. package/lib/main.lib.d.ts +31 -21
  46. package/lib/sdk/api/HighLevelApi.d.ts +112 -14
  47. package/lib/sdk/api/modules/admin/canvas.admin.d.ts +53 -15
  48. package/lib/sdk/api/modules/admin/env.admin.d.ts +3 -2
  49. package/lib/sdk/api/modules/admin/files.admin.d.ts +43 -4
  50. package/lib/sdk/api/modules/admin/index.d.ts +53 -5
  51. package/lib/sdk/api/modules/admin/metadataTemplates.admin.d.ts +1 -2
  52. package/lib/sdk/api/modules/admin/types.admin.d.ts +132 -3
  53. package/lib/sdk/api/modules/canvas.d.ts +12 -14
  54. package/lib/sdk/api/modules/dsr/env.dsr.d.ts +4 -3
  55. package/lib/sdk/api/modules/dsr/index.d.ts +14 -3
  56. package/lib/sdk/api/modules/dsr/loading.dsr.d.ts +7 -1
  57. package/lib/sdk/api/modules/env.d.ts +16 -0
  58. package/lib/sdk/api/modules/favorites.d.ts +9 -0
  59. package/lib/sdk/api/modules/feedback.d.ts +3 -0
  60. package/lib/sdk/api/modules/files.d.ts +7 -4
  61. package/lib/sdk/api/modules/folders.d.ts +29 -0
  62. package/lib/sdk/api/modules/open.d.ts +6 -0
  63. package/lib/sdk/api/modules/sync.d.ts +1 -2
  64. package/lib/sdk/api/modules/ui/app-errors.ui.d.ts +13 -1
  65. package/lib/sdk/api/modules/ui/canvas.ui.d.ts +102 -8
  66. package/lib/sdk/api/modules/ui/content.ui.d.ts +52 -2
  67. package/lib/sdk/api/modules/ui/index.d.ts +150 -13
  68. package/lib/sdk/api/modules/ui/loading.ui.d.ts +9 -1
  69. package/lib/sdk/api/modules/ui/location.ui.d.ts +18 -1
  70. package/lib/sdk/api/modules/ui/post-call.ui.d.ts +35 -4
  71. package/lib/sdk/api/modules/ui/types.ui.d.ts +86 -8
  72. package/lib/sdk/api/modules/users.d.ts +6 -1
  73. package/lib/sdk/interfaces.d.ts +122 -3
  74. package/lib/sdk/main.d.ts +297 -151
  75. package/lib/sdk/payload.types.d.ts +134 -2
  76. package/lib/sdk/utils/httpFetch.d.ts +1 -1
  77. package/lib/sdk/utils/object.d.ts +1 -0
  78. package/lib/sdk/utils/object.spec.d.ts +1 -0
  79. package/lib/theme/light.d.ts +12 -0
  80. package/lib/types/app.d.ts +11 -0
  81. package/lib/types/call.d.ts +4 -3
  82. package/lib/types/files.d.ts +27 -1
  83. package/lib/types/filter.d.ts +5 -0
  84. package/lib/types/instance.types.d.ts +18 -0
  85. package/lib/types/{instanceSettings.d.ts → instanceSettings.types.d.ts} +10 -2
  86. package/lib/types/launchDarkly.types.d.ts +4 -4
  87. package/lib/types/organization.types.d.ts +2 -2
  88. package/lib/types/organizationSettings.types.d.ts +4 -0
  89. package/lib/types/recentFiles.types.d.ts +4 -1
  90. package/lib/types/users.d.ts +13 -0
  91. package/lib/util/fullscreen.util.d.ts +1 -1
  92. package/lib/util/string.d.ts +1 -0
  93. package/package.json +1 -1
  94. package/types/openapi/index.d.ts +23 -17
  95. package/types/openapi/models/AccessTypeEnum.d.ts +3 -1
  96. package/types/openapi/models/App.d.ts +1 -0
  97. package/types/openapi/models/AppRelease.d.ts +1 -0
  98. package/types/openapi/models/AppsDBEntry.d.ts +4 -0
  99. package/types/openapi/models/AppsDBEntryRequest.d.ts +3 -0
  100. package/types/openapi/models/Canvas.d.ts +10 -15
  101. package/types/openapi/models/CanvasCreate.d.ts +14 -12
  102. package/types/openapi/models/CanvasCreateRequest.d.ts +6 -5
  103. package/types/openapi/models/CanvasRecommendedFile.d.ts +6 -0
  104. package/types/openapi/models/CanvasRetrieve.d.ts +15 -13
  105. package/types/openapi/models/CanvasSection.d.ts +5 -2
  106. package/types/openapi/models/CanvasUpdate.d.ts +14 -12
  107. package/types/openapi/models/CanvasUpdateRequest.d.ts +5 -4
  108. package/types/openapi/models/CollaborationRoleEnum.d.ts +0 -4
  109. package/types/openapi/models/ContentDistributionGroupCreate.d.ts +1 -0
  110. package/types/openapi/models/DeletedApp.d.ts +1 -0
  111. package/types/openapi/models/{CanvasList.d.ts → DeletedCanvas.d.ts} +13 -9
  112. package/types/openapi/models/DeletedContentDistributionGroup.d.ts +1 -0
  113. package/types/openapi/models/DeletedEnvironment.d.ts +1 -0
  114. package/types/openapi/models/DeletedFavorite.d.ts +1 -0
  115. package/types/openapi/models/DeletedFile.d.ts +6 -0
  116. package/types/openapi/models/DeletedFolder.d.ts +4 -3
  117. package/types/openapi/models/DeletedInstance.d.ts +1 -0
  118. package/types/openapi/models/DeletedInstanceAssignmentGroup.d.ts +1 -0
  119. package/types/openapi/models/DeletedMetadataTemplate.d.ts +1 -0
  120. package/types/openapi/models/DeletedRegion.d.ts +1 -0
  121. package/types/openapi/models/Environment.d.ts +1 -0
  122. package/types/openapi/models/Favorite.d.ts +1 -0
  123. package/types/openapi/models/File.d.ts +6 -0
  124. package/types/openapi/models/FileCreate.d.ts +8 -0
  125. package/types/openapi/models/FileCreateRequest.d.ts +3 -0
  126. package/types/openapi/models/FilePermission.d.ts +4 -0
  127. package/types/openapi/models/FilePermissionRequest.d.ts +4 -0
  128. package/types/openapi/models/FileRetrieve.d.ts +8 -0
  129. package/types/openapi/models/FileRevision.d.ts +8 -0
  130. package/types/openapi/models/FileRevisionRequest.d.ts +3 -0
  131. package/types/openapi/models/FileUpdate.d.ts +8 -0
  132. package/types/openapi/models/FileUpdateRequest.d.ts +3 -0
  133. package/types/openapi/models/FileVersion.d.ts +5 -0
  134. package/types/openapi/models/Folder.d.ts +4 -3
  135. package/types/openapi/models/FolderCanvas.d.ts +11 -0
  136. package/types/openapi/models/FolderCreate.d.ts +8 -7
  137. package/types/openapi/models/FolderCreateRequest.d.ts +4 -2
  138. package/types/openapi/models/FolderFile.d.ts +3 -0
  139. package/types/openapi/models/FolderFolder.d.ts +5 -1
  140. package/types/openapi/models/FolderRetrieve.d.ts +8 -8
  141. package/types/openapi/models/FolderRule.d.ts +7 -0
  142. package/types/openapi/models/FolderRuleRequest.d.ts +7 -0
  143. package/types/openapi/models/FolderUpdate.d.ts +8 -8
  144. package/types/openapi/models/FolderUpdateRequest.d.ts +3 -0
  145. package/types/openapi/models/Instance.d.ts +1 -0
  146. package/types/openapi/models/InstanceUpdate.d.ts +1 -0
  147. package/types/openapi/models/MetadataTemplate.d.ts +1 -0
  148. package/types/openapi/models/OfflineSyncFolder.d.ts +17 -0
  149. package/types/openapi/models/OperatorEnum.d.ts +64 -0
  150. package/types/openapi/models/PaginatedCanvasList.d.ts +8 -0
  151. package/types/openapi/models/PaginatedFileRevisionList.d.ts +8 -0
  152. package/types/openapi/models/PaginatedOfflineSyncFolderList.d.ts +8 -0
  153. package/types/openapi/models/PatchedCanvasUpdateRequest.d.ts +5 -4
  154. package/types/openapi/models/PatchedFileRequest.d.ts +3 -0
  155. package/types/openapi/models/PatchedFileRevisionRequest.d.ts +3 -0
  156. package/types/openapi/models/PatchedFileUpdateRequest.d.ts +3 -0
  157. package/types/openapi/models/PatchedFolderUpdateRequest.d.ts +3 -0
  158. package/types/openapi/models/Region.d.ts +1 -0
  159. package/types/openapi/models/SearchFile.d.ts +3 -0
  160. package/types/openapi/models/SharedLink.d.ts +6 -5
  161. package/types/openapi/models/SharedLinkCanvas.d.ts +11 -0
  162. package/types/openapi/models/SharedLinkCanvasRequest.d.ts +8 -0
  163. package/types/openapi/models/SharedLinkCreate.d.ts +6 -5
  164. package/types/openapi/models/{SharedLinkInstanceSerialzier.d.ts → SharedLinkInstance.d.ts} +1 -1
  165. package/types/openapi/models/SharedLinkInstanceRequest.d.ts +5 -0
  166. package/types/openapi/models/{SharedLinkOrganizationSerialzier.d.ts → SharedLinkOrganization.d.ts} +1 -1
  167. package/types/openapi/models/SharedLinkOrganizationRequest.d.ts +6 -0
  168. package/lib/apps/canvas-builder/util/tsUtils.d.ts +0 -3
  169. package/lib/composables/useDetailsView.d.ts +0 -19
  170. package/lib/types/templateActions.d.ts +0 -10
  171. package/lib/util/gesture.util.d.ts +0 -6
  172. package/types/openapi/models/AppsDBGlobalEntry.d.ts +0 -8
  173. package/types/openapi/models/AppsDBGlobalEntryRequest.d.ts +0 -3
  174. package/types/openapi/models/AppsDBUserEntry.d.ts +0 -9
  175. package/types/openapi/models/AppsDBUserEntryRequest.d.ts +0 -3
  176. package/types/openapi/models/CanvasSectionRetrieve.d.ts +0 -7
  177. package/types/openapi/models/CanvasSectionRetrieveRequest.d.ts +0 -5
  178. package/types/openapi/models/FileRequest.d.ts +0 -13
  179. package/types/openapi/models/InstanceStorageCredentials.d.ts +0 -6
  180. package/types/openapi/models/MiniAccount.d.ts +0 -4
  181. package/types/openapi/models/PSPDFKitAuthPayload.d.ts +0 -3
  182. package/types/openapi/models/PSPDFKitAuthPayloadRequest.d.ts +0 -3
  183. package/types/openapi/models/PSPDFKitToken.d.ts +0 -7
  184. package/types/openapi/models/PSPDFKitTokenRequest.d.ts +0 -3
  185. package/types/openapi/models/PaginatedCanvasListList.d.ts +0 -8
@@ -1,10 +1,11 @@
1
1
  import { DsrEnv } from './types.dsr';
2
2
 
3
3
  /**
4
- * Fetches the necessary info for the app to know where it is embedded. LaunchDarkly flags are omitted for now as they are not yet used.
4
+ * Fetches the necessary info for the app to know where it is embedded.
5
5
  *
6
- * ```
6
+ * Check out [usePitcherApi().getEnv()](../internal/functions/createHighLevelApi.md#getenv) for more information.
7
+ *
8
+ * @example
7
9
  * useDsr().getEnv()
8
- * ```
9
10
  */
10
11
  export declare function getEnv(): Promise<DsrEnv>;
@@ -1,5 +1,16 @@
1
1
  import { DSR_MESSAGE_TYPES, DsrMessagePayloads } from './types.dsr';
2
2
 
3
- export declare function on(type: (typeof DSR_MESSAGE_TYPES)[keyof typeof DSR_MESSAGE_TYPES], handler: (data: DsrMessagePayloads[typeof type]) => Promise<void>): Promise<() => void>;
4
- export * from './env.dsr';
5
- export * from './loading.dsr';
3
+ /**
4
+ * Subscribe to a given event type by its key.
5
+ *
6
+ * @param type The event type/key to subscribe to.
7
+ * @param handler The handler function to call when the event is emitted.
8
+ * @returns A Promise resolving to a cleanup function to unsubscribe from the event.
9
+ */
10
+ declare function on(type: (typeof DSR_MESSAGE_TYPES)[keyof typeof DSR_MESSAGE_TYPES], handler: (data: DsrMessagePayloads[typeof type]) => Promise<void>): Promise<() => void>;
11
+ declare const _default: {
12
+ embeddableReady(): Promise<void>;
13
+ getEnv(): Promise<import('./types.dsr').DsrEnv>;
14
+ on: typeof on;
15
+ };
16
+ export default _default;
@@ -1 +1,7 @@
1
- export declare function embeddable_ready(): Promise<void>;
1
+ /**
2
+ * Signal to DSR that the app is ready to be shown.
3
+ *
4
+ * @example
5
+ * useDsr().embeddableReady()
6
+ */
7
+ export declare function embeddableReady(): Promise<void>;
@@ -1,6 +1,22 @@
1
1
  import { PitcherEnv } from '../../interfaces';
2
2
  import { User } from '../../../../types/openapi';
3
3
 
4
+ /**
5
+ * Fetches the necessary info for the app to know where it is embedded.
6
+ *
7
+ * It contains information about:
8
+ * - user
9
+ * - instance
10
+ * - organization
11
+ * - security token to query Pitcher REST API
12
+ * - Salesforce connection information (if connected) including security token to query Salesforce REST API
13
+ * - Auth0 token information
14
+ *
15
+ * @example
16
+ * const env = usePitcherApi().getEnv().then((env) => {
17
+ * console.log(env.pitcher.user.name)
18
+ * })
19
+ */
4
20
  export declare function getEnv(): Promise<PitcherEnv>;
5
21
  type UpdateEnvParams = Pick<User, 'language' | 'dark_mode'>;
6
22
  export declare function updateMyUser(payload: UpdateEnvParams): Promise<User>;
@@ -1,8 +1,17 @@
1
1
  import { Favorite, FavoriteCreateRequest, PaginatedFavoriteList } from '../../../../types/openapi';
2
2
  import { GetFavoritesParams } from '../../../types/favorites';
3
3
 
4
+ /**
5
+ * Get a list of favorites
6
+ */
4
7
  export declare function getFavorites(payload?: GetFavoritesParams): Promise<PaginatedFavoriteList>;
8
+ /**
9
+ * Create a favorite
10
+ */
5
11
  export declare function createFavorite(payload: FavoriteCreateRequest): Promise<Favorite>;
12
+ /**
13
+ * Delete a favorite
14
+ */
6
15
  export declare function deleteFavorite(payload: {
7
16
  favorite_id: Favorite['id'];
8
17
  }): Promise<void>;
@@ -1,3 +1,6 @@
1
1
  import { SubmitUserFeedbackPayload } from '../../payload.types';
2
2
 
3
+ /**
4
+ * Submit user feedback
5
+ */
3
6
  export declare function submitUserFeedback(payload: SubmitUserFeedbackPayload): Promise<any>;
@@ -2,7 +2,10 @@ import { File, FileRetrieve, PaginatedFileList, FileUpdateRequest } from '../../
2
2
  import { GetRecentFilesPayload, ListFilesPayload } from '../../payload.types';
3
3
  import { AllFileCreateRequest, DeviceFile } from '../../../types/files';
4
4
 
5
- export declare function getFiles(payload: ListFilesPayload): Promise<PaginatedFileList>;
5
+ export declare function getFiles(payload: ListFilesPayload & {
6
+ filters?: Record<string, any>;
7
+ fields?: string;
8
+ }): Promise<PaginatedFileList>;
6
9
  export declare function getRecentFiles(payload?: GetRecentFilesPayload): Promise<File[]>;
7
10
  export declare function downloadFile(payload: {
8
11
  file_id: File['id'];
@@ -11,7 +14,8 @@ export declare function getAppConfig(payload: {
11
14
  app_name: string;
12
15
  }): Promise<Record<string, any>>;
13
16
  export declare function getFile(payload: {
14
- file_id: FileRetrieve['id'];
17
+ id?: FileRetrieve['id'];
18
+ file_id?: FileRetrieve['id'];
15
19
  }): Promise<FileRetrieve>;
16
20
  export declare function updateFile(payload: FileUpdateRequest & {
17
21
  id: File['id'];
@@ -23,9 +27,8 @@ export declare function createFile(payload: Omit<AllFileCreateRequest, 'instance
23
27
  /**
24
28
  * Dispatches iOS native file selector and returns the selected file.
25
29
  *
26
- * ```
30
+ * @example
27
31
  * // iOS only method to select a file from the device.
28
32
  * api.selectDeviceFile()
29
- * ```
30
33
  */
31
34
  export declare function selectDeviceFile(): Promise<DeviceFile>;
@@ -1,16 +1,45 @@
1
1
  import { File, Folder, FolderRetrieve, FolderCreateRequest, FolderUpdateRequest } from '../../../../types/openapi';
2
2
 
3
+ /**
4
+ * Retrieves a folder by its ID.
5
+ * @param payload - An object containing the folder ID.
6
+ * @param payload.id - The ID of the folder to retrieve. Defaults to 'root'.
7
+ * @returns A promise that resolves to the retrieved folder.
8
+ */
3
9
  export declare function getFolder(payload?: {
4
10
  id: FolderRetrieve['id'];
5
11
  }): Promise<FolderRetrieve>;
12
+ /**
13
+ * Creates a new folder.
14
+ * @param payload - The folder creation request payload, excluding the instance_id.
15
+ * @returns A promise that resolves to the created folder.
16
+ */
6
17
  export declare function createFolder(payload: Omit<FolderCreateRequest, 'instance_id'>): Promise<FolderRetrieve>;
7
18
  type UpdateFolderPayload = FolderUpdateRequest & {
8
19
  id: Folder['id'];
9
20
  };
21
+ /**
22
+ * Updates an existing folder.
23
+ * @param payload - The folder update payload, including the folder ID and update data.
24
+ * @returns A promise that resolves to the updated folder.
25
+ */
10
26
  export declare function updateFolder(payload: UpdateFolderPayload): Promise<FolderRetrieve>;
27
+ /**
28
+ * Deletes a folder.
29
+ * @param payload - An object containing the ID of the folder to delete.
30
+ * @param payload.folder_id - The ID of the folder to delete.
31
+ * @returns A promise that resolves when the folder is deleted.
32
+ */
11
33
  export declare function deleteFolder(payload: {
12
34
  folder_id: FolderRetrieve['id'];
13
35
  }): Promise<void>;
36
+ /**
37
+ * Moves items (files or folders) to a target folder.
38
+ * @param payload - The payload containing the target folder ID and items to move.
39
+ * @param payload.target_folder_id - The ID of the target folder.
40
+ * @param payload.items - An array of items to move, each with an ID and type.
41
+ * @returns A promise that resolves to the updated target folder.
42
+ */
14
43
  export declare function moveFolderItems(payload: {
15
44
  target_folder_id: Folder['id'];
16
45
  items: {
@@ -1,4 +1,10 @@
1
1
  import { OpenExternalUrlRequestPayload, OpenRequestPayload } from '../../payload.types';
2
2
 
3
+ /**
4
+ * Open a file in the CatalogIQ instance.
5
+ */
3
6
  export declare function open(payload?: OpenRequestPayload): Promise<string>;
7
+ /**
8
+ * Open external URL in a new tab. Works on both web and mobile.
9
+ */
4
10
  export declare function openExternalUrl(payload: OpenExternalUrlRequestPayload): Promise<void>;
@@ -1,9 +1,8 @@
1
1
  /**
2
2
  * Dispatches iOS only sync method for non-files.
3
3
  *
4
- * ```
4
+ * @example
5
5
  * // iOS only method to sync non-files from the server.
6
6
  * api.triggerNonFilesSync()
7
- * ```
8
7
  */
9
8
  export declare function triggerNonFilesSync(): Promise<void>;
@@ -1,3 +1,15 @@
1
1
  import { UiCaptureAppErrorRequest } from './types.ui';
2
2
 
3
- export declare function capture_app_error(payload: UiCaptureAppErrorRequest): Promise<void>;
3
+ /**
4
+ * Send an app error to Pitcher sentry instance.
5
+ *
6
+ * @example
7
+ * try {
8
+ * throw new Error('This is an error')
9
+ * } catch (error) {
10
+ * useUi().capture_app_error(error)
11
+ * }
12
+ *
13
+ * @param payload error object to send to Pitcher sentry instance
14
+ */
15
+ export declare function captureAppError(payload: UiCaptureAppErrorRequest): Promise<void>;
@@ -1,9 +1,103 @@
1
- import { Canvas } from '../../../../../types/openapi';
2
- import { UiAppResizeRequest, UiCanvasNavigatePageReuqest, UiUpdateCanvasRequest } from './types.ui';
1
+ import { CanvasRetrieve } from '../../../../../types/openapi';
2
+ import { UiAppResizeRequest, UiCanvasNavigatePageRequest, UiUpdateCanvasRequest, UiSelectCanvasesRequest, UiSelectCanvasesResponse } from './types.ui';
3
3
 
4
- export declare function update_canvas(payload: UiUpdateCanvasRequest): Promise<Canvas>;
5
- export declare function app_loaded(): Promise<void>;
6
- export declare function app_resize(payload: UiAppResizeRequest): Promise<void>;
7
- export declare function canvas_navigate_next_page(): Promise<void>;
8
- export declare function canvas_navigate_previous_page(): Promise<void>;
9
- export declare function canvas_navigate_page(payload: UiCanvasNavigatePageReuqest): Promise<void>;
4
+ /**
5
+ * Modify the currently loaded canvas. On the web it sends
6
+ * an [update_canvas](https://pitcher.readme.io/reference/update_canvas) request to the server.
7
+ *
8
+ * @param payload parts of the canvas object to update with fields to return
9
+ */
10
+ export declare function updateCanvas(payload: UiUpdateCanvasRequest): Promise<CanvasRetrieve>;
11
+ /**
12
+ * Notify the CatalogIQ instance that the app is loaded and ready to get the data. Triggering this method will trigger
13
+ * the `on_app_set_data` event.
14
+ *
15
+ * @example
16
+ * @example
17
+ * useUi().appLoaded()
18
+ */
19
+ export declare function appLoaded(): Promise<void>;
20
+ /**
21
+ * Resize the app iframe to a given height.
22
+ *
23
+ * Note that initial iframe height comes from the `app.json` manifest file. It can also be adjusted by the user when adding
24
+ * app component to the canvas. In case when the app must be temporarily resized to show larger ui elements it can read the
25
+ * user-set height from the [on_app_set_data](#on-app-set-data) event.
26
+ * @param payload object containing requested height of the iframe as the number of pixels
27
+ */
28
+ export declare function appResize(payload: UiAppResizeRequest): Promise<void>;
29
+ /**
30
+ * Navigate to the next page in the current canvas. Noop if the current page is the last one.
31
+ *
32
+ * @example
33
+ * useUi().canvasNavigateNextPage()
34
+ */
35
+ export declare function canvasNavigateNextPage(): Promise<void>;
36
+ /**
37
+ * Navigate to the previous page in the current canvas. Noop if the current page is the first one.
38
+ *
39
+ * @example
40
+ * useUi().canvasNavigatePreviousPage()
41
+ */
42
+ export declare function canvasNavigatePreviousPage(): Promise<void>;
43
+ /**
44
+ * Navigate to a specific canvas place in the current canvas. Despite the event and parameter name, it takes the component
45
+ * id that we want to put in view.
46
+ *
47
+ * @example
48
+ * const uiApi = useUi() // our useApi()
49
+ *
50
+ * let activeCanvas = null
51
+ * const unsubscribe = uiApi.on_app_set_data((data) => {
52
+ * activeCanvas = data?.canvas
53
+ * })
54
+ *
55
+ * document.getElementById('my-button').addEventListener('click', () => {
56
+ * const target = activeCanvas?.content?.data?.find((i: any) => i.data.app_name === 'my-target-app-id') || null
57
+ * if (target) {
58
+ * uiApi.canvasNavigatePage({ page: target.id })
59
+ * }
60
+ * })
61
+ */
62
+ export declare function canvasNavigatePage(payload: UiCanvasNavigatePageRequest): Promise<void>;
63
+ /**
64
+ * Opens a modal to view a canvas by ID.
65
+ *
66
+ * ```
67
+ * onMounted(() => {
68
+ * uiApi.openCanvasOverlay({
69
+ * id: '01HH4RCBH631K4JDHWAQB0RPR6',
70
+ * edit_mode: false,
71
+ * fullscreen: true,
72
+ * })
73
+ * })
74
+ * ```
75
+ */
76
+ export declare function openCanvasOverlay(payload: {
77
+ id: CanvasRetrieve['id'];
78
+ edit_mode?: boolean;
79
+ fullscreen?: boolean;
80
+ component_id?: string;
81
+ section_id?: string;
82
+ }): Promise<void>;
83
+ /**
84
+ * Allows the user to select (and preselect) canvases from the instance.
85
+ *
86
+ * This method allows you to prompt the user to select canvases from the CatalogIQ
87
+ * instance and use that canvas selection in your application.
88
+ *
89
+ * @example
90
+ * const api = useApi() // or useUi() if you know that you 're in UI context
91
+ * api
92
+ * .selectCanvases({
93
+ * allowed_types: ['canvas','canvas-template','section','section-template'] // default ['canvas']
94
+ * selections: [
95
+ * { id: "01HCZ623YYRFJQ0F7B69VWE510" },
96
+ * { id: "02HCZ623YYRFJQ0F7B69VWE510" },
97
+ * ], // default []
98
+ * })
99
+ *
100
+ * @param payload optional payload to preselect specific canvases
101
+ * @returns Promise with the user action and selected canvases
102
+ */
103
+ export declare function selectCanvases(payload?: UiSelectCanvasesRequest): Promise<UiSelectCanvasesResponse>;
@@ -1,7 +1,57 @@
1
1
  import { UiSelectContentRequest, UiSelectContentResponse, UiOpenRequest, UiToastRequest, UiPreselectSfdcMeetingIdRequest, UiPreselectSfdcMeetingIdResponse } from './types.ui';
2
2
 
3
+ /**
4
+ * @hidden
5
+ * @deprecated
6
+ */
3
7
  export declare function ui_select_content(payload?: UiSelectContentRequest): Promise<UiSelectContentResponse>;
4
- export declare function select_content(payload?: UiSelectContentRequest): Promise<UiSelectContentResponse>;
8
+ /**
9
+ * Allows the user to select (and preselect) content from the instance.
10
+ *
11
+ * Opens the content selector dialog to allow the user to select content and handle the outcome. This method allows you to
12
+ * prompt the user to select content from the CatalogIQ instance and use that content in your application.
13
+ *
14
+ * @example
15
+ * const api = useApi() // or useUi() if you know that you 're in UI context
16
+ * api
17
+ * .selectContent({
18
+ * selections: [
19
+ * { fileId: "01HCZ623YYRFJQ0F7B69VWE510", type: "file" },
20
+ * {
21
+ * fileId: "01HD3XGZ5FN90QJGK7CH8TBZDF",
22
+ * type: "page",
23
+ * pageIndex: 2,
24
+ * },
25
+ * ],
26
+ * })
27
+ *
28
+ * @param payload optional payload to preselect specific content
29
+ * @returns Promise with the user action and selected content
30
+ */
31
+ export declare function selectContent(payload?: UiSelectContentRequest): Promise<UiSelectContentResponse>;
32
+ /**
33
+ * Open a file in the CatalogIQ instance.
34
+ */
5
35
  export declare function open(payload: UiOpenRequest): Promise<void>;
36
+ /**
37
+ * Show a toast message to the user.
38
+ *
39
+ * @example
40
+ * useUi().toast({ type: 'info', message: 'Hello, world!' })
41
+ */
6
42
  export declare function toast(payload: UiToastRequest): Promise<void>;
7
- export declare function preselect_sfdc_meeting_id(payload: UiPreselectSfdcMeetingIdRequest): Promise<UiPreselectSfdcMeetingIdResponse>;
43
+ /**
44
+ * Preselect a meeting in the top meeting bar by Salesforce Meeting ID. From there, the user can easily start the meeting
45
+ * with a single click.
46
+ *
47
+ * @example
48
+ * const objectFetchedFromSalesforce = {
49
+ * // fetch dynamically from Salesforce or provide in another way
50
+ * EventId: '00U1r00000D1J1zEAF',
51
+ * }
52
+ * ui.preselectSfdcMeetingId({ eventId: objectFetchedFromSalesforce.EventId }).then((response) => {
53
+ * // e.g. display advanced meeting details inside your app
54
+ * console.log(response.event)
55
+ * })
56
+ */
57
+ export declare function preselectSfdcMeetingId(payload: UiPreselectSfdcMeetingIdRequest): Promise<UiPreselectSfdcMeetingIdResponse>;
@@ -1,15 +1,152 @@
1
1
  import { UiMeetingCanceledPayload, UiCanvasUpdatedPayload, UiSectionListUpdatedPayload, UiAppSetDataPayload, UiAppUpdateDataPayload, UiBroadcastRequest, UiMessagePayloads } from './types.ui';
2
2
 
3
- export declare function on<T extends keyof UiMessagePayloads>(type: T, handler: (data: UiMessagePayloads[T]) => Promise<void>): Promise<() => void>;
4
- export declare function on_meeting_canceled(handler: (data: UiMeetingCanceledPayload) => Promise<void>): Promise<() => void>;
5
- export declare function on_canvas_updated(handler: (data: UiCanvasUpdatedPayload) => Promise<void>): Promise<() => void>;
6
- export declare function on_section_list_updated(handler: (data: UiSectionListUpdatedPayload) => Promise<void>): Promise<() => void>;
7
- export declare function on_app_set_data(handler: (data: UiAppSetDataPayload) => Promise<void>): Promise<() => void>;
8
- export declare function on_app_update_data(handler: (data: UiAppUpdateDataPayload) => Promise<void>): Promise<() => void>;
9
- export declare function ui_broadcast(payload: UiBroadcastRequest): Promise<void>;
10
- export * from './content.ui';
11
- export * from './loading.ui';
12
- export * from './location.ui';
13
- export * from './app-errors.ui';
14
- export * from './canvas.ui';
15
- export * from './post-call.ui';
3
+ /**
4
+ * Subscribe to a given event type by its key.
5
+ *
6
+ * @example
7
+ * const unsubscribeFromSectionListUpdate = useUi().on('ui_section_list_updated', (event: object) => {
8
+ * // handle event
9
+ * })
10
+ *
11
+ * // later
12
+ * unsubscribeFromSectionListUpdate.then(unsubscribe => unsubscribe())
13
+ *
14
+ * @param type The event type/key to subscribe to.
15
+ * @param handler The handler function to call when the event is emitted.
16
+ * @returns A Promise resolving to a cleanup function to unsubscribe from the event.
17
+ */
18
+ declare function on<T extends keyof UiMessagePayloads>(type: T, handler: (data: UiMessagePayloads[T]) => Promise<void>): Promise<() => void>;
19
+ /**
20
+ * Subscribe to the meeting canceled event.
21
+ *
22
+ * @example
23
+ * const unsubscribeFromMeetingCanceled = useUi().onMeetingCanceled((event: {
24
+ * accountId?: string;
25
+ * eventId?: string;
26
+ * }) => {
27
+ * // handle event
28
+ * })
29
+ *
30
+ * // later
31
+ * unsubscribeFromMeetingCanceled.then(cancel => cancel())
32
+ *
33
+ * @param handler
34
+ * @returns A Promise resolving to a cleanup function to unsubscribe from the event.
35
+ */
36
+ declare function onMeetingCanceled(handler: (data: UiMeetingCanceledPayload) => Promise<void>): Promise<() => void>;
37
+ /**
38
+ * Subscribe to the canvas updated event. It is triggered when the current canvas of the app is updated.
39
+ *
40
+ * @example
41
+ * const unsubscribePromise = useUi().onCanvasUpdated((event: { canvas }) => {
42
+ * // handle event
43
+ * })
44
+ *
45
+ * // later
46
+ * unsubscribePromise.then(unsubscribe => unsubscribe())
47
+ *
48
+ * @returns A Promise resolving to a cleanup function to unsubscribe from the event.
49
+ */
50
+ declare function onCanvasUpdated(handler: (data: UiCanvasUpdatedPayload) => Promise<void>): Promise<() => void>;
51
+ /**
52
+ * Subscribe to the section list updated event. It is triggered when the list of sections (products) in the current canvas
53
+ * is updated.
54
+ *
55
+ * @example
56
+ * const unsubscribePromise = useUi().onSectionListUpdated((event: { canvas }) => {
57
+ * // handle event
58
+ * })
59
+ *
60
+ * // later
61
+ * unsubscribePromise.then(unsubscribe => unsubscribe())
62
+ *
63
+ * @returns A Promise resolving to a cleanup function to unsubscribe from the event.
64
+ */
65
+ declare function onSectionListUpdated(handler: (data: UiSectionListUpdatedPayload) => Promise<void>): Promise<() => void>;
66
+ /**
67
+ * Subscribe to the app set data event. It is triggered when the app data is set. This event is triggered when the app is
68
+ * loaded and in certain other cases after loading.
69
+ *
70
+ * This is the main event for the canvas app to receive data from the CatalogIQ instance and know about its environment.
71
+ *
72
+ * @example
73
+ * let user = null
74
+ * let isEditMode = null
75
+ * let activeCanvas = null
76
+ * let isPrintMode = false
77
+ * const unsubscribePromise = useUi().onAppSetData((data) => {
78
+ * user = data?.user
79
+ * isEditMode = data?.is_edit_mode
80
+ * activeCanvas = data?.canvas
81
+ * isPrintMode = data?.display_mode === 'print' || data?.client === 'dsr'
82
+ * // ...mode logic...
83
+ * })
84
+ *
85
+ * // later
86
+ * unsubscribePromise.then(unsubscribe => unsubscribe())
87
+ *
88
+ * @returns A Promise resolving to a cleanup function to unsubscribe from the event.
89
+ */
90
+ declare function onAppSetData(handler: (data: UiAppSetDataPayload) => Promise<void>): Promise<() => void>;
91
+ /**
92
+ * Subscribe to the app update data event. It is triggered when the user changes from edit mode to view mode or vice versa
93
+ * and when the call is started or ended.
94
+ *
95
+ * @example
96
+ * let inCall = false
97
+ * let isEditMode = false
98
+ * const unsubscribePromise = useUi().onAppUpdateData((data) => {
99
+ * isEditMode = data?.is_edit_mode
100
+ * inCall = data?.in_call
101
+ * // ...mode logic...
102
+ * })
103
+ *
104
+ * // later
105
+ * unsubscribePromise.then(unsubscribe => unsubscribe())
106
+ *
107
+ * @returns A Promise resolving to a cleanup function to unsubscribe from the event.
108
+ */
109
+ declare function onAppUpdateData(handler: (data: UiAppUpdateDataPayload) => Promise<void>): Promise<() => void>;
110
+ /**
111
+ * Broadcast event to the UI. Hidden from the documentation.
112
+ *
113
+ * @hidden
114
+ */
115
+ declare function uiBroadcast(payload: UiBroadcastRequest): Promise<void>;
116
+ declare const _default: {
117
+ completePostcall(payload: import('../../../../main.lib').UiCompletePostcallRequest): Promise<void>;
118
+ stopMeeting(): Promise<void>;
119
+ enablePostcallSubmit(): Promise<void>;
120
+ disablePostcallSubmit(): Promise<void>;
121
+ setPostcallStyle(payload: import('../../../../main.lib').UiSetPostcallStyleRequest): Promise<void>;
122
+ updateCanvas(payload: import('../../../../main.lib').UiUpdateCanvasRequest): Promise<import('../../../../main.lib').CanvasRetrieve>;
123
+ appLoaded(): Promise<void>;
124
+ appResize(payload: import('../../../../main.lib').UiAppResizeRequest): Promise<void>;
125
+ canvasNavigateNextPage(): Promise<void>;
126
+ canvasNavigatePreviousPage(): Promise<void>;
127
+ canvasNavigatePage(payload: import('../../../../main.lib').UiCanvasNavigatePageRequest): Promise<void>;
128
+ openCanvasOverlay(payload: {
129
+ id: import('../../../../main.lib').CanvasRetrieve["id"];
130
+ edit_mode?: boolean;
131
+ fullscreen?: boolean;
132
+ component_id?: string;
133
+ section_id?: string;
134
+ }): Promise<void>;
135
+ selectCanvases(payload?: import('../../../../main.lib').UiSelectCanvasesRequest): Promise<import('../../../../main.lib').UiSelectCanvasesResponse>;
136
+ captureAppError(payload: import('../../../../main.lib').UiCaptureAppErrorRequest): Promise<void>;
137
+ updateLocation(payload: import('../../../../main.lib').UpdateLocationPitcherEvent): Promise<any>;
138
+ embeddableReady(): Promise<void>;
139
+ ui_select_content(payload?: import('../../../../main.lib').UiSelectContentRequest): Promise<import('../../../../main.lib').UiSelectContentResponse>;
140
+ selectContent(payload?: import('../../../../main.lib').UiSelectContentRequest): Promise<import('../../../../main.lib').UiSelectContentResponse>;
141
+ open(payload: import('../../../../main.lib').UiOpenRequest): Promise<void>;
142
+ toast(payload: import('../../../../main.lib').UiToastRequest): Promise<void>;
143
+ preselectSfdcMeetingId(payload: import('../../../../main.lib').UiPreselectSfdcMeetingIdRequest): Promise<import('../../../../main.lib').UiPreselectSfdcMeetingIdResponse>;
144
+ on: typeof on;
145
+ onMeetingCanceled: typeof onMeetingCanceled;
146
+ onCanvasUpdated: typeof onCanvasUpdated;
147
+ onSectionListUpdated: typeof onSectionListUpdated;
148
+ onAppSetData: typeof onAppSetData;
149
+ onAppUpdateData: typeof onAppUpdateData;
150
+ uiBroadcast: typeof uiBroadcast;
151
+ };
152
+ export default _default;
@@ -1 +1,9 @@
1
- export declare function embeddable_ready(): Promise<void>;
1
+ /**
2
+ * This event is used for appJson.module.canvas.start_in_loading_mode: true apps.
3
+ * A loading curtain is displayed until you call this event.
4
+ *
5
+ * @example
6
+ * useUi().embeddableReady()
7
+ *
8
+ */
9
+ export declare function embeddableReady(): Promise<void>;
@@ -1,3 +1,20 @@
1
1
  import { UpdateLocationPitcherEvent } from '../../../interfaces';
2
2
 
3
- export declare function update_location(payload: UpdateLocationPitcherEvent): Promise<any>;
3
+ /**
4
+ * Navigate to another page in the CatalogIQ instance.
5
+ *
6
+ * [//]: # 'TODO: This is a very powerful event, we need to expand documentation here'
7
+ *
8
+ * @example
9
+ * const canvasId = '1234567890abcdef12345678' // obtain target canvasId
10
+ * useUi().updateLocation({
11
+ * action: 'restore',
12
+ * routes: {
13
+ * 'slotty-ui': {
14
+ * path: '/canvases/saved-canvases/' + canvasId + '/build/present',
15
+ * query: {},
16
+ * },
17
+ * },
18
+ * })
19
+ */
20
+ export declare function updateLocation(payload: UpdateLocationPitcherEvent): Promise<any>;
@@ -1,6 +1,37 @@
1
1
  import { UiCompletePostcallRequest, UiSetPostcallStyleRequest } from './types.ui';
2
2
 
3
- export declare function complete_postcall(payload: UiCompletePostcallRequest): Promise<void>;
4
- export declare function enable_postcall_submit(): Promise<void>;
5
- export declare function disable_postcall_submit(): Promise<void>;
6
- export declare function set_postcall_style(payload: UiSetPostcallStyleRequest): Promise<void>;
3
+ /**
4
+ * Ends current meeting and shows postcall form.
5
+ *
6
+ * @example
7
+ * useUi().completePostcall({ was_successfully_submitted: true })
8
+ */
9
+ export declare function completePostcall(payload: UiCompletePostcallRequest): Promise<void>;
10
+ /**
11
+ * Ends current meeting and shows postcall form.
12
+ *
13
+ * @example
14
+ * useUi().stopMeeting()
15
+ */
16
+ export declare function stopMeeting(): Promise<void>;
17
+ /**
18
+ * Mark the postcall form as possible to submit by the user.
19
+ *
20
+ * @example
21
+ * useUi().enablePostcallSubmit()
22
+ */
23
+ export declare function enablePostcallSubmit(): Promise<void>;
24
+ /**
25
+ * Mark the postcall form as **not** possible to submit by the user. Useful while processing the form data.
26
+ *
27
+ * @example
28
+ * useUi().disablePostcallSubmit()
29
+ */
30
+ export declare function disablePostcallSubmit(): Promise<void>;
31
+ /**
32
+ * Change the height of the postcall form.
33
+ *
34
+ * @example
35
+ * useUi().setPostcallStyle({ height: 100 })
36
+ */
37
+ export declare function setPostcallStyle(payload: UiSetPostcallStyleRequest): Promise<void>;