@pitcher/js-api 1.21.0-beta.8 → 1.21.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 (177) hide show
  1. package/js-api.esm.js +274 -92
  2. package/js-api.esm.js.map +1 -1
  3. package/js-api.umd.min.js +9 -9
  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/useCanvasHistory.d.ts +86 -74
  12. package/lib/apps/canvas-builder/composables/useCanvasHooks.d.ts +4 -4
  13. package/lib/apps/canvas-builder/composables/useCanvasPages.d.ts +3 -3
  14. package/lib/apps/canvas-builder/composables/useCanvasSectionOverrides.d.ts +3 -3
  15. package/lib/apps/canvas-builder/composables/useCanvasTheme.d.ts +24 -17
  16. package/lib/apps/canvas-builder/composables/useCanvasVisibility.d.ts +2 -2
  17. package/lib/apps/canvas-builder/composables/useCollapsibles.d.ts +3 -3
  18. package/lib/apps/canvas-builder/composables/useComponentPermissions.d.ts +2 -2
  19. package/lib/apps/canvas-builder/composables/useContentSelector.d.ts +6 -4
  20. package/lib/apps/canvas-builder/composables/useInstalledEmbeddables.d.ts +4 -1
  21. package/lib/apps/canvas-builder/composables/useRecommendations.d.ts +4 -4
  22. package/lib/apps/canvas-builder/composables/useSectionPopularity.d.ts +2 -2
  23. package/lib/apps/canvas-builder/types/canvas.d.ts +19 -18
  24. package/lib/apps/canvas-builder/types/recommendations.types.d.ts +3 -3
  25. package/lib/apps/canvas-builder/util/canvas.util.d.ts +5 -4
  26. package/lib/apps/content-selector/appTypes.d.ts +1 -0
  27. package/lib/apps/content-selector/stores/app.d.ts +8 -1
  28. package/lib/components/CFileViewer/CFileViewer.use.d.ts +2 -4
  29. package/lib/components/CFileViewer/CFileViewerFullScreen.use.d.ts +1 -1
  30. package/lib/components/canvases/CanvasesManagementBulk.use.d.ts +5 -5
  31. package/lib/components/filters/filter.util.d.ts +1 -1
  32. package/lib/components/savedCanvases/CSavedCanvasesManagementShareCanvas.use.d.ts +2 -2
  33. package/lib/composables/instanceTagsActions.use.d.ts +14 -0
  34. package/lib/composables/recentFiles.use.d.ts +1 -1
  35. package/lib/composables/suggestedTags.use.d.ts +3 -0
  36. package/lib/composables/tableColumnsSettings.use.d.ts +25 -0
  37. package/lib/composables/useCanvasOverlay.d.ts +20 -0
  38. package/lib/composables/useConfirmation.d.ts +1 -0
  39. package/lib/composables/useElementHeightResize.d.ts +5 -0
  40. package/lib/composables/useFiles.d.ts +11 -0
  41. package/lib/constants/pitcherSettings.const.d.ts +4 -0
  42. package/lib/main.lib.d.ts +27 -20
  43. package/lib/sdk/api/HighLevelApi.d.ts +106 -12
  44. package/lib/sdk/api/modules/admin/canvas.admin.d.ts +31 -15
  45. package/lib/sdk/api/modules/admin/env.admin.d.ts +3 -2
  46. package/lib/sdk/api/modules/admin/files.admin.d.ts +43 -4
  47. package/lib/sdk/api/modules/admin/index.d.ts +52 -5
  48. package/lib/sdk/api/modules/admin/metadataTemplates.admin.d.ts +1 -2
  49. package/lib/sdk/api/modules/admin/types.admin.d.ts +117 -3
  50. package/lib/sdk/api/modules/canvas.d.ts +12 -14
  51. package/lib/sdk/api/modules/dsr/env.dsr.d.ts +4 -3
  52. package/lib/sdk/api/modules/dsr/index.d.ts +14 -3
  53. package/lib/sdk/api/modules/dsr/loading.dsr.d.ts +6 -0
  54. package/lib/sdk/api/modules/env.d.ts +16 -0
  55. package/lib/sdk/api/modules/favorites.d.ts +9 -0
  56. package/lib/sdk/api/modules/feedback.d.ts +3 -0
  57. package/lib/sdk/api/modules/files.d.ts +3 -3
  58. package/lib/sdk/api/modules/folders.d.ts +29 -0
  59. package/lib/sdk/api/modules/open.d.ts +6 -0
  60. package/lib/sdk/api/modules/sync.d.ts +1 -2
  61. package/lib/sdk/api/modules/ui/app-errors.ui.d.ts +12 -0
  62. package/lib/sdk/api/modules/ui/canvas.ui.d.ts +75 -2
  63. package/lib/sdk/api/modules/ui/content.ui.d.ts +50 -0
  64. package/lib/sdk/api/modules/ui/index.d.ts +149 -13
  65. package/lib/sdk/api/modules/ui/loading.ui.d.ts +15 -0
  66. package/lib/sdk/api/modules/ui/location.ui.d.ts +17 -0
  67. package/lib/sdk/api/modules/ui/post-call.ui.d.ts +25 -0
  68. package/lib/sdk/api/modules/ui/types.ui.d.ts +69 -6
  69. package/lib/sdk/api/modules/users.d.ts +4 -0
  70. package/lib/sdk/interfaces.d.ts +119 -2
  71. package/lib/sdk/main.d.ts +275 -141
  72. package/lib/sdk/payload.types.d.ts +134 -2
  73. package/lib/theme/light.d.ts +12 -0
  74. package/lib/types/app.d.ts +11 -0
  75. package/lib/types/call.d.ts +2 -2
  76. package/lib/types/files.d.ts +27 -1
  77. package/lib/types/filter.d.ts +5 -0
  78. package/lib/types/instanceSettings.types.d.ts +8 -2
  79. package/lib/types/launchDarkly.types.d.ts +4 -4
  80. package/lib/types/organizationSettings.types.d.ts +4 -0
  81. package/lib/types/recentFiles.types.d.ts +4 -1
  82. package/lib/types/users.d.ts +13 -0
  83. package/lib/util/fullscreen.util.d.ts +1 -1
  84. package/lib/util/string.d.ts +1 -0
  85. package/package.json +1 -1
  86. package/types/openapi/index.d.ts +23 -17
  87. package/types/openapi/models/AccessTypeEnum.d.ts +3 -1
  88. package/types/openapi/models/App.d.ts +1 -0
  89. package/types/openapi/models/AppRelease.d.ts +1 -0
  90. package/types/openapi/models/AppsDBEntry.d.ts +4 -0
  91. package/types/openapi/models/AppsDBEntryRequest.d.ts +3 -0
  92. package/types/openapi/models/Canvas.d.ts +10 -15
  93. package/types/openapi/models/CanvasCreate.d.ts +14 -12
  94. package/types/openapi/models/CanvasCreateRequest.d.ts +6 -5
  95. package/types/openapi/models/CanvasRecommendedFile.d.ts +6 -0
  96. package/types/openapi/models/CanvasRetrieve.d.ts +15 -13
  97. package/types/openapi/models/CanvasSection.d.ts +5 -2
  98. package/types/openapi/models/CanvasUpdate.d.ts +14 -12
  99. package/types/openapi/models/CanvasUpdateRequest.d.ts +5 -4
  100. package/types/openapi/models/CollaborationRoleEnum.d.ts +0 -4
  101. package/types/openapi/models/ContentDistributionGroupCreate.d.ts +1 -0
  102. package/types/openapi/models/DeletedApp.d.ts +1 -0
  103. package/types/openapi/models/{CanvasList.d.ts → DeletedCanvas.d.ts} +13 -9
  104. package/types/openapi/models/DeletedContentDistributionGroup.d.ts +1 -0
  105. package/types/openapi/models/DeletedEnvironment.d.ts +1 -0
  106. package/types/openapi/models/DeletedFavorite.d.ts +1 -0
  107. package/types/openapi/models/DeletedFile.d.ts +6 -0
  108. package/types/openapi/models/DeletedFolder.d.ts +4 -3
  109. package/types/openapi/models/DeletedInstance.d.ts +1 -0
  110. package/types/openapi/models/DeletedInstanceAssignmentGroup.d.ts +1 -0
  111. package/types/openapi/models/DeletedMetadataTemplate.d.ts +1 -0
  112. package/types/openapi/models/DeletedRegion.d.ts +1 -0
  113. package/types/openapi/models/Environment.d.ts +1 -0
  114. package/types/openapi/models/Favorite.d.ts +1 -0
  115. package/types/openapi/models/File.d.ts +6 -0
  116. package/types/openapi/models/FileCreate.d.ts +8 -0
  117. package/types/openapi/models/FileCreateRequest.d.ts +3 -0
  118. package/types/openapi/models/FilePermission.d.ts +4 -0
  119. package/types/openapi/models/FilePermissionRequest.d.ts +4 -0
  120. package/types/openapi/models/FileRetrieve.d.ts +8 -0
  121. package/types/openapi/models/FileRevision.d.ts +8 -0
  122. package/types/openapi/models/FileRevisionRequest.d.ts +3 -0
  123. package/types/openapi/models/FileUpdate.d.ts +8 -0
  124. package/types/openapi/models/FileUpdateRequest.d.ts +3 -0
  125. package/types/openapi/models/FileVersion.d.ts +5 -0
  126. package/types/openapi/models/Folder.d.ts +4 -3
  127. package/types/openapi/models/FolderCanvas.d.ts +11 -0
  128. package/types/openapi/models/FolderCreate.d.ts +8 -7
  129. package/types/openapi/models/FolderCreateRequest.d.ts +4 -2
  130. package/types/openapi/models/FolderFile.d.ts +3 -0
  131. package/types/openapi/models/FolderFolder.d.ts +5 -1
  132. package/types/openapi/models/FolderRetrieve.d.ts +8 -8
  133. package/types/openapi/models/FolderRule.d.ts +7 -0
  134. package/types/openapi/models/FolderRuleRequest.d.ts +7 -0
  135. package/types/openapi/models/FolderUpdate.d.ts +8 -8
  136. package/types/openapi/models/FolderUpdateRequest.d.ts +3 -0
  137. package/types/openapi/models/Instance.d.ts +1 -0
  138. package/types/openapi/models/InstanceUpdate.d.ts +1 -0
  139. package/types/openapi/models/MetadataTemplate.d.ts +1 -0
  140. package/types/openapi/models/OfflineSyncFolder.d.ts +17 -0
  141. package/types/openapi/models/OperatorEnum.d.ts +64 -0
  142. package/types/openapi/models/PaginatedCanvasList.d.ts +8 -0
  143. package/types/openapi/models/PaginatedFileRevisionList.d.ts +8 -0
  144. package/types/openapi/models/PaginatedOfflineSyncFolderList.d.ts +8 -0
  145. package/types/openapi/models/PatchedCanvasUpdateRequest.d.ts +5 -4
  146. package/types/openapi/models/PatchedFileRequest.d.ts +3 -0
  147. package/types/openapi/models/PatchedFileRevisionRequest.d.ts +3 -0
  148. package/types/openapi/models/PatchedFileUpdateRequest.d.ts +3 -0
  149. package/types/openapi/models/PatchedFolderUpdateRequest.d.ts +3 -0
  150. package/types/openapi/models/Region.d.ts +1 -0
  151. package/types/openapi/models/SearchFile.d.ts +3 -0
  152. package/types/openapi/models/SharedLink.d.ts +6 -5
  153. package/types/openapi/models/SharedLinkCanvas.d.ts +11 -0
  154. package/types/openapi/models/SharedLinkCanvasRequest.d.ts +8 -0
  155. package/types/openapi/models/SharedLinkCreate.d.ts +6 -5
  156. package/types/openapi/models/{SharedLinkInstanceSerialzier.d.ts → SharedLinkInstance.d.ts} +1 -1
  157. package/types/openapi/models/SharedLinkInstanceRequest.d.ts +5 -0
  158. package/types/openapi/models/{SharedLinkOrganizationSerialzier.d.ts → SharedLinkOrganization.d.ts} +1 -1
  159. package/types/openapi/models/SharedLinkOrganizationRequest.d.ts +6 -0
  160. package/lib/apps/canvas-builder/util/tsUtils.d.ts +0 -3
  161. package/lib/composables/useDetailsView.d.ts +0 -19
  162. package/lib/types/templateActions.d.ts +0 -10
  163. package/lib/util/gesture.util.d.ts +0 -6
  164. package/types/openapi/models/AppsDBGlobalEntry.d.ts +0 -8
  165. package/types/openapi/models/AppsDBGlobalEntryRequest.d.ts +0 -3
  166. package/types/openapi/models/AppsDBUserEntry.d.ts +0 -9
  167. package/types/openapi/models/AppsDBUserEntryRequest.d.ts +0 -3
  168. package/types/openapi/models/CanvasSectionRetrieve.d.ts +0 -7
  169. package/types/openapi/models/CanvasSectionRetrieveRequest.d.ts +0 -5
  170. package/types/openapi/models/FileRequest.d.ts +0 -13
  171. package/types/openapi/models/InstanceStorageCredentials.d.ts +0 -6
  172. package/types/openapi/models/MiniAccount.d.ts +0 -4
  173. package/types/openapi/models/PSPDFKitAuthPayload.d.ts +0 -3
  174. package/types/openapi/models/PSPDFKitAuthPayloadRequest.d.ts +0 -3
  175. package/types/openapi/models/PSPDFKitToken.d.ts +0 -7
  176. package/types/openapi/models/PSPDFKitTokenRequest.d.ts +0 -3
  177. package/types/openapi/models/PaginatedCanvasListList.d.ts +0 -8
