@ngyewch/bulma-dialog 0.1.0 → 0.2.0

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.
@@ -24,13 +24,23 @@ function e(e) {
24
24
  let t = document.createElement("span");
25
25
  t.classList.add("delete"), e.appendChild(t);
26
26
  }
27
- o.appendChild(s);
28
- let l = document.createElement("div");
29
- l.classList.add("card-content"), o.appendChild(l), e.mount(l, (e) => {
30
- document.body.removeChild(r), t(e);
31
- }, (e) => {
32
- document.body.removeChild(r), n(e);
33
- }), document.body.appendChild(r);
27
+ if (o.appendChild(s), e.mountContent !== void 0) {
28
+ let i = document.createElement("div");
29
+ i.classList.add("card-content"), o.appendChild(i), e.mountContent(i, (e) => {
30
+ document.body.removeChild(r), t(e);
31
+ }, (e) => {
32
+ document.body.removeChild(r), n(e);
33
+ });
34
+ }
35
+ if (e.mountFooter !== void 0) {
36
+ let i = document.createElement("footer");
37
+ i.classList.add("card-footer"), o.appendChild(i), e.mountFooter(i, (e) => {
38
+ document.body.removeChild(r), t(e);
39
+ }, (e) => {
40
+ document.body.removeChild(r), n(e);
41
+ });
42
+ }
43
+ document.body.appendChild(r);
34
44
  });
35
45
  }
