@pitcher/js-api 1.25.0-beta.2 → 1.25.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 (163) hide show
  1. package/impact-js-api.spec.json +7 -1
  2. package/js-api.esm.js +25 -4
  3. package/js-api.esm.js.map +1 -1
  4. package/js-api.umd.min.js +10 -10
  5. package/js-api.umd.min.js.map +1 -1
  6. package/lib/apps/browser/App.vue.d.ts +10 -9
  7. package/lib/apps/browser/components/Content/ActionsToolbar/ActionsToolbar.vue.d.ts +195 -132
  8. package/lib/apps/browser/components/Content/AllContent/Table/FoldersFilesTable.vue.d.ts +96 -0
  9. package/lib/apps/browser/components/Content/Panel/DetailsDrawer/DetailsDrawer.vue.d.ts +17 -0
  10. package/lib/apps/browser/components/FileSmartFolders.vue.d.ts +209 -0
  11. package/lib/apps/browser/stores/api.d.ts +6 -0
  12. package/lib/apps/browser/stores/app.d.ts +7 -2
  13. package/lib/apps/browser/stores/upload.d.ts +4 -4
  14. package/lib/apps/browser/stores/upload.types.d.ts +0 -1
  15. package/lib/apps/canvas-builder/App.vue.d.ts +356 -11
  16. package/lib/apps/canvas-builder/components/container/CanvasDrawerTheme/CanvasDrawerTheme.vue.d.ts +5 -1
  17. package/lib/apps/canvas-builder/components/container/ControlBar/AppGrid.vue.d.ts +10 -0
  18. package/lib/apps/canvas-builder/components/container/ControlBar/ControlBar.vue.d.ts +3 -1
  19. package/lib/apps/canvas-builder/components/container/ControlBar/ReorderContent.vue.d.ts +1 -1
  20. package/lib/apps/canvas-builder/components/container/Navigator/Navigator.vue.d.ts +1230 -0
  21. package/lib/apps/canvas-builder/components/container/SectionInfoProvider/SectionInfoProvider.vue.d.ts +22 -0
  22. package/lib/apps/canvas-builder/components/ui/CollectionPlayer/CollectionPlayer.vue.d.ts +3 -0
  23. package/lib/apps/canvas-builder/components/ui/ContentGrid/ContentGridFileItem.vue.d.ts +2 -0
  24. package/lib/apps/canvas-builder/components/ui/ContentGrid/ContentGridList.vue.d.ts +12 -0
  25. package/lib/apps/canvas-builder/components/ui/ContentGrid/ContentGridListItem.vue.d.ts +12 -0
  26. package/lib/apps/canvas-builder/components/ui/DynamicDataTable/DynamicDataTable.raw.grouped.vue.d.ts +7 -2
  27. package/lib/apps/canvas-builder/components/ui/DynamicDataTable/DynamicDataTable.raw.header.vue.d.ts +9 -1
  28. package/lib/apps/canvas-builder/components/ui/DynamicDataTable/DynamicDataTable.raw.simple.vue.d.ts +6 -2
  29. package/lib/apps/canvas-builder/components/ui/DynamicDataTable/DynamicDataTable.raw.vue.d.ts +4 -0
  30. package/lib/apps/canvas-builder/components/ui/DynamicDataTable/DynamicDataTable.vue.d.ts +2 -1
  31. package/lib/apps/canvas-builder/components/ui/Grid/Grid.vue.d.ts +1 -0
  32. package/lib/apps/canvas-builder/components/ui/Multimedia/Multimedia.edit.vue.d.ts +6 -1
  33. package/lib/apps/canvas-builder/components/ui/Scribble/Scribble.original.vue.d.ts +31 -0
  34. package/lib/apps/canvas-builder/components/ui/Scribble/Scribble.responsive.vue.d.ts +31 -0
  35. package/lib/apps/canvas-builder/components/ui/Scribble/Scribble.vue.d.ts +1 -6
  36. package/lib/apps/canvas-builder/components/ui/SectionList/SectionList.raw.vue.d.ts +1 -0
  37. package/lib/apps/canvas-builder/components/ui/SectionList/SectionList.vue.d.ts +2 -0
  38. package/lib/apps/canvas-builder/components/ui/SectionList/SectionListCollapsibles.vue.d.ts +12 -6
  39. package/lib/apps/canvas-builder/components/ui/Text/Text.vue.d.ts +111 -0
  40. package/lib/apps/canvas-builder/composables/useCanvas.d.ts +206 -31
  41. package/lib/apps/canvas-builder/composables/useCanvasBlocks.d.ts +46 -6
  42. package/lib/apps/canvas-builder/composables/useCanvasHistory.d.ts +44 -6
  43. package/lib/apps/canvas-builder/composables/useCanvasHooks.d.ts +2 -0
  44. package/lib/apps/canvas-builder/composables/useCanvasNodes.d.ts +16 -0
  45. package/lib/apps/canvas-builder/composables/useCanvasPages.d.ts +2 -1
  46. package/lib/apps/canvas-builder/composables/useCanvasTheme.d.ts +120 -3
  47. package/lib/apps/canvas-builder/composables/useCanvasThemeAssets.d.ts +31 -0
  48. package/lib/apps/canvas-builder/composables/useContentSelector.d.ts +4 -1
  49. package/lib/apps/canvas-builder/composables/useCrmShape.d.ts +1 -0
  50. package/lib/apps/canvas-builder/composables/useDataTablePrint.d.ts +5 -0
  51. package/lib/apps/canvas-builder/composables/useInstalledEmbeddables.d.ts +1 -1
  52. package/lib/apps/canvas-builder/composables/useReorderComponent.d.ts +4 -0
  53. package/lib/apps/canvas-builder/composables/useSectionNavigation.d.ts +3 -2
  54. package/lib/apps/canvas-builder/constants/canvas.const.d.ts +1 -0
  55. package/lib/apps/canvas-builder/types/canvas.d.ts +45 -11
  56. package/lib/apps/canvas-builder/util/canvas.util.d.ts +4 -1
  57. package/lib/apps/canvas-builder/util/print.util.d.ts +1 -1
  58. package/lib/apps/canvas-builder/util/tiptap-table.util.d.ts +20 -0
  59. package/lib/apps/collection-player/App.vue.d.ts +1 -0
  60. package/lib/apps/collection-player/components/AppFooter.vue.d.ts +56 -1
  61. package/lib/apps/collection-player/components/ImageWithAnnotations.vue.d.ts +15 -0
  62. package/lib/apps/collection-player/components/MainImage.vue.d.ts +3 -1
  63. package/lib/apps/collection-player/composables/annotation-layer.use.d.ts +13 -0
  64. package/lib/apps/collection-player/composables/laser-pointer-marker.use.d.ts +166 -0
  65. package/lib/apps/collection-player/composables/markerjs.use.d.ts +8 -0
  66. package/lib/apps/collection-player/composables/new-zoom.use.d.ts +12 -0
  67. package/lib/apps/collection-player/stores/app.store.d.ts +4 -1
  68. package/lib/apps/collection-selector/App.vue.d.ts +33 -0
  69. package/lib/apps/content-selector/appTypes.d.ts +1 -0
  70. package/lib/apps/content-selector/components/Content/AllContent/List/FoldersFilesList.vue.d.ts +195 -132
  71. package/lib/apps/content-selector/components/MultimediaSelectorApp.vue.d.ts +12 -0
  72. package/lib/apps/content-selector/components/ThemeImages.vue.d.ts +2 -0
  73. package/lib/apps/content-selector/components/ui/GridItem.vue.d.ts +4 -0
  74. package/lib/apps/content-selector/composables/useMultimediaSelectorApps.d.ts +21 -0
  75. package/lib/apps/content-selector/composables/useStore.d.ts +4 -0
  76. package/lib/apps/content-selector/stores/api.d.ts +19 -228
  77. package/lib/apps/content-selector/stores/app.d.ts +45 -66
  78. package/lib/apps/ppt-conversion-selector/components/AppHeader.vue.d.ts +2 -0
  79. package/lib/canvas-comments/components/CommentButton.vue.d.ts +6 -0
  80. package/lib/canvas-comments/components/CommentableComponent.vue.d.ts +21 -0
  81. package/lib/canvas-comments/components/SimpleComments.vue.d.ts +14 -0
  82. package/lib/components/CApexChart/CApexChartLine.vue.d.ts +1 -1
  83. package/lib/components/CButton/CButton.vue.d.ts +3 -3
  84. package/lib/components/CCreateThemeModal/steps/CThemeAssetsStep.vue.d.ts +19 -0
  85. package/lib/components/CFileThumbnail/CFileThumbnail.vue.d.ts +1 -1
  86. package/lib/components/CFileViewer/CFileViewer.types.d.ts +8 -0
  87. package/lib/components/CFileViewer/CFileViewer.vue.d.ts +18 -0
  88. package/lib/components/CFileViewer/CFileViewerTop.vue.d.ts +3 -0
  89. package/lib/components/CFileViewer/pdf/CFileViewer.pdf.use.d.ts +1 -0
  90. package/lib/components/CFileViewer/pdf/CFileViewerBottom.pdf.vue.d.ts +5 -0
  91. package/lib/components/CFileViewer/pdf/CFileViewerCopyPagesMetadata.pdf.vue.d.ts +69 -0
  92. package/lib/components/CInfoBadge/CInfoBadge.vue.d.ts +2 -0
  93. package/lib/components/CInput/CInput.vue.d.ts +3 -3
  94. package/lib/components/CList/CList.vue.d.ts +1 -1
  95. package/lib/components/CRichTextEditor/CRichTextEditor.vue.d.ts +4 -4
  96. package/lib/components/CSearchFilters/CSearchFilters.vue.d.ts +90 -1
  97. package/lib/components/CTable/CTable.vue.d.ts +3 -1
  98. package/lib/components/CTableTag/CTableTag.vue.d.ts +4687 -0
  99. package/lib/components/CTags/CTags.vue.d.ts +3 -3
  100. package/lib/components/CThemePreview/CThemePreview.vue.d.ts +1 -1
  101. package/lib/components/CThumbnail/CThumbnail.vue.d.ts +43 -0
  102. package/lib/components/CUserMenu/CUserMenu.vue.d.ts +7 -9
  103. package/lib/components/canvas-blocks/CBlockManagement.vue.d.ts +6 -2
  104. package/lib/components/canvas-templates/CTemplateManagement.vue.d.ts +582 -266
  105. package/lib/components/canvas-templates/CTemplateManagementToolbar.vue.d.ts +195 -132
  106. package/lib/components/filters/CSearchFilter.vue.d.ts +2 -0
  107. package/lib/components/savedCanvases/CCanvasAccountModal.vue.d.ts +23 -0
  108. package/lib/components/savedCanvases/CSavedCanvasesManagement.vue.d.ts +20 -5
  109. package/lib/components/savedCanvases/CSavedCanvasesManagementActionsCell.vue.d.ts +21 -2
  110. package/lib/components/savedCanvases/smartFolders/SmartFolders.use.d.ts +4 -0
  111. package/lib/components/savedCanvases/smartFolders/SmartFolders.vue.d.ts +3 -1
  112. package/lib/components/sections/CSectionManagement.vue.d.ts +6 -2
  113. package/lib/components/themes/CThemeManagement.vue.d.ts +6 -2
  114. package/lib/composables/useCanvasLocks.d.ts +3 -4
  115. package/lib/composables/useCommentTracking.d.ts +25 -0
  116. package/lib/composables/useCommentsStorage.d.ts +70 -0
  117. package/lib/composables/useFileDisplayHelpers.d.ts +2 -0
  118. package/lib/composables/useInstalledApps.d.ts +1 -0
  119. package/lib/composables/useMetadataFilters.d.ts +2 -2
  120. package/lib/composables/useMetadataSearch.d.ts +2 -1
  121. package/lib/composables/useSharedCommentsStorage.d.ts +32 -0
  122. package/lib/constants/cdp.const.d.ts +6 -0
  123. package/lib/constants/roles.const.d.ts +16 -0
  124. package/lib/directives/element-mounted.d.ts +4 -0
  125. package/lib/main.lib.d.ts +6 -0
  126. package/lib/sdk/api/HighLevelApi.d.ts +2 -0
  127. package/lib/sdk/api/modules/admin/index.d.ts +1 -0
  128. package/lib/sdk/api/modules/admin/types.admin.d.ts +1 -0
  129. package/lib/sdk/api/modules/admin/users.admin.d.ts +14 -0
  130. package/lib/sdk/api/modules/env.d.ts +1 -0
  131. package/lib/sdk/api/modules/query.d.ts +2 -1
  132. package/lib/sdk/api/modules/ui/types.ui.d.ts +4 -0
  133. package/lib/sdk/interfaces.d.ts +1 -0
  134. package/lib/sdk/main.d.ts +8 -0
  135. package/lib/sdk/payload.types.d.ts +14 -0
  136. package/lib/types/app.d.ts +12 -1
  137. package/lib/types/call.d.ts +1 -2
  138. package/lib/types/canvasTheme.d.ts +12 -0
  139. package/lib/types/core/MetadataFilter.d.ts +1 -0
  140. package/lib/types/i18n.types.d.ts +1 -1
  141. package/lib/types/instanceSettings.types.d.ts +2 -0
  142. package/lib/types/launchDarkly.types.d.ts +1 -1
  143. package/lib/types/organizationSettings.types.d.ts +19 -0
  144. package/lib/util/image.d.ts +4 -0
  145. package/lib/util/style.util.d.ts +1 -0
  146. package/lib/util/userAgents.d.ts +1 -0
  147. package/package.json +1 -1
  148. package/types/openapi/models/App.d.ts +1 -0
  149. package/types/openapi/models/CanvasCreate.d.ts +1 -0
  150. package/types/openapi/models/CanvasRecommendedFile.d.ts +2 -0
  151. package/types/openapi/models/CanvasRetrieve.d.ts +1 -0
  152. package/types/openapi/models/CanvasUpdate.d.ts +1 -0
  153. package/types/openapi/models/CanvasUpdateRequest.d.ts +1 -0
  154. package/types/openapi/models/DeletedFile.d.ts +2 -0
  155. package/types/openapi/models/File.d.ts +2 -0
  156. package/types/openapi/models/FileCreate.d.ts +2 -0
  157. package/types/openapi/models/FileCreateRequest.d.ts +1 -0
  158. package/types/openapi/models/FileRetrieve.d.ts +2 -0
  159. package/types/openapi/models/FileUpdate.d.ts +2 -0
  160. package/types/openapi/models/FileUpdateRequest.d.ts +1 -0
  161. package/types/openapi/models/InstanceMembershipUser.d.ts +2 -0
  162. package/types/openapi/models/PatchedCanvasUpdateRequest.d.ts +1 -0
  163. package/types/openapi/models/PatchedFileUpdateRequest.d.ts +1 -0
