@pitcher/js-api 1.22.0-alpha.4 → 1.22.0-alpha.5

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 (40) hide show
  1. package/js-api.esm.js +126 -43
  2. package/js-api.esm.js.map +1 -1
  3. package/js-api.umd.min.js +10 -10
  4. package/js-api.umd.min.js.map +1 -1
  5. package/lib/api/canvases/canvases.queries.d.ts +1 -1
  6. package/lib/apps/browser/stores/api.d.ts +53 -53
  7. package/lib/apps/browser/stores/app.d.ts +18 -15
  8. package/lib/apps/browser/stores/upload.d.ts +29 -29
  9. package/lib/apps/canvas-builder/composables/useCanvas.d.ts +607 -621
  10. package/lib/apps/canvas-builder/composables/useCanvasDnd.d.ts +12 -0
  11. package/lib/apps/canvas-builder/composables/useCanvasHistory.d.ts +93 -95
  12. package/lib/apps/canvas-builder/composables/useCanvasPages.d.ts +1 -0
  13. package/lib/apps/canvas-builder/composables/useCanvasSectionOverrides.d.ts +8 -7
  14. package/lib/apps/canvas-builder/composables/useCanvasTheme.d.ts +11 -11
  15. package/lib/apps/canvas-builder/composables/useCanvasVisibility.d.ts +5 -4
  16. package/lib/apps/canvas-builder/composables/useCollapsibles.d.ts +2 -2
  17. package/lib/apps/canvas-builder/composables/useContentSelector.d.ts +9 -9
  18. package/lib/apps/canvas-builder/composables/useRecommendations.d.ts +12 -10
  19. package/lib/apps/canvas-builder/types/canvas.d.ts +4 -3
  20. package/lib/apps/canvas-builder/util/tree.d.ts +1 -0
  21. package/lib/apps/content-selector/stores/app.d.ts +16 -15
  22. package/lib/components/CFileViewer/CFileViewer.use.d.ts +1 -1
  23. package/lib/composables/bulkActions.use.d.ts +4 -4
  24. package/lib/composables/recentFiles.use.d.ts +1 -1
  25. package/lib/composables/useDetailsView.d.ts +1 -1
  26. package/lib/composables/useLocation.d.ts +1 -1
  27. package/lib/composables/useLocationAPI.d.ts +2 -2
  28. package/lib/composables/useLocationManipulation.d.ts +1 -1
  29. package/lib/custom-naive-locales/el.d.ts +1 -1
  30. package/lib/sdk/api/HighLevelApi.d.ts +31 -31
  31. package/lib/sdk/api/modules/ui/canvas.ui.d.ts +6 -1
  32. package/lib/sdk/api/modules/ui/index.d.ts +7 -2
  33. package/lib/sdk/api/modules/ui/post-call.ui.d.ts +4 -1
  34. package/lib/sdk/api/modules/ui/types.ui.d.ts +56 -2
  35. package/lib/sdk/main.d.ts +134 -95
  36. package/lib/theme/light.d.ts +5 -315
  37. package/lib/types/instanceSettings.d.ts +1 -0
  38. package/lib/types/launchDarkly.types.d.ts +1 -1
  39. package/lib/util/network.d.ts +1 -1
  40. package/package.json +1 -1
package/js-api.esm.js CHANGED
@@ -2599,43 +2599,42 @@ class EventEmitter {
2599
2599
  }
2600
2600
  }
2601
2601
 
2602
+ /**
2603
+ * Convert array of 16 byte values to UUID string format of the form:
2604
+ * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
2605
+ */
2606
+ var byteToHex = [];
2607
+ for (var i = 0; i < 256; ++i) {
2608
+ byteToHex.push((i + 0x100).toString(16).slice(1));
2609
+ }
2610
+ function unsafeStringify(arr, offset = 0) {
2611
+ // Note: Be careful editing this code! It's been tuned for performance
2612
+ // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
2613
+ //
2614
+ // Note to future-self: No, you can't remove the `toLowerCase()` call.
2615
+ // REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351
2616
+ return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
2617
+ }
2618
+
2602
2619
  // Unique ID creation requires a high quality random # generator. In the browser we therefore
2603
2620
  // require the crypto API and do not support built-in fallback to lower quality random number
2604
2621
  // generators (like Math.random()).
