@inboxsdk/core 2.1.66 → 2.2.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.
package/inboxsdk.js CHANGED
@@ -371,7 +371,7 @@ function isNotNil(value) {
371
371
 
372
372
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- SDK_VERSION is injected by webpack
373
373
  ///@ts-ignore
374
- const BUILD_VERSION = "2.1.66-1731698800154-0de424786e0c0583";
374
+ const BUILD_VERSION = "2.2.0-1734472051734-9e91a4faf42326dc";
375
375
  if (false) {}
376
376
 
377
377
  /***/ }),
@@ -781,8 +781,8 @@ function makeElementStreamMerger() {
781
781
  }
782
782
  // EXTERNAL MODULE: ./src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.ts + 2 modules
783
783
  var gmail_element_getter = __webpack_require__(4003);
784
- // EXTERNAL MODULE: ./src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.ts + 31 modules
785
- var gmail_compose_view = __webpack_require__(1038);
784
+ // EXTERNAL MODULE: ./src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.ts + 32 modules
785
+ var gmail_compose_view = __webpack_require__(3737);
786
786
  // EXTERNAL MODULE: ./src/common/isNotNil.ts
787
787
  var isNotNil = __webpack_require__(960);
788
788
  ;// CONCATENATED MODULE: ./src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.ts
@@ -2646,7 +2646,7 @@ options.insert = htmlElement => {
2646
2646
  htmlElement.setAttribute('data-inboxsdk-version',
2647
2647
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- this is injected by webpack
2648
2648
  ///@ts-ignore
2649
- "2.1.66-1731698800154-0de424786e0c0583");
2649
+ "2.2.0-1734472051734-9e91a4faf42326dc");
2650
2650
  document.head.append(htmlElement);
2651
2651
  };
2652
2652
  options.domAPI = (styleDomAPI_default());
@@ -3638,7 +3638,7 @@ function addToIconArea(orderManager, appName, container, iconArea) {
3638
3638
 
3639
3639
  /***/ }),
3640
3640
 
3641
- /***/ 1038:
3641
+ /***/ 3737:
3642
3642
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3643
3643
 
3644
3644
  "use strict";
@@ -4890,6 +4890,50 @@ const dispatchCancel = (element // asap necessary so we don't emit this event du
4890
4890
  }
4891
4891
  }));
4892
4892
  }
4893
+ // EXTERNAL MODULE: ./src/platform-implementation-js/lib/dom/on-mouse-down-and-up.ts
4894
+ var on_mouse_down_and_up = __webpack_require__(8734);
4895
+ ;// CONCATENATED MODULE: ./src/platform-implementation-js/driver-common/compose/getPrescheduledSendingStream.ts
4896
+
4897
+
4898
+
4899
+
4900
+ const getPrescheduledSendingStream_dispatchCancel = (element // asap necessary so we don't emit this event during the click event dispatch
4901
+ ) => browser_asap_default()(() => element.dispatchEvent(new CustomEvent('inboxSDKscheduleSendMenuOpenCanceled', {
4902
+ bubbles: false,
4903
+ cancelable: false,
4904
+ detail: null
4905
+ })));
4906
+ function getPrescheduledSendingStream(_ref) {
4907
+ let {
4908
+ element,
4909
+ scheduleSendButton,
4910
+ moreSendOptionsButton
4911
+ } = _ref;
4912
+ const domEventStream = kefir_esm.merge([(0,from_event_target_capture/* default */.A)(element, 'keydown').filter(domEvent => (domEvent.which === 13 || domEvent.keyCode === 13) && moreSendOptionsButton && moreSendOptionsButton.contains(domEvent.target)), (0,on_mouse_down_and_up/* default */.A)(scheduleSendButton)]);
4913
+ return domEventStream.filter(domEvent => {
4914
+ if (element.hasAttribute('data-inboxsdk-send-replaced')) {
4915
+ domEvent.preventDefault();
4916
+ domEvent.stopPropagation();
4917
+ domEvent.stopImmediatePropagation();
4918
+ return false;
4919
+ }
4920
+ // Do not process event if the element is not initiated by the user.
4921
+ if (!domEvent.isTrusted) {
4922
+ return false;
4923
+ }
4924
+ return true;
4925
+ }).map(domEvent => ({
4926
+ eventName: 'scheduleSendMenuOpening',
4927
+ data: {
4928
+ cancel() {
4929
+ domEvent.preventDefault();
4930
+ domEvent.stopPropagation();
4931
+ domEvent.stopImmediatePropagation();
4932
+ getPrescheduledSendingStream_dispatchCancel(element);
4933
+ }
4934
+ }
4935
+ }));
4936
+ }
4893
4937
  ;// CONCATENATED MODULE: ./src/platform-implementation-js/driver-common/compose/getDiscardStream.ts
