@operato/context 1.1.19

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 (35) hide show
  1. package/.editorconfig +29 -0
  2. package/.storybook/main.js +3 -0
  3. package/.storybook/server.mjs +8 -0
  4. package/CHANGELOG.md +11 -0
  5. package/README.md +75 -0
  6. package/demo/index.html +32 -0
  7. package/dist/src/index.d.ts +1 -0
  8. package/dist/src/index.js +2 -0
  9. package/dist/src/index.js.map +1 -0
  10. package/dist/src/layouts/ox-context-toolbar.d.ts +17 -0
  11. package/dist/src/layouts/ox-context-toolbar.js +127 -0
  12. package/dist/src/layouts/ox-context-toolbar.js.map +1 -0
  13. package/dist/src/styles/ox-context-toolbar-overlay-style.d.ts +1 -0
  14. package/dist/src/styles/ox-context-toolbar-overlay-style.js +58 -0
  15. package/dist/src/styles/ox-context-toolbar-overlay-style.js.map +1 -0
  16. package/dist/src/tools/ox-page-action-context-bar.d.ts +27 -0
  17. package/dist/src/tools/ox-page-action-context-bar.js +172 -0
  18. package/dist/src/tools/ox-page-action-context-bar.js.map +1 -0
  19. package/dist/src/tools/ox-page-action-overlay-template.d.ts +16 -0
  20. package/dist/src/tools/ox-page-action-overlay-template.js +116 -0
  21. package/dist/src/tools/ox-page-action-overlay-template.js.map +1 -0
  22. package/dist/src/tools/ox-title-bar.d.ts +17 -0
  23. package/dist/src/tools/ox-title-bar.js +99 -0
  24. package/dist/src/tools/ox-title-bar.js.map +1 -0
  25. package/dist/tsconfig.tsbuildinfo +1 -0
  26. package/package.json +101 -0
  27. package/src/index.ts +1 -0
  28. package/src/layouts/ox-context-toolbar.ts +125 -0
  29. package/src/styles/ox-context-toolbar-overlay-style.ts +58 -0
  30. package/src/tools/ox-page-action-context-bar.ts +176 -0
  31. package/src/tools/ox-page-action-overlay-template.ts +112 -0
  32. package/src/tools/ox-title-bar.ts +99 -0
  33. package/tsconfig.json +23 -0
  34. package/web-dev-server.config.mjs +27 -0
  35. package/web-test-runner.config.mjs +41 -0
