@inboxsdk/core 0.2.29-aplha.3 → 1.0.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.
Files changed (61) hide show
  1. package/inboxsdk.js +41 -55
  2. package/inboxsdk.js.map +1 -1
  3. package/package.json +2 -1
  4. package/src/inboxsdk-js/inboxsdk.js +0 -2
  5. package/src/inboxsdk.d.ts +3 -0
  6. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.d.ts.map +1 -1
  7. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.js +3 -4
  8. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.d.ts +1 -1
  9. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.d.ts.map +1 -1
  10. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.js +13 -2
  11. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.d.ts +3 -0
  12. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.d.ts.map +1 -0
  13. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +42 -43
  14. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts +5 -0
  15. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts.map +1 -1
  16. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.js +10 -0
  17. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.d.ts +6 -1
  18. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.d.ts.map +1 -1
  19. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.js +33 -21
  20. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts +56 -56
  21. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts.map +1 -1
  22. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.js +4 -1
  23. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.d.ts.map +1 -1
  24. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.d.ts +5 -12
  25. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.d.ts.map +1 -1
  26. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.js +29 -18
  27. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.d.ts.map +1 -1
  28. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.d.ts.map +1 -1
  29. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.d.ts +69 -69
  30. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts +1 -0
  31. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts.map +1 -1
  32. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.js +5 -0
  33. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.d.ts.map +1 -1
  34. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.d.ts.map +1 -1
  35. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.d.ts.map +1 -1
  36. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.d.ts.map +1 -1
  37. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.d.ts.map +1 -1
  38. package/src/platform-implementation-js/lib/ErrorCollector.d.ts.map +1 -1
  39. package/src/platform-implementation-js/lib/Membrane.d.ts.map +1 -1
  40. package/src/platform-implementation-js/lib/ScrollableContainByScreen.d.ts.map +1 -1
  41. package/src/platform-implementation-js/lib/common-page-communicator.d.ts.map +1 -1
  42. package/src/platform-implementation-js/lib/handler-registry.d.ts.map +1 -1
  43. package/src/platform-implementation-js/lib/logger.d.ts.map +1 -1
  44. package/src/platform-implementation-js/lib/persistent-queue.d.ts.map +1 -1
  45. package/src/platform-implementation-js/lib/safe-event-emitter.d.ts.map +1 -1
  46. package/src/platform-implementation-js/lib/stopper-pool.d.ts.map +1 -1
  47. package/src/platform-implementation-js/namespaces/app-menu.d.ts +14 -5
  48. package/src/platform-implementation-js/namespaces/app-menu.d.ts.map +1 -1
  49. package/src/platform-implementation-js/namespaces/butter-bar.d.ts.map +1 -1
  50. package/src/platform-implementation-js/platform-implementation.js +2 -9
  51. package/src/platform-implementation-js/views/SimpleElementView.d.ts.map +1 -1
  52. package/src/platform-implementation-js/views/app-menu-item-view.d.ts.map +1 -1
  53. package/src/platform-implementation-js/views/app-menu-item-view.js +53 -6
  54. package/src/platform-implementation-js/views/collapsible-panel-view.d.ts.map +1 -1
  55. package/src/platform-implementation-js/views/collapsible-panel-view.js +70 -23
  56. package/src/platform-implementation-js/views/compose-button-view.d.ts.map +1 -1
  57. package/src/platform-implementation-js/views/compose-view.d.ts.map +1 -1
  58. package/src/platform-implementation-js/views/keyboard-shortcut-handle.d.ts.map +1 -1
  59. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.d.ts.map +1 -1
  60. package/src/platform-implementation-js/widgets/buttons/dropdown-view.d.ts.map +1 -1
  61. package/src/inboxsdk-js/check-requirements.js +0 -11
@@ -2,7 +2,7 @@ import Kefir from 'kefir';
2
2
  import kefirBus from 'kefir-bus';
3
3
  import cx from 'classnames';
4
4
  import EventEmitter from '../lib/safe-event-emitter';
5
- import { GmailAppMenuItemView, NATIVE_CLASS, INBOXSDK_CLASS, } from '../dom-driver/gmail/views/gmail-app-menu-item-view';
5
+ import { GmailAppMenuItemView, NATIVE_CLASS, INBOXSDK_CLASS, ICON_ELEMENT_SELECTOR, } from '../dom-driver/gmail/views/gmail-app-menu-item-view';
6
6
  import { NATIVE_CLASS as PANEL_NATIVE_CLASS, CollapsiblePanelView, } from './collapsible-panel-view';
