@omegagrid/dialog 0.9.32 → 0.9.34

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.
@@ -1,4 +1,4 @@
1
- import { Layout, Overlay, VerticalPosition } from '@omegagrid/core';
1
+ import { Layout, Overlay, Position, VerticalPosition } from '@omegagrid/core';
2
2
  import { LitElement } from 'lit';
3
3
  import { DialogAlert, DialogButton, DialogLocation, DialogOptions } from '../types';
4
4
  export declare class DialogEvent extends Event {
@@ -20,6 +20,7 @@ export declare class Dialog extends LitElement implements Layout {
20
20
  width: string | number;
21
21
  height: string | number;
22
22
  buttons: DialogButton[];
23
+ animation: number;
23
24
  loaderVisible: boolean;
24
25
  body: HTMLDivElement;
25
26
  loader: Overlay;
@@ -30,6 +31,8 @@ export declare class Dialog extends LitElement implements Layout {
30
31
  private _location;
31
32
  set location(value: DialogLocation);
32
33
  get location(): DialogLocation;
34
+ private _isOpen;
35
+ get isOpen(): boolean;
33
36
  layout(): void;
34
37
  _onKeyDown: (e: KeyboardEvent) => void;
35
38
  constructor();
@@ -49,7 +52,9 @@ export declare class Dialog extends LitElement implements Layout {
49
52
  hideLoader(): void;
50
53
  updated(props: Map<PropertyKey, unknown>): void;
51
54
  render: () => import("lit-html").TemplateResult<1>;
55
+ calculatePosition(): Position;
52
56
  positionDialog(location: DialogLocation): void;
57
+ animatePositionDialog(location: DialogLocation, seconds: number): void;
53
58
  open(parent: HTMLElement, location?: DialogLocation): void;
54
59
  close(dispatchEvent?: boolean): void;
55
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../src/components/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,MAAM,EAAE,OAAO,EAAS,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAsB,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAWxG,qBAAa,WAAY,SAAQ,KAAK;aAIpB,MAAM,EAAE,MAAM;aACd,MAAM,EAAE,YAAY;gBAFpC,IAAI,EAAE,MAAM,EACI,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY;CAKrC;AAED,qBACa,MAAO,SAAQ,UAAW,YAAW,MAAM;IAEvD,MAAM,CAAC,MAAM,4BAAW;IAGxB,SAAS,UAAS;IAGlB,QAAQ,UAAS;IAGjB,UAAU,UAAS;IAGnB,cAAc,UAAS;IAGvB,gBAAgB,UAAS;IAGzB,cAAc,EAAE,gBAAgB,CAAY;IAG5C,aAAa,EAAE,gBAAgB,CAAS;IAGxC,SAAS,EAAE,WAAW,CAAC;IAGvB,MAAM,EAAE,MAAM,CAAC;IAGf,KAAK,EAAE,MAAM,GAAC,MAAM,CAAC;IAGrB,MAAM,EAAE,MAAM,GAAC,MAAM,CAAC;IAGtB,OAAO,EAAE,YAAY,EAAE,CAAM;IAG7B,aAAa,UAAS;IAGtB,IAAI,EAAE,cAAc,CAAC;IAGrB,MAAM,EAAE,OAAO,CAAC;IAGhB,MAAM,EAAE,WAAW,EAAE,CAAM;IAE3B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,cAAc,CAAqC;IAE3D,OAAO,CAAC,SAAS,CAAiB;IAClC,IAAI,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAgC;IAClE,IAAI,QAAQ,IADQ,cAAc,CAIjC;IAGD,MAAM;IAMN,UAAU,GAAI,GAAG,aAAa,UAS7B;;IAQD,UAAU,CAAC,OAAO,EAAE,aAAa;IAKjC,UAAU,IAAI,aAAa;IAiB3B,YAAY;IAIZ,MAAM;IASN,QAAQ,CAAC,KAAK,EAAE,WAAW;IAM3B,WAAW;IAIX,oBAAoB;IAIpB,WAAW;IAKX,gBAAgB,aAEd;IAEF,kBAAkB,GAAI,GAAG,UAAU,UAKjC;IAEF,kBAAkB,GAAI,GAAG,UAAU,UAOjC;IAEF,QAAQ,GAAI,KAAK,YAAY,UAG5B;IAED,UAAU;IAKV,UAAU;IAKV,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IAcxC,MAAM,6CAsCL;IAED,cAAc,CAAC,QAAQ,EAAE,cAAc;IAuBvC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,cAAc;IASnD,KAAK,CAAC,aAAa,UAAO;CAK1B"}
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../src/components/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,MAAM,EAAY,OAAO,EAAE,QAAQ,EAAS,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAsB,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAWxG,qBAAa,WAAY,SAAQ,KAAK;aAIpB,MAAM,EAAE,MAAM;aACd,MAAM,EAAE,YAAY;gBAFpC,IAAI,EAAE,MAAM,EACI,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY;CAKrC;AAED,qBACa,MAAO,SAAQ,UAAW,YAAW,MAAM;IAEvD,MAAM,CAAC,MAAM,4BAAW;IAGxB,SAAS,UAAS;IAGlB,QAAQ,UAAS;IAGjB,UAAU,UAAS;IAGnB,cAAc,UAAS;IAGvB,gBAAgB,UAAS;IAGzB,cAAc,EAAE,gBAAgB,CAAY;IAG5C,aAAa,EAAE,gBAAgB,CAAS;IAGxC,SAAS,EAAE,WAAW,CAAC;IAGvB,MAAM,EAAE,MAAM,CAAC;IAGf,KAAK,EAAE,MAAM,GAAC,MAAM,CAAC;IAGrB,MAAM,EAAE,MAAM,GAAC,MAAM,CAAC;IAGtB,OAAO,EAAE,YAAY,EAAE,CAAM;IAG7B,SAAS,SAAO;IAGhB,aAAa,UAAS;IAGtB,IAAI,EAAE,cAAc,CAAC;IAGrB,MAAM,EAAE,OAAO,CAAC;IAGhB,MAAM,EAAE,WAAW,EAAE,CAAM;IAE3B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,cAAc,CAAqC;IAE3D,OAAO,CAAC,SAAS,CAAiB;IAClC,IAAI,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAgC;IAClE,IAAI,QAAQ,IADQ,cAAc,CAIjC;IAED,OAAO,CAAC,OAAO,CAAS;IACxB,IAAI,MAAM,YAA0B;IAEpC,MAAM;IAMN,UAAU,GAAI,GAAG,aAAa,UAS7B;;IAQD,UAAU,CAAC,OAAO,EAAE,aAAa;IAKjC,UAAU,IAAI,aAAa;IAiB3B,YAAY;IAIZ,MAAM;IASN,QAAQ,CAAC,KAAK,EAAE,WAAW;IAM3B,WAAW;IAIX,oBAAoB;IAIpB,WAAW;IAKX,gBAAgB,aAEd;IAEF,kBAAkB,GAAI,GAAG,UAAU,UAKjC;IAEF,kBAAkB,GAAI,GAAG,UAAU,UAOjC;IAEF,QAAQ,GAAI,KAAK,YAAY,UAG5B;IAED,UAAU;IAKV,UAAU;IAKV,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IAcxC,MAAM,6CA4CL;IAED,iBAAiB,IAAI,QAAQ;IAwB7B,cAAc,CAAC,QAAQ,EAAE,cAAc;IAMvC,qBAAqB,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM;IAkC/D,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,cAAc;IAenD,KAAK,CAAC,aAAa,UAAO;CAM1B"}
@@ -30,6 +30,7 @@ let Dialog = class Dialog extends LitElement {
30
30
  this._location = { x: this.offsetLeft, y: this.offsetTop };
31
31
  return this._location;
32
32
  }
33
+ get isOpen() { return this._isOpen; }
33
34
  layout() {
34
35
  if (this.component && this.component.layout) {
35
36
  this.component.layout();
@@ -45,10 +46,12 @@ let Dialog = class Dialog extends LitElement {
45
46
  this.buttonPosition = 'bottom';
46
47
  this.alertPosition = 'top';
47
48
  this.buttons = [];
49
+ this.animation = 0.2;
48
50
  this.loaderVisible = false;
49
51
  this.alerts = [];
50
52
  this._movingOffset = null;
51
53
  this._elementOffset = null;
54
+ this._isOpen = false;
52
55
  this._onKeyDown = (e) => {
53
56
  switch (e.key) {
54
57
  case 'Enter':
@@ -95,14 +98,18 @@ let Dialog = class Dialog extends LitElement {
95
98
  <og-alert .text="${alert.text}" .type="${alert.type}" closable></og-alert>
96
99
  `);
97
100
  return html `
98
- <div id="header" @mousedown="${this._onHeaderMouseDown}">
99
- <div id="title">${this.header ? html `${this.header}` : html `<slot name="header"></slot>`}</div>
100
- ${this.closable ? html `<div id="close" @click="${() => this.close()}">&times</div>` : ``}
101
+ <div class="header" @mousedown="${this._onHeaderMouseDown}">
102
+ <div class="title">${this.header ? html `${this.header}` : html `<slot name="header"></slot>`}</div>
103
+ ${this.closable ? html `<og-close @click="${() => this.close()}"></og-close>` : ``}
101
104
  </div>
102
- ${this.buttons.length > 0 && this.buttonPosition == 'top' ? html `<div id="buttons">${buttons}</div>` : ``}
103
- ${this.alerts.length > 0 && this.alertPosition == 'top' ? html `<div id="alerts">${alerts}</div>` : ``}
104
- <div id="body">
105
+
106
+ ${this.buttons.length > 0 && this.buttonPosition == 'top' ? html `<div class="buttons">${buttons}</div>` : ``}
107
+
108
+ ${this.alerts.length > 0 && this.alertPosition == 'top' ? html `<div class="alerts">${alerts}</div>` : ``}
109
+
110
+ <div class="body">
105
111
  ${this.loaderVisible ? html `<og-overlay defaultLoader></og-overlay>` : ``}
112
+
106
113
  ${this.scrollable ? html `
107
114
  <og-container>
108
115
  ${this.component
@@ -115,8 +122,10 @@ let Dialog = class Dialog extends LitElement {
115
122
  : html `<slot name="content"></slot>`}
116
123
  `}
117
124
  </div>
118
- ${this.alerts.length > 0 && this.alertPosition == 'bottom' ? html `<div id="alerts">${alerts}</div>` : ``}
119
- ${this.buttons.length > 0 && this.buttonPosition == 'bottom' ? html `<div id="buttons">${buttons}</div>` : ``}
125
+
126
+ ${this.alerts.length > 0 && this.alertPosition == 'bottom' ? html `<div class="alerts">${alerts}</div>` : ``}
127
+
128
+ ${this.buttons.length > 0 && this.buttonPosition == 'bottom' ? html `<div class="buttons">${buttons}</div>` : ``}
120
129
  `;
121
130
  };
122
131
  this.addEventListener('keydown', this._onKeyDown);
@@ -177,7 +186,7 @@ let Dialog = class Dialog extends LitElement {
177
186
  this.disableButtons = false;
178
187
  }
179
188
  updated(props) {
180
- if (this.loaderVisible && this.loader) {
189
+ if (this.loaderVisible && this.loader && this.body) {
181
190
  this.loader.show(this.body);
182
191
  }
183
192
  if (props.has('width') && this.width) {
@@ -187,49 +196,91 @@ let Dialog = class Dialog extends LitElement {
187
196
  dom.setSize(this, { h: this.height });
188
197
  }
189
198
  }
190
- positionDialog(location) {
191
- this._location = location;
192
- if (!this._parent)
193
- return;
194
- if (location == 'center')
195
- dom.setCenterPosition(this, this._parent);
199
+ calculatePosition() {
200
+ const location = this.location;
201
+ const position = {};
202
+ if (location == 'center') {
203
+ position.l = this._parent.clientWidth / 2 - this.offsetWidth / 2;
204
+ position.t = this._parent.clientHeight / 2 - this.offsetHeight / 2;
205
+ }
196
206
  else {
197
207
  if (utils.isString(location.x)) {
198
208
  if (location.x == 'left')
199
- dom.setPosition(this, { l: 0 });
209
+ position.l = 0;
200
210
  else if (location.x == 'right')
201
- dom.setPosition(this, { r: 0 });
211
+ position.l = this._parent.clientWidth - this.offsetWidth;
202
212
  else
203
- dom.setCenterPosition(this, this._parent, { horizontal: true, vertical: false });
213
+ position.l = this._parent.clientWidth / 2 - this.offsetWidth / 2;
204
214
  }
205
215
  else {
206
- dom.setPosition(this, { l: location.x });
216
+ position.l = location.x;
207
217
  }
208
218
  if (utils.isString(location.y)) {
209
219
  if (location.y == 'top')
210
- dom.setPosition(this, { t: 0 });
220
+ position.t = 0;
211
221
  else if (location.y == 'bottom')
212
- dom.setPosition(this, { b: 0 });
222
+ position.t = this._parent.clientHeight - this.offsetHeight;
213
223
  else
214
- dom.setCenterPosition(this, this._parent, { horizontal: false, vertical: true });
215
- }
216
- else {
217
- dom.setPosition(this, { t: location.y });
224
+ position.t = this._parent.clientHeight / 2 - this.offsetHeight / 2;
218
225
  }
219
226
  }
227
+ return position;
228
+ }
229
+ positionDialog(location) {
230
+ this._location = location;
231
+ if (!this._parent)
232
+ return;
233
+ dom.setPosition(this, this.calculatePosition());
234
+ }
235
+ animatePositionDialog(location, seconds) {
236
+ this._location = location;
237
+ this.style.visibility = 'hidden';
238
+ dom.showElement(this, this.scrollable || this.height ? 'flex' : 'block');
239
+ const position = this.calculatePosition();
240
+ const bounds = dom.getBounds(this);
241
+ dom.setBounds(this, {
242
+ l: position.l + bounds.w / 2,
243
+ t: position.t + bounds.h / 2,
244
+ w: 0,
245
+ h: 0
246
+ });
247
+ setTimeout(() => {
248
+ this.style.visibility = 'visible';
249
+ this.style.transition = [
250
+ `top ${seconds}s ease-in-out`,
251
+ `left ${seconds}s ease-in-out`,
252
+ `width ${seconds}s ease-in-out`,
253
+ `height ${seconds}s ease-in-out`
254
+ ].join(',');
255
+ setTimeout(() => dom.setBounds(this, {
256
+ l: position.l,
257
+ t: position.t,
258
+ w: bounds.w,
259
+ h: bounds.h
260
+ }), 0);
261
+ setTimeout(() => this.style.transition = '', seconds * 1000);
262
+ }, 1);
220
263
  }
221
264
  open(parent, location) {
222
265
  this._parent = parent;
223
266
  location = location || this.location || 'center';
224
- console.log(location);
225
267
  (parent.shadowRoot ? parent.shadowRoot : parent).appendChild(this);
226
- dom.showElement(this, this.scrollable || this.height ? 'flex' : 'block');
227
- this.updateComplete.then(() => this.positionDialog(location));
268
+ this.updateComplete.then(() => {
269
+ if (this.animation > 0) {
270
+ this.animatePositionDialog(location, this.animation);
271
+ }
272
+ else {
273
+ dom.showElement(this, this.scrollable || this.height ? 'flex' : 'block');
274
+ this.positionDialog(location);
275
+ }
276
+ });
277
+ this._isOpen = true;
228
278
  }
229
279
  close(dispatchEvent = true) {
230
280
  dom.remove(this);
231
281
  if (dispatchEvent)
232
282
  this.dispatchEvent(new DialogEvent('close', this, null));
283
+ this._isOpen = false;
233
284
  }
234
285
  };
235
286
  Dialog.styles = [style];
@@ -269,11 +320,14 @@ __decorate([
269
320
  __decorate([
270
321
  property({ type: Array })
271
322
  ], Dialog.prototype, "buttons", void 0);
323
+ __decorate([
324
+ property({ type: Number })
325
+ ], Dialog.prototype, "animation", void 0);
272
326
  __decorate([
273
327
  state()
274
328
  ], Dialog.prototype, "loaderVisible", void 0);
275
329
  __decorate([
276
- query('#body')
330
+ query('.body')
277
331
  ], Dialog.prototype, "body", void 0);
278
332
  __decorate([
279
333
  query('og-overlay')
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../src/components/dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { dom, Layout, Overlay, utils, VerticalPosition } from '@omegagrid/core';\nimport { LitElement, html } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { map } from 'lit/directives/map.js';\nimport { DialogAlert, DialogButton, DialogButtonConfig, DialogLocation, DialogOptions } from '../types';\nimport { style } from './dialog.style';\n\nconst DEFAULT_BUTTON_CONFIG = new Map<DialogButton, DialogButtonConfig>([\n\t['ok', {type: 'ok', text: 'OK', default: true}],\n\t['cancel', {type: 'cancel', text: 'Cancel'}],\n\t['yes', {type: 'yes', text: 'Yes'}],\n\t['no', {type: 'no', text: 'No'}],\n\t['close', {type: 'close', text: 'Close'}]\n]);\n\nexport class DialogEvent extends Event {\n\t\n\tconstructor(\n\t\ttype: string,\n\t\tpublic readonly dialog: Dialog,\n\t\tpublic readonly button: DialogButton\n\t) {\n\t\tsuper(`dialog.${type}`, {bubbles: true, composed: true, cancelable: true});\n\t}\n\n}\n\n@customElement('og-dialog')\nexport class Dialog extends LitElement implements Layout {\n\n\tstatic styles = [style];\n\n\t@property({type: Boolean, reflect: true})\n\tresizable = false;\n\n\t@property({type: Boolean, reflect: true})\n\tclosable = false;\n\n\t@property({type: Boolean, reflect: true})\n\tscrollable = false;\n\n\t@property({type: Boolean, reflect: true})\n\tdisableButtons = false;\n\n\t@property({type: Boolean, reflect: true})\n\tdisableAutoclose = false;\n\n\t@property({type: String, reflect: true})\n\tbuttonPosition: VerticalPosition = 'bottom';\n\n\t@property({type: String, reflect: true})\n\talertPosition: VerticalPosition = 'top';\n\n\t@property({type: Object})\n\tcomponent: HTMLElement;\n\n\t@property({type: String})\n\theader: string;\n\n\t@property({type: String, reflect: true})\n\twidth: string|number;\n\n\t@property({type: String, reflect: true})\n\theight: string|number;\n\n\t@property({type: Array})\n\tbuttons: DialogButton[] = [];\n\n\t@state()\n\tloaderVisible = false;\n\n\t@query('#body')\n\tbody: HTMLDivElement;\n\n\t@query('og-overlay')\n\tloader: Overlay;\n\n\t@state()\n\talerts: DialogAlert[] = [];\n\n\tprivate _parent: HTMLElement;\n\tprivate _movingOffset: {top: number, left: number} = null;\n\tprivate _elementOffset: {top: number, left: number} = null;\n\t\n\tprivate _location: DialogLocation;\n\tset location(value: DialogLocation) { this.positionDialog(value) }\n\tget location() {\n\t\tif (this._location == null) this._location = {x: this.offsetLeft, y: this.offsetTop}\n\t\treturn this._location;\n\t}\n\n\t\n\tlayout() {\n\t\tif (this.component && (this.component as Layout).layout) {\n\t\t\t(this.component as Layout).layout();\n\t\t}\n\t}\n\n\t_onKeyDown = (e: KeyboardEvent) => {\n\t\tswitch (e.key) {\n\t\t\tcase 'Enter':\n\t\t\t\tthis.submit();\n\t\t\t\tbreak;\n\t\t\tcase 'Escape':\n\t\t\t\tif (this.closable) this.close();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.addEventListener('keydown', this._onKeyDown);\n\t\t(new ResizeObserver(() => this.layout())).observe(this);\n\t}\n\n\tsetOptions(options: DialogOptions) {\n\t\tObject.assign(this, options);\n\t\tthis.requestUpdate();\n\t}\n\n\tgetOptions(): DialogOptions {\n\t\treturn {\n\t\t\theader: this.header,\n\t\t\tbuttons: this.buttons,\n\t\t\tdisableButtons: this.disableButtons,\n\t\t\tdisableAutoclose: this.disableAutoclose,\n\t\t\tbuttonPosition: this.buttonPosition,\n\t\t\talertPosition: this.alertPosition,\n\t\t\tclosable: this.closable,\n\t\t\tresizable: this.resizable,\n\t\t\tscrollable: this.scrollable,\n\t\t\twidth: this.width,\n\t\t\theight: this.height,\n\t\t\tlocation: this.location\n\t\t};\n\t}\n\n\tfirstUpdated() {\n\t\tthis.tabIndex = 0;\n\t}\n\n\tsubmit() {\n\t\tfor (const btn of this.buttons) {\n\t\t\tif (DEFAULT_BUTTON_CONFIG.get(btn).default) {\n\t\t\t\tthis._onClick(btn);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\taddAlert(alert: DialogAlert) {\n\t\tconst alerts = [...this.alerts];\n\t\talerts.push(alert);\n\t\tthis.alerts = alerts;\n\t}\n\n\tclearAlerts() {\n\t\tthis.alerts = [];\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.clearEvents();\n\t}\n\n\tclearEvents() {\n\t\tthis._parent.removeEventListener('mouseup', this._onParentMouseUp);\n\t\tthis._parent.removeEventListener('mousemove', this._onParentMouseMove);\n\t}\n\n\t_onParentMouseUp = () => {\n\t\tthis.clearEvents();\n\t};\n\n\t_onHeaderMouseDown = (e: MouseEvent) => {\n\t\tthis._movingOffset = {left: e.clientX, top: e.clientY}; \n\t\tthis._elementOffset = {left: this.offsetLeft, top: this.offsetTop};\n\t\tthis._parent.addEventListener('mouseup', this._onParentMouseUp);\n\t\tthis._parent.addEventListener('mousemove', this._onParentMouseMove);\n\t};\n\n\t_onParentMouseMove = (e: MouseEvent) => {\n\t\tthis._location = null;\n\t\tdom.setPosition(this, {\n\t\t\tl: this._elementOffset.left + e.clientX - this._movingOffset.left,\n\t\t\tt: this._elementOffset.top + e.clientY - this._movingOffset.top, \n\t\t});\n\t\tthis.dispatchEvent(new DialogEvent('move', this, null));\n\t};\n\n\t_onClick = (btn: DialogButton) => {\n\t\tconst res = this.dispatchEvent(new DialogEvent('click', this, btn));\n\t\tif (res && !this.disableAutoclose) this.close();\n\t}\n\n\tshowLoader() {\n\t\tthis.loaderVisible = true;\n\t\tthis.disableButtons = true;\n\t}\n\n\thideLoader() {\n\t\tthis.loaderVisible = false;\n\t\tthis.disableButtons = false;\n\t}\n\n\tupdated(props: Map<PropertyKey, unknown>) {\n\t\tif (this.loaderVisible && this.loader) {\n\t\t\tthis.loader.show(this.body);\n\t\t}\n\n\t\tif (props.has('width') && this.width) {\n\t\t\tdom.setSize(this, {w: this.width});\n\t\t}\n\n\t\tif (props.has('height') && this.height) {\n\t\t\tdom.setSize(this, {h: this.height});\n\t\t}\n\t}\n\n\trender = () => {\n\t\tconst buttons = map(this.buttons, btn => html`\n\t\t\t<og-button \n\t\t\t\t.text=\"${DEFAULT_BUTTON_CONFIG.get(btn).text}\"\n\t\t\t\t@click=\"${() => this._onClick(btn)}\"\n\t\t\t\t?disabled=\"${this.disableButtons}\"\n\t\t\t\t?default=\"${DEFAULT_BUTTON_CONFIG.get(btn).default}\">\n\t\t\t</og-button>\n\t\t`);\n\n\t\tconst alerts = map(this.alerts, alert => html`\n\t\t\t<og-alert .text=\"${alert.text}\" .type=\"${alert.type}\" closable></og-alert>\n\t\t`);\n\n\t\treturn html`\n\t\t\t<div id=\"header\" @mousedown=\"${this._onHeaderMouseDown}\">\n\t\t\t\t<div id=\"title\">${this.header ? html`${this.header}` : html`<slot name=\"header\"></slot>`}</div>\n\t\t\t\t${this.closable ? html`<div id=\"close\" @click=\"${() => this.close()}\">&times</div>` : ``}\n\t\t\t</div>\n\t\t\t${this.buttons.length > 0 && this.buttonPosition == 'top' ? html`<div id=\"buttons\">${buttons}</div>` : ``}\n\t\t\t${this.alerts.length > 0 && this.alertPosition == 'top' ? html`<div id=\"alerts\">${alerts}</div>` : ``}\n\t\t\t<div id=\"body\">\n\t\t\t\t${this.loaderVisible ? html`<og-overlay defaultLoader></og-overlay>` : ``}\n\t\t\t\t${this.scrollable ? html`\n\t\t\t\t\t<og-container>\n\t\t\t\t\t\t${this.component\n\t\t\t\t\t\t\t? html`<div slot=\"content\">${this.component}</div>`\n\t\t\t\t\t\t\t: html`<slot name=\"content\" slot=\"content\"></slot>`}\n\t\t\t\t\t</og-container>\n\t\t\t\t` : html`\n\t\t\t\t\t${this.component\n\t\t\t\t\t\t? html`<div slot=\"content\" style=\"height: 100%\">${this.component}</div>`\n\t\t\t\t\t\t: html`<slot name=\"content\"></slot>`}\n\t\t\t\t`}\n\t\t\t</div>\n\t\t\t${this.alerts.length > 0 && this.alertPosition == 'bottom' ? html`<div id=\"alerts\">${alerts}</div>` : ``}\n\t\t\t${this.buttons.length > 0 && this.buttonPosition == 'bottom' ? html`<div id=\"buttons\">${buttons}</div>` : ``}\n\t\t`;\n\t}\n\n\tpositionDialog(location: DialogLocation) {\n\t\tthis._location = location;\n\t\tif (!this._parent) return;\n\t\tif (location == 'center') dom.setCenterPosition(this, this._parent);\n\t\telse {\n\t\t\tif (utils.isString(location.x)) {\n\t\t\t\tif (location.x == 'left') dom.setPosition(this, {l: 0});\n\t\t\t\telse if (location.x == 'right') dom.setPosition(this, {r: 0});\n\t\t\t\telse dom.setCenterPosition(this, this._parent, {horizontal: true, vertical: false});\n\t\t\t} else {\n\t\t\t\tdom.setPosition(this, {l: location.x as number});\n\t\t\t}\n\t\t\t\n\t\t\tif (utils.isString(location.y)) {\n\t\t\t\tif (location.y == 'top') dom.setPosition(this, {t: 0});\n\t\t\t\telse if (location.y == 'bottom') dom.setPosition(this, {b: 0});\n\t\t\t\telse dom.setCenterPosition(this, this._parent, {horizontal: false, vertical: true});\n\t\t\t} else {\n\t\t\t\tdom.setPosition(this, {t: location.y as number});\n\t\t\t}\n\t\t}\n\t}\n\n\topen(parent: HTMLElement, location?: DialogLocation) {\n\t\tthis._parent = parent;\n\t\tlocation = location || this.location || 'center';\n\t\tconsole.log(location);\n\t\t(parent.shadowRoot ? parent.shadowRoot : parent).appendChild(this);\n\t\tdom.showElement(this, this.scrollable || this.height ? 'flex' : 'block');\n\t\tthis.updateComplete.then(() => this.positionDialog(location));\n\t}\n\n\tclose(dispatchEvent = true) {\n\t\tdom.remove(this);\n\t\tif (dispatchEvent) this.dispatchEvent(new DialogEvent('close', this, null));\n\t}\n\n}"]}
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../src/components/dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { dom, Layout, Location, Overlay, Position, utils, VerticalPosition } from '@omegagrid/core';\nimport { LitElement, html } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { map } from 'lit/directives/map.js';\nimport { DialogAlert, DialogButton, DialogButtonConfig, DialogLocation, DialogOptions } from '../types';\nimport { style } from './dialog.style';\n\nconst DEFAULT_BUTTON_CONFIG = new Map<DialogButton, DialogButtonConfig>([\n\t['ok', {type: 'ok', text: 'OK', default: true}],\n\t['cancel', {type: 'cancel', text: 'Cancel'}],\n\t['yes', {type: 'yes', text: 'Yes'}],\n\t['no', {type: 'no', text: 'No'}],\n\t['close', {type: 'close', text: 'Close'}]\n]);\n\nexport class DialogEvent extends Event {\n\t\n\tconstructor(\n\t\ttype: string,\n\t\tpublic readonly dialog: Dialog,\n\t\tpublic readonly button: DialogButton\n\t) {\n\t\tsuper(`dialog.${type}`, {bubbles: true, composed: true, cancelable: true});\n\t}\n\n}\n\n@customElement('og-dialog')\nexport class Dialog extends LitElement implements Layout {\n\n\tstatic styles = [style];\n\n\t@property({type: Boolean, reflect: true})\n\tresizable = false;\n\n\t@property({type: Boolean, reflect: true})\n\tclosable = false;\n\n\t@property({type: Boolean, reflect: true})\n\tscrollable = false;\n\n\t@property({type: Boolean, reflect: true})\n\tdisableButtons = false;\n\n\t@property({type: Boolean, reflect: true})\n\tdisableAutoclose = false;\n\n\t@property({type: String, reflect: true})\n\tbuttonPosition: VerticalPosition = 'bottom';\n\n\t@property({type: String, reflect: true})\n\talertPosition: VerticalPosition = 'top';\n\n\t@property({type: Object})\n\tcomponent: HTMLElement;\n\n\t@property({type: String})\n\theader: string;\n\n\t@property({type: String, reflect: true})\n\twidth: string|number;\n\n\t@property({type: String, reflect: true})\n\theight: string|number;\n\n\t@property({type: Array})\n\tbuttons: DialogButton[] = [];\n\n\t@property({type: Number})\n\tanimation = 0.2;\n\n\t@state()\n\tloaderVisible = false;\n\n\t@query('.body')\n\tbody: HTMLDivElement;\n\n\t@query('og-overlay')\n\tloader: Overlay;\n\n\t@state()\n\talerts: DialogAlert[] = [];\n\n\tprivate _parent: HTMLElement;\n\tprivate _movingOffset: {top: number, left: number} = null;\n\tprivate _elementOffset: {top: number, left: number} = null;\n\t\n\tprivate _location: DialogLocation;\n\tset location(value: DialogLocation) { this.positionDialog(value) }\n\tget location() {\n\t\tif (this._location == null) this._location = {x: this.offsetLeft, y: this.offsetTop}\n\t\treturn this._location;\n\t}\n\n\tprivate _isOpen = false;\n\tget isOpen() { return this._isOpen }\n\t\n\tlayout() {\n\t\tif (this.component && (this.component as Layout).layout) {\n\t\t\t(this.component as Layout).layout();\n\t\t}\n\t}\n\n\t_onKeyDown = (e: KeyboardEvent) => {\n\t\tswitch (e.key) {\n\t\t\tcase 'Enter':\n\t\t\t\tthis.submit();\n\t\t\t\tbreak;\n\t\t\tcase 'Escape':\n\t\t\t\tif (this.closable) this.close();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.addEventListener('keydown', this._onKeyDown);\n\t\t(new ResizeObserver(() => this.layout())).observe(this);\n\t}\n\n\tsetOptions(options: DialogOptions) {\n\t\tObject.assign(this, options);\n\t\tthis.requestUpdate();\n\t}\n\n\tgetOptions(): DialogOptions {\n\t\treturn {\n\t\t\theader: this.header,\n\t\t\tbuttons: this.buttons,\n\t\t\tdisableButtons: this.disableButtons,\n\t\t\tdisableAutoclose: this.disableAutoclose,\n\t\t\tbuttonPosition: this.buttonPosition,\n\t\t\talertPosition: this.alertPosition,\n\t\t\tclosable: this.closable,\n\t\t\tresizable: this.resizable,\n\t\t\tscrollable: this.scrollable,\n\t\t\twidth: this.width,\n\t\t\theight: this.height,\n\t\t\tlocation: this.location\n\t\t};\n\t}\n\n\tfirstUpdated() {\n\t\tthis.tabIndex = 0;\n\t}\n\n\tsubmit() {\n\t\tfor (const btn of this.buttons) {\n\t\t\tif (DEFAULT_BUTTON_CONFIG.get(btn).default) {\n\t\t\t\tthis._onClick(btn);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\taddAlert(alert: DialogAlert) {\n\t\tconst alerts = [...this.alerts];\n\t\talerts.push(alert);\n\t\tthis.alerts = alerts;\n\t}\n\n\tclearAlerts() {\n\t\tthis.alerts = [];\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.clearEvents();\n\t}\n\n\tclearEvents() {\n\t\tthis._parent.removeEventListener('mouseup', this._onParentMouseUp);\n\t\tthis._parent.removeEventListener('mousemove', this._onParentMouseMove);\n\t}\n\n\t_onParentMouseUp = () => {\n\t\tthis.clearEvents();\n\t};\n\n\t_onHeaderMouseDown = (e: MouseEvent) => {\n\t\tthis._movingOffset = {left: e.clientX, top: e.clientY}; \n\t\tthis._elementOffset = {left: this.offsetLeft, top: this.offsetTop};\n\t\tthis._parent.addEventListener('mouseup', this._onParentMouseUp);\n\t\tthis._parent.addEventListener('mousemove', this._onParentMouseMove);\n\t};\n\n\t_onParentMouseMove = (e: MouseEvent) => {\n\t\tthis._location = null;\n\t\tdom.setPosition(this, {\n\t\t\tl: this._elementOffset.left + e.clientX - this._movingOffset.left,\n\t\t\tt: this._elementOffset.top + e.clientY - this._movingOffset.top, \n\t\t});\n\t\tthis.dispatchEvent(new DialogEvent('move', this, null));\n\t};\n\n\t_onClick = (btn: DialogButton) => {\n\t\tconst res = this.dispatchEvent(new DialogEvent('click', this, btn));\n\t\tif (res && !this.disableAutoclose) this.close();\n\t}\n\n\tshowLoader() {\n\t\tthis.loaderVisible = true;\n\t\tthis.disableButtons = true;\n\t}\n\n\thideLoader() {\n\t\tthis.loaderVisible = false;\n\t\tthis.disableButtons = false;\n\t}\n\n\tupdated(props: Map<PropertyKey, unknown>) {\n\t\tif (this.loaderVisible && this.loader && this.body) {\n\t\t\tthis.loader.show(this.body);\n\t\t}\n\n\t\tif (props.has('width') && this.width) {\n\t\t\tdom.setSize(this, {w: this.width});\n\t\t}\n\n\t\tif (props.has('height') && this.height) {\n\t\t\tdom.setSize(this, {h: this.height});\n\t\t}\n\t}\n\n\trender = () => {\n\t\tconst buttons = map(this.buttons, btn => html`\n\t\t\t<og-button \n\t\t\t\t.text=\"${DEFAULT_BUTTON_CONFIG.get(btn).text}\"\n\t\t\t\t@click=\"${() => this._onClick(btn)}\"\n\t\t\t\t?disabled=\"${this.disableButtons}\"\n\t\t\t\t?default=\"${DEFAULT_BUTTON_CONFIG.get(btn).default}\">\n\t\t\t</og-button>\n\t\t`);\n\n\t\tconst alerts = map(this.alerts, alert => html`\n\t\t\t<og-alert .text=\"${alert.text}\" .type=\"${alert.type}\" closable></og-alert>\n\t\t`);\n\n\t\treturn html`\n\t\t\t<div class=\"header\" @mousedown=\"${this._onHeaderMouseDown}\">\n\t\t\t\t<div class=\"title\">${this.header ? html`${this.header}` : html`<slot name=\"header\"></slot>`}</div>\n\t\t\t\t${this.closable ? html`<og-close @click=\"${() => this.close()}\"></og-close>` : ``}\n\t\t\t</div>\n\n\t\t\t${this.buttons.length > 0 && this.buttonPosition == 'top' ? html`<div class=\"buttons\">${buttons}</div>` : ``}\n\n\t\t\t${this.alerts.length > 0 && this.alertPosition == 'top' ? html`<div class=\"alerts\">${alerts}</div>` : ``}\n\n\t\t\t<div class=\"body\">\n\t\t\t\t${this.loaderVisible ? html`<og-overlay defaultLoader></og-overlay>` : ``}\n\n\t\t\t\t${this.scrollable ? html`\n\t\t\t\t\t<og-container>\n\t\t\t\t\t\t${this.component\n\t\t\t\t\t\t\t? html`<div slot=\"content\">${this.component}</div>`\n\t\t\t\t\t\t\t: html`<slot name=\"content\" slot=\"content\"></slot>`}\n\t\t\t\t\t</og-container>\n\t\t\t\t` : html`\n\t\t\t\t\t${this.component\n\t\t\t\t\t\t? html`<div slot=\"content\" style=\"height: 100%\">${this.component}</div>`\n\t\t\t\t\t\t: html`<slot name=\"content\"></slot>`}\n\t\t\t\t`}\n\t\t\t</div>\n\n\t\t\t${this.alerts.length > 0 && this.alertPosition == 'bottom' ? html`<div class=\"alerts\">${alerts}</div>` : ``}\n\n\t\t\t${this.buttons.length > 0 && this.buttonPosition == 'bottom' ? html`<div class=\"buttons\">${buttons}</div>` : ``}\n\t\t`;\n\t}\n\n\tcalculatePosition(): Position {\n\t\tconst location = this.location;\n\t\tconst position: Position = {};\n\t\tif (location == 'center') {\n\t\t\tposition.l = this._parent.clientWidth / 2 - this.offsetWidth / 2;\n\t\t\tposition.t = this._parent.clientHeight / 2 - this.offsetHeight / 2;\n\t\t} else {\n\t\t\tif (utils.isString(location.x)) {\n\t\t\t\tif (location.x == 'left') position.l = 0;\n\t\t\t\telse if (location.x == 'right') position.l = this._parent.clientWidth - this.offsetWidth;\n\t\t\t\telse position.l = this._parent.clientWidth / 2 - this.offsetWidth / 2;\n\t\t\t} else {\n\t\t\t\tposition.l = location.x as number;\n\t\t\t}\n\n\t\t\tif (utils.isString(location.y)) {\n\t\t\t\tif (location.y == 'top') position.t = 0;\n\t\t\t\telse if (location.y == 'bottom') position.t = this._parent.clientHeight - this.offsetHeight;\n\t\t\t\telse position.t = this._parent.clientHeight / 2 - this.offsetHeight / 2;\n\t\t\t}\n\t\t}\n\t\treturn position;\n\t}\n\n\tpositionDialog(location: DialogLocation) {\n\t\tthis._location = location;\n\t\tif (!this._parent) return;\n\t\tdom.setPosition(this, this.calculatePosition());\n\t}\n\n\tanimatePositionDialog(location: DialogLocation, seconds: number) {\n\t\tthis._location = location;\n\t\tthis.style.visibility = 'hidden';\n\t\tdom.showElement(this, this.scrollable || this.height ? 'flex' : 'block');\n\t\t\n\t\tconst position = this.calculatePosition();\n\t\tconst bounds = dom.getBounds(this);\n\n\t\tdom.setBounds(this, {\n\t\t\tl: position.l + bounds.w / 2,\n\t\t\tt: position.t + bounds.h / 2,\n\t\t\tw: 0,\n\t\t\th: 0\n\t\t});\n\n\t\tsetTimeout(() => {\n\t\t\tthis.style.visibility = 'visible';\n\t\t\tthis.style.transition = [\n\t\t\t\t`top ${seconds}s ease-in-out`,\n\t\t\t\t`left ${seconds}s ease-in-out`, \n\t\t\t\t`width ${seconds}s ease-in-out`,\n\t\t\t\t`height ${seconds}s ease-in-out`\n\t\t\t].join(',');\n\n\t\t\tsetTimeout(() => dom.setBounds(this, {\n\t\t\t\tl: position.l,\n\t\t\t\tt: position.t,\n\t\t\t\tw: bounds.w,\n\t\t\t\th: bounds.h\n\t\t\t}), 0);\n\t\t\tsetTimeout(() => this.style.transition = '', seconds * 1000);\n\t\t}, 1);\n\t}\n\t\n\topen(parent: HTMLElement, location?: DialogLocation) {\n\t\tthis._parent = parent;\n\t\tlocation = location || this.location || 'center';\n\t\t(parent.shadowRoot ? parent.shadowRoot : parent).appendChild(this);\n\t\tthis.updateComplete.then(() => {\n\t\t\tif (this.animation > 0) {\n\t\t\t\tthis.animatePositionDialog(location, this.animation);\n\t\t\t} else {\n\t\t\t\tdom.showElement(this, this.scrollable || this.height ? 'flex' : 'block');\n\t\t\t\tthis.positionDialog(location);\n\t\t\t}\n\t\t});\n\t\tthis._isOpen = true;\n\t}\n\n\tclose(dispatchEvent = true) {\n\t\tdom.remove(this);\n\t\tif (dispatchEvent) this.dispatchEvent(new DialogEvent('close', this, null));\n\t\tthis._isOpen = false;\n\t}\n\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.style.d.ts","sourceRoot":"","sources":["../../src/components/dialog.style.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,KAAK,yBA8EjB,CAAC"}
1
+ {"version":3,"file":"dialog.style.d.ts","sourceRoot":"","sources":["../../src/components/dialog.style.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,KAAK,yBAoEjB,CAAC"}
@@ -26,46 +26,36 @@ export const style = css `
26
26
  resize: both;
27
27
  }
28
28
 
29
- #header {
29
+ .header {
30
30
  display: flex;
31
- padding: 0 10px;
31
+ padding-left: 10px;
32
32
  flex: 0;
33
33
  cursor: move;
34
+ align-items: center;
34
35
  }
35
36
 
36
- #title {
37
+ .title {
37
38
  flex: 1;
38
39
  line-height: ${constants.DIALOG_HEADER_HEIGHT}px;
39
40
  }
40
41
 
41
- #close {
42
- flex: 0;
43
- margin-top: ${constants.DIALOG_HEADER_HEIGHT / 4}px;
44
- min-width: ${constants.DIALOG_HEADER_HEIGHT / 2}px;
45
- height: ${constants.DIALOG_HEADER_HEIGHT / 2}px;
46
- line-height: ${constants.DIALOG_HEADER_HEIGHT / 2}px;
47
- border-radius: 50%;
48
- cursor: pointer;
49
- text-align: center;
50
- }
51
-
52
- #close:hover {
53
- background-color: var(--og-accent-color);
54
- color: var(--og-text-color-2);
42
+ og-close {
43
+ flex: 0 0 22px;
44
+ margin-right: 5px;
55
45
  }
56
46
 
57
- #body {
47
+ .body {
58
48
  position: relative;
59
49
  flex: 1;
60
50
  overflow: hidden;
61
51
  border-top: 1px solid var(--og-border-color);
62
52
  }
63
53
 
64
- #body og-container {
54
+ .body og-container {
65
55
  height: 100%;
66
56
  }
67
57
 
68
- #buttons {
58
+ .buttons {
69
59
  display: flex;
70
60
  flex-direction: row;
71
61
  gap: 8px;
@@ -74,7 +64,7 @@ export const style = css `
74
64
  border-top: 1px solid var(--og-border-color);
75
65
  }
76
66
 
77
- #buttons og-button {
67
+ .buttons og-button {
78
68
  min-width: 80px;
79
69
  text-align: center;
80
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.style.js","sourceRoot":"","sources":["../../src/components/dialog.style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmCP,SAAS,CAAC,oBAAoB;;;;;gBAK/B,SAAS,CAAC,oBAAoB,GAAG,CAAC;eACnC,SAAS,CAAC,oBAAoB,GAAG,CAAC;YACrC,SAAS,CAAC,oBAAoB,GAAG,CAAC;iBAC7B,SAAS,CAAC,oBAAoB,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmClD,CAAC","sourcesContent":["import { css } from 'lit';\nimport constants from '../constants';\n\nexport const style = css`\n\t* {\n\t\tbox-sizing: border-box;\n\t}\n\n\t:host {\n\t\tdisplay: none;\n\t\tflex-direction: column;\n\t\tbackground: var(--og-dialog-background);\n\t\tcolor: var(--og-dialog-color);\n\t\tborder: 1px solid var(--og-border-color);\n\t\tfont-size: var(--og-font-size);\n\t\tfont-family: var(--og-font-family);\n\t\twidth: 400px;\n\t\tposition: absolute;\n\t\toverflow: hidden;\n\t\toutline: none;\n\t\tbox-shadow: 8px 8px 4px -3px var(--og-dialog-shadow);\n\t\tz-index: 500;\n\t\tborder-radius: var(--og-base-radius);\n\t}\n\n\t:host([resizable]) {\n\t\tresize: both;\n\t}\n\n\t#header {\n\t\tdisplay: flex;\n\t\tpadding: 0 10px;\n\t\tflex: 0;\n\t\tcursor: move;\n\t}\n\n\t#title {\n\t\tflex: 1;\n\t\tline-height: ${constants.DIALOG_HEADER_HEIGHT}px;\n\t}\n\n\t#close {\n\t\tflex: 0;\n\t\tmargin-top: ${constants.DIALOG_HEADER_HEIGHT / 4}px;\n\t\tmin-width: ${constants.DIALOG_HEADER_HEIGHT / 2}px;\n\t\theight: ${constants.DIALOG_HEADER_HEIGHT / 2}px;\n\t\tline-height: ${constants.DIALOG_HEADER_HEIGHT / 2}px;\n\t\tborder-radius: 50%;\n\t\tcursor: pointer;\n\t\ttext-align: center;\n\t}\n\t\n\t#close:hover {\n\t\tbackground-color: var(--og-accent-color);\n\t\tcolor: var(--og-text-color-2);\n\t}\n\n\t#body {\n\t\tposition: relative;\n\t\tflex: 1;\n\t\toverflow: hidden;\n\t\tborder-top: 1px solid var(--og-border-color);\n\t}\n\n\t#body og-container {\n\t\theight: 100%;\n\t}\n\n\t#buttons {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tgap: 8px;\n\t\tjustify-content: flex-end;\n\t\tpadding: 8px;\n\t\tborder-top: 1px solid var(--og-border-color);\n\t}\n\n\t#buttons og-button {\n\t\tmin-width: 80px;\n\t\ttext-align: center;\n\t}\n`;"]}
1
+ {"version":3,"file":"dialog.style.js","sourceRoot":"","sources":["../../src/components/dialog.style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoCP,SAAS,CAAC,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC9C,CAAC","sourcesContent":["import { css } from 'lit';\nimport constants from '../constants';\n\nexport const style = css`\n\t* {\n\t\tbox-sizing: border-box;\n\t}\n\n\t:host {\n\t\tdisplay: none;\n\t\tflex-direction: column;\n\t\tbackground: var(--og-dialog-background);\n\t\tcolor: var(--og-dialog-color);\n\t\tborder: 1px solid var(--og-border-color);\n\t\tfont-size: var(--og-font-size);\n\t\tfont-family: var(--og-font-family);\n\t\twidth: 400px;\n\t\tposition: absolute;\n\t\toverflow: hidden;\n\t\toutline: none;\n\t\tbox-shadow: 8px 8px 4px -3px var(--og-dialog-shadow);\n\t\tz-index: 500;\n\t\tborder-radius: var(--og-base-radius);\n\t}\n\n\t:host([resizable]) {\n\t\tresize: both;\n\t}\n\n\t.header {\n\t\tdisplay: flex;\n\t\tpadding-left: 10px;\n\t\tflex: 0;\n\t\tcursor: move;\n\t\talign-items: center;\n\t}\n\n\t.title {\n\t\tflex: 1;\n\t\tline-height: ${constants.DIALOG_HEADER_HEIGHT}px;\n\t}\n\n\tog-close {\n\t\tflex: 0 0 22px;\n\t\tmargin-right: 5px;\n\t}\n\n\t.body {\n\t\tposition: relative;\n\t\tflex: 1;\n\t\toverflow: hidden;\n\t\tborder-top: 1px solid var(--og-border-color);\n\t}\n\n\t.body og-container {\n\t\theight: 100%;\n\t}\n\n\t.buttons {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tgap: 8px;\n\t\tjustify-content: flex-end;\n\t\tpadding: 8px;\n\t\tborder-top: 1px solid var(--og-border-color);\n\t}\n\n\t.buttons og-button {\n\t\tmin-width: 80px;\n\t\ttext-align: center;\n\t}\n`;"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omegagrid/dialog",
3
- "version": "0.9.32",
3
+ "version": "0.9.34",
4
4
  "license": "UNLICENSED",
5
5
  "description": "Dialog component",
6
6
  "main": "./dist/index.js",
@@ -28,7 +28,7 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "@fortawesome/fontawesome-svg-core": "^7.0.1",
31
- "@omegagrid/core": "^0.9.32",
31
+ "@omegagrid/core": "^0.9.34",
32
32
  "lit": "^3.1.1",
33
33
  "monaco-editor": "^0.52.2",
34
34
  "ts-debounce": "^4.0.0",