@@ -0,0 +1,116 @@
1
+ import { __decorate } from "tslib";
2
+ import '@material/mwc-icon';
3
+ import { css, html, LitElement } from 'lit-element';
4
+ import { customElement, state } from 'lit/decorators.js';
5
+ import { connect } from 'pwa-helpers';
6
+ import { store } from '@operato/shell';
7
+ import { ScrollbarStyles } from '@operato/styles';
8
+ import { sleep } from '@operato/utils';
9
+ import { ContextToolbarOverlayStyle } from '../styles/ox-context-toolbar-overlay-style.js';
10
+ let PageActionOverlayTemplate = class PageActionOverlayTemplate extends connect(store)(LitElement) {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.actions = [];
14
+ }
15
+ static get styles() {
16
+ return [
17
+ ScrollbarStyles,
18
+ ContextToolbarOverlayStyle,
19
+ css `
20
+ :host {
21
+ display: flex;
22
+ flex-wrap: wrap;
23
+ gap: var(--margin-narrow);
24
+ }
25
+ :host *:focus {
26
+ outline: none;
27
+ }
28
+
29
+ mwc-button {
30
+ background-color: var(--main-section-background-color);
31
+ border-radius: var(--context-action-bar-more-button-border-radius);
32
+ }
33
+
34
+ [danger] {
35
+ --mdc-theme-primary: var(--mdc-danger-button-primary-color);
36
+ --mdc-button-outline-color: var(--mdc-danger-button-outline-color);
37
+ }
38
+
39
+ @media screen and (max-width: 460px) {
40
+ mwc-button {
41
+ --mdc-button-horizontal-padding: var(--padding-default);
42
+ border-radius: 4px;
43
+ }
44
+ }
45
+
46
+ @keyframes rotate {
47
+ from {
48
+ transform: rotate(0deg);
49
+ }
50
+ to {
51
+ transform: rotate(360deg);
52
+ }
53
+ }
54
+ `
55
+ ];
56
+ }
57
+ render() {
58
+ return html `
59
+ ${this.actions.map(($action, idx) => {
60
+ let { type, title, icon, action, select, href, emphasis } = $action;
61
+ let { outlined, raised, dense, danger } = emphasis || {};
62
+ return type == 'text'
63
+ ? html ` <span>${title}</span> `
64
+ : type == 'select' || (select && select.length > 0)
65
+ ? html `
66
+ <select @change=${action}>
67
+ ${select.map((option) => html ` <option>${option}</option> `)}
68
+ </select>
69
+ `
70
+ : type == 'link'
71
+ ? html ` <a href=${href}>${title}</a> `
72
+ : html `
73
+ <mwc-button
74
+ label=${title}
75
+ icon=${icon || 'done_all'}
76
+ ?dense=${dense}
77
+ ?raised=${raised}
78
+ ?outlined=${outlined}
79
+ ?danger=${danger}
80
+ @click=${async (e) => {
81
+ var _a;
82
+ /* all actions should be bloked for a second */
83
+ const button = e.currentTarget;
84
+ button.icon = 'rotate_right';
85
+ button.setAttribute('working', true);
86
+ button.disabled = true;
87
+ try {
88
+ action();
89
+ }
90
+ finally {
91
+ await sleep(1000);
92
+ button.disabled = false;
93
+ /* because icon can be changed after sleep, don't use closure 'icon'. */
94
+ button.icon = ((_a = this.actions[idx]) === null || _a === void 0 ? void 0 : _a.icon) || 'done_all';
95
+ button.removeAttribute('working');
96
+ window.history.back();
97
+ }
98
+ }}
99
+ ></mwc-button>
100
+ `;
101
+ })}
102
+ `;
103
+ }
104
+ stateChanged(state) {
105
+ var _a, _b, _c;
106
+ this.actions = ((_c = (_b = (_a = state.route) === null || _a === void 0 ? void 0 : _a.context) === null || _b === void 0 ? void 0 : _b.actions) === null || _c === void 0 ? void 0 : _c.filter((action) => !!action)) || [];
107
+ }
108
+ };
109
+ __decorate([
110
+ state()
111
+ ], PageActionOverlayTemplate.prototype, "actions", void 0);
112
+ PageActionOverlayTemplate = __decorate([
113
+ customElement('ox-page-action-overlay-template')
114
+ ], PageActionOverlayTemplate);
115
+ export { PageActionOverlayTemplate };
116
+ //# sourceMappingURL=ox-page-action-overlay-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-page-action-overlay-template.js","sourceRoot":"","sources":["../../../src/tools/ox-page-action-overlay-template.ts"],"names":[],"mappings":";AAAA,OAAO,oBAAoB,CAAA;AAE3B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,aAAa,EAAmB,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAEtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAA;AAGnF,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC;IAAlE;;QA4CY,YAAO,GAAU,EAAE,CAAA;IAsDtC,CAAC;IAjGC,MAAM,KAAK,MAAM;QACf,OAAO;YACL,eAAe;YACf,0BAA0B;YAC1B,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCF;SACF,CAAA;IACH,CAAC;IAID,MAAM;QACJ,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;YAClC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAc,CAAA;YAC1E,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,QAAQ,IAAI,EAAE,CAAA;YAExD,OAAO,IAAI,IAAI,MAAM;gBACnB,CAAC,CAAC,IAAI,CAAA,UAAU,KAAK,UAAU;gBAC/B,CAAC,CAAC,IAAI,IAAI,QAAQ,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;oBACnD,CAAC,CAAC,IAAI,CAAA;gCACgB,MAAM;kBACpB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,IAAI,CAAA,YAAY,MAAM,YAAY,CAAC;;aAEpE;oBACH,CAAC,CAAC,IAAI,IAAI,MAAM;wBAChB,CAAC,CAAC,IAAI,CAAA,YAAY,IAAI,IAAI,KAAK,OAAO;wBACtC,CAAC,CAAC,IAAI,CAAA;;wBAEQ,KAAK;uBACN,IAAI,IAAI,UAAU;yBAChB,KAAK;0BACJ,MAAM;4BACJ,QAAQ;0BACV,MAAM;yBACP,KAAK,EAAE,CAAa,EAAE,EAAE;;4BAC/B,+CAA+C;4BAC/C,MAAM,MAAM,GAAG,CAAC,CAAC,aAAoB,CAAA;4BACrC,MAAM,CAAC,IAAI,GAAG,cAAc,CAAA;4BAC5B,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;4BACpC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAA;4BAEtB,IAAI;gCACF,MAAM,EAAE,CAAA;6BACT;oCAAS;gCACR,MAAM,KAAK,CAAC,IAAI,CAAC,CAAA;gCACjB,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAA;gCACvB,wEAAwE;gCACxE,MAAM,CAAC,IAAI,GAAG,CAAA,MAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,0CAAE,IAAI,KAAI,UAAU,CAAA;gCACnD,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;gCAEjC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;6BACtB;wBACH,CAAC;;aAEJ,CAAA;QACP,CAAC,CAAC;KACH,CAAA;IACH,CAAC;IAED,YAAY,CAAC,KAAU;;QACrB,IAAI,CAAC,OAAO,GAAG,CAAA,MAAA,MAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,OAAO,0CAAE,OAAO,0CAAE,MAAM,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAI,EAAE,CAAA;IACvF,CAAC;CACF,CAAA;AAtDU;IAAR,KAAK,EAAE;0DAA4B;AA5CzB,yBAAyB;IADrC,aAAa,CAAC,iCAAiC,CAAC;GACpC,yBAAyB,CAkGrC;SAlGY,yBAAyB","sourcesContent":["import '@material/mwc-icon'\n\nimport { css, html, LitElement } from 'lit-element'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { connect } from 'pwa-helpers'\n\nimport { store } from '@operato/shell'\nimport { ScrollbarStyles } from '@operato/styles'\nimport { sleep } from '@operato/utils'\n\nimport { ContextToolbarOverlayStyle } from '../styles/ox-context-toolbar-overlay-style.js'\n\n@customElement('ox-page-action-overlay-template')\nexport class PageActionOverlayTemplate extends connect(store)(LitElement) {\n static get styles() {\n return [\n ScrollbarStyles,\n ContextToolbarOverlayStyle,\n css`\n :host {\n display: flex;\n flex-wrap: wrap;\n gap: var(--margin-narrow);\n }\n :host *:focus {\n outline: none;\n }\n\n mwc-button {\n background-color: var(--main-section-background-color);\n border-radius: var(--context-action-bar-more-button-border-radius);\n }\n\n [danger] {\n --mdc-theme-primary: var(--mdc-danger-button-primary-color);\n --mdc-button-outline-color: var(--mdc-danger-button-outline-color);\n }\n\n @media screen and (max-width: 460px) {\n mwc-button {\n --mdc-button-horizontal-padding: var(--padding-default);\n border-radius: 4px;\n }\n }\n\n @keyframes rotate {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n }\n `\n ]\n }\n\n @state() private actions: any[] = []\n\n render() {\n return html`\n ${this.actions.map(($action, idx) => {\n let { type, title, icon, action, select, href, emphasis } = $action as any\n let { outlined, raised, dense, danger } = emphasis || {}\n\n return type == 'text'\n ? html` <span>${title}</span> `\n : type == 'select' || (select && select.length > 0)\n ? html`\n <select @change=${action}>\n ${select.map((option: any) => html` <option>${option}</option> `)}\n </select>\n `\n : type == 'link'\n ? html` <a href=${href}>${title}</a> `\n : html`\n <mwc-button\n label=${title}\n icon=${icon || 'done_all'}\n ?dense=${dense}\n ?raised=${raised}\n ?outlined=${outlined}\n ?danger=${danger}\n @click=${async (e: MouseEvent) => {\n /* all actions should be bloked for a second */\n const button = e.currentTarget as any\n button.icon = 'rotate_right'\n button.setAttribute('working', true)\n button.disabled = true\n\n try {\n action()\n } finally {\n await sleep(1000)\n button.disabled = false\n /* because icon can be changed after sleep, don't use closure 'icon'. */\n button.icon = this.actions[idx]?.icon || 'done_all'\n button.removeAttribute('working')\n\n window.history.back()\n }\n }}\n ></mwc-button>\n `\n })}\n `\n }\n\n stateChanged(state: any) {\n this.actions = state.route?.context?.actions?.filter((action: any) => !!action) || []\n }\n}\n"]}
@@ -0,0 +1,17 @@
1
+ import '@material/mwc-icon';
2
+ import '@operato/input/ox-input-search.js';
3
+ import { LitElement } from 'lit';
4
+ declare const TitleBar_base: (new (...args: any[]) => {
5
+ _storeUnsubscribe: import("redux").Unsubscribe;
6
+ connectedCallback(): void;
7
+ disconnectedCallback(): void;
8
+ stateChanged(_state: unknown): void;
9
+ readonly isConnected: boolean;
10
+ }) & typeof LitElement;
11
+ export declare class TitleBar extends TitleBar_base {
12
+ static get styles(): import("lit").CSSResult;
13
+ private context;
14
+ render(): import("lit-html").TemplateResult<1>;
15
+ stateChanged(state: any): void;
16
+ }
17
+ export {};
@@ -0,0 +1,99 @@
1
+ import { __decorate } from "tslib";
2
+ import '@material/mwc-icon';
3
+ import '@operato/input/ox-input-search.js';
4
+ import { css, html, LitElement } from 'lit';
5
+ import { customElement, state } from 'lit/decorators.js';
6
+ import { connect } from 'pwa-helpers';
7
+ import { openHelp } from '@operato/help';
8
+ import { store } from '@operato/shell';
9
+ let TitleBar = class TitleBar extends connect(store)(LitElement) {
10
+ static get styles() {
11
+ return css `
12
+ :host {
13
+ display: flex;
14
+ --help-icon-color: #fff;
15
+ --help-icon-hover-color: #fff;
16
+ --help-icon-opacity: 0.2;
17
+ --help-icon-size: 20px;
18
+
19
+ --mdc-icon-size: 20px;
20
+ }
21
+
22
+ [titler] {
23
+ display: flex;
24
+ font: var(--context-toolbar-title);
25
+ }
26
+
27
+ [titler] > * {
28
+ align-self: center;
29
+ }
30
+
31
+ [help] {
32
+ opacity: var(--help-icon-opacity);
33
+ font-size: var(--help-icon-size);
34
+ color: var(--help-icon-color);
35
+ }
36
+
37
+ [help]:hover {
38
+ cursor: help;
39
+ opacity: var(--help-icon-hover-opacity);
40
+ color: var(--help-icon-hover-color);
41
+ }
42
+
43
+ [search] {
44
+ display: flex;
45
+ justify-content: space-between;
46
+ align-items: center;
47
+
48
+ align-self: center;
49
+ color: var(--secondary-color);
50
+ background-color: var(--opacity-light-color);
51
+ border-radius: 999em;
52
+ padding: 0 10px;
53
+ }
54
+
55
+ [search] > * {
56
+ align-self: center;
57
+ }
58
+ `;
59
+ }
60
+ render() {
61
+ const { search, filter, title, help } = this.context || {};
62
+ const { value = '', handler: searchHandler, placeholder = '' } = search || {};
63
+ const { handler: filterHandler } = filter || {};
64
+ const { icon, text = title } = typeof title === 'object' ? title : {};
65
+ const searchable = typeof searchHandler == 'function';
66
+ const filterable = typeof filterHandler == 'function';
67
+ return html `
68
+ ${title ? html ` <div titler>${icon ? html `<mwc-icon>${icon}</mwc-icon>&nbsp;` : html ``}${text}</div> ` : html ``}
69
+ ${help ? html ` &nbsp;<mwc-icon @click=${(e) => openHelp(help)} help>help</mwc-icon> ` : html ``}
70
+ ${searchable || filterable
71
+ ? html `
72
+ <div search>
73
+ ${searchable
74
+ ? html ` <ox-input-search
75
+ .placeholder=${placeholder}
76
+ .value=${value || ''}
77
+ @change=${(e) => {
78
+ searchHandler(e.target.value);
79
+ }}
80
+ ></ox-input-search>`
81
+ : html ``}
82
+ ${filterable ? html `<mwc-icon @click=${(e) => filterHandler()}>tune</mwc-icon>` : html ``}
83
+ </div>
84
+ `
85
+ : html ``}
86
+ `;
87
+ }
88
+ stateChanged(state) {
89
+ this.context = state.route.context;
90
+ }
91
+ };
92
+ __decorate([
93
+ state()
94
+ ], TitleBar.prototype, "context", void 0);
95
+ TitleBar = __decorate([
96
+ customElement('ox-title-bar')
97
+ ], TitleBar);
98
+ export { TitleBar };
99
+ //# sourceMappingURL=ox-title-bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-title-bar.js","sourceRoot":"","sources":["../../../src/tools/ox-title-bar.ts"],"names":[],"mappings":";AAAA,OAAO,oBAAoB,CAAA;AAC3B,OAAO,mCAAmC,CAAA;AAE1C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAmB,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAG/B,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC;IACtD,MAAM,KAAK,MAAM;QACf,OAAO,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+CT,CAAA;IACH,CAAC;IAID,MAAM;QACJ,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,IAAK,EAAU,CAAA;QACnE,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,MAAM,IAAK,EAAU,CAAA;QACtF,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,IAAK,EAAU,CAAA;QACxD,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,EAAU,CAAA;QAC9E,MAAM,UAAU,GAAG,OAAO,aAAa,IAAI,UAAU,CAAA;QACrD,MAAM,UAAU,GAAG,OAAO,aAAa,IAAI,UAAU,CAAA;QAErD,OAAO,IAAI,CAAA;QACP,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA,gBAAgB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA,aAAa,IAAI,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAA,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA,EAAE;QAC7G,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA,2BAA2B,CAAC,CAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAA,EAAE;QACxG,UAAU,IAAI,UAAU;YACxB,CAAC,CAAC,IAAI,CAAA;;gBAEE,UAAU;gBACV,CAAC,CAAC,IAAI,CAAA;mCACa,WAAW;6BACjB,KAAK,IAAI,EAAE;8BACV,CAAC,CAAQ,EAAE,EAAE;oBACrB,aAAa,CAAE,CAAC,CAAC,MAAc,CAAC,KAAK,CAAC,CAAA;gBACxC,CAAC;sCACiB;gBACtB,CAAC,CAAC,IAAI,CAAA,EAAE;gBACR,UAAU,CAAC,CAAC,CAAC,IAAI,CAAA,oBAAoB,CAAC,CAAa,EAAE,EAAE,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAA,EAAE;;WAEvG;YACH,CAAC,CAAC,IAAI,CAAA,EAAE;KACX,CAAA;IACH,CAAC;IAED,YAAY,CAAC,KAAU;QACrB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAA;IACpC,CAAC;CACF,CAAA;AAnCU;IAAR,KAAK,EAAE;yCAAqB;AApDlB,QAAQ;IADpB,aAAa,CAAC,cAAc,CAAC;GACjB,QAAQ,CAuFpB;SAvFY,QAAQ","sourcesContent":["import '@material/mwc-icon'\nimport '@operato/input/ox-input-search.js'\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { connect } from 'pwa-helpers'\n\nimport { openHelp } from '@operato/help'\nimport { store } from '@operato/shell'\n\n@customElement('ox-title-bar')\nexport class TitleBar extends connect(store)(LitElement) {\n static get styles() {\n return css`\n :host {\n display: flex;\n --help-icon-color: #fff;\n --help-icon-hover-color: #fff;\n --help-icon-opacity: 0.2;\n --help-icon-size: 20px;\n\n --mdc-icon-size: 20px;\n }\n\n [titler] {\n display: flex;\n font: var(--context-toolbar-title);\n }\n\n [titler] > * {\n align-self: center;\n }\n\n [help] {\n opacity: var(--help-icon-opacity);\n font-size: var(--help-icon-size);\n color: var(--help-icon-color);\n }\n\n [help]:hover {\n cursor: help;\n opacity: var(--help-icon-hover-opacity);\n color: var(--help-icon-hover-color);\n }\n\n [search] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n align-self: center;\n color: var(--secondary-color);\n background-color: var(--opacity-light-color);\n border-radius: 999em;\n padding: 0 10px;\n }\n\n [search] > * {\n align-self: center;\n }\n `\n }\n\n @state() private context: any\n\n render() {\n const { search, filter, title, help } = this.context || ({} as any)\n const { value = '', handler: searchHandler, placeholder = '' } = search || ({} as any)\n const { handler: filterHandler } = filter || ({} as any)\n const { icon, text = title } = typeof title === 'object' ? title : ({} as any)\n const searchable = typeof searchHandler == 'function'\n const filterable = typeof filterHandler == 'function'\n\n return html`\n ${title ? html` <div titler>${icon ? html`<mwc-icon>${icon}</mwc-icon>&nbsp;` : html``}${text}</div> ` : html``}\n ${help ? html` &nbsp;<mwc-icon @click=${(e: MouseEvent) => openHelp(help)} help>help</mwc-icon> ` : html``}\n ${searchable || filterable\n ? html`\n <div search>\n ${searchable\n ? html` <ox-input-search\n .placeholder=${placeholder}\n .value=${value || ''}\n @change=${(e: Event) => {\n searchHandler((e.target as any).value)\n }}\n ></ox-input-search>`\n : html``}\n ${filterable ? html`<mwc-icon @click=${(e: MouseEvent) => filterHandler()}>tune</mwc-icon>` : html``}\n </div>\n `\n : html``}\n `\n }\n\n stateChanged(state: any) {\n this.context = state.route.context\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/@lit/reactive-element/css-tag.d.ts","../../../node_modules/@lit/reactive-element/reactive-controller.d.ts","../../../node_modules/@lit/reactive-element/reactive-element.d.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/@types/trusted-types/index.d.ts","../../../node_modules/lit-html/directive.d.ts","../../../node_modules/lit-html/lit-html.d.ts","../../../node_modules/lit-element/lit-element.d.ts","../../../node_modules/lit-html/is-server.d.ts","../../../node_modules/lit/index.d.ts","../src/styles/ox-context-toolbar-overlay-style.ts","../src/index.ts","../../../node_modules/@material/mwc-icon/mwc-icon.d.ts","../../../node_modules/@lit/reactive-element/decorators/base.d.ts","../../../node_modules/@lit/reactive-element/decorators/custom-element.d.ts","../../../node_modules/@lit/reactive-element/decorators/property.d.ts","../../../node_modules/@lit/reactive-element/decorators/state.d.ts","../../../node_modules/@lit/reactive-element/decorators/event-options.d.ts","../../../node_modules/@lit/reactive-element/decorators/query.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-all.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-async.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-assigned-nodes.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-assigned-elements.d.ts","../../../node_modules/lit/decorators.d.ts","../../../node_modules/redux/index.d.ts","../../../node_modules/pwa-helpers/connect-mixin.d.ts","../../../node_modules/pwa-helpers/lazy-reducer-enhancer.d.ts","../../shell/dist/src/store.d.ts","../../shell/dist/src/actions/app.d.ts","../../shell/dist/src/actions/route.d.ts","../../shell/dist/src/actions/const.d.ts","../../shell/dist/src/actions/index.d.ts","../../shell/dist/src/app/pages/page-view.d.ts","../../shell/dist/src/index.d.ts","../../layout/dist/src/initializer.d.ts","../../popup/dist/src/ox-popup.d.ts","../../popup/dist/src/ox-popup-list.d.ts","../../popup/dist/src/ox-popup-menu.d.ts","../../popup/dist/src/ox-popup-menuitem.d.ts","../../popup/dist/src/ox-floating-overlay.d.ts","../../popup/dist/src/open-popup.d.ts","../../popup/dist/src/index.d.ts","../../../node_modules/@material/base/foundation.d.ts","../../../node_modules/@material/mwc-base/utils.d.ts","../../../node_modules/@material/base/types.d.ts","../../../node_modules/@material/mwc-base/base-element.d.ts","../../../node_modules/@material/ripple/types.d.ts","../../../node_modules/@material/ripple/adapter.d.ts","../../../node_modules/@material/ripple/foundation.d.ts","../../../node_modules/@material/mwc-ripple/mwc-ripple-base.d.ts","../../../node_modules/@material/mwc-ripple/mwc-ripple.d.ts","../../../node_modules/@material/mwc-base/aria-property.d.ts","../../../node_modules/@material/mwc-ripple/ripple-handlers.d.ts","../../../node_modules/lit-html/directives/class-map.d.ts","../../../node_modules/lit/directives/class-map.d.ts","../../../node_modules/@material/mwc-button/mwc-button-base.d.ts","../../../node_modules/@material/mwc-button/mwc-button.d.ts","../../layout/dist/src/layouts/ox-snack-bar.d.ts","../../layout/dist/src/components/ox-resize-splitter.d.ts","../../layout/dist/src/layouts/ox-header-bar.d.ts","../../layout/dist/src/layouts/ox-nav-bar.d.ts","../../layout/dist/src/layouts/ox-aside-bar.d.ts","../../layout/dist/src/layouts/ox-footer-bar.d.ts","../../layout/dist/src/actions/layout.d.ts","../../layout/dist/src/actions/snackbar.d.ts","../../layout/dist/src/index.d.ts","../src/layouts/ox-context-toolbar.ts","../../../node_modules/lit-element/decorators.d.ts","../../../node_modules/lit-element/index.d.ts","../../../node_modules/pwa-helpers/media-query.d.ts","../../../node_modules/pwa-helpers/metadata.d.ts","../../../node_modules/pwa-helpers/network.d.ts","../../../node_modules/pwa-helpers/router.d.ts","../../../node_modules/pwa-helpers/pwa-helpers.d.ts","../../styles/dist/src/headroom-styles.d.ts","../../styles/dist/src/scrollbar-styles.d.ts","../../styles/dist/src/spinner-styles.d.ts","../../styles/dist/src/tooltip-styles.d.ts","../../styles/dist/src/common-button-styles.d.ts","../../styles/dist/src/common-grist-styles.d.ts","../../styles/dist/src/index.d.ts","../../utils/dist/src/sleep.d.ts","../../utils/dist/src/file-drop-helper.d.ts","../../utils/dist/src/context-path.d.ts","../../utils/dist/src/os.d.ts","../../utils/dist/src/swipe-listener.d.ts","../../utils/dist/src/fullscreen.d.ts","../../utils/dist/src/parse-jwt.d.ts","../../utils/dist/src/password-pattern.d.ts","../../utils/dist/src/closest-element.d.ts","../../utils/dist/src/detect-overflow.d.ts","../../utils/dist/src/timecapsule/snapshot-taker.d.ts","../../utils/dist/src/timecapsule/timecapsule.d.ts","../../utils/dist/src/timecapsule/index.d.ts","../../utils/dist/src/clipboard.d.ts","../../utils/dist/src/format.d.ts","../../utils/dist/src/adjust-list-param.d.ts","../../utils/dist/src/is-unvalued.d.ts","../../utils/dist/src/index.d.ts","../src/tools/ox-page-action-overlay-template.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/lodash-es/throttle.d.ts","../src/tools/ox-page-action-context-bar.ts","../../help/dist/src/controller/help.d.ts","../../help/dist/src/components/ox-help-icon.d.ts","../../data-grist/dist/src/data-card/data-card-field.d.ts","../../data-grist/dist/src/data-card/data-card-gutter.d.ts","../../data-grist/dist/src/data-grid/data-grid-field.d.ts","../../data-grist/dist/src/record-view/record-view-body.d.ts","../../data-grist/dist/src/record-view/record-view.d.ts","../../data-grist/dist/src/data-grid/data-grid-header.d.ts","../../data-grist/dist/src/data-grid/data-grid-body.d.ts","../../data-grist/dist/src/data-grid/data-grid-footer.d.ts","../../data-grist/dist/src/data-manipulator.d.ts","../../data-grist/dist/src/data-grid/data-grid.d.ts","../../data-grist/dist/src/data-list/data-list-gutter.d.ts","../../data-grist/dist/src/data-list/data-list-field.d.ts","../../data-grist/dist/src/data-list/record-partial.d.ts","../../data-grist/dist/src/data-list/data-list.d.ts","../../data-grist/dist/src/data-card/data-card.d.ts","../../data-grist/dist/src/empty-note.d.ts","../../data-grist/dist/src/data-consumer.d.ts","../../data-grist/dist/src/data-grist.d.ts","../../data-grist/dist/src/record-view/record-creator.d.ts","../../data-grist/dist/src/record-view/index.d.ts","../../data-grist/dist/src/data-card/data-card-gutter-menu.d.ts","../../data-grist/dist/src/data-card/record-card.d.ts","../../data-grist/dist/src/data-report/data-report-field.d.ts","../../data-grist/dist/src/editors/ox-grist-editor.d.ts","../../data-grist/dist/src/editors/registry.d.ts","../../data-grist/dist/src/editors/ox-grist-editor-image.d.ts","../../data-grist/dist/src/editors/index.d.ts","../../data-grist/dist/src/filters/registry.d.ts","../../data-grist/dist/src/filters/filter-select.d.ts","../../data-grist/dist/src/filters/filter-input.d.ts","../../data-grist/dist/src/filters/filter-checkbox.d.ts","../../data-grist/dist/src/filters/filter-range-date.d.ts","../../data-grist/dist/src/filters/filter-range-number.d.ts","../../data-grist/dist/src/filters/filters-form.d.ts","../../data-grist/dist/src/filters/index.d.ts","../../data-grist/dist/src/renderers/ox-grist-renderer.d.ts","../../data-grist/dist/src/types.d.ts","../../data-grist/dist/src/configure/zero-config.d.ts","../../data-grist/dist/src/data-report/data-report-header.d.ts","../../data-grist/dist/src/data-report/data-report-body.d.ts","../../data-grist/dist/src/data-report/data-report-component.d.ts","../../data-grist/dist/src/data-report.d.ts","../../data-grist/dist/src/renderers/registry.d.ts","../../data-grist/dist/src/renderers/ox-grist-renderer-boolean.d.ts","../../data-grist/dist/src/renderers/ox-grist-renderer-color.d.ts","../../data-grist/dist/src/renderers/ox-grist-renderer-date.d.ts","../../data-grist/dist/src/renderers/ox-grist-renderer-link.d.ts","../../data-grist/dist/src/renderers/ox-grist-renderer-password.d.ts","../../data-grist/dist/src/renderers/ox-grist-renderer-progress.d.ts","../../data-grist/dist/src/renderers/ox-grist-renderer-text.d.ts","../../data-grist/dist/src/renderers/ox-grist-renderer-select.d.ts","../../data-grist/dist/src/renderers/ox-grist-renderer-image.d.ts","../../data-grist/dist/src/renderers/ox-grist-renderer-file.d.ts","../../data-grist/dist/src/renderers/ox-grist-renderer-json5.d.ts","../../data-grist/dist/src/renderers/index.d.ts","../../data-grist/dist/src/handlers/registry.d.ts","../../data-grist/dist/src/handlers/index.d.ts","../../data-grist/dist/src/formatters/registry.d.ts","../../data-grist/dist/src/formatters/index.d.ts","../../data-grist/dist/src/gutters/registry.d.ts","../../data-grist/dist/src/gutters/index.d.ts","../../data-grist/dist/src/sorters/sorters-control.d.ts","../../data-grist/dist/src/utils/list-param.d.ts","../../data-grist/dist/src/index.d.ts","../../data-grist/dist/index.d.ts","../../help/dist/src/grist/help-decorated-renderer.d.ts","../../help/dist/src/components/ox-inline-help.d.ts","../../help/dist/src/components/ox-title-with-help.d.ts","../../help/dist/src/index.d.ts","../src/tools/ox-title-bar.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/mocha/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e","52dd370c807255c61765347fc90a9bee3c522b8744dc222714e2bf6b5be3a823","1e5743b25a63fd34ffbae89adcbf248ee17db6ed08d90079ffa93803c3e80d2a","13bb750b495c48fd60d7b5e09f65d4a7b010ab7e09a8943a6d54511e7d184f84","2fcd2d22b1f30555e785105597cd8f57ed50300e213c4f1bbca6ae149f782c38",{"version":"bb4248c7f953233ac52332088fac897d62b82be07244e551d87c5049600b6cf7","affectsGlobalScope":true},"3f30c6b57bf5eb7a7d4298506b78b18d428a39a409e1eadd93a3fdd0299d2687","62da965db3bd1b4ce135048ae8a317d7eb1949068824cb949dd4a91f7e3d6c2d","eba7cf33380cc3a3cf614faf67300e14d0bdff9ea6c5cd6f4b040b1756a48ab1","5e7e090243bf203382a5cb04eabbdc38d78f6d5922f16f543e4da8fa007d5ff9","cd823094ded7c8ac4f94ab6dc387dab699293eb8323d9f948304efc07e4ae7b2",{"version":"67defaf102712826c691f244d166b1538d950f6e901766349bdfa3a9bdf191cd","signature":"eedbf3ce362c14809e33ff0bde9ab21880ccc7d7831416d63719e0150b8da694"},{"version":"508e5427699f074217d661958a9abd16b7fe45ba4b87ef8693f53433ea2fa9a3","signature":"4ef60d395e4ce6a23681b2d153b25f3f5c263c3acce4cf4a3a2bb134c4ff23db"},{"version":"27b285e901600242883d62a5fff9f5d262c6fa128b6e6c6963f981f2630a957e","affectsGlobalScope":true},"241000969e5367a9a9b9a4f57963e54e5a012c9d89c273526c0115650a7b9e5f","ac388c7c7a262213a3700451bc921e382a93fb27c0252c34ccf03540b4ce044b","097a7e3badfd1c4b35f72aa0f722f5714a4f6a84e53fca5a79dcfebbfc5e718d","fb0107c83e2e0e75b77dacd0c3c6c3ab6844e98dce2a8f858c6f0a57c12136a6","0a478dcb6e6bd8a5d871165659c79cee7b8c3b7a87289118d22e1a04d171e252","e385eb01000d045ea07cea09c488f66e051709a9ac460bf271623f9984e0c419","bf69beba89702c85d84546269e0d4e8b128d32e26b314ee9b501b0b32c82490b","46f3a421b048670d16a3c02589261f17c1cea687f2602eed31e1335b53aed785","4bcb813ea56182beaaab1e8274524eb9f1449b0d8e79efc4a0399de09e43f816","c784eab1cf838d9d6527bce3d9f2d373145606666b68f7610291a7adf6e6bda9","f0380f581cb015778c0fe51e95b5b7f6dae237280654558469b2486c1572268a",{"version":"fd624f7d7b264922476685870f08c5e1c6d6a0f05dee2429a9747b41f6b699d4","affectsGlobalScope":true},"23c05cc4d97aa608b5ea8badadb4e1b0c4e306ed5d651c5d1760552e91d1ad92","701978f3975f96e76e3ffc2e1762e3a97e3d323812049fb6fdfd559579b89708",{"version":"4ab17f80ced148d509345cee706b2b85941515dd76e32cf47118bcdf6a4bd56a","affectsGlobalScope":true},"641089f0b8094ef74b9d4b3364d5dec1592d5e3b8a51c1ba491bc8872049e79a","9197b3ca76c01df6120b4ee288fe2d08f8a2089221da97956bee402de0ffd37e","7af29b0589483f7bb8a99405ddb849f34bc053146184561ed4179e02f5fe4d0f","d8afb84d78023735e55f1b96e06b3e221eb7ce5473ca1c93564d30e7efb0f991","6bf72b2541469cac7a7882468d25a04fdff489625452ff7d3e670c764e5a9ba1","5257b95e47714b754c367ce742ada7042aade5bf8c88bc7dd5a23194e3a50fb0","60997095f458b8c2c94af5759c796d9d17678e740a41a04c3e518c14c47f2ee7","b19e95136dd01ce850d7f05e05d594afecc4510fd1b44cdc049e4b7ce4d18e35","415ae3a9be423d2db81b7e16a6c053c83d3f83b1af03a2827aea3de084b70742","79be55362c82b8aa2f5dc063b51dbbc8f38f009d81c494aac4f671ff23fefb86","10cbee260a09cb62cc5516ea65aa7504f21ec98048a324e789d04d40d9057513","4d50db18bdcae4a401e888ac0f6b456d44405a860d38b90773158e2f11b1aa24","a91e1c5c60a1eb1e5e004578ae61c0a6410588eba200f209d5abb0ad9d5f2ca8","73b33f358af52e1fa1942be3b8262e3c97ef189370feea3f43acfd883c1f8639","a0667520a6521c12128fc28cbd5b2af58eef11c5b2a7441e0f0d47f50bf6c8e3","0dcf4c2bf1bb547e2ae5b8dce4656a56fbd15e3401ff5236ea0b93b6c60f9249","820c26194ad4089bc503b02bbedbd86a865e9c8a05c58ef88c8d19d9c019712a","790b453e1b76814112c3870d6e12f5db992d3194fdb3529445317dd75cb538be","d375de88ab19f6c105a65fc89eca1ae782362c5c395283b0c85ef39c7b835dfe","aeda2fffbc651fe1fa60b913d45f291f5544c4840206cb3b1badc16d9f01a0f0","7b3c1d688dcb8645b5a6c37bce5b047da92b4c298ed8709e03e987e0efb035b1","29c64e1acb5b73f08a60e71154c65c8a34f885f1f2cc55ffa06dfd244c058883",{"version":"7d176f155e5f6fc9756ddcc1a6d3eb2673030a066e2b7846dfc81b5271f3e269","affectsGlobalScope":true},"024fea9ee598cfe747f18340ad74e4ea428fc2a7988250ff9fcfce5673b7d422","aea18a267a0770c365cc390ad0a0b9725ed7a4540e9a96319b0f5094ee0ca124","147cb5b590b77c8c58e4ef0af1ff11ee90ee2b34262816df0665b6ff8fd50aad","6e0575b628aedce5db38c17569e5c909beead07f9052fe7944fb8bfccc3db92e","ae1351ed65b27a2b29a70a238024c957910e944aabbffce286099ed2b04f9baf",{"version":"3c19b3fb2f88bbd8f103fe2de0d6c0700dd9bf6678553f6db803162620b49e27","affectsGlobalScope":true},"67eee3f60d04105614d4bed2b3eef28dc7a3a746dcf59dffcc4254d7fd023762","628e5558b3df3fff39a900912739dffd7da24afb87821adffdc2df20cf834c52","9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","522558f66e9f67947f7052ca23a63d95f65a99f469893152d2dcda2a7d4e74eb","f4ad8c90859112adabad50932eb0b20aba4befec159b95cea96af6a154759383","62358f906a13ad95a4d41a589c4ef4c0edfd4cf313ba0cff057b5ac0bd5c2f06",{"version":"e437c71d6684bc395fe3e3d848c94acaaef53e8122140f57fc07df82fab883e9","signature":"300dd2a26709b791767f6f3251de6c0f7c14af798eee55ee91b23ee9f7ee7271"},"d448b94620192535dd3581cfdc57a2da54124681d4e035f403ff90b365ae58f1","3e96c96efad5d403b16c4b3d9cf99b3e86267a046abef94fe37cfa97ec013f23","d2c5f82ffdcecb79f7999cde82035dea787441c77cfeba04e4670d96272856cd","66e64ed8de436d3ceabe6c3f59dd0a39a5237991bccfda5751c78d129e436f68","0efa0ae7820fedc30b27c86db22c664e1f09009e450a33270cfebd9ad50d19b6","452807fa3050dbc39caf1ffd2e9cf9b36e719e36ee062f6adebe50be426790d3","c5bba3df0c3031ed400fcecfbe2012c585f97294a8bab7c50d350f7452254f97","cf93fb9208a01c80f0fad245c4360356e5de6c2384b7641acf0b9cc2f5c42448","336398b0efaf964124e636a9b29c4edd5870aee79ac64bf87be58a9d66b7c048","571bc65ec37ba124e762bb822e14a2b8502dc684e356be8feaccbd6b9cadd023","2bbbefc1235500bdb5091f240dc8cba861a95342272f7d11b7574a0d2ef4f85e","7cd455fc4c4818f19263d73b29c59f3fb5fd54b45a6ab83ca3eb3661281db56b","1c6b9b5501774a2ece6574be8e26092800e3f1f836f8c179b4f9fdd271a620f8","0929ec89582904044a56ca8220114b7256450a197da22eb5c9b630be69a41372","05cfea0488751015b0b85911b6cdcde7c6cebdd9b8cada1ec0b5c1736357a552","4d5e201faa4bceca840b652dfc10795170c061f498e19429a06e056490aa69aa","74a8a08e5d642a108ae7b23e72bded7b9d784c665458affdfb1770c1b19bcdd1","a9e5489311de854cb96bfcf5eaf969c9b322c658e3575f30e03180e4d4ca3994","f8c86fcbfb0a1e69a0ed28d3249cc33c312fa23a39c17e15cbbcc539bdcdc303","85e0f00b17c3ae8cd88438c754a2c43f4a9361e685b97a70e52e33afbf62488f","39d2d450df6efbf38585fd316f18922c8ac3fdfd4c3fc412d0bee34e2bc86378","7470dedadf72566f57f46fa8a8950afe388a4e90935b4e4b3d33add9a611929d","90feb2c17c1fd53720e1dd8738c6660aa14402394bb30caed6f2a7cdd54fea40","75f8b003f4362cb9a9e1d9d8b00c6a1e866868f05b27ede146dd8830b675bdf7","7b61337d7e26f5f9329b74dffb93941388d97b78282f611363d8dafa37d0a2a0","70926949fb828e317443687c9f3b5288e1ef6ec1e5130c1001f406b4ba3665ff","f499d7fb533781939c7a5ab778ac6e6c8ffe65601b1a61a843c36ee0013f05b6","46d98d129de9914564a5c8909c9098175c5896919e8e698d206cfffdfa7c3999","c8f7da57a17479145ea922b90a1efb2ff8e8096992bb0a4658606c9fbd944efc","28b3ab6f54b290c19897dff3d4346b7f1caf6e7d2057119ec6332dc1ddf25e85","1e73d612f806d183d6c16c4135c16c1a14dd827c1a67097e72ab1841852bfcb9","171109b02b7c87120b262c5ca0ccb9ecbc88ad92f81eb4e62b7ef6237f0fc9e2",{"version":"bb09b9bf99736dcf5ef11c101087df17a8603fbb326c0b016cb78331ee97dc82","signature":"072364d10c0ea2d91b13c76d9922b9f10532052693059a18da50d3ab00b28193"},"675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","98f9d826db9cd99d27a01a59ee5f22863df00ccf1aaf43e1d7db80ebf716f7c3","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","dcd91d3b697cb650b95db5471189b99815af5db2a1cd28760f91e0b12ede8ed5","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3cf0d343c2276842a5b617f22ba82af6322c7cfe8bb52238ffc0c491a3c21019","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true},"1be8da453470021f6fe936ba19ee0bfebc7cfa2406953fa56e78940467c90769",{"version":"0e5b53d8961a229d669a35a3415ba5316fb68a22a19c269e1bbdac9b1673cd30","signature":"01e1c7d42cc058cfa6bee62818da0ec0c53c3ceafb00a12c95eef212efbaf51b"},"a3ec644a6d3c4b142baab2ce25823e716804f5ed2018e32547377a82607830a2","0b427fef0615dcabc859f063dba23455e7f6c456154aea99d96fdaa06f0aa12c","cc6bcd576056d8ccc3bb297b152e9e4d694fa13a3790078fc9c03f361d82060b","1e2ae614a94edfcf851891f18ab17099709fe0214b5a97f1bfa63d1c7730b345","380fd4339f2f5ae2c6505a477da678b9006258d757d69ad7971b011ef0ba0b73","328771615e1dd9055b6f487f90d1e99b958bbaf303c2b3b35ca6ad2beebf57f4","fc32e1e56aead89cf0ff04e9346f63ad36e7fa8f390127435eac59ec4c6406b9","e1f4e845333b46bd06238275b874a28c8f7d3be476d07aa452b3fb26e71ded41","18f635c293620d1388c3ef3302850537bdad678dd03efb85c8b0d251c37c79df","f9b56f9d07cb05a23ad19b491d9d0d6950a1e8b2e9ef3d827ea6c2e1b64cbb59","555663519c551cda16bd59d2340c972858b2d87711bd8109c2ddeb4662267a05","e8234beadb18b72754bd1d444239b1985f95da0311054c82329f82a5a6657a73","cc79b6086a08f5fe3e84b96a294fa1484a1aee36ec3faa6f4ac289ccc08bfc38","700828225cf903b1fce7dbac7d6afe27aab606cf6f38d29382f6d8cce445f3f9","e0a32d1c7b757d25b3b1619accddc87a957a100ed065d187f00aa0c0897d9459","88a89ced0185f3e6e7b417a14b930ed2237783a9b402b3301fbb61adabce7891","5dd8516bdca5e56a20779b84758f4f20640e423ff55acf64bfbada36bf54bbba","fe0e774326bff14b64b8208e648b6f374db8e09e39879dd6a09441ef6bea9c74","5125dcacb1417e6bfaf4ddebbc2c0574f29d8770f0b2f83c478c3a070566342a","976e2919bdf1a879be8816f884cb5f72798772f83b07f8f81d81f86b45d55d3f","a5352463052128493313d93f3648c837f1365e24a0ec5fd640e0a6468e47654b","15b4d80e51b3ea458c75c3a68644a41024f7d83c12f1b37715a53a8a7f0fe9f8","70594838909a394e4017449b7eb8d414d90f4fab1b1dd493588f6a22f2b575cf","87708ffc11fa926c5f972309ef9f9bd07f2d70dfce4ca2924c276a1961269450","998699eba617b9157327ec3be6a0da70bc0ffd86a40a20c21ed619f6f5eda300","924137c8cf52d66a980113d2b9d746908e96f38b65416cf51ec2a00d7132be63","32acecbba5dbfbe22f171d1aeffbd1df9c8d8d17e386479eabbde7209e936917","55a9ab4848634630b92925ae2a47113b2f29a666edf8095da1f34468246341db","99a2a7093ce043534c17c2ebebdce37f1c14ac2b77780a476cfb70e5a9d035e2","4285b3976062212af73781ab61cd2d35014d6c8922ccbc082272ea14b56c4119","f0512312084ae789be5862be6bbbb4bd4ece73ca1bdaa3193b1a2e3dc0b8ea42","e1925458d0ea29d0b4d314ac029c368dcc5b5b0421be3c05c36a12df92840401","ea65e3ce32dcbb61edb379f86b303732103a887fcfe61fb0434cd5398fc8c272","19236d2b3a4d329eecb7d867e62ba2ce8ff2a1c290d9b9cadc246e1e860232ca","c348a5e4481d61843505811ed74ca62234d5bde08db286a719a7421bf64fc8c2","309dda933ce97cb5fca176d185c10eb73762d94b1cba72852d18b82ca3343b12","27fba3a14f54b67440df535f6f96b7068ad409544e422c6bb79ec320bce6462a","19f4c3da100f6ae2baeb548f5334cd238ea8da4a62812afe579f9ecc4fd6b35a","9e2bbc080467baf98e324ddc2d8f20eec126856bfdec025b5522325f587c959f","0f85a0bab1ed365725136ede09c0c4c2af9555e1f9e4ff70482734128696ac1d","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","a208a319c19376e0e8d953d58ddee7b2cc8de3be72e110f97c7fbaa23bf1e5b4","709f62b8c98e1db14602e873218cc5d22f81d64cd88f25adb5b4d2705a7e5d5c","284bf56773e6da050a953484eaca4beaceedce83b49be512a527ce88111a9a1a","b248a2c86a9608ef3f4c5480fda53e28daaa858fdfbfbe9ed31e0e0a0aa83b69","04a54102a8f6780bee6e4fb11f2a4385bd5db1c108232b61ebf197296005fc55","a5acce94760166021b02598b5b4e9048d761cd713d0094743979f8dc97171395","c75c4ce24b1f7976aabe62f58b079210dda7c8bff461cb852903ce0063b876f5","1b0dddfa3431d9cf7489393f6eda8c39d64b0ad5006e61b323b41e946de1cb64","69f943fd9ea150bdae776e0753da4e9e7cb5bcd2c3b357241669cb7b1146a8ef","2f3641dc015c1f0d5a0c6d3425c05cccb6b4a58960014138e988d7ac7e89e95b","d76e3643450c47b47c246ddefcaee7210175a5200f96c68c36f22290ae908999","c4178d7f38a1a95f9e7763e4ede95a8ff29c134ce9dde7a5532c617489e73e32","9cac36fd227125723097775e2700432838e54d9c1530cd45f36653e20513dc61","1905cf2a2c68efce92637b0637dd1db38e2fd5683e61901e6447bcf8fca752f7","b461bba9fdefa4860fbbe4ab8d584aba4ff2410d7a940ccd08d797ba62b9b4ad","f75a21fbd14501571d91fc23ca9186bebab93f71c8d70968546238ed5874c749","a2ce66067019351078533b6eddb5240e96f01686f8014f8959d63a2587557fb7","27909ca3d149c1c6f45b29b6e2ef4b1cbf709bfe6c0c66276d4541f6afc8031d","5a6534f5d0435656321853f3e16dd4c7f944162ec9af7a99ff9d0142947bf359","27909ca3d149c1c6f45b29b6e2ef4b1cbf709bfe6c0c66276d4541f6afc8031d","b1d629950cf09eed9cc08a0f2f4ac780de6f05c2e542b907777f7eedfe77097f","27909ca3d149c1c6f45b29b6e2ef4b1cbf709bfe6c0c66276d4541f6afc8031d","d5d357f555e6f34eae1b87fa0d2622cd4d243145c705dc6408ceae7f591cfd40","30d0c3169d63adaa3d171a6c5fad4bb3c904d70608bea6024d1d906baca96be1","3854977cd654de296953b729bfd49a31b1073d6d1276f3c79a8c68704694af3e","80a3bbe0e4fdfaac2c0a8b92a3ed66d3ded5e8f454c5790c8d593872fc1197f1","72c83a2e8bc082f5221401930d6b474c3a1db69f7e2eafdf155a002dfc4456af","af05e83f95c8ff11685deb777025050304076cc0580b2969a8aff800c791bf8c","cac0f164dd52b2f51d44ad7342f51d53519bfc747e71d7d6bfbf001a99f08fcd","d7a767976ba46e5dbac26693a8dc976d4eb44e501001c8f2f447a3cc72a55065",{"version":"11305545f54cc03a29a313fd720435a786d6daf339803adda9b46d6a149b264d","signature":"2978b104e790856cce21d466bff6a48eeed759811be469884cda511b8710ccb7"},"7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"ca72190df0eb9b09d4b600821c8c7b6c9747b75a1c700c4d57dc0bb72abc074c","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"bb65c6267c5d6676be61acbf6604cf0a4555ac4b505df58ac15c831fcbff4e3e","affectsGlobalScope":true},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","afcc1c426b76db7ec80e563d4fb0ba9e6bcc6e63c2d7e9342e649dc56d26347f","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","75ecef44f126e2ae018b4abbd85b6e8a2e2ba1638ebec56cc64274643ce3567b","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"816ad2e607a96de5bcac7d437f843f5afd8957f1fa5eefa6bba8e4ed7ca8fd84","affectsGlobalScope":true},"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","d903fafe96674bc0b2ac38a5be4a8fc07b14c2548d1cdb165a80ea24c44c0c54","b01a80007e448d035a16c74b5c95a5405b2e81b12fabcf18b75aa9eb9ef28990","04eb6578a588d6a46f50299b55f30e3a04ef27d0c5a46c57d8fcc211cd530faa","dbe5aa5a5dd8bd1c6a8d11b1310c3f0cdabaacc78a37b394a8c7b14faeb5fb84","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"d076fede3cb042e7b13fc29442aaa03a57806bc51e2b26a67a01fbc66a7c0c12","7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","fd93cee2621ff42dabe57b7be402783fd1aa69ece755bcba1e0290547ae60513","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","213fc4f2b172d8beb74b77d7c1b41488d67348066d185e4263470cbb010cd6e8",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"f0900cd5d00fe1263ff41201fb8073dbeb984397e4af3b8002a5c207a30bdc33","affectsGlobalScope":true},{"version":"f7db71191aa7aac5d6bc927ed6e7075c2763d22c7238227ec0c63c8cf5cb6a8b","affectsGlobalScope":true},"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"da26af7362f53d122283bc69fed862b9a9fe27e01bc6a69d1d682e0e5a4df3e6","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"e9a8d4274033cb520ee12d6f68d161ba2b9128b87399645d3916b71187032836",{"version":"5f186a758a616c107c70e8918db4630d063bd782f22e6e0b17573b125765b40b","affectsGlobalScope":true}],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":false,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"outDir":"./","rootDir":"..","sourceMap":true,"strict":true,"target":5,"useDefineForClassFields":false},"fileIdsList":[[277],[46,277],[57,277],[46,57,277],[46,57,65,277],[44,45,277],[53,86,87,88,277],[53,56,94,95,96,98,277],[53,99,277],[53,277],[53,87,89,91,92,277],[53,93,277],[87,277],[88,90,277],[86,91,277],[156,277],[144,146,147,148,149,150,151,152,153,154,155,156,277],[144,145,147,148,149,150,151,152,153,154,155,156,277],[145,146,147,148,149,150,151,152,153,154,155,156,277],[144,145,146,148,149,150,151,152,153,154,155,156,277],[144,145,146,147,149,150,151,152,153,154,155,156,277],[144,145,146,147,148,150,151,152,153,154,155,156,277],[144,145,146,147,148,149,151,152,153,154,155,156,277],[144,145,146,147,148,149,150,152,153,154,155,156,277],[144,145,146,147,148,149,150,151,153,154,155,156,277],[144,145,146,147,148,149,150,151,152,154,155,156,277],[144,145,146,147,148,149,150,151,152,153,155,156,277],[144,145,146,147,148,149,150,151,152,153,154,156,277],[144,145,146,147,148,149,150,151,152,153,154,155,277],[231,277],[234,277],[235,240,268,277],[236,247,248,255,265,276,277],[236,237,247,255,277],[238,277],[239,240,248,256,277],[240,265,273,277],[241,243,247,255,277],[242,277],[243,244,277],[247,277],[245,247,277],[247,248,249,265,276,277],[247,248,249,262,265,268,277],[277,281],[250,255,265,276,277],[247,248,250,251,255,265,273,276,277],[250,252,265,273,276,277],[231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283],[247,253,277],[254,276,277],[243,247,255,265,277],[256,277],[257,277],[234,258,277],[259,275,277,281],[260,277],[261,277],[247,262,263,277],[262,264,277,279],[235,247,265,266,267,268,277],[235,265,267,277],[265,266,277],[268,277],[269,277],[247,271,272,277],[271,272,277],[240,255,265,273,277],[274,277],[255,275,277],[235,250,261,276,277],[240,277],[265,277,278],[277,279],[277,280],[235,240,247,249,258,265,276,277,279,281],[265,277,282],[47,277],[57,58,59,60,61,62,63,64,65,66,277],[46,50,51,111,277],[46,50,277],[50,277],[49,50,277],[48,49,277],[58,59,60,61,62,63,64,65,66,277],[97,277],[46,50,51,52,277],[68,277],[69,70,113,114,115,116,277],[43,54,277],[43,53,56,67,69,77,109,277],[43,53,277],[43,53,56,67,69,77,100,109,142,143,157,277],[43,54,56,67,77,112,117,124,142,277],[43,53,56,67,77,117,229,277],[224,277],[197,277],[53,197,277],[56,162,277],[50,53,56,169,182,277],[50,53,56,161,162,180,181,197,277],[50,53,156,163,197,277],[50,53,56,197,277],[50,53,56,79,197,277],[50,53,166,167,168,169,197,277],[50,53,170,174,175,176,177,197,277],[50,53,56,169,173,277],[50,53,56,171,172,180,197,277],[50,53,177,197,201,277],[50,53,183,197,277],[50,53,197,199,200,277],[184,185,186,277],[50,184,277],[50,53,163,197,277],[184,197,277],[50,53,56,277],[53,80,197,277],[188,189,190,191,192,193,194,277],[218,277],[220,277],[216,277],[178,180,187,195,197,198,202,215,217,219,221,222,223,277],[165,179,277],[50,53,56,165,178,277],[50,53,56,163,197,277],[50,53,56,163,164,197,277],[203,204,205,206,207,208,209,210,211,212,213,214,277],[50,53,196,277],[196,197,277],[50,161,162,163,171,172,173,182,183,187,195,196,277],[50,53,277],[160,225,277],[159,160,226,227,228,277],[53,85,277],[78,85,101,103,104,105,106,107,108,277],[77,277],[83,102,277],[56,100,277],[79,80,81,82,84,277],[53,83,277],[50,53,56,79,277],[50,53,79,277],[50,53,81,277],[72,73,74,277],[71,75,76,277],[68,70,277],[118,119,120,121,122,123,277],[125,126,127,128,129,130,131,132,133,134,137,138,139,140,141,277],[135,136,277],[136,277],[135,277],[54],[50,53,56],[53],[50,53,56,68,100,143],[50,56,68,112]],"referencedMap":[[44,1],[57,2],[58,3],[61,4],[59,4],[63,4],[66,5],[65,1],[64,4],[62,4],[60,3],[45,1],[46,6],[86,1],[88,1],[95,1],[89,7],[87,1],[99,8],[100,9],[56,10],[93,11],[94,12],[96,13],[91,14],[92,15],[90,1],[157,16],[145,17],[146,18],[144,19],[147,20],[148,21],[149,22],[150,23],[151,24],[152,25],[153,26],[154,27],[155,28],[156,29],[285,1],[231,30],[232,30],[234,31],[235,32],[236,33],[237,34],[238,35],[239,36],[240,37],[241,38],[242,39],[243,40],[244,40],[246,41],[245,42],[247,41],[248,43],[249,44],[233,45],[283,1],[250,46],[251,47],[252,48],[284,49],[253,50],[254,51],[255,52],[256,53],[257,54],[258,55],[259,56],[260,57],[261,58],[262,59],[263,59],[264,60],[265,61],[267,62],[266,63],[268,64],[269,65],[270,1],[271,66],[272,67],[273,68],[274,69],[275,70],[276,71],[277,72],[278,73],[279,74],[280,75],[281,76],[282,77],[48,78],[47,1],[111,79],[112,80],[51,81],[49,82],[97,83],[52,1],[50,84],[67,85],[98,86],[53,87],[69,88],[70,88],[113,1],[114,1],[115,1],[117,89],[116,1],[68,1],[43,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[4,1],[22,1],[19,1],[20,1],[21,1],[23,1],[24,1],[25,1],[5,1],[26,1],[27,1],[28,1],[29,1],[6,1],[33,1],[30,1],[31,1],[32,1],[34,1],[7,1],[35,1],[40,1],[41,1],[36,1],[37,1],[38,1],[39,1],[1,1],[42,1],[55,90],[110,91],[54,92],[158,93],[143,94],[230,95],[225,96],[198,97],[161,98],[181,99],[162,98],[175,100],[182,101],[177,97],[167,102],[163,98],[168,103],[166,104],[170,105],[178,106],[172,98],[171,98],[174,107],[173,108],[169,98],[202,109],[200,110],[201,111],[183,98],[199,1],[187,112],[186,113],[184,114],[185,115],[176,116],[191,97],[190,97],[192,97],[193,97],[189,97],[194,117],[195,118],[188,97],[219,119],[218,1],[221,120],[220,97],[217,121],[216,97],[224,122],[180,123],[179,124],[164,125],[165,126],[215,127],[204,97],[205,97],[206,97],[213,97],[212,97],[214,97],[207,97],[208,97],[209,128],[211,97],[210,97],[196,114],[203,129],[222,98],[197,130],[223,97],[160,116],[227,131],[228,116],[159,1],[226,132],[229,133],[107,134],[108,88],[102,131],[109,135],[78,136],[105,137],[106,137],[103,137],[104,137],[101,138],[85,139],[84,140],[83,116],[80,141],[81,142],[82,143],[79,131],[72,1],[74,1],[75,144],[73,1],[76,10],[77,145],[71,146],[122,1],[123,10],[118,10],[124,147],[119,10],[120,10],[121,10],[140,1],[138,1],[133,1],[127,1],[134,1],[126,1],[139,1],[130,1],[142,148],[141,1],[128,1],[131,1],[132,1],[125,1],[129,1],[137,149],[135,150],[136,151]],"exportedModulesMap":[[44,1],[57,2],[58,3],[61,4],[59,4],[63,4],[66,5],[65,1],[64,4],[62,4],[60,3],[45,1],[46,6],[86,1],[88,1],[95,1],[89,7],[87,1],[99,8],[100,9],[56,10],[93,11],[94,12],[96,13],[91,14],[92,15],[90,1],[157,16],[145,17],[146,18],[144,19],[147,20],[148,21],[149,22],[150,23],[151,24],[152,25],[153,26],[154,27],[155,28],[156,29],[285,1],[231,30],[232,30],[234,31],[235,32],[236,33],[237,34],[238,35],[239,36],[240,37],[241,38],[242,39],[243,40],[244,40],[246,41],[245,42],[247,41],[248,43],[249,44],[233,45],[283,1],[250,46],[251,47],[252,48],[284,49],[253,50],[254,51],[255,52],[256,53],[257,54],[258,55],[259,56],[260,57],[261,58],[262,59],[263,59],[264,60],[265,61],[267,62],[266,63],[268,64],[269,65],[270,1],[271,66],[272,67],[273,68],[274,69],[275,70],[276,71],[277,72],[278,73],[279,74],[280,75],[281,76],[282,77],[48,78],[47,1],[111,79],[112,80],[51,81],[49,82],[97,83],[52,1],[50,84],[67,85],[98,86],[53,87],[69,88],[70,88],[113,1],[114,1],[115,1],[117,89],[116,1],[68,1],[43,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[4,1],[22,1],[19,1],[20,1],[21,1],[23,1],[24,1],[25,1],[5,1],[26,1],[27,1],[28,1],[29,1],[6,1],[33,1],[30,1],[31,1],[32,1],[34,1],[7,1],[35,1],[40,1],[41,1],[36,1],[37,1],[38,1],[39,1],[1,1],[42,1],[55,152],[110,153],[54,154],[158,155],[143,156],[230,153],[225,96],[198,97],[161,98],[181,99],[162,98],[175,100],[182,101],[177,97],[167,102],[163,98],[168,103],[166,104],[170,105],[178,106],[172,98],[171,98],[174,107],[173,108],[169,98],[202,109],[200,110],[201,111],[183,98],[199,1],[187,112],[186,113],[184,114],[185,115],[176,116],[191,97],[190,97],[192,97],[193,97],[189,97],[194,117],[195,118],[188,97],[219,119],[218,1],[221,120],[220,97],[217,121],[216,97],[224,122],[180,123],[179,124],[164,125],[165,126],[215,127],[204,97],[205,97],[206,97],[213,97],[212,97],[214,97],[207,97],[208,97],[209,128],[211,97],[210,97],[196,114],[203,129],[222,98],[197,130],[223,97],[160,116],[227,131],[228,116],[159,1],[226,132],[229,133],[107,134],[108,88],[102,131],[109,135],[78,136],[105,137],[106,137],[103,137],[104,137],[101,138],[85,139],[84,140],[83,116],[80,141],[81,142],[82,143],[79,131],[72,1],[74,1],[75,144],[73,1],[76,10],[77,145],[71,146],[122,1],[123,10],[118,10],[124,147],[119,10],[120,10],[121,10],[140,1],[138,1],[133,1],[127,1],[134,1],[126,1],[139,1],[130,1],[142,148],[141,1],[128,1],[131,1],[132,1],[125,1],[129,1],[137,149],[135,150],[136,151]],"semanticDiagnosticsPerFile":[44,57,58,61,59,63,66,65,64,62,60,45,46,86,88,95,89,87,99,100,56,93,94,96,91,92,90,157,145,146,144,147,148,149,150,151,152,153,154,155,156,285,231,232,234,235,236,237,238,239,240,241,242,243,244,246,245,247,248,249,233,283,250,251,252,284,253,254,255,256,257,258,259,260,261,262,263,264,265,267,266,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,48,47,111,112,51,49,97,52,50,67,98,53,69,70,113,114,115,117,116,68,43,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,33,30,31,32,34,7,35,40,41,36,37,38,39,1,42,55,110,54,158,143,230,225,198,161,181,162,175,182,177,167,163,168,166,170,178,172,171,174,173,169,202,200,201,183,199,187,186,184,185,176,191,190,192,193,189,194,195,188,219,218,221,220,217,216,224,180,179,164,165,215,204,205,206,213,212,214,207,208,209,211,210,196,203,222,197,223,160,227,228,159,226,229,107,108,102,109,78,105,106,103,104,101,85,84,83,80,81,82,79,72,74,75,73,76,77,71,122,123,118,124,119,120,121,140,138,133,127,134,126,139,130,142,141,128,131,132,125,129,137,135,136]},"version":"4.9.3"}
package/package.json ADDED
@@ -0,0 +1,101 @@
1
+ {
2
+ "name": "@operato/context",
3
+ "description": "Webcomponent context following open-wc recommendations",
4
+ "author": "heartyoh",
5
+ "version": "1.1.19",
6
+ "main": "dist/src/index.js",
7
+ "module": "dist/src/index.js",
8
+ "exports": {
9
+ ".": "./dist/src/index.js",
10
+ "./ox-title-bar.js": "./dist/src/tools/ox-title-bar.js",
11
+ "./ox-page-action-overlay-template.js": "./dist/src/tools/ox-page-action-overlay-template.js",
12
+ "./ox-page-action-context-bar.js": "./dist/src/tools/ox-page-action-context-bar.js",
13
+ "./ox-context-toolbar.js": "./dist/src/layouts/ox-context-toolbar.js",
14
+ "./ox-context-toolbar-overlay-style.js": "./dist/src/layouts/ox-context-toolbar-overlay-style.js"
15
+ },
16
+ "typesVersions": {
17
+ "*": {
18
+ "ox-title-bar.js": [
19
+ "dist/src/tools/ox-title-bar.d.ts"
20
+ ],
21
+ "ox-page-action-overlay-template.js": [
22
+ "dist/src/tools/ox-page-action-overlay-template.d.ts"
23
+ ],
24
+ "ox-page-action-context-bar.js": [
25
+ "dist/src/tools/ox-page-action-context-bar.d.ts"
26
+ ],
27
+ "ox-context-toolbar.js": [
28
+ "dist/src/tools/ox-context-toolbar.d.ts"
29
+ ],
30
+ "ox-context-toolbar-overlay-style.js": [
31
+ "dist/src/tools/ox-context-toolbar-overlay-style.d.ts"
32
+ ]
33
+ }
34
+ },
35
+ "publishConfig": {
36
+ "access": "public",
37
+ "@operato:registry": "https://registry.npmjs.org"
38
+ },
39
+ "repository": {
40
+ "type": "git",
41
+ "url": "git+https://github.com/hatiolab/operato.git",
42
+ "directory": "webcomponents/context"
43
+ },
44
+ "scripts": {
45
+ "analyze": "cem analyze --litelement",
46
+ "start": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wds\"",
47
+ "build": "tsc && npm run analyze -- --exclude dist",
48
+ "prepublish": "tsc && npm run analyze -- --exclude dist",
49
+ "lint": "eslint --ext .ts,.html . --ignore-path .gitignore && prettier \"**/*.ts\" --check --ignore-path .gitignore",
50
+ "format": "eslint --ext .ts,.html . --fix --ignore-path .gitignore && prettier \"**/*.ts\" --write --ignore-path .gitignore",
51
+ "test": "tsc && wtr --coverage",
52
+ "test:watch": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wtr --watch\"",
53
+ "storybook": "tsc && npm run analyze -- --exclude dist && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wds -c .storybook/server.mjs\"",
54
+ "storybook:build": "tsc && npm run analyze -- --exclude dist && build-storybook"
55
+ },
56
+ "dependencies": {
57
+ "@material/mwc-icon": "^0.27.0",
58
+ "@operato/help": "^1.1.18",
59
+ "@operato/input": "^1.1.18",
60
+ "@operato/layout": "^1.1.15",
61
+ "@operato/shell": "^1.1.15",
62
+ "@operato/styles": "^1.1.13",
63
+ "@operato/utils": "^1.1.15",
64
+ "lit": "^2.4.0",
65
+ "lodash-es": "^4.17.21",
66
+ "pwa-helpers": "^0.9.1"
67
+ },
68
+ "devDependencies": {
69
+ "@custom-elements-manifest/analyzer": "^0.4.17",
70
+ "@hatiolab/prettier-config": "^1.0.0",
71
+ "@open-wc/eslint-config": "^4.3.0",
72
+ "@open-wc/testing": "^3.0.4",
73
+ "@typescript-eslint/eslint-plugin": "^4.33.0",
74
+ "@typescript-eslint/parser": "^4.33.0",
75
+ "@web/dev-server": "^0.1.29",
76
+ "@web/dev-server-storybook": "^0.5.0",
77
+ "@web/test-runner": "next",
78
+ "concurrently": "^5.3.0",
79
+ "eslint": "^7.32.0",
80
+ "eslint-config-prettier": "^8.3.0",
81
+ "husky": "^8.0.1",
82
+ "lint-staged": "^10.5.4",
83
+ "prettier": "^2.4.1",
84
+ "tslib": "^2.3.1",
85
+ "typescript": "^4.8.4"
86
+ },
87
+ "customElements": "custom-elements.json",
88
+ "prettier": "@hatiolab/prettier-config",
89
+ "husky": {
90
+ "hooks": {
91
+ "pre-commit": "lint-staged"
92
+ }
93
+ },
94
+ "lint-staged": {
95
+ "*.ts": [
96
+ "eslint --fix",
97
+ "prettier --write"
98
+ ]
99
+ },
100
+ "gitHead": "fa31ed6996b1e295bede701e48155eb473e2921f"
101
+ }
package/src/index.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './styles/ox-context-toolbar-overlay-style.js'
@@ -0,0 +1,125 @@
1
+ import '@material/mwc-icon'
2
+
3
+ import { css, html, LitElement } from 'lit'
4
+ import { customElement, property, query, state } from 'lit/decorators.js'
5
+ import { connect } from 'pwa-helpers/connect-mixin.js'
6
+
7
+ import { TOOL_POSITION } from '@operato/layout'
8
+ import { store } from '@operato/shell'
9
+
10
+ @customElement('ox-context-toolbar')
11
+ export class ContextToolbar extends connect(store)(LitElement) {
12
+ static get styles() {
13
+ return [
14
+ css`
15
+ :host {
16
+ display: flex;
17
+ position: relative;
18
+
19
+ background-color: var(--context-toolbar-background-color);
20
+ justify-content: space-between;
21
+ box-shadow: var(--context-toolbar-shadow-line);
22
+ }
23
+ #front-end {
24
+ padding-left: var(--context-toolbar-side-padding);
25
+ }
26
+ #rear-end {
27
+ padding-right: var(--context-toolbar-side-padding);
28
+ }
29
+ #front-end mwc-icon,
30
+ #front mwc-icon {
31
+ background-color: var(--context-toolbar-function-button-background-color);
32
+ border: var(--context-toolbar-function-button-border);
33
+ height: var(--context-toolbar-function-button-height);
34
+ margin: var(--context-toolbar-button-margin);
35
+ padding: var(--context-toolbar-function-button-padding);
36
+ color: var(--context-toolbar-function-button-color);
37
+ line-height: var(--context-toolbar-function-button-lineheight);
38
+ cursor: pointer;
39
+ }
40
+ #front-end mwc-icon:first-child,
41
+ #front mwc-icon:first-child {
42
+ border-top-left-radius: var(--context-toolbar-function-button-radius);
43
+ border-bottom-left-radius: var(--context-toolbar-function-button-radius);
44
+ }
45
+ #front-end mwc-icon:last-child,
46
+ #front mwc-icon:last-child {
47
+ border-top-right-radius: var(--context-toolbar-function-button-radius);
48
+ border-bottom-right-radius: var(--context-toolbar-function-button-radius);
49
+ }
50
+
51
+ #front-end mwc-icon {
52
+ background-color: var(--primary-color);
53
+ }
54
+ #front-end mwc-icon:hover {
55
+ background-color: var(--context-toolbar-function-button-background-color);
56
+ }
57
+ #front mwc-icon:hover {
58
+ background-color: var(--context-toolbar-function-button-hover-background-color);
59
+ }
60
+
61
+ #center {
62
+ flex: 1;
63
+ align-items: center;
64
+ justify-content: end;
65
+ }
66
+
67
+ #center > * {
68
+ align-items: center;
69
+ }
70
+ #rear-end > *,
71
+ #rear > * {
72
+ margin: var(--context-toolbar-button-margin);
73
+ }
74
+ #rear-end {
75
+ align-items: start;
76
+ }
77
+
78
+ div > * {
79
+ align-items: center;
80
+ }
81
+
82
+ div {
83
+ display: flex;
84
+ flex-wrap: nowrap;
85
+ align-items: center;
86
+ overflow: hidden;
87
+ padding: 0;
88
+ }
89
+ `
90
+ ]
91
+ }
92
+
93
+ @state() private context: any
94
+ @state() private tools?: any[]
95
+
96
+ render() {
97
+ let contextKeys = Object.keys(this.context).filter(key => !!this.context[key])
98
+ let tools = (this.tools || []).filter(tool => {
99
+ if (!tool.context || contextKeys.includes(tool.context)) return tool
100
+ })
101
+
102
+ let frontEndTools = tools.filter(tool => tool.position == TOOL_POSITION.FRONT_END)
103
+ let frontTools = tools.filter(tool => tool.position == TOOL_POSITION.FRONT)
104
+ let centerTools = tools.filter(tool => tool.position == TOOL_POSITION.CENTER)
105
+ let rearTools = tools.filter(tool => tool.position == TOOL_POSITION.REAR)
106
+ let rearEndTools = tools.filter(tool => tool.position == TOOL_POSITION.REAR_END)
107
+
108
+ return html`
109
+ <div id="front-end">${frontEndTools.map(tool => html` ${tool.template} `)}</div>
110
+
111
+ <div id="front">${frontTools.map(tool => html` ${tool.template} `)}</div>
112
+
113
+ <div id="center">${centerTools.map(tool => html` ${tool.template} `)}</div>
114
+
115
+ <div id="rear">${rearTools.map(tool => html` ${tool.template} `)}</div>
116
+
117
+ <div id="rear-end">${rearEndTools.map(tool => html` ${tool.template} `)}</div>
118
+ `
119
+ }
120
+
121
+ stateChanged(state: any) {
122
+ this.tools = state.context.tools
123
+ this.context = state.route.context
124
+ }
125
+ }