@universal-material/web 3.1.1 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,7 +6,7 @@ export declare class ConfirmDialogBuilder extends DialogBuilder<ConfirmDialogBui
6
6
  static create(message: string): ConfirmDialogBuilder;
7
7
  confirmButton(confirmButtonDef: DialogButtonDef): ConfirmDialogBuilder;
8
8
  cancelButton(cancelButtonDef: DialogButtonDef): ConfirmDialogBuilder;
9
- addButtons(dialog: UmDialog): void;
9
+ _addButtons(dialog: UmDialog): void;
10
10
  protected innerShow(dialog: UmDialog): Promise<boolean>;
11
11
  }
12
12
  //# sourceMappingURL=confirm-dialog-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-dialog-builder.d.ts","sourceRoot":"","sources":["../../src/dialog/confirm-dialog-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,oBAAqB,SAAQ,aAAa,CAAC,oBAAoB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;;IAC7F,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB;IAOpD,aAAa,CAAC,gBAAgB,EAAE,eAAe,GAAG,oBAAoB;IAKtE,YAAY,CAAC,eAAe,EAAE,eAAe,GAAG,oBAAoB;IAK3D,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI;cAaxB,SAAS,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;CAMjE"}
1
+ {"version":3,"file":"confirm-dialog-builder.d.ts","sourceRoot":"","sources":["../../src/dialog/confirm-dialog-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,oBAAqB,SAAQ,aAAa,CAAC,oBAAoB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;;IAC7F,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB;IAOpD,aAAa,CAAC,gBAAgB,EAAE,eAAe,GAAG,oBAAoB;IAKtE,YAAY,CAAC,eAAe,EAAE,eAAe,GAAG,oBAAoB;IAK3D,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI;cAazB,SAAS,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;CAMjE"}
@@ -14,9 +14,9 @@ export class ConfirmDialogBuilder extends DialogBuilder {
14
14
  this.#cancelButtonDef = cancelButtonDef;
15
15
  return this;
16
16
  }
17
- addButtons(dialog) {
18
- this.addButton(dialog, { ...config.dialog.confirmDefaults.confirmButton, ...this.#confirmButtonDef }, () => dialog.close('ok'));
19
- this.addButton(dialog, { ...config.dialog.confirmDefaults.cancelButton, ...this.#cancelButtonDef }, () => dialog.close('cancel'));
17
+ _addButtons(dialog) {
18
+ this._addButton(dialog, { ...config.dialog.confirmDefaults.confirmButton, ...this.#confirmButtonDef }, () => dialog.close('ok'));
19
+ this._addButton(dialog, { ...config.dialog.confirmDefaults.cancelButton, ...this.#cancelButtonDef }, () => dialog.close('cancel'));
20
20
  }
21
21
  innerShow(dialog) {
22
22
  super.innerShow(dialog);
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-dialog-builder.js","sourceRoot":"","sources":["../../src/dialog/confirm-dialog-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,MAAM,OAAO,oBAAqB,SAAQ,aAAqD;IAC7F,MAAM,CAAC,MAAM,CAAC,OAAe;QAC3B,OAAO,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,iBAAiB,CAAmB;IACpC,gBAAgB,CAAmB;IAEnC,aAAa,CAAC,gBAAiC;QAC7C,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,eAAgC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,UAAU,CAAC,MAAgB;QAElC,IAAI,CAAC,SAAS,CACZ,MAAM,EACN,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,EAC7E,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5B,IAAI,CAAC,SAAS,CACZ,MAAM,EACN,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAC3E,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClC,CAAC;IAEkB,SAAS,CAAC,MAAgB;QAC3C,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAExB,OAAO,IAAI,OAAO,CAAU,OAAO,CAAC,EAAE,CACpC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;CACF","sourcesContent":["import { config } from '../config.js';\nimport { DialogBuilder } from './dialog-builder.js';\nimport { DialogButtonDef } from './dialog-button-def.js';\nimport { UmDialog } from './dialog.js';\n\nexport class ConfirmDialogBuilder extends DialogBuilder<ConfirmDialogBuilder, Promise<boolean>> {\n static create(message: string): ConfirmDialogBuilder {\n return new ConfirmDialogBuilder(message);\n }\n\n #confirmButtonDef?: DialogButtonDef;\n #cancelButtonDef?: DialogButtonDef;\n\n confirmButton(confirmButtonDef: DialogButtonDef): ConfirmDialogBuilder {\n this.#confirmButtonDef = confirmButtonDef;\n return this;\n }\n\n cancelButton(cancelButtonDef: DialogButtonDef): ConfirmDialogBuilder {\n this.#cancelButtonDef = cancelButtonDef;\n return this;\n }\n\n override addButtons(dialog: UmDialog): void {\n\n this.addButton(\n dialog,\n { ...config.dialog.confirmDefaults.confirmButton, ...this.#confirmButtonDef },\n () => dialog.close('ok'));\n\n this.addButton(\n dialog,\n { ...config.dialog.confirmDefaults.cancelButton, ...this.#cancelButtonDef },\n () => dialog.close('cancel'));\n }\n\n protected override innerShow(dialog: UmDialog): Promise<boolean> {\n super.innerShow(dialog);\n\n return new Promise<boolean>(resolve =>\n dialog.addEventListener('closed', () => resolve(dialog.returnValue === 'ok')));\n }\n}\n"]}
1
+ {"version":3,"file":"confirm-dialog-builder.js","sourceRoot":"","sources":["../../src/dialog/confirm-dialog-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,MAAM,OAAO,oBAAqB,SAAQ,aAAqD;IAC7F,MAAM,CAAC,MAAM,CAAC,OAAe;QAC3B,OAAO,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,iBAAiB,CAAmB;IACpC,gBAAgB,CAAmB;IAEnC,aAAa,CAAC,gBAAiC;QAC7C,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,eAAgC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,WAAW,CAAC,MAAgB;QAEnC,IAAI,CAAC,UAAU,CACb,MAAM,EACN,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,EAC7E,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5B,IAAI,CAAC,UAAU,CACb,MAAM,EACN,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAC3E,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClC,CAAC;IAEkB,SAAS,CAAC,MAAgB;QAC3C,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAExB,OAAO,IAAI,OAAO,CAAU,OAAO,CAAC,EAAE,CACpC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;CACF","sourcesContent":["import { config } from '../config.js';\nimport { DialogBuilder } from './dialog-builder.js';\nimport { DialogButtonDef } from './dialog-button-def.js';\nimport { UmDialog } from './dialog.js';\n\nexport class ConfirmDialogBuilder extends DialogBuilder<ConfirmDialogBuilder, Promise<boolean>> {\n static create(message: string): ConfirmDialogBuilder {\n return new ConfirmDialogBuilder(message);\n }\n\n #confirmButtonDef?: DialogButtonDef;\n #cancelButtonDef?: DialogButtonDef;\n\n confirmButton(confirmButtonDef: DialogButtonDef): ConfirmDialogBuilder {\n this.#confirmButtonDef = confirmButtonDef;\n return this;\n }\n\n cancelButton(cancelButtonDef: DialogButtonDef): ConfirmDialogBuilder {\n this.#cancelButtonDef = cancelButtonDef;\n return this;\n }\n\n override _addButtons(dialog: UmDialog): void {\n\n this._addButton(\n dialog,\n { ...config.dialog.confirmDefaults.confirmButton, ...this.#confirmButtonDef },\n () => dialog.close('ok'));\n\n this._addButton(\n dialog,\n { ...config.dialog.confirmDefaults.cancelButton, ...this.#cancelButtonDef },\n () => dialog.close('cancel'));\n }\n\n protected override innerShow(dialog: UmDialog): Promise<boolean> {\n super.innerShow(dialog);\n\n return new Promise<boolean>(resolve =>\n dialog.addEventListener('closed', () => resolve(dialog.returnValue === 'ok')));\n }\n}\n"]}
@@ -8,8 +8,8 @@ export declare abstract class DialogBuilder<TBuilder extends DialogBuilder<any,
8
8
  headline(headline: string): TBuilder;
9
9
  show(): TReturn;
10
10
  protected innerShow(dialog: UmDialog): TReturn | void;
11
- protected abstract addButtons(dialog: UmDialog): void;
12
- private addHeadline;
13
- protected addButton(dialog: UmDialog, buttonDef: DialogButtonDef, click: () => void): void;
11
+ protected abstract _addButtons(dialog: UmDialog): void;
12
+ private _addHeadline;
13
+ protected _addButton(dialog: UmDialog, buttonDef: DialogButtonDef, click: () => void): void;
14
14
  }
15
15
  //# sourceMappingURL=dialog-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog-builder.d.ts","sourceRoot":"","sources":["../../src/dialog/dialog-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,aAAa,CAAC;AAErB,8BAAsB,aAAa,CAAC,QAAQ,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO;;IAGvE,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IAI5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ;IAKpC,IAAI,IAAI,OAAO;IAUf,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI;IAQrD,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI;IAErD,OAAO,CAAC,WAAW;IAWnB,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,IAAI;CAQpF"}
1
+ {"version":3,"file":"dialog-builder.d.ts","sourceRoot":"","sources":["../../src/dialog/dialog-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,aAAa,CAAC;AAErB,8BAAsB,aAAa,CAAC,QAAQ,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO;;IAGvE,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IAI5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ;IAKpC,IAAI,IAAI,OAAO;IAUf,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI;IAQrD,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI;IAEtD,OAAO,CAAC,YAAY;IAWpB,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,IAAI;CAQrF"}
@@ -11,8 +11,8 @@ export class DialogBuilder {
11
11
  show() {
12
12
  const dialog = document.createElement('u-dialog');
13
13
  dialog.innerText = this.message;
14
- this.addHeadline(dialog);
15
- this.addButtons(dialog);
14
+ this._addHeadline(dialog);
15
+ this._addButtons(dialog);
16
16
  return this.innerShow(dialog);
17
17
  }
18
18
  innerShow(dialog) {
@@ -21,7 +21,7 @@ export class DialogBuilder {
21
21
  dialog.show();
22
22
  return;
23
23
  }
24
- addHeadline(dialog) {
24
+ _addHeadline(dialog) {
25
25
  if (!this.#headline) {
26
26
  return;
27
27
  }
@@ -30,7 +30,7 @@ export class DialogBuilder {
30
30
  headlineElement.textContent = this.#headline;
31
31
  dialog.appendChild(headlineElement);
32
32
  }
33
- addButton(dialog, buttonDef, click) {
33
+ _addButton(dialog, buttonDef, click) {
34
34
  const button = document.createElement('u-button');
35
35
  button.variant = buttonDef.variant;
36
36
  button.textContent = buttonDef.label;
@@ -1 +1 @@
1
- {"version":3,"file":"dialog-builder.js","sourceRoot":"","sources":["../../src/dialog/dialog-builder.ts"],"names":[],"mappings":"AAGA,OAAO,aAAa,CAAC;AAErB,MAAM,OAAgB,aAAa;IACjC,SAAS,CAAU;IAEnB,YAA6B,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAE5C,CAAC;IAED,QAAQ,CAAC,QAAgB;QACvB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,OAAO,IAA2B,CAAC;IACrC,CAAC;IAED,IAAI;QACF,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;QAEhC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAExB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAY,CAAC;IAC3C,CAAC;IAES,SAAS,CAAC,MAAgB;QAClC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,EAAE,CAAC;QAEd,OAAO;IACT,CAAC;IAIO,WAAW,CAAC,MAAmB;QACrC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACvD,eAAe,CAAC,IAAI,GAAG,UAAU,CAAC;QAClC,eAAe,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7C,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC;IAES,SAAS,CAAC,MAAgB,EAAE,SAA0B,EAAE,KAAiB;QACjF,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,OAAQ,CAAC;QACpC,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC,KAAM,CAAC;QACtC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;QACxB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACxC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;CACF","sourcesContent":["import { DialogButtonDef } from './dialog-button-def.js';\nimport { UmDialog } from './dialog.js';\n\nimport './dialog.js';\n\nexport abstract class DialogBuilder<TBuilder extends DialogBuilder<any, any>, TReturn> {\n #headline?: string;\n\n constructor(private readonly message: string) {\n\n }\n\n headline(headline: string): TBuilder {\n this.#headline = headline;\n return this as unknown as TBuilder;\n }\n\n show(): TReturn {\n const dialog = document.createElement('u-dialog');\n dialog.innerText = this.message;\n\n this.addHeadline(dialog);\n this.addButtons(dialog);\n\n return this.innerShow(dialog) as TReturn;\n }\n\n protected innerShow(dialog: UmDialog): TReturn | void {\n dialog.addEventListener('closed', () => dialog.remove());\n document.body.appendChild(dialog);\n dialog.show();\n\n return;\n }\n\n protected abstract addButtons(dialog: UmDialog): void;\n\n private addHeadline(dialog: HTMLElement) {\n if (!this.#headline) {\n return;\n }\n\n const headlineElement = document.createElement('span');\n headlineElement.slot = 'headline';\n headlineElement.textContent = this.#headline;\n dialog.appendChild(headlineElement);\n }\n\n protected addButton(dialog: UmDialog, buttonDef: DialogButtonDef, click: () => void) {\n const button = document.createElement('u-button');\n button.variant = buttonDef.variant!;\n button.textContent = buttonDef.label!;\n button.slot = 'actions';\n button.addEventListener('click', click);\n dialog.appendChild(button);\n }\n}\n"]}
1
+ {"version":3,"file":"dialog-builder.js","sourceRoot":"","sources":["../../src/dialog/dialog-builder.ts"],"names":[],"mappings":"AAGA,OAAO,aAAa,CAAC;AAErB,MAAM,OAAgB,aAAa;IACjC,SAAS,CAAU;IAEnB,YAA6B,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAE5C,CAAC;IAED,QAAQ,CAAC,QAAgB;QACvB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,OAAO,IAA2B,CAAC;IACrC,CAAC;IAED,IAAI;QACF,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;QAEhC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAY,CAAC;IAC3C,CAAC;IAES,SAAS,CAAC,MAAgB;QAClC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,EAAE,CAAC;QAEd,OAAO;IACT,CAAC;IAIO,YAAY,CAAC,MAAmB;QACtC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACvD,eAAe,CAAC,IAAI,GAAG,UAAU,CAAC;QAClC,eAAe,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7C,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC;IAES,UAAU,CAAC,MAAgB,EAAE,SAA0B,EAAE,KAAiB;QAClF,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,OAAQ,CAAC;QACpC,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC,KAAM,CAAC;QACtC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;QACxB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACxC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;CACF","sourcesContent":["import { DialogButtonDef } from './dialog-button-def.js';\nimport { UmDialog } from './dialog.js';\n\nimport './dialog.js';\n\nexport abstract class DialogBuilder<TBuilder extends DialogBuilder<any, any>, TReturn> {\n #headline?: string;\n\n constructor(private readonly message: string) {\n\n }\n\n headline(headline: string): TBuilder {\n this.#headline = headline;\n return this as unknown as TBuilder;\n }\n\n show(): TReturn {\n const dialog = document.createElement('u-dialog');\n dialog.innerText = this.message;\n\n this._addHeadline(dialog);\n this._addButtons(dialog);\n\n return this.innerShow(dialog) as TReturn;\n }\n\n protected innerShow(dialog: UmDialog): TReturn | void {\n dialog.addEventListener('closed', () => dialog.remove());\n document.body.appendChild(dialog);\n dialog.show();\n\n return;\n }\n\n protected abstract _addButtons(dialog: UmDialog): void;\n\n private _addHeadline(dialog: HTMLElement) {\n if (!this.#headline) {\n return;\n }\n\n const headlineElement = document.createElement('span');\n headlineElement.slot = 'headline';\n headlineElement.textContent = this.#headline;\n dialog.appendChild(headlineElement);\n }\n\n protected _addButton(dialog: UmDialog, buttonDef: DialogButtonDef, click: () => void) {\n const button = document.createElement('u-button');\n button.variant = buttonDef.variant!;\n button.textContent = buttonDef.label!;\n button.slot = 'actions';\n button.addEventListener('click', click);\n dialog.appendChild(button);\n }\n}\n"]}
@@ -5,6 +5,6 @@ export declare class MessageDialogBuilder extends DialogBuilder<MessageDialogBui
5
5
  #private;
6
6
  static create(message: string): MessageDialogBuilder;
7
7
  acknowledgeButton(acknowledgeButtonDef: DialogButtonDef): MessageDialogBuilder;
8
- addButtons(dialog: UmDialog): void;
8
+ _addButtons(dialog: UmDialog): void;
9
9
  }
10
10
  //# sourceMappingURL=message-dialog-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-dialog-builder.d.ts","sourceRoot":"","sources":["../../src/dialog/message-dialog-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,oBAAqB,SAAQ,aAAa,CAAC,oBAAoB,EAAE,IAAI,CAAC;;IACjF,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB;IAMpD,iBAAiB,CAAC,oBAAoB,EAAE,eAAe,GAAG,oBAAoB;IAKrE,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI;CAO5C"}
1
+ {"version":3,"file":"message-dialog-builder.d.ts","sourceRoot":"","sources":["../../src/dialog/message-dialog-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,oBAAqB,SAAQ,aAAa,CAAC,oBAAoB,EAAE,IAAI,CAAC;;IACjF,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB;IAMpD,iBAAiB,CAAC,oBAAoB,EAAE,eAAe,GAAG,oBAAoB;IAKrE,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI;CAO7C"}
@@ -9,8 +9,8 @@ export class MessageDialogBuilder extends DialogBuilder {
9
9
  this.#acknowledgeButtonDef = acknowledgeButtonDef;
10
10
  return this;
11
11
  }
12
- addButtons(dialog) {
13
- this.addButton(dialog, { ...config.dialog.alertDefaults.acknowledgeButton, ...this.#acknowledgeButtonDef }, () => dialog.close());
12
+ _addButtons(dialog) {
13
+ this._addButton(dialog, { ...config.dialog.alertDefaults.acknowledgeButton, ...this.#acknowledgeButtonDef }, () => dialog.close());
14
14
  }
15
15
  }
16
16
  //# sourceMappingURL=message-dialog-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-dialog-builder.js","sourceRoot":"","sources":["../../src/dialog/message-dialog-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,MAAM,OAAO,oBAAqB,SAAQ,aAAyC;IACjF,MAAM,CAAC,MAAM,CAAC,OAAe;QAC3B,OAAO,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,qBAAqB,CAAmB;IAExC,iBAAiB,CAAC,oBAAqC;QACrD,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,UAAU,CAAC,MAAgB;QAElC,IAAI,CAAC,SAAS,CACZ,MAAM,EACN,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,EACnF,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1B,CAAC;CACF","sourcesContent":["import { config } from '../config.js';\nimport { DialogBuilder } from './dialog-builder.js';\nimport { DialogButtonDef } from './dialog-button-def.js';\nimport { UmDialog } from './dialog.js';\n\nexport class MessageDialogBuilder extends DialogBuilder<MessageDialogBuilder, void> {\n static create(message: string): MessageDialogBuilder {\n return new MessageDialogBuilder(message);\n }\n\n #acknowledgeButtonDef?: DialogButtonDef;\n\n acknowledgeButton(acknowledgeButtonDef: DialogButtonDef): MessageDialogBuilder {\n this.#acknowledgeButtonDef = acknowledgeButtonDef;\n return this;\n }\n\n override addButtons(dialog: UmDialog): void {\n\n this.addButton(\n dialog,\n { ...config.dialog.alertDefaults.acknowledgeButton, ...this.#acknowledgeButtonDef },\n () => dialog.close());\n }\n}\n"]}
1
+ {"version":3,"file":"message-dialog-builder.js","sourceRoot":"","sources":["../../src/dialog/message-dialog-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,MAAM,OAAO,oBAAqB,SAAQ,aAAyC;IACjF,MAAM,CAAC,MAAM,CAAC,OAAe;QAC3B,OAAO,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,qBAAqB,CAAmB;IAExC,iBAAiB,CAAC,oBAAqC;QACrD,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,WAAW,CAAC,MAAgB;QAEnC,IAAI,CAAC,UAAU,CACb,MAAM,EACN,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,EACnF,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1B,CAAC;CACF","sourcesContent":["import { config } from '../config.js';\nimport { DialogBuilder } from './dialog-builder.js';\nimport { DialogButtonDef } from './dialog-button-def.js';\nimport { UmDialog } from './dialog.js';\n\nexport class MessageDialogBuilder extends DialogBuilder<MessageDialogBuilder, void> {\n static create(message: string): MessageDialogBuilder {\n return new MessageDialogBuilder(message);\n }\n\n #acknowledgeButtonDef?: DialogButtonDef;\n\n acknowledgeButton(acknowledgeButtonDef: DialogButtonDef): MessageDialogBuilder {\n this.#acknowledgeButtonDef = acknowledgeButtonDef;\n return this;\n }\n\n override _addButtons(dialog: UmDialog): void {\n\n this._addButton(\n dialog,\n { ...config.dialog.alertDefaults.acknowledgeButton, ...this.#acknowledgeButtonDef },\n () => dialog.close());\n }\n}\n"]}
package/index.d.ts CHANGED
@@ -9,6 +9,9 @@ import './chip/chip.js';
9
9
  import './chip/chip-set.js';
10
10
  import './chip-field/chip-field.js';
11
11
  import './dialog/dialog.js';
12
+ import './dialog/dialog-builder.js';
13
+ import './dialog/confirm-dialog-builder.js';
14
+ import './dialog/message-dialog-builder.js';
12
15
  import './checkbox/checkbox.js';
13
16
  import './checkbox/checkbox-list-item.js';
14
17
  import './radio/radio.js';
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,wCAAwC,CAAC;AAEhD,OAAO,0BAA0B,CAAC;AAClC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,wBAAwB,CAAC;AAChC,OAAO,iBAAiB,CAAC;AACzB,OAAO,yBAAyB,CAAC;AACjC,OAAO,gBAAgB,CAAC;AACxB,OAAO,gBAAgB,CAAC;AACxB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,4BAA4B,CAAC;AACpC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,wBAAwB,CAAC;AAChC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,kBAAkB,CAAC;AAC1B,OAAO,4BAA4B,CAAC;AACpC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,8BAA8B,CAAC;AACtC,OAAO,0BAA0B,CAAC;AAClC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,4BAA4B,CAAC;AACpC,OAAO,0BAA0B,CAAC;AAClC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,gBAAgB,CAAC;AACxB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,gBAAgB,CAAC;AACxB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,wBAAwB,CAAC;AAChC,OAAO,6BAA6B,CAAC;AACrC,OAAO,iCAAiC,CAAC;AACzC,OAAO,iCAAiC,CAAC;AACzC,OAAO,4BAA4B,CAAC;AACpC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,wBAAwB,CAAC;AAChC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,0BAA0B,CAAC;AAClC,OAAO,0BAA0B,CAAC;AAElC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,wCAAwC,CAAC;AAEhD,OAAO,0BAA0B,CAAC;AAClC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,wBAAwB,CAAC;AAChC,OAAO,iBAAiB,CAAC;AACzB,OAAO,yBAAyB,CAAC;AACjC,OAAO,gBAAgB,CAAC;AACxB,OAAO,gBAAgB,CAAC;AACxB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,4BAA4B,CAAC;AACpC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,4BAA4B,CAAC;AACpC,OAAO,oCAAoC,CAAC;AAC5C,OAAO,oCAAoC,CAAC;AAC5C,OAAO,wBAAwB,CAAC;AAChC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,kBAAkB,CAAC;AAC1B,OAAO,4BAA4B,CAAC;AACpC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,8BAA8B,CAAC;AACtC,OAAO,0BAA0B,CAAC;AAClC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,4BAA4B,CAAC;AACpC,OAAO,0BAA0B,CAAC;AAClC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,gBAAgB,CAAC;AACxB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,gBAAgB,CAAC;AACxB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,wBAAwB,CAAC;AAChC,OAAO,6BAA6B,CAAC;AACrC,OAAO,iCAAiC,CAAC;AACzC,OAAO,iCAAiC,CAAC;AACzC,OAAO,4BAA4B,CAAC;AACpC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,wBAAwB,CAAC;AAChC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,0BAA0B,CAAC;AAClC,OAAO,0BAA0B,CAAC;AAElC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC"}
package/index.js CHANGED
@@ -9,6 +9,9 @@ import './chip/chip.js';
9
9
  import './chip/chip-set.js';
10
10
  import './chip-field/chip-field.js';
11
11
  import './dialog/dialog.js';
12
+ import './dialog/dialog-builder.js';
13
+ import './dialog/confirm-dialog-builder.js';
14
+ import './dialog/message-dialog-builder.js';
12
15
  import './checkbox/checkbox.js';
13
16
  import './checkbox/checkbox-list-item.js';
14
17
  import './radio/radio.js';
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,wCAAwC,CAAC;AAEhD,OAAO,0BAA0B,CAAC;AAClC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,wBAAwB,CAAC;AAChC,OAAO,iBAAiB,CAAC;AACzB,OAAO,yBAAyB,CAAC;AACjC,OAAO,gBAAgB,CAAC;AACxB,OAAO,gBAAgB,CAAC;AACxB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,4BAA4B,CAAC;AACpC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,wBAAwB,CAAC;AAChC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,kBAAkB,CAAC;AAC1B,OAAO,4BAA4B,CAAC;AACpC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,8BAA8B,CAAC;AACtC,OAAO,0BAA0B,CAAC;AAClC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,4BAA4B,CAAC;AACpC,OAAO,0BAA0B,CAAC;AAClC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,gBAAgB,CAAC;AACxB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,gBAAgB,CAAC;AACxB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,wBAAwB,CAAC;AAChC,OAAO,6BAA6B,CAAC;AACrC,OAAO,iCAAiC,CAAC;AACzC,OAAO,iCAAiC,CAAC;AACzC,OAAO,4BAA4B,CAAC;AACpC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,wBAAwB,CAAC;AAChC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,0BAA0B,CAAC;AAClC,OAAO,0BAA0B,CAAC;AAElC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC","sourcesContent":["import '@bart-krakowski/get-week-info-polyfill';\n\nimport './app-bar/top-app-bar.js';\nimport './button/button.js';\nimport './button/button-set.js';\nimport './button/fab.js';\nimport './button/icon-button.js';\nimport './card/card.js';\nimport './chip/chip.js';\nimport './chip/chip-set.js';\nimport './chip-field/chip-field.js';\nimport './dialog/dialog.js';\nimport './checkbox/checkbox.js';\nimport './checkbox/checkbox-list-item.js';\nimport './radio/radio.js';\nimport './radio/radio-list-item.js';\nimport './switch/switch.js';\nimport './switch/switch-list-item.js';\nimport './elevation/elevation.js';\nimport './field/field.js';\nimport './text-field/text-field.js';\nimport './text-area/text-area.js';\nimport './select/select.js';\nimport './list/list.js';\nimport './list/list-item.js';\nimport './menu/menu.js';\nimport './menu/menu-item.js';\nimport './navigation/drawer.js';\nimport './navigation/drawer-item.js';\nimport './navigation/side-navigation.js';\nimport './progress/circular-progress.js';\nimport './progress/progress-bar.js';\nimport './ripple/ripple.js';\nimport './snackbar/snackbar.js';\nimport './tab-bar/tab-bar.js';\nimport './tab-bar/tab.js';\nimport './typeahead/highlight.js';\nimport './typeahead/typeahead.js';\n\nexport * from './app-bar/top-app-bar.js';\nexport * from './badge/badge.js';\nexport * from './button/button.js';\nexport * from './button/button-base.js';\nexport * from './button/button-set.js';\nexport * from './button/fab.js';\nexport * from './button/icon-button.js';\nexport * from './button-field/button-field.js';\nexport * from './calendar/calendar.js';\nexport * from './calendar/range-calendar.js';\nexport * from './card/card.js';\nexport * from './card/card-content.js';\nexport * from './card/card-media.js';\nexport * from './chip/chip.js';\nexport * from './chip-field/chip-field.js';\nexport * from './chip/chip-set.js';\nexport * from './dialog/dialog.js';\nexport * from './checkbox/checkbox.js';\nexport * from './radio/radio.js';\nexport * from './switch/switch.js';\nexport * from './switch/switch-list-item.js';\nexport * from './elevation/elevation.js';\nexport * from './field/field.js';\nexport * from './text-field/text-field.js';\nexport * from './text-area/text-area.js';\nexport * from './select/select.js';\nexport * from './select/option.js';\nexport * from './list/list.js';\nexport * from './list/list-item.js';\nexport * from './menu/menu.js';\nexport * from './menu/menu-item.js';\nexport * from './navigation/drawer.js';\nexport * from './navigation/drawer-item.js';\nexport * from './navigation/drawer-headline.js';\nexport * from './navigation/side-navigation.js';\nexport * from './overflow-menu/overflow-menu.js';\nexport * from './overflow-menu/overflow-menu-item.js';\nexport * from './progress/circular-progress.js';\nexport * from './progress/progress-bar.js';\nexport * from './ripple/ripple.js';\nexport * from './snackbar/snackbar.js';\nexport * from './tab-bar/tab-bar.js';\nexport * from './tab-bar/tab.js';\nexport * from './theme/theme-builder.js';\nexport * from './typeahead/highlight.js';\nexport * from './typeahead/typeahead.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,wCAAwC,CAAC;AAEhD,OAAO,0BAA0B,CAAC;AAClC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,wBAAwB,CAAC;AAChC,OAAO,iBAAiB,CAAC;AACzB,OAAO,yBAAyB,CAAC;AACjC,OAAO,gBAAgB,CAAC;AACxB,OAAO,gBAAgB,CAAC;AACxB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,4BAA4B,CAAC;AACpC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,4BAA4B,CAAC;AACpC,OAAO,oCAAoC,CAAC;AAC5C,OAAO,oCAAoC,CAAC;AAC5C,OAAO,wBAAwB,CAAC;AAChC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,kBAAkB,CAAC;AAC1B,OAAO,4BAA4B,CAAC;AACpC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,8BAA8B,CAAC;AACtC,OAAO,0BAA0B,CAAC;AAClC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,4BAA4B,CAAC;AACpC,OAAO,0BAA0B,CAAC;AAClC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,gBAAgB,CAAC;AACxB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,gBAAgB,CAAC;AACxB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,wBAAwB,CAAC;AAChC,OAAO,6BAA6B,CAAC;AACrC,OAAO,iCAAiC,CAAC;AACzC,OAAO,iCAAiC,CAAC;AACzC,OAAO,4BAA4B,CAAC;AACpC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,wBAAwB,CAAC;AAChC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,0BAA0B,CAAC;AAClC,OAAO,0BAA0B,CAAC;AAElC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC","sourcesContent":["import '@bart-krakowski/get-week-info-polyfill';\n\nimport './app-bar/top-app-bar.js';\nimport './button/button.js';\nimport './button/button-set.js';\nimport './button/fab.js';\nimport './button/icon-button.js';\nimport './card/card.js';\nimport './chip/chip.js';\nimport './chip/chip-set.js';\nimport './chip-field/chip-field.js';\nimport './dialog/dialog.js';\nimport './dialog/dialog-builder.js';\nimport './dialog/confirm-dialog-builder.js';\nimport './dialog/message-dialog-builder.js';\nimport './checkbox/checkbox.js';\nimport './checkbox/checkbox-list-item.js';\nimport './radio/radio.js';\nimport './radio/radio-list-item.js';\nimport './switch/switch.js';\nimport './switch/switch-list-item.js';\nimport './elevation/elevation.js';\nimport './field/field.js';\nimport './text-field/text-field.js';\nimport './text-area/text-area.js';\nimport './select/select.js';\nimport './list/list.js';\nimport './list/list-item.js';\nimport './menu/menu.js';\nimport './menu/menu-item.js';\nimport './navigation/drawer.js';\nimport './navigation/drawer-item.js';\nimport './navigation/side-navigation.js';\nimport './progress/circular-progress.js';\nimport './progress/progress-bar.js';\nimport './ripple/ripple.js';\nimport './snackbar/snackbar.js';\nimport './tab-bar/tab-bar.js';\nimport './tab-bar/tab.js';\nimport './typeahead/highlight.js';\nimport './typeahead/typeahead.js';\n\nexport * from './app-bar/top-app-bar.js';\nexport * from './badge/badge.js';\nexport * from './button/button.js';\nexport * from './button/button-base.js';\nexport * from './button/button-set.js';\nexport * from './button/fab.js';\nexport * from './button/icon-button.js';\nexport * from './button-field/button-field.js';\nexport * from './calendar/calendar.js';\nexport * from './calendar/range-calendar.js';\nexport * from './card/card.js';\nexport * from './card/card-content.js';\nexport * from './card/card-media.js';\nexport * from './chip/chip.js';\nexport * from './chip-field/chip-field.js';\nexport * from './chip/chip-set.js';\nexport * from './dialog/dialog.js';\nexport * from './checkbox/checkbox.js';\nexport * from './radio/radio.js';\nexport * from './switch/switch.js';\nexport * from './switch/switch-list-item.js';\nexport * from './elevation/elevation.js';\nexport * from './field/field.js';\nexport * from './text-field/text-field.js';\nexport * from './text-area/text-area.js';\nexport * from './select/select.js';\nexport * from './select/option.js';\nexport * from './list/list.js';\nexport * from './list/list-item.js';\nexport * from './menu/menu.js';\nexport * from './menu/menu-item.js';\nexport * from './navigation/drawer.js';\nexport * from './navigation/drawer-item.js';\nexport * from './navigation/drawer-headline.js';\nexport * from './navigation/side-navigation.js';\nexport * from './overflow-menu/overflow-menu.js';\nexport * from './overflow-menu/overflow-menu-item.js';\nexport * from './progress/circular-progress.js';\nexport * from './progress/progress-bar.js';\nexport * from './ripple/ripple.js';\nexport * from './snackbar/snackbar.js';\nexport * from './tab-bar/tab-bar.js';\nexport * from './tab-bar/tab.js';\nexport * from './theme/theme-builder.js';\nexport * from './typeahead/highlight.js';\nexport * from './typeahead/typeahead.js';\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@universal-material/web",
3
- "version": "3.1.1",
3
+ "version": "3.2.1",
4
4
  "description": "Material web components",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -1,2 +1,2 @@
1
- export declare const redispatchEvent: (element: Element, event: Event) => boolean;
1
+ export declare const redispatchEvent: (element: Element, event: Event, newType?: string | null) => boolean;
2
2
  //# sourceMappingURL=redispatch-event.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redispatch-event.d.ts","sourceRoot":"","sources":["../../../src/shared/events/redispatch-event.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,GAAI,SAAS,OAAO,EAAE,OAAO,KAAK,YAe7D,CAAC"}
1
+ {"version":3,"file":"redispatch-event.d.ts","sourceRoot":"","sources":["../../../src/shared/events/redispatch-event.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,GAAI,SAAS,OAAO,EAAE,OAAO,KAAK,EAAE,UAAS,MAAM,GAAG,IAAW,YAe5F,CAAC"}
@@ -1,10 +1,10 @@
1
- export const redispatchEvent = (element, event) => {
1
+ export const redispatchEvent = (element, event, newType = null) => {
2
2
  // For bubbling events in SSR light DOM (or composed), stop their propagation
3
3
  // and dispatch the copy.
4
4
  if (event.bubbles && (!element.shadowRoot || event.composed)) {
5
5
  event.stopPropagation();
6
6
  }
7
- const copy = Reflect.construct(event.constructor, [event.type, event]);
7
+ const copy = Reflect.construct(event.constructor, [newType ?? event.type, event]);
8
8
  const dispatched = element.dispatchEvent(copy);
9
9
  if (!dispatched) {
10
10
  event.preventDefault();
@@ -1 +1 @@
1
- {"version":3,"file":"redispatch-event.js","sourceRoot":"","sources":["../../../src/shared/events/redispatch-event.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAgB,EAAE,KAAY,EAAE,EAAE;IAChE,6EAA6E;IAC7E,yBAAyB;IACzB,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7D,KAAK,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAE/C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,KAAK,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC","sourcesContent":["export const redispatchEvent = (element: Element, event: Event) => {\n // For bubbling events in SSR light DOM (or composed), stop their propagation\n // and dispatch the copy.\n if (event.bubbles && (!element.shadowRoot || event.composed)) {\n event.stopPropagation();\n }\n\n const copy = Reflect.construct(event.constructor, [event.type, event]);\n const dispatched = element.dispatchEvent(copy);\n\n if (!dispatched) {\n event.preventDefault();\n }\n\n return dispatched;\n};\n"]}
1
+ {"version":3,"file":"redispatch-event.js","sourceRoot":"","sources":["../../../src/shared/events/redispatch-event.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAgB,EAAE,KAAY,EAAE,UAAyB,IAAI,EAAE,EAAE;IAC/F,6EAA6E;IAC7E,yBAAyB;IACzB,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7D,KAAK,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED,MAAM,IAAI,GAAU,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACzF,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAE/C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,KAAK,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC","sourcesContent":["export const redispatchEvent = (element: Element, event: Event, newType: string | null = null) => {\n // For bubbling events in SSR light DOM (or composed), stop their propagation\n // and dispatch the copy.\n if (event.bubbles && (!element.shadowRoot || event.composed)) {\n event.stopPropagation();\n }\n\n const copy: Event = Reflect.construct(event.constructor, [newType ?? event.type, event]);\n const dispatched = element.dispatchEvent(copy);\n\n if (!dispatched) {\n event.preventDefault();\n }\n\n return dispatched;\n};\n"]}
@@ -2,9 +2,9 @@ import { HTMLTemplateResult, LitElement } from 'lit';
2
2
  import '../button/button.js';
3
3
  import '../button/icon-button.js';
4
4
  export interface SnackbarConfig {
5
- label: string;
5
+ message: string;
6
6
  duration?: SnackbarDuration;
7
- buttonLabel?: string;
7
+ action?: string;
8
8
  showClose?: boolean;
9
9
  }
10
10
  export declare enum SnackbarDuration {
@@ -14,19 +14,20 @@ export declare enum SnackbarDuration {
14
14
  }
15
15
  export declare class UmSnackbar extends LitElement {
16
16
  static styles: import("lit").CSSResult[];
17
- label: string;
18
- buttonLabel: string;
17
+ message: string;
18
+ action: string;
19
19
  showClose: boolean;
20
20
  dismissed: boolean;
21
- private duration;
22
- private readonly snackbar;
21
+ duration: SnackbarDuration | number;
22
+ private readonly container;
23
23
  render(): HTMLTemplateResult;
24
24
  private renderButton;
25
25
  private renderCloseButton;
26
+ actionClick(e: Event): void;
26
27
  dismiss(): void;
27
28
  private static _queue;
28
29
  private static _consuming;
29
- static show(label: string): UmSnackbar;
30
+ static show(message: string): UmSnackbar;
30
31
  static show(config: SnackbarConfig): UmSnackbar;
31
32
  private static consumeQueue;
32
33
  private static showNext;
@@ -1 +1 @@
1
- {"version":3,"file":"snackbar.d.ts","sourceRoot":"","sources":["../../src/snackbar/snackbar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,UAAU,EAAW,MAAM,KAAK,CAAC;AAOpE,OAAO,qBAAqB,CAAC;AAC7B,OAAO,0BAA0B,CAAC;AAElC,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,oBAAY,gBAAgB;IAC1B,KAAK,OAAO;IACZ,IAAI,OAAO;IACX,QAAQ,KAAK;CACd;AAED,qBACa,UAAW,SAAQ,UAAU;IACxC,OAAgB,MAAM,4BAAwB;IAEjB,KAAK,SAAM;IACX,WAAW,SAAM;IAE9C,SAAS,UAAS;IAC0B,SAAS,UAAS;IAE9D,OAAO,CAAC,QAAQ,CAA6B;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IAEnD,MAAM,IAAI,kBAAkB;IAWrC,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,IAAI,IAAI;IAiBf,OAAO,CAAC,MAAM,CAAC,MAAM,CAAoB;IACzC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAU;IAEnC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IACtC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,UAAU;IAoB/C,OAAO,CAAC,MAAM,CAAC,YAAY;IAO3B,OAAO,CAAC,MAAM,CAAC,QAAQ;IAmBvB,OAAO,CAAC,MAAM,CAAC,cAAc;CAS9B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,UAAU,CAAC;KAC1B;CACF"}
1
+ {"version":3,"file":"snackbar.d.ts","sourceRoot":"","sources":["../../src/snackbar/snackbar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,UAAU,EAAW,MAAM,KAAK,CAAC;AAOpE,OAAO,qBAAqB,CAAC;AAC7B,OAAO,0BAA0B,CAAC;AAElC,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,oBAAY,gBAAgB;IAC1B,KAAK,OAAO;IACZ,IAAI,OAAO;IACX,QAAQ,KAAK;CACd;AAED,qBACa,UAAW,SAAQ,UAAU;IACxC,OAAgB,MAAM,4BAAwB;IAEjB,OAAO,SAAM;IACb,MAAM,SAAM;IAEzC,SAAS,UAAS;IAC0B,SAAS,UAAS;IAE9D,QAAQ,EAAG,gBAAgB,GAAG,MAAM,CAAC;IACV,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IAE3D,MAAM,IAAI,kBAAkB;IAcrC,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,iBAAiB;IAqBzB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAc3B,OAAO,IAAI,IAAI;IAiBf,OAAO,CAAC,MAAM,CAAC,MAAM,CAAoB;IACzC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAU;IAEnC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IACxC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,UAAU;IAsB/C,OAAO,CAAC,MAAM,CAAC,YAAY;IAO3B,OAAO,CAAC,MAAM,CAAC,QAAQ;IAmBvB,OAAO,CAAC,MAAM,CAAC,cAAc;CAS9B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,UAAU,CAAC;KAC1B;CACF"}
@@ -16,8 +16,8 @@ export var SnackbarDuration;
16
16
  let UmSnackbar = class UmSnackbar extends LitElement {
17
17
  constructor() {
18
18
  super(...arguments);
19
- this.label = '';
20
- this.buttonLabel = '';
19
+ this.message = '';
20
+ this.action = '';
21
21
  this.showClose = false;
22
22
  this.dismissed = false;
23
23
  }
@@ -26,23 +26,34 @@ let UmSnackbar = class UmSnackbar extends LitElement {
26
26
  render() {
27
27
  const classes = { dismiss: this.dismissed };
28
28
  return html `
29
- <div class="snackbar ${classMap(classes)}">
30
- <div class="label">${this.label}</div>
29
+ <div class="container ${classMap(classes)}" part="container">
30
+ <u-elevation></u-elevation>
31
+ <div class="message-container" part="message-container">
32
+ <div class="message" part="message">${this.message}</div>
33
+ </div>
31
34
  ${this.renderButton()} ${this.renderCloseButton()}
32
35
  </div>
33
36
  `;
34
37
  }
35
38
  renderButton() {
36
- return this.buttonLabel
39
+ return this.action
37
40
  ? html `
38
- <u-button variant="text">${this.buttonLabel}</u-button>
41
+ <u-button
42
+ variant="text"
43
+ @click=${this.actionClick.bind(this)}
44
+ part="action"
45
+ >${this.action}
46
+ </u-button>
39
47
  `
40
48
  : nothing;
41
49
  }
42
50
  renderCloseButton() {
43
51
  return this.showClose
44
52
  ? html `
45
- <u-icon-button @click=${this.dismiss.bind(this)}>
53
+ <u-icon-button
54
+ @click=${this.dismiss.bind(this)}
55
+ part="close"
56
+ >
46
57
  <svg
47
58
  xmlns="http://www.w3.org/2000/svg"
48
59
  height="1em"
@@ -56,27 +67,37 @@ let UmSnackbar = class UmSnackbar extends LitElement {
56
67
  `
57
68
  : nothing;
58
69
  }
70
+ actionClick(e) {
71
+ e.stopPropagation();
72
+ const actionClickEvent = new CustomEvent('actionClick', { cancelable: true });
73
+ this.dispatchEvent(actionClickEvent);
74
+ if (actionClickEvent.defaultPrevented) {
75
+ return;
76
+ }
77
+ this.dismiss();
78
+ }
59
79
  dismiss() {
60
80
  if (this.dismissed) {
61
81
  return;
62
82
  }
63
83
  this.dismissed = true;
64
84
  const onAnimationEnd = () => {
65
- this.snackbar.removeEventListener('animationend', onAnimationEnd);
85
+ this.container.removeEventListener('animationend', onAnimationEnd);
66
86
  this.remove();
67
87
  UmSnackbar_1.showNext();
68
88
  };
69
- this.snackbar.addEventListener('animationend', onAnimationEnd);
89
+ this.container.addEventListener('animationend', onAnimationEnd);
70
90
  }
71
91
  static { this._queue = []; }
72
- static show(configOrLabel) {
73
- if (typeof configOrLabel === 'string') {
74
- configOrLabel = {
75
- label: configOrLabel,
92
+ static show(configOrMessage) {
93
+ if (typeof configOrMessage === 'string') {
94
+ configOrMessage = {
95
+ message: configOrMessage,
76
96
  };
77
97
  }
78
- configOrLabel.duration ??= SnackbarDuration.short;
79
- const snackbar = this.createSnackbar(configOrLabel);
98
+ console.log(configOrMessage);
99
+ configOrMessage.duration ??= SnackbarDuration.short;
100
+ const snackbar = this.createSnackbar(configOrMessage);
80
101
  UmSnackbar_1._queue.push(snackbar);
81
102
  if (!UmSnackbar_1._consuming) {
82
103
  UmSnackbar_1.consumeQueue();
@@ -104,8 +125,8 @@ let UmSnackbar = class UmSnackbar extends LitElement {
104
125
  }
105
126
  static createSnackbar(config) {
106
127
  const snackbar = document.createElement('u-snackbar');
107
- snackbar.label = config.label;
108
- snackbar.buttonLabel = config.buttonLabel;
128
+ snackbar.message = config.message;
129
+ snackbar.action = config.action || '';
109
130
  snackbar.showClose = config.showClose;
110
131
  snackbar.duration = config.duration;
111
132
  return snackbar;
@@ -113,10 +134,10 @@ let UmSnackbar = class UmSnackbar extends LitElement {
113
134
  };
114
135
  __decorate([
115
136
  property({ reflect: true })
116
- ], UmSnackbar.prototype, "label", void 0);
137
+ ], UmSnackbar.prototype, "message", void 0);
117
138
  __decorate([
118
139
  property({ reflect: true })
119
- ], UmSnackbar.prototype, "buttonLabel", void 0);
140
+ ], UmSnackbar.prototype, "action", void 0);
120
141
  __decorate([
121
142
  property({ type: Boolean, attribute: 'show-close', reflect: true })
122
143
  ], UmSnackbar.prototype, "showClose", void 0);
@@ -124,8 +145,8 @@ __decorate([
124
145
  property({ type: Boolean, reflect: true })
125
146
  ], UmSnackbar.prototype, "dismissed", void 0);
126
147
  __decorate([
127
- query('.snackbar')
128
- ], UmSnackbar.prototype, "snackbar", void 0);
148
+ query('.container', true)
149
+ ], UmSnackbar.prototype, "container", void 0);
129
150
  UmSnackbar = UmSnackbar_1 = __decorate([
130
151
  customElement('u-snackbar')
131
152
  ], UmSnackbar);
@@ -1 +1 @@
1
- {"version":3,"file":"snackbar.js","sourceRoot":"","sources":["../../src/snackbar/snackbar.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, HTMLTemplateResult, LitElement, nothing } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport { styles as baseStyles } from '../shared/base.styles.js';\nimport { styles } from './snackbar.styles.js';\n\nimport '../button/button.js';\nimport '../button/icon-button.js';\n\nexport interface SnackbarConfig {\n label: string;\n duration?: SnackbarDuration;\n buttonLabel?: string;\n showClose?: boolean;\n}\n\nexport enum SnackbarDuration {\n short = 2500,\n long = 5000,\n infinite = -1,\n}\n\n@customElement('u-snackbar')\nexport class UmSnackbar extends LitElement {\n static override styles = [baseStyles, styles];\n\n @property({ reflect: true }) label = '';\n @property({ reflect: true }) buttonLabel = '';\n @property({ type: Boolean, attribute: 'show-close', reflect: true })\n showClose = false;\n @property({ type: Boolean, reflect: true }) dismissed = false;\n\n private duration!: SnackbarDuration | number;\n @query('.snackbar') private readonly snackbar!: HTMLElement;\n\n override render(): HTMLTemplateResult {\n const classes = { dismiss: this.dismissed };\n\n return html`\n <div class=\"snackbar ${classMap(classes)}\">\n <div class=\"label\">${this.label}</div>\n ${this.renderButton()} ${this.renderCloseButton()}\n </div>\n `;\n }\n\n private renderButton() {\n return this.buttonLabel\n ? html`\n <u-button variant=\"text\">${this.buttonLabel}</u-button>\n `\n : nothing;\n }\n\n private renderCloseButton() {\n return this.showClose\n ? html`\n <u-icon-button @click=${this.dismiss.bind(this)}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"1em\"\n viewBox=\"0 -960 960 960\"\n width=\"1em\"\n fill=\"currentColor\">\n <path\n d=\"m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z\" />\n </svg>\n </u-icon-button>\n `\n : nothing;\n }\n\n dismiss(): void {\n if (this.dismissed) {\n return;\n }\n\n this.dismissed = true;\n\n const onAnimationEnd = () => {\n this.snackbar.removeEventListener('animationend', onAnimationEnd);\n this.remove();\n\n UmSnackbar.showNext();\n };\n\n this.snackbar.addEventListener('animationend', onAnimationEnd);\n }\n\n private static _queue: UmSnackbar[] = [];\n private static _consuming: boolean;\n\n static show(label: string): UmSnackbar;\n static show(config: SnackbarConfig): UmSnackbar;\n static show(configOrLabel: SnackbarConfig | string): UmSnackbar {\n if (typeof configOrLabel === 'string') {\n configOrLabel = {\n label: configOrLabel,\n };\n }\n\n configOrLabel.duration ??= SnackbarDuration.short;\n\n const snackbar = this.createSnackbar(configOrLabel);\n UmSnackbar._queue.push(snackbar);\n\n if (!UmSnackbar._consuming) {\n UmSnackbar.consumeQueue();\n }\n\n return snackbar;\n }\n\n private static consumeQueue() {\n if (UmSnackbar._queue.length) {\n UmSnackbar._consuming = true;\n UmSnackbar.showNext();\n }\n }\n\n private static showNext() {\n if (!UmSnackbar._queue.length) {\n UmSnackbar._consuming = false;\n return;\n }\n\n const snackbar = UmSnackbar._queue[0];\n\n UmSnackbar._queue = UmSnackbar._queue.slice(1);\n\n document.body.appendChild(snackbar);\n\n if (snackbar.duration === -1) {\n return;\n }\n\n setTimeout(() => snackbar.dismiss(), snackbar.duration);\n }\n\n private static createSnackbar(config: SnackbarConfig): UmSnackbar {\n const snackbar = document.createElement('u-snackbar');\n snackbar.label = config.label;\n snackbar.buttonLabel = config.buttonLabel!;\n snackbar.showClose = config.showClose!;\n snackbar.duration = config.duration!;\n\n return snackbar;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-snackbar': UmSnackbar;\n }\n}\n"]}
1
+ {"version":3,"file":"snackbar.js","sourceRoot":"","sources":["../../src/snackbar/snackbar.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, HTMLTemplateResult, LitElement, nothing } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport { styles as baseStyles } from '../shared/base.styles.js';\nimport { styles } from './snackbar.styles.js';\n\nimport '../button/button.js';\nimport '../button/icon-button.js';\n\nexport interface SnackbarConfig {\n message: string;\n duration?: SnackbarDuration;\n action?: string;\n showClose?: boolean;\n}\n\nexport enum SnackbarDuration {\n short = 2500,\n long = 5000,\n infinite = -1,\n}\n\n@customElement('u-snackbar')\nexport class UmSnackbar extends LitElement {\n static override styles = [baseStyles, styles];\n\n @property({ reflect: true }) message = '';\n @property({ reflect: true }) action = '';\n @property({ type: Boolean, attribute: 'show-close', reflect: true })\n showClose = false;\n @property({ type: Boolean, reflect: true }) dismissed = false;\n\n duration!: SnackbarDuration | number;\n @query('.container', true) private readonly container!: HTMLElement;\n\n override render(): HTMLTemplateResult {\n const classes = { dismiss: this.dismissed };\n\n return html`\n <div class=\"container ${classMap(classes)}\" part=\"container\">\n <u-elevation></u-elevation>\n <div class=\"message-container\" part=\"message-container\">\n <div class=\"message\" part=\"message\">${this.message}</div>\n </div>\n ${this.renderButton()} ${this.renderCloseButton()}\n </div>\n `;\n }\n\n private renderButton() {\n return this.action\n ? html`\n <u-button\n variant=\"text\"\n @click=${this.actionClick.bind(this)}\n part=\"action\"\n >${this.action}\n </u-button>\n `\n : nothing;\n }\n\n private renderCloseButton() {\n return this.showClose\n ? html`\n <u-icon-button\n @click=${this.dismiss.bind(this)}\n part=\"close\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"1em\"\n viewBox=\"0 -960 960 960\"\n width=\"1em\"\n fill=\"currentColor\">\n <path\n d=\"m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z\" />\n </svg>\n </u-icon-button>\n `\n : nothing;\n }\n\n actionClick(e: Event): void {\n e.stopPropagation();\n\n const actionClickEvent = new CustomEvent('actionClick', { cancelable: true });\n\n this.dispatchEvent(actionClickEvent);\n\n if (actionClickEvent.defaultPrevented) {\n return;\n }\n\n this.dismiss();\n }\n\n dismiss(): void {\n if (this.dismissed) {\n return;\n }\n\n this.dismissed = true;\n\n const onAnimationEnd = () => {\n this.container.removeEventListener('animationend', onAnimationEnd);\n this.remove();\n\n UmSnackbar.showNext();\n };\n\n this.container.addEventListener('animationend', onAnimationEnd);\n }\n\n private static _queue: UmSnackbar[] = [];\n private static _consuming: boolean;\n\n static show(message: string): UmSnackbar;\n static show(config: SnackbarConfig): UmSnackbar;\n static show(configOrMessage: SnackbarConfig | string): UmSnackbar {\n if (typeof configOrMessage === 'string') {\n configOrMessage = {\n message: configOrMessage,\n };\n }\n\n console.log(configOrMessage);\n\n configOrMessage.duration ??= SnackbarDuration.short;\n\n const snackbar = this.createSnackbar(configOrMessage);\n UmSnackbar._queue.push(snackbar);\n\n if (!UmSnackbar._consuming) {\n UmSnackbar.consumeQueue();\n }\n\n return snackbar;\n }\n\n private static consumeQueue() {\n if (UmSnackbar._queue.length) {\n UmSnackbar._consuming = true;\n UmSnackbar.showNext();\n }\n }\n\n private static showNext() {\n if (!UmSnackbar._queue.length) {\n UmSnackbar._consuming = false;\n return;\n }\n\n const snackbar = UmSnackbar._queue[0];\n\n UmSnackbar._queue = UmSnackbar._queue.slice(1);\n\n document.body.appendChild(snackbar);\n\n if (snackbar.duration === -1) {\n return;\n }\n\n setTimeout(() => snackbar.dismiss(), snackbar.duration);\n }\n\n private static createSnackbar(config: SnackbarConfig): UmSnackbar {\n const snackbar = document.createElement('u-snackbar');\n snackbar.message = config.message;\n snackbar.action = config.action || '';\n snackbar.showClose = config.showClose!;\n snackbar.duration = config.duration!;\n\n return snackbar as unknown as UmSnackbar;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-snackbar': UmSnackbar;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"snackbar.styles.d.ts","sourceRoot":"","sources":["../../src/snackbar/snackbar.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBA8ElB,CAAC"}
1
+ {"version":3,"file":"snackbar.styles.d.ts","sourceRoot":"","sources":["../../src/snackbar/snackbar.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAqFlB,CAAC"}
@@ -12,12 +12,13 @@ export const styles = css `
12
12
  justify-content: center;
13
13
  }
14
14
 
15
- .snackbar {
15
+ .container {
16
16
  display: flex;
17
17
  align-items: center;
18
+ justify-content: flex-end;
19
+ flex-wrap: wrap;
18
20
  min-height: var(--u-snackbar-height, 48px);
19
- color: var(--u-snackbar-text-color, var(--u-color-on-inverse-surface, rgb(245, 239, 247)));
20
- background-color: var(--u-snackbar-bg-color, var(--u-color-inverse-surface, rgb(50, 47, 53)));
21
+ background-color: var(--u-snackbar-container-color, var(--u-color-inverse-surface, rgb(50, 47, 53)));
21
22
  border-radius: var(--u-snackbar-shape, var(--u-shape-corner-extra-small, 4px));
22
23
  animation-name: snackbar-fade-in;
23
24
  animation-duration: 450ms;
@@ -26,13 +27,13 @@ export const styles = css `
26
27
  min-width: var(--u-snackbar-min-width, 100%);
27
28
  max-width: var(--u-snackbar-max-width, 100%);
28
29
  }
29
- .snackbar.dismiss {
30
+ .container.dismiss {
30
31
  animation-name: snackbar-fade-out;
31
32
  }
32
33
 
33
34
  u-button {
34
35
  color: var(--u-color-inverse-primary, );
35
- margin-inline: var(--u-snackbar-text-button-margin, var(--u-spacing-small, 8px));
36
+ margin: var(--u-snackbar-action-margin, var(--u-spacing-extra-small, 4px));
36
37
  }
37
38
 
38
39
  u-icon-button {
@@ -40,21 +41,27 @@ export const styles = css `
40
41
  margin-inline: var(--u-snackbar-close-button-margin, var(--u-spacing-extra-small, 4px));
41
42
  }
42
43
 
43
- .label {
44
- flex: 1;
44
+ .message-container {
45
+ flex: 1 1 auto;
45
46
  overflow: hidden;
46
- color: var(--u-on-inverse-surface-color);
47
+ color: var(--u-snackbar-message-color, var(--u-color-on-inverse-surface, rgb(245, 239, 247)));
47
48
  padding: var(--u-snackbar-text-margin, var(--u-spacing-medium, 16px));
48
49
  line-height: 18px;
49
50
  }
50
51
 
52
+ .message {
53
+ display: -webkit-box;
54
+ -webkit-line-clamp: 2;
55
+ -webkit-box-orient: vertical;
56
+ overflow: hidden;
57
+ }
58
+
51
59
  @media (min-width: 840px) {
52
60
  :host {
53
61
  --_snackbar-margin: var(--u-snackbar-margin, var(--u-spacing-large, 24px));
54
62
  }
55
- .snackbar {
56
- min-width: var(--u-snackbar-min-width, 288px);
57
- max-width: var(--u-snackbar-max-width, 568px);
63
+ .container {
64
+ min-width: var(--u-snackbar-min-width, 344px);
58
65
  }
59
66
  }
60
67
  @keyframes snackbar-fade-in {
@@ -1 +1 @@
1
- {"version":3,"file":"snackbar.styles.js","sourceRoot":"","sources":["../../src/snackbar/snackbar.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8EzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n --u-elevation-level: var(--u-snackbar-elevation-level, 3);\n --_snackbar-margin: var(--u-snackbar-margin, var(--u-spacing-medium, 16px));\n position: fixed;\n inset-inline: 0;\n inset-block-end: 0;\n padding: var(--_snackbar-margin);\n z-index: var(--u-snackbar-z-index, 1070);\n display: flex;\n justify-content: center;\n }\n\n .snackbar {\n display: flex;\n align-items: center;\n min-height: var(--u-snackbar-height, 48px);\n color: var(--u-snackbar-text-color, var(--u-color-on-inverse-surface, rgb(245, 239, 247)));\n background-color: var(--u-snackbar-bg-color, var(--u-color-inverse-surface, rgb(50, 47, 53)));\n border-radius: var(--u-snackbar-shape, var(--u-shape-corner-extra-small, 4px));\n animation-name: snackbar-fade-in;\n animation-duration: 450ms;\n animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n animation-fill-mode: forwards;\n min-width: var(--u-snackbar-min-width, 100%);\n max-width: var(--u-snackbar-max-width, 100%);\n }\n .snackbar.dismiss {\n animation-name: snackbar-fade-out;\n }\n\n u-button {\n color: var(--u-color-inverse-primary, );\n margin-inline: var(--u-snackbar-text-button-margin, var(--u-spacing-small, 8px));\n }\n\n u-icon-button {\n color: var(--u-color-on-inverse-surface, rgb(245, 239, 247));\n margin-inline: var(--u-snackbar-close-button-margin, var(--u-spacing-extra-small, 4px));\n }\n\n .label {\n flex: 1;\n overflow: hidden;\n color: var(--u-on-inverse-surface-color);\n padding: var(--u-snackbar-text-margin, var(--u-spacing-medium, 16px));\n line-height: 18px;\n }\n\n @media (min-width: 840px) {\n :host {\n --_snackbar-margin: var(--u-snackbar-margin, var(--u-spacing-large, 24px));\n }\n .snackbar {\n min-width: var(--u-snackbar-min-width, 288px);\n max-width: var(--u-snackbar-max-width, 568px);\n }\n }\n @keyframes snackbar-fade-in {\n 0% {\n opacity: 0;\n transform: scale3d(0.5, 0.5, 1);\n }\n 100% {\n opacity: 1;\n transform: scale3d(1, 1, 1);\n }\n }\n @keyframes snackbar-fade-out {\n 0% {\n opacity: 1;\n transform: scale3d(1, 1, 1);\n }\n 100% {\n opacity: 0;\n transform: scale3d(0.5, 0.5, 1);\n }\n }\n`;\n"]}
1
+ {"version":3,"file":"snackbar.styles.js","sourceRoot":"","sources":["../../src/snackbar/snackbar.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqFzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n --u-elevation-level: var(--u-snackbar-elevation-level, 3);\n --_snackbar-margin: var(--u-snackbar-margin, var(--u-spacing-medium, 16px));\n position: fixed;\n inset-inline: 0;\n inset-block-end: 0;\n padding: var(--_snackbar-margin);\n z-index: var(--u-snackbar-z-index, 1070);\n display: flex;\n justify-content: center;\n }\n\n .container {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex-wrap: wrap;\n min-height: var(--u-snackbar-height, 48px);\n background-color: var(--u-snackbar-container-color, var(--u-color-inverse-surface, rgb(50, 47, 53)));\n border-radius: var(--u-snackbar-shape, var(--u-shape-corner-extra-small, 4px));\n animation-name: snackbar-fade-in;\n animation-duration: 450ms;\n animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n animation-fill-mode: forwards;\n min-width: var(--u-snackbar-min-width, 100%);\n max-width: var(--u-snackbar-max-width, 100%);\n }\n .container.dismiss {\n animation-name: snackbar-fade-out;\n }\n\n u-button {\n color: var(--u-color-inverse-primary, );\n margin: var(--u-snackbar-action-margin, var(--u-spacing-extra-small, 4px));\n }\n\n u-icon-button {\n color: var(--u-color-on-inverse-surface, rgb(245, 239, 247));\n margin-inline: var(--u-snackbar-close-button-margin, var(--u-spacing-extra-small, 4px));\n }\n\n .message-container {\n flex: 1 1 auto;\n overflow: hidden;\n color: var(--u-snackbar-message-color, var(--u-color-on-inverse-surface, rgb(245, 239, 247)));\n padding: var(--u-snackbar-text-margin, var(--u-spacing-medium, 16px));\n line-height: 18px;\n }\n\n .message {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n @media (min-width: 840px) {\n :host {\n --_snackbar-margin: var(--u-snackbar-margin, var(--u-spacing-large, 24px));\n }\n .container {\n min-width: var(--u-snackbar-min-width, 344px);\n }\n }\n @keyframes snackbar-fade-in {\n 0% {\n opacity: 0;\n transform: scale3d(0.5, 0.5, 1);\n }\n 100% {\n opacity: 1;\n transform: scale3d(1, 1, 1);\n }\n }\n @keyframes snackbar-fade-out {\n 0% {\n opacity: 1;\n transform: scale3d(1, 1, 1);\n }\n 100% {\n opacity: 0;\n transform: scale3d(0.5, 0.5, 1);\n }\n }\n`;\n"]}