@pitcher/js-api 1.26.0-beta.5 → 1.26.0-beta.7

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 (73) hide show
  1. package/impact-js-api.spec.json +3 -0
  2. package/js-api.esm.js +228 -6
  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/components/Content/ActionsToolbar/BulkShareboxWarningModal.vue.d.ts +15 -0
  7. package/lib/apps/browser/components/Content/ActionsToolbar/SelectionActions.vue.d.ts +1 -1
  8. package/lib/apps/browser/components/UploadFilesModal/UploadFilesModalProperties.vue.d.ts +5 -1
  9. package/lib/apps/browser/stores/api.d.ts +16 -1
  10. package/lib/apps/canvas-builder/App.vue.d.ts +15 -0
  11. package/lib/apps/canvas-builder/components/container/NavigationWrapper/NavigationWrapper.vue.d.ts +5 -1
  12. package/lib/apps/canvas-builder/components/ui/ContentList/ContentList.raw.vue.d.ts +30 -0
  13. package/lib/apps/canvas-builder/components/ui/ContentList/ContentList.vue.d.ts +76 -0
  14. package/lib/apps/canvas-builder/components/ui/ContentList/ContentListItems.vue.d.ts +21 -0
  15. package/lib/apps/canvas-builder/components/ui/ContentList/content.store.d.ts +11 -0
  16. package/lib/apps/canvas-builder/components/ui/CustomDataTable/CustomDataTable.edit.vue.d.ts +2 -0
  17. package/lib/apps/canvas-builder/components/ui/CustomDataTable/CustomDataTable.raw.header.vue.d.ts +19 -0
  18. package/lib/apps/canvas-builder/components/ui/CustomDataTable/CustomDataTable.raw.vue.d.ts +13 -0
  19. package/lib/apps/canvas-builder/components/ui/CustomDataTable/CustomDataTable.settings.vue.d.ts +10 -0
  20. package/lib/apps/canvas-builder/components/ui/CustomDataTable/CustomDataTable.utils.d.ts +32 -0
  21. package/lib/apps/canvas-builder/components/ui/CustomDataTable/CustomDataTable.vue.d.ts +27 -0
  22. package/lib/apps/canvas-builder/composables/useCanvas.d.ts +1100 -208
  23. package/lib/apps/canvas-builder/composables/useCanvasBlocks.d.ts +176 -0
  24. package/lib/apps/canvas-builder/composables/useCanvasCompletionWizard.d.ts +1 -1
  25. package/lib/apps/canvas-builder/composables/useCanvasHistory.d.ts +176 -0
  26. package/lib/apps/canvas-builder/composables/useCanvasPages.d.ts +7 -9
  27. package/lib/apps/canvas-builder/composables/useCanvasSectionOverrides.d.ts +1 -1
  28. package/lib/apps/canvas-builder/composables/useCanvasVisibility.d.ts +1 -1
  29. package/lib/apps/canvas-builder/composables/useControlBarCollapse.d.ts +8 -0
  30. package/lib/apps/canvas-builder/composables/usePitcherEvents.d.ts +0 -6
  31. package/lib/apps/canvas-builder/composables/useReorderComponent.d.ts +3 -3
  32. package/lib/apps/canvas-builder/composables/useScribbleChild.d.ts +1 -1
  33. package/lib/apps/canvas-builder/composables/useTemporaryContext.d.ts +14 -0
  34. package/lib/apps/canvas-builder/types/canvas.d.ts +42 -2
  35. package/lib/apps/canvas-builder/util/canvas.util.d.ts +4 -4
  36. package/lib/apps/canvas-builder/util/print.util.d.ts +2 -9
  37. package/lib/components/CAlgoliaSearch/CAlgoliaSearch.vue.d.ts +6 -3
  38. package/lib/components/CBulkToolbar/CBulkToolbar.vue.d.ts +2 -0
  39. package/lib/components/CComponentListItem/CComponentListItem.vue.d.ts +8 -8
  40. package/lib/components/CContactSelector/CContactAccountListItem.vue.d.ts +1 -0
  41. package/lib/components/CContactSelector/CContactSelector.vue.d.ts +2 -0
  42. package/lib/components/CContactSelector/CContactSelectorAccountsWithContacts.vue.d.ts +11 -0
  43. package/lib/components/CContentError/CContentError.vue.d.ts +1 -0
  44. package/lib/components/CCreateCanvasModal/CCreateCanvasModalTemplatesSelectOption.vue.d.ts +3 -0
  45. package/lib/components/CFileAccessManagement/CFileAccessManagement.vue.d.ts +6 -0
  46. package/lib/components/CFileViewer/CFileViewer.vue.d.ts +4 -0
  47. package/lib/components/CFileViewer/pdf/CFileViewer.pdf.link.types.d.ts +3 -2
  48. package/lib/components/CFileViewer/pdf/CFileViewerBottom.pdf.vue.d.ts +1 -0
  49. package/lib/components/CMonacoEditor/CMonacoEditor.vue.d.ts +2 -0
  50. package/lib/components/CPdfDimensionsSelector/CPdfDimensionsSelector.vue.d.ts +2 -0
  51. package/lib/constants/dimensions.const.d.ts +23 -0
  52. package/lib/directives/vTrustedHtml.d.ts +6 -0
  53. package/lib/main.lib.d.ts +3 -0
  54. package/lib/sdk/api/HighLevelApi.d.ts +4 -0
  55. package/lib/sdk/api/modules/dsr/types.dsr.d.ts +5 -1
  56. package/lib/sdk/api/modules/files.d.ts +10 -0
  57. package/lib/sdk/api/modules/query.d.ts +14 -0
  58. package/lib/sdk/api/modules/ui/types.ui.d.ts +2 -0
  59. package/lib/sdk/interfaces.d.ts +8 -2
  60. package/lib/sdk/main.d.ts +25 -11
  61. package/lib/sdk/peer-connectivity/index.d.ts +3 -0
  62. package/lib/sdk/peer-connectivity/peerConnectivity.constants.d.ts +12 -0
  63. package/lib/sdk/peer-connectivity/peerConnectivity.d.ts +3 -0
  64. package/lib/sdk/peer-connectivity/peerConnectivity.types.d.ts +35 -0
  65. package/lib/types/instanceSettings.types.d.ts +4 -0
  66. package/lib/types/launchDarkly.types.d.ts +1 -1
  67. package/lib/types/organizationMetadata.types.d.ts +3 -2
  68. package/lib/types/organizationSettings.types.d.ts +9 -0
  69. package/package.json +1 -1
  70. package/lib/apps/canvas-builder/components/ui/Text/Text.vue.d.ts +0 -111
  71. package/lib/components/CRichTextEditor/CRichTextEditor.vue.d.ts +0 -59
  72. package/lib/modules/algolia-instantsearch.d.ts +0 -1
  73. /package/lib/apps/canvas-builder/components/{ui/SectionList/SectionSearch.vue.d.ts → container/Search/Search.vue.d.ts} +0 -0
