wj-elements 0.0.11 → 0.0.13
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/localize-20081fd1.js +55 -0
- package/dist/router-links-26e4a166.js +204 -0
- package/dist/style.css +2243 -2
- package/dist/wj-animation.js +35 -23
- package/dist/wj-aside.js +22 -16
- package/dist/wj-avatar.js +49 -30
- package/dist/wj-badge.js +22 -18
- package/dist/wj-breadcrumb.js +102 -50
- package/dist/wj-breadcrumbs.js +36 -19
- package/dist/wj-button-group.js +36 -22
- package/dist/wj-button.js +104 -39
- package/dist/wj-card-content.js +18 -14
- package/dist/wj-card-controls.js +18 -14
- package/dist/wj-card-header.js +20 -14
- package/dist/wj-card-subtitle.js +19 -15
- package/dist/wj-card-title.js +18 -14
- package/dist/wj-card.js +20 -14
- package/dist/wj-carousel-item.js +22 -16
- package/dist/wj-carousel.js +169 -92
- package/dist/wj-checkbox.js +46 -24
- package/dist/wj-chip.js +39 -21
- package/dist/wj-col.js +31 -17
- package/dist/wj-color-picker.js +877 -509
- package/dist/wj-container.js +20 -16
- package/dist/wj-copy-button.js +112 -64
- package/dist/wj-dialog.js +68 -42
- package/dist/wj-divider.js +20 -14
- package/dist/wj-dropdown.js +29 -17
- package/dist/wj-element.js +415 -241
- package/dist/wj-fetchAndParseCSS.js +49 -32
- package/dist/wj-file-upload-item.js +64 -38
- package/dist/wj-file-upload.js +237 -137
- package/dist/wj-footer.js +18 -14
- package/dist/wj-form.js +18 -14
- package/dist/wj-format-digital.js +40 -25
- package/dist/wj-grid.js +20 -16
- package/dist/wj-header.js +22 -16
- package/dist/wj-icon-picker.js +122 -68
- package/dist/wj-icon.js +144 -64
- package/dist/wj-img-comparer.js +72 -41
- package/dist/wj-img.js +31 -19
- package/dist/wj-infinite-scroll.js +90 -52
- package/dist/wj-input-file.js +50 -27
- package/dist/wj-input.js +169 -70
- package/dist/wj-item.js +34 -17
- package/dist/wj-label.js +21 -19
- package/dist/wj-list.js +20 -15
- package/dist/wj-main.js +18 -14
- package/dist/wj-masonry.js +140 -83
- package/dist/wj-master.js +492 -350
- package/dist/wj-menu-button.js +19 -15
- package/dist/wj-menu-item.js +150 -64
- package/dist/wj-menu-label.js +21 -17
- package/dist/wj-menu.js +24 -18
- package/dist/wj-popup.js +1140 -712
- package/dist/wj-progress-bar.js +100 -40
- package/dist/wj-radio-group.js +38 -25
- package/dist/wj-radio.js +46 -22
- package/dist/wj-rate.js +121 -71
- package/dist/wj-relative-time.js +48 -24
- package/dist/wj-route.js +11 -8
- package/dist/wj-router-link.js +22 -17
- package/dist/wj-router-outlet.js +135 -71
- package/dist/wj-routerx.js +1124 -641
- package/dist/wj-row.js +21 -19
- package/dist/wj-slider.js +97 -55
- package/dist/wj-split-view.js +81 -43
- package/dist/wj-store.js +195 -110
- package/dist/wj-textarea.js +86 -37
- package/dist/wj-thumbnail.js +19 -15
- package/dist/wj-toast.js +87 -34
- package/dist/wj-toggle.js +42 -24
- package/dist/wj-toolbar-action.js +27 -16
- package/dist/wj-toolbar.js +26 -19
- package/dist/wj-tooltip.js +40 -24
- package/dist/wj-visually-hidden.js +18 -14
- package/package.json +1 -1
- package/dist/localize-762a9f0f.js +0 -43
- package/dist/router-links-e0087f84.js +0 -146
package/dist/wj-container.js
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => {
|
|
4
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
return value;
|
|
6
|
+
};
|
|
7
|
+
import WJElement from "./wj-element.js";
|
|
5
8
|
import "./wj-store.js";
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
class l extends c {
|
|
9
|
+
const styles = "/*\n[ WJ Container ]\n*/\n:host {\n --wj-container-indent: 0;\n display: flex;\n flex-direction: row;\n flex: 1;\n flex-basis: auto;\n box-sizing: border-box;\n min-width: 0;\n}\n\n:host([vertical]) {\n flex-direction: column;\n}\n\n@media (min-width: 768px) {\n :host([indent]) {\n margin-left: var(--wj-container-indent);\n }\n}";
|
|
10
|
+
class Container extends WJElement {
|
|
9
11
|
constructor() {
|
|
10
12
|
super();
|
|
11
|
-
|
|
13
|
+
__publicField(this, "className", "Container");
|
|
12
14
|
}
|
|
13
15
|
static get cssStyleSheet() {
|
|
14
|
-
return
|
|
16
|
+
return styles;
|
|
15
17
|
}
|
|
16
18
|
static get observedAttributes() {
|
|
17
19
|
return [];
|
|
@@ -19,14 +21,16 @@ class l extends c {
|
|
|
19
21
|
setupAttributes() {
|
|
20
22
|
this.isShadowRoot = "open";
|
|
21
23
|
}
|
|
22
|
-
draw(
|
|
23
|
-
let
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
draw(context, store, params) {
|
|
25
|
+
let fragment = document.createDocumentFragment();
|
|
26
|
+
if (this.indent)
|
|
27
|
+
this.style.setProperty("--wj-container-indent", this.indent);
|
|
28
|
+
let element = document.createElement("slot");
|
|
29
|
+
fragment.appendChild(element);
|
|
30
|
+
return fragment;
|
|
27
31
|
}
|
|
28
32
|
}
|
|
29
|
-
customElements.get("wj-container") || window.customElements.define("wj-container",
|
|
33
|
+
customElements.get("wj-container") || window.customElements.define("wj-container", Container);
|
|
30
34
|
export {
|
|
31
|
-
|
|
35
|
+
Container
|
|
32
36
|
};
|
package/dist/wj-copy-button.js
CHANGED
|
@@ -1,69 +1,95 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => {
|
|
4
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
return value;
|
|
6
|
+
};
|
|
7
|
+
import WJElement, { event } from "./wj-element.js";
|
|
8
|
+
import { Input } from "./wj-input.js";
|
|
6
9
|
import "./wj-store.js";
|
|
7
|
-
function
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
+
function createNode(text) {
|
|
11
|
+
const node = document.createElement("pre");
|
|
12
|
+
node.style.width = "1px";
|
|
13
|
+
node.style.height = "1px";
|
|
14
|
+
node.style.position = "fixed";
|
|
15
|
+
node.style.top = "5px";
|
|
16
|
+
node.textContent = text;
|
|
17
|
+
return node;
|
|
10
18
|
}
|
|
11
|
-
function
|
|
12
|
-
if ("clipboard" in navigator)
|
|
13
|
-
return navigator.clipboard.writeText(
|
|
14
|
-
|
|
15
|
-
|
|
19
|
+
function copyNode(node) {
|
|
20
|
+
if ("clipboard" in navigator) {
|
|
21
|
+
return navigator.clipboard.writeText(node.textContent || "");
|
|
22
|
+
}
|
|
23
|
+
const selection = getSelection();
|
|
24
|
+
if (selection == null) {
|
|
16
25
|
return Promise.reject(new Error());
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
26
|
+
}
|
|
27
|
+
selection.removeAllRanges();
|
|
28
|
+
const range = document.createRange();
|
|
29
|
+
range.selectNodeContents(node);
|
|
30
|
+
selection.addRange(range);
|
|
31
|
+
selection.removeAllRanges();
|
|
32
|
+
return Promise.resolve();
|
|
20
33
|
}
|
|
21
|
-
function
|
|
22
|
-
if ("clipboard" in navigator)
|
|
23
|
-
return navigator.clipboard.writeText(
|
|
24
|
-
|
|
25
|
-
|
|
34
|
+
function copyText(text) {
|
|
35
|
+
if ("clipboard" in navigator) {
|
|
36
|
+
return navigator.clipboard.writeText(text);
|
|
37
|
+
}
|
|
38
|
+
const body = document.body;
|
|
39
|
+
if (!body) {
|
|
26
40
|
return Promise.reject(new Error());
|
|
27
|
-
|
|
28
|
-
|
|
41
|
+
}
|
|
42
|
+
const node = createNode(text);
|
|
43
|
+
body.appendChild(node);
|
|
44
|
+
copyNode(node);
|
|
45
|
+
body.removeChild(node);
|
|
46
|
+
return Promise.resolve();
|
|
29
47
|
}
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
class y extends h {
|
|
48
|
+
const styles = "/*\n[ Wj Copy Button ]\n*/\n:host {\n cursor: pointer;\n padding: 0.5rem;\n}";
|
|
49
|
+
class CopyButton extends WJElement {
|
|
33
50
|
constructor() {
|
|
34
51
|
super();
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const
|
|
38
|
-
|
|
52
|
+
__publicField(this, "className", "CopyButton");
|
|
53
|
+
__publicField(this, "clicked", (e) => {
|
|
54
|
+
const button = e.currentTarget;
|
|
55
|
+
if (button instanceof HTMLElement) {
|
|
56
|
+
this.copy(button);
|
|
57
|
+
}
|
|
39
58
|
});
|
|
40
|
-
|
|
41
|
-
if (
|
|
42
|
-
const
|
|
43
|
-
|
|
59
|
+
__publicField(this, "keydown", (e) => {
|
|
60
|
+
if (e.key === " " || e.key === "Enter") {
|
|
61
|
+
const button = e.currentTarget;
|
|
62
|
+
if (button instanceof HTMLElement) {
|
|
63
|
+
this.copy(button);
|
|
64
|
+
}
|
|
44
65
|
}
|
|
45
66
|
});
|
|
46
|
-
|
|
47
|
-
|
|
67
|
+
__publicField(this, "focused", (e) => {
|
|
68
|
+
e.currentTarget.addEventListener("keydown", this.keydown);
|
|
48
69
|
});
|
|
49
|
-
|
|
50
|
-
|
|
70
|
+
__publicField(this, "blurred", (e) => {
|
|
71
|
+
e.currentTarget.removeEventListener("keydown", this.keydown);
|
|
51
72
|
});
|
|
52
|
-
|
|
53
|
-
this.icon.setAttribute("color", "success")
|
|
54
|
-
|
|
73
|
+
__publicField(this, "copied", (e) => {
|
|
74
|
+
this.icon.setAttribute("color", "success");
|
|
75
|
+
this.icon.setAttribute("name", "check");
|
|
76
|
+
this.tooltip.setAttribute("content", this.labelSuccess || "Copied");
|
|
77
|
+
setTimeout(() => {
|
|
78
|
+
this.icon.removeAttribute("color");
|
|
79
|
+
this.icon.setAttribute("name", "clipboard");
|
|
80
|
+
this.tooltip.setAttribute("content", this.label || "Copy");
|
|
55
81
|
}, this.timeout);
|
|
56
82
|
});
|
|
57
83
|
this.timeout = 1e3;
|
|
58
84
|
}
|
|
59
|
-
set value(
|
|
60
|
-
this.setAttribute("value",
|
|
85
|
+
set value(value) {
|
|
86
|
+
this.setAttribute("value", value);
|
|
61
87
|
}
|
|
62
88
|
get value() {
|
|
63
89
|
return this.getAttribute("value") || "";
|
|
64
90
|
}
|
|
65
91
|
static get cssStyleSheet() {
|
|
66
|
-
return
|
|
92
|
+
return styles;
|
|
67
93
|
}
|
|
68
94
|
static get observedAttributes() {
|
|
69
95
|
return [];
|
|
@@ -72,33 +98,55 @@ class y extends h {
|
|
|
72
98
|
this.isShadowRoot = "open";
|
|
73
99
|
}
|
|
74
100
|
draw() {
|
|
75
|
-
let
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
101
|
+
let fragment = document.createDocumentFragment();
|
|
102
|
+
let tooltip = document.createElement("wj-tooltip");
|
|
103
|
+
tooltip.setAttribute("offset", "5");
|
|
104
|
+
tooltip.setAttribute("content", this.label || "Copy");
|
|
105
|
+
let icon = document.createElement("wj-icon");
|
|
106
|
+
icon.setAttribute("name", "clipboard");
|
|
107
|
+
tooltip.appendChild(icon);
|
|
108
|
+
fragment.appendChild(tooltip);
|
|
109
|
+
this.tooltip = tooltip;
|
|
110
|
+
this.icon = icon;
|
|
111
|
+
return fragment;
|
|
79
112
|
}
|
|
80
113
|
afterDraw() {
|
|
81
|
-
|
|
114
|
+
event.addListener(this, "click", null, this.clicked);
|
|
115
|
+
event.addListener(this, "focus", null, this.focused);
|
|
116
|
+
event.addListener(this, "blur", null, this.blurred);
|
|
117
|
+
event.addListener(this, "wj:copy-button", null, this.copied);
|
|
82
118
|
}
|
|
83
|
-
async copy(
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
119
|
+
async copy(button) {
|
|
120
|
+
const id = this.getAttribute("for");
|
|
121
|
+
const text = this.getAttribute("value");
|
|
122
|
+
if (button.getAttribute("aria-disabled") === "true") {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
if (text) {
|
|
126
|
+
await copyText(text);
|
|
127
|
+
event.dispatchCustomEvent(this, "wj:copy-button");
|
|
128
|
+
} else if (id) {
|
|
129
|
+
const root = "getRootNode" in Element.prototype ? button.getRootNode() : button.ownerDocument;
|
|
130
|
+
if (!(root instanceof Document || "ShadowRoot" in window && root instanceof ShadowRoot))
|
|
131
|
+
return;
|
|
132
|
+
const node = root.getElementById(id);
|
|
133
|
+
if (node) {
|
|
134
|
+
await this.copyTarget(node);
|
|
135
|
+
event.dispatchCustomEvent(this, "wj:copy-button");
|
|
94
136
|
}
|
|
95
137
|
}
|
|
96
138
|
}
|
|
97
|
-
copyTarget(
|
|
98
|
-
|
|
139
|
+
copyTarget(content) {
|
|
140
|
+
if (content instanceof HTMLInputElement || content instanceof HTMLTextAreaElement || content instanceof Input) {
|
|
141
|
+
return copyText(content.value);
|
|
142
|
+
} else if (content instanceof HTMLAnchorElement && content.hasAttribute("href")) {
|
|
143
|
+
return copyText(content.href);
|
|
144
|
+
} else {
|
|
145
|
+
return copyNode(content);
|
|
146
|
+
}
|
|
99
147
|
}
|
|
100
148
|
}
|
|
101
|
-
customElements.get("wj-copy-button") || window.customElements.define("wj-copy-button",
|
|
149
|
+
customElements.get("wj-copy-button") || window.customElements.define("wj-copy-button", CopyButton);
|
|
102
150
|
export {
|
|
103
|
-
|
|
151
|
+
CopyButton
|
|
104
152
|
};
|
package/dist/wj-dialog.js
CHANGED
|
@@ -1,63 +1,89 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => {
|
|
4
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
return value;
|
|
6
|
+
};
|
|
7
|
+
import WJElement, { WjElementUtils } from "./wj-element.js";
|
|
5
8
|
import "./wj-store.js";
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
class x extends u {
|
|
9
|
+
const styles = '/*\n[ WJ Dialog ]\n*/\n:host {\n --wj-dialog-width: 600px;\n --wj-dialog-height: 600px;\n --wj-dialog-border-radius: var(--wj-border-radius-large);\n --wj-dialog-border-width: var(--wj-border-width);\n --wj-dialog-border-style: var(--wj-border-style);\n --wj-dialog-border-color: var(--wj-border-color);\n --wj-dialog-margin-top: auto;\n --wj-dialog-margin-start: auto;\n --wj-dialog-margin-end: auto;\n --wj-dialog-margin-bottom: auto;\n}\n:host .close {\n margin-left: auto;\n}\n:host .modal-content {\n border-radius: 3px;\n box-shadow: none;\n}\n:host .dialog-header {\n position: relative;\n border-bottom: 0;\n padding-inline: var(--wj-dialog-padding, 1rem);\n padding-top: var(--wj-dialog-padding, 1rem);\n padding-bottom: var(--wj-dialog-padding, 0);\n display: flex;\n align-items: center;\n}\n:host .dialog-header span {\n font-family: var(--wj-font-family-secondary);\n font-size: 10.5px;\n text-transform: uppercase;\n display: inline-block;\n letter-spacing: 0.06em;\n font-weight: 500;\n margin: 0;\n padding: 0;\n line-height: normal;\n overflow: hidden;\n text-overflow: ellipsis;\n filter: alpha(opacity=40);\n}\n:host .dialog-content {\n box-shadow: none;\n padding-inline: var(--wj-dialog-padding, 1rem);\n white-space: normal;\n z-index: 1;\n}\n:host .dialog-footer {\n display: flex;\n justify-content: end;\n border-top: none;\n box-shadow: none;\n margin-top: 0;\n padding-inline: var(--wj-dialog-padding-inline, 1rem);\n padding-top: var(--wj-dialog-padding-top, 1rem);\n padding-bottom: var(--wj-dialog-padding-bottom, 1rem);\n}\n\ndialog::backdrop {\n opacity: var(--wj-backdrop-opacity);\n background-color: var(--wj-backdrop);\n}\n\n:host(.separator) .dialog-header:after {\n content: "";\n height: 1px;\n background: rgba(0, 0, 0, 0.08);\n left: var(--wj-dialog-padding, 1rem);\n right: var(--wj-dialog-padding, 1rem);\n position: absolute;\n bottom: 0;\n}\n\n:host dialog {\n box-sizing: border-box;\n transition: all 0.2s !important;\n width: var(--wj-dialog-width);\n height: var(--wj-dialog-height);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n border-radius: var(--wj-dialog-border-radius);\n border-width: var(--wj-dialog-border-width);\n border-style: var(--wj-dialog-border-style);\n border-color: var(--wj-dialog-border-color);\n margin-top: var(--wj-dialog-margin-top);\n margin-bottom: var(--wj-dialog-margin-bottom);\n margin-inline: var(--wj-dialog-margin-start) var(--wj-dialog-margin-end);\n padding: 0;\n}\n\n:host(.stick-up) {\n --wj-dialog-width: 300px !important;\n --wj-dialog-height: fit-content;\n --wj-dialog-border-radius: 0 0 8px 8px;\n --wj-dialog-border-width: 0 1px 1px 1px;\n --wj-dialog-margin-top: 0;\n --wj-dialog-translate-from: translateY(-110%);\n --wj-dialog-template-to: translateX(0);\n}\n\n:host(.slide-up) {\n --wj-dialog-width: 300px !important;\n --wj-dialog-height: fit-content;\n --wj-dialog-border-radius: 8px;\n --wj-dialog-border-width: 1px;\n --wj-dialog-opacity-from: 0;\n --wj-dialog-translate-from: scale(.9);\n --wj-dialog-translate-to: scale(1);\n}\n\n:host(.fill-in) {\n --wj-dialog-width: 100%;\n --wj-dialog-height: 100%;\n --wj-dialog-border-radius: 0 0 0 0 !important;\n --wj-dialog-border-width: 0;\n --wj-dialog-margin-top: 0;\n --wj-dialog-margin-start: 0;\n --wj-dialog-margin-end: 0;\n --wj-dialog-margin-bottom: 0;\n --wj-dialog-translate-from: scale(.95);\n --wj-dialog-translate-to: scale(1);\n}\n:host(.fill-in) dialog {\n min-width: var(--wj-dialog-width);\n min-height: var(--wj-dialog-height);\n}\n\n:host(.slide-left) {\n --wj-dialog-width: 300px !important;\n --wj-dialog-height: 100% !important;\n --wj-dialog-border-radius: 0;\n --wj-dialog-border-width: 0 1px 0 0;\n --wj-dialog-margin-top: 0;\n --wj-dialog-margin-start: 0;\n --wj-dialog-margin-end: auto;\n --wj-dialog-margin-bottom: 0;\n}\n:host(.slide-left) dialog {\n min-height: var(--wj-dialog-height);\n --wj-dialog-translate-from: translateX(-110%);\n --wj-dialog-template-to: translateX(0);\n}\n\n:host(.slide-right) {\n --wj-dialog-width: 300px !important;\n --wj-dialog-height: 100% !important;\n --wj-dialog-border-radius: 0;\n --wj-dialog-border-width: 0 0 0 1px;\n --wj-dialog-margin-top: 0;\n --wj-dialog-margin-start: auto;\n --wj-dialog-margin-end: 0;\n --wj-dialog-margin-bottom: 0;\n}\n:host(.slide-right) dialog {\n min-height: var(--wj-dialog-height);\n --wj-dialog-translate-from: translateX(110%);\n --wj-dialog-template-to: translateX(0);\n}\n\n:host(.small) {\n --wj-dialog-width: 300px !important;\n}\n\n:host(.medium) {\n --wj-dialog-width: 500px !important;\n}\n\n:host(.large) {\n --wj-dialog-width: 600px !important;\n}\n\n:host(.ex-large) {\n --wj-dialog-width: 900px !important;\n}\n\ndialog[open] {\n animation: show 0.5s ease normal;\n}\n\n@keyframes show {\n from {\n opacity: var(--wj-dialog-opacity-from, 1);\n transform: var(--wj-dialog-translate-from);\n }\n to {\n opacity: 1;\n transform: var(--wj-dialog-translate-to);\n }\n}';
|
|
10
|
+
class Dialog extends WJElement {
|
|
9
11
|
constructor() {
|
|
10
12
|
super();
|
|
11
|
-
|
|
13
|
+
__publicField(this, "className", "Dialog");
|
|
12
14
|
}
|
|
13
|
-
set placement(
|
|
14
|
-
this.setAttribute("placement",
|
|
15
|
+
set placement(value) {
|
|
16
|
+
this.setAttribute("placement", value);
|
|
15
17
|
}
|
|
16
18
|
get placement() {
|
|
17
19
|
return this.getAttribute("placement") || "slide-up";
|
|
18
20
|
}
|
|
19
21
|
static get cssStyleSheet() {
|
|
20
|
-
return
|
|
22
|
+
return styles;
|
|
21
23
|
}
|
|
22
24
|
static get observedAttributes() {
|
|
23
25
|
return [];
|
|
24
26
|
}
|
|
25
27
|
setupAttributes() {
|
|
26
|
-
this.isShadowRoot = "open"
|
|
27
|
-
|
|
28
|
+
this.isShadowRoot = "open";
|
|
29
|
+
WjElementUtils.setAttributesToElement(this, {
|
|
30
|
+
"test": "test"
|
|
28
31
|
});
|
|
29
32
|
}
|
|
30
|
-
beforeDraw(
|
|
31
|
-
}
|
|
32
|
-
draw(
|
|
33
|
-
let
|
|
34
|
-
this.classList.add("modal", "fade", this.placement,
|
|
35
|
-
let
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
let n = document.createElement("div");
|
|
48
|
-
n.setAttribute("part", "body"), n.classList.add("dialog-content"), n.appendChild(j);
|
|
49
|
-
let l = document.createElement("div");
|
|
50
|
-
l.setAttribute("part", "footer"), l.classList.add("dialog-footer"), l.innerHTML = "";
|
|
51
|
-
let p = document.createElement("slot");
|
|
52
|
-
return p.setAttribute("name", "footer"), l.appendChild(p), o.appendChild(d), o.appendChild(n), o.appendChild(l), m.appendChild(o), this.dialog = o, m;
|
|
53
|
-
}
|
|
54
|
-
afterDraw(t, s, r) {
|
|
55
|
-
r.trigger && document.addEventListener(r.trigger, () => {
|
|
56
|
-
this.dialog.showModal();
|
|
33
|
+
beforeDraw(context, store, params) {
|
|
34
|
+
}
|
|
35
|
+
draw(context, store, params) {
|
|
36
|
+
let fragment = document.createDocumentFragment();
|
|
37
|
+
this.classList.add("modal", "fade", this.placement, params.size);
|
|
38
|
+
let slot = document.createElement("slot");
|
|
39
|
+
let dialog = document.createElement("dialog");
|
|
40
|
+
dialog.classList.add("modal-dialog");
|
|
41
|
+
let icon = document.createElement("wj-icon");
|
|
42
|
+
icon.setAttribute("name", "x");
|
|
43
|
+
icon.setAttribute("slot", "icon-only");
|
|
44
|
+
let close = document.createElement("wj-button");
|
|
45
|
+
close.setAttribute("fill", "link");
|
|
46
|
+
close.setAttribute("size", "small");
|
|
47
|
+
close.classList.add("close");
|
|
48
|
+
close.addEventListener("click", () => {
|
|
49
|
+
dialog.close();
|
|
57
50
|
});
|
|
51
|
+
close.appendChild(icon);
|
|
52
|
+
let header = document.createElement("div");
|
|
53
|
+
header.setAttribute("part", "header");
|
|
54
|
+
header.classList.add("dialog-header");
|
|
55
|
+
header.innerHTML = `<span>${this.title}</span>`;
|
|
56
|
+
header.appendChild(close);
|
|
57
|
+
let slotHeader = document.createElement("slot");
|
|
58
|
+
slotHeader.setAttribute("name", "header");
|
|
59
|
+
header.appendChild(slotHeader);
|
|
60
|
+
let body = document.createElement("div");
|
|
61
|
+
body.setAttribute("part", "body");
|
|
62
|
+
body.classList.add("dialog-content");
|
|
63
|
+
body.appendChild(slot);
|
|
64
|
+
let footer = document.createElement("div");
|
|
65
|
+
footer.setAttribute("part", "footer");
|
|
66
|
+
footer.classList.add("dialog-footer");
|
|
67
|
+
footer.innerHTML = "";
|
|
68
|
+
let slotFooter = document.createElement("slot");
|
|
69
|
+
slotFooter.setAttribute("name", "footer");
|
|
70
|
+
footer.appendChild(slotFooter);
|
|
71
|
+
dialog.appendChild(header);
|
|
72
|
+
dialog.appendChild(body);
|
|
73
|
+
dialog.appendChild(footer);
|
|
74
|
+
fragment.appendChild(dialog);
|
|
75
|
+
this.dialog = dialog;
|
|
76
|
+
return fragment;
|
|
77
|
+
}
|
|
78
|
+
afterDraw(context, store, params) {
|
|
79
|
+
if (params.trigger) {
|
|
80
|
+
document.addEventListener(params.trigger, () => {
|
|
81
|
+
this.dialog.showModal();
|
|
82
|
+
});
|
|
83
|
+
}
|
|
58
84
|
}
|
|
59
85
|
}
|
|
60
|
-
customElements.get("wj-dialog") || window.customElements.define("wj-dialog",
|
|
86
|
+
customElements.get("wj-dialog") || window.customElements.define("wj-dialog", Dialog);
|
|
61
87
|
export {
|
|
62
|
-
|
|
88
|
+
Dialog
|
|
63
89
|
};
|
package/dist/wj-divider.js
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => {
|
|
4
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
return value;
|
|
6
|
+
};
|
|
7
|
+
import WJElement from "./wj-element.js";
|
|
5
8
|
import "./wj-store.js";
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
class v extends l {
|
|
9
|
+
const styles = "/*\n[ WJ Divider ]\n*/\n:host {\n --wj-border-size: 1px;\n --wj-divider-border-color: var(--wj-border-color);\n --wj-divider-border-width: var(--wj-border-size, 1px);\n --wj-divider-spacing: 0;\n}\n\n:host(:not([vertical])) {\n display: block;\n border-top: solid var(--wj-divider-border-width) var(--wj-divider-border-color);\n margin: var(--wj-divider-spacing) 0;\n}\n\n:host([vertical]) {\n display: inline-block;\n height: 100%;\n border-left: solid var(--wj-divider-border-width) var(--wj-divider-border-color);\n margin: 0 var(--wj-divider-spacing);\n}";
|
|
10
|
+
class Divider extends WJElement {
|
|
9
11
|
constructor() {
|
|
10
12
|
super();
|
|
11
|
-
|
|
13
|
+
__publicField(this, "className", "Divider");
|
|
12
14
|
}
|
|
13
15
|
static get cssStyleSheet() {
|
|
14
|
-
return
|
|
16
|
+
return styles;
|
|
15
17
|
}
|
|
16
18
|
static get observedAttributes() {
|
|
17
19
|
return [];
|
|
@@ -19,12 +21,16 @@ class v extends l {
|
|
|
19
21
|
setupAttributes() {
|
|
20
22
|
this.isShadowRoot = "open";
|
|
21
23
|
}
|
|
22
|
-
draw(
|
|
23
|
-
let
|
|
24
|
-
|
|
24
|
+
draw(context, store, params) {
|
|
25
|
+
let fragment = document.createDocumentFragment();
|
|
26
|
+
let native = document.createElement("div");
|
|
27
|
+
let slot = document.createElement("slot");
|
|
28
|
+
native.appendChild(slot);
|
|
29
|
+
fragment.appendChild(native);
|
|
30
|
+
return fragment;
|
|
25
31
|
}
|
|
26
32
|
}
|
|
27
|
-
customElements.get("wj-divider") || window.customElements.define("wj-divider",
|
|
33
|
+
customElements.get("wj-divider") || window.customElements.define("wj-divider", Divider);
|
|
28
34
|
export {
|
|
29
|
-
|
|
35
|
+
Divider
|
|
30
36
|
};
|
package/dist/wj-dropdown.js
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => {
|
|
4
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
return value;
|
|
6
|
+
};
|
|
7
|
+
import WJElement from "./wj-element.js";
|
|
5
8
|
import "./wj-store.js";
|
|
6
|
-
class
|
|
9
|
+
class Dropdown extends WJElement {
|
|
7
10
|
constructor() {
|
|
8
11
|
super();
|
|
9
|
-
|
|
12
|
+
__publicField(this, "className", "Dropdown");
|
|
10
13
|
}
|
|
11
|
-
set trigger(
|
|
12
|
-
this.setAttribute("trigger",
|
|
14
|
+
set trigger(value) {
|
|
15
|
+
this.setAttribute("trigger", value);
|
|
13
16
|
}
|
|
14
17
|
get trigger() {
|
|
15
18
|
return this.getAttribute("trigger") || "click";
|
|
@@ -23,17 +26,26 @@ class p extends l {
|
|
|
23
26
|
setupAttributes() {
|
|
24
27
|
this.isShadowRoot = "open";
|
|
25
28
|
}
|
|
26
|
-
draw(
|
|
27
|
-
let
|
|
29
|
+
draw(context, store, params) {
|
|
30
|
+
let fragment = document.createDocumentFragment();
|
|
28
31
|
this.classList.add("wj-placement", "wj-" + this.placement || "wj-start");
|
|
29
|
-
let
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
let native = document.createElement("div");
|
|
33
|
+
native.setAttribute("part", "native");
|
|
34
|
+
native.classList.add("native-dropdown");
|
|
35
|
+
let popup = document.createElement("wj-popup");
|
|
36
|
+
popup.setAttribute("placement", this.placement);
|
|
37
|
+
popup.setAttribute("offset", this.offset);
|
|
38
|
+
popup.setAttribute("manual", "");
|
|
39
|
+
popup.innerHTML = `<slot name="trigger" slot="anchor"></slot>
|
|
40
|
+
<slot></slot>`;
|
|
41
|
+
if (this.trigger === "click")
|
|
42
|
+
popup.setAttribute("manual", "");
|
|
43
|
+
native.appendChild(popup);
|
|
44
|
+
fragment.appendChild(native);
|
|
45
|
+
return fragment;
|
|
34
46
|
}
|
|
35
47
|
}
|
|
36
|
-
customElements.get("wj-dropdown") || window.customElements.define("wj-dropdown",
|
|
48
|
+
customElements.get("wj-dropdown") || window.customElements.define("wj-dropdown", Dropdown);
|
|
37
49
|
export {
|
|
38
|
-
|
|
50
|
+
Dropdown
|
|
39
51
|
};
|