@omegagrid/core 0.9.9 → 0.9.11

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.
@@ -6,11 +6,12 @@ export declare enum LogLevel {
6
6
  Trace = "t"
7
7
  }
8
8
  export declare class Logger {
9
- readonly name: string;
9
+ readonly id: string;
10
+ readonly name?: string;
10
11
  styles: string[];
11
12
  errorStyles: string[];
12
13
  defaultLevel: LogLevel;
13
- constructor(name: string);
14
+ constructor(id: string, name?: string);
14
15
  private format;
15
16
  log(message: string): void;
16
17
  info(message: string): void;
@@ -19,5 +20,6 @@ export declare class Logger {
19
20
  debug(message: string): void;
20
21
  trace(message: string): void;
21
22
  }
22
- export declare function getLogger(name?: string): Logger;
23
+ export declare function registerLogger(id: string, name?: string): Logger;
24
+ export declare function getLogger(id?: string): Logger;
23
25
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/common/logger.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IACnB,IAAI,MAAM;IACV,IAAI,MAAM;IACV,KAAK,MAAM;IACX,KAAK,MAAM;IACX,KAAK,MAAM;CACX;AAED,qBAAa,MAAM;IAMN,QAAQ,CAAC,IAAI,EAAE,MAAM;IAJ1B,MAAM,WAA0D;IAChE,WAAW,WAA0D;IACrE,YAAY,WAAiB;gBAEf,IAAI,EAAE,MAAM;IAEjC,OAAO,CAAC,MAAM;IAIP,GAAG,CAAC,OAAO,EAAE,MAAM;IAInB,IAAI,CAAC,OAAO,EAAE,MAAM;IAIpB,IAAI,CAAC,OAAO,EAAE,MAAM;IAIpB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK;IAKxC,KAAK,CAAC,OAAO,EAAE,MAAM;IAIrB,KAAK,CAAC,OAAO,EAAE,MAAM;CAI5B;AAID,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAU/C"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/common/logger.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IACnB,IAAI,MAAM;IACV,IAAI,MAAM;IACV,KAAK,MAAM;IACX,KAAK,MAAM;IACX,KAAK,MAAM;CACX;AAED,qBAAa,MAAM;IAOjB,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;IANhB,MAAM,WAA0D;IAChE,WAAW,WAA0D;IACrE,YAAY,WAAiB;gBAG1B,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE,MAAM;IAKvB,OAAO,CAAC,MAAM;IAIP,GAAG,CAAC,OAAO,EAAE,MAAM;IAInB,IAAI,CAAC,OAAO,EAAE,MAAM;IAIpB,IAAI,CAAC,OAAO,EAAE,MAAM;IAIpB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK;IAKxC,KAAK,CAAC,OAAO,EAAE,MAAM;IAIrB,KAAK,CAAC,OAAO,EAAE,MAAM;CAI5B;AAID,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED,wBAAgB,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAM7C"}
@@ -7,11 +7,13 @@ export var LogLevel;
7
7
  LogLevel["Trace"] = "t";
8
8
  })(LogLevel || (LogLevel = {}));