7
7
  import { addCollapsiblePanel } from '../dom-driver/gmail/gmail-driver/add-collapsible-panel';
8
8
  import GmailElementGetter from '../dom-driver/gmail/gmail-element-getter';
@@ -60,6 +60,42 @@ export class AppMenuItemView extends EventEmitter {
60
60
  const activePanel = AppMenuItemView.#getActivePanel();
61
61
  return !activePanel;
62
62
  }
63
+ static #adjustTooltipNub() {
64
+ // adjust all menu items' collapsible panel's tooltip nub position
65
+ const appMenuElement = GmailElementGetter.getAppMenu();
66
+ for (const menuItem of appMenuElement?.querySelectorAll(`.${NATIVE_CLASS}`) ?? []) {
67
+ const panel = AppMenuItemView.#menuItemToPanelMap.get(menuItem);
68
+ if (!panel)
69
+ continue;
70
+ const nubElement = panel?.querySelector('* > .aTV');
71
+ const iconElement = menuItem?.querySelector('.V6');
72
+ const iconElementBox = iconElement?.getBoundingClientRect();
73
+ const offsetTop = (iconElement?.offsetTop ?? 0) + (iconElementBox?.height ?? 0) * 0.5;
74
+ const nubSide = 17;
75
+ const nubDiagonal = nubSide * Math.sqrt(2);
76
+ const offsetNub = nubDiagonal / 4;
77
+ const offset = offsetTop - offsetNub;
78
+ if (nubElement && offset) {
79
+ nubElement.style.top = `${offset}px`;
80
+ }
81
+ }
82
+ }
83
+ static #isPanelDropdownShown() {
84
+ const sdkDropdown = document.querySelector('.inboxsdk__menu');
85
+ if (sdkDropdown) {
86
+ return true;
87
+ }
88
+ const mailDropdown = document.querySelector('.JM');
89
+ if (mailDropdown && mailDropdown.style.display !== 'none') {
90
+ return true;
91
+ }
92
+ const chatAndSpacesDropdown = document.querySelector('.tP');
93
+ if (chatAndSpacesDropdown &&
94
+ chatAndSpacesDropdown.style.display !== 'none') {
95
+ return true;
96
+ }
97
+ return false;
98
+ }
63
99
  static #setUpRouteViewDriverStream(driver) {
