@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.
- package/inboxsdk.js +41 -55
- package/inboxsdk.js.map +1 -1
- package/package.json +2 -1
- package/src/inboxsdk-js/inboxsdk.js +0 -2
- package/src/inboxsdk.d.ts +3 -0
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.js +3 -4
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.d.ts +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.js +13 -2
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.d.ts +3 -0
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.d.ts.map +1 -0
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +42 -43
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts +5 -0
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.js +10 -0
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.d.ts +6 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.js +33 -21
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts +56 -56
- package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.js +4 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.d.ts +5 -12
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.js +29 -18
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.d.ts +69 -69
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts +1 -0
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.js +5 -0
- package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.d.ts.map +1 -1
- package/src/platform-implementation-js/lib/ErrorCollector.d.ts.map +1 -1
- package/src/platform-implementation-js/lib/Membrane.d.ts.map +1 -1
- package/src/platform-implementation-js/lib/ScrollableContainByScreen.d.ts.map +1 -1
- package/src/platform-implementation-js/lib/common-page-communicator.d.ts.map +1 -1
- package/src/platform-implementation-js/lib/handler-registry.d.ts.map +1 -1
- package/src/platform-implementation-js/lib/logger.d.ts.map +1 -1
- package/src/platform-implementation-js/lib/persistent-queue.d.ts.map +1 -1
- package/src/platform-implementation-js/lib/safe-event-emitter.d.ts.map +1 -1
- package/src/platform-implementation-js/lib/stopper-pool.d.ts.map +1 -1
- package/src/platform-implementation-js/namespaces/app-menu.d.ts +14 -5
- package/src/platform-implementation-js/namespaces/app-menu.d.ts.map +1 -1
- package/src/platform-implementation-js/namespaces/butter-bar.d.ts.map +1 -1
- package/src/platform-implementation-js/platform-implementation.js +2 -9
- package/src/platform-implementation-js/views/SimpleElementView.d.ts.map +1 -1
- package/src/platform-implementation-js/views/app-menu-item-view.d.ts.map +1 -1
- package/src/platform-implementation-js/views/app-menu-item-view.js +53 -6
- package/src/platform-implementation-js/views/collapsible-panel-view.d.ts.map +1 -1
- package/src/platform-implementation-js/views/collapsible-panel-view.js +70 -23
- package/src/platform-implementation-js/views/compose-button-view.d.ts.map +1 -1
- package/src/platform-implementation-js/views/compose-view.d.ts.map +1 -1
- package/src/platform-implementation-js/views/keyboard-shortcut-handle.d.ts.map +1 -1
- package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.d.ts.map +1 -1
- package/src/platform-implementation-js/widgets/buttons/dropdown-view.d.ts.map +1 -1
- package/src/inboxsdk-js/check-requirements.js +0 -11
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inboxsdk/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Library for building browser extensions for Gmail",
|
|
5
5
|
"main": "inboxsdk.js",
|
|
6
6
|
"author": "Streak",
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
"@types/kefir": "^3.8.6",
|
|
32
32
|
"@types/node": "*",
|
|
33
33
|
"asap": "^2.0.3",
|
|
34
|
+
"fast-deep-equal": "^3.1.3",
|
|
34
35
|
"kefir-cast": "^3.3.0",
|
|
35
36
|
"sha.js": "^2.4.0",
|
|
36
37
|
"tag-tree": "^1.0.0",
|
|
@@ -9,7 +9,6 @@ exports.load = load;
|
|
|
9
9
|
exports.loadScript = void 0;
|
|
10
10
|
var _logError = _interopRequireDefault(require("../common/log-error"));
|
|
11
11
|
var _platformImplementationLoader = _interopRequireDefault(require("./loading/platform-implementation-loader"));
|
|
12
|
-
var _checkRequirements = _interopRequireDefault(require("./check-requirements"));
|
|
13
12
|
var _version = require("../common/version");
|
|
14
13
|
var _loadScript2 = _interopRequireDefault(require("../common/load-script"));
|
|
15
14
|
const LOADER_VERSION = _version.BUILD_VERSION;
|
|
@@ -26,7 +25,6 @@ function load(version, appId, opts) {
|
|
|
26
25
|
VERSION: LOADER_VERSION,
|
|
27
26
|
REQUESTED_API_VERSION: version
|
|
28
27
|
});
|
|
29
|
-
(0, _checkRequirements.default)(opts);
|
|
30
28
|
return _platformImplementationLoader.default.load(appId, opts);
|
|
31
29
|
}
|
|
32
30
|
const pageOrigin = process.env.NODE_ENV === 'test' && global.__test_origin || document.location.origin;
|
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;
|
package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-app-menu-item.d.ts","sourceRoot":"","sources":["../../../../../../../src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAI1C,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,kBAAkB,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"add-app-menu-item.d.ts","sourceRoot":"","sources":["../../../../../../../src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAI1C,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,kBAAkB,EAAE,qBAAqB,6CAyB1C"}
|
|
@@ -3,12 +3,11 @@ import GmailElementGetter from '../gmail-element-getter';
|
|
|
3
3
|
import Logger from '../../../lib/logger';
|
|
4
4
|
export async function addAppMenuItem(driver, menuItemDescriptor) {
|
|
5
5
|
const appMenuInjectionContainer = await GmailElementGetter.getAppMenuAsync();
|
|
6
|
-
const gmailAppMenuItemView = new GmailAppMenuItemView(driver);
|
|
7
|
-
gmailAppMenuItemView.setMenuItemDescriptor(menuItemDescriptor);
|
|
6
|
+
const gmailAppMenuItemView = new GmailAppMenuItemView(driver, menuItemDescriptor);
|
|
8
7
|
try {
|
|
9
|
-
if (!appMenuInjectionContainer
|
|
8
|
+
if (!appMenuInjectionContainer)
|
|
10
9
|
return;
|
|
11
|
-
const siblingElement = menuItemDescriptor.insertIndex
|
|
10
|
+
const siblingElement = Number.isInteger(menuItemDescriptor.insertIndex)
|
|
12
11
|
? appMenuInjectionContainer.childNodes[menuItemDescriptor.insertIndex] ??
|
|
13
12
|
null
|
|
14
13
|
: null;
|
package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AppMenuItemPanelDescriptor } from '../../../namespaces/app-menu';
|
|
2
2
|
import { CollapsiblePanelView } from '../../../views/collapsible-panel-view';
|
|
3
3
|
import GmailDriver from '../gmail-driver';
|
|
4
|
-
export declare function addCollapsiblePanel(driver: GmailDriver, panelDescriptor: AppMenuItemPanelDescriptor): Promise<CollapsiblePanelView | undefined>;
|
|
4
|
+
export declare function addCollapsiblePanel(driver: GmailDriver, panelDescriptor: AppMenuItemPanelDescriptor, insertIndex?: number): Promise<CollapsiblePanelView | undefined>;
|
|
5
5
|
//# sourceMappingURL=add-collapsible-panel.d.ts.map
|
package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-collapsible-panel.d.ts","sourceRoot":"","sources":["../../../../../../../src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAI1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAE1C,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,WAAW,EACnB,eAAe,EAAE,0BAA0B,
|
|
1
|
+
{"version":3,"file":"add-collapsible-panel.d.ts","sourceRoot":"","sources":["../../../../../../../src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAI1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAE1C,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,WAAW,EACnB,eAAe,EAAE,0BAA0B,EAC3C,WAAW,CAAC,EAAE,MAAM,6CAmCrB"}
|
package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.js
CHANGED
|
@@ -3,7 +3,7 @@ import GmailElementGetter from '../gmail-element-getter';
|
|
|
3
3
|
import waitFor from '../../../lib/wait-for';
|
|
4
4
|
import Logger from '../../../lib/logger';
|
|
5
5
|
import { CollapsiblePanelView } from '../../../views/collapsible-panel-view';
|
|
6
|
-
export async function addCollapsiblePanel(driver, panelDescriptor) {
|
|
6
|
+
export async function addCollapsiblePanel(driver, panelDescriptor, insertIndex) {
|
|
7
7
|
const injectionContainer = await waitForAppMenuParentReady();
|
|
8
8
|
const collapsiblePanelView = new CollapsiblePanelView(driver, panelDescriptor);
|
|
9
9
|
if (!injectionContainer || !collapsiblePanelView.element)
|
|
@@ -11,7 +11,18 @@ export async function addCollapsiblePanel(driver, panelDescriptor) {
|
|
|
11
11
|
const appMenu = await GmailElementGetter.getAppMenuAsync();
|
|
12
12
|
if (!appMenu)
|
|
13
13
|
return;
|
|
14
|
-
|
|
14
|
+
const panelNodes = injectionContainer.querySelectorAll(CollapsiblePanelView.elementSelectors.NATIVE) ?? [];
|
|
15
|
+
const siblingElement = Number.isInteger(insertIndex)
|
|
16
|
+
? panelNodes[insertIndex] ?? null
|
|
17
|
+
: null;
|
|
18
|
+
if (siblingElement) {
|
|
19
|
+
siblingElement.insertAdjacentElement('beforebegin', collapsiblePanelView.element);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
[...panelNodes]
|
|
23
|
+
.at(-1)
|
|
24
|
+
?.insertAdjacentElement('afterend', collapsiblePanelView.element);
|
|
25
|
+
}
|
|
15
26
|
return collapsiblePanelView;
|
|
16
27
|
}
|
|
17
28
|
const waitForAppMenuParentReady = once(async () => {
|
package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gmail-load-event.d.ts","sourceRoot":"","sources":["../../../../../../../src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,WAAW,MAAM,iBAAiB,CAAC;AAO/C,wBAA8B,cAAc,CAAC,MAAM,EAAE,WAAW,iBA2C/D"}
|
|
@@ -1,43 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
}
|
|
1
|
+
/* @flow */
|
|
2
|
+
import isIntegratedViewGmail, { isCollapsiblePanelHidden, } from './isIntegratedViewGmail';
|
|
3
|
+
import { waitForMenuReady } from './add-nav-item';
|
|
4
|
+
import { isDarkTheme } from './track-gmail-styles';
|
|
5
|
+
export default async function gmailLoadEvent(driver) {
|
|
6
|
+
const pageCommunicator = driver.getPageCommunicator();
|
|
7
|
+
const isConversationViewDisabled = await pageCommunicator.isConversationViewDisabled();
|
|
8
|
+
await waitForMenuReady();
|
|
9
|
+
driver.getLogger().eventSite('gmailSettings', {
|
|
10
|
+
isGmailIntegratedView: isIntegratedViewGmail(),
|
|
11
|
+
isCollapsiblePanelHidden: isCollapsiblePanelHidden(),
|
|
12
|
+
isDarkTheme: isDarkTheme(),
|
|
13
|
+
screenWidth: window.screen?.width,
|
|
14
|
+
screenHeight: window.screen?.height,
|
|
15
|
+
windowWidth: window.innerWidth,
|
|
16
|
+
windowHeight: window.innerHeight,
|
|
17
|
+
language: pageCommunicator.getUserLanguage(),
|
|
18
|
+
isUsingSyncAPI: pageCommunicator.isUsingSyncAPI(),
|
|
19
|
+
previewPane: pageCommunicator.getUserOriginalPreviewPaneMode(),
|
|
20
|
+
isConversationViewDisabled,
|
|
21
|
+
wasAccountSwitcherReadyAtStart: driver.getEnvData().wasAccountSwitcherReadyAtStart,
|
|
22
|
+
timings: {
|
|
23
|
+
...{
|
|
24
|
+
responseStart: global.performance?.timing.responseStart,
|
|
25
|
+
responseEnd: global.performance?.timing.responseEnd,
|
|
26
|
+
domLoading: global.performance?.timing.domLoading,
|
|
27
|
+
domInteractive: global.performance?.timing.domInteractive,
|
|
28
|
+
domComplete: global.performance?.timing.domComplete,
|
|
29
|
+
domContentLoadedEventStart: global.performance?.timing.domContentLoadedEventStart,
|
|
30
|
+
domContentLoadedEventEnd: global.performance?.timing.domContentLoadedEventEnd,
|
|
31
|
+
domainLookupEnd: global.performance?.timing.domainLookupEnd,
|
|
32
|
+
domainLookupStart: global.performance?.timing.domainLookupStart,
|
|
33
|
+
fetchStart: global.performance?.timing.fetchStart,
|
|
34
|
+
loadEventStart: global.performance?.timing.loadEventStart,
|
|
35
|
+
loadEventEnd: global.performance?.timing.loadEventEnd,
|
|
36
|
+
navigationStart: global.performance?.timing.navigationStart,
|
|
37
|
+
requestStart: global.performance?.timing.requestStart,
|
|
38
|
+
},
|
|
39
|
+
...driver.getTimings(),
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
}
|
package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts
CHANGED
|
@@ -1,2 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* https://support.google.com/mail/answer/11555490
|
|
3
|
+
*/
|
|
1
4
|
export default function isIntegratedViewGmail(): boolean;
|
|
5
|
+
/** @returns null if the app menu is configured off */
|
|
6
|
+
export declare function isCollapsiblePanelHidden(): boolean | null;
|
|
2
7
|
//# sourceMappingURL=isIntegratedViewGmail.d.ts.map
|
package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isIntegratedViewGmail.d.ts","sourceRoot":"","sources":["../../../../../../../src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,qBAAqB,IAAI,OAAO,CAGvD"}
|
|
1
|
+
{"version":3,"file":"isIntegratedViewGmail.d.ts","sourceRoot":"","sources":["../../../../../../../src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,IAAI,OAAO,CAGvD;AAED,sDAAsD;AACtD,wBAAgB,wBAAwB,IAAI,OAAO,GAAG,IAAI,CAMzD"}
|
package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.js
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* https://support.google.com/mail/answer/11555490
|
|
3
|
+
*/
|
|
1
4
|
export default function isIntegratedViewGmail() {
|
|
2
5
|
const nav = document.querySelector('div[role=navigation]');
|
|
3
6
|
return Boolean(nav?.firstElementChild?.classList.contains('Xa'));
|
|
4
7
|
}
|
|
8
|
+
/** @returns null if the app menu is configured off */
|
|
9
|
+
export function isCollapsiblePanelHidden() {
|
|
10
|
+
if (!isIntegratedViewGmail()) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
return document.querySelector('div[role=navigation].aBA') != null;
|
|
14
|
+
}
|
package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.d.ts
CHANGED
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare function isDarkTheme(): boolean;
|
|
2
|
+
export declare const stylesStream: import("kefir-bus").Bus<{
|
|
3
|
+
type: 'theme';
|
|
4
|
+
isDarkMode: boolean;
|
|
5
|
+
}, unknown>;
|
|
6
|
+
export default function trackGmailStyles(): Promise<void>;
|
|
2
7
|
//# sourceMappingURL=track-gmail-styles.d.ts.map
|
package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track-gmail-styles.d.ts","sourceRoot":"","sources":["../../../../../../../src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"track-gmail-styles.d.ts","sourceRoot":"","sources":["../../../../../../../src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.ts"],"names":[],"mappings":"AA8BA,wBAAgB,WAAW,IAAI,OAAO,CAyBrC;AAED,eAAO,MAAM,YAAY;UACf,OAAO;gBAAc,OAAO;WAEnC,CAAC;AAEJ,wBAA8B,gBAAgB,kBAmE7C"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import kefirBus from 'kefir-bus';
|
|
1
2
|
import Logger from '../../../lib/logger';
|
|
2
3
|
import waitFor from '../../../lib/wait-for';
|
|
3
4
|
import GmailElementGetter from '../gmail-element-getter';
|
|
@@ -21,10 +22,11 @@ function getDensity() {
|
|
|
21
22
|
return 'compact';
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
|
-
|
|
25
|
+
const navItemSelector = '.aio';
|
|
26
|
+
export function isDarkTheme() {
|
|
25
27
|
// get the color of the left-nav-menu entries to determine whether Gmail is
|
|
26
28
|
// in dark theme mode.
|
|
27
|
-
const navItem = document.querySelector(
|
|
29
|
+
const navItem = document.querySelector(navItemSelector);
|
|
28
30
|
if (!navItem) {
|
|
29
31
|
Logger.error(new Error('Failed to find nav item'));
|
|
30
32
|
return false;
|
|
@@ -45,7 +47,8 @@ function isDarkTheme() {
|
|
|
45
47
|
}
|
|
46
48
|
return r > 128;
|
|
47
49
|
}
|
|
48
|
-
export
|
|
50
|
+
export const stylesStream = kefirBus();
|
|
51
|
+
export default async function trackGmailStyles() {
|
|
49
52
|
if (document.head.hasAttribute('data-inboxsdk-gmail-style-tracker') ||
|
|
50
53
|
GmailElementGetter.isStandalone()) {
|
|
51
54
|
return;
|
|
@@ -71,25 +74,34 @@ export default function trackGmailStyles() {
|
|
|
71
74
|
else {
|
|
72
75
|
document.body.classList.remove('inboxsdk__gmail_dark_theme');
|
|
73
76
|
}
|
|
77
|
+
stylesStream.emit({
|
|
78
|
+
type: 'theme',
|
|
79
|
+
isDarkMode: newDarkTheme,
|
|
80
|
+
});
|
|
74
81
|
}
|
|
75
82
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
const options = {
|
|
82
|
-
characterData: true,
|
|
83
|
-
childList: true,
|
|
84
|
-
};
|
|
85
|
-
Array.from(document.styleSheets).forEach((sheet) => {
|
|
86
|
-
if (sheet.ownerNode.tagName == 'STYLE') {
|
|
87
|
-
observer.observe(sheet.ownerNode, options);
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
checkStyles();
|
|
91
|
-
})
|
|
92
|
-
.catch((err) => {
|
|
83
|
+
try {
|
|
84
|
+
await waitFor(() => document.querySelector('.TO .TN') &&
|
|
85
|
+
document.querySelector(navItemSelector));
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
93
88
|
Logger.error(err);
|
|
94
|
-
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
// Gmail changes an inline <style> sheet when the display density changes.
|
|
92
|
+
// Watch for changes to all <style> elements.
|
|
93
|
+
const observer = new MutationObserver(checkStyles);
|
|
94
|
+
const options = {
|
|
95
|
+
characterData: true,
|
|
96
|
+
childList: true,
|
|
97
|
+
};
|
|
98
|
+
for (const sheet of document.styleSheets) {
|
|
99
|
+
if (!(sheet.ownerNode instanceof Element)) {
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
if (sheet.ownerNode.tagName == 'STYLE') {
|
|
103
|
+
observer.observe(sheet.ownerNode, options);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
checkStyles();
|
|
95
107
|
}
|
|
@@ -18,6 +18,7 @@ import GmailSupportItemView, {
|
|
|
18
18
|
import { AppMenuItemDescriptor } from '../../namespaces/app-menu';
|
|
19
19
|
import { GmailAppMenuItemView } from './views/gmail-app-menu-item-view';
|
|
20
20
|
import { RouteView } from '../../../inboxsdk';
|
|
21
|
+
import { EnvData } from '../../platform-implementation';
|
|
21
22
|
|
|
22
23
|
type GmailThreadView = any;
|
|
23
24
|
type GmailMessageView = any;
|
|
@@ -28,42 +29,41 @@ type GmailMoleViewDriver = any;
|
|
|
28
29
|
type GmailBackdrop = any;
|
|
29
30
|
|
|
30
31
|
export default class GmailDriver implements Driver {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
32
|
+
getEnvData(): EnvData;
|
|
33
|
+
getTimings(): { [ix: string]: number | undefined | null };
|
|
34
|
+
onready: Promise<void>;
|
|
35
|
+
isUsingSyncAPI(): boolean;
|
|
36
|
+
getLogger(): Logger;
|
|
37
|
+
getAppId(): string;
|
|
38
|
+
getOpts(): PiOpts;
|
|
39
|
+
getRouteViewDriverStream(): Kefir.Observable<RouteView, any>; // should be a property
|
|
40
|
+
getRowListViewDriverStream(): Kefir.Observable<any, any>;
|
|
41
|
+
openNewComposeViewDriver(): Promise<GmailComposeView>;
|
|
42
|
+
getNextComposeViewDriver(): Promise<GmailComposeView>;
|
|
43
|
+
getComposeViewDriverStream(): Kefir.Observable<GmailComposeView, any>;
|
|
44
|
+
openDraftByMessageID(messageID: string): Promise<void>;
|
|
45
|
+
getThreadViewDriverStream(): Kefir.Observable<GmailThreadView, any>;
|
|
46
|
+
getMessageViewDriverStream(): Kefir.Observable<GmailMessageView, any>;
|
|
47
|
+
getAttachmentCardViewDriverStream(): Kefir.Observable<
|
|
45
48
|
GmailAttachmentCardView,
|
|
46
49
|
any
|
|
47
50
|
>;
|
|
48
|
-
|
|
51
|
+
activateShortcut(
|
|
49
52
|
keyboardShortcutHandle: KeyboardShortcutHandle,
|
|
50
53
|
appName?: string,
|
|
51
54
|
appIconUrl?: string
|
|
52
55
|
): void;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
>;
|
|
65
|
-
public registerThreadButton(options: any): () => void;
|
|
66
|
-
public addNavItem(
|
|
56
|
+
getTagTree(): TagTree<HTMLElement>;
|
|
57
|
+
getPageCommunicator(): GmailPageCommunicator;
|
|
58
|
+
getGmailActionToken(): Promise<string>;
|
|
59
|
+
getUserEmailAddress(): string;
|
|
60
|
+
isConversationViewDisabled(): Promise<boolean>;
|
|
61
|
+
getUserLanguage(): string;
|
|
62
|
+
getUserContact(): Contact;
|
|
63
|
+
getAccountSwitcherContactList(): Contact[];
|
|
64
|
+
getThreadRowViewDriverStream(): Kefir.Observable<GmailThreadRowView, any>;
|
|
65
|
+
registerThreadButton(options: any): () => void;
|
|
66
|
+
addNavItem(
|
|
67
67
|
appId: string,
|
|
68
68
|
navItemDescriptor: any,
|
|
69
69
|
navMenuInjectionContainer?: HTMLElement
|
|
@@ -71,38 +71,38 @@ export default class GmailDriver implements Driver {
|
|
|
71
71
|
addAppMenuItem(
|
|
72
72
|
menuItemDescriptor: AppMenuItemDescriptor
|
|
73
73
|
): Promise<GmailAppMenuItemView>;
|
|
74
|
-
|
|
74
|
+
addSupportItem(
|
|
75
75
|
supportItemDescriptor: SupportItemDescriptor
|
|
76
76
|
): GmailSupportItemView;
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
77
|
+
getSentMailNativeNavItem(): Promise<any>;
|
|
78
|
+
createLink(a: any, b: any): any;
|
|
79
|
+
goto(routeID: string, params: any): Promise<void>;
|
|
80
|
+
addCustomRouteID(routeID: string): () => void;
|
|
81
|
+
addCustomListRouteID(routeID: string, handler: Function): () => void;
|
|
82
|
+
showCustomRouteView(el: HTMLElement): void;
|
|
83
|
+
setShowNativeNavMarker(isNative: boolean): any;
|
|
84
|
+
setShowNativeAddonSidebar(isNative: boolean): any;
|
|
85
|
+
registerSearchSuggestionsProvider(handler: Function): void;
|
|
86
|
+
registerSearchQueryRewriter(obj: any): void;
|
|
87
|
+
addToolbarButtonForApp(
|
|
88
88
|
buttonDescriptor: Kefir.Observable<any, any>
|
|
89
89
|
): Promise<any>;
|
|
90
|
-
|
|
90
|
+
addGlobalSidebarContentPanel(
|
|
91
91
|
buttonDescriptor: Kefir.Observable<any, any>
|
|
92
92
|
): Promise<ContentPanelViewDriver | null | undefined>;
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
93
|
+
getButterBarDriver(): GmailButterBarDriver;
|
|
94
|
+
setButterBar(butterBar: any): void;
|
|
95
|
+
isRunningInPageContext(): boolean;
|
|
96
|
+
showAppIdWarning(): void;
|
|
97
|
+
createModalViewDriver(options: any): any;
|
|
98
|
+
createMoleViewDriver(options: any): GmailMoleViewDriver;
|
|
99
|
+
createTopMessageBarDriver(options: any): any;
|
|
100
|
+
createDrawerViewDriver(options: DrawerViewOptions): DrawerViewDriver;
|
|
101
|
+
createBackdrop(zIndex?: number, target?: HTMLElement): GmailBackdrop;
|
|
102
|
+
getStopper(): Kefir.Observable<null, never>;
|
|
103
|
+
destroy(): void;
|
|
104
104
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
105
|
+
getSelectedThreadRowViewDrivers(): ReadonlyArray<GmailThreadRowView>;
|
|
106
|
+
registerThreadRowViewSelectionHandler(handler: () => any): () => void;
|
|
107
|
+
getLoadEventDetails(): any;
|
|
108
108
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gmail-element-getter.d.ts","sourceRoot":"","sources":["../../../../../../src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAA+B,EAC7B,mBAAmB,EACpB,MAAM,yCAAyC,CAAC;AAmBjD,QAAA,MAAM,kBAAkB;yBACD,WAAW,GAAG,IAAI;uCAcJ,WAAW,GAAG,IAAI;kDAKP,WAAW,GAAG,IAAI;+CAKrB,WAAW,GAAG,IAAI;wBAIzC,WAAW,GAAG,IAAI;iCAOT,WAAW,GAAG,IAAI;gCAInB,WAAW,GAAG,SAAS,GAAG,IAAI;2CA8BnB,WAAW,GAAG,IAAI;iDAIZ,MAAM,UAAU,CAC3D,mBAAmB,EACnB,KAAK,CACN;uBAgBkB,WAAW,GAAG,IAAI;kCAIP,WAAW,GAAG,IAAI;+
|
|
1
|
+
{"version":3,"file":"gmail-element-getter.d.ts","sourceRoot":"","sources":["../../../../../../src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAA+B,EAC7B,mBAAmB,EACpB,MAAM,yCAAyC,CAAC;AAmBjD,QAAA,MAAM,kBAAkB;yBACD,WAAW,GAAG,IAAI;uCAcJ,WAAW,GAAG,IAAI;kDAKP,WAAW,GAAG,IAAI;+CAKrB,WAAW,GAAG,IAAI;wBAIzC,WAAW,GAAG,IAAI;iCAOT,WAAW,GAAG,IAAI;gCAInB,WAAW,GAAG,SAAS,GAAG,IAAI;2CA8BnB,WAAW,GAAG,IAAI;iDAIZ,MAAM,UAAU,CAC3D,mBAAmB,EACnB,KAAK,CACN;uBAgBkB,WAAW,GAAG,IAAI;kCAIP,WAAW,GAAG,IAAI;+BAUrB,WAAW,GAAG,IAAI;0CAIP,WAAW,GAAG,IAAI;+BAI7B,WAAW,GAAG,IAAI;+CAQrC,GAAG,KACR,MAAM,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC;qBAItB,WAAW,GAAG,IAAI;+BAOR,OAAO;;;;;;uDAkFiB,WAAW,GAAG,IAAI;mDAItB,WAAW,GAAG,IAAI;0BAQ3C,WAAW,EAAE;0BAIb,WAAW,GAAG,IAAI;sBAItB,gBAAgB,GAAG,IAAI;qCAMR,WAAW,GAAG,IAAI;kCAIrB,WAAW,GAAG,IAAI;2BAIzB,WAAW,GAAG,IAAI;iCAWZ,WAAW,GAAG,IAAI;yBAI1B,WAAW;8BAIN,WAAW,GAAG,IAAI;sBAM1B,OAAO;mBAaV,OAAO;qBAIL,OAAO;oBAIR,OAAO;iCAIM,OAAO;gCAOR,OAAO;;qCASJ,WAAW,GAAG,IAAI;;gCAKrB,QAAQ,IAAI,CAAC;CAG1C,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -89,6 +89,9 @@ const GmailElementGetter = {
|
|
|
89
89
|
return document.querySelector('.aeN .aj5.J-KU-Jg');
|
|
90
90
|
},
|
|
91
91
|
getLeftNavContainerElement() {
|
|
92
|
+
if (this.getAppMenu()) {
|
|
93
|
+
return this.getAppMenuContainer()?.querySelector('.aqn.aIH') ?? null;
|
|
94
|
+
}
|
|
92
95
|
if (isIntegratedViewGmail()) {
|
|
93
96
|
return document.querySelector('div[role=navigation] + div.aqn');
|
|
94
97
|
}
|
|
@@ -166,7 +169,7 @@ const GmailElementGetter = {
|
|
|
166
169
|
}),
|
|
167
170
|
isAppBurgerMenuOpen() {
|
|
168
171
|
return (document
|
|
169
|
-
.querySelector('
|
|
172
|
+
.querySelector('header[role="banner"] > div > div > div[aria-expanded]')
|
|
170
173
|
?.getAttribute('aria-expanded') === 'true' ?? false);
|
|
171
174
|
},
|
|
172
175
|
getAppMenuContainer() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gmail-page-communicator.d.ts","sourceRoot":"","sources":["../../../../../../src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,sBAAsB,MAAM,oCAAoC,CAAC;AASxE,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,sBAAsB;
|
|
1
|
+
{"version":3,"file":"gmail-page-communicator.d.ts","sourceRoot":"","sources":["../../../../../../src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,sBAAsB,MAAM,oCAAoC,CAAC;AASxE,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,sBAAsB;IACjE,cAAc,CAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IASnB,oBAAoB,CACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,KAAK,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;KACjC,CAAC,GAAG,IAAI,CAAC;YASI,eAAe;IAwC7B,iCAAiC,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI;IAexE,8BAA8B,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI;IAerE,kBAAkB,CAChB,sBAAsB,EAAE,WAAW,EACnC,iBAAiB,GAAE,OAAe,GACjC,MAAM;IAgBT,8BAA8B,IAAI,MAAM,GAAG,IAAI;IAI/C,mBAAmB,IAAI,MAAM;IAM7B,cAAc,IAAI,OAAO;IAMzB,0BAA0B,IAAI,OAAO,CAAC,OAAO,CAAC;IAkB9C,2BAA2B,CAAC,UAAU,EAAE,MAAM;IAU9C,8BAA8B,CAC5B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,8BAA8B,EAAE;IAgB/C,2BAA2B,CAAC,KAAK,EAAE,MAAM;IAUzC,qBAAqB,CAAC,MAAM,EAAE;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB;IAUD,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAU7D,sBAAsB,CAAC,IAAI,EAAE,MAAM;IAUnC,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAUzD,8BAA8B,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAqBpE,gCAAgC,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAUlE,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG;CAa3E"}
|
|
@@ -10,6 +10,7 @@ export type MessageEvents = {
|
|
|
10
10
|
export declare const NATIVE_CLASS: "Xa";
|
|
11
11
|
export declare const INBOXSDK_CLASS: "inboxsdk__appMenuItem";
|
|
12
12
|
export declare const ELEMENT_CLASS: "Xa inboxsdk__appMenuItem";
|
|
13
|
+
export declare const ICON_ELEMENT_SELECTOR: ".V6.CL";
|
|
13
14
|
declare const GmailAppMenuItemView_base: new () => TypedEventEmitter<MessageEvents>;
|
|
14
15
|
export declare class GmailAppMenuItemView extends GmailAppMenuItemView_base {
|
|
15
16
|
#private;
|
|
@@ -17,19 +18,11 @@ export declare class GmailAppMenuItemView extends GmailAppMenuItemView_base {
|
|
|
17
18
|
readonly HOVER: "aIk";
|
|
18
19
|
readonly ACTIVE: "apV";
|
|
19
20
|
};
|
|
20
|
-
get element(): HTMLElement
|
|
21
|
-
|
|
22
|
-
get menuItemDescriptor(): AppMenuItemDescriptor
|
|
23
|
-
constructor(driver: GmailDriver);
|
|
21
|
+
get element(): HTMLElement;
|
|
22
|
+
set menuItemDescriptor(newMenuItemDescriptor: AppMenuItemDescriptor);
|
|
23
|
+
get menuItemDescriptor(): AppMenuItemDescriptor;
|
|
24
|
+
constructor(driver: GmailDriver, menuItemDescriptor: AppMenuItemDescriptor);
|
|
24
25
|
remove(): void;
|
|
25
|
-
/**
|
|
26
|
-
* @internal
|
|
27
|
-
*/
|
|
28
|
-
blur(): void;
|
|
29
|
-
/**
|
|
30
|
-
* @internal
|
|
31
|
-
*/
|
|
32
|
-
hover(): void;
|
|
33
26
|
}
|
|
34
27
|
export {};
|
|
35
28
|
//# sourceMappingURL=gmail-app-menu-item-view.d.ts.map
|
package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.d.ts.map
CHANGED
|
@@ -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;
|
|
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;AAO9C,MAAM,MAAM,aAAa,GAAG;IAC1B,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;AAI1E,eAAO,MAAM,qBAAqB,UAAoB,CAAC;mDAGc,kBAAkB,aAAa,CAAC;AAArG,qBAAa,oBAAqB,SAAQ,yBAA4D;;IACpG,MAAM,CAAC,UAAU;;;MAGN;IAOX,IAAI,OAAO,gBAEV;IAED,IAAI,kBAAkB,CAAC,qBAAqB,uBAAA,EAG3C;IAED,IAAI,kBAAkB,0BAErB;gBAEW,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,qBAAqB;IAwB1E,MAAM;CA6GP"}
|