@ngyewch/bulma-dialog 0.3.0 → 0.5.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.
- package/dist/bulma-dialog.js +22 -26
- package/dist/bulma-dialog.js.map +1 -1
- package/dist/dialog.d.ts +2 -2
- package/package.json +2 -2
package/dist/bulma-dialog.js
CHANGED
|
@@ -5,39 +5,35 @@ function e(e) {
|
|
|
5
5
|
r.classList.add("modal", "is-active"), e.classes !== void 0 && r.classList.add(...e.classes), e.styles !== void 0 && Object.entries(e.styles).forEach(([e, t]) => {
|
|
6
6
|
r.style.setProperty(e, t);
|
|
7
7
|
});
|
|
8
|
-
let i =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
let i = () => {
|
|
9
|
+
document.body.removeChild(r), e.onClose && e.onClose();
|
|
10
|
+
}, a = document.createElement("div");
|
|
11
|
+
a.classList.add("modal-background"), (e.disableOutsideClick === void 0 || !e.disableOutsideClick) && (a.onclick = () => {
|
|
12
|
+
i(), n();
|
|
13
|
+
}), r.appendChild(a);
|
|
14
14
|
let o = document.createElement("div");
|
|
15
|
-
o.classList.add("
|
|
16
|
-
let s = document.createElement("
|
|
17
|
-
s.classList.add("card
|
|
18
|
-
let c = document.createElement("
|
|
19
|
-
|
|
15
|
+
o.classList.add("modal-content"), r.appendChild(o);
|
|
16
|
+
let s = document.createElement("div");
|
|
17
|
+
s.classList.add("card"), o.appendChild(s);
|
|
18
|
+
let c = document.createElement("header");
|
|
19
|
+
c.classList.add("card-header");
|
|
20
|
+
let l = document.createElement("p");
|
|
21
|
+
if (l.classList.add("card-header-title"), e.title !== void 0 && (l.innerText = e.title), c.appendChild(l), e.hideCloseButton === void 0 || !e.hideCloseButton) {
|
|
20
22
|
let e = document.createElement("button");
|
|
21
23
|
e.classList.add("card-header-icon"), e.setAttribute("aria-label", "close"), e.onclick = () => {
|
|
22
|
-
|
|
23
|
-
},
|
|
24
|
+
i(), n();
|
|
25
|
+
}, c.appendChild(e);
|
|
24
26
|
let t = document.createElement("span");
|
|
25
27
|
t.classList.add("delete"), e.appendChild(t);
|
|
26
28
|
}
|
|
27
|
-
if (
|
|
28
|
-
let
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
if (s.appendChild(c), e.mount !== void 0) {
|
|
30
|
+
let r = document.createElement("div");
|
|
31
|
+
r.classList.add("card-content"), s.appendChild(r);
|
|
32
|
+
let a = document.createElement("footer");
|
|
33
|
+
a.classList.add("card-footer"), s.appendChild(a), e.mount(r, a, (e) => {
|
|
34
|
+
i(), t(e);
|
|
31
35
|
}, (e) => {
|
|
32
|
-
|
|
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);
|
|
36
|
+
i(), n(e);
|
|
41
37
|
});
|
|
42
38
|
}
|
|
43
39
|
document.body.appendChild(r);
|
package/dist/bulma-dialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulma-dialog.js","names":["showDialog","modalEl","options","key","value","modalBackgroundEl","reject","modalContentEl","modalCardEl","modalCardHeaderEl","modalCardTitleEl","closeButtonEl","closeSpanEl","modalCardContentEl","
|
|
1
|
+
{"version":3,"file":"bulma-dialog.js","names":["showDialog","modalEl","options","key","value","doClose","modalBackgroundEl","reject","modalContentEl","modalCardEl","modalCardHeaderEl","modalCardTitleEl","closeButtonEl","closeSpanEl","modalCardContentEl","modalCardFooterEl","resolve","reason","createDialogFooterItem","footerItem","label","onclick"],"sources":["../src/dialog.ts"],"sourcesContent":["export interface DialogOptions<T> {\n title?: string;\n hideCloseButton?: boolean;\n disableOutsideClick?: boolean;\n mount?: (contentElement: HTMLElement, footerElement: HTMLElement, resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void;\n onClose?: () => 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 doClose = (): void => {\n document.body.removeChild(modalEl);\n if (options.onClose) {\n options.onClose();\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 doClose();\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 doClose();\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.mount !== undefined) {\n const modalCardContentEl = document.createElement('div');\n modalCardContentEl.classList.add('card-content');\n modalCardEl.appendChild(modalCardContentEl);\n\n const modalCardFooterEl = document.createElement('footer');\n modalCardFooterEl.classList.add('card-footer');\n modalCardEl.appendChild(modalCardFooterEl);\n\n options.mount(modalCardContentEl, modalCardFooterEl,\n (value: T | PromiseLike<T>): void => {\n doClose();\n resolve(value);\n },\n (reason?: any): void => {\n doClose();\n reject(reason);\n });\n }\n\n document.body.appendChild(modalEl);\n });\n}\n\nexport function createDialogFooterItem(label: string, onclick?: (e: PointerEvent) => void): HTMLElement {\n const footerItem = document.createElement('a');\n footerItem.classList.add('card-footer-item');\n footerItem.innerText = label;\n if (onclick !== undefined) {\n footerItem.addEventListener('click', e => {\n e.preventDefault();\n e.stopPropagation();\n onclick(e);\n });\n }\n return footerItem;\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,UAAsB;GAExB,AADA,SAAS,KAAK,YAAYJ,CAAO,GAC7BC,EAAQ,WACRA,EAAQ,QAAQ;EAExB,GAEMI,IAAoB,SAAS,cAAc,KAAK;EAQtD,AAPAA,EAAkB,UAAU,IAAI,kBAAkB,IAC7CJ,EAAQ,wBAAwB,KAAA,KAAc,CAACA,EAAQ,yBACxD,EAAkB,gBAAgB;GAE9B,AADAG,EAAQ,GACRE,EAAO;EACX,IAEJN,EAAQ,YAAYK,CAAiB;EAErC,IAAME,IAAiB,SAAS,cAAc,KAAK;EAEnD,AADAA,EAAe,UAAU,IAAI,eAAe,GAC5CP,EAAQ,YAAYO,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,GAC9CT,EAAQ,UAAU,KAAA,MAClB,EAAiB,YAAYA,EAAQ,QAEzCQ,EAAkB,YAAYC,CAAgB,GACzCT,EAAQ,oBAAoB,KAAA,KAAc,CAACA,EAAQ,iBAAiB;GACrE,IAAMU,IAAgB,SAAS,cAAc,QAAQ;GAOrD,AANAA,EAAc,UAAU,IAAI,kBAAkB,GAC9CA,EAAc,aAAa,cAAc,OAAO,GAChD,EAAc,gBAAgB;IAE1B,AADAP,EAAQ,GACRE,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,GAErCR,EAAQ,UAAU,KAAA,GAAW;GAC7B,IAAMY,IAAqB,SAAS,cAAc,KAAK;GAEvD,AADAA,EAAmB,UAAU,IAAI,cAAc,GAC/CL,EAAY,YAAYK,CAAkB;GAE1C,IAAMC,IAAoB,SAAS,cAAc,QAAQ;GAIzD,AAHAA,EAAkB,UAAU,IAAI,aAAa,GAC7CN,EAAY,YAAYM,CAAiB,GAEzCb,EAAQ,MAAMY,GAAoBC,IAC7B,MAAoC;IAEjC,AADAV,EAAQ,GACRW,EAAQZ,CAAK;GACjB,IACC,MAAuB;IAEpB,AADAC,EAAQ,GACRE,EAAOU,CAAM;GACjB,CAAC;EACT;EAEA,SAAS,KAAK,YAAYhB,CAAO;CACrC,CAAC;AACL;AAEA,SAAgBiB,EAAuB,GAAe,GAAkD;CACpG,IAAMC,IAAa,SAAS,cAAc,GAAG;CAU7C,OATAA,EAAW,UAAU,IAAI,kBAAkB,GAC3C,EAAW,YAAYC,GACnBC,MAAY,KAAA,KACZF,EAAW,iBAAiB,UAAS,MAAK;EAGtC,AAFA,EAAE,eAAe,GACjB,EAAE,gBAAgB,GAClBE,EAAQ,CAAC;CACb,CAAC,GAEEF;AACX"}
|
package/dist/dialog.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ export interface DialogOptions<T> {
|
|
|
2
2
|
title?: string;
|
|
3
3
|
hideCloseButton?: boolean;
|
|
4
4
|
disableOutsideClick?: boolean;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
mount?: (contentElement: HTMLElement, footerElement: HTMLElement, resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void;
|
|
6
|
+
onClose?: () => void;
|
|
7
7
|
classes?: string[];
|
|
8
8
|
styles?: Record<string, string>;
|
|
9
9
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngyewch/bulma-dialog",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Bulma dialog.",
|
|
6
6
|
"author": "Nick Ng",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
},
|
|
22
22
|
"module": "./dist/bulma-dialog.js",
|
|
23
23
|
"types": "./dist/index.d.ts",
|
|
24
|
-
"
|
|
24
|
+
"devDependencies": {
|
|
25
25
|
"@microsoft/api-extractor": "7.59.3",
|
|
26
26
|
"gh-pages": "6.3.0",
|
|
27
27
|
"knip": "6.39.0",
|