36
46
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"bulma-dialog.js","names":["showDialog","modalEl","options","key","value","modalBackgroundEl","reject","modalContentEl","modalCardEl","modalCardHeaderEl","modalCardTitleEl","closeButtonEl","closeSpanEl","modalCardContentEl","resolve","reason"],"sources":["../src/dialog.ts"],"sourcesContent":["export interface DialogOptions<T> {\n title?: string;\n hideCloseButton?: boolean;\n disableOutsideClick?: boolean;\n mount: (containerElement: HTMLElement, resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void;\n classes?: string[];\n styles?: Record<string, string>;\n}\n\nexport function showDialog<T>(options: DialogOptions<T>): Promise<T> {\n return new Promise<T>((resolve, reject) => {\n const modalEl = document.createElement('div');\n modalEl.classList.add('modal', 'is-active');\n if (options.classes !== undefined) {\n modalEl.classList.add(...options.classes);\n }\n if (options.styles !== undefined) {\n (Object.entries(options.styles) as [string, string][])\n .forEach(([key, value]) => {\n modalEl.style.setProperty(key, value);\n });\n }\n\n const modalBackgroundEl = document.createElement('div');\n modalBackgroundEl.classList.add('modal-background');\n if ((options.disableOutsideClick === undefined) || !options.disableOutsideClick) {\n modalBackgroundEl.onclick = () => {\n document.body.removeChild(modalEl);\n reject();\n };\n }\n modalEl.appendChild(modalBackgroundEl);\n\n const modalContentEl = document.createElement('div');\n modalContentEl.classList.add('modal-content');\n modalEl.appendChild(modalContentEl);\n\n const modalCardEl = document.createElement('div');\n modalCardEl.classList.add('card');\n modalContentEl.appendChild(modalCardEl);\n\n const modalCardHeaderEl = document.createElement('header');\n modalCardHeaderEl.classList.add('card-header');\n const modalCardTitleEl = document.createElement('p');\n modalCardTitleEl.classList.add('card-header-title');\n if (options.title !== undefined) {\n modalCardTitleEl.innerText = options.title;\n }\n modalCardHeaderEl.appendChild(modalCardTitleEl);\n if ((options.hideCloseButton === undefined) || !options.hideCloseButton) {\n const closeButtonEl = document.createElement('button');\n closeButtonEl.classList.add('card-header-icon');\n closeButtonEl.setAttribute('aria-label', 'close');\n closeButtonEl.onclick = () => {\n document.body.removeChild(modalEl);\n reject();\n };\n modalCardHeaderEl.appendChild(closeButtonEl);\n const closeSpanEl = document.createElement('span');\n closeSpanEl.classList.add('delete');\n closeButtonEl.appendChild(closeSpanEl);\n }\n modalCardEl.appendChild(modalCardHeaderEl);\n const modalCardContentEl = document.createElement('div');\n modalCardContentEl.classList.add('card-content');\n modalCardEl.appendChild(modalCardContentEl);\n\n options.mount(modalCardContentEl,\n (value: T | PromiseLike<T>): void => {\n document.body.removeChild(modalEl);\n resolve(value);\n },\n (reason?: any): void => {\n document.body.removeChild(modalEl);\n reject(reason);\n });\n\n document.body.appendChild(modalEl);\n });\n}\n"],"mappings":";AASA,SAAgBA,EAAc,GAAuC;CACjE,OAAO,IAAI,SAAY,GAAS,MAAW;EACvC,IAAMC,IAAU,SAAS,cAAc,KAAK;EAK5C,AAJAA,EAAQ,UAAU,IAAI,SAAS,WAAW,GACtCC,EAAQ,YAAY,KAAA,KACpBD,EAAQ,UAAU,IAAI,GAAGC,EAAQ,OAAO,GAExCA,EAAQ,WAAW,KAAA,KACnB,OAAQ,QAAQA,EAAQ,MAAM,CAAC,CAC1B,SAAS,CAACC,GAAKC,OAAW;GACvB,EAAQ,MAAM,YAAYD,GAAKC,CAAK;EACxC,CAAC;EAGT,IAAMC,IAAoB,SAAS,cAAc,KAAK;EAQtD,AAPAA,EAAkB,UAAU,IAAI,kBAAkB,IAC7CH,EAAQ,wBAAwB,KAAA,KAAc,CAACA,EAAQ,yBACxD,EAAkB,gBAAgB;GAE9B,AADA,SAAS,KAAK,YAAYD,CAAO,GACjCK,EAAO;EACX,IAEJL,EAAQ,YAAYI,CAAiB;EAErC,IAAME,IAAiB,SAAS,cAAc,KAAK;EAEnD,AADAA,EAAe,UAAU,IAAI,eAAe,GAC5CN,EAAQ,YAAYM,CAAc;EAElC,IAAMC,IAAc,SAAS,cAAc,KAAK;EAEhD,AADAA,EAAY,UAAU,IAAI,MAAM,GAChCD,EAAe,YAAYC,CAAW;EAEtC,IAAMC,IAAoB,SAAS,cAAc,QAAQ;EACzD,EAAkB,UAAU,IAAI,aAAa;EAC7C,IAAMC,IAAmB,SAAS,cAAc,GAAG;EAMnD,IALAA,EAAiB,UAAU,IAAI,mBAAmB,GAC9CR,EAAQ,UAAU,KAAA,MAClB,EAAiB,YAAYA,EAAQ,QAEzCO,EAAkB,YAAYC,CAAgB,GACzCR,EAAQ,oBAAoB,KAAA,KAAc,CAACA,EAAQ,iBAAiB;GACrE,IAAMS,IAAgB,SAAS,cAAc,QAAQ;GAOrD,AANAA,EAAc,UAAU,IAAI,kBAAkB,GAC9CA,EAAc,aAAa,cAAc,OAAO,GAChD,EAAc,gBAAgB;IAE1B,AADA,SAAS,KAAK,YAAYV,CAAO,GACjCK,EAAO;GACX,GACAG,EAAkB,YAAYE,CAAa;GAC3C,IAAMC,IAAc,SAAS,cAAc,MAAM;GAEjD,AADAA,EAAY,UAAU,IAAI,QAAQ,GAClCD,EAAc,YAAYC,CAAW;EACzC;EACA,EAAY,YAAYH,CAAiB;EACzC,IAAMI,IAAqB,SAAS,cAAc,KAAK;EAcvD,AAbAA,EAAmB,UAAU,IAAI,cAAc,GAC/CL,EAAY,YAAYK,CAAkB,GAE1CX,EAAQ,MAAMW,IACT,MAAoC;GAEjC,AADA,SAAS,KAAK,YAAYZ,CAAO,GACjCa,EAAQV,CAAK;EACjB,IACC,MAAuB;GAEpB,AADA,SAAS,KAAK,YAAYH,CAAO,GACjCK,EAAOS,CAAM;EACjB,CAAC,GAEL,SAAS,KAAK,YAAYd,CAAO;CACrC,CAAC;AACL"}
1
+ {"version":3,"file":"bulma-dialog.js","names":["showDialog","modalEl","options","key","value","modalBackgroundEl","reject","modalContentEl","modalCardEl","modalCardHeaderEl","modalCardTitleEl","closeButtonEl","closeSpanEl","modalCardContentEl","resolve","reason","modalCardFooterEl"],"sources":["../src/dialog.ts"],"sourcesContent":["export interface DialogOptions<T> {\n title?: string;\n hideCloseButton?: boolean;\n disableOutsideClick?: boolean;\n mountContent?: (containerElement: HTMLElement, resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void;\n mountFooter?: (containerElement: HTMLElement, resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void;\n classes?: string[];\n styles?: Record<string, string>;\n}\n\nexport function showDialog<T>(options: DialogOptions<T>): Promise<T> {\n return new Promise<T>((resolve, reject) => {\n const modalEl = document.createElement('div');\n modalEl.classList.add('modal', 'is-active');\n if (options.classes !== undefined) {\n modalEl.classList.add(...options.classes);\n }\n if (options.styles !== undefined) {\n (Object.entries(options.styles) as [string, string][])\n .forEach(([key, value]) => {\n modalEl.style.setProperty(key, value);\n });\n }\n\n const modalBackgroundEl = document.createElement('div');\n modalBackgroundEl.classList.add('modal-background');\n if ((options.disableOutsideClick === undefined) || !options.disableOutsideClick) {\n modalBackgroundEl.onclick = () => {\n document.body.removeChild(modalEl);\n reject();\n };\n }\n modalEl.appendChild(modalBackgroundEl);\n\n const modalContentEl = document.createElement('div');\n modalContentEl.classList.add('modal-content');\n modalEl.appendChild(modalContentEl);\n\n const modalCardEl = document.createElement('div');\n modalCardEl.classList.add('card');\n modalContentEl.appendChild(modalCardEl);\n\n const modalCardHeaderEl = document.createElement('header');\n modalCardHeaderEl.classList.add('card-header');\n const modalCardTitleEl = document.createElement('p');\n modalCardTitleEl.classList.add('card-header-title');\n if (options.title !== undefined) {\n modalCardTitleEl.innerText = options.title;\n }\n modalCardHeaderEl.appendChild(modalCardTitleEl);\n if ((options.hideCloseButton === undefined) || !options.hideCloseButton) {\n const closeButtonEl = document.createElement('button');\n closeButtonEl.classList.add('card-header-icon');\n closeButtonEl.setAttribute('aria-label', 'close');\n closeButtonEl.onclick = () => {\n document.body.removeChild(modalEl);\n reject();\n };\n modalCardHeaderEl.appendChild(closeButtonEl);\n const closeSpanEl = document.createElement('span');\n closeSpanEl.classList.add('delete');\n closeButtonEl.appendChild(closeSpanEl);\n }\n modalCardEl.appendChild(modalCardHeaderEl);\n\n if (options.mountContent !== undefined) {\n const modalCardContentEl = document.createElement('div');\n modalCardContentEl.classList.add('card-content');\n modalCardEl.appendChild(modalCardContentEl);\n options.mountContent(modalCardContentEl,\n (value: T | PromiseLike<T>): void => {\n document.body.removeChild(modalEl);\n resolve(value);\n },\n (reason?: any): void => {\n document.body.removeChild(modalEl);\n reject(reason);\n });\n }\n\n if (options.mountFooter !== undefined) {\n const modalCardFooterEl = document.createElement('footer');\n modalCardFooterEl.classList.add('card-footer');\n modalCardEl.appendChild(modalCardFooterEl);\n options.mountFooter(modalCardFooterEl,\n (value: T | PromiseLike<T>): void => {\n document.body.removeChild(modalEl);\n resolve(value);\n },\n (reason?: any): void => {\n document.body.removeChild(modalEl);\n reject(reason);\n });\n }\n\n document.body.appendChild(modalEl);\n });\n}\n"],"mappings":";AAUA,SAAgBA,EAAc,GAAuC;CACjE,OAAO,IAAI,SAAY,GAAS,MAAW;EACvC,IAAMC,IAAU,SAAS,cAAc,KAAK;EAK5C,AAJAA,EAAQ,UAAU,IAAI,SAAS,WAAW,GACtCC,EAAQ,YAAY,KAAA,KACpBD,EAAQ,UAAU,IAAI,GAAGC,EAAQ,OAAO,GAExCA,EAAQ,WAAW,KAAA,KACnB,OAAQ,QAAQA,EAAQ,MAAM,CAAC,CAC1B,SAAS,CAACC,GAAKC,OAAW;GACvB,EAAQ,MAAM,YAAYD,GAAKC,CAAK;EACxC,CAAC;EAGT,IAAMC,IAAoB,SAAS,cAAc,KAAK;EAQtD,AAPAA,EAAkB,UAAU,IAAI,kBAAkB,IAC7CH,EAAQ,wBAAwB,KAAA,KAAc,CAACA,EAAQ,yBACxD,EAAkB,gBAAgB;GAE9B,AADA,SAAS,KAAK,YAAYD,CAAO,GACjCK,EAAO;EACX,IAEJL,EAAQ,YAAYI,CAAiB;EAErC,IAAME,IAAiB,SAAS,cAAc,KAAK;EAEnD,AADAA,EAAe,UAAU,IAAI,eAAe,GAC5CN,EAAQ,YAAYM,CAAc;EAElC,IAAMC,IAAc,SAAS,cAAc,KAAK;EAEhD,AADAA,EAAY,UAAU,IAAI,MAAM,GAChCD,EAAe,YAAYC,CAAW;EAEtC,IAAMC,IAAoB,SAAS,cAAc,QAAQ;EACzD,EAAkB,UAAU,IAAI,aAAa;EAC7C,IAAMC,IAAmB,SAAS,cAAc,GAAG;EAMnD,IALAA,EAAiB,UAAU,IAAI,mBAAmB,GAC9CR,EAAQ,UAAU,KAAA,MAClB,EAAiB,YAAYA,EAAQ,QAEzCO,EAAkB,YAAYC,CAAgB,GACzCR,EAAQ,oBAAoB,KAAA,KAAc,CAACA,EAAQ,iBAAiB;GACrE,IAAMS,IAAgB,SAAS,cAAc,QAAQ;GAOrD,AANAA,EAAc,UAAU,IAAI,kBAAkB,GAC9CA,EAAc,aAAa,cAAc,OAAO,GAChD,EAAc,gBAAgB;IAE1B,AADA,SAAS,KAAK,YAAYV,CAAO,GACjCK,EAAO;GACX,GACAG,EAAkB,YAAYE,CAAa;GAC3C,IAAMC,IAAc,SAAS,cAAc,MAAM;GAEjD,AADAA,EAAY,UAAU,IAAI,QAAQ,GAClCD,EAAc,YAAYC,CAAW;EACzC;EAGA,IAFAJ,EAAY,YAAYC,CAAiB,GAErCP,EAAQ,iBAAiB,KAAA,GAAW;GACpC,IAAMW,IAAqB,SAAS,cAAc,KAAK;GAGvD,AAFAA,EAAmB,UAAU,IAAI,cAAc,GAC/CL,EAAY,YAAYK,CAAkB,GAC1CX,EAAQ,aAAaW,IAChB,MAAoC;IAEjC,AADA,SAAS,KAAK,YAAYZ,CAAO,GACjCa,EAAQV,CAAK;GACjB,IACC,MAAuB;IAEpB,AADA,SAAS,KAAK,YAAYH,CAAO,GACjCK,EAAOS,CAAM;GACjB,CAAC;EACT;EAEA,IAAIb,EAAQ,gBAAgB,KAAA,GAAW;GACnC,IAAMc,IAAoB,SAAS,cAAc,QAAQ;GAGzD,AAFAA,EAAkB,UAAU,IAAI,aAAa,GAC7CR,EAAY,YAAYQ,CAAiB,GACzCd,EAAQ,YAAYc,IACf,MAAoC;IAEjC,AADA,SAAS,KAAK,YAAYf,CAAO,GACjCa,EAAQV,CAAK;GACjB,IACC,MAAuB;IAEpB,AADA,SAAS,KAAK,YAAYH,CAAO,GACjCK,EAAOS,CAAM;GACjB,CAAC;EACT;EAEA,SAAS,KAAK,YAAYd,CAAO;CACrC,CAAC;AACL"}
package/dist/dialog.d.ts CHANGED
@@ -2,7 +2,8 @@ export interface DialogOptions<T> {
2
2
  title?: string;
3
3
  hideCloseButton?: boolean;
4
4
  disableOutsideClick?: boolean;
5
- mount: (containerElement: HTMLElement, resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void;
5
+ mountContent?: (containerElement: HTMLElement, resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void;
6
+ mountFooter?: (containerElement: HTMLElement, resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void;
6
7
  classes?: string[];
7
8
  styles?: Record<string, string>;
8
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngyewch/bulma-dialog",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "description": "Bulma dialog.",
6
6
  "author": "Nick Ng",
@@ -48,6 +48,7 @@
48
48
  "build": "run-s check doBuild",
49
49
  "typedoc": "typedoc",
50
50
  "postbuild": "validate-package-exports --check",
51
- "knip": "knip"
51
+ "knip": "knip",
52
+ "site:deploy": "gh-pages -d build/gh-pages --nojekyll"
52
53
  }
53
54
  }