4894
4938
 
4895
4939
 
@@ -5243,6 +5287,7 @@ function setFromEmail(driver, gmailComposeView, email) {
5243
5287
 
5244
5288
 
5245
5289
 
5290
+
5246
5291
 
5247
5292
 
5248
5293
  let hasReportedMissingBody = false;
@@ -5500,6 +5545,11 @@ class GmailComposeView {
5500
5545
  sendButton: this.getSendButton(),
5501
5546
  sendAndArchive: this.getSendAndArchiveButton()
5502
5547
  }));
5548
+ this.#eventStream.plug(getPrescheduledSendingStream({
5549
+ element: this.getElement(),
5550
+ scheduleSendButton: this.getScheduleSendButton(),
5551
+ moreSendOptionsButton: this.getMoreSendOptionsButton()
5552
+ }));
5503
5553
  let discardButton;
5504
5554
  try {
5505
5555
  discardButton = this.getDiscardButton();
@@ -5518,6 +5568,9 @@ class GmailComposeView {
5518
5568
  this.#eventStream.plug(kefir_esm.fromEvents(this.getElement(), 'inboxSDKsendCanceled').map(() => ({
5519
5569
  eventName: 'sendCanceled'
5520
5570
  })));
5571
+ this.#eventStream.plug(kefir_esm.fromEvents(this.getElement(), 'inboxSDKscheduleSendMenuOpenCanceled').map(() => ({
5572
+ eventName: 'scheduleSendMenuOpenCanceled'
5573
+ })));
5521
5574
  this.#eventStream.plug(kefir_esm.fromEvents(this.getElement(), 'inboxSDKdiscardCanceled').map(() => ({
5522
5575
  eventName: 'discardCanceled'
5523
5576
  })));
@@ -5816,6 +5869,14 @@ class GmailComposeView {
5816
5869
  }
5817
5870
  });
5818
5871
  }
5872
+ openScheduleSendMenu() {
5873
+ // asap necessary so if this is called after scheduleSendMenuOpening
5874
+ // event.cancel(), the new scheduleSendMenuOpening event must happen after
5875
+ // the scheduleSendMenuOpenCanceled event (which is also delayed by asap).
5876
+ browser_asap_default()(() => {
5877
+ (0,simulate_mouse_event/* simulateClick */.jp)(this.getScheduleSendButton());
5878
+ });
5879
+ }
5819
5880
  discard() {
5820
5881
  (0,simulate_mouse_event/* simulateClick */.jp)(this.getDiscardButton());
5821
5882
  }
