@pitcher/js-api 1.26.0-beta.6 → 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 (49) hide show
  1. package/impact-js-api.spec.json +3 -0
  2. package/js-api.esm.js +220 -1
  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/UploadFilesModal/UploadFilesModalProperties.vue.d.ts +5 -1
  7. package/lib/apps/browser/stores/api.d.ts +16 -1
  8. package/lib/apps/canvas-builder/App.vue.d.ts +14 -1
  9. package/lib/apps/canvas-builder/components/ui/ContentList/ContentList.raw.vue.d.ts +30 -0
  10. package/lib/apps/canvas-builder/components/ui/ContentList/ContentList.vue.d.ts +76 -0
  11. package/lib/apps/canvas-builder/components/ui/ContentList/ContentListItems.vue.d.ts +21 -0
  12. package/lib/apps/canvas-builder/components/ui/ContentList/content.store.d.ts +11 -0
  13. package/lib/apps/canvas-builder/composables/useCanvas.d.ts +380 -202
  14. package/lib/apps/canvas-builder/composables/useCanvasBlocks.d.ts +26 -0
  15. package/lib/apps/canvas-builder/composables/useCanvasCompletionWizard.d.ts +1 -1
  16. package/lib/apps/canvas-builder/composables/useCanvasHistory.d.ts +26 -0
  17. package/lib/apps/canvas-builder/composables/useCanvasPages.d.ts +7 -9
  18. package/lib/apps/canvas-builder/composables/useCanvasSectionOverrides.d.ts +1 -1
  19. package/lib/apps/canvas-builder/composables/useCanvasVisibility.d.ts +1 -1
  20. package/lib/apps/canvas-builder/composables/usePitcherEvents.d.ts +0 -6
  21. package/lib/apps/canvas-builder/composables/useReorderComponent.d.ts +3 -3
  22. package/lib/apps/canvas-builder/composables/useScribbleChild.d.ts +1 -1
  23. package/lib/apps/canvas-builder/composables/useTemporaryContext.d.ts +1 -1
  24. package/lib/apps/canvas-builder/types/canvas.d.ts +20 -2
  25. package/lib/apps/canvas-builder/util/canvas.util.d.ts +4 -4
  26. package/lib/components/CComponentListItem/CComponentListItem.vue.d.ts +8 -8
  27. package/lib/components/CContactSelector/CContactAccountListItem.vue.d.ts +1 -0
  28. package/lib/components/CContactSelector/CContactSelector.vue.d.ts +2 -0
  29. package/lib/components/CContactSelector/CContactSelectorAccountsWithContacts.vue.d.ts +11 -0
  30. package/lib/components/CCreateCanvasModal/CCreateCanvasModalTemplatesSelectOption.vue.d.ts +3 -0
  31. package/lib/components/CFileAccessManagement/CFileAccessManagement.vue.d.ts +6 -0
  32. package/lib/main.lib.d.ts +2 -0
  33. package/lib/sdk/api/HighLevelApi.d.ts +4 -0
  34. package/lib/sdk/api/modules/files.d.ts +10 -0
  35. package/lib/sdk/api/modules/query.d.ts +14 -0
  36. package/lib/sdk/interfaces.d.ts +4 -1
  37. package/lib/sdk/main.d.ts +13 -0
  38. package/lib/sdk/peer-connectivity/index.d.ts +3 -0
  39. package/lib/sdk/peer-connectivity/peerConnectivity.constants.d.ts +12 -0
  40. package/lib/sdk/peer-connectivity/peerConnectivity.d.ts +3 -0
  41. package/lib/sdk/peer-connectivity/peerConnectivity.types.d.ts +35 -0
  42. package/lib/types/instanceSettings.types.d.ts +2 -0
  43. package/lib/types/launchDarkly.types.d.ts +1 -1
  44. package/lib/types/organizationMetadata.types.d.ts +3 -2
  45. package/lib/types/organizationSettings.types.d.ts +7 -0
  46. package/package.json +1 -1
  47. package/lib/apps/canvas-builder/components/ui/Text/Text.vue.d.ts +0 -111
  48. package/lib/components/CRichTextEditor/CRichTextEditor.vue.d.ts +0 -59
  49. /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,
@@ -2803,6 +2823,7 @@ var PitcherEventName = /* @__PURE__ */ ((PitcherEventName2) => {
2803
2823
  PitcherEventName2["ITEM_SHAREBOX_ADD_REQUESTED"] = "item_sharebox_add_requested";
2804
2824
  PitcherEventName2["ITEM_SHAREBOX_ADD_COMPLETED"] = "item_sharebox_add_completed";
2805
2825
  PitcherEventName2["SYNC_BADGE_VALUE_REPORTED"] = "sync_badge_value_reported";
2826
+ PitcherEventName2["PEER_CONNECTIVITY_EVENT"] = "peer_connectivity_event";
2806
2827
  return PitcherEventName2;
2807
2828
  })(PitcherEventName || {});
2808
2829
  var PitcherBroadcastedEventName = /* @__PURE__ */ ((PitcherBroadcastedEventName2) => {
@@ -3174,6 +3195,32 @@ const onlineRestApiHandlers = {
3174
3195
  const { canvas_id, ...restParams } = params;
3175
3196
  const res = await http.get(`/canvases/${canvas_id}/recommended_files`, { params: restParams });
3176
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;
3177
3224
  }
3178
3225
  };
3179
3226
 
@@ -4001,6 +4048,178 @@ const dsr = {
4001
4048
  ...filesDsr
4002
4049
  };
4003
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
+
4004
4223
  let highLevelApi;
4005
4224
  let prevOptions;
4006
4225
  function usePitcherApi(options) {
@@ -4057,5 +4276,5 @@ function useApi(options) {
4057
4276
 
4058
4277
  window.postRobot = pr;
4059
4278
 
4060
- 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 };
4061
4280
  //# sourceMappingURL=js-api.esm.js.map