2605
- let getRandomValues;
2606
- const rnds8 = new Uint8Array(16);
2622
+
2623
+ var getRandomValues;
2624
+ var rnds8 = new Uint8Array(16);
2607
2625
  function rng() {
2608
2626
  // lazy load so that environments that need to polyfill have a chance to do so
2609
2627
  if (!getRandomValues) {
2610
2628
  // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation.
2611
2629
  getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
2612
-
2613
2630
  if (!getRandomValues) {
2614
2631
  throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
2615
2632
  }
2616
2633
  }
2617
-
2618
2634
  return getRandomValues(rnds8);
2619
2635
  }
2620
2636
 
2621
- /**
2622
- * Convert array of 16 byte values to UUID string format of the form:
2623
- * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
2624
- */
2625
-
2626
- const byteToHex = [];
2627
-
2628
- for (let i = 0; i < 256; ++i) {
2629
- byteToHex.push((i + 0x100).toString(16).slice(1));
2630
- }
2631
-
2632
- function unsafeStringify(arr, offset = 0) {
2633
- // Note: Be careful editing this code! It's been tuned for performance
2634
- // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
2635
- return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];
2636
- }
2637
-
2638
- const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
2637
+ var randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
2639
2638
  const native = {
2640
2639
  randomUUID
2641
2640
  };
@@ -2644,23 +2643,21 @@ function v4(options, buf, offset) {
2644
2643
  if (native.randomUUID && !buf && !options) {
2645
2644
  return native.randomUUID();
2646
2645
  }
2647
-
2648
2646
  options = options || {};
2649
- const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
2647
+ var rnds = options.random || (options.rng || rng)();
2650
2648
 
2649
+ // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
2651
2650
  rnds[6] = rnds[6] & 0x0f | 0x40;
2652
- rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
2651
+ rnds[8] = rnds[8] & 0x3f | 0x80;
2653
2652
 
2653
+ // Copy bytes to buffer, if provided
2654
2654
  if (buf) {
2655
2655
  offset = offset || 0;
2656
-
2657
- for (let i = 0; i < 16; ++i) {
2656
+ for (var i = 0; i < 16; ++i) {
2658
2657
  buf[offset + i] = rnds[i];
2659
2658
  }
2660
-
2661
2659
  return buf;
2662
2660
  }
2663
-
2664
2661
  return unsafeStringify(rnds);
2665
2662
  }
2666
2663
 
@@ -2744,8 +2741,7 @@ class LowLevelApi extends EventEmitter {
2744
2741
  } };