9
9
  export class Logger {
10
- constructor(name) {
10
+ constructor(id, name) {
11
+ this.id = id;
11
12
  this.name = name;
12
13
  this.styles = ['color: #ffff00', 'color: #00955d', 'color: #aaaaaa'];
13
14
  this.errorStyles = ['color: #ff0000', 'color: #00955d', 'color: #aaaaaa'];
14
15
  this.defaultLevel = LogLevel.Info;
16
+ this.name = name || id;
15
17
  }
16
18
  format(message, level) {
17
19
  return `%c[${level}] %c${this.name.padEnd(20, ' ')} %c${message.padEnd(50, ' ')}`;
@@ -38,16 +40,18 @@ export class Logger {
38
40
  }
39
41
  }
40
42
  const staticLoggers = new Map();
41
- export function getLogger(name) {
42
- if (name == null) {
43
- if (staticLoggers.size > 0)
44
- return staticLoggers.entries().next().value[1];
45
- else
46
- name = name || 'Ω';
43
+ export function registerLogger(id, name) {
44
+ if (!staticLoggers.has(id)) {
45
+ staticLoggers.set(id, new Logger(id, name));
47
46
  }
48
- if (!staticLoggers.has(name)) {
49
- staticLoggers.set(name, new Logger(name));
47
+ return staticLoggers.get(id);
48
+ }
49
+ export function getLogger(id) {
50
+ if (id == null) {
51
+ id = (staticLoggers.size > 0 ? Array.from(staticLoggers.keys())[0] : null);
52
+ if (id == null)
53
+ return registerLogger('omega', 'Ω');
50
54
  }
51
- return staticLoggers.get(name);
55
+ return registerLogger(id);
52
56
  }
53
57
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/common/logger.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IACnB,sBAAU,CAAA;IACV,sBAAU,CAAA;IACV,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;AACZ,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB;AAED,MAAM,OAAO,MAAM;IAMlB,YAAqB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;QAJ1B,WAAM,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QAChE,gBAAW,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QACrE,iBAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;IAEC,CAAC;IAE9B,MAAM,CAAC,OAAe,EAAE,KAAe;QAC9C,OAAO,MAAM,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;IACnF,CAAC;IAEM,GAAG,CAAC,OAAe;QACzB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAEM,IAAI,CAAC,OAAe;QAC1B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IAEM,IAAI,CAAC,OAAe;QAC1B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,SAAiB;QAC9C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QACzE,IAAI,SAAS;YAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAEM,KAAK,CAAC,OAAe;QAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC;IAEM,KAAK,CAAC,OAAe;QAC3B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACrE,CAAC;CAED;AAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEhD,MAAM,UAAU,SAAS,CAAC,IAAa;IACtC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO,aAAa,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;YACtE,IAAI,GAAG,IAAI,IAAI,GAAG,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC","sourcesContent":["export enum LogLevel {\n\tInfo = 'i',\n\tWarn = 'w',\n\tError = 'e',\n\tDebug = 'd',\n\tTrace = 't'\n}\n\nexport class Logger {\n\n\tpublic styles = ['color: #ffff00', 'color: #00955d', 'color: #aaaaaa'];\n\tpublic errorStyles = ['color: #ff0000', 'color: #00955d', 'color: #aaaaaa'];\n\tpublic defaultLevel = LogLevel.Info;\n\n\tconstructor(readonly name: string) { }\n\n\tprivate format(message: string, level: LogLevel) : string {\n\t\treturn `%c[${level}] %c${this.name.padEnd(20, ' ')} %c${message.padEnd(50, ' ')}`;\n\t}\n\n\tpublic log(message: string) {\n\t\tconsole.log(message, ...this.styles);\n\t}\n\n\tpublic info(message: string) {\n\t\tconsole.info(this.format(message, LogLevel.Info), ...this.styles);\n\t}\n\n\tpublic warn(message: string) {\n\t\tconsole.info(this.format(message, LogLevel.Warn), ...this.styles);\n\t}\n\n\tpublic error(message: string, exception?: Error) {\n\t\tconsole.error(this.format(message, LogLevel.Error), ...this.errorStyles);\n\t\tif (exception) console.error(exception);\n\t}\n\n\tpublic debug(message: string) {\n\t\tconsole.info(this.format(message, LogLevel.Debug), ...this.styles);\n\t}\n\n\tpublic trace(message: string) {\n\t\tconsole.trace(this.format(message, LogLevel.Trace), ...this.styles);\n\t}\n\t\n}\n\nconst staticLoggers = new Map<string, Logger>();\n\nexport function getLogger(name?: string): Logger {\n\tif (name == null) {\n\t\tif (staticLoggers.size > 0) return staticLoggers.entries().next().value[1];\n\t\telse name = name || 'Ω';\n\t}\n\n\tif (!staticLoggers.has(name)) {\n\t\tstaticLoggers.set(name, new Logger(name));\n\t}\n\treturn staticLoggers.get(name);\n}"]}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/common/logger.ts"],"names":[],"mappings":"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","sourcesContent":["export enum LogLevel {\n\tInfo = 'i',\n\tWarn = 'w',\n\tError = 'e',\n\tDebug = 'd',\n\tTrace = 't'\n}\n\nexport class Logger {\n\n\tpublic styles = ['color: #ffff00', 'color: #00955d', 'color: #aaaaaa'];\n\tpublic errorStyles = ['color: #ff0000', 'color: #00955d', 'color: #aaaaaa'];\n\tpublic defaultLevel = LogLevel.Info;\n\n\tconstructor(\n\t\treadonly id: string,\n\t\treadonly name?: string\n\t) {\n\t\tthis.name = name || id;\n\t}\n\n\tprivate format(message: string, level: LogLevel) : string {\n\t\treturn `%c[${level}] %c${this.name.padEnd(20, ' ')} %c${message.padEnd(50, ' ')}`;\n\t}\n\n\tpublic log(message: string) {\n\t\tconsole.log(message, ...this.styles);\n\t}\n\n\tpublic info(message: string) {\n\t\tconsole.info(this.format(message, LogLevel.Info), ...this.styles);\n\t}\n\n\tpublic warn(message: string) {\n\t\tconsole.info(this.format(message, LogLevel.Warn), ...this.styles);\n\t}\n\n\tpublic error(message: string, exception?: Error) {\n\t\tconsole.error(this.format(message, LogLevel.Error), ...this.errorStyles);\n\t\tif (exception) console.error(exception);\n\t}\n\n\tpublic debug(message: string) {\n\t\tconsole.info(this.format(message, LogLevel.Debug), ...this.styles);\n\t}\n\n\tpublic trace(message: string) {\n\t\tconsole.trace(this.format(message, LogLevel.Trace), ...this.styles);\n\t}\n\t\n}\n\nconst staticLoggers = new Map<string, Logger>();\n\nexport function registerLogger(id: string, name?: string): Logger {\n\tif (!staticLoggers.has(id)) {\n\t\tstaticLoggers.set(id, new Logger(id, name));\n\t}\n\treturn staticLoggers.get(id);\n}\n\nexport function getLogger(id?: string): Logger {\n\tif (id == null) {\n\t\tid = (staticLoggers.size > 0 ? Array.from(staticLoggers.keys())[0] : null);\n\t\tif (id == null) return registerLogger('omega', 'Ω');\n\t}\n\treturn registerLogger(id);\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../src/ui/dropdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,cAAc,EAAE,MAAM,KAAK,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAK9C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAKlC,qBAAa,aAAc,SAAQ,KAAK;gBAE3B,KAAK,EAAE,MAAM;CAGzB;AAED,qBACa,iBAAkB,SAAQ,UAAU;IAEhD,MAAM,CAAC,MAAM,0BAkBX;;IAOF,MAAM,0BAA6D;CACnE;AAED,qBAEa,QAAS,SAAQ,UAAW,YAAW,MAAM;IAEzD,MAAM,CAAC,MAAM,4BAmCV;IAGH,SAAS,EAAE,MAAM,GAAC,OAAO,CAAW;IAGpC,cAAc,SAAK;IAGnB,cAAc,EAAE,WAAW,CAAiB;IAG5C,KAAK,EAAE,MAAM,GAAC,WAAW,GAAC,cAAc,CAAC;IAGzC,IAAI,EAAE,QAAQ,GAAC,MAAM,CAAC;IAGtB,KAAK,EAAE,MAAM,CAAC;IAGd,KAAK,aAAqB;IAG1B,OAAO,UAAS;IAGhB,QAAQ,EAAE,cAAc,CAAC;IAEzB,OAAO,CAAC,WAAW,CAAc;IAEjC,SAAS,CAAC,WAAW,8DAAkC;IACvD,IAAI,QAAQ,sBAAqC;IAEjD,IAAI,MAAM,YAA2D;IAErE,iBAAiB,IAAI,IAAI;IAKzB,oBAAoB,GAAI,GAAG,UAAU,UAKpC;IAEK,IAAI;IAyBV,KAAK;IAML,MAAM;IAKN,YAAY,sBAA6B;IAEzC,oBAAoB;IAKpB,cAAc,0BAIZ;IAEF,WAAW,2HAMT;IAEF,IAAI,YAAY,YAEf;IAED,IAAI,QAAQ,YAEX;IAED,MAAM,0BAeJ;IAEF,MAAM;CAiBN"}
1
+ {"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../src/ui/dropdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,cAAc,EAAE,MAAM,KAAK,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAK9C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAKlC,qBAAa,aAAc,SAAQ,KAAK;gBAE3B,KAAK,EAAE,MAAM;CAGzB;AAED,qBACa,iBAAkB,SAAQ,UAAU;IAEhD,MAAM,CAAC,MAAM,0BAkBX;;IAOF,MAAM,0BAA6D;CACnE;AAED,qBAEa,QAAS,SAAQ,UAAW,YAAW,MAAM;IAEzD,MAAM,CAAC,MAAM,4BAmCV;IAGH,SAAS,EAAE,MAAM,GAAC,OAAO,CAAW;IAGpC,cAAc,SAAK;IAGnB,cAAc,EAAE,WAAW,CAAiB;IAG5C,KAAK,EAAE,MAAM,GAAC,WAAW,GAAC,cAAc,CAAC;IAGzC,IAAI,EAAE,QAAQ,GAAC,MAAM,CAAC;IAGtB,KAAK,EAAE,MAAM,CAAC;IAGd,KAAK,aAAqB;IAG1B,OAAO,UAAS;IAGhB,QAAQ,EAAE,cAAc,CAAC;IAEzB,OAAO,CAAC,WAAW,CAAc;IAEjC,SAAS,CAAC,WAAW,8DAAkC;IACvD,IAAI,QAAQ,sBAAqC;IAEjD,IAAI,MAAM,YAA2D;IAErE,iBAAiB,IAAI,IAAI;IAKzB,oBAAoB,GAAI,GAAG,UAAU,UAKpC;IAEK,IAAI;IAyBV,KAAK;IAML,MAAM;IAKN,YAAY,sBAA6B;IAEzC,oBAAoB;IAKpB,cAAc,0BAIZ;IAEF,WAAW,2HAMT;IAEF,IAAI,YAAY,YAEf;IAED,IAAI,QAAQ,YAEX;IAED,MAAM,0BAeJ;IAEF,MAAM;CA0BN"}
@@ -155,12 +155,21 @@ let Dropdown = class Dropdown extends LitElement {
155
155
  return;
156
156
  const offset = dom.getElementOffset(this, this.dropdownParent);
157
157
  dom.setSize(this.dropdown, { w: this.offsetWidth }, true);
158
- dom.setPosition(this.dropdown, {
159
- t: offset.top + this.offsetHeight - 1,
160
- l: this.positionOffset + (this.alignment == 'left'
161
- ? offset.left : (offset.left + this.offsetWidth - this.dropdown.offsetWidth))
162
- });
163
- dom.fixElementPosition(this.dropdown);
158
+ if (this.alignment == 'left') {
159
+ this.dropdown.style.right = 'auto';
160
+ dom.setPosition(this.dropdown, {
161
+ t: offset.top + this.offsetHeight - 1,
162
+ l: this.positionOffset + offset.left
163
+ });
164
+ dom.fixElementPosition(this.dropdown);
165
+ }
166
+ else {
167
+ this.dropdown.style.left = 'auto';
168
+ dom.setPosition(this.dropdown, {
169
+ t: offset.top + this.offsetHeight - 1,
170
+ r: this.dropdownParent.clientWidth - this.positionOffset - offset.left - this.offsetWidth
171
+ });
172
+ }
164
173
  }
165
174
  };
166
175
  Dropdown.styles = [css `
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../src/ui/dropdown.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, css, TemplateResult } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { ColorTypes, Layout } from '../types';\nimport * as dom from '../common/dom';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { createRef, ref } from 'lit-html/directives/ref.js';\nimport { guard } from 'lit/directives/guard.js';\nimport { IconSpec } from './icon';\nimport { utils } from '../common';\nimport { colorable } from '../themes';\nimport constants from '../constants';\n\nexport class DropdownEvent extends Event {\n\n\tconstructor(event: string) {\n\t\tsuper(`dropdown.${event}`);\n\t}\n}\n\n@customElement('og-dropdown-container')\nexport class DropdownContainer extends LitElement {\n\n\tstatic styles = css`\n\t\t:host {\n\t\t\tborder: 1px solid var(--og-accent-color);\n\t\t\tbackground-color: var(--og-background-color);\n\t\t\tposition: absolute;\n\t\t\toverflow: hidden;\n\t\t\tbox-sizing: border-box;\n\t\t\tcolor: var(--og-text-color);\n\t\t\tz-index: 60000;\n\t\t\tfont-size: var(--og-font-size);\n\t\t\tfont-family: var(--og-font-family);\n\t\t\tborder-radius: var(--og-base-radius);\n\t\t}\n\n\t\t:host(.radiusfix) {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-top-right-radius: 0;\n\t\t}\n\t`;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.addEventListener('mousedown', (e: MouseEvent) => e.stopPropagation());\n\t}\n\n\trender = () => html`<div><slot name=\"inner-content\"></slot></div>`;\n}\n\n@customElement('og-dropdown')\n@colorable({props: ['border']})\nexport class Dropdown extends LitElement implements Layout {\n\n\tstatic styles = [css`\n\t\t:host {\n\t\t\tbox-sizing: border-box;\n\t\t\tdisplay: flex;\n\t\t\talign-items: stretch;\n\t\t\tflex-direction: row;\n\t\t\tfont-size: var(--og-font-size);\n\t\t\tfont-family: var(--og-font-family);\n\t\t\tcursor: pointer;\n\t\t\tuser-select: none;\n\t\t\toutline: none;\n\t\t\tborder-radius: var(--og-base-radius);\n\t\t\theight: ${constants.BUTTON_HEIGHT}px;\n\t\t}\n\n\t\t:host(.radiusfix) {\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\tdiv.text {\n\t\t\tflex: 1;\n\t\t\tcolor: var(--og-text-color-1);\n\t\t\tpadding-left: 2px;\n\t\t\twhite-space: nowrap;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\tog-button {\n\t\t\tflex: 1;\n\t\t\tborder-radius: 0;\n\t\t\tborder: none;\n\t\t\theight: 100%;\n\t\t}\n\t`];\n\n\t@property({type: String})\n\talignment: 'left'|'right' = 'right';\n\n\t@property({type: Number})\n\tpositionOffset = 0;\n\n\t@property({type: Object})\n\tdropdownParent: HTMLElement = document.body;\n\n\t@property()\n\tlabel: string|HTMLElement|TemplateResult;\n\n\t@property()\n\ticon: IconSpec|string;\n\n\t@property({type: Number})\n\twidth: number;\n\n\t@property({type: String, reflect: true})\n\tcolor = ColorTypes.Accent;\n\n\t@property({type: Boolean})\n\tnoCaret = false;\n\n\t@query('.label')\n\tlabelElm: HTMLDivElement;\n\n\tprivate _contentElm: HTMLElement;\n\n\tprotected dropdownRef = createRef<DropdownContainer>();\n\tget dropdown() { return this.dropdownRef?.value }\n\n\tget isOpen() { return this.dropdown && !dom.isHidden(this.dropdown) }\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback();\n\t\tthis.tabIndex = 0;\n\t}\n\n\t_onDocumentMouseDown = (e: MouseEvent) => {\n\t\tfor (const elm of e.composedPath()) {\n\t\t\tif (elm == this.dropdown || elm == this) return;\n\t\t}\n\t\tthis.close();\n\t}\n\n\tasync open() {\n\t\tthis.dispatchEvent(new DropdownEvent('beforeOpen'));\n\t\tawait this.updateComplete;\n\t\t\n\t\tif (this.dropdown.parentElement !== this.dropdownParent) {\n\t\t\tthis.dropdownParent.appendChild(this.dropdown);\n\t\t}\n\n\t\tif (this.children.length > 0 && !this._contentElm) {\n\t\t\tthis._contentElm = [...this.children].find(elm => elm.slot == 'content') as HTMLElement;\n\t\t\tif (this._contentElm) {\n\t\t\t\tthis._contentElm.slot = 'inner-content';\n\t\t\t\tthis.dropdown.appendChild(this._contentElm);\n\t\t\t}\n\t\t}\n\n\t\tif (this.width > 0) dom.setSize(this.dropdown, {w: this.width});\n\t\tdom.showElement(this.dropdown);\n\t\tthis.requestUpdate();\n\t\tawait this.dropdown.updateComplete;\n\t\tthis.dispatchEvent(new DropdownEvent('open'));\n\t\tthis.layout();\n\t\tdocument.body.addEventListener('mousedown', this._onDocumentMouseDown);\n\t}\n\n\tclose() {\n\t\tif (this.dropdown) dom.hideElement(this.dropdown);\n\t\tthis.layout();\n\t\tdocument.body.removeEventListener('mousedown', this._onDocumentMouseDown);\n\t}\n\n\ttoggle() {\n\t\tif (this.isOpen) this.close();\n\t\telse this.open();\n\t}\n\n\t_onMousedown = async () => this.toggle();\n\n\tdisconnectedCallback() {\n\t\tthis.dropdown?.remove();\n\t\tsuper.disconnectedCallback();\n\t}\n\n\trenderDropdown = () => html`\n\t\t<og-dropdown-container ${ref(this.dropdownRef)}\n\t\t\tstyle=\"display: none\">\n\t\t</og-dropdown-container>\n\t`;\n\n\trenderLabel = () => {\n\t\tif (utils.isString(this.label)) {\n\t\t\treturn this.label === '' ? unsafeHTML('&nbsp;') : html`<div class=\"text\">${this.label}</div>`;\n\t\t} else {\n\t\t\treturn this.label;\n\t\t}\n\t};\n\n\tget hasLabelSlot() {\n\t\treturn this.querySelector('[slot=\"label\"]') != null;\n\t}\n\n\tget hasLabel() {\n\t\treturn this.label !== '' && this.label != null;\n\t}\n\n\trender = () => html`\n\t\t<og-button\n\t\t\t@mousedown=\"${this._onMousedown}\"\n\t\t\tclass=\"main\"\n\t\t\tcolor=\"${this.color}\"\n\t\t\t.icon=\"${this.icon}\"\n\t\t\t?caret=\"${!this.noCaret}\">\n\t\t\t${this.hasLabelSlot ? html`\n\t\t\t\t<div class=\"label\" slot=\"content\"><slot name=\"label\"></slot></div>\n\t\t\t` : guard([this.label], () => (this.hasLabel ? html`\n\t\t\t\t<div class=\"label\" slot=\"content\">${this.renderLabel()}</div>\n\t\t\t` : ''))}\n\t\t</og-button>\n\n\t\t${this.renderDropdown()}\n\t`;\n\n\tlayout() {\n\t\tthis.classList.toggle('radiusfix', this.isOpen);\n\t\tif (!this.dropdown) return;\n\t\tthis.dropdown.classList.toggle('radiusfix', this.isOpen);\n\t\tif (!this.isOpen) return;\n\n\t\tconst offset = dom.getElementOffset(this, this.dropdownParent);\n\t\tdom.setSize(this.dropdown, {w: this.offsetWidth}, true);\n\t\tdom.setPosition(this.dropdown, {\n\t\t\tt: offset.top + this.offsetHeight - 1, \n\t\t\tl: this.positionOffset + (this.alignment == 'left' \n\t\t\t\t? offset.left : (offset.left + this.offsetWidth - this.dropdown.offsetWidth ))\n\t\t});\n\n\t\tdom.fixElementPosition(this.dropdown);\n\t}\n\n}"]}
1
+ {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../src/ui/dropdown.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, css, TemplateResult } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { ColorTypes, Layout } from '../types';\nimport * as dom from '../common/dom';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { createRef, ref } from 'lit-html/directives/ref.js';\nimport { guard } from 'lit/directives/guard.js';\nimport { IconSpec } from './icon';\nimport { utils } from '../common';\nimport { colorable } from '../themes';\nimport constants from '../constants';\n\nexport class DropdownEvent extends Event {\n\n\tconstructor(event: string) {\n\t\tsuper(`dropdown.${event}`);\n\t}\n}\n\n@customElement('og-dropdown-container')\nexport class DropdownContainer extends LitElement {\n\n\tstatic styles = css`\n\t\t:host {\n\t\t\tborder: 1px solid var(--og-accent-color);\n\t\t\tbackground-color: var(--og-background-color);\n\t\t\tposition: absolute;\n\t\t\toverflow: hidden;\n\t\t\tbox-sizing: border-box;\n\t\t\tcolor: var(--og-text-color);\n\t\t\tz-index: 60000;\n\t\t\tfont-size: var(--og-font-size);\n\t\t\tfont-family: var(--og-font-family);\n\t\t\tborder-radius: var(--og-base-radius);\n\t\t}\n\n\t\t:host(.radiusfix) {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-top-right-radius: 0;\n\t\t}\n\t`;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.addEventListener('mousedown', (e: MouseEvent) => e.stopPropagation());\n\t}\n\n\trender = () => html`<div><slot name=\"inner-content\"></slot></div>`;\n}\n\n@customElement('og-dropdown')\n@colorable({props: ['border']})\nexport class Dropdown extends LitElement implements Layout {\n\n\tstatic styles = [css`\n\t\t:host {\n\t\t\tbox-sizing: border-box;\n\t\t\tdisplay: flex;\n\t\t\talign-items: stretch;\n\t\t\tflex-direction: row;\n\t\t\tfont-size: var(--og-font-size);\n\t\t\tfont-family: var(--og-font-family);\n\t\t\tcursor: pointer;\n\t\t\tuser-select: none;\n\t\t\toutline: none;\n\t\t\tborder-radius: var(--og-base-radius);\n\t\t\theight: ${constants.BUTTON_HEIGHT}px;\n\t\t}\n\n\t\t:host(.radiusfix) {\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\tdiv.text {\n\t\t\tflex: 1;\n\t\t\tcolor: var(--og-text-color-1);\n\t\t\tpadding-left: 2px;\n\t\t\twhite-space: nowrap;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\tog-button {\n\t\t\tflex: 1;\n\t\t\tborder-radius: 0;\n\t\t\tborder: none;\n\t\t\theight: 100%;\n\t\t}\n\t`];\n\n\t@property({type: String})\n\talignment: 'left'|'right' = 'right';\n\n\t@property({type: Number})\n\tpositionOffset = 0;\n\n\t@property({type: Object})\n\tdropdownParent: HTMLElement = document.body;\n\n\t@property()\n\tlabel: string|HTMLElement|TemplateResult;\n\n\t@property()\n\ticon: IconSpec|string;\n\n\t@property({type: Number})\n\twidth: number;\n\n\t@property({type: String, reflect: true})\n\tcolor = ColorTypes.Accent;\n\n\t@property({type: Boolean})\n\tnoCaret = false;\n\n\t@query('.label')\n\tlabelElm: HTMLDivElement;\n\n\tprivate _contentElm: HTMLElement;\n\n\tprotected dropdownRef = createRef<DropdownContainer>();\n\tget dropdown() { return this.dropdownRef?.value }\n\n\tget isOpen() { return this.dropdown && !dom.isHidden(this.dropdown) }\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback();\n\t\tthis.tabIndex = 0;\n\t}\n\n\t_onDocumentMouseDown = (e: MouseEvent) => {\n\t\tfor (const elm of e.composedPath()) {\n\t\t\tif (elm == this.dropdown || elm == this) return;\n\t\t}\n\t\tthis.close();\n\t}\n\n\tasync open() {\n\t\tthis.dispatchEvent(new DropdownEvent('beforeOpen'));\n\t\tawait this.updateComplete;\n\t\t\n\t\tif (this.dropdown.parentElement !== this.dropdownParent) {\n\t\t\tthis.dropdownParent.appendChild(this.dropdown);\n\t\t}\n\n\t\tif (this.children.length > 0 && !this._contentElm) {\n\t\t\tthis._contentElm = [...this.children].find(elm => elm.slot == 'content') as HTMLElement;\n\t\t\tif (this._contentElm) {\n\t\t\t\tthis._contentElm.slot = 'inner-content';\n\t\t\t\tthis.dropdown.appendChild(this._contentElm);\n\t\t\t}\n\t\t}\n\n\t\tif (this.width > 0) dom.setSize(this.dropdown, {w: this.width});\n\t\tdom.showElement(this.dropdown);\n\t\tthis.requestUpdate();\n\t\tawait this.dropdown.updateComplete;\n\t\tthis.dispatchEvent(new DropdownEvent('open'));\n\t\tthis.layout();\n\t\tdocument.body.addEventListener('mousedown', this._onDocumentMouseDown);\n\t}\n\n\tclose() {\n\t\tif (this.dropdown) dom.hideElement(this.dropdown);\n\t\tthis.layout();\n\t\tdocument.body.removeEventListener('mousedown', this._onDocumentMouseDown);\n\t}\n\n\ttoggle() {\n\t\tif (this.isOpen) this.close();\n\t\telse this.open();\n\t}\n\n\t_onMousedown = async () => this.toggle();\n\n\tdisconnectedCallback() {\n\t\tthis.dropdown?.remove();\n\t\tsuper.disconnectedCallback();\n\t}\n\n\trenderDropdown = () => html`\n\t\t<og-dropdown-container ${ref(this.dropdownRef)}\n\t\t\tstyle=\"display: none\">\n\t\t</og-dropdown-container>\n\t`;\n\n\trenderLabel = () => {\n\t\tif (utils.isString(this.label)) {\n\t\t\treturn this.label === '' ? unsafeHTML('&nbsp;') : html`<div class=\"text\">${this.label}</div>`;\n\t\t} else {\n\t\t\treturn this.label;\n\t\t}\n\t};\n\n\tget hasLabelSlot() {\n\t\treturn this.querySelector('[slot=\"label\"]') != null;\n\t}\n\n\tget hasLabel() {\n\t\treturn this.label !== '' && this.label != null;\n\t}\n\n\trender = () => html`\n\t\t<og-button\n\t\t\t@mousedown=\"${this._onMousedown}\"\n\t\t\tclass=\"main\"\n\t\t\tcolor=\"${this.color}\"\n\t\t\t.icon=\"${this.icon}\"\n\t\t\t?caret=\"${!this.noCaret}\">\n\t\t\t${this.hasLabelSlot ? html`\n\t\t\t\t<div class=\"label\" slot=\"content\"><slot name=\"label\"></slot></div>\n\t\t\t` : guard([this.label], () => (this.hasLabel ? html`\n\t\t\t\t<div class=\"label\" slot=\"content\">${this.renderLabel()}</div>\n\t\t\t` : ''))}\n\t\t</og-button>\n\n\t\t${this.renderDropdown()}\n\t`;\n\n\tlayout() {\n\t\tthis.classList.toggle('radiusfix', this.isOpen);\n\t\tif (!this.dropdown) return;\n\t\tthis.dropdown.classList.toggle('radiusfix', this.isOpen);\n\t\tif (!this.isOpen) return;\n\n\t\tconst offset = dom.getElementOffset(this, this.dropdownParent);\n\t\tdom.setSize(this.dropdown, {w: this.offsetWidth}, true);\n\n\t\tif (this.alignment == 'left') {\n\t\t\tthis.dropdown.style.right = 'auto';\n\t\t\tdom.setPosition(this.dropdown, {\n\t\t\t\tt: offset.top + this.offsetHeight - 1, \n\t\t\t\tl: this.positionOffset + offset.left\n\t\t\t});\n\t\t\tdom.fixElementPosition(this.dropdown);\n\t\t} else {\n\t\t\tthis.dropdown.style.left = 'auto';\n\t\t\tdom.setPosition(this.dropdown, {\n\t\t\t\tt: offset.top + this.offsetHeight - 1, \n\t\t\t\tr: this.dropdownParent.clientWidth - this.positionOffset - offset.left - this.offsetWidth\n\t\t\t});\n\t\t}\n\n\t}\n\n}"]}
@@ -1,9 +1,9 @@
1
1
  import { Dropdown } from './dropdown';