64
100
  if (AppMenuItemView.#routeViewDriverStream)
65
101
  return;
@@ -154,6 +190,7 @@ export class AppMenuItemView extends EventEmitter {
154
190
  // Handle moving cursor out of panel. We use it to enhance the styling since it won't be handled by Gmail
155
191
  const panel = AppMenuItemView.#menuItemToPanelMap.get(nativeMenuItem);
156
192
  panel?.addEventListener('mouseleave', (e) => {
193
+ e.stopImmediatePropagation();
157
194
  AppMenuItemView.#menuItemChangeBus.emit([
158
195
  'mouseleave',
159
196
  nativeMenuItem,
@@ -176,10 +213,15 @@ export class AppMenuItemView extends EventEmitter {
176
213
  activePanel.classList.remove(CollapsiblePanelView.elementCss.ACTIVE);
177
214
  activePanel.classList.remove(CollapsiblePanelView.elementCss.HOVER);
178
215
  }
179
- // deactivate menu items
216
+ // deactivate menu items and handle keyboard accessibility
180
217
  for (const menuItem_ of appMenuElement?.querySelectorAll(`.${NATIVE_CLASS}`) ?? []) {
181
218
  menuItem_.classList.remove(ACTIVE);
182
219
  menuItem_.classList.remove(HOVER);
220
+ // update tabindex
221
+ const iconElement = menuItem_.querySelector(ICON_ELEMENT_SELECTOR);
222
+ if (iconElement) {
223
+ iconElement.tabIndex = menuItem_ === menuItem ? 0 : -1;
224
+ }
183
225
  }
184
226
  // activate menu item
185
227
  menuItem.classList.add(ACTIVE);
@@ -230,6 +272,10 @@ export class AppMenuItemView extends EventEmitter {
230
272
  break;
231
273
  }
232
274
  case 'mouseleave': {
275
+ // Do not handle blur event when we're in one of the panel's dropdowns
276
+ const isPanelDropdownShown = AppMenuItemView.#isPanelDropdownShown();
277
+ if (isPanelDropdownShown)
278
+ return;
233
279
  const activeMenuItem = AppMenuItemView.#getActiveMenuItem();
234
280
  const activePanel = AppMenuItemView.#getActivePanel();
235
281
  const activeMenuItemPanel = activeMenuItem &&
@@ -298,6 +344,7 @@ export class AppMenuItemView extends EventEmitter {
298
344
  const gmailElement = gmailView.element;
299
345
  if (gmailElement) {
300
346
  AppMenuItemView.#menuItemToPanelMap.set(gmailElement, undefined);
347
+ AppMenuItemView.#adjustTooltipNub();
301
348
  }
302
349
  gmailView.on('destroy', () => {
303
350
  this.remove();
@@ -335,7 +382,7 @@ export class AppMenuItemView extends EventEmitter {
335
382
  [CollapsiblePanelView.elementCss.PANEL_LESS]: AppMenuItemView.#isPanelLess(),
336
383
  }),
337
384
  };
338
- const collapsiblePanel = await addCollapsiblePanel(this.#driver, descriptor);
385
+ const collapsiblePanel = await addCollapsiblePanel(this.#driver, descriptor, this.menuItemDescriptor.insertIndex);
339
386
  if (collapsiblePanel) {
340
387
  this.#gmailViewPromise.then((gmailView) => {
341
388
  const gmailElement = gmailView.element;
@@ -347,9 +394,8 @@ export class AppMenuItemView extends EventEmitter {
347
394
  e,
348
395
  ]);
349
396
  });
350
- }
351
- if (gmailElement && collapsiblePanel) {
352
397
  AppMenuItemView.#menuItemToPanelMap.set(gmailElement, collapsiblePanel.element);
398
+ AppMenuItemView.#adjustTooltipNub();
353
399
  }
354
400
  });
355
401
  }
@@ -358,7 +404,7 @@ export class AppMenuItemView extends EventEmitter {
358
404
  }
359
405
  async update(menuItemDescriptor) {
360
406
  const gmailView = await this.#gmailViewPromise;
361
- gmailView.setMenuItemDescriptor(menuItemDescriptor);
407
+ gmailView.menuItemDescriptor = menuItemDescriptor;
362
408
  this.#menuItemDescriptor = menuItemDescriptor;
363
409
  }
364
410
  remove() {
@@ -371,6 +417,7 @@ export class AppMenuItemView extends EventEmitter {
371
417
  gmailView.element &&
372
418
  AppMenuItemView.#menuItemToPanelMap.delete(gmailView.element);
373
419
  gmailView.remove();
420
+ AppMenuItemView.#adjustTooltipNub();
374
421
  });
375
422
  AppMenuItemView.#appMenuItemViews.delete(this);
376
423
  }
@@ -1 +1 @@
1
- {"version":3,"file":"collapsible-panel-view.d.ts","sourceRoot":"","sources":["../../../../../src/platform-implementation-js/views/collapsible-panel-view.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAIpE,OAAO,WAAW,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAE1C,eAAO,MAAM,YAAY,OAAiB,CAAC;AAC3C,eAAO,MAAM,cAAc,8BAAwC,CAAC;AAapE,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CAC/B,CAAC;mDAEmE,aAAa,aAAa,CAAC;AAAhG,qBAAa,oBAAqB,SAAQ,yBAAuD;;IAC/F,MAAM,CAAC,gBAAgB;;;MAGZ;IACX,MAAM,CAAC,UAAU;;;QAGf,kDAAkD;;;;MAIzC;IASX,IAAI,OAAO,YAEV;IAED,UAAU,CAAC,OAAO,EAAE,OAAO;IAS3B,IAAI,eAAe,IAIkB,0BAA0B,CAF9D;IAED,IAAI,eAAe,CAAC,eAAe,EAAE,0BAA0B,EAG9D;IAED,IAAI,OAAO,gBAEV;IAED,IAAI,qBAAqB,mBAExB;gBAGC,MAAM,EAAE,WAAW,EACnB,eAAe,EAAE,0BAA0B;IAW7C,MAAM;IAON,UAAU,CACR,iBAAiB,EACb,iBAAiB,GACjB,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC;CAsL/C"}
1
+ {"version":3,"file":"collapsible-panel-view.d.ts","sourceRoot":"","sources":["../../../../../src/platform-implementation-js/views/collapsible-panel-view.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAIpE,OAAO,WAAW,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAI1C,eAAO,MAAM,YAAY,OAAiB,CAAC;AAC3C,eAAO,MAAM,cAAc,8BAAwC,CAAC;AAcpE,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CAC/B,CAAC;mDAEmE,aAAa,aAAa,CAAC;AAAhG,qBAAa,oBAAqB,SAAQ,yBAAuD;;IAC/F,MAAM,CAAC,gBAAgB;;;MAGZ;IACX,MAAM,CAAC,UAAU;;;QAGf,kDAAkD;;;;MAIzC;IASX,IAAI,OAAO,YAEV;IAED,UAAU,CAAC,OAAO,EAAE,OAAO;IAS3B,IAAI,eAAe,+BAElB;IAED,IAAI,eAAe,CAAC,eAAe,4BAAA,EAGlC;IAED,IAAI,OAAO,gBAEV;IAED,IAAI,qBAAqB,mBAExB;gBAGC,MAAM,EAAE,WAAW,EACnB,eAAe,EAAE,0BAA0B;IAmB7C,MAAM;IAON,UAAU,CACR,iBAAiB,EACb,iBAAiB,GACjB,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC;CA+N/C"}
@@ -6,6 +6,8 @@ import autoHtml from 'auto-html';
6
6
  import querySelector from '../lib/dom/querySelectorOrFail';
7
7
  import GmailElementGetter from '../dom-driver/gmail/gmail-element-getter';
8
8
  import NavItemView from './nav-item-view';
9
+ import { stylesStream } from '../dom-driver/gmail/gmail-driver/track-gmail-styles';
10
+ import isEqual from 'fast-deep-equal';
9
11
  export const NATIVE_CLASS = 'aqn';
10
12
  export const INBOXSDK_CLASS = 'inboxsdk__collapsiblePanel';
11
13
  const ELEMENT_CLASS = `${NATIVE_CLASS} ${INBOXSDK_CLASS} oy8Mbf`;
@@ -14,6 +16,7 @@ const PRIMARY_BUTTON_ELEMENT_SELECTOR = '.T-I.T-I-KE.L3';
14
16
  const scrollablePanelClass = 'at9';
15
17
  const scrollablePanelSelector = `.${scrollablePanelClass}`;
16
18
  const loadingElementClass = 'inboxsdk__collapsiblePanel_loading_container';
19
+ const panelLoadingClass = `${loadingElementClass}--active`;
17
20
  const loadingElementSelector = `.${loadingElementClass}`;
18
21
  const NAV_MENU_CONTAINER_ELEMENT_SELECTOR = '.at9 .n3 .TK';
19
22
  export class CollapsiblePanelView extends EventEmitter {
@@ -35,7 +38,7 @@ export class CollapsiblePanelView extends EventEmitter {
35
38
  #id = Math.random().toFixed(3);
36
39
  #ARIA_LABELLED_BY_ID = Math.random().toFixed(3);
37
40
  #driver;
38
- #loading = false;
41
+ #loading;
39
42
  get loading() {
40
43
  return this.#loading;
41
44
  }
@@ -63,10 +66,18 @@ export class CollapsiblePanelView extends EventEmitter {
63
66
  super();
64
67
  this.#driver = driver;
65
68
  this.#panelDescriptor = panelDescriptor;
69
+ this.#loading = panelDescriptor.loadingIcon != null;
66
70
  this.#element = this.#setupElement();
67
71
  this.#element.addEventListener('mouseleave', (e) => {
68
72
  this.emit('blur', e);
69
73
  });
74
+ stylesStream
75
+ .skipDuplicates((a, b) => isEqual(a, b))
76
+ .onValue(({ type }) => {
77
+ if (type === 'theme') {
78
+ this.#update();
79
+ }
80
+ });
70
81
  }
71
82
  remove() {
72
83
  if (this.#destroyed)
@@ -85,22 +96,41 @@ export class CollapsiblePanelView extends EventEmitter {
85
96
  const navItemView = new NavItemView(appId, this.#driver, navItemDescriptorPropertyStream, gmailNavItemView);
86
97
  return navItemView;
87
98
  }
99
+ #extractPrimaryButtonTheme() {
100
+ const { iconUrl } = this.panelDescriptor.primaryButton ?? {};
101
+ if (!iconUrl) {
102
+ return;
103
+ }
104
+ const theme = GmailElementGetter.isDarkTheme()
105
+ ? iconUrl.darkTheme
106
+ : iconUrl.lightTheme;
107
+ if (!theme) {
108
+ return;
109
+ }
110
+ if (typeof theme === 'string') {
111
+ return {
112
+ panelHovered: theme,
113
+ panelDefault: theme,
114
+ };
115
+ }
116
+ else {
117
+ return {
118
+ panelDefault: theme.panelDefault,
119
+ panelHovered: theme.panelHovered,
120
+ };
121
+ }
122
+ }
88
123
  #setupElement() {
89
124
  const { panelDescriptor } = this;
90
125
  const { loadingIcon } = panelDescriptor;
91
- const { iconUrl: themedIcons, className, name = '', } = panelDescriptor?.primaryButton ?? {};
126
+ const { className, name = '' } = panelDescriptor?.primaryButton ?? {};
92
127
  const element = document.createElement('div');
93
128
  element.className = cx(ELEMENT_CLASS, this.panelDescriptor.className);
94
129
  const primaryButtonClass = cx(PRIMARY_BUTTON_ELEMENT_CLASS, className);
95
- let iconUrl;
96
- if (themedIcons) {
97
- if (GmailElementGetter.isDarkTheme()) {
98
- iconUrl = themedIcons.darkTheme;
99
- }
100
- else {
101
- iconUrl = themedIcons.lightTheme;
102
- }
103
- }
130
+ const loadingElClass = cx(loadingElementClass, {
131
+ [panelLoadingClass]: this.#loading,
132
+ });
133
+ const { panelDefault: defaultIconUrl, panelHovered: hoverPanelIconUrl } = this.#extractPrimaryButtonTheme() ?? {};
104
134
  element.innerHTML = autoHtml `
105
135
  <div class="aBO">
106
136
  <div class="aic">
@@ -111,7 +141,7 @@ export class CollapsiblePanelView extends EventEmitter {
111
141
  </div>
112
142
  </div>
113
143
  <div class="${scrollablePanelClass}">
114
- <div class="${loadingElementClass}">${loadingIcon ? { __html: loadingIcon } : ''}</div>
144
+ <div class="${loadingElClass}">${loadingIcon ? { __html: loadingIcon } : ''}</div>
115
145
  <div class="Ls77Lb aZ6">
116
146
  <div class="pp" style="user-select: none;">
117
147
  <div>
@@ -135,10 +165,11 @@ export class CollapsiblePanelView extends EventEmitter {
135
165
  </div>
136
166
  </div>
137
167
  </div>
138
- <div class="aTV" style="top: 27px;"></div>
168
+ <div class="aTV"></div>
139
169
  `.trim();
140
170
  const primaryBtnEl = querySelector(element, PRIMARY_BUTTON_ELEMENT_SELECTOR);
141
- primaryBtnEl.style.setProperty('--background-image', iconUrl ? `url(${iconUrl})` : 'unset');
171
+ primaryBtnEl.style.setProperty('--background-image', defaultIconUrl ? `url(${defaultIconUrl})` : 'unset');
172
+ primaryBtnEl.style.setProperty('--background-image--hover', hoverPanelIconUrl ? `url(${hoverPanelIconUrl})` : 'unset');
142
173
  primaryBtnEl.addEventListener('click', this.#onPrimaryButtonClick);
143
174
  return element;
144
175
  }
@@ -155,18 +186,35 @@ export class CollapsiblePanelView extends EventEmitter {
155
186
  this.#updateIcon(element);
156
187
  this.#updateScrollablePanelLoading(element);
157
188
  }
189
+ static #preloadedIcons = new Set();
158
190
  #updateIcon(element) {
159
191
  const iconContainerEl = querySelector(element, PRIMARY_BUTTON_ELEMENT_SELECTOR);
160
- const { iconUrl, className } = this.panelDescriptor.primaryButton ?? {};
161
- if (iconUrl) {
162
- const backgroundImage = `url(${GmailElementGetter.isDarkTheme()
163
- ? iconUrl.darkTheme
164
- : iconUrl.lightTheme})`;
165
- iconContainerEl.style.setProperty('--background-image', backgroundImage);
192
+ const { panelDefault, panelHovered } = this.#extractPrimaryButtonTheme() ?? {};
193
+ // alleviate FOUC when switching between active and default icons
194
+ // https://stackoverflow.com/a/68521953/1924257
195
+ for (const url of [panelHovered, panelDefault]) {
196
+ if (!url || CollapsiblePanelView.#preloadedIcons.has(url)) {
197
+ continue;
198
+ }
199
+ CollapsiblePanelView.#preloadedIcons.add(url);
200
+ var link = document.createElement('link');
201
+ link.rel = 'preload';
202
+ link.as = 'image';
203
+ link.href = url;
204
+ document.head.appendChild(link);
166
205
  }
167
- else {
168
- iconContainerEl.style.setProperty('--background-image', 'unset');
206
+ for (const [key, value] of Object.entries({
207
+ '--background-image--hover': panelHovered,
208
+ '--background-image': panelDefault,
209
+ })) {
210
+ if (value) {
211
+ iconContainerEl.style.setProperty(key, `url(${value})`);
212
+ }
213
+ else {
214
+ iconContainerEl.style.removeProperty(key);
215
+ }
169
216
  }
217
+ const { className } = this.panelDescriptor.primaryButton ?? {};
170
218
  iconContainerEl.className = cx(PRIMARY_BUTTON_ELEMENT_CLASS, className);
171
219
  }
172
220
  #updateName(element) {
@@ -181,7 +229,6 @@ export class CollapsiblePanelView extends EventEmitter {
181
229
  if (!scrollablePanelLoadingEl) {
182
230
  return;
183
231
  }
184
- const panelLoadingClass = `${loadingElementClass}--active`;
185
232
  if (this.loading) {
186
233
  scrollablePanelLoadingEl.classList.add(panelLoadingClass);
187
234
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compose-button-view.d.ts","sourceRoot":"","sources":["../../../../../src/platform-implementation-js/views/compose-button-view.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,IAAI,GAAG,WAAW,CAAC;IACxB,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,IAAI,GAAG;QAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACvD;AAED,UAAU,OAAO;IACf,gBAAgB,EAAE,GAAG,CAAC;IACtB,oBAAoB,EAAE,GAAG,CAAC;CAC3B;AAUD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,YAAY;IAClD,SAAS,EAAE,OAAO,CAAS;gBAGhC,cAAc,EAAE,OAAO,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,EACnD,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,MAAM;IAkBT,WAAW,CAAC,iBAAiB,EAAE,iBAAiB;IAiBhD,YAAY;CASpB"}
1
+ {"version":3,"file":"compose-button-view.d.ts","sourceRoot":"","sources":["../../../../../src/platform-implementation-js/views/compose-button-view.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,IAAI,GAAG,WAAW,CAAC;IACxB,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,IAAI,GAAG;QAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACvD;AAED,UAAU,OAAO;IACf,gBAAgB,EAAE,GAAG,CAAC;IACtB,oBAAoB,EAAE,GAAG,CAAC;CAC3B;AAUD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,YAAY;IACzD,SAAS,EAAE,OAAO,CAAS;gBAGzB,cAAc,EAAE,OAAO,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,EACnD,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,MAAM;IAkBhB,WAAW,CAAC,iBAAiB,EAAE,iBAAiB;IAiBhD,YAAY;CASb"}
@@ -1 +1 @@
1
- {"version":3,"file":"compose-view.d.ts","sourceRoot":"","sources":["../../../../../src/platform-implementation-js/views/compose-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compose-view.d.ts","sourceRoot":"","sources":["../../../../../src/platform-implementation-js/views/compose-view.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard-shortcut-handle.d.ts","sourceRoot":"","sources":["../../../../../src/platform-implementation-js/views/keyboard-shortcut-handle.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAGrD,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,YAAY;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;gBAER,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAM9C,MAAM;CAGd"}
1
+ {"version":3,"file":"keyboard-shortcut-handle.d.ts","sourceRoot":"","sources":["../../../../../src/platform-implementation-js/views/keyboard-shortcut-handle.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAGrD,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,YAAY;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;gBAER,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAM9C,MAAM;CAGP"}
@@ -1 +1 @@
1
- {"version":3,"file":"basic-button-view-controller.d.ts","sourceRoot":"","sources":["../../../../../../src/platform-implementation-js/widgets/buttons/basic-button-view-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7C,UAAU,IAAI,WAAW,CAAC;IAC1B,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,OAAO;IACtB,gBAAgB,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IAC9B,UAAU,EAAE,WAAW,CAAC;CACzB;AAED,MAAM,CAAC,OAAO,OAAO,yBAAyB;IAC5C,OAAO,CAAC,iBAAiB,CAA4C;IACrE,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,QAAQ,CAAkB;gBAEf,OAAO,EAAE,OAAO;IAY5B,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;IAI3C,OAAO;IAMP,MAAM,CAAC,OAAO,EAAE,OAAO;IAOvB,OAAO,IAAI,WAAW;IAItB,mBAAmB,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAIhE,QAAQ;CAKhB"}
1
+ {"version":3,"file":"basic-button-view-controller.d.ts","sourceRoot":"","sources":["../../../../../../src/platform-implementation-js/widgets/buttons/basic-button-view-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7C,UAAU,IAAI,WAAW,CAAC;IAC1B,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,OAAO;IACtB,gBAAgB,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IAC9B,UAAU,EAAE,WAAW,CAAC;CACzB;AAED,MAAM,CAAC,OAAO,OAAO,yBAAyB;IAC5C,OAAO,CAAC,iBAAiB,CAA4C;IACrE,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,QAAQ,CAAkB;gBAEtB,OAAO,EAAE,OAAO;IAY5B,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;IAI3C,OAAO;IAMP,MAAM,CAAC,OAAO,EAAE,OAAO;IAOvB,OAAO,IAAI,WAAW;IAItB,mBAAmB,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAIhE,QAAQ;CAKT"}
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-view.d.ts","sourceRoot":"","sources":["../../../../../../src/platform-implementation-js/widgets/buttons/dropdown-view.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,8BAA8B,CAAC;AAMxD,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEtE,UAAU,OAAO;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qBAAqB,CAAC,EAAE,WAAW,EAAE,CAAC;CACvC;AAGD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAAY;IACpD,OAAO,CAAC,mBAAmB,CAAM;IAC1B,SAAS,EAAE,OAAO,CAAS;IACZ,MAAM,EAAE,OAAO,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,qBAAqB,CAA8C;IAC3E,OAAO,CAAC,0BAA0B,CAGb;IACrB,OAAO,CAAC,qBAAqB,CAAU;IAChC,EAAE,EAAE,WAAW,CAAC;gBAGrB,kBAAkB,EAAE,GAAG,EACvB,aAAa,EAAE,WAAW,EAC1B,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS;IA+F9B,mBAAmB,CAAC,OAAO,EAAE,sBAAsB;IAYnD,KAAK;IAcL,UAAU;CAKlB"}
1
+ {"version":3,"file":"dropdown-view.d.ts","sourceRoot":"","sources":["../../../../../../src/platform-implementation-js/widgets/buttons/dropdown-view.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,8BAA8B,CAAC;AAMxD,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEtE,UAAU,OAAO;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qBAAqB,CAAC,EAAE,WAAW,EAAE,CAAC;CACvC;AAGD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAAY;IACpD,OAAO,CAAC,mBAAmB,CAAM;IACjC,SAAS,EAAE,OAAO,CAAS;IACZ,MAAM,EAAE,OAAO,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,qBAAqB,CAA8C;IAC3E,OAAO,CAAC,0BAA0B,CAGb;IACrB,OAAO,CAAC,qBAAqB,CAAU;IACvC,EAAE,EAAE,WAAW,CAAC;gBAGd,kBAAkB,EAAE,GAAG,EACvB,aAAa,EAAE,WAAW,EAC1B,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS;IA+FrC,mBAAmB,CAAC,OAAO,EAAE,sBAAsB;IAYnD,KAAK;IAcL,UAAU;CAKX"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = checkRequirements;
7
- function checkRequirements(opts) {
8
- if (!opts.TEMPORARY_INTERNAL_skipWeakMapRequirement && !global.WeakMap) {
9
- throw new Error('Browser does not support WeakMap');
10
- }
11
- }