wj-elements 0.0.10 → 0.0.12
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 +25 -17
- package/dist/wj-router-outlet.js +135 -71
- package/dist/wj-routerx.js +1121 -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-animation.js
CHANGED
|
@@ -1,24 +1,27 @@
|
|
|
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 from "./wj-element.js";
|
|
8
|
+
import { fetchAndParseCSS } from "./wj-fetchAndParseCSS.js";
|
|
6
9
|
import "./wj-store.js";
|
|
7
|
-
const
|
|
8
|
-
class
|
|
10
|
+
const styles = "/*\n[ WJ Animation ]\n*/";
|
|
11
|
+
class Animation extends WJElement {
|
|
9
12
|
constructor() {
|
|
10
13
|
super();
|
|
11
|
-
|
|
14
|
+
__publicField(this, "className", "Animation");
|
|
12
15
|
this._animations = [];
|
|
13
16
|
}
|
|
14
|
-
set animations(
|
|
15
|
-
this._animations =
|
|
17
|
+
set animations(value) {
|
|
18
|
+
this._animations = value;
|
|
16
19
|
}
|
|
17
20
|
get animations() {
|
|
18
21
|
return this._animations;
|
|
19
22
|
}
|
|
20
23
|
static get cssStyleSheet() {
|
|
21
|
-
return
|
|
24
|
+
return styles;
|
|
22
25
|
}
|
|
23
26
|
static get observedAttributes() {
|
|
24
27
|
return ["name"];
|
|
@@ -26,14 +29,19 @@ class u extends c {
|
|
|
26
29
|
setupAttributes() {
|
|
27
30
|
this.isShadowRoot = "open";
|
|
28
31
|
}
|
|
29
|
-
draw(
|
|
30
|
-
let
|
|
31
|
-
|
|
32
|
+
draw(context, store, params) {
|
|
33
|
+
let fragment = document.createDocumentFragment();
|
|
34
|
+
let slot = document.createElement("slot");
|
|
35
|
+
fragment.appendChild(slot);
|
|
36
|
+
this.slotEl = slot;
|
|
37
|
+
return fragment;
|
|
32
38
|
}
|
|
33
39
|
async afterDraw() {
|
|
34
|
-
this.destroyAnimation()
|
|
35
|
-
|
|
36
|
-
|
|
40
|
+
this.destroyAnimation();
|
|
41
|
+
this.animations = await this.getAnimationsArray();
|
|
42
|
+
const selected = this.animations.find((k) => k.name === this.name);
|
|
43
|
+
const element = this.slotEl.assignedElements()[0];
|
|
44
|
+
this.animation = element.animate(selected.keyframes, {
|
|
37
45
|
delay: +this.delay || 0,
|
|
38
46
|
// zdrzanie pred zacatim animacie
|
|
39
47
|
endDelay: +this.endDelay || 0,
|
|
@@ -44,22 +52,26 @@ class u extends c {
|
|
|
44
52
|
// doba trvania animacie v milisekundách
|
|
45
53
|
iterationStart: +this.iterationStart || 0,
|
|
46
54
|
// počet opakování animacie
|
|
47
|
-
iterations: this.iterations ||
|
|
55
|
+
iterations: this.iterations || Infinity,
|
|
48
56
|
// počet opakování animacie
|
|
49
57
|
direction: this.direction || "normal",
|
|
50
58
|
// smer animaciee (zpat a dopredu)
|
|
51
59
|
easing: this.easing || "linear"
|
|
52
60
|
// typ spomalenia (rychlost zmen v čase)
|
|
53
|
-
})
|
|
61
|
+
});
|
|
62
|
+
this.animation.play();
|
|
54
63
|
}
|
|
55
64
|
destroyAnimation() {
|
|
56
|
-
|
|
65
|
+
if (this.animation) {
|
|
66
|
+
this.animation.cancel();
|
|
67
|
+
}
|
|
57
68
|
}
|
|
58
69
|
async getAnimationsArray() {
|
|
59
|
-
|
|
70
|
+
const cssUrl = "https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css";
|
|
71
|
+
return await fetchAndParseCSS(cssUrl);
|
|
60
72
|
}
|
|
61
73
|
}
|
|
62
|
-
customElements.get("wj-animation") || window.customElements.define("wj-animation",
|
|
74
|
+
customElements.get("wj-animation") || window.customElements.define("wj-animation", Animation);
|
|
63
75
|
export {
|
|
64
|
-
|
|
76
|
+
Animation
|
|
65
77
|
};
|
package/dist/wj-aside.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 w extends h {
|
|
9
|
+
const styles = '/*\n[ WJ Aside ]\n*/\n:host {\n --wj-aside-width: "100px";\n --wj-aside-top: 0;\n --wj-aside-border-color: var(--wj-border-color);\n --wj-aside-border-width: 0 1px 0 0;\n --wj-aside-border-style: solid;\n box-sizing: border-box;\n flex-shrink: 0;\n overflow: auto;\n border-color: var(--wj-aside-border-color);\n border-width: var(--wj-aside-border-width);\n border-style: var(--wj-aside-border-style);\n}\n\n:host(.open) {\n display: block !important;\n}\n\n@media (min-width: 768px) {\n :host([fixed]) {\n position: fixed;\n width: var(--wj-aside-width);\n top: var(--wj-aside-top);\n height: calc(100% - var(--wj-aside-top));\n }\n}\n@media (max-width: 768px) {\n :host {\n display: none;\n }\n :host([variant=top-start]) {\n position: fixed;\n top: 0;\n left: 0;\n width: 80%;\n height: 100%;\n z-index: 9999;\n background-color: #fff;\n }\n}';
|
|
10
|
+
class Aside extends WJElement {
|
|
9
11
|
constructor() {
|
|
10
12
|
super();
|
|
11
|
-
|
|
13
|
+
__publicField(this, "className", "Aside");
|
|
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,18 @@ class w extends h {
|
|
|
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.width)
|
|
27
|
+
this.style.setProperty("--wj-aside-width", this.width);
|
|
28
|
+
if (this.top && this.hasAttribute("fixed"))
|
|
29
|
+
this.style.setProperty("--wj-aside-top", this.top);
|
|
30
|
+
let element = document.createElement("slot");
|
|
31
|
+
fragment.appendChild(element);
|
|
32
|
+
return fragment;
|
|
27
33
|
}
|
|
28
34
|
}
|
|
29
|
-
customElements.get("wj-aside") || window.customElements.define("wj-aside",
|
|
35
|
+
customElements.get("wj-aside") || window.customElements.define("wj-aside", Aside);
|
|
30
36
|
export {
|
|
31
|
-
|
|
37
|
+
Aside
|
|
32
38
|
};
|
package/dist/wj-avatar.js
CHANGED
|
@@ -1,50 +1,69 @@
|
|
|
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
|
-
function
|
|
7
|
-
let
|
|
8
|
-
for (let
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
function getHsl(text, s = 30, l = 80) {
|
|
10
|
+
let str = text, hash = 0;
|
|
11
|
+
for (let i = 0; i < (str == null ? void 0 : str.length); i++) {
|
|
12
|
+
hash = str.charCodeAt(i) + ((hash << 5) - hash);
|
|
13
|
+
}
|
|
14
|
+
let h = hash % 360;
|
|
15
|
+
let hexColor = "hsl(" + h + ", " + s + "%, " + l + "%)";
|
|
16
|
+
return hexColor;
|
|
11
17
|
}
|
|
12
|
-
function
|
|
13
|
-
let
|
|
14
|
-
|
|
18
|
+
function getInitials(string, length = 2) {
|
|
19
|
+
let names = string.split(" ");
|
|
20
|
+
let initials = names[0].substring(0, 1).toUpperCase();
|
|
21
|
+
if (names.length > 1 && length > 1) {
|
|
22
|
+
initials += names[names.length - 1].substring(0, 1).toUpperCase();
|
|
23
|
+
}
|
|
24
|
+
return initials;
|
|
15
25
|
}
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
class g extends v {
|
|
26
|
+
const styles = "/*\n[ WJ Avatar ]\n*/\n:host {\n --wj-avatar-width: 32px;\n --wj-avatar-height: 32px;\n --wj-avatar-font-size: .75rem;\n --wj-avatar-font-weight: 400;\n --wj-avatar-color: inherit;\n --wj-avatar-background-color: var(--wj-color-contrast-low);\n --wj-avatar-border-radius: 50%;\n --wj-avatar-border-color: transparent;\n --wj-avatar-border-width: 1px;\n --wj-avatar-border-style: solid;\n display: inline-block;\n width: var(--wj-avatar-width);\n height: var(--wj-avatar-height);\n font-size: var(--wj-avatar-font-size);\n font-weight: var(--wj-avatar-font-weight);\n color: var(--wj-avatar-color);\n}\n:host .native-avatar {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n border-radius: var(--wj-avatar-border-radius);\n background-color: var(--wj-avatar-background-color);\n}\n\n::slotted(wj-img),\n::slotted(img) {\n border-radius: var(--wj-avatar-border-radius);\n width: 100%;\n height: 100%;\n object-fit: cover;\n overflow: hidden;\n}\n\n:host(.wj-avatar-border) {\n border-color: var(--wj-avatar-border-color);\n border-width: var(--wj-avatar-border-width);\n border-style: var(--wj-avatar-border-style);\n}\n\n:host(.wj-avatar-small) {\n --wj-avatar-width: 24px;\n --wj-avatar-height: 24px;\n}\n\n:host(.wj-avatar-large) {\n --wj-avatar-width: 48px;\n --wj-avatar-height: 48px;\n}";
|
|
27
|
+
class Avatar extends WJElement {
|
|
19
28
|
constructor() {
|
|
20
29
|
super();
|
|
21
|
-
|
|
30
|
+
__publicField(this, "className", "Avatar");
|
|
22
31
|
}
|
|
23
32
|
static get cssStyleSheet() {
|
|
24
|
-
return
|
|
33
|
+
return styles;
|
|
25
34
|
}
|
|
26
35
|
setupAttributes() {
|
|
27
36
|
this.isShadowRoot = "open";
|
|
28
37
|
}
|
|
29
|
-
draw(
|
|
30
|
-
let
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
38
|
+
draw(context, store, params) {
|
|
39
|
+
let fragment = document.createDocumentFragment();
|
|
40
|
+
let element = document.createElement("div");
|
|
41
|
+
element.setAttribute("part", "native");
|
|
42
|
+
element.classList.add("native-avatar");
|
|
43
|
+
if (this.size)
|
|
44
|
+
this.classList.add("wj-avatar-" + this.size);
|
|
45
|
+
if (this.isImage()) {
|
|
46
|
+
let slot = document.createElement("slot");
|
|
47
|
+
element.appendChild(slot);
|
|
37
48
|
} else {
|
|
38
|
-
|
|
39
|
-
|
|
49
|
+
if (this.hasAttribute("initials")) {
|
|
50
|
+
let initials = getInitials(this.label);
|
|
51
|
+
this.setAttribute("style", `--wj-avatar-background-color: ${getHsl(initials)}`);
|
|
52
|
+
element.innerText = initials;
|
|
53
|
+
} else {
|
|
54
|
+
let slotIcon = document.createElement("slot");
|
|
55
|
+
slotIcon.setAttribute("name", "icon");
|
|
56
|
+
element.appendChild(slotIcon);
|
|
57
|
+
}
|
|
40
58
|
}
|
|
41
|
-
|
|
59
|
+
fragment.appendChild(element);
|
|
60
|
+
return fragment;
|
|
42
61
|
}
|
|
43
62
|
isImage() {
|
|
44
63
|
return this.getElementsByTagName("wj-img").length > 0;
|
|
45
64
|
}
|
|
46
65
|
}
|
|
47
|
-
customElements.get("wj-avatar") || window.customElements.define("wj-avatar",
|
|
66
|
+
customElements.get("wj-avatar") || window.customElements.define("wj-avatar", Avatar);
|
|
48
67
|
export {
|
|
49
|
-
|
|
68
|
+
Avatar
|
|
50
69
|
};
|
package/dist/wj-badge.js
CHANGED
|
@@ -1,31 +1,35 @@
|
|
|
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
|
-
*/:host(.wj-color-primary){--wj-color-base: var(--wj-color-primary) !important;--wj-color-contrast: var(--wj-color-contrast-lowest) !important}:host(.wj-color-complete){--wj-color-base: var(--wj-color-complete) !important;--wj-color-contrast: var(--wj-color-contrast-lowest) !important}:host(.wj-color-success){--wj-color-base: var(--wj-color-success) !important;--wj-color-contrast: var(--wj-color-contrast-lowest) !important}:host(.wj-color-warning){--wj-color-base: var(--wj-color-warning) !important;--wj-color-contrast: var(--wj-color-contrast-high) !important}:host(.wj-color-danger){--wj-color-base: var(--wj-color-danger) !important;--wj-color-contrast: var(--wj-color-contrast-lowest) !important}:host(.wj-color-info){--wj-color-base: var(--wj-color-info) !important;--wj-color-contrast: var(--wj-color-contrast-lowest) !important}:host(.wj-color-menu){--wj-color-base: var(--wj-color-contrast-lower) !important;--wj-color-contrast: var(--wj-color-contrast-high) !important}:host{--wj-chip-border-radius: 100px;text-shadow:none;font-family:var(--wj-font-family);font-weight:600;background-color:var(--wj-color-contrast-low);font-size:11px;padding-left:6px;padding-right:6px;color:var(--wj-color-contrast-high);border-radius:10px}:host(.wj-color){background-color:var(--wj-color-base, red);color:var(--wj-color-contrast)}
|
|
9
|
-
`;
|
|
10
|
-
class i extends n {
|
|
9
|
+
const styles = "/*!\n* direction.scss\n*/\n/* Skeleton Variables */\n/*\n[ WJ Badge ]\n*/\n:host(.wj-color-primary) {\n --wj-color-base: var(--wj-color-primary) !important;\n --wj-color-contrast: var(--wj-color-contrast-lowest) !important;\n}\n:host(.wj-color-complete) {\n --wj-color-base: var(--wj-color-complete) !important;\n --wj-color-contrast: var(--wj-color-contrast-lowest) !important;\n}\n:host(.wj-color-success) {\n --wj-color-base: var(--wj-color-success) !important;\n --wj-color-contrast: var(--wj-color-contrast-lowest) !important;\n}\n:host(.wj-color-warning) {\n --wj-color-base: var(--wj-color-warning) !important;\n --wj-color-contrast: var(--wj-color-contrast-high) !important;\n}\n:host(.wj-color-danger) {\n --wj-color-base: var(--wj-color-danger) !important;\n --wj-color-contrast: var(--wj-color-contrast-lowest) !important;\n}\n:host(.wj-color-info) {\n --wj-color-base: var(--wj-color-info) !important;\n --wj-color-contrast: var(--wj-color-contrast-lowest) !important;\n}\n:host(.wj-color-menu) {\n --wj-color-base: var(--wj-color-contrast-lower) !important;\n --wj-color-contrast: var(--wj-color-contrast-high) !important;\n}\n:host {\n --wj-chip-border-radius: 100px;\n text-shadow: none;\n font-family: var(--wj-font-family);\n font-weight: 600;\n background-color: var(--wj-color-contrast-low);\n font-size: 11px;\n padding-left: 6px;\n padding-right: 6px;\n color: var(--wj-color-contrast-high);\n border-radius: 10px;\n}\n:host(.wj-color) {\n background-color: var(--wj-color-base, red);\n color: var(--wj-color-contrast);\n}";
|
|
10
|
+
class Badge extends WJElement {
|
|
11
11
|
constructor() {
|
|
12
12
|
super();
|
|
13
|
-
|
|
13
|
+
__publicField(this, "className", "Badge");
|
|
14
14
|
}
|
|
15
15
|
static get cssStyleSheet() {
|
|
16
|
-
return
|
|
16
|
+
return styles;
|
|
17
17
|
}
|
|
18
18
|
setupAttributes() {
|
|
19
19
|
this.isShadowRoot = "open";
|
|
20
20
|
}
|
|
21
|
-
draw(
|
|
22
|
-
let
|
|
23
|
-
|
|
21
|
+
draw(context, store, params) {
|
|
22
|
+
let fragment = document.createDocumentFragment();
|
|
23
|
+
let element = document.createElement("slot");
|
|
24
|
+
if (this.color)
|
|
25
|
+
this.classList.add("wj-color-" + this.color, "wj-color");
|
|
26
|
+
fragment.appendChild(element);
|
|
27
|
+
return fragment;
|
|
24
28
|
}
|
|
25
29
|
}
|
|
26
|
-
let
|
|
27
|
-
customElements.get("wj-badge") || window.customElements.define("wj-badge",
|
|
30
|
+
let __esModule = "true";
|
|
31
|
+
customElements.get("wj-badge") || window.customElements.define("wj-badge", Badge);
|
|
28
32
|
export {
|
|
29
|
-
|
|
30
|
-
|
|
33
|
+
Badge,
|
|
34
|
+
__esModule
|
|
31
35
|
};
|
package/dist/wj-breadcrumb.js
CHANGED
|
@@ -1,88 +1,140 @@
|
|
|
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, event } from "./wj-element.js";
|
|
5
8
|
import "./wj-store.js";
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
class v extends w {
|
|
9
|
+
const styles = "/*\n[ WJ Breadcrumbs ]\n*/\n:host {\n --wj-breadcrumb-a: var(--wj-color-contrast-high);\n --wj-breadcrumb-a-hover: var(--wj-color-contrast-medium);\n display: flex;\n flex: 0 0 auto;\n align-items: center;\n line-height: 1.5;\n}\n\n:host(.collapsed) {\n display: none;\n}\n\n.native-breadcrumb {\n display: flex;\n align-items: center;\n width: 100%;\n outline: none;\n background: inherit;\n padding: 0.25rem 0.75rem;\n color: var(--wj-breadcrumb-a);\n text-decoration: none;\n}\n.native-breadcrumb.hidden {\n display: none;\n}\n.native-breadcrumb.active {\n font-weight: bold;\n}\n.native-breadcrumb:hover {\n color: var(--wj-breadcrumb-a-hover);\n}\n\nbutton {\n margin-inline: 0.75rem;\n border: 0 solid transparent;\n border-radius: 3px;\n background-color: transparent;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n\n.separator {\n display: inline-flex;\n align-items: center;\n}\n\n::slotted([slot=start]) {\n margin-inline: 0 0.5rem;\n}\n\n::slotted([slot=end]) {\n margin-inline: 0.5rem 0;\n}";
|
|
10
|
+
class Breadcrumb extends WJElement {
|
|
9
11
|
constructor() {
|
|
10
|
-
var
|
|
12
|
+
var _a;
|
|
11
13
|
super();
|
|
12
|
-
|
|
13
|
-
this._showSeparator =
|
|
14
|
+
__publicField(this, "className", "Breadcrumb");
|
|
15
|
+
this._showSeparator = true;
|
|
16
|
+
this._collapsedVariant = ((_a = this.parentElement) == null ? void 0 : _a.collapsedVariant) || "BUTTON";
|
|
14
17
|
}
|
|
15
18
|
get showSeparator() {
|
|
16
19
|
return this._showSeparator;
|
|
17
20
|
}
|
|
18
|
-
set showSeparator(
|
|
19
|
-
this._showSeparator =
|
|
21
|
+
set showSeparator(value) {
|
|
22
|
+
this._showSeparator = value;
|
|
20
23
|
}
|
|
21
24
|
get collapsedVariant() {
|
|
22
25
|
return this._collapsedVariant.toUpperCase();
|
|
23
26
|
}
|
|
24
|
-
set collapsedVariant(
|
|
25
|
-
this._collapsedVariant =
|
|
27
|
+
set collapsedVariant(value) {
|
|
28
|
+
this._collapsedVariant = value || this.parentElement.collapsedVariant;
|
|
26
29
|
}
|
|
27
30
|
static get cssStyleSheet() {
|
|
28
|
-
return
|
|
31
|
+
return styles;
|
|
29
32
|
}
|
|
30
33
|
static get observedAttributes() {
|
|
31
34
|
return ["show-collapsed-indicator", "collapsed", "last"];
|
|
32
35
|
}
|
|
33
|
-
attributeChangedCallback(
|
|
34
|
-
|
|
36
|
+
attributeChangedCallback(name, oldValue, newValue) {
|
|
37
|
+
if (name === "collapsed") {
|
|
38
|
+
if (WjElementUtils.stringToBoolean(newValue))
|
|
39
|
+
this.classList.add("collapsed");
|
|
40
|
+
} else if (name === "show-collapsed-indicator") {
|
|
41
|
+
if (WjElementUtils.stringToBoolean(newValue))
|
|
42
|
+
this.showCollapsedIndicator = true;
|
|
43
|
+
} else if (name === "last") {
|
|
44
|
+
this.active = WjElementUtils.stringToBoolean(newValue);
|
|
45
|
+
this.showSeparator = !WjElementUtils.stringToBoolean(newValue);
|
|
46
|
+
}
|
|
47
|
+
return false;
|
|
35
48
|
}
|
|
36
49
|
setupAttributes() {
|
|
37
50
|
this.isShadowRoot = "open";
|
|
38
51
|
}
|
|
39
|
-
draw(
|
|
40
|
-
let
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
52
|
+
draw(context, store, params) {
|
|
53
|
+
let fragment = document.createDocumentFragment();
|
|
54
|
+
let native = document.createElement("a");
|
|
55
|
+
native.classList.add("native-breadcrumb");
|
|
56
|
+
if (this.active)
|
|
57
|
+
native.classList.add("active");
|
|
58
|
+
let slot = document.createElement("slot");
|
|
59
|
+
let start = document.createElement("slot");
|
|
60
|
+
start.setAttribute("name", "start");
|
|
61
|
+
let end = document.createElement("slot");
|
|
62
|
+
end.setAttribute("name", "end");
|
|
63
|
+
native.appendChild(start);
|
|
64
|
+
native.appendChild(slot);
|
|
65
|
+
native.appendChild(end);
|
|
66
|
+
fragment.appendChild(native);
|
|
67
|
+
if (this.showCollapsedIndicator) {
|
|
68
|
+
fragment.appendChild(this.drawCollapsedIndicator());
|
|
69
|
+
this.classList.remove("collapsed");
|
|
70
|
+
native.classList.add("hidden");
|
|
53
71
|
}
|
|
54
|
-
|
|
72
|
+
if (this.showSeparator) {
|
|
73
|
+
let separator = document.createElement("span");
|
|
74
|
+
separator.classList.add("separator");
|
|
75
|
+
separator.setAttribute("part", "separator");
|
|
76
|
+
if (WjElementUtils.hasSlot(this, "separator")) {
|
|
77
|
+
let slotSeparator = document.createElement("slot");
|
|
78
|
+
slotSeparator.setAttribute("name", "separator");
|
|
79
|
+
separator.appendChild(slotSeparator);
|
|
80
|
+
} else {
|
|
81
|
+
separator.innerHTML = `<wj-icon name=${this.separator || "chevron-right"}></wj-icon>`;
|
|
82
|
+
}
|
|
83
|
+
fragment.appendChild(separator);
|
|
84
|
+
}
|
|
85
|
+
this.native = native;
|
|
86
|
+
return fragment;
|
|
55
87
|
}
|
|
56
88
|
drawCollapsedIndicator() {
|
|
57
|
-
let
|
|
58
|
-
|
|
89
|
+
let collapsedIndicator = null;
|
|
90
|
+
if (this.collapsedVariant === "DROPDOWN") {
|
|
91
|
+
collapsedIndicator = this.collapseDropdown();
|
|
92
|
+
} else {
|
|
93
|
+
collapsedIndicator = this.collapseButton();
|
|
94
|
+
}
|
|
95
|
+
return collapsedIndicator;
|
|
59
96
|
}
|
|
60
97
|
collapseDropdown() {
|
|
61
|
-
let
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
98
|
+
let dropdown = document.createElement("wj-dropdown");
|
|
99
|
+
dropdown.setAttribute("placement", "bottom");
|
|
100
|
+
dropdown.setAttribute("offset", "10");
|
|
101
|
+
let button = document.createElement("wj-button");
|
|
102
|
+
button.setAttribute("slot", "trigger");
|
|
103
|
+
button.setAttribute("fill", "link");
|
|
104
|
+
button.innerHTML = `<wj-icon name="dots"></wj-icon>`;
|
|
105
|
+
let menu = document.createElement("wj-menu");
|
|
106
|
+
menu.setAttribute("variant", "context");
|
|
107
|
+
dropdown.appendChild(button);
|
|
108
|
+
dropdown.appendChild(menu);
|
|
109
|
+
dropdown.innerHTML = `<wj-button slot="trigger" fill="link">
|
|
67
110
|
<wj-icon name="dots"></wj-icon>
|
|
68
111
|
</wj-button>
|
|
69
112
|
<wj-menu variant="context">
|
|
70
113
|
<wj-menu-item>Test 0</wj-menu-item>
|
|
71
114
|
<wj-menu-item>Test 1</wj-menu-item>
|
|
72
115
|
<wj-menu-item>Test 2</wj-menu-item>
|
|
73
|
-
</wj-menu
|
|
74
|
-
|
|
116
|
+
</wj-menu>`;
|
|
117
|
+
this.parentElement.querySelectorAll("wj-breadcrumb").forEach((el) => {
|
|
118
|
+
});
|
|
119
|
+
return dropdown;
|
|
75
120
|
}
|
|
76
121
|
collapseButton() {
|
|
77
|
-
let
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
122
|
+
let button = document.createElement("button");
|
|
123
|
+
button.setAttribute("aria-label", "Show more breadcrumbs");
|
|
124
|
+
button.setAttribute("part", "collapsed-indicator");
|
|
125
|
+
button.innerHTML = `<wj-icon name="dots"></wj-icon>`;
|
|
126
|
+
event.addListener(button, "click", null, (e) => {
|
|
127
|
+
this.native.classList.remove("hidden");
|
|
128
|
+
button.remove();
|
|
129
|
+
this.parentElement.querySelectorAll("wj-breadcrumb").forEach((e2) => {
|
|
130
|
+
e2.classList.remove("collapsed");
|
|
131
|
+
});
|
|
132
|
+
e.stopPropagation();
|
|
133
|
+
});
|
|
134
|
+
return button;
|
|
83
135
|
}
|
|
84
136
|
}
|
|
85
|
-
customElements.get("wj-breadcrumb") || window.customElements.define("wj-breadcrumb",
|
|
137
|
+
customElements.get("wj-breadcrumb") || window.customElements.define("wj-breadcrumb", Breadcrumb);
|
|
86
138
|
export {
|
|
87
|
-
|
|
139
|
+
Breadcrumb
|
|
88
140
|
};
|
package/dist/wj-breadcrumbs.js
CHANGED
|
@@ -1,37 +1,54 @@
|
|
|
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 b extends d {
|
|
9
|
+
const styles = "/*\n[ WJ Breadcrumbs ]\n*/\n:host {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n}";
|
|
10
|
+
class Breadcrumbs extends WJElement {
|
|
9
11
|
constructor() {
|
|
10
12
|
super();
|
|
11
|
-
|
|
12
|
-
this.last =
|
|
13
|
+
__publicField(this, "className", "Breadcrumbs");
|
|
14
|
+
this.last = false;
|
|
13
15
|
}
|
|
14
16
|
static get cssStyleSheet() {
|
|
15
|
-
return
|
|
17
|
+
return styles;
|
|
16
18
|
}
|
|
17
19
|
setupAttributes() {
|
|
18
20
|
this.isShadowRoot = "open";
|
|
19
21
|
}
|
|
20
|
-
draw(
|
|
21
|
-
let
|
|
22
|
-
|
|
22
|
+
draw(context, store, params) {
|
|
23
|
+
let fragment = document.createDocumentFragment();
|
|
24
|
+
let element = document.createElement("slot");
|
|
25
|
+
fragment.appendChild(element);
|
|
26
|
+
return fragment;
|
|
23
27
|
}
|
|
24
28
|
afterDraw() {
|
|
25
|
-
let
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
let maxItems = +this.maxItems || 0;
|
|
30
|
+
let itemsBeforeCollapse = +this.itemsBeforeCollapse || 1;
|
|
31
|
+
let itemsAfterCollapse = +this.itemsAfterCollapse || 1;
|
|
32
|
+
let breadcrumbs = this.getBreadcrumbs();
|
|
33
|
+
let breadcrumb = breadcrumbs.findLast((e) => e);
|
|
34
|
+
breadcrumb.setAttribute("last", true);
|
|
35
|
+
const shouldCollapse = maxItems !== void 0 && breadcrumbs.length > maxItems && itemsBeforeCollapse + itemsAfterCollapse <= maxItems;
|
|
36
|
+
if (shouldCollapse) {
|
|
37
|
+
breadcrumbs.forEach((breadcrumb2, index) => {
|
|
38
|
+
if (index === itemsBeforeCollapse) {
|
|
39
|
+
breadcrumb2.setAttribute("show-collapsed-indicator", true);
|
|
40
|
+
}
|
|
41
|
+
if (index >= itemsBeforeCollapse && index < breadcrumbs.length - itemsAfterCollapse) {
|
|
42
|
+
breadcrumb2.setAttribute("collapsed", true);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
29
46
|
}
|
|
30
47
|
getBreadcrumbs() {
|
|
31
48
|
return Array.from(this.querySelectorAll("wj-breadcrumb"));
|
|
32
49
|
}
|
|
33
50
|
}
|
|
34
|
-
customElements.get("wj-breadcrumbs") || window.customElements.define("wj-breadcrumbs",
|
|
51
|
+
customElements.get("wj-breadcrumbs") || window.customElements.define("wj-breadcrumbs", Breadcrumbs);
|
|
35
52
|
export {
|
|
36
|
-
|
|
53
|
+
Breadcrumbs
|
|
37
54
|
};
|