@@ -6002,6 +6063,12 @@ class GmailComposeView {
6002
6063
  getSendButton() {
6003
6064
  return (0,querySelectorOrFail/* default */.A)(this.#element, '.IZ .Up div > div[role=button]:not(.Uo):not([aria-haspopup=true]):not([class^=inboxsdk_])');
6004
6065
  }
6066
+ getScheduleSendButton() {
6067
+ return (0,querySelectorOrFail/* default */.A)(this.#element, '[selector="scheduledSend"]');
6068
+ }
6069
+ getMoreSendOptionsButton() {
6070
+ return (0,querySelectorOrFail/* default */.A)(this.#element, '.hG');
6071
+ }
6005
6072
 
6006
6073
  // When schedule send is available, this returns the element that contains both buttons.
6007
6074
  getSendButtonGroup() {
@@ -10204,7 +10271,7 @@ options.insert = htmlElement => {
10204
10271
  htmlElement.setAttribute('data-inboxsdk-version',
10205
10272
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- this is injected by webpack
10206
10273
  ///@ts-ignore
10207
- "2.1.66-1731698800154-0de424786e0c0583");
10274
+ "2.2.0-1734472051734-9e91a4faf42326dc");
10208
10275
  document.head.append(htmlElement);
10209
10276
  };
10210
10277
  options.domAPI = (styleDomAPI_default());
@@ -13521,11 +13588,14 @@ class GmailRowListView {
13521
13588
  const elementStream = kefir_esm.merge(tableDivParents.map(make_element_child_stream/* default */.A)).flatMap(event => {
13522
13589
  this._fixColumnWidths(event.el);
13523
13590
  const tbody = (0,querySelectorOrFail/* default */.A)(event.el, 'table > tbody');
13524
- // In vertical preview pane mode, each thread row has three <tr>
13525
- // elements. We just want to pass the first one (which has an id) to
13526
- // GmailThreadRowView().
13527
- return (0,make_element_child_stream/* default */.A)(tbody).takeUntilBy(event.removalStream).filter(rowEvent => rowEvent.el.id);
13528
- });
13591
+ return (0,make_element_child_stream/* default */.A)(tbody).takeUntilBy(event.removalStream);
13592
+ })
13593
+ // In vertical preview pane mode, each thread row has three <tr> elements.
13594
+ // We just want to pass the first one (which has an id) to
13595
+ // GmailThreadRowView().
13596
+ .filter(rowEvent => Boolean(rowEvent.el.id) &&
13597
+ // let other extensions opt their rows out of our processing
13598
+ !rowEvent.el.classList.contains('inboxsdk__ignore_row') && !rowEvent.el.classList.contains('bundle'));
13529
13599
  const laterStream = kefir_esm.later(2, undefined);
13530
13600
  this._rowViewDriverStream = elementStream.map(event => {
13531
13601
  const element = event.el;
@@ -14734,8 +14804,8 @@ class ThreadRowView extends safe_event_emitter/* default */.A {
14734
14804
  }
14735
14805
  // EXTERNAL MODULE: ./src/platform-implementation-js/views/compose-view.ts + 1 modules
14736
14806
  var compose_view = __webpack_require__(7600);
14737
- // EXTERNAL MODULE: ./src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.ts + 31 modules
14738
- var gmail_compose_view = __webpack_require__(1038);
14807
+ // EXTERNAL MODULE: ./src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.ts + 32 modules
14808
+ var gmail_compose_view = __webpack_require__(3737);
14739
14809
  ;// CONCATENATED MODULE: ./src/platform-implementation-js/views/route-view/dummy-route-view-driver.ts
14740
14810
 
14741
14811
 
@@ -14948,7 +15018,7 @@ options.insert = htmlElement => {
14948
15018
  htmlElement.setAttribute('data-inboxsdk-version',
14949
15019
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- this is injected by webpack
14950
15020
  ///@ts-ignore
14951
- "2.1.66-1731698800154-0de424786e0c0583");
15021
+ "2.2.0-1734472051734-9e91a4faf42326dc");
14952
15022
  document.head.append(htmlElement);
14953
15023
  };
14954
15024
  options.domAPI = (styleDomAPI_default());
@@ -19708,7 +19778,7 @@ mole_view_module_options.insert = htmlElement => {
19708
19778
  htmlElement.setAttribute('data-inboxsdk-version',
19709
19779
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- this is injected by webpack
19710
19780
  ///@ts-ignore
19711
- "2.1.66-1731698800154-0de424786e0c0583");
19781
+ "2.2.0-1734472051734-9e91a4faf42326dc");
19712
19782
  document.head.append(htmlElement);
19713
19783
  };
19714
19784
  mole_view_module_options.domAPI = (styleDomAPI_default());
@@ -24963,6 +25033,9 @@ class ComposeView extends safe_event_emitter/* default */.A {
24963
25033
  sendAndArchive
24964
25034
  });
24965
25035
  }
25036
+ openScheduleSendMenu() {
25037
+ (0,get_or_fail/* default */.A)(compose_view_memberMap, this).composeViewImplementation.openScheduleSendMenu();
25038
+ }
24966
25039
  discard() {
24967
25040
  (0,get_or_fail/* default */.A)(compose_view_memberMap, this).composeViewImplementation.discard();
24968
25041
  }