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-menu-button.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, { event } from "./wj-element.js";
|
|
5
8
|
import "./wj-store.js";
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
class m extends l {
|
|
9
|
+
const styles = "/*\n[ WJ Menu Label ]\n*/\n:host {\n display: inline-flex;\n}\n\n@media (min-width: 768px) {\n :host {\n display: none;\n }\n}";
|
|
10
|
+
class MenuButton extends WJElement {
|
|
9
11
|
constructor() {
|
|
10
12
|
super();
|
|
11
|
-
|
|
13
|
+
__publicField(this, "className", "MenuButton");
|
|
12
14
|
}
|
|
13
15
|
static get cssStyleSheet() {
|
|
14
|
-
return
|
|
16
|
+
return styles;
|
|
15
17
|
}
|
|
16
18
|
static get observedAttributes() {
|
|
17
19
|
return [];
|
|
@@ -19,17 +21,19 @@ class m 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 slot = document.createElement("slot");
|
|
27
|
+
fragment.appendChild(slot);
|
|
28
|
+
return fragment;
|
|
25
29
|
}
|
|
26
30
|
afterDraw() {
|
|
27
|
-
|
|
31
|
+
event.addListener(this, "click", null, (e) => {
|
|
28
32
|
document.querySelector(`#${this.contentId}`).classList.toggle("open");
|
|
29
33
|
});
|
|
30
34
|
}
|
|
31
35
|
}
|
|
32
|
-
customElements.get("wj-menu-button") || window.customElements.define("wj-menu-button",
|
|
36
|
+
customElements.get("wj-menu-button") || window.customElements.define("wj-menu-button", MenuButton);
|
|
33
37
|
export {
|
|
34
|
-
|
|
38
|
+
MenuButton
|
|
35
39
|
};
|
package/dist/wj-menu-item.js
CHANGED
|
@@ -1,104 +1,190 @@
|
|
|
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, { WjElementUtils, event } from "./wj-element.js";
|
|
8
|
+
import { b as bindRouterLinks } from "./router-links-26e4a166.js";
|
|
6
9
|
import "./wj-store.js";
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
class L extends x {
|
|
10
|
+
const styles = '/*\n[ WJ Menu Item ]\n*/\n:host {\n --wj-menu-item-color: var(--wj-color);\n --wj-menu-item-background: transparent;\n --wj-menu-item-color-hover: var(--wj-color-contrast-8);\n --wj-menu-item-background-hover: var(--wj-border-color);\n --wj-menu-item-color-focus: var(--wj-color-contrast-8);\n --wj-menu-item-background-focus: var(--wj-border-color);\n --wj-menu-item-color-active: var(--wj-color-contrast-8);\n --wj-menu-item-background-active: var(--wj-border-color);\n --wj-menu-item-padding-top: .5rem;\n --wj-menu-item-padding-bottom: .5rem;\n --wj-menu-item-line-height: 1.8rem;\n --wj-menu-item-safe-triangle-cursor-x: 0;\n --wj-menu-item-safe-triangle-cursor-y: 0;\n --wj-menu-item-safe-triangle-submenu-start-x: 0;\n --wj-menu-item-safe-triangle-submenu-start-y: 0;\n --wj-menu-item-safe-triangle-submenu-end-x: 0;\n --wj-menu-item-safe-triangle-submenu-end-y: 0;\n --wj-menu-submenu-offset: 0;\n --wj-menu-item-icon-visibility: hidden;\n display: block;\n}\n:host .native-menu-item {\n background: var(--wj-menu-item-background);\n position: relative;\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n color: var(--wj-menu-item-color);\n padding-top: var(--wj-menu-item-padding-top);\n padding-bottom: var(--wj-menu-item-padding-bottom);\n transition: var(--wj-transition-fast) fill;\n user-select: none;\n white-space: nowrap;\n cursor: pointer;\n width: 100%;\n line-height: var(--wj-menu-item-line-height);\n}\n:host .native-menu-item:hover {\n color: var(--wj-menu-item-color-hover);\n background: var(--wj-menu-item-background-hover);\n}\n:host .native-menu-item:focus {\n color: var(--wj-menu-item-color-focus);\n background: var(--wj-menu-item-background-focus);\n}\n:host .native-menu-item:active {\n color: var(--wj-menu-item-color-active);\n background: var(--wj-menu-item-background-active);\n}\n:host .native-menu-item .label {\n flex: 1 1 auto;\n display: inline-block;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n:host .native-menu-item .check-icon {\n flex: 0 0 auto;\n display: var(--wj-menu-item-check-icon-display, flex);\n align-items: center;\n justify-content: center;\n width: 1.5rem;\n visibility: hidden;\n}\n:host .native-menu-item .check-icon.checked {\n visibility: visible;\n}\n:host .native-menu-item.expanded-submenu {\n color: var(--wj-menu-item-color-active);\n background: var(--wj-menu-item-background-active);\n}\n:host .native-menu-item.expanded-submenu:hover {\n color: var(--wj-menu-item-color-hover);\n background: var(--wj-menu-item-background-hover);\n}\n:host .native-menu-item.expanded-submenu::after {\n content: "";\n position: fixed;\n z-index: 1;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n clip-path: polygon(var(--wj-menu-item-safe-triangle-cursor-x) var(--wj-menu-item-safe-triangle-cursor-y), var(--wj-menu-item-safe-triangle-submenu-start-x) var(--wj-menu-item-safe-triangle-submenu-start-y), var(--wj-menu-item-safe-triangle-submenu-end-x) var(--wj-menu-item-safe-triangle-submenu-end-y));\n}\n\n.submenu-icon {\n --wj-icon-size: 14px !important;\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem;\n visibility: var(--wj-menu-item-icon-visibility);\n}\n\n.has-submenu .submenu-icon {\n --wj-menu-item-icon-visibility: visible;\n}\n\n.submenu-icon.collapse {\n flex: none;\n right: 10px;\n position: relative;\n}\n\n:host(:focus-visible) {\n outline: none;\n}\n\n::slotted([slot=start]) {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n margin-inline-end: 0.5rem;\n}\n\n::slotted([slot=end]) {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n margin-inline-start: 0.5rem;\n}\n\n:host(.wj-menu-variant-nav) ::slotted([slot=submenu]) {\n --wj-menu-border-width: 0 !important;\n --wj-menu-margin-inline: 2rem 0 !important;\n}\n\n:host ::slotted([slot=start]) {\n width: 1.5rem;\n}\n\n:host(.wj-menu-variant-context) {\n display: block;\n}\n\n:host(.active) {\n color: var(--wj-menu-item-color-active);\n background: var(--wj-menu-item-background-active);\n}\n\n:host(.open) {\n color: var(--wj-menu-item-color-active);\n background: var(--wj-menu-item-background-active);\n}';
|
|
11
|
+
class MenuItem extends WJElement {
|
|
10
12
|
constructor() {
|
|
11
13
|
super();
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
this.style.setProperty("--wj-menu-item-safe-triangle-cursor-x", `${e.clientX}px`)
|
|
14
|
+
__publicField(this, "className", "MenuItem");
|
|
15
|
+
__publicField(this, "dispatchMove", (e) => {
|
|
16
|
+
this.style.setProperty("--wj-menu-item-safe-triangle-cursor-x", `${e.clientX}px`);
|
|
17
|
+
this.style.setProperty("--wj-menu-item-safe-triangle-cursor-y", `${e.clientY}px`);
|
|
15
18
|
});
|
|
16
|
-
|
|
19
|
+
__publicField(this, "dispatchReposition", (e) => {
|
|
17
20
|
if (this.submenu.assignedNodes().length === 0)
|
|
18
21
|
return;
|
|
19
|
-
let
|
|
20
|
-
const { left
|
|
21
|
-
this.style.setProperty("--wj-menu-item-safe-triangle-submenu-start-x", `${
|
|
22
|
+
let submenu = this.submenu.assignedNodes()[0];
|
|
23
|
+
const { left, top, width, height } = submenu.getBoundingClientRect();
|
|
24
|
+
this.style.setProperty("--wj-menu-item-safe-triangle-submenu-start-x", `${left}px`);
|
|
25
|
+
this.style.setProperty("--wj-menu-item-safe-triangle-submenu-start-y", `${top}px`);
|
|
26
|
+
this.style.setProperty("--wj-menu-item-safe-triangle-submenu-end-x", `${left}px`);
|
|
27
|
+
this.style.setProperty("--wj-menu-item-safe-triangle-submenu-end-y", `${top + height}px`);
|
|
22
28
|
});
|
|
23
|
-
|
|
29
|
+
bindRouterLinks(this, { selector: false });
|
|
30
|
+
this.hasSubmenu = WjElementUtils.hasSlot(this, "submenu");
|
|
31
|
+
this._collapsible = false;
|
|
24
32
|
}
|
|
25
33
|
get placement() {
|
|
26
|
-
let
|
|
27
|
-
|
|
34
|
+
let menu = this.querySelector("wj-menu");
|
|
35
|
+
if (menu == null ? void 0 : menu.hasAttribute("placement")) {
|
|
36
|
+
return menu.getAttribute("placement");
|
|
37
|
+
}
|
|
38
|
+
return "right-start";
|
|
28
39
|
}
|
|
29
40
|
get offset() {
|
|
30
|
-
let
|
|
31
|
-
|
|
41
|
+
let menu = this.querySelector("wj-menu");
|
|
42
|
+
if (menu == null ? void 0 : menu.hasAttribute("offset")) {
|
|
43
|
+
return menu.getAttribute("offset");
|
|
44
|
+
}
|
|
45
|
+
return "0";
|
|
32
46
|
}
|
|
33
47
|
get variant() {
|
|
34
|
-
let
|
|
35
|
-
|
|
48
|
+
let menu = this.querySelector("wj-menu");
|
|
49
|
+
if ((menu == null ? void 0 : menu.hasAttribute("variant")) && !this.collapse) {
|
|
50
|
+
return menu.getAttribute("variant").toUpperCase();
|
|
51
|
+
}
|
|
52
|
+
return "CONTEXT";
|
|
36
53
|
}
|
|
37
54
|
get collapse() {
|
|
38
|
-
var
|
|
39
|
-
return (
|
|
55
|
+
var _a;
|
|
56
|
+
return (_a = this.parentElement) == null ? void 0 : _a.hasAttribute("collapse");
|
|
40
57
|
}
|
|
41
58
|
static get cssStyleSheet() {
|
|
42
|
-
return
|
|
59
|
+
return styles;
|
|
43
60
|
}
|
|
44
61
|
static get observedAttributes() {
|
|
45
62
|
return [];
|
|
46
63
|
}
|
|
47
64
|
setupAttributes() {
|
|
48
|
-
super.setupAttributes()
|
|
65
|
+
super.setupAttributes();
|
|
66
|
+
this.isShadowRoot = "open";
|
|
67
|
+
this.setAttribute("active-class", "open");
|
|
49
68
|
}
|
|
50
|
-
draw(
|
|
51
|
-
var
|
|
52
|
-
let
|
|
53
|
-
this.setAttribute("tabindex", "0")
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
let
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
let
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
let
|
|
65
|
-
|
|
66
|
-
let
|
|
67
|
-
|
|
68
|
-
let
|
|
69
|
+
draw(context, store, params) {
|
|
70
|
+
var _a;
|
|
71
|
+
let fragment = document.createDocumentFragment();
|
|
72
|
+
this.setAttribute("tabindex", "0");
|
|
73
|
+
this.classList.add("wj-menu-variant-" + this.variant.toLowerCase());
|
|
74
|
+
(_a = this.querySelector("wj-menu")) == null ? void 0 : _a.setAttribute("variant", this.variant.toLowerCase());
|
|
75
|
+
let native = document.createElement("div");
|
|
76
|
+
native.setAttribute("part", "native");
|
|
77
|
+
native.setAttribute("id", "anchor");
|
|
78
|
+
native.classList.add("native-menu-item");
|
|
79
|
+
let checkedIcon = document.createElement("span");
|
|
80
|
+
checkedIcon.classList.add("check-icon");
|
|
81
|
+
checkedIcon.innerHTML = `<wj-icon name="check"></wj-icon>`;
|
|
82
|
+
this.hasAttribute("checked") ? checkedIcon.classList.add("checked") : checkedIcon.classList.remove("checked");
|
|
83
|
+
let start = document.createElement("slot");
|
|
84
|
+
start.name = "start";
|
|
85
|
+
let slot = document.createElement("slot");
|
|
86
|
+
slot.classList.add("label");
|
|
87
|
+
let end = document.createElement("slot");
|
|
88
|
+
end.name = "end";
|
|
89
|
+
let submenu = document.createElement("slot");
|
|
90
|
+
submenu.setAttribute("part", "submenu");
|
|
91
|
+
submenu.name = "submenu";
|
|
92
|
+
let submenuIconClass = this.collapse ? "collapse" : "expand";
|
|
93
|
+
let submenuIcon = document.createElement("span");
|
|
94
|
+
submenuIcon.classList.add("submenu-icon", submenuIconClass);
|
|
95
|
+
submenuIcon.innerHTML = this.collapse ? `<wj-icon name="chevron-down"></wj-icon>` : `<wj-icon name="chevron-right"></wj-icon>`;
|
|
96
|
+
this.hasSubmenu ? native.classList.add("has-submenu") : native.classList.remove("has-submenu");
|
|
97
|
+
native.appendChild(checkedIcon);
|
|
98
|
+
native.appendChild(start);
|
|
99
|
+
native.appendChild(slot);
|
|
100
|
+
native.appendChild(end);
|
|
101
|
+
native.appendChild(submenuIcon);
|
|
102
|
+
let isAppend = false;
|
|
69
103
|
if (
|
|
70
104
|
/*(this.collapse && this.variant === "NAV" && this.hasSubmenu) || */
|
|
71
105
|
this.variant === "CONTEXT" && this.hasSubmenu
|
|
72
106
|
) {
|
|
73
|
-
|
|
74
|
-
let
|
|
75
|
-
|
|
107
|
+
native.setAttribute("slot", "anchor");
|
|
108
|
+
let popup = document.createElement("wj-popup");
|
|
109
|
+
popup.setAttribute("anchor", "anchor");
|
|
110
|
+
popup.setAttribute("placement", this.placement);
|
|
111
|
+
popup.setAttribute("offset", this.offset);
|
|
112
|
+
popup.appendChild(native);
|
|
113
|
+
popup.appendChild(submenu);
|
|
114
|
+
this.popup = popup;
|
|
115
|
+
fragment.appendChild(popup);
|
|
116
|
+
isAppend = true;
|
|
117
|
+
}
|
|
118
|
+
if (this.collapse && !this.hasSubmenu) {
|
|
119
|
+
fragment.appendChild(this.collapseItem(native));
|
|
120
|
+
} else if (!isAppend) {
|
|
121
|
+
fragment.appendChild(native);
|
|
122
|
+
}
|
|
123
|
+
if (!this.collapse && this.variant === "NAV" || this.variant === "MEGAMENU" && this.hasSubmenu) {
|
|
124
|
+
fragment.appendChild(submenu);
|
|
76
125
|
}
|
|
77
|
-
|
|
126
|
+
this.native = native;
|
|
127
|
+
this.submenu = submenu;
|
|
128
|
+
return fragment;
|
|
78
129
|
}
|
|
79
130
|
afterDraw() {
|
|
80
|
-
this.addEventListener("mousemove", this.dispatchMove)
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
131
|
+
this.addEventListener("mousemove", this.dispatchMove);
|
|
132
|
+
this.addEventListener("wj-popup:reposition", this.dispatchReposition);
|
|
133
|
+
event.addListener(this, "mouseover", null, (e) => {
|
|
134
|
+
if (this.hasAttribute("manual") || this.variant === "NAV" && !this.collapse)
|
|
135
|
+
return;
|
|
136
|
+
e.stopPropagation();
|
|
137
|
+
this.showSubmenu();
|
|
138
|
+
this.focus();
|
|
139
|
+
});
|
|
140
|
+
event.addListener(this, "focusout", null, (e) => {
|
|
141
|
+
if (e.relatedTarget && this.contains(e.relatedTarget) || this.variant === "NAV" && !this.collapse) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
this.hideSubmenu();
|
|
88
145
|
});
|
|
146
|
+
if (!this.collapse && this.variant === "NAV" && this.hasSubmenu) {
|
|
147
|
+
event.addListener(this, "click", null, (e) => {
|
|
148
|
+
let submenuElements = this.submenu.assignedElements({ flatten: true })[0];
|
|
149
|
+
if (!submenuElements.hasAttribute("active")) {
|
|
150
|
+
submenuElements.setAttribute("active", "");
|
|
151
|
+
} else {
|
|
152
|
+
if (this === e.target)
|
|
153
|
+
submenuElements.removeAttribute("active");
|
|
154
|
+
}
|
|
155
|
+
e.stopPropagation();
|
|
156
|
+
});
|
|
157
|
+
} else {
|
|
158
|
+
event.addListener(this, "click", null, (e) => {
|
|
159
|
+
});
|
|
160
|
+
}
|
|
89
161
|
}
|
|
90
|
-
collapseItem(
|
|
91
|
-
let
|
|
92
|
-
|
|
162
|
+
collapseItem(native) {
|
|
163
|
+
let tooltip = document.createElement("wj-tooltip");
|
|
164
|
+
tooltip.setAttribute("content", this.textContent);
|
|
165
|
+
tooltip.setAttribute("placement", "right");
|
|
166
|
+
tooltip.setAttribute("offset", this.offset || "0");
|
|
167
|
+
tooltip.appendChild(native);
|
|
168
|
+
return tooltip;
|
|
93
169
|
}
|
|
94
170
|
showSubmenu() {
|
|
95
|
-
this.tabIndex = -1
|
|
171
|
+
this.tabIndex = -1;
|
|
172
|
+
if (this.hasSubmenu) {
|
|
173
|
+
this.popup.setAttribute("active", "");
|
|
174
|
+
this.classList.add("expanded-submenu");
|
|
175
|
+
this.native.classList.add("expanded-submenu");
|
|
176
|
+
}
|
|
96
177
|
}
|
|
97
178
|
hideSubmenu() {
|
|
98
|
-
this.tabIndex = 0
|
|
179
|
+
this.tabIndex = 0;
|
|
180
|
+
if (this.hasSubmenu) {
|
|
181
|
+
this.popup.removeAttribute("active");
|
|
182
|
+
this.classList.remove("expanded-submenu");
|
|
183
|
+
this.native.classList.remove("expanded-submenu");
|
|
184
|
+
}
|
|
99
185
|
}
|
|
100
186
|
}
|
|
101
|
-
customElements.get("wj-menu-item") || window.customElements.define("wj-menu-item",
|
|
187
|
+
customElements.get("wj-menu-item") || window.customElements.define("wj-menu-item", MenuItem);
|
|
102
188
|
export {
|
|
103
|
-
|
|
189
|
+
MenuItem
|
|
104
190
|
};
|
package/dist/wj-menu-label.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
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
|
-
*/:host{--wj-menu-label-font-size: .75rem;--wj-menu-label-weight: 600;--wj-letter-spacing: .025rem;--wj-menu-label-color: var(--wj-color-contrast-6);--wj-padding-top: 0;--wj-padding-bottom: 0;--wj-padding-start: 1.5rem;--wj-padding-end: 1.5rem}:host .native-menu-label{font-size:var(--wj-menu-label-font-size);display:inline-block;font-weight:var(--wj-menu-label-weight);letter-spacing:var(--wj-letter-spacing);color:var(--wj-menu-label-color);padding:var(--wj-padding-top) var(--wj-padding-start) var(--wj-padding-bottom) var(--wj-padding-end)}
|
|
9
|
-
`;
|
|
10
|
-
class u extends i {
|
|
9
|
+
const styles = "/*!\n* direction.scss\n*/\n/* Skeleton Variables */\n/*\n[ Menu Label ]\n*/\n:host {\n --wj-menu-label-font-size: .75rem;\n --wj-menu-label-weight: 600;\n --wj-letter-spacing: .025rem;\n --wj-menu-label-color: var(--wj-color-contrast-6);\n --wj-padding-top: 0;\n --wj-padding-bottom: 0;\n --wj-padding-start: 1.5rem;\n --wj-padding-end: 1.5rem;\n}\n:host .native-menu-label {\n font-size: var(--wj-menu-label-font-size);\n display: inline-block;\n font-weight: var(--wj-menu-label-weight);\n letter-spacing: var(--wj-letter-spacing);\n color: var(--wj-menu-label-color);\n padding: var(--wj-padding-top) var(--wj-padding-start) var(--wj-padding-bottom) var(--wj-padding-end);\n}";
|
|
10
|
+
class MenuLabel extends WJElement {
|
|
11
11
|
constructor() {
|
|
12
12
|
super();
|
|
13
|
-
|
|
14
|
-
this.hasSubmenu =
|
|
13
|
+
__publicField(this, "className", "MenuLabel");
|
|
14
|
+
this.hasSubmenu = WjElementUtils.hasSlot(this, "submenu");
|
|
15
15
|
}
|
|
16
16
|
static get cssStyleSheet() {
|
|
17
|
-
return
|
|
17
|
+
return styles;
|
|
18
18
|
}
|
|
19
19
|
static get observedAttributes() {
|
|
20
20
|
return [];
|
|
@@ -22,12 +22,16 @@ class u extends i {
|
|
|
22
22
|
setupAttributes() {
|
|
23
23
|
this.isShadowRoot = "open";
|
|
24
24
|
}
|
|
25
|
-
draw(
|
|
26
|
-
let
|
|
27
|
-
|
|
25
|
+
draw(context, store, params) {
|
|
26
|
+
let fragment = document.createDocumentFragment();
|
|
27
|
+
let slot = document.createElement("slot");
|
|
28
|
+
slot.setAttribute("part", "base");
|
|
29
|
+
slot.classList.add("native-menu-label");
|
|
30
|
+
fragment.appendChild(slot);
|
|
31
|
+
return fragment;
|
|
28
32
|
}
|
|
29
33
|
}
|
|
30
|
-
customElements.get("wj-menu-label") || window.customElements.define("wj-menu-label",
|
|
34
|
+
customElements.get("wj-menu-label") || window.customElements.define("wj-menu-label", MenuLabel);
|
|
31
35
|
export {
|
|
32
|
-
|
|
36
|
+
MenuLabel
|
|
33
37
|
};
|
package/dist/wj-menu.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 s {
|
|
9
|
+
const styles = "/*\n[ Wj Menu ]\n*/\n:host {\n --wj-menu-background: var(--wj-background);\n --wj-menu-border-width: 1px;\n --wj-menu-border-style: solid;\n --wj-menu-border-color: var(--wj-border-color);\n --wj-menu-border-radius: 4px;\n --wj-menu-padding-top: .5rem;\n --wj-menu-padding-bottom: .5rem;\n --wj-menu-padding-inline: 0;\n --wj-menu-margin-top: ;\n --wj-menu-margin-bottom: 0;\n --wj-menu-margin-inline: 0;\n --wj-menu-z-index: 900;\n display: none;\n background: var(--wj-menu-background);\n position: relative;\n border-width: var(--wj-menu-border-width);\n border-style: var(--wj-menu-border-style);\n border-color: var(--wj-menu-border-color);\n z-index: var(--wj-menu-z-index);\n border-radius: var(--wj-border-radius-small);\n padding-top: var(--wj-menu-padding-top);\n padding-bottom: var(--wj-menu-padding-bottom);\n padding-inline: var(--wj-menu-padding-inline);\n margin-top: var(--wj-menu-margin-top);\n margin-bottom: var(--wj-menu-margin-bottom);\n margin-inline: var(--wj-menu-margin-inline);\n overflow: auto;\n overscroll-behavior: none;\n}\n:host .native-menu {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n:host .native-menu ::slotted(wj-button) {\n margin: 0;\n}\n\n:host(.wj-menu-collapse) {\n max-width: 70px !important;\n}\n\n:host([variant=context]) {\n display: block !important;\n margin-left: var(--wj-menu-submenu-offset);\n}\n\n:host([variant=megamenu]) .native-menu {\n flex-direction: row;\n align-items: end;\n flex-wrap: nowrap;\n}\n:host([variant=megamenu]) .native-menu .check-icon {\n display: none;\n}\n\n:host([active]) {\n display: flex !important;\n}";
|
|
10
|
+
class Menu extends WJElement {
|
|
9
11
|
constructor() {
|
|
10
12
|
super();
|
|
11
|
-
|
|
13
|
+
__publicField(this, "className", "Menu");
|
|
12
14
|
}
|
|
13
15
|
static get cssStyleSheet() {
|
|
14
|
-
return
|
|
16
|
+
return styles;
|
|
15
17
|
}
|
|
16
18
|
static get observedAttributes() {
|
|
17
19
|
return ["active", "collapse"];
|
|
@@ -19,16 +21,20 @@ class l extends s {
|
|
|
19
21
|
setupAttributes() {
|
|
20
22
|
this.isShadowRoot = "open";
|
|
21
23
|
}
|
|
22
|
-
draw(
|
|
23
|
-
let
|
|
24
|
-
this.classList.remove("wj-menu-collapse")
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
let
|
|
28
|
-
|
|
24
|
+
draw(context, store, params) {
|
|
25
|
+
let fragment = document.createDocumentFragment();
|
|
26
|
+
this.classList.remove("wj-menu-collapse");
|
|
27
|
+
if (this.hasAttribute("collapse"))
|
|
28
|
+
this.classList.add("wj-menu-collapse");
|
|
29
|
+
let native = document.createElement("div");
|
|
30
|
+
native.classList.add("native-menu");
|
|
31
|
+
let slot = document.createElement("slot");
|
|
32
|
+
native.appendChild(slot);
|
|
33
|
+
fragment.appendChild(native);
|
|
34
|
+
return fragment;
|
|
29
35
|
}
|
|
30
36
|
}
|
|
31
|
-
customElements.get("wj-menu") || window.customElements.define("wj-menu",
|
|
37
|
+
customElements.get("wj-menu") || window.customElements.define("wj-menu", Menu);
|
|
32
38
|
export {
|
|
33
|
-
|
|
39
|
+
Menu
|
|
34
40
|
};
|