2
2
  import { Menu, MenuItem } from './menu';
3
3
  export declare class DropdownMenu extends Dropdown {
4
- #private;
5
4
  items: MenuItem[];
6
5
  dynamicWidth: boolean;
6
+ private _menu;
7
7
  get menu(): Menu;
8
8
  constructor();
9
9
  updated(props: Map<string, unknown>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"dropdownMenu.d.ts","sourceRoot":"","sources":["../../src/ui/dropdownMenu.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,IAAI,EAAa,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEnD,qBACa,YAAa,SAAQ,QAAQ;;IAGzC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAGlB,YAAY,UAAS;IAIrB,IAAI,IAAI,SAeP;;IAQD,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;CAQnC"}
1
+ {"version":3,"file":"dropdownMenu.d.ts","sourceRoot":"","sources":["../../src/ui/dropdownMenu.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,IAAI,EAAa,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEnD,qBACa,YAAa,SAAQ,QAAQ;IAGzC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAGlB,YAAY,UAAS;IAErB,OAAO,CAAC,KAAK,CAAO;IAEpB,IAAI,IAAI,SAoBP;;IAWD,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;CAQnC"}
@@ -4,56 +4,50 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
- };
12
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
13
- if (kind === "m") throw new TypeError("Private method is not writable");
14
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
15
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
16
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
17
- };
18
- var _DropdownMenu_menu;
19
7
  import { dom } from '../common';
20
8
  import { customElement, property } from 'lit/decorators.js';
21
9
  import { Dropdown } from './dropdown';
22
10
  import { MenuEvent } from './menu';
23
11
  let DropdownMenu = class DropdownMenu extends Dropdown {
24
12
  get menu() {
25
- if (__classPrivateFieldGet(this, _DropdownMenu_menu, "f"))
26
- return __classPrivateFieldGet(this, _DropdownMenu_menu, "f");
27
- __classPrivateFieldSet(this, _DropdownMenu_menu, dom.createElement('og-menu'), "f");
28
- __classPrivateFieldGet(this, _DropdownMenu_menu, "f").slot = 'inner-content';
29
- __classPrivateFieldGet(this, _DropdownMenu_menu, "f").style.border = 'none';
30
- __classPrivateFieldGet(this, _DropdownMenu_menu, "f").style.minWidth = '100%';
31
- __classPrivateFieldGet(this, _DropdownMenu_menu, "f").dynamicWidth = this.dynamicWidth;
32
- __classPrivateFieldGet(this, _DropdownMenu_menu, "f").items = this.items;
33
- __classPrivateFieldGet(this, _DropdownMenu_menu, "f").addEventListener('menu.select', (e) => {
34
- this.close();
35
- this.dispatchEvent(new MenuEvent('select', e.item));
13
+ if (this._menu)
14
+ return this._menu;
15
+ this._menu = dom.createElement('og-menu', {
16
+ slot: 'inner-content',
17
+ dynamicWidth: this.dynamicWidth,
18
+ items: this.items,
19
+ style: {
20
+ border: 'none',
21
+ minWidth: '100%'
22
+ },
23
+ listeners: [
24
+ ['render', () => this.layout()],
25
+ ['menu.select', (e) => {
26
+ this.close();
27
+ this.dispatchEvent(new MenuEvent('select', e.item));
28
+ }]
29
+ ]
36
30
  });
37
- __classPrivateFieldGet(this, _DropdownMenu_menu, "f").addEventListener('render', () => this.layout());
38
- this.dropdown.appendChild(__classPrivateFieldGet(this, _DropdownMenu_menu, "f"));
39
- return __classPrivateFieldGet(this, _DropdownMenu_menu, "f");
31
+ this.dropdown.appendChild(this._menu);
32
+ return this._menu;
40
33
  }
41
34
  constructor() {
42
35
  super();
43
36
  this.dynamicWidth = false;
44
- _DropdownMenu_menu.set(this, void 0);
45
37
  this.addEventListener('dropdown.beforeOpen', () => this.menu);
46
- this.addEventListener('dropdown.open', () => this.menu.focus());
38
+ this.addEventListener('dropdown.open', () => {
39
+ this.menu.focus();
40
+ setTimeout(() => this.layout(), 0);
41
+ });
47
42
  }
48
43
  updated(props) {
49
44
  super.updated(props);
50
- if (__classPrivateFieldGet(this, _DropdownMenu_menu, "f")) {
51
- __classPrivateFieldGet(this, _DropdownMenu_menu, "f").dynamicWidth = this.dynamicWidth;
52
- __classPrivateFieldGet(this, _DropdownMenu_menu, "f").items = this.items;
45
+ if (this._menu) {
46
+ this._menu.dynamicWidth = this.dynamicWidth;
47
+ this._menu.items = this.items;
53
48
  }
54
49
  }
55
50
  };
56
- _DropdownMenu_menu = new WeakMap();
57
51
  __decorate([
58
52
  property({ type: Array })
59
53
  ], DropdownMenu.prototype, "items", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"dropdownMenu.js","sourceRoot":"","sources":["../../src/ui/dropdownMenu.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAQ,SAAS,EAAY,MAAM,QAAQ,CAAC;AAG5C,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,QAAQ;IAUzC,IAAI,IAAI;QACP,IAAI,uBAAA,IAAI,0BAAM;YAAE,OAAO,uBAAA,IAAI,0BAAM,CAAC;QAClC,uBAAA,IAAI,sBAAS,GAAG,CAAC,aAAa,CAAO,SAAS,CAAC,MAAA,CAAC;QAChD,uBAAA,IAAI,0BAAM,CAAC,IAAI,GAAG,eAAe,CAAC;QAClC,uBAAA,IAAI,0BAAM,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACjC,uBAAA,IAAI,0BAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;QACnC,uBAAA,IAAI,0BAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5C,uBAAA,IAAI,0BAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9B,uBAAA,IAAI,0BAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAY,EAAE,EAAE;YAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,uBAAA,IAAI,0BAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,uBAAA,IAAI,0BAAM,CAAC,CAAC;QACtC,OAAO,uBAAA,IAAI,0BAAM,CAAC;IACnB,CAAC;IAED;QACC,KAAK,EAAE,CAAC;QAtBT,iBAAY,GAAG,KAAK,CAAC;QAErB,qCAAY;QAqBX,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC;QAC/D,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,CAAC,KAA2B;QAClC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,uBAAA,IAAI,0BAAM,EAAE,CAAC;YAChB,uBAAA,IAAI,0BAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC5C,uBAAA,IAAI,0BAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC/B,CAAC;IACF,CAAC;CAED,CAAA;;AAtCA;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC;2CACN;AAGlB;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;kDACL;AANT,YAAY;IADxB,aAAa,CAAC,kBAAkB,CAAC;GACrB,YAAY,CAyCxB","sourcesContent":["import { dom } from '../common';\nimport { customElement, property } from 'lit/decorators.js';\nimport { Dropdown } from './dropdown';\nimport { Menu, MenuEvent, MenuItem } from './menu';\n\n@customElement(`og-dropdown-menu`)\nexport class DropdownMenu extends Dropdown {\n\n\t@property({type: Array})\n\titems: MenuItem[];\n\n\t@property({type: Boolean})\n\tdynamicWidth = false;\n\n\t#menu: Menu;\n\n\tget menu() {\n\t\tif (this.#menu) return this.#menu;\n\t\tthis.#menu = dom.createElement<Menu>('og-menu');\n\t\tthis.#menu.slot = 'inner-content';\n\t\tthis.#menu.style.border = 'none';\n\t\tthis.#menu.style.minWidth = '100%';\n\t\tthis.#menu.dynamicWidth = this.dynamicWidth;\n\t\tthis.#menu.items = this.items;\n\t\tthis.#menu.addEventListener('menu.select', (e: MenuEvent) => {\n\t\t\tthis.close();\n\t\t\tthis.dispatchEvent(new MenuEvent('select', e.item));\n\t\t});\n\t\tthis.#menu.addEventListener('render', () => this.layout());\n\t\tthis.dropdown.appendChild(this.#menu);\n\t\treturn this.#menu;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.addEventListener('dropdown.beforeOpen', () => this.menu );\n\t\tthis.addEventListener('dropdown.open', () => this.menu.focus());\n\t}\n\n\tupdated(props: Map<string, unknown>) {\n\t\tsuper.updated(props);\n\t\tif (this.#menu) {\n\t\t\tthis.#menu.dynamicWidth = this.dynamicWidth;\n\t\t\tthis.#menu.items = this.items;\n\t\t}\n\t}\n\t\n}"]}
1
+ {"version":3,"file":"dropdownMenu.js","sourceRoot":"","sources":["../../src/ui/dropdownMenu.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAQ,SAAS,EAAY,MAAM,QAAQ,CAAC;AAG5C,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,QAAQ;IAUzC,IAAI,IAAI;QACP,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,aAAa,CAAO,SAAS,EAAE;YAC/C,IAAI,EAAE,eAAe;YACrB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE;gBACN,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,MAAM;aAChB;YACD,SAAS,EAAE;gBACV,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC/B,CAAC,aAAa,EAAE,CAAC,CAAY,EAAE,EAAE;wBAChC,IAAI,CAAC,KAAK,EAAE,CAAC;wBACb,IAAI,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBACrD,CAAC,CAAC;aACF;SACD,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED;QACC,KAAK,EAAE,CAAC;QA3BT,iBAAY,GAAG,KAAK,CAAC;QA4BpB,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,GAAG,EAAE;YAC3C,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAClB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,KAA2B;QAClC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC/B,CAAC;IACF,CAAC;CAED,CAAA;AA9CA;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC;2CACN;AAGlB;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;kDACL;AANT,YAAY;IADxB,aAAa,CAAC,kBAAkB,CAAC;GACrB,YAAY,CAiDxB","sourcesContent":["import { dom } from '../common';\nimport { customElement, property } from 'lit/decorators.js';\nimport { Dropdown } from './dropdown';\nimport { Menu, MenuEvent, MenuItem } from './menu';\n\n@customElement(`og-dropdown-menu`)\nexport class DropdownMenu extends Dropdown {\n\n\t@property({type: Array})\n\titems: MenuItem[];\n\n\t@property({type: Boolean})\n\tdynamicWidth = false;\n\n\tprivate _menu: Menu;\n\n\tget menu() {\n\t\tif (this._menu) return this._menu;\n\t\tthis._menu = dom.createElement<Menu>('og-menu', {\n\t\t\tslot: 'inner-content',\n\t\t\tdynamicWidth: this.dynamicWidth,\n\t\t\titems: this.items,\n\t\t\tstyle: {\n\t\t\t\tborder: 'none',\n\t\t\t\tminWidth: '100%'\n\t\t\t},\n\t\t\tlisteners: [\n\t\t\t\t['render', () => this.layout()],\n\t\t\t\t['menu.select', (e: MenuEvent) => {\n\t\t\t\t\tthis.close();\n\t\t\t\t\tthis.dispatchEvent(new MenuEvent('select', e.item));\n\t\t\t\t}]\n\t\t\t]\n\t\t});\n\t\tthis.dropdown.appendChild(this._menu);\n\t\treturn this._menu;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.addEventListener('dropdown.beforeOpen', () => this.menu);\n\t\tthis.addEventListener('dropdown.open', () => {\n\t\t\tthis.menu.focus();\n\t\t\tsetTimeout(() => this.layout(), 0);\n\t\t});\n\t}\n\n\tupdated(props: Map<string, unknown>) {\n\t\tsuper.updated(props);\n\t\tif (this._menu) {\n\t\t\tthis._menu.dynamicWidth = this.dynamicWidth;\n\t\t\tthis._menu.items = this.items;\n\t\t}\n\t}\n\t\n}"]}
@@ -13,6 +13,7 @@ export declare class SplitContainer extends LitElement implements Layout {
13
13
  static styles: import("lit").CSSResult[];
14
14
  items: SplitContainerItem[];
15
15
  orientation: Orientation;
16
+ gap: number;
16
17
  containers: NodeListOf<HTMLElement>;
17
18
  overlay: HTMLDivElement;
18
19
  createComponent: ComponentFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"splitContainer.d.ts","sourceRoot":"","sources":["../../src/ui/splitContainer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAGvC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIlG,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE7C,qBAAa,mBAAoB,SAAQ,KAAK;IAE7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;gBACpB,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,mBAAmB,CAAC;CAI5D;AAGD,qBAAa,yBAA0B,SAAQ,KAAK;gBACvC,IAAI,EAAE,MAAM;CAGxB;AAED,qBACa,cAAe,SAAQ,UAAW,YAAW,MAAM;IAE/D,MAAM,CAAC,MAAM,4BAAW;IAGxB,KAAK,EAAE,kBAAkB,EAAE,CAAM;IAGjC,WAAW,EAAE,WAAW,CAAgB;IAGxC,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAGpC,OAAO,EAAE,cAAc,CAAC;IAGxB,eAAe,EAAE,gBAAgB,CAAC;IAGlC,KAAK,EAAE,KAAK,CAAC;IAEb,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,kBAAkB,CAAgB;IAE1C,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,SAAS,CAAC,aAAa,UAAQ;;IAO/B,YAAY,CAAC,KAAK,EAAE,MAAM;IAI1B,iBAAiB;IAIjB,oBAAoB;IAIpB,cAAc,CAAC,KAAK,EAAE,MAAM;IAM5B,eAAe,CAAC,KAAK,EAAE,MAAM;IAM7B,qBAAqB,CAAC,KAAK,EAAE,MAAM;IAOnC,YAAY,GAAI,GAAG,UAAU,UAiC3B;IAEF,eAAe;;uBAnHc,CAAC;MAyHA;IAE9B,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAC,IAAI;IASjD,gBAAgB,CAAC,KAAK,EAAE,MAAM;IAM9B,mBAAmB;IAIb,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,UAAO;IAQ7C,eAAe;IAYf,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAatC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,WAAW;IAItC,eAAe,CAAC,KAAK,EAAE,MAAM;IAc7B,OAAO;IAOb,MAAM,6CAqBJ;IAEF,kBAAkB;IAMlB,MAAM;CAQN"}
1
+ {"version":3,"file":"splitContainer.d.ts","sourceRoot":"","sources":["../../src/ui/splitContainer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAGvC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIlG,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG7C,qBAAa,mBAAoB,SAAQ,KAAK;IAE7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;gBACpB,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,mBAAmB,CAAC;CAI5D;AAGD,qBAAa,yBAA0B,SAAQ,KAAK;gBACvC,IAAI,EAAE,MAAM;CAGxB;AAED,qBACa,cAAe,SAAQ,UAAW,YAAW,MAAM;IAE/D,MAAM,CAAC,MAAM,4BAAW;IAGxB,KAAK,EAAE,kBAAkB,EAAE,CAAM;IAGjC,WAAW,EAAE,WAAW,CAAgB;IAGxC,GAAG,SAAK;IAGR,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAGpC,OAAO,EAAE,cAAc,CAAC;IAGxB,eAAe,EAAE,gBAAgB,CAAC;IAGlC,KAAK,EAAE,KAAK,CAAC;IAEb,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,kBAAkB,CAAgB;IAE1C,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,SAAS,CAAC,aAAa,UAAQ;;IAO/B,YAAY,CAAC,KAAK,EAAE,MAAM;IAI1B,iBAAiB;IAIjB,oBAAoB;IAIpB,cAAc,CAAC,KAAK,EAAE,MAAM;IAM5B,eAAe,CAAC,KAAK,EAAE,MAAM;IAM7B,qBAAqB,CAAC,KAAK,EAAE,MAAM;IAOnC,YAAY,GAAI,GAAG,UAAU,UAiC3B;IAEF,eAAe;;uBAvHb,CAAC;MA6H2B;IAE9B,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAC,IAAI;IASjD,gBAAgB,CAAC,KAAK,EAAE,MAAM;IAM9B,mBAAmB;IAIb,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,UAAO;IAQ7C,eAAe;IAYf,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAatC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,WAAW;IAItC,eAAe,CAAC,KAAK,EAAE,MAAM;IAe7B,OAAO;IAOb,MAAM,6CAgCJ;IAEF,kBAAkB;IAMlB,MAAM;CAQN"}
@@ -11,6 +11,7 @@ import { map } from "lit/directives/map.js";
11
11
  import { style } from './splitContainer.style';
12
12
  import constants from "../constants";
13
13
  import { debounce } from "ts-debounce";
14
+ import { styleMap } from "lit-html/directives/style-map.js";
14
15
  export class SplitContainerEvent extends Event {
15
16
  constructor(type, args) {
16
17
  super(type);
@@ -27,6 +28,7 @@ let SplitContainer = class SplitContainer extends LitElement {
27
28
  super();
28
29
  this.items = [];
29
30
  this.orientation = 'horizontal';
31
+ this.gap = 0;
30
32
  this.indexMap = [];
31
33
  this.dynamicSizeIndices = [];
32
34
  this._resizeIndex = -1;
@@ -77,8 +79,18 @@ let SplitContainer = class SplitContainer extends LitElement {
77
79
  const visibleItems = this.items.map((item, index) => ([item, index]));
78
80
  return html `
79
81
  ${map(visibleItems, ([item, index], index2) => item.collapsed ? `` : html `
80
- <div class="item ${index2 == 0 ? 'first' : (index2 == visibleItems.length - 1 ? 'last' : '')}" data-index="${index}"></div>
82
+ <div
83
+ class="item ${index2 == 0 ? 'first' : (index2 == visibleItems.length - 1 ? 'last' : '')}"
84
+ data-index="${index}"><div
85
+ class="inner"
86
+ style="${styleMap({
87
+ top: this.orientation == 'vertical' && this.gap > 0 && index2 > 0 ? dom.px(this.gap / 2) : null,
88
+ bottom: this.orientation == 'vertical' && this.gap > 0 && index2 < visibleItems.length - 1 ? dom.px(this.gap / 2) : null,
89
+ left: this.orientation == 'horizontal' && this.gap > 0 && index2 > 0 ? dom.px(this.gap / 2) : null,
90
+ right: this.orientation == 'horizontal' && this.gap > 0 && index2 < visibleItems.length - 1 ? dom.px(this.gap / 2) : null,
91
+ })}"></div></div>
81
92
  `)}
93
+
82
94
  <og-sizer
83
95
  orientation="${this.orientation}"
84
96
  noGuideLine
@@ -92,6 +104,7 @@ let SplitContainer = class SplitContainer extends LitElement {
92
104
  }}"
93
105
  @resize="${this._debounceResize}">
94
106
  </og-sizer>
107
+
95
108
  <div class="overlay"></div>
96
109
  `;
97
110
  };
@@ -118,7 +131,7 @@ let SplitContainer = class SplitContainer extends LitElement {
118
131
  }
119
132
  getContainerComponent(index) {
120
133
  if (this.indexMap[index] > -1) {
121
- return this.containers[this.indexMap[index]].firstChild;
134
+ return this.containers[this.indexMap[index]].firstElementChild.firstElementChild;
122
135
  }
123
136
  return null;
124
137
  }
@@ -179,11 +192,12 @@ let SplitContainer = class SplitContainer extends LitElement {
179
192
  if (!container)
180
193
  return;
181
194
  const item = this.items[index];
182
- dom.empty(container);
195
+ const innerContainer = container.firstElementChild;
196
+ dom.empty(innerContainer);
183
197
  this.setContainerSize(index, item.size);
184
198
  const component = await this.getComponent(index, item.id);
185
199
  if (component) {
186
- container.appendChild(component);
200
+ innerContainer.appendChild(component);
187
201
  this.dispatchEvent(new SplitContainerEvent('component', { index, component }));
188
202
  }
189
203
  }
@@ -216,6 +230,9 @@ __decorate([
216
230
  __decorate([
217
231
  property({ type: String, reflect: true })
218
232
  ], SplitContainer.prototype, "orientation", void 0);
233
+ __decorate([
234
+ property({ type: Number })
235
+ ], SplitContainer.prototype, "gap", void 0);
219
236
  __decorate([
220
237
  queryAll('.item')
221
238
  ], SplitContainer.prototype, "containers", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"splitContainer.js","sourceRoot":"","sources":["../../src/ui/splitContainer.ts"],"names":[],"mappings":"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","sourcesContent":["import * as dom from \"../common/dom\";\nimport { LitElement, html } from 'lit';\nimport { customElement, property, query, queryAll } from 'lit/decorators.js';\nimport { map } from \"lit/directives/map.js\";\nimport { SplitContainerItem, Orientation, Layout, ComponentFactory, ComponentId } from \"../types\";\nimport { style } from './splitContainer.style';\nimport constants from \"../constants\";\nimport { debounce } from \"ts-debounce\";\nimport { Sizer, ResizeEvent } from \"./sizer\";\n\nexport class SplitContainerEvent extends Event {\n\n\treadonly index: number;\n\treadonly component: HTMLElement;\n\tconstructor(type: string, args: Partial<SplitContainerEvent>) {\n\t\tsuper(type);\n\t\tObject.assign(this, args);\n\t}\n}\n\n\nexport class SplitContainerResizeEvent extends Event {\n\tconstructor(type: string) {\n\t\tsuper(`splitContainer.${type}`, {bubbles: true, composed: true});\n\t}\n}\n\n@customElement('og-splitcontainer')\nexport class SplitContainer extends LitElement implements Layout {\n\n\tstatic styles = [style];\n\n\t@property({type: Array})\n\titems: SplitContainerItem[] = [];\n\n\t@property({type: String, reflect: true})\n\torientation: Orientation = 'horizontal';\n\t\n\t@queryAll('.item')\n\tcontainers: NodeListOf<HTMLElement>;\n\n\t@query('.overlay')\n\toverlay: HTMLDivElement;\n\n\t@property({type: Object})\n\tcreateComponent: ComponentFactory;\n\n\t@query('og-sizer')\n\tsizer: Sizer;\n\n\tprivate indexMap: number[] = [];\n\tprivate dynamicSizeIndices: number[] = [];\n\n\tprivate _resizeIndex = -1;\n\tprivate _resizeLastSize1 = -1;\n\tprivate _resizeLastSize2 = -1;\n\tprotected defaultLayout = true;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.addEventListener('mousemove', this._onMouseMove);\n\t}\n\n\tgetContainer(index: number) {\n\t\treturn this.containers[this.indexMap[index]];\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback();\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback();\n\t}\n\n\tsplitContainer(index: number) {\n\t\tthis.items.splice(index, 0, {size: null});\n\t\tthis.items.forEach(item => item.size = null);\n\t\tthis.requestUpdate();\n\t}\n\n\tremoveContainer(index: number) {\n\t\tthis.items.splice(index, 1);\n\t\tthis.items.forEach(item => item.size = null);\n\t\tthis.requestUpdate();\n\t}\n\n\tgetContainerComponent(index: number) {\n\t\tif (this.indexMap[index] > -1) {\n\t\t\treturn this.containers[this.indexMap[index]].firstChild as HTMLElement & Layout;\n\t\t}\n\t\treturn null;\n\t}\n\n\t_onMouseMove = (e: MouseEvent) => {\n\t\tif (this.sizer.resizing) return;\n\t\t\n\t\tlet mousePos = 0, itemPos = 0;\n\t\tthis._resizeIndex = -1;\n\t\tfor (let i = 1; i < this.containers.length; i++) {\n\t\t\tif (this.orientation == 'horizontal') {\n\t\t\t\tmousePos = e.offsetX;\n\t\t\t\titemPos = this.containers[i].offsetLeft;\n\t\t\t} else {\n\t\t\t\tmousePos = e.offsetY;\n\t\t\t\titemPos = this.containers[i].offsetTop;\n\t\t\t}\n\n\t\t\tif (Math.abs(itemPos - mousePos) < constants.SIZER_SIZE) {\n\t\t\t\tthis._resizeIndex = i - 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (this._resizeIndex > -1) {\n\t\t\tthis._resizeLastSize1 = this.orientation == 'horizontal' \n\t\t\t\t? this.containers[this._resizeIndex].offsetWidth \n\t\t\t\t: this.containers[this._resizeIndex].offsetHeight;\n\t\t\t\n\t\t\tthis._resizeLastSize2 = this.orientation == 'horizontal' \n\t\t\t\t? this.containers[this._resizeIndex + 1].offsetWidth \n\t\t\t\t: this.containers[this._resizeIndex + 1].offsetHeight;\n\t\t\t\n\t\t\tthis.sizer.snap(this.containers[this._resizeIndex], this);\n\t\t} else {\n\t\t\tthis.sizer.hide();\n\t\t}\n\t};\n\n\t_debounceResize = debounce((e: ResizeEvent) => {\n\t\tconst delta = (this.orientation == 'horizontal' ? e.deltaX : e.deltaY);\n\t\tthis.setContainerSize(this._resizeIndex, this._resizeLastSize1 + delta);\n\t\tthis.setContainerSize(this._resizeIndex + 1, this._resizeLastSize2 - delta);\n\t\tif (this.defaultLayout) this.layout();\n\t\tthis.dispatchEvent(new SplitContainerResizeEvent('resize'));\n\t}, null, {isImmediate: true});\n\n\tsetContainerSize(index: number, size: number|null) {\n\t\tthis.items[index].size = size;\n\t\tconst container = this.getContainer(index);\n\t\tif (!container) return;\n\t\tcontainer.style.flexBasis = size > 0 ? dom.px(size) : '0'; // 0 = ignore item size during space distribution\n\t\tcontainer.style.flexGrow = size > 0 ? '0' : '1';\n\t\tcontainer.style.flexShrink = size > 0 ? '0' : '1';\n\t}\n\n\tgetContainerSize(index: number) {\n\t\tconst container = this.getContainer(index);\n\t\tif (!container) return 0;\n\t\treturn this.orientation == 'horizontal' ? container.offsetWidth : container.offsetHeight;\n\t}\n\n\tresetContainerSizes() {\n\t\tthis.items.forEach((_, i) => this.setContainerSize(i, null));\n\t}\n\n\tasync collapse(index: number, collapse = true) {\n\t\tthis.items[index].collapsed = collapse;\n\t\tthis.indexContainers();\n\t\tthis.requestUpdate();\n\t\tawait this.updateComplete;\n\t\tthis.layout();\n\t}\n\n\tindexContainers() {\n\t\tthis.indexMap = [];\n\t\tlet i = 0;\n\t\tthis.items.forEach((item, j) => {\n\t\t\tif (!item) {\n\t\t\t\titem = {size: null};\n\t\t\t\tthis.items[j] = item;\n\t\t\t}\n\t\t\tthis.indexMap.push(item?.collapsed ? -1 : i++);\n\t\t});\n\t}\n\n\twillUpdate(props: Map<string, unknown>) {\n\t\tif (!this.items || this.items.length == 0) {\n\t\t\tthis.items.push({size: null});\n\t\t}\n\n\t\tif (props.has('items') || this.dynamicSizeIndices.length == 0) {\n\t\t\tthis.dynamicSizeIndices = [...this.items.keys()].filter(i => this.items[i].size == null);\n\t\t\tif (this.dynamicSizeIndices.length == 0) this.dynamicSizeIndices = [this.items.length - 1];\n\t\t}\n\t\t\n\t\tthis.indexContainers();\n\t}\n\t\n\tgetComponent(index: number, id?: ComponentId) {\n\t\treturn this.createComponent ? this.createComponent(id ?? index) : null\n\t}\n\n\tasync updateComponent(index: number) {\n\t\tif (this.items[index].collapsed) return;\n\t\tconst container = this.getContainer(index);\n\t\tif (!container) return;\n\t\tconst item = this.items[index];\n\t\tdom.empty(container);\n\t\tthis.setContainerSize(index, item.size);\n\t\tconst component = await this.getComponent(index, item.id);\n\t\tif (component) {\n\t\t\tcontainer.appendChild(component);\n\t\t\tthis.dispatchEvent(new SplitContainerEvent('component', {index, component}));\n\t\t}\n\t}\n\n\tasync updated() {\n\t\tfor (const container of this.containers) {\n\t\t\tawait this.updateComponent(parseInt(container.dataset.index));\n\t\t}\n\t\tthis.layout();\n\t}\n\n\trender = () => {\n\t\tconst visibleItems = this.items.map((item, index) => ([item, index])) as [SplitContainerItem, number][];\n\t\treturn html`\n\t\t\t${map(visibleItems, ([item, index], index2) => item.collapsed ? `` : html`\n\t\t\t\t<div class=\"item ${index2 == 0 ? 'first' : (index2 == visibleItems.length - 1 ? 'last' : '')}\" data-index=\"${index}\"></div>\n\t\t\t`)}\n\t\t\t<og-sizer\n\t\t\t\torientation=\"${this.orientation}\" \n\t\t\t\tnoGuideLine \n\t\t\t\t@resizestart=\"${() => {\n\t\t\t\t\tdom.showElement(this.overlay);\n\t\t\t\t\tthis.dispatchEvent(new SplitContainerResizeEvent('resizestart'));\n\t\t\t\t}}\"\n\t\t\t\t@resizestop=\"${() => {\n\t\t\t\t\tdom.hideElement(this.overlay);\n\t\t\t\t\tthis.dispatchEvent(new SplitContainerResizeEvent('resizestop'));\n\t\t\t\t}}\" \n\t\t\t\t@resize=\"${this._debounceResize}\">\n\t\t\t</og-sizer>\n\t\t\t<div class=\"overlay\"></div>\n\t\t`;\n\t};\n\n\tfillRemainingSpace() {\n\t\tif (!this.items?.length) return;\n\t\tif (this.items.find(item => item.size == null)) return;\n\t\tthis.setContainerSize(this.items.length - 1, null);\n\t}\n\n\tlayout() {\n\t\tthis.fillRemainingSpace();\n\t\tthis.containers.forEach(c => {\n\t\t\tconst component = this.getContainerComponent(parseInt(c.dataset.index));\n\t\t\tif (component?.layout) component.layout();\n\t\t});\n\t}\n\n}"]}
1
+ {"version":3,"file":"splitContainer.js","sourceRoot":"","sources":["../../src/ui/splitContainer.ts"],"names":[],"mappings":"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","sourcesContent":["import * as dom from \"../common/dom\";\nimport { LitElement, html } from 'lit';\nimport { customElement, property, query, queryAll } from 'lit/decorators.js';\nimport { map } from \"lit/directives/map.js\";\nimport { SplitContainerItem, Orientation, Layout, ComponentFactory, ComponentId } from \"../types\";\nimport { style } from './splitContainer.style';\nimport constants from \"../constants\";\nimport { debounce } from \"ts-debounce\";\nimport { Sizer, ResizeEvent } from \"./sizer\";\nimport { styleMap } from \"lit-html/directives/style-map.js\";\n\nexport class SplitContainerEvent extends Event {\n\n\treadonly index: number;\n\treadonly component: HTMLElement;\n\tconstructor(type: string, args: Partial<SplitContainerEvent>) {\n\t\tsuper(type);\n\t\tObject.assign(this, args);\n\t}\n}\n\n\nexport class SplitContainerResizeEvent extends Event {\n\tconstructor(type: string) {\n\t\tsuper(`splitContainer.${type}`, {bubbles: true, composed: true});\n\t}\n}\n\n@customElement('og-splitcontainer')\nexport class SplitContainer extends LitElement implements Layout {\n\n\tstatic styles = [style];\n\n\t@property({type: Array})\n\titems: SplitContainerItem[] = [];\n\n\t@property({type: String, reflect: true})\n\torientation: Orientation = 'horizontal';\n\n\t@property({type: Number})\n\tgap = 0;\n\n\t@queryAll('.item')\n\tcontainers: NodeListOf<HTMLElement>;\n\n\t@query('.overlay')\n\toverlay: HTMLDivElement;\n\n\t@property({type: Object})\n\tcreateComponent: ComponentFactory;\n\n\t@query('og-sizer')\n\tsizer: Sizer;\n\n\tprivate indexMap: number[] = [];\n\tprivate dynamicSizeIndices: number[] = [];\n\n\tprivate _resizeIndex = -1;\n\tprivate _resizeLastSize1 = -1;\n\tprivate _resizeLastSize2 = -1;\n\tprotected defaultLayout = true;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.addEventListener('mousemove', this._onMouseMove);\n\t}\n\n\tgetContainer(index: number) {\n\t\treturn this.containers[this.indexMap[index]];\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback();\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback();\n\t}\n\n\tsplitContainer(index: number) {\n\t\tthis.items.splice(index, 0, {size: null});\n\t\tthis.items.forEach(item => item.size = null);\n\t\tthis.requestUpdate();\n\t}\n\n\tremoveContainer(index: number) {\n\t\tthis.items.splice(index, 1);\n\t\tthis.items.forEach(item => item.size = null);\n\t\tthis.requestUpdate();\n\t}\n\n\tgetContainerComponent(index: number) {\n\t\tif (this.indexMap[index] > -1) {\n\t\t\treturn this.containers[this.indexMap[index]].firstElementChild.firstElementChild as HTMLElement & Layout;\n\t\t}\n\t\treturn null;\n\t}\n\n\t_onMouseMove = (e: MouseEvent) => {\n\t\tif (this.sizer.resizing) return;\n\t\t\n\t\tlet mousePos = 0, itemPos = 0;\n\t\tthis._resizeIndex = -1;\n\t\tfor (let i = 1; i < this.containers.length; i++) {\n\t\t\tif (this.orientation == 'horizontal') {\n\t\t\t\tmousePos = e.offsetX;\n\t\t\t\titemPos = this.containers[i].offsetLeft;\n\t\t\t} else {\n\t\t\t\tmousePos = e.offsetY;\n\t\t\t\titemPos = this.containers[i].offsetTop;\n\t\t\t}\n\n\t\t\tif (Math.abs(itemPos - mousePos) < constants.SIZER_SIZE) {\n\t\t\t\tthis._resizeIndex = i - 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (this._resizeIndex > -1) {\n\t\t\tthis._resizeLastSize1 = this.orientation == 'horizontal' \n\t\t\t\t? this.containers[this._resizeIndex].offsetWidth \n\t\t\t\t: this.containers[this._resizeIndex].offsetHeight;\n\t\t\t\n\t\t\tthis._resizeLastSize2 = this.orientation == 'horizontal' \n\t\t\t\t? this.containers[this._resizeIndex + 1].offsetWidth \n\t\t\t\t: this.containers[this._resizeIndex + 1].offsetHeight;\n\t\t\t\n\t\t\tthis.sizer.snap(this.containers[this._resizeIndex], this);\n\t\t} else {\n\t\t\tthis.sizer.hide();\n\t\t}\n\t};\n\n\t_debounceResize = debounce((e: ResizeEvent) => {\n\t\tconst delta = (this.orientation == 'horizontal' ? e.deltaX : e.deltaY);\n\t\tthis.setContainerSize(this._resizeIndex, this._resizeLastSize1 + delta);\n\t\tthis.setContainerSize(this._resizeIndex + 1, this._resizeLastSize2 - delta);\n\t\tif (this.defaultLayout) this.layout();\n\t\tthis.dispatchEvent(new SplitContainerResizeEvent('resize'));\n\t}, null, {isImmediate: true});\n\n\tsetContainerSize(index: number, size: number|null) {\n\t\tthis.items[index].size = size;\n\t\tconst container = this.getContainer(index);\n\t\tif (!container) return;\n\t\tcontainer.style.flexBasis = size > 0 ? dom.px(size) : '0'; // 0 = ignore item size during space distribution\n\t\tcontainer.style.flexGrow = size > 0 ? '0' : '1';\n\t\tcontainer.style.flexShrink = size > 0 ? '0' : '1';\n\t}\n\n\tgetContainerSize(index: number) {\n\t\tconst container = this.getContainer(index);\n\t\tif (!container) return 0;\n\t\treturn this.orientation == 'horizontal' ? container.offsetWidth : container.offsetHeight;\n\t}\n\n\tresetContainerSizes() {\n\t\tthis.items.forEach((_, i) => this.setContainerSize(i, null));\n\t}\n\n\tasync collapse(index: number, collapse = true) {\n\t\tthis.items[index].collapsed = collapse;\n\t\tthis.indexContainers();\n\t\tthis.requestUpdate();\n\t\tawait this.updateComplete;\n\t\tthis.layout();\n\t}\n\n\tindexContainers() {\n\t\tthis.indexMap = [];\n\t\tlet i = 0;\n\t\tthis.items.forEach((item, j) => {\n\t\t\tif (!item) {\n\t\t\t\titem = {size: null};\n\t\t\t\tthis.items[j] = item;\n\t\t\t}\n\t\t\tthis.indexMap.push(item?.collapsed ? -1 : i++);\n\t\t});\n\t}\n\n\twillUpdate(props: Map<string, unknown>) {\n\t\tif (!this.items || this.items.length == 0) {\n\t\t\tthis.items.push({size: null});\n\t\t}\n\n\t\tif (props.has('items') || this.dynamicSizeIndices.length == 0) {\n\t\t\tthis.dynamicSizeIndices = [...this.items.keys()].filter(i => this.items[i].size == null);\n\t\t\tif (this.dynamicSizeIndices.length == 0) this.dynamicSizeIndices = [this.items.length - 1];\n\t\t}\n\t\t\n\t\tthis.indexContainers();\n\t}\n\t\n\tgetComponent(index: number, id?: ComponentId) {\n\t\treturn this.createComponent ? this.createComponent(id ?? index) : null\n\t}\n\n\tasync updateComponent(index: number) {\n\t\tif (this.items[index].collapsed) return;\n\t\tconst container = this.getContainer(index);\n\t\tif (!container) return;\n\t\tconst item = this.items[index];\n\t\tconst innerContainer = container.firstElementChild as HTMLDivElement;\n\t\tdom.empty(innerContainer);\n\t\tthis.setContainerSize(index, item.size);\n\t\tconst component = await this.getComponent(index, item.id);\n\t\tif (component) {\n\t\t\tinnerContainer.appendChild(component);\n\t\t\tthis.dispatchEvent(new SplitContainerEvent('component', {index, component}));\n\t\t}\n\t}\n\n\tasync updated() {\n\t\tfor (const container of this.containers) {\n\t\t\tawait this.updateComponent(parseInt(container.dataset.index));\n\t\t}\n\t\tthis.layout();\n\t}\n\n\trender = () => {\n\t\tconst visibleItems = this.items.map((item, index) => ([item, index])) as [SplitContainerItem, number][];\n\t\treturn html`\n\t\t\t${map(visibleItems, ([item, index], index2) => item.collapsed ? `` : html`\n\t\t\t\t<div \n\t\t\t\t\tclass=\"item ${index2 == 0 ? 'first' : (index2 == visibleItems.length - 1 ? 'last' : '')}\"\n\t\t\t\t\tdata-index=\"${index}\"><div \n\t\t\t\t\t\tclass=\"inner\"\n\t\t\t\t\t\tstyle=\"${styleMap({\n\t\t\t\t\t\t\ttop: this.orientation == 'vertical' && this.gap > 0 && index2 > 0 ? dom.px(this.gap / 2) : null,\n\t\t\t\t\t\t\tbottom: this.orientation == 'vertical' && this.gap > 0 && index2 < visibleItems.length - 1 ? dom.px(this.gap / 2) : null,\n\t\t\t\t\t\t\tleft: this.orientation == 'horizontal' && this.gap > 0 && index2 > 0 ? dom.px(this.gap / 2) : null,\n\t\t\t\t\t\t\tright: this.orientation == 'horizontal' && this.gap > 0 && index2 < visibleItems.length - 1 ? dom.px(this.gap / 2) : null,\n\t\t\t\t\t\t})}\"></div></div>\n\t\t\t`)}\n\n\t\t\t<og-sizer\n\t\t\t\torientation=\"${this.orientation}\" \n\t\t\t\tnoGuideLine \n\t\t\t\t@resizestart=\"${() => {\n\t\t\t\t\tdom.showElement(this.overlay);\n\t\t\t\t\tthis.dispatchEvent(new SplitContainerResizeEvent('resizestart'));\n\t\t\t\t}}\"\n\t\t\t\t@resizestop=\"${() => {\n\t\t\t\t\tdom.hideElement(this.overlay);\n\t\t\t\t\tthis.dispatchEvent(new SplitContainerResizeEvent('resizestop'));\n\t\t\t\t}}\" \n\t\t\t\t@resize=\"${this._debounceResize}\">\n\t\t\t</og-sizer>\n\n\t\t\t<div class=\"overlay\"></div>\n\t\t`;\n\t};\n\n\tfillRemainingSpace() {\n\t\tif (!this.items?.length) return;\n\t\tif (this.items.find(item => item.size == null)) return;\n\t\tthis.setContainerSize(this.items.length - 1, null);\n\t}\n\n\tlayout() {\n\t\tthis.fillRemainingSpace();\n\t\tthis.containers.forEach(c => {\n\t\t\tconst component = this.getContainerComponent(parseInt(c.dataset.index));\n\t\t\tif (component?.layout) component.layout();\n\t\t});\n\t}\n\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"splitContainer.style.d.ts","sourceRoot":"","sources":["../../src/ui/splitContainer.style.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,yBAoDjB,CAAC"}
1
+ {"version":3,"file":"splitContainer.style.d.ts","sourceRoot":"","sources":["../../src/ui/splitContainer.style.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,yBA2DjB,CAAC"}
@@ -22,6 +22,17 @@ export const style = css `
22
22
  .item {
23
23
  flex: 1;
24
24
  overflow: hidden;
25
+ position: relative;
26
+ }
27
+
28
+ .item>.inner {
29
+ position: absolute;
30
+ inset: 0;
31
+ overflow: hidden;
32
+ }
33
+
34
+ .item>.inner>* {
35
+ height: 100%;
25
36
  }
26
37
 
27
38
  :host([orientation=horizontal]) .item:first-child {
@@ -41,10 +52,6 @@ export const style = css `
41
52
  border-top-width: 0;
42
53
  }
43
54
 
44
- .item>* {
45
- height: 100%;
46
- }
47
-
48
55
  .overlay {
49
56
  display: none;
50
57
  position: absolute;
@@ -1 +1 @@
1
- {"version":3,"file":"splitContainer.style.js","sourceRoot":"","sources":["../../src/ui/splitContainer.style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const style = css`\n\t* {\n\t\tbox-sizing: border-box;\n\t}\n\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t\toverflow: hidden;\n\t}\n\n\t:host([orientation=horizontal]) {\n\t\tflex-direction: row;\n\t}\n\n\t:host([orientation=vertical]) {\n\t\tflex-direction: column;\n\t\twidth: 100%;\n\t}\n\n\t.item {\n\t\tflex: 1;\n\t\toverflow: hidden;\n\t}\n\n\t:host([orientation=horizontal]) .item:first-child {\n\t\tborder-left-width: 0;\n\t}\n\n\t:host([orientation=horizontal]) .item {\n\t\tborder-left: 1px solid var(--og-border-color-2);\n\t}\n\n\t:host([orientation=vertical]) .item {\n\t\tborder-top: 1px solid var(--og-border-color-2);\n\t}\n\n\t.item:nth-child(1) {\n\t\tborder-left-width: 0;\n\t\tborder-top-width: 0;\n\t}\n\n\t.item>* {\n\t\theight: 100%;\n\t}\n\n\t.overlay {\n\t\tdisplay: none;\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tz-index: 104;\n\t}\n`;"]}
1
+ {"version":3,"file":"splitContainer.style.js","sourceRoot":"","sources":["../../src/ui/splitContainer.style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const style = css`\n\t* {\n\t\tbox-sizing: border-box;\n\t}\n\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t\toverflow: hidden;\n\t}\n\n\t:host([orientation=horizontal]) {\n\t\tflex-direction: row;\n\t}\n\n\t:host([orientation=vertical]) {\n\t\tflex-direction: column;\n\t\twidth: 100%;\n\t}\n\n\t.item {\n\t\tflex: 1;\n\t\toverflow: hidden;\n\t\tposition: relative;\n\t}\n\n\t.item>.inner {\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\toverflow: hidden;\n\t}\n\n\t.item>.inner>* {\n\t\theight: 100%;\n\t}\n\n\t:host([orientation=horizontal]) .item:first-child {\n\t\tborder-left-width: 0;\n\t}\n\n\t:host([orientation=horizontal]) .item {\n\t\tborder-left: 1px solid var(--og-border-color-2);\n\t}\n\n\t:host([orientation=vertical]) .item {\n\t\tborder-top: 1px solid var(--og-border-color-2);\n\t}\n\n\t.item:nth-child(1) {\n\t\tborder-left-width: 0;\n\t\tborder-top-width: 0;\n\t}\n\n\t.overlay {\n\t\tdisplay: none;\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tz-index: 104;\n\t}\n`;"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omegagrid/core",
3
- "version": "0.9.9",
3
+ "version": "0.9.11",
4
4
  "license": "UNLICENSED",
5
5
  "description": "Core components",
6
6
  "main": "./dist/index.js",
@@ -36,7 +36,7 @@
36
36
  },
37
37
  "dependencies": {
38
38
  "@fortawesome/fontawesome-svg-core": "^7.0.1",
39
- "@omegagrid/localize": "^0.9.9",
39
+ "@omegagrid/localize": "^0.9.11",
40
40
  "color": "^4.2.3",
41
41
  "date-fns": "^3.2.0",
42
42
  "lit": "^3.1.1",