@@ -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>;
@@ -14,7 +14,8 @@ export declare function getAppConfig(payload: {
14
14
  app_name: string;
15
15
  }): Promise<Record<string, any>>;
16
16
  export declare function getFile(payload: {
17
- file_id: FileRetrieve['id'];
17
+ id?: FileRetrieve['id'];
18
+ file_id?: FileRetrieve['id'];
18
19
  }): Promise<FileRetrieve>;
19
20
  export declare function updateFile(payload: FileUpdateRequest & {
20
21
  id: File['id'];
@@ -26,9 +27,8 @@ export declare function createFile(payload: Omit<AllFileCreateRequest, 'instance
26
27
  /**
27
28
  * Dispatches iOS native file selector and returns the selected file.
28
29
  *
29
- * ```
30
+ * @example
30
31
  * // iOS only method to select a file from the device.
31
32
  * api.selectDeviceFile()
32
- * ```
33
33
  */
34
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
+ /**
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
+ */
3
15
  export declare function capture_app_error(payload: UiCaptureAppErrorRequest): Promise<void>;
@@ -1,9 +1,82 @@
1
- import { Canvas } from '../../../../../types/openapi';
1
+ import { CanvasRetrieve } from '../../../../../types/openapi';
2
2
  import { UiAppResizeRequest, UiCanvasNavigatePageReuqest, UiUpdateCanvasRequest } from './types.ui';
3
3
 
4
- export declare function update_canvas(payload: UiUpdateCanvasRequest): Promise<Canvas>;
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 update_canvas(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().app_loaded()
18
+ */
5
19
  export declare function app_loaded(): 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
+ */
6
28
  export declare function app_resize(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().canvas_navigate_next_page()
34
+ */
7
35
  export declare function canvas_navigate_next_page(): 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().canvas_navigate_previous_page()
41
+ */
8
42
  export declare function canvas_navigate_previous_page(): 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.canvas_navigate_page({ page: target.id })
59
+ * }
60
+ * })
61
+ */
9
62
  export declare function canvas_navigate_page(payload: UiCanvasNavigatePageReuqest): 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>;
@@ -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>;
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
+ * .select_content({
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 speciffic content
29
+ * @returns Promise with the user action and selected content
30
+ */
4
31
  export declare function select_content(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>;
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 dynamiccaly from Salesforce or provide in another way
50
+ * EventId: '00U1r00000D1J1zEAF',
51
+ * }
52
+ * ui.preselect_sfdc_meeting_id({ eventId: objectFetchedFromSalesforce.EventId }).then((response) => {
53
+ * // e.g. display advanced meeting details inside your app
54
+ * console.log(response.event)
55
+ * })
56
+ */
7
57
  export declare function preselect_sfdc_meeting_id(payload: UiPreselectSfdcMeetingIdRequest): Promise<UiPreselectSfdcMeetingIdResponse>;
@@ -1,15 +1,151 @@
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().on_meeting_canceled((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 on_meeting_canceled(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().on_canvas_updated((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 on_canvas_updated(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().on_section_list_updated((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 on_section_list_updated(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().on_app_set_data((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 on_app_set_data(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().on_app_update_data((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 on_app_update_data(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 ui_broadcast(payload: UiBroadcastRequest): Promise<void>;
116
+ declare const _default: {
117
+ complete_postcall(payload: import('../../../../main.lib').UiCompletePostcallRequest): Promise<void>;
118
+ stop_meeting(): Promise<void>;
119
+ enable_postcall_submit(): Promise<void>;
120
+ disable_postcall_submit(): Promise<void>;
121
+ set_postcall_style(payload: import('../../../../main.lib').UiSetPostcallStyleRequest): Promise<void>;
122
+ update_canvas(payload: import('../../../../main.lib').UiUpdateCanvasRequest): Promise<import('../../../../main.lib').CanvasRetrieve>;
123
+ app_loaded(): Promise<void>;
124
+ app_resize(payload: import('../../../../main.lib').UiAppResizeRequest): Promise<void>;
125
+ canvas_navigate_next_page(): Promise<void>;
126
+ canvas_navigate_previous_page(): Promise<void>;
127
+ canvas_navigate_page(payload: import('../../../../main.lib').UiCanvasNavigatePageReuqest): 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
+ capture_app_error(payload: import('../../../../main.lib').UiCaptureAppErrorRequest): Promise<void>;
136
+ update_location(payload: import('../../../../main.lib').UpdateLocationPitcherEvent): Promise<any>;
137
+ embeddable_ready(): Promise<void>;
138
+ ui_select_content(payload?: import('../../../../main.lib').UiSelectContentRequest): Promise<import('../../../../main.lib').UiSelectContentResponse>;
139
+ select_content(payload?: import('../../../../main.lib').UiSelectContentRequest): Promise<import('../../../../main.lib').UiSelectContentResponse>;
140
+ open(payload: import('../../../../main.lib').UiOpenRequest): Promise<void>;
141
+ toast(payload: import('../../../../main.lib').UiToastRequest): Promise<void>;
142
+ preselect_sfdc_meeting_id(payload: import('../../../../main.lib').UiPreselectSfdcMeetingIdRequest): Promise<import('../../../../main.lib').UiPreselectSfdcMeetingIdResponse>;
143
+ on: typeof on;
144
+ on_meeting_canceled: typeof on_meeting_canceled;
145
+ on_canvas_updated: typeof on_canvas_updated;
146
+ on_section_list_updated: typeof on_section_list_updated;
147
+ on_app_set_data: typeof on_app_set_data;
148
+ on_app_update_data: typeof on_app_update_data;
149
+ ui_broadcast: typeof ui_broadcast;
150
+ };
151
+ export default _default;
@@ -1 +1,16 @@
1
+ /**
2
+ * Notify the CatalogIQ instance that the app is loaded. This method should be called when the app is fully loaded and
3
+ * ready to be displayed.
4
+ *
5
+ * ::: warning
6
+ * This method is deprecated. If you find yourself needing it, contact the Pitcher team.
7
+ * :::
8
+ *
9
+ * [//]: # 'TODO: Is this even needed today? We should probably remove it'
10
+ *
11
+ * @example
12
+ * useUi().embeddable_ready()
13
+ *
14
+ * @deprecated
15
+ */
1
16
  export declare function embeddable_ready(): Promise<void>;
@@ -1,3 +1,20 @@
1
1
  import { UpdateLocationPitcherEvent } from '../../../interfaces';
2
2
 
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().update_location({
11
+ * action: 'restore',
12
+ * routes: {
13
+ * 'slotty-ui': {
14
+ * path: '/canvases/saved-canvases/' + canvasId + '/build/present',
15
+ * query: {},
16
+ * },
17
+ * },
18
+ * })
19
+ */
3
20
  export declare function update_location(payload: UpdateLocationPitcherEvent): Promise<any>;
@@ -1,6 +1,31 @@
1
1
  import { UiCompletePostcallRequest, UiSetPostcallStyleRequest } from './types.ui';
2
2
 
3
3
  export declare function complete_postcall(payload: UiCompletePostcallRequest): Promise<void>;
4
+ /**
5
+ * Ends current meeting and shows postcall form.
6
+ *
7
+ * @example
8
+ * useUi().stop_meeting()
9
+ */
10
+ export declare function stop_meeting(): Promise<void>;
11
+ /**
12
+ * Mark the postcall form as possible to submit by the user.
13
+ *
14
+ * @example
15
+ * useUi().enable_postcall_submit()
16
+ */
4
17
  export declare function enable_postcall_submit(): Promise<void>;
18
+ /**
19
+ * Mark the postcall form as **not** possible to submit by the user. Useful while processing the form data.
20
+ *
21
+ * @example
22
+ * useUi().disable_postcall_submit()
23
+ */
5
24
  export declare function disable_postcall_submit(): Promise<void>;
25
+ /**
26
+ * Change the height of the postcall form.
27
+ *
28
+ * @example
29
+ * useUi().set_postcall_style({ height: 100 })
30
+ */
6
31
  export declare function set_postcall_style(payload: UiSetPostcallStyleRequest): Promise<void>;