@inboxsdk/core 0.2.29-alpha.0 → 0.2.29-alpha.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inboxsdk/core",
3
- "version": "0.2.29-alpha.0",
3
+ "version": "0.2.29-alpha.1",
4
4
  "description": "Library for building browser extensions for Gmail",
5
5
  "main": "inboxsdk.js",
6
6
  "author": "Streak",
@@ -24,9 +24,12 @@ const NATIVE_ROUTE_IDS = Object.freeze({
24
24
  CONTACTS: 'contacts/:page',
25
25
  CONTACT: 'contacts/:contactID',
26
26
  SETTINGS: 'settings/:section',
27
- CHAT_WELCOME: 'chat/welcome',
28
- SPACES: 'rooms/welcome',
29
- MEET: 'calls',
27
+ SCHEDULED: 'scheduled' /** DEC 2022 */,
28
+ CHAT_WELCOME: 'chat/welcome' /** FEB 2023 */,
29
+ CHAT_DM: 'chat/dm/:chatID' /** FEB 2023 */,
30
+ SPACES_WELCOME: 'rooms/welcome' /** FEB 2023 */,
31
+ SPACE: 'chat/space/:spaceID' /** FEB 2023 */,
32
+ MEET: 'calls' /** FEB 2023 */,
30
33
  ANY_LIST: '*'
31
34
  });
32
35
  exports.NATIVE_ROUTE_IDS = NATIVE_ROUTE_IDS;
@@ -52,6 +55,8 @@ const ROUTE_TYPES = Object.freeze({
52
55
  THREAD: 'THREAD',
53
56
  SETTINGS: 'SETTINGS',
54
57
  CHAT: 'CHAT',
58
+ SPACE: 'SPACE',
59
+ MEET: 'MEET',
55
60
  CUSTOM: 'CUSTOM',
56
61
  UNKNOWN: 'UNKNOWN'
57
62
  });
@@ -1,8 +1,8 @@
1
1
  import { AppMenuItemDescriptor } from '../../../namespaces/app-menu';
2
2
  import GmailDriver from '../gmail-driver';
3
3
  import TypedEventEmitter from 'typed-emitter';