2745
2742
  if (typeof window !== "undefined") {
2746
2743
  window.addEventListener("message", (event) => {
2747
- if (!isOriginValid(event))
2748
- return;
2744
+ if (!isOriginValid(event)) return;
2749
2745
  this.options.logLevel === "debug" && console.log("message received", event);
2750
2746
  if (event.data.type === "PITCHER_RESPONSE") {
2751
2747
  assert(event.data.request.id, "event id is required");
@@ -2837,8 +2833,7 @@ function createHighLevelApi(options) {
2837
2833
  }
2838
2834
 
2839
2835
  function usePostRobot() {
2840
- if (window.postRobot)
2841
- return window.postRobot;
2836
+ if (window.postRobot) return window.postRobot;
2842
2837
  return Promise.resolve().then(() => index).then((m) => m.default || m);
2843
2838
  }
2844
2839
 
@@ -2853,11 +2848,28 @@ const UI_API_METHOD_TYPES = {
2853
2848
  UI_UPDATE_CANVAS: "ui_update_canvas",
2854
2849
  UI_UPDATE_LOCATION: "ui_update_location",
2855
2850
  UI_PRESELECT_SFDC_MEETING_ID: "ui_preselect_sfdc_meeting_id",
2856
- UI_COMPLETE_POSTCALL: "ui_complete_postcall"
2851
+ UI_SET_POSTCALL_STYLE: "ui_set_postcall_style",
2852
+ UI_ENABLE_POSTCALL_SUBMIT: "ui_enable_postcall_submit",
2853
+ UI_DISABLE_POSTCALL_SUBMIT: "ui_disable_postcall_submit",
2854
+ UI_COMPLETE_POSTCALL: "ui_complete_postcall",
2855
+ UI_CANVAS_NAVIGATE_NEXT_PAGE: "ui_canvas_navigate_next_page",
2856
+ UI_CANVAS_NAVIGATE_PREVIOUS_PAGE: "ui_canvas_navigate_previous_page",
2857
+ UI_CANVAS_NAVIGATE_PAGE: "ui_canvas_navigate_page",
2858
+ UI_APP_LOADED: "ui_app_loaded",
2859
+ UI_APP_RESIZE: "ui_app_resize"
2857
2860
  };
2858
2861
  const UI_MESSAGE_TYPES = {
2859
- UI_MEETING_CANCELED: "ui_meeting_canceled"
2862
+ UI_MEETING_CANCELED: "ui_meeting_canceled",
2863
+ UI_CANVAS_UPDATED: "ui_canvas_updated",
2864
+ UI_SECTION_LIST_UPDATED: "ui_section_list_updated",
2865
+ UI_APP_SET_DATA: "ui_app_set_data",
2866
+ UI_APP_UPDATE_DATA: "ui_app_update_data"
2860
2867
  };
2868
+ const UI_NATIVE_MESSAGE_TYPES = [
2869
+ UI_MESSAGE_TYPES.UI_APP_SET_DATA,
2870
+ UI_MESSAGE_TYPES.UI_APP_UPDATE_DATA,
2871
+ UI_MESSAGE_TYPES.UI_CANVAS_UPDATED
2872
+ ];
2861
2873
 
2862
2874
  async function ui_select_content(payload = {}) {
2863
2875
  const pr = await usePostRobot();
@@ -2905,17 +2917,78 @@ async function update_canvas(payload) {
2905
2917
  const pr = await usePostRobot();
2906
2918
  return pr.send(window.parent, UI_API_METHOD_TYPES.UI_UPDATE_CANVAS, payload).then((response) => response.data);
2907
2919
  }
2920
+ async function app_loaded() {
2921
+ window.parent.postMessage({ type: UI_API_METHOD_TYPES.UI_APP_LOADED, body: {} }, "*");
2922
+ }
2923
+ async function app_resize(payload) {
2924
+ window.parent.postMessage({ type: UI_API_METHOD_TYPES.UI_APP_RESIZE, body: payload }, "*");
2925
+ }
2926
+ async function canvas_navigate_next_page() {
2927
+ const pr = await usePostRobot();
2928
+ pr.send(window.parent, UI_API_METHOD_TYPES.UI_CANVAS_NAVIGATE_NEXT_PAGE);
2929
+ }
2930
+ async function canvas_navigate_previous_page() {
2931
+ const pr = await usePostRobot();
2932
+ pr.send(window.parent, UI_API_METHOD_TYPES.UI_CANVAS_NAVIGATE_PREVIOUS_PAGE);
2933
+ }
2934
+ async function canvas_navigate_page(payload) {
2935
+ const pr = await usePostRobot();
2936
+ pr.send(window.parent, UI_API_METHOD_TYPES.UI_CANVAS_NAVIGATE_PAGE, payload);
2937
+ }
2908
2938
 
2909
2939
  async function complete_postcall(payload) {
2910
2940
  const pr = await usePostRobot();
2911
2941
  pr.send(window.parent, UI_API_METHOD_TYPES.UI_COMPLETE_POSTCALL, payload);
2912
2942
  }
2943
+ async function enable_postcall_submit() {
2944
+ const pr = await usePostRobot();
2945
+ pr.send(window.parent, UI_API_METHOD_TYPES.UI_ENABLE_POSTCALL_SUBMIT);
2946
+ }
2947
+ async function disable_postcall_submit() {
2948
+ const pr = await usePostRobot();
2949
+ pr.send(window.parent, UI_API_METHOD_TYPES.UI_DISABLE_POSTCALL_SUBMIT);
2950
+ }
2951
+ async function set_postcall_style(payload) {
2952
+ const pr = await usePostRobot();
2953
+ pr.send(window.parent, UI_API_METHOD_TYPES.UI_SET_POSTCALL_STYLE, payload);
2954
+ }
2913
2955
 
2914
- async function on$2(type, handler) {
2956
+ async function on_native(type, handler) {
2957
+ console.log("attaching native handler for type", type);
2958
+ const messageListener = (event) => {
2959
+ if (event.data.type === type) {
2960
+ handler(event.data.body);
2961
+ }
2962
+ };
2963
+ window.addEventListener("message", messageListener);
2964
+ return () => window.removeEventListener("message", messageListener);
2965
+ }
2966
+ async function on_post_robot(type, handler) {
2915
2967
  const pr = await usePostRobot();
2916
2968
  const listener = pr.on(type, (e) => handler(e.data));
2917
2969
  return listener.cancel;
2918
2970
  }
2971
+ function on$2(type, handler) {
2972
+ if (UI_NATIVE_MESSAGE_TYPES.includes(type)) {
2973
+ return on_native(type, handler);
2974
+ }
2975
+ return on_post_robot(type, handler);
2976
+ }
2977
+ function on_meeting_canceled(handler) {
2978
+ return on$2(UI_MESSAGE_TYPES.UI_MEETING_CANCELED, handler);
2979
+ }
2980
+ function on_canvas_updated(handler) {
2981
+ return on$2(UI_MESSAGE_TYPES.UI_CANVAS_UPDATED, handler);
2982
+ }
2983
+ function on_section_list_updated(handler) {
2984
+ return on$2(UI_MESSAGE_TYPES.UI_SECTION_LIST_UPDATED, handler);
2985
+ }
2986
+ function on_app_set_data(handler) {
2987
+ return on$2(UI_MESSAGE_TYPES.UI_APP_SET_DATA, handler);
2988
+ }
2989
+ function on_app_update_data(handler) {
2990
+ return on$2(UI_MESSAGE_TYPES.UI_APP_UPDATE_DATA, handler);
2991
+ }
2919
2992
  async function ui_broadcast(payload) {
2920
2993
  const pr = await usePostRobot();
2921
2994
  pr.send(window.parent, UI_API_METHOD_TYPES.UI_BROADCAST, payload);
@@ -2923,13 +2996,26 @@ async function ui_broadcast(payload) {
2923
2996
 
2924
2997
  const ui = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
2925
2998
  __proto__: null,
2999
+ app_loaded,
3000
+ app_resize,
3001
+ canvas_navigate_next_page,
3002
+ canvas_navigate_page,
3003
+ canvas_navigate_previous_page,
2926
3004
  capture_app_error,
2927
3005
  complete_postcall,
3006
+ disable_postcall_submit,
2928
3007
  embeddable_ready: embeddable_ready$1,
3008
+ enable_postcall_submit,
2929
3009
  on: on$2,
3010
+ on_app_set_data,
3011
+ on_app_update_data,
3012
+ on_canvas_updated,
3013
+ on_meeting_canceled,
3014
+ on_section_list_updated,
2930
3015
  open,
2931
3016
  preselect_sfdc_meeting_id,
2932
3017
  select_content,
3018
+ set_postcall_style,
2933
3019
  toast,
2934
3020
  ui_broadcast,
2935
3021
  ui_select_content,
@@ -3089,8 +3175,7 @@ var PitcherExternalEventName = /* @__PURE__ */ ((PitcherExternalEventName2) => {
3089
3175
 
3090
3176
  let highLevelApi;
3091
3177
  function usePitcherApi(options) {
3092
- if (!highLevelApi)
3093
- highLevelApi = createHighLevelApi(options);
3178
+ if (!highLevelApi) highLevelApi = createHighLevelApi(options);
3094
3179
  return highLevelApi;
3095
3180
  }
3096
3181
  const uiApi = Object.entries(
@@ -3129,14 +3214,12 @@ function useDsr() {
3129
3214
  return dsrApi;
3130
3215
  }
3131
3216
  function getAvailableApis() {
3132
- if (typeof window === "undefined")
3133
- throw new Error("getAvailableApis: window is not defined");
3217
+ if (typeof window === "undefined") throw new Error("getAvailableApis: window is not defined");
3134
3218
  const location = window.parent.jsApiLocation;
3135
3219
  return location === "ui" ? ["ui", "impact"] : [location ?? "impact"];
3136
3220
  }
3137
3221
  function useApi() {
3138
- if (typeof window === "undefined")
3139
- throw new Error("useApi: window is not defined");
3222
+ if (typeof window === "undefined") throw new Error("useApi: window is not defined");
3140
3223
  const location = window.parent.jsApiLocation;
3141
3224
  switch (location) {
3142
3225
  case "ui":
@@ -3154,5 +3237,5 @@ function useApi() {
3154
3237
 
3155
3238
  window.postRobot = pr;
3156
3239
 
3157
- 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, getAvailableApis, highLevelApi, useAdmin, useApi, useDsr, usePitcherApi, useUi };
3240
+ 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 };
3158
3241
  //# sourceMappingURL=js-api.esm.js.map