@@ -0,0 +1,25 @@
1
+ interface CommentTrackingPayload {
2
+ canvasId?: string;
3
+ componentId?: string;
4
+ threadId: string;
5
+ commentId?: string;
6
+ action: string;
7
+ content?: string;
8
+ authorId?: string | number;
9
+ authorName?: string;
10
+ authorEmail?: string;
11
+ assigneeId?: string | number;
12
+ assigneeName?: string;
13
+ assigneeEmail?: string;
14
+ resolved?: boolean;
15
+ deleted?: boolean;
16
+ timestamp?: string;
17
+ }
18
+ export declare function useCommentTracking(): {
19
+ trackCommentAdded: (payload: Omit<CommentTrackingPayload, "action">) => Promise<void>;
20
+ trackCommentReplied: (payload: Omit<CommentTrackingPayload, "action">) => Promise<void>;
21
+ trackCommentAssigned: (payload: Omit<CommentTrackingPayload, "action">) => Promise<void>;
22
+ trackCommentResolved: (payload: Omit<CommentTrackingPayload, "action">) => Promise<void>;
23
+ trackCommentDeleted: (payload: Omit<CommentTrackingPayload, "action">) => Promise<void>;
24
+ };
25
+ export {};
@@ -0,0 +1,70 @@
1
+ import { Ref } from 'vue';
2
+ interface Comment {
3
+ id: string;
4
+ content: string;
5
+ author?: string;
6
+ authorId?: string | number;
7
+ authorEmail?: string;
8
+ createdAt: string;
9
+ }
10
+ interface Thread {
11
+ id: string;
12
+ content: string;
13
+ author: string;
14
+ authorId?: string | number;
15
+ authorEmail?: string;
16
+ createdAt: string;
17
+ resolved: boolean;
18
+ canvasId?: string;
19
+ componentId?: string;
20
+ assignee?: any;
21
+ comments: Comment[];
22
+ }
23
+ export declare function useCommentsStorage(canvasId: Ref<string | undefined>): {
24
+ threads: Ref<{
25
+ id: string;
26
+ content: string;
27
+ author: string;
28
+ authorId?: string | number | undefined;
29
+ authorEmail?: string | undefined;
30
+ createdAt: string;
31
+ resolved: boolean;
32
+ canvasId?: string | undefined;
33
+ componentId?: string | undefined;
34
+ assignee?: any;
35
+ comments: {
36
+ id: string;
37
+ content: string;
38
+ author?: string | undefined;
39
+ authorId?: string | number | undefined;
40
+ authorEmail?: string | undefined;
41
+ createdAt: string;
42
+ }[];
43
+ }[], Thread[] | {
44
+ id: string;
45
+ content: string;
46
+ author: string;
47
+ authorId?: string | number | undefined;
48
+ authorEmail?: string | undefined;
49
+ createdAt: string;
50
+ resolved: boolean;
51
+ canvasId?: string | undefined;
52
+ componentId?: string | undefined;
53
+ assignee?: any;
54
+ comments: {
55
+ id: string;
56
+ content: string;
57
+ author?: string | undefined;
58
+ authorId?: string | number | undefined;
59
+ authorEmail?: string | undefined;
60
+ createdAt: string;
61
+ }[];
62
+ }[]>;
63
+ isLoading: Ref<boolean, boolean>;
64
+ isSaving: Ref<boolean, boolean>;
65
+ lastSaved: Ref<Date | null, Date | null>;
66
+ saveComments: () => Promise<void>;
67
+ loadComments: () => Promise<void>;
68
+ deleteComments: () => Promise<void>;
69
+ };
70
+ export {};
@@ -10,4 +10,6 @@ export default function useFileDisplayHelpers(): {
10
10
  renderContentType: (contentType: FileContentTypeEnum) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
11
11
  [key: string]: any;
12
12
  }>;