4
- export type MessageEvents = {
5
- click: () => void;
4
+ type MessageEvents = {
5
+ click: (e: MouseEvent) => void;
6
6
  blur: (e: MouseEvent) => void;
7
7
  hover: (e: MouseEvent) => void;
8
8
  destroy: () => void;
@@ -34,10 +34,6 @@ export declare class GmailAppMenuItemView extends GmailAppMenuItemView_base {
34
34
  * @internal
35
35
  */
36
36
  activate(): void;
37
- /**
38
- * @internal
39
- */
40
- deactivate(): void;
41
37
  }
42
38
  export {};
43
39
  //# sourceMappingURL=gmail-app-menu-item-view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gmail-app-menu-item-view.d.ts","sourceRoot":"","sources":["../../../../../../../src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAE1C,OAAO,iBAAiB,MAAM,eAAe,CAAC;AAK9C,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,YAAY,MAAgB,CAAC;AAC1C,eAAO,MAAM,cAAc,yBAAmC,CAAC;AAC/D,eAAO,MAAM,aAAa,4BAA+C,CAAC;mDAOL,kBAAkB,aAAa,CAAC;AAArG,qBAAa,oBAAqB,SAAQ,yBAA4D;;IACpG,MAAM,CAAC,UAAU;;;MAGN;IAOX,IAAI,OAAO,4BAEV;IAED,qBAAqB,CAAC,qBAAqB,EAAE,qBAAqB;IAKlE,IAAI,kBAAkB,sCAErB;gBAEW,MAAM,EAAE,WAAW;IAW/B,MAAM;IAON;;OAEG;IACH,IAAI;IAIJ;;OAEG;IACH,KAAK;IASL;;OAEG;IACH,QAAQ;IAKR;;OAEG;IACH,UAAU;CAyEX"}
1
+ {"version":3,"file":"gmail-app-menu-item-view.d.ts","sourceRoot":"","sources":["../../../../../../../src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAE1C,OAAO,iBAAiB,MAAM,eAAe,CAAC;AAK9C,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,YAAY,MAAgB,CAAC;AAC1C,eAAO,MAAM,cAAc,yBAAmC,CAAC;AAC/D,eAAO,MAAM,aAAa,4BAA+C,CAAC;mDAOL,kBAAkB,aAAa,CAAC;AAArG,qBAAa,oBAAqB,SAAQ,yBAA4D;;IACpG,MAAM,CAAC,UAAU;;;MAGN;IAOX,IAAI,OAAO,4BAEV;IAED,qBAAqB,CAAC,qBAAqB,EAAE,qBAAqB;IAKlE,IAAI,kBAAkB,sCAErB;gBAEW,MAAM,EAAE,WAAW;IAW/B,MAAM;IAON;;OAEG;IACH,IAAI;IAIJ;;OAEG;IACH,KAAK;IASL;;OAEG;IACH,QAAQ;CAiFT"}
@@ -34,8 +34,8 @@ export class GmailAppMenuItemView extends EventEmitter {
34
34
  this.#driver = driver;
35
35
  driver.getStopper().onValue(() => this.remove());
36
36
  this.#element.addEventListener('click', (e) => this.#onClick(e));
37
- this.#element.addEventListener('mouseover', this.#onHover);
38
- this.#element.addEventListener('mouseout', this.#onBlur);
37
+ this.#element.addEventListener('mouseenter', this.#onHover);
38
+ this.#element.addEventListener('mouseleave', this.#onBlur);
39
39
  }
40
40
  remove() {
41
41
  if (this.#destroyed)
@@ -66,12 +66,12 @@ export class GmailAppMenuItemView extends EventEmitter {
66
66
  this.element?.classList.remove(GmailAppMenuItemView.elementCss.HOVER);
67
67
  this.element?.classList.add(GmailAppMenuItemView.elementCss.ACTIVE);
68
68
  }
69
- /**
70
- * @internal
71
- */
72
- deactivate() {
73
- this.element?.classList.remove(GmailAppMenuItemView.elementCss.ACTIVE);
74
- }
69
+ // /**
70
+ // * @internal
71
+ // */
72
+ // deactivate() {
73
+ // this.element?.classList.remove(GmailAppMenuItemView.elementCss.ACTIVE);
74
+ // }
75
75
  #setupElement() {
76
76
  const element = document.createElement('div');
77
77
  element.className = ELEMENT_CLASS;
@@ -110,7 +110,7 @@ export class GmailAppMenuItemView extends EventEmitter {
110
110
  iconContainerEl.setAttribute('aria-label', this.#menuItemDescriptor?.name ?? '');
111
111
  }
112
112
  #onClick(e) {
113
- this.emit('click');
113
+ this.emit('click', e);
114
114
  this.#menuItemDescriptor?.onClick?.(e);
115
115
  if (this.#menuItemDescriptor?.routeID) {
116
116
  this.#driver.goto(this.#menuItemDescriptor.routeID, this.#menuItemDescriptor?.routeParams);
@@ -74,9 +74,11 @@ Object.assign(GmailRouteProcessor.prototype, {
74
74
  circle: this.NativeRouteIDs.LABEL,
75
75
  settings: this.NativeRouteIDs.SETTINGS,
76
76
  chats: this.NativeRouteIDs.CHATS,
77
+ // new Gmail stuff
78
+ scheduled: this.NativeRouteIDs.SCHEDULED,
77
79
  // these are added as part of new gmail redesign -- FEB 2023
78
80
  chat: this.NativeRouteIDs.CHAT_WELCOME,
79
- rooms: this.NativeRouteIDs.SPACES,
81
+ rooms: this.NativeRouteIDs.SPACES_WELCOME,
80
82
  calls: this.NativeRouteIDs.MEET
81
83
  };
82
84
  },
@@ -293,6 +293,27 @@ class GmailRouteView {
293
293
  _isSearchRoute() {
294
294
  return this.getRouteID() === this._gmailRouteProcessor.NativeRouteIDs.SEARCH;
295
295
  }
296
+
297
+ /* FEB 2023 */
298
+ _isChatWelcomeRoute() {
299
+ return this._hash === this._gmailRouteProcessor.NativeRouteIDs.CHAT_WELCOME;
300
+ }
301
+ _isChatDmRoute() {
302
+ var _this$_paramsArray, _this$_paramsArray2;
303
+ return this._name === 'chat' && ((_this$_paramsArray = this._paramsArray) === null || _this$_paramsArray === void 0 ? void 0 : _this$_paramsArray[0]) === 'dm' && !!((_this$_paramsArray2 = this._paramsArray) !== null && _this$_paramsArray2 !== void 0 && _this$_paramsArray2[1]);
304
+ }
305
+ _isSpacesWelcomeRoute() {
306
+ return this._hash === this._gmailRouteProcessor.NativeRouteIDs.SPACES_WELCOME;
307
+ }
308
+ _isSpaceRoute() {
309
+ var _this$_paramsArray3, _this$_paramsArray4;
310
+ return this._name === 'chat' && ((_this$_paramsArray3 = this._paramsArray) === null || _this$_paramsArray3 === void 0 ? void 0 : _this$_paramsArray3[0]) === 'space' && !!((_this$_paramsArray4 = this._paramsArray) !== null && _this$_paramsArray4 !== void 0 && _this$_paramsArray4[1]);
311
+ }
312
+ _isMeetRoute() {
313
+ return this._hash === this._gmailRouteProcessor.NativeRouteIDs.MEET;
314
+ }
315
+ /* end FEB 2023 */
316
+
296
317
  getRouteType() {
297
318
  if ((0, _includes.default)(['CUSTOM', 'OTHER_APP_CUSTOM'], this._type)) {
298
319
  return this._gmailRouteProcessor.RouteTypes.CUSTOM;
@@ -302,6 +323,12 @@ class GmailRouteView {
302
323
  return this._gmailRouteProcessor.RouteTypes.THREAD;
303
324
  } else if (this._isSettingsRoute()) {
304
325
  return this._gmailRouteProcessor.RouteTypes.SETTINGS;
326
+ } else if (this._isChatWelcomeRoute() || this._isChatDmRoute()) {
327
+ return this._gmailRouteProcessor.RouteTypes.CHAT;
328
+ } else if (this._isSpacesWelcomeRoute() || this._isSpaceRoute()) {
329
+ return this._gmailRouteProcessor.RouteTypes.SPACE;
330
+ } else if (this._isMeetRoute()) {
331
+ return this._gmailRouteProcessor.RouteTypes.MEET;
305
332
  }
306
333
  return this._gmailRouteProcessor.RouteTypes.UNKNOWN;
307
334
  }
@@ -378,6 +405,14 @@ class GmailRouteView {
378
405
  return this._customRouteID;
379
406
  } else if (this._isThreadRoute()) {
380
407
  return this._gmailRouteProcessor.NativeRouteIDs.THREAD;
408
+ } else if (this._isChatWelcomeRoute()) {
409
+ return this._gmailRouteProcessor.NativeRouteIDs.CHAT_WELCOME;
410
+ } else if (this._isChatDmRoute()) {
411
+ return this._gmailRouteProcessor.NativeRouteIDs.CHAT_DM;
412
+ } else if (this._isSpacesWelcomeRoute()) {
413
+ return this._gmailRouteProcessor.NativeRouteIDs.SPACES_WELCOME;
414
+ } else if (this._isSpaceRoute()) {
415
+ return this._gmailRouteProcessor.NativeRouteIDs.SPACE;
381
416
  } else {
382
417
  return this._gmailRouteProcessor.getRouteID(this._name);
383
418
  }
@@ -1,3 +1,4 @@
1
+ import { RouteView } from '../../inboxsdk';
1
2
  import GmailDriver from '../dom-driver/gmail/gmail-driver';
2
3
  import { AppMenuItemView } from '../views/app-menu-item-view';
3
4
  export type AppMenuItemDescriptor = {
@@ -13,8 +14,7 @@ export type AppMenuItemDescriptor = {
13
14
  onHover?: (e?: MouseEvent) => void | null;
14
15
  routeID?: string;
15
16
  routeParams?: {};
16
- activeRouteID?: string;
17
- activeRouteParams?: {};
17
+ isRouteActive: (routeView: RouteView) => boolean;
18
18
  };
19
19
  export type AppMenuItemPanelDescriptor = {
20
20
  className?: string;
@@ -28,6 +28,9 @@ export type AppMenuItemPanelDescriptor = {
28
28
  className?: string;
29
29
  };
30
30
  };
31
+ /**
32
+ * @alpha
33
+ */
31
34
  export default class AppMenu {
32
35
  #private;
33
36
  constructor(driver: GmailDriver);
@@ -1 +1 @@
1
- {"version":3,"file":"app-menu.d.ts","sourceRoot":"","sources":["../../../../../src/platform-implementation-js/namespaces/app-menu.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,kCAAkC,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,EAAE,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;QACjC,OAAO,CAAC,EAAE;YACR,SAAS,EAAE,MAAM,CAAC;YAClB,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;QACF,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CAIH,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,OAAO;;gBAGd,MAAM,EAAE,WAAW;IAI/B,WAAW,CAAC,kBAAkB,EAAE,qBAAqB,GAAG,eAAe;IASjE,OAAO;CAId"}
1
+ {"version":3,"file":"app-menu.d.ts","sourceRoot":"","sources":["../../../../../src/platform-implementation-js/namespaces/app-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,WAAW,MAAM,kCAAkC,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;QACjC,OAAO,CAAC,EAAE;YACR,SAAS,EAAE,MAAM,CAAC;YAClB,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;QACF,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO;;gBAGd,MAAM,EAAE,WAAW;IAI/B,WAAW,CAAC,kBAAkB,EAAE,qBAAqB,GAAG,eAAe;IAKjE,OAAO;CAId"}
@@ -1,14 +1,15 @@
1
1
  import GmailElementGetter from '../dom-driver/gmail/gmail-element-getter';
2
2
  import { AppMenuItemView } from '../views/app-menu-item-view';
3
+ /**
4
+ * @alpha
5
+ */
3
6
  export default class AppMenu {
4
7
  #driver;
5
8
  constructor(driver) {
6
9
  this.#driver = driver;
7
10
  }
8
11
  addMenuItem(menuItemDescriptor) {
9
- // TODO: should we support the Observable being passed in
10
12
  const navItemView = new AppMenuItemView(this.#driver, menuItemDescriptor);
11
- // this.#menuItemViews.push(navItemView);
12
13
  return navItemView;
13
14
  }
14
15
  async isShown() {
@@ -14,7 +14,6 @@ declare const AppMenuItemView_base: new () => TypedEmitter<MessageEvents>;
14
14
  */
15
15
  export declare class AppMenuItemView extends AppMenuItemView_base {
16
16
  #private;
17
- menuItemDescriptor: AppMenuItemDescriptor;
18
17
  constructor(driver: GmailDriver, menuItemDescriptor: AppMenuItemDescriptor);
19
18
  addCollapsiblePanel(panelDescriptor: AppMenuItemPanelDescriptor): Promise<CollapsiblePanelView | undefined>;
20
19
  update(menuItemDescriptor: AppMenuItemDescriptor): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"app-menu-item-view.d.ts","sourceRoot":"","sources":["../../../../../src/platform-implementation-js/views/app-menu-item-view.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AAUzC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,WAAW,MAAM,kCAAkC,CAAC;AAI3D,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;8CAsB8D,aAAa,aAAa,CAAC;AAH3F;;GAEG;AACH,qBAAa,eAAgB,SAAQ,oBAAuD;;IAmI1F,kBAAkB,wBAAC;gBAEP,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,qBAAqB;IAuDpE,mBAAmB,CAAC,eAAe,EAAE,0BAA0B;IAe/D,MAAM,CAAC,kBAAkB,EAAE,qBAAqB;IAKtD,MAAM;CAgGP"}
1
+ {"version":3,"file":"app-menu-item-view.d.ts","sourceRoot":"","sources":["../../../../../src/platform-implementation-js/views/app-menu-item-view.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AAWzC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,WAAW,MAAM,kCAAkC,CAAC;AAI3D,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;8CA2C8D,aAAa,aAAa,CAAC;AAH3F;;GAEG;AACH,qBAAa,eAAgB,SAAQ,oBAAuD;;gBA0Q9E,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,qBAAqB;IAiDpE,mBAAmB,CAAC,eAAe,EAAE,0BAA0B;IAkC/D,MAAM,CAAC,kBAAkB,EAAE,qBAAqB;IAKtD,MAAM;CA+BP"}