@@ -178,6 +178,9 @@
178
178
  "crm_query": {
179
179
  "description": ""
180
180
  },
181
+ "crm_smart_query": {
182
+ "description": "Execute a SmartStore query against local CRM data. iOS only."
183
+ },
181
184
  "search": {
182
185
  "description": ""
183
186
  },
package/js-api.esm.js CHANGED
@@ -2497,6 +2497,9 @@ function createFile(payload) {
2497
2497
  function selectDeviceFile() {
2498
2498
  return this.API.request("select_device_file");
2499
2499
  }
2500
+ function deleteLocalFile(payload) {
2501
+ return this.API.request("delete_local_file", payload);
2502
+ }
2500
2503
 
2501
2504
  function getFileRevisions(payload) {
2502
2505
  const { id, file_id } = payload;
@@ -2534,6 +2537,21 @@ function query(payload) {
2534
2537
  function crmQuery(payload) {
2535
2538
  return highLevelApi.API.request("crm_query", payload);
2536
2539
  }
2540
+ function crmSmartQuery(payload) {
2541
+ const query2 = payload.query;
2542
+ if (!query2 || typeof query2 !== "string") {
2543
+ return Promise.reject(new Error("Query is required and must be a string"));
2544
+ }
2545
+ const smartStorePattern = /\{[^}]+:[^}]+\}/;
2546
+ if (!smartStorePattern.test(query2.trim())) {
2547
+ return Promise.reject(
2548
+ new Error(
2549
+ "Invalid SmartStore query syntax. SmartStore queries must use curly braces syntax: {SoupName:FieldName}"
2550
+ )
2551
+ );
2552
+ }
2553
+ return highLevelApi.API.request("crm_smart_query", payload);
2554
+ }
2537
2555
 
2538
2556
  function getFolders(payload) {
2539
2557
  return this.API.request("get_folders", payload);
@@ -2631,11 +2649,13 @@ const modules = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
2631
2649
  createFile,
2632
2650
  createFolder,
2633
2651
  crmQuery,
2652
+ crmSmartQuery,
2634
2653
  deleteCanvas,
2635
2654
  deleteEvent,
2636
2655
  deleteFavorite,
2637
2656
  deleteFile,
2638
2657
  deleteFolder,
2658
+ deleteLocalFile,
2639
2659
  downloadFile,
2640
2660
  fetchDocumentInfo,
2641
2661
  getAppConfig: getAppConfig$2,
@@ -2743,10 +2763,7 @@ function rng() {
2743
2763
  const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
2744
2764
  const native = { randomUUID };
2745
2765
 
2746
- function v4(options, buf, offset) {
2747
- if (native.randomUUID && true && !options) {
2748
- return native.randomUUID();
2749
- }
2766
+ function _v4(options, buf, offset) {
2750
2767
  options = options || {};
2751
2768
  const rnds = options.random ?? options.rng?.() ?? rng();
2752
2769
  if (rnds.length < 16) {
@@ -2756,6 +2773,12 @@ function v4(options, buf, offset) {
2756
2773
  rnds[8] = (rnds[8] & 0x3f) | 0x80;
2757
2774
  return unsafeStringify(rnds);
2758
2775
  }
2776
+ function v4(options, buf, offset) {
2777
+ if (native.randomUUID && true && !options) {
2778
+ return native.randomUUID();
2779
+ }
2780
+ return _v4(options);
2781
+ }
2759
2782
 
2760
2783
  const PITCHER_EVENT = "PITCHER_EVENT";
2761
2784
  var PitcherMessageType = /* @__PURE__ */ ((PitcherMessageType2) => {
@@ -2800,6 +2823,7 @@ var PitcherEventName = /* @__PURE__ */ ((PitcherEventName2) => {
2800
2823
  PitcherEventName2["ITEM_SHAREBOX_ADD_REQUESTED"] = "item_sharebox_add_requested";
2801
2824
  PitcherEventName2["ITEM_SHAREBOX_ADD_COMPLETED"] = "item_sharebox_add_completed";
2802
2825
  PitcherEventName2["SYNC_BADGE_VALUE_REPORTED"] = "sync_badge_value_reported";
2826
+ PitcherEventName2["PEER_CONNECTIVITY_EVENT"] = "peer_connectivity_event";
2803
2827
  return PitcherEventName2;
2804
2828
  })(PitcherEventName || {});
2805
2829
  var PitcherBroadcastedEventName = /* @__PURE__ */ ((PitcherBroadcastedEventName2) => {
@@ -3171,6 +3195,32 @@ const onlineRestApiHandlers = {
3171
3195
  const { canvas_id, ...restParams } = params;
3172
3196
  const res = await http.get(`/canvases/${canvas_id}/recommended_files`, { params: restParams });
3173
3197
  return res;
3198
+ },
3199
+ get_collaborations: async (params) => {
3200
+ check();
3201
+ const res = await http.get("/collaborations", { params: pickNonNullish(params) });
3202
+ return res;
3203
+ },
3204
+ create_collaboration: async (params) => {
3205
+ check();
3206
+ const res = await http.post("/collaborations", params);
3207
+ return res;
3208
+ },
3209
+ delete_collaboration: async (params) => {
3210
+ check();
3211
+ const { collaboration_id } = params;
3212
+ const res = await http.delete(`/collaborations/${collaboration_id}`);
3213
+ return res;
3214
+ },
3215
+ get_instance_memberships: async (params) => {
3216
+ check();
3217
+ const res = await http.get("/instance-memberships", { params: pickNonNullish(params) });
3218
+ return res;
3219
+ },
3220
+ get_content_distribution_groups: async (params) => {
3221
+ check();
3222
+ const res = await http.get("/content-distribution-groups", { params: pickNonNullish(params) });
3223
+ return res;
3174
3224
  }
3175
3225
  };
3176
3226
 
@@ -3998,6 +4048,178 @@ const dsr = {
3998
4048
  ...filesDsr
3999
4049
  };
4000
4050
 
4051
+ const PEER_CONNECTIVITY_EVENT = "peer_connectivity_event";
4052
+ const PeerConnectivityActions = {
4053
+ CANVAS_PAGE_NEXT: "canvas.navigate.next",
4054
+ CANVAS_PAGE_PREVIOUS: "canvas.navigate.previous",
4055
+ CANVAS_OPEN: "canvas.open",
4056
+ CANVAS_CLOSE: "canvas.close",
4057
+ ROUTE_CHANGE: "route.change",
4058
+ FILE_OPEN: "file.open",
4059
+ FILE_CLOSE: "file.close"
4060
+ };
4061
+ const DEFAULT_PEER_CONNECTIVITY_VERSION = 1;
4062
+ const PEER_CONNECTIVITY_HANDLER_MATCH_ALL = "*";
4063
+
4064
+ const handlers = /* @__PURE__ */ new Map();
4065
+ let unsubscribeNativeListener = null;
4066
+ let peerConnectivitySupportPromise = null;
4067
+ function generateCorrelationId() {
4068
+ const cryptoApi = globalThis.crypto;
4069
+ if (cryptoApi?.randomUUID) {
4070
+ return cryptoApi.randomUUID();
4071
+ }
4072
+ return `peer-${Date.now().toString(16)}-${Math.random().toString(16).slice(2)}`;
4073
+ }
4074
+ function normalizeEventPayload(payload, defaults) {
4075
+ const metadata = payload.metadata ?? {};
4076
+ const normalized = {
4077
+ version: payload.version ?? defaults?.version ?? DEFAULT_PEER_CONNECTIVITY_VERSION,
4078
+ action: payload.action,
4079
+ context: payload.context ?? defaults?.context,
4080
+ data: payload.data ?? defaults?.data,
4081
+ metadata: {
4082
+ correlationId: metadata.correlationId ?? defaults?.metadata?.correlationId ?? generateCorrelationId(),
4083
+ source: metadata.source ?? defaults?.metadata?.source ?? "web",
4084
+ timestamp: metadata.timestamp ?? defaults?.metadata?.timestamp ?? Date.now(),
4085
+ extras: {
4086
+ ...defaults?.metadata?.extras ?? {},
4087
+ ...metadata.extras ?? {}
4088
+ }
4089
+ }
4090
+ };
4091
+ return normalized;
4092
+ }
4093
+ function addHandler(action, handler) {
4094
+ const key = action || PEER_CONNECTIVITY_HANDLER_MATCH_ALL;
4095
+ const handlerSet = handlers.get(key) ?? /* @__PURE__ */ new Set();
4096
+ handlerSet.add(handler);
4097
+ handlers.set(key, handlerSet);
4098
+ }
4099
+ function removeHandler(action, handler) {
4100
+ const handlerSet = handlers.get(action);
4101
+ if (!handlerSet) {
4102
+ return;
4103
+ }
4104
+ handlerSet.delete(handler);
4105
+ if (!handlerSet.size) {
4106
+ handlers.delete(action);
4107
+ }
4108
+ if (!handlers.size) {
4109
+ teardownNativeListener();
4110
+ }
4111
+ }
4112
+ async function ensureNativeListener() {
4113
+ if (unsubscribeNativeListener) {
4114
+ return;
4115
+ }
4116
+ const api = usePitcherApi();
4117
+ const listener = (event) => {
4118
+ try {
4119
+ const normalized = normalizeEventPayload(event, {
4120
+ metadata: {
4121
+ correlationId: generateCorrelationId(),
4122
+ source: "native",
4123
+ timestamp: Date.now(),
4124
+ extras: {}
4125
+ }
4126
+ });
4127
+ dispatchEvent(normalized);
4128
+ } catch (error) {
4129
+ console.error("[peer-connectivity] Failed to handle native event:", error);
4130
+ }
4131
+ };
4132
+ api.on(PitcherEventName.PEER_CONNECTIVITY_EVENT, listener);
4133
+ unsubscribeNativeListener = () => {
4134
+ api.off(PitcherEventName.PEER_CONNECTIVITY_EVENT, listener);
4135
+ unsubscribeNativeListener = null;
4136
+ };
4137
+ }
4138
+ function teardownNativeListener() {
4139
+ if (unsubscribeNativeListener) {
4140
+ unsubscribeNativeListener();
4141
+ unsubscribeNativeListener = null;
4142
+ }
4143
+ }
4144
+ function dispatchEvent(event) {
4145
+ const specificHandlers = handlers.get(event.action);
4146
+ const wildcardHandlers = handlers.get(PEER_CONNECTIVITY_HANDLER_MATCH_ALL);
4147
+ if (!specificHandlers && !wildcardHandlers) {
4148
+ return;
4149
+ }
4150
+ const payload = Object.freeze(event);
4151
+ specificHandlers?.forEach((handler) => {
4152
+ try {
4153
+ handler(payload);
4154
+ } catch (error) {
4155
+ console.error(`[peer-connectivity] Handler error for action "${event.action}":`, error);
4156
+ }
4157
+ });
4158
+ wildcardHandlers?.forEach((handler) => {
4159
+ try {
4160
+ handler(payload);
4161
+ } catch (error) {
4162
+ console.error("[peer-connectivity] Handler error for wildcard action:", error);
4163
+ }
4164
+ });
4165
+ }
4166
+ async function isPeerConnectivitySupported() {
4167
+ if (!peerConnectivitySupportPromise) {
4168
+ const api = usePitcherApi();
4169
+ peerConnectivitySupportPromise = api.getEnv().then((env) => env.mode === "IOS").catch((error) => {
4170
+ console.error("[peer-connectivity] Failed to determine environment support:", error);
4171
+ return false;
4172
+ });
4173
+ }
4174
+ return peerConnectivitySupportPromise;
4175
+ }
4176
+ function normalizeActions(actionOrActions) {
4177
+ return Array.isArray(actionOrActions) ? actionOrActions : [actionOrActions];
4178
+ }
4179
+ function registerPeerConnectivityHandler(actionOrActions, handler) {
4180
+ normalizeActions(actionOrActions).forEach((action) => {
4181
+ addHandler(action, handler);
4182
+ });
4183
+ ensureNativeListener().catch((error) => {
4184
+ console.error("[peer-connectivity] Failed to register native listener:", error);
4185
+ });
4186
+ return () => {
4187
+ normalizeActions(actionOrActions).forEach((action) => {
4188
+ removeHandler(action, handler);
4189
+ });
4190
+ };
4191
+ }
4192
+ async function sendPeerConnectivityEvent(payload, options) {
4193
+ if (!payload?.action) {
4194
+ console.warn("[peer-connectivity] Attempted to send an event without action");
4195
+ return;
4196
+ }
4197
+ if (options?.isFeatureEnabled === false) {
4198
+ return;
4199
+ }
4200
+ const isSupported = await isPeerConnectivitySupported();
4201
+ if (!isSupported) {
4202
+ return;
4203
+ }
4204
+ const api = usePitcherApi();
4205
+ const normalizedPayload = normalizeEventPayload(payload, {
4206
+ metadata: {
4207
+ correlationId: generateCorrelationId(),
4208
+ source: "web",
4209
+ timestamp: Date.now(),
4210
+ extras: {}
4211
+ }
4212
+ });
4213
+ try {
4214
+ await api.broadcast({
4215
+ type: PitcherEventName.PEER_CONNECTIVITY_EVENT,
4216
+ body: normalizedPayload
4217
+ });
4218
+ } catch (error) {
4219
+ console.error("[peer-connectivity] Failed to send event:", error);
4220
+ }
4221
+ }
4222
+
4001
4223
  let highLevelApi;
4002
4224
  let prevOptions;
4003
4225
  function usePitcherApi(options) {
@@ -4043,7 +4265,7 @@ function useApi(options) {
4043
4265
  case "admin":
4044
4266
  return useAdmin();
4045
4267
  case "dsr":
4046
- return useDsr();
4268
+ return { ...useDsr(), broadcast: usePitcherApi().broadcast };
4047
4269
  case "impact":
4048
4270
  return usePitcherApi(options);
4049
4271
  // first level (slotty and custom UIs)
@@ -4054,5 +4276,5 @@ function useApi(options) {
4054
4276
 
4055
4277
  window.postRobot = pr;
4056
4278
 
4057
- export { ADMIN_API_METHOD_TYPES, ADMIN_API_TYPES, ADMIN_MESSAGE, ADMIN_MESSAGE_TYPES, DSR_API_METHOD_TYPES, DSR_API_TYPES, DSR_MESSAGE, DSR_MESSAGE_TYPES, PITCHER_EVENT, PitcherBroadcastedEventName, PitcherEventName, PitcherExternalEventName, PitcherMessageType, PitcherResponseStatus, UI_API_METHOD_TYPES, UI_MESSAGE, UI_MESSAGE_TYPES, UI_NATIVE_MESSAGE_TYPES, getAvailableApis, highLevelApi, useAdmin, useApi, useDsr, usePitcherApi, useUi };
4279
+ export { ADMIN_API_METHOD_TYPES, ADMIN_API_TYPES, ADMIN_MESSAGE, ADMIN_MESSAGE_TYPES, DEFAULT_PEER_CONNECTIVITY_VERSION, DSR_API_METHOD_TYPES, DSR_API_TYPES, DSR_MESSAGE, DSR_MESSAGE_TYPES, PEER_CONNECTIVITY_EVENT, PEER_CONNECTIVITY_HANDLER_MATCH_ALL, PITCHER_EVENT, PeerConnectivityActions, PitcherBroadcastedEventName, PitcherEventName, PitcherExternalEventName, PitcherMessageType, PitcherResponseStatus, UI_API_METHOD_TYPES, UI_MESSAGE, UI_MESSAGE_TYPES, UI_NATIVE_MESSAGE_TYPES, getAvailableApis, highLevelApi, registerPeerConnectivityHandler, sendPeerConnectivityEvent, useAdmin, useApi, useDsr, usePitcherApi, useUi };
4058
4280
  //# sourceMappingURL=js-api.esm.js.map