@inboxsdk/core 0.2.29-alpha.5 → 0.2.29-alpha.6
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
package/src/inboxsdk.d.ts
CHANGED
|
@@ -106,6 +106,9 @@ export interface ButterBar {
|
|
|
106
106
|
// export interface DropdownButtonAccessoryDescriptor {}
|
|
107
107
|
|
|
108
108
|
export { AppMenu };
|
|
109
|
+
export type { AppMenuItemView } from './platform-implementation-js/views/app-menu-item-view';
|
|
110
|
+
export type { AppMenuItemPanelDescriptor } from './platform-implementation-js/namespaces/app-menu';
|
|
111
|
+
export type { CollapsiblePanelView } from './platform-implementation-js/views/collapsible-panel-view';
|
|
109
112
|
|
|
110
113
|
export interface NativeNavItemView extends EventEmitter {
|
|
111
114
|
addNavItem(descriptor: NavItemDescriptor): NavItemView;
|
|
@@ -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;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;
|
|
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"}
|
|
@@ -101,7 +101,9 @@ export class CollapsiblePanelView extends EventEmitter {
|
|
|
101
101
|
if (!iconUrl) {
|
|
102
102
|
return;
|
|
103
103
|
}
|
|
104
|
-
const theme = GmailElementGetter.isDarkTheme()
|
|
104
|
+
const theme = GmailElementGetter.isDarkTheme()
|
|
105
|
+
? iconUrl.darkTheme
|
|
106
|
+
: iconUrl.lightTheme;
|
|
105
107
|
if (!theme) {
|
|
106
108
|
return;
|
|
107
109
|
}
|
|
@@ -184,9 +186,23 @@ export class CollapsiblePanelView extends EventEmitter {
|
|
|
184
186
|
this.#updateIcon(element);
|
|
185
187
|
this.#updateScrollablePanelLoading(element);
|
|
186
188
|
}
|
|
189
|
+
static #preloadedIcons = new Set();
|
|
187
190
|
#updateIcon(element) {
|
|
188
191
|
const iconContainerEl = querySelector(element, PRIMARY_BUTTON_ELEMENT_SELECTOR);
|
|
189
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);
|
|
205
|
+
}
|
|
190
206
|
for (const [key, value] of Object.entries({
|
|
191
207
|
'--background-image--hover': panelHovered,
|
|
192
208
|
'--background-image': panelDefault,
|