13
+ isFileExpired: (expiresAt: string) => boolean | "";
14
+ isFileExpiring: (expiresAt: string) => string | null;
13
15
  };
@@ -1,2 +1,3 @@
1
1
  import { AppFile } from '../types/app';
2
2
  export declare const loadCanvasAndDsrApps: () => Promise<AppFile[]>;
3
+ export declare const loadCrmShapeFromApps: () => Promise<Record<string, any>>;
@@ -1,11 +1,11 @@
1
1
  import { MetadataTemplateField, MetadataTemplateOption } from '../../types/openapi';
2
2
  export declare function getComponentNameByFilterType(type: string): "CSearchFilter" | "CSelectFilter" | "CDateRangeFilter";
3
3
  export default function useMetadataFilters(t: (input: string) => string): {
4
- getBooleanOptions: () => {
4
+ getBooleanOptions: (availableValues?: Array<string | boolean | number>) => {
5
5
  label: string;
6
6
  value: string;
7
7
  }[];
8
8
  getComponentNameByFilterType: typeof getComponentNameByFilterType;
9
9
  getDefaultDateOptions: () => MetadataTemplateOption[];
10
- getFilterOptions: (type: MetadataTemplateField["type"], options: MetadataTemplateField["options"]) => MetadataTemplateOption[];
10
+ getFilterOptions: (type: MetadataTemplateField["type"], options: MetadataTemplateField["options"], availableValues?: Array<string | boolean | number>) => MetadataTemplateOption[];
11
11
  };
@@ -4,7 +4,7 @@ interface UseMetadataSearchOptions {
4
4
  includeSearchTermAsOption?: boolean;
5
5
  }
6
6
  export default function useMetadataSearch(options?: UseMetadataSearchOptions): {
7
- handleFetch: (searchTerm: string, entity: MetadataFilterRequest["entity"], { includeNameSearch, includeDraftValues, isSection, isTemplate, isBlock, key, ownerId, searchMode, threshold, }?: {
7
+ handleFetch: (searchTerm: string, entity: MetadataFilterRequest["entity"], { includeNameSearch, includeDraftValues, isSection, isTemplate, isBlock, key, ownerId, searchMode, threshold, fetchAllUnique, }?: {
8
8
  includeNameSearch?: boolean;
9
9
  includeDraftValues?: boolean;
10
10
  isSection?: boolean;
@@ -14,6 +14,7 @@ export default function useMetadataSearch(options?: UseMetadataSearchOptions): {
14
14
  ownerId?: number | null;
15
15
  searchMode?: MetadataSearchParams["searchMode"];
16
16
  threshold?: number;
17
+ fetchAllUnique?: boolean;
17
18
  }) => Promise<StyledAutoCompleteOption[]>;
18
19
  };
19
20
  export {};
@@ -0,0 +1,32 @@
1
+ import { Ref } from 'vue';
2
+ interface Comment {
3
+ id: string;
4
+ content: string;
5
+ author?: string;
6
+ authorId?: string | number;
7
+ authorEmail?: string;
8
+ createdAt: string;
9
+ }
10
+ interface Thread {
11
+ id: string;
12
+ content: string;
13
+ author: string;
14
+ authorId?: string | number;
15
+ authorEmail?: string;
16
+ createdAt: string;
17
+ resolved: boolean;
18
+ canvasId?: string;
19
+ componentId?: string;
20
+ assignee?: any;
21
+ comments: Comment[];
22
+ }
23
+ export declare function useSharedCommentsStorage(canvasId: Ref<string | undefined>): {
24
+ threads: import('vue').ComputedRef<Thread[]>;
25
+ isLoading: import('vue').ComputedRef<boolean>;
26
+ isSaving: import('vue').ComputedRef<boolean>;
27
+ lastSaved: import('vue').ComputedRef<Date | null>;
28
+ saveComments: () => Promise<void>;
29
+ loadComments: (silent?: boolean) => Promise<void>;
30
+ deleteComments: () => Promise<void>;
31
+ };
32
+ export {};
@@ -23,11 +23,17 @@ export declare const CDP_EVENT_TYPE: {
23
23
  readonly userFileReviewed: "User File Reviewed";
24
24
  readonly hotspotClicked: "Hotspot Clicked";
25
25
  readonly collectionPlayerContentChanged: "Collection Player Content Changed";
26
+ readonly commentAdded: "Comment Added";
27
+ readonly commentReplied: "Comment Replied";
28
+ readonly commentAssigned: "Comment Assigned";
29
+ readonly commentResolved: "Comment Resolved";
30
+ readonly commentDeleted: "Comment Deleted";
26
31
  };
27
32
  export declare const CLIENT_TYPE: {
28
33
  readonly admin: "admin";
29
34
  readonly impact: "impact";
30
35
  readonly dsr: "dsr";
36
+ readonly impactCanvasHome: "impact-canvas-home";
31
37
  };
32
38
  export declare const DSR_TYPE: {
33
39
  readonly file: "file";
@@ -0,0 +1,16 @@
1
+ export declare const NON_MEMBER_ROLES: readonly ["Org Admin", "Admin", "Editor", "Dev"];
2
+ export declare const isNonMemberRole: (role: string | null | undefined) => boolean;
3
+ export interface RolePermissions {
4
+ isOrgAdmin: boolean;
5
+ isCurrentInstanceAdmin: boolean;
6
+ isCurrentInstanceEditor: boolean;
7
+ isOrgDeveloper: boolean;
8
+ }
9
+ /**
10
+ * Determine user role based on permissions
11
+ */
12
+ export declare const determineUserRole: (permissions: RolePermissions) => string;
13
+ /**
14
+ * Get the icon class for a given role
15
+ */
16
+ export declare const getRoleIcon: (role: string | null | undefined) => string;
@@ -0,0 +1,4 @@
1
+ declare const _default: {
2
+ mounted(el: HTMLElement, binding: any): void;
3
+ };
4
+ export default _default;
package/lib/main.lib.d.ts CHANGED
@@ -100,6 +100,7 @@ export { default as CSettingsEditor } from './components/CSettingsEditor/CSettin
100
100
  export { default as CFilePanel } from './components/CFilePanel/CFilePanel.vue';
101
101
  export { default as CWarningAlert } from './components/CWarningAlert/CWarningAlert.vue';
102
102
  export { default as CUpsertFolderModal } from './components/CUpsertFolderModal/CUpsertFolderModal.vue';
103
+ export { default as CInfoBadge } from './components/CInfoBadge/CInfoBadge.vue';
103
104
  export { default as CanvasBuilderApp } from './apps/canvas-builder/App.vue';
104
105
  export { default as CollectionSelectorApp } from './apps/collection-selector/App.vue';
105
106
  export { default as CollectionPlayerApp } from './apps/collection-player/App.vue';
@@ -139,6 +140,8 @@ export { default as useMetadataTemplates } from './composables/useMetadataTempla
139
140
  export { default as useMetadataSearch } from './composables/useMetadataSearch';
140
141
  export * from './composables/appsDb.use';
141
142
  export { default as useCanvasLocks } from './composables/useCanvasLocks';
143
+ export { useCommentTracking } from './composables/useCommentTracking';
144
+ export { useSharedCommentsStorage } from './composables/useSharedCommentsStorage';
142
145
  export * from './plugins/vueQuery';
143
146
  export * from './apps/canvas-builder/util/canvas.util';
144
147
  export * from './apps/canvas-builder/util/tree';
@@ -221,6 +224,8 @@ export * from './constants/config.const';
221
224
  export * from './constants/pitcherSettings.const';
222
225
  export * from './constants/appsDb.const';
223
226
  export * from './apps/canvas-builder/constants/theme.const';
227
+ export * from './constants/roles.const';
228
+ export type { RolePermissions } from './constants/roles.const';
224
229
  export * from './api/events/events.queries';
225
230
  export * from './api/users/users.queries';
226
231
  export * from './api/canvases/canvases.queries';
@@ -231,5 +236,6 @@ export { default as clickOutsideDirective } from './directives/clickOutside';
231
236
  export { default as autofocusDirective } from './directives/autofocus';
232
237
  export { default as tooltipDirective } from './directives/tooltip';
233
238
  export { default as usageTrackDirective } from './directives/usage-track.directive';
239
+ export { default as elementMountedDirective } from './directives/element-mounted';
234
240
  export * from './constants/i18n.const';
235
241
  export * from './types/i18n.types';
@@ -111,6 +111,7 @@ export declare function createHighLevelApi(options?: ApiOptions): {
111
111
  updateMyUser(payload: {
112
112
  language?: import('../../main.lib').LanguageEnum | undefined;
113
113
  }): Promise<import('../../main.lib').User>;
114
+ isOffline(): Promise<boolean>;
114
115
  getLanguages(): Promise<modules.Language[]>;
115
116
  getEvents(payload: Partial<import('../../main.lib').EventRequest>): Promise<import('../../main.lib').PaginatedData<import('../../main.lib').Event>>;
116
117
  createEvent(payload: import('../../main.lib').EventRequest): Promise<import('../../main.lib').Event>;
@@ -210,6 +211,7 @@ export declare function createHighLevelApi(options?: ApiOptions): {
210
211
  message: string;
211
212
  }): Promise<void>;
212
213
  query(payload: import('../payload.types').QueryPayload): Promise<any>;
214
+ crmQuery(payload: import('../payload.types').CRMQueryPayload): Promise<any>;
213
215
  getFolders(payload: import('../payload.types').FolderListRequest): Promise<import('../../main.lib').PaginatedFolderList>;
214
216
  getFolder(payload?: {
215
217
  id: import('../../main.lib').FolderRetrieve["id"];
@@ -15,6 +15,7 @@ declare function on(type: (typeof ADMIN_MESSAGE_TYPES)[keyof typeof ADMIN_MESSAG
15
15
  */
16
16
  declare function toast(payload: AdminToastRequest): Promise<void>;
17
17
  declare const _default: {
18
+ getUsers(payload?: import('../../../../main.lib').GetUsersParams): Promise<import('../../../../main.lib').PaginatedData<import('../../../../main.lib').User>>;
18
19
  getAppConfig(payload: {
19
20
  app_name: string;
20
21
  }): Promise<Record<string, any>>;
@@ -29,6 +29,7 @@ export declare const ADMIN_API_METHOD_TYPES: {
29
29
  readonly CLOSE: "admin_close_file_overlay";
30
30
  readonly GET_FILES: "admin_get_files";
31
31
  readonly GET_INSTANCE_METADATA_TEMPLATES: "admin_get_instance_metadata_templates";
32
+ readonly GET_USERS: "admin_get_users";
32
33
  readonly TOAST: "admin_toast";
33
34
  readonly UPDATE_CANVAS: "admin_update_canvas";
34
35
  readonly SELECT_COLLECTION_PLAYER_CONTENT: "admin_select_collection_player_content";
@@ -0,0 +1,14 @@
1
+ import { GetUsersParams } from '../../../../types/users';
2
+ import { PaginatedData } from '../../../../types/paginatedData';
3
+ import { User } from '../../../../../types/openapi';
4
+ /**
5
+ * Fetches a list of users from the admin API.
6
+ *
7
+ * @param payload - Optional parameters for filtering users
8
+ * @returns Promise resolving to a paginated list of users
9
+ *
10
+ * @example
11
+ * const adminApi = useAdmin()
12
+ * const users = await adminApi.getUsers({ page_size: 100 })
13
+ */
14
+ export declare function getUsers(payload?: GetUsersParams): Promise<PaginatedData<User>>;
@@ -19,4 +19,5 @@ import { User } from '../../../../types/openapi';
19
19
  export declare function getEnv(): Promise<PitcherEnv>;
20
20
  type UpdateEnvParams = Pick<User, 'language'>;
21
21
  export declare function updateMyUser(payload: UpdateEnvParams): Promise<User>;
22
+ export declare function isOffline(): Promise<boolean>;
22
23
  export {};
@@ -1,2 +1,3 @@
1
- import { QueryPayload } from '../../payload.types';
1
+ import { QueryPayload, CRMQueryPayload } from '../../payload.types';
2
2
  export declare function query(payload: QueryPayload): Promise<any>;
3
+ export declare function crmQuery(payload: CRMQueryPayload): Promise<any>;
@@ -242,6 +242,10 @@ export type UiAppSetDataPayload = {
242
242
  height: string | undefined;
243
243
  /** Display mode */
244
244
  display_mode: string | undefined;
245
+ /** Section index in section list */
246
+ section_index: number | null;
247
+ /** Section list ID */
248
+ section_list_id: string | null;
245
249
  };
246
250
  export type UiAppUpdateDataPayload = {
247
251
  /** Call status */
@@ -66,6 +66,7 @@ export interface PitcherEnv {
66
66
  id: File['id'];
67
67
  };
68
68
  };
69
+ device_locale?: string;
69
70
  }
70
71
  export interface PitcherAPI extends Emitter<ApiEventMap> {
71
72
  request(type: string, body: any, callback: () => any): Promise<PitcherResponse>;
package/lib/sdk/main.d.ts CHANGED
@@ -85,6 +85,7 @@ export declare function useUi(): {
85
85
  * ```
86
86
  */
87
87
  export declare function useAdmin(): {
88
+ getUsers(payload?: import('../main.lib').GetUsersParams): Promise<import('../main.lib').PaginatedData<import('../main.lib').User>>;
88
89
  getAppConfig(payload: {
89
90
  app_name: string;
90
91
  }): Promise<Record<string, any>>;
@@ -188,6 +189,7 @@ export declare function useApi(options?: ApiOptions): {
188
189
  updateMyUser(payload: {
189
190
  language?: import('../main.lib').LanguageEnum | undefined;
190
191
  }): Promise<import('../main.lib').User>;
192
+ isOffline(): Promise<boolean>;
191
193
  getLanguages(): Promise<import('./api/modules').Language[]>;
192
194
  getEvents(payload: Partial<import('../main.lib').EventRequest>): Promise<import('../main.lib').PaginatedData<import('../main.lib').Event>>;
193
195
  createEvent(payload: import('../main.lib').EventRequest): Promise<import('../main.lib').Event>;
@@ -287,6 +289,7 @@ export declare function useApi(options?: ApiOptions): {
287
289
  message: string;
288
290
  }): Promise<void>;
289
291
  query(payload: import('./payload.types').QueryPayload): Promise<any>;
292
+ crmQuery(payload: import('./payload.types').CRMQueryPayload): Promise<any>;
290
293
  getFolders(payload: import('./payload.types').FolderListRequest): Promise<import('../main.lib').PaginatedFolderList>;
291
294
  getFolder(payload?: {
292
295
  id: import('../main.lib').FolderRetrieve["id"];
@@ -337,6 +340,7 @@ export declare function useApi(options?: ApiOptions): {
337
340
  }>;
338
341
  API: import('./api/LowLevelApi').LowLevelApi;
339
342
  } | {
343
+ getUsers(payload?: import('../main.lib').GetUsersParams): Promise<import('../main.lib').PaginatedData<import('../main.lib').User>>;
340
344
  getAppConfig(payload: {
341
345
  app_name: string;
342
346
  }): Promise<Record<string, any>>;
@@ -459,6 +463,7 @@ export declare function useApi(options?: ApiOptions): {
459
463
  updateMyUser(payload: {
460
464
  language?: import('../main.lib').LanguageEnum | undefined;
461
465
  }): Promise<import('../main.lib').User>;
466
+ isOffline(): Promise<boolean>;
462
467
  getLanguages(): Promise<import('./api/modules').Language[]>;
463
468
  getEvents(payload: Partial<import('../main.lib').EventRequest>): Promise<import('../main.lib').PaginatedData<import('../main.lib').Event>>;
464
469
  createEvent(payload: import('../main.lib').EventRequest): Promise<import('../main.lib').Event>;
@@ -558,6 +563,7 @@ export declare function useApi(options?: ApiOptions): {
558
563
  message: string;
559
564
  }): Promise<void>;
560
565
  query(payload: import('./payload.types').QueryPayload): Promise<any>;
566
+ crmQuery(payload: import('./payload.types').CRMQueryPayload): Promise<any>;
561
567
  getFolders(payload: import('./payload.types').FolderListRequest): Promise<import('../main.lib').PaginatedFolderList>;
562
568
  getFolder(payload?: {
563
569
  id: import('../main.lib').FolderRetrieve["id"];
@@ -669,6 +675,7 @@ export declare function useApi(options?: ApiOptions): {
669
675
  updateMyUser(payload: {
670
676
  language?: import('../main.lib').LanguageEnum | undefined;
671
677
  }): Promise<import('../main.lib').User>;
678
+ isOffline(): Promise<boolean>;
672
679
  getLanguages(): Promise<import('./api/modules').Language[]>;
673
680
  getEvents(payload: Partial<import('../main.lib').EventRequest>): Promise<import('../main.lib').PaginatedData<import('../main.lib').Event>>;
674
681
  createEvent(payload: import('../main.lib').EventRequest): Promise<import('../main.lib').Event>;
@@ -759,6 +766,7 @@ export declare function useApi(options?: ApiOptions): {
759
766
  };
760
767
  }): Promise<ArrayBuffer>;
761
768
  query(payload: import('./payload.types').QueryPayload): Promise<any>;
769
+ crmQuery(payload: import('./payload.types').CRMQueryPayload): Promise<any>;
762
770
  getFolders(payload: import('./payload.types').FolderListRequest): Promise<import('../main.lib').PaginatedFolderList>;
763
771
  getFolder(payload?: {
764
772
  id: import('../main.lib').FolderRetrieve["id"];
@@ -84,6 +84,20 @@ export interface QueryPayload {
84
84
  */
85
85
  args?: string[][];
86
86
  }
87
+ export type CRMServiceType = 'salesforce' | 'dynamics' | 'sap';
88
+ /**
89
+ * Payload for executing a query against CRM.
90
+ */
91
+ export interface CRMQueryPayload {
92
+ /**
93
+ * The query string to execute.
94
+ */
95
+ query: string;
96
+ /**
97
+ * Optional name of the service to be queried.
98
+ */
99
+ service?: CRMServiceType;
100
+ }
87
101
  /**
88
102
  * Payload for submitting user feedback.
89
103
  */
@@ -48,17 +48,27 @@ export type Module = {
48
48
  };
49
49
  shortcuts: EmbeddedAppShortcutsDict;
50
50
  } & EmbeddedLocationProperties;
51
+ type AppJsonOptions = {
52
+ dimensions?: {
53
+ width?: number | string;
54
+ height?: number | string;
55
+ };
56
+ placement?: 'top-left' | 'top-center' | 'top-right' | 'left' | 'center' | 'right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
57
+ };
51
58
  export type AppJson = {
52
59
  name: string;
53
60
  display_name: string;
54
61
  icon?: string;
55
62
  type?: 'web';
56
- provide?: ('ui' | 'account_browser' | 'scheduler' | 'postcall' | 'crm_shape')[];
63
+ provide?: ('ui' | 'account_browser' | 'scheduler' | 'postcall' | 'crm_shape' | 'multimedia_selector')[];
57
64
  require?: 'crm'[];
58
65
  version: string;
59
66
  description?: string;
60
67
  authors?: string[];
61
68
  module: Record<EmbedLocation, Module>;
69
+ app_type?: 'canvas-popup' | 'section-selector';
70
+ app_options?: AppJsonOptions;
71
+ order_override?: number;
62
72
  };
63
73
  export type AppFile = File & {
64
74
  app_metadata?: AppJson;
@@ -71,3 +81,4 @@ export type PitcherInfo = {
71
81
  platform?: 'impact' | 'admin';
72
82
  isOrgAdmin?: boolean;
73
83
  } | undefined;
84
+ export {};
@@ -9,7 +9,6 @@ export interface EventDate {
9
9
  export declare enum CallState {
10
10
  NO_CALL = "NO_CALL",
11
11
  IN_CALL = "IN_CALL",
12
- PAUSED = "PAUSED",
13
12
  STOPPED = "STOPPED"
14
13
  }
15
14
  export declare enum PostAction {
@@ -18,9 +17,9 @@ export declare enum PostAction {
18
17
  }
19
18
  export type CallPresentationHistory = {
20
19
  type: 'canvas' | 'section' | 'file' | 'page' | 'canvas_page';
21
- notesContent?: string;
22
20
  duration?: number;
23
21
  timeStarted?: string;
22
+ accumulatedDuration?: number;
24
23
  name?: string;
25
24
  page?: number;
26
25
  component_ids?: string[];
@@ -14,10 +14,16 @@ export declare enum CanvasThemeStatus {
14
14
  READY = "ready",
15
15
  DRAFT = "draft"
16
16
  }
17
+ export interface CanvasThemeAsset {
18
+ id: string;
19
+ name: string;
20
+ url: string;
21
+ }
17
22
  export interface CanvasThemeSettings {
18
23
  component_spacing: number;
19
24
  background_color: string;
20
25
  palette: string[];
26
+ assets?: CanvasThemeAsset[];
21
27
  }
22
28
  export interface CanvasThemeRetrieve {
23
29
  id: string;
@@ -30,6 +36,8 @@ export interface CanvasThemeRetrieve {
30
36
  owned_by: User;
31
37
  created_by: User;
32
38
  modified_by?: User;
39
+ logo?: CanvasThemeAsset;
40
+ assets?: CanvasThemeAsset[];
33
41
  settings: CanvasThemeSettings;
34
42
  typography: Record<string, CanvasTypographyPreset>;
35
43
  used_in_canvases_count?: number;
@@ -45,4 +53,8 @@ export interface CanvasThemeFormData {
45
53
  palette: string[];
46
54
  };
47
55
  typography: Record<string, CanvasTypographyPreset>;
56
+ assets: {
57
+ logo?: CanvasThemeAsset;
58
+ images: CanvasThemeAsset[];
59
+ };
48
60
  }
@@ -20,6 +20,7 @@ export type MetadataSearchParams = MetadataFilterRequest & {
20
20
  threshold?: number;
21
21
  cursor?: string;
22
22
  page_size?: number;
23
+ fetch_all_unique?: boolean;
23
24
  };
24
25
  interface MetadataResultItem {
25
26
  id: string;
@@ -1 +1 @@
1
- export type SupportedLocale = 'en' | 'de' | 'pl' | 'tr' | 'el';
1
+ export type SupportedLocale = 'en' | 'de' | 'pl' | 'tr' | 'el' | 'fr' | 'es';
@@ -32,9 +32,11 @@ export type InstanceSettings = OrganizationSettings & {
32
32
  autoselect_selected_canvas_account?: boolean;
33
33
  require_account_on_canvas_creation?: boolean;
34
34
  pptx_slide_image_width?: number;
35
+ enable_download_in_presentation_mode?: boolean;
35
36
  completion_wizard?: {
36
37
  enabled?: boolean;
37
38
  };
39
+ correlation_id_cleanup_delay?: number;
38
40
  };
39
41
  enable_recents?: boolean;
40
42
  enable_favorites?: boolean;
@@ -1,4 +1,4 @@
1
- export type LaunchDarklyBooleanFlagKey = 'allow_ai_prompts_in_canvas_text' | 'allow_bulk_actions_canvases_files' | 'allow_canvas_duplication' | 'allow_canvas_history' | 'allow_canvas_ownership_change' | 'allow_canvases_tables_columns_settings' | 'allow_content_grid_autofill' | 'allow_creating_canvas_with_no_template' | 'allow_embeddable_hiding' | 'allow_multimedia_for_scribble_component' | 'allow_note_taking' | 'allow_rep_canvas_metadata_edit' | 'allow_rep_file_rating' | 'allow_rep_file_upload' | 'allow_saving_annotations_in_personal_layer' | 'allow_user_to_edit_font_size_and_color_in_canvas_tokens' | 'are_sections_system_controlled' | 'copy_context_to_canvas' | 'copy_template_metadata_to_canvas' | 'disable_canvas_edit_for_reps' | 'disable_file_edit_content' | 'disable_fullscreen_canvas_builder' | 'disable_impact_web_browser_fullscreen' | 'display_section_list_name' | 'enable_ai_generated_thumbnails' | 'enable_analytics' | 'enable_app_developer_role' | 'enable_background_image_theme_options' | 'enable_bulk_update_file_attributes' | 'enable_canvas_blocks' | 'enable_canvas_node_debugging' | 'enable_canvas_tokens' | 'enable_content_type_change_in_content_selector' | 'enable_create_section_from_section_template' | 'enable_default_crm_shape' | 'enable_dynamic_data_table_component' | 'enable_embedded_video_autoplay' | 'enable_embedded_video' | 'enable_enhanced_indicators' | 'enable_experimental_canvas_builder_dnd' | 'enable_file_pages_metadata' | 'enable_file_revisions' | 'enable_folder_details_edit' | 'enable_handlebar_template_support' | 'enable_height_in_component_theming' | 'enable_insearch_in_section_selector' | 'enable_instance_editor_role' | 'enable_knock_notifications' | 'enable_maintain_section_theme_control' | 'enable_metadata_in_file_uploads_with_default_values' | 'enable_multimedia_component_ai_images' | 'enable_pia_assistant' | 'enable_pipe_character_multi_search' | 'enable_resizable_multimedia_component' | 'enable_saved_canvases_filters' | 'enable_scribble_component' | 'enable_search_and_filters_in_multimedia_component' | 'enable_section_context_in_dsr' | 'enable_section_selector_drag_n_drop' | 'enable_smart_folders' | 'enable_smart_folders_in_files' | 'enable_suggested_tags' | 'enable_template_folders' | 'enable_theme_options_border_radius' | 'enable_themes' | 'hide_asset_uploader' | 'include_files_content_in_print' | 'interpolate_rep_canvases_on_edit_mode' | 'is_fe_sentry_enabled' | 'is_meeting_bar_account_selection_disabled' | 'is_meeting_bar_hidden' | 'is_rep_canvas_creation_disabled' | 'is_shared_link_creation_disabled' | 'is_timeline_component_allowed' | 'launch_in_full_screen_on_present_mode' | 'launch_in_present_mode_on_creation' | 'prefer_online_handlers' | 'reorder_component_in_drawer' | 'show_asset_manager_for_multimedia' | 'show_clear_all_annotations_button' | 'show_content_selector_list_view' | 'show_metadata_filters_in_all_canvas_things' | 'show_popularity_icons' | 'show_system_filters' | 'use_core_endpoint_for_analytics' | 'use_short_url_for_shared_link' | 'use_zoho_instead_of_ms_wopi';
1
+ export type LaunchDarklyBooleanFlagKey = 'allow_ai_prompts_in_canvas_text' | 'allow_bulk_actions_canvases_files' | 'allow_canvas_duplication' | 'allow_canvas_history' | 'allow_canvas_ownership_change' | 'allow_canvases_tables_columns_settings' | 'allow_content_grid_autofill' | 'allow_creating_canvas_with_no_template' | 'allow_dynamic_data_table_for_scribble_component' | 'allow_embeddable_hiding' | 'allow_multimedia_for_scribble_component' | 'allow_note_taking' | 'allow_rep_canvas_metadata_edit' | 'allow_rep_file_rating' | 'allow_rep_file_upload' | 'allow_saving_annotations_in_personal_layer' | 'allow_user_to_edit_font_size_and_color_in_canvas_tokens' | 'are_sections_system_controlled' | 'enable_canvas_core_distributions' | 'enable_file_core_distributions' | 'copy_context_to_canvas' | 'copy_template_metadata_to_canvas' | 'disable_canvas_edit_for_reps' | 'disable_custom_tooltips' | 'disable_file_edit_content' | 'disable_fullscreen_canvas_builder' | 'disable_impact_web_browser_fullscreen' | 'display_section_list_name' | 'enable_ai_generated_thumbnails' | 'enable_analytics' | 'enable_app_developer_role' | 'enable_background_image_theme_options' | 'enable_bulk_update_file_attributes' | 'enable_canvas_as_home' | 'enable_canvas_blocks' | 'enable_canvas_node_debugging' | 'enable_canvas_template_edit_in_impact' | 'enable_canvas_tokens' | 'enable_client_only_canvas_context' | 'enable_collaborations' | 'enable_content_type_change_in_content_selector' | 'enable_create_section_from_section_template' | 'enable_custom_display_overrides' | 'enable_default_crm_shape' | 'enable_dynamic_data_table_component' | 'enable_embedded_video_autoplay' | 'enable_embedded_video' | 'enable_enhanced_indicators' | 'enable_experimental_canvas_builder_dnd' | 'enable_file_pages_metadata' | 'enable_file_revisions' | 'enable_folder_details_edit' | 'enable_handlebar_template_support' | 'enable_height_in_component_theming' | 'enable_hotspot_visibility' | 'enable_insearch_in_section_selector' | 'enable_instance_editor_role' | 'enable_knock_notifications' | 'enable_maintain_section_theme_control' | 'enable_metadata_in_file_uploads_with_default_values' | 'enable_multimedia_component_ai_images' | 'enable_sorting_in_tiptap_table' | 'enable_theme_assets' | 'enable_toc_enhancements_to_support_same_section_in_section_list' | 'enable_pia_assistant' | 'enable_pipe_character_multi_search' | 'enable_popup_apps' | 'enable_pptx_download' | 'enable_print_mode_experiments' | 'enable_reorder_search' | 'enable_reorder_scribble_isolation' | 'enable_resizable_multimedia_component' | 'enable_responsive_scribble_component' | 'enable_saved_canvases_filters' | 'enable_scribble_component' | 'enable_search_and_filters_in_multimedia_component' | 'enable_section_context_in_dsr' | 'enable_section_selector_drag_n_drop' | 'enable_smart_folders' | 'enable_smart_folders_in_files' | 'enable_suggested_tags' | 'enable_template_folders' | 'enable_theme_options_border_radius' | 'enable_themes' | 'hide_asset_uploader' | 'include_files_content_in_print' | 'interpolate_rep_canvases_on_edit_mode' | 'is_fe_sentry_enabled' | 'is_meeting_bar_account_selection_disabled' | 'is_meeting_bar_hidden' | 'is_rep_canvas_creation_disabled' | 'is_shared_link_creation_disabled' | 'is_timeline_component_allowed' | 'launch_in_full_screen_on_present_mode' | 'launch_in_present_mode_on_creation' | 'prefer_online_handlers' | 'reorder_component_in_drawer' | 'show_asset_manager_for_multimedia' | 'show_clear_all_annotations_button' | 'show_content_selector_list_view' | 'show_metadata_filters_in_all_canvas_things' | 'show_popularity_icons' | 'show_system_filters' | 'use_core_endpoint_for_analytics' | 'use_short_url_for_shared_link' | 'use_zoho_instead_of_ms_wopi';
2
2
  export type LaunchDarklyNumberFlagKey = 'canvas_section_selector_page_size' | 'canvas_section_selector_selected_items_with_thumbnail_size';
3
3
  type LaunchDarklyObjectFlags = {
4
4
  canvas_table_pagination: CanvasTablePagination;
@@ -15,6 +15,17 @@ type SmartFolderRuleAttributes = {
15
15
  canvas_templates?: SmartFolderRuleAttribute[];
16
16
  };
17
17
  export type OrganizationSettings = {
18
+ canvas?: {
19
+ locks_polling_interval?: number;
20
+ shared_link?: {
21
+ title?: string;
22
+ email_disclaimer?: string;
23
+ logo_url?: string;
24
+ logo_style?: Record<string, any>;
25
+ };
26
+ };
27
+ skip_metadata_keys_in_list_item?: string[];
28
+ enable_multi_language?: boolean;
18
29
  canvases_route_order?: number;
19
30
  content_browser_route_order?: number;
20
31
  impact_show_only_saved_canvases_in_canvas_manager?: boolean;
@@ -45,5 +56,13 @@ export type OrganizationSettings = {
45
56
  enable_search_with_suggestions?: boolean;
46
57
  enable_search_filter_with_suggestions?: boolean;
47
58
  enable_thumbnails_for_templates_and_blocks?: boolean;
59
+ default_pdf_page_dimensions?: {
60
+ width?: number;
61
+ height?: number;
62
+ };
63
+ disable_browser_search_context?: boolean;
64
+ location_prompt_type?: 'warning' | 'block';
65
+ location_prompt_message?: string;
66
+ use_collection_player_with_annotations?: boolean;
48
67
  };
49
68
  export {};
@@ -5,3 +5,7 @@ export declare const isImageAccessible: (url: string) => Promise<unknown>;
5
5
  * @returns URL to the AI-generated thumbnail
6
6
  */
7
7
  export declare const generateAIThumbnailUrl: (imgDesc: string) => string;
8
+ export declare function getImageSize(url: string): Promise<{
9
+ width: number;
10
+ height: number;
11
+ }>;
@@ -1 +1,2 @@
1
1
  export declare function hasPadding(style?: Record<string, any>): boolean;
2
+ export declare function toDimensionValue(value: number | string | undefined, defaultValue?: string): string;
@@ -7,3 +7,4 @@ export declare const isTouchScreen: boolean;
7
7
  export declare const isMac: boolean;
8
8
  export declare const isWindows: boolean;
9
9
  export declare const isSafari: boolean;
10
+ export declare const isFirefox: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pitcher/js-api",
3
- "version": "1.25.0-beta.2",
3
+ "version": "1.25.0",
4
4
  "type": "module",
5
5
  "main": "js-api.umd.min.js",
6
6
  "module": "js-api.esm.js",
@@ -12,6 +12,7 @@ export type App = {
12
12
  readonly latest_version: string | null;
13
13
  logo?: string | null;
14
14
  readonly is_published: boolean;
15
+ readonly metadata: any;
15
16
  readonly created_at: string;
16
17
  readonly created_by: MiniUser;
17
18
  readonly modified_at: string;
@@ -24,6 +24,7 @@ export type CanvasCreate = {
24
24
  expires_at?: string | null;
25
25
  access_type?: AccessTypeEnum;
26
26
  thumbnail_url?: string | null;
27
+ instance_id: string;
27
28
  readonly template: MiniCanvas;
28
29
  readonly sections: Array<CanvasSection>;
29
30
  readonly shared_link: MiniSharedLink;