wj-elements 0.0.3 → 0.0.5

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.
Files changed (66) hide show
  1. package/dist/router-links-e0087f84.js +146 -0
  2. package/dist/style.css +2 -2365
  3. package/dist/wj-aside.js +18 -22
  4. package/dist/wj-avatar.js +32 -49
  5. package/dist/wj-badge.js +18 -22
  6. package/dist/wj-breadcrumb.js +53 -103
  7. package/dist/wj-breadcrumbs.js +21 -36
  8. package/dist/wj-button-group.js +24 -36
  9. package/dist/wj-button.js +37 -80
  10. package/dist/wj-card-content.js +16 -18
  11. package/dist/wj-card-controls.js +16 -18
  12. package/dist/wj-card-header.js +16 -20
  13. package/dist/wj-card-subtitle.js +17 -19
  14. package/dist/wj-card-title.js +16 -18
  15. package/dist/wj-card.js +16 -20
  16. package/dist/wj-checkbox.js +24 -46
  17. package/dist/wj-chip.js +21 -39
  18. package/dist/wj-col.js +18 -32
  19. package/dist/wj-color-picker.js +503 -868
  20. package/dist/wj-container.js +18 -20
  21. package/dist/wj-copy-button.js +66 -112
  22. package/dist/wj-dialog.js +43 -67
  23. package/dist/wj-divider.js +16 -20
  24. package/dist/wj-dropdown.js +22 -31
  25. package/dist/wj-element.js +241 -416
  26. package/dist/wj-footer.js +16 -18
  27. package/dist/wj-form.js +16 -18
  28. package/dist/wj-grid.js +17 -21
  29. package/dist/wj-header.js +18 -22
  30. package/dist/wj-icon-picker.js +66 -107
  31. package/dist/wj-icon.js +67 -142
  32. package/dist/wj-img-comparer.js +43 -72
  33. package/dist/wj-img.js +21 -31
  34. package/dist/wj-infinite-scroll.js +49 -84
  35. package/dist/wj-input.js +67 -146
  36. package/dist/wj-item.js +19 -34
  37. package/dist/wj-label.js +19 -21
  38. package/dist/wj-list.js +17 -20
  39. package/dist/wj-main.js +16 -18
  40. package/dist/wj-master.js +331 -462
  41. package/dist/wj-menu-button.js +18 -21
  42. package/dist/wj-menu-item.js +67 -144
  43. package/dist/wj-menu-label.js +17 -21
  44. package/dist/wj-menu.js +20 -24
  45. package/dist/wj-popup.js +714 -1140
  46. package/dist/wj-progress-bar.js +42 -100
  47. package/dist/wj-radio-group.js +27 -38
  48. package/dist/wj-radio.js +24 -46
  49. package/dist/wj-route.js +8 -11
  50. package/dist/wj-router-link.js +19 -22
  51. package/dist/wj-router-outlet.js +71 -135
  52. package/dist/wj-routerx.js +641 -1121
  53. package/dist/wj-row.js +20 -22
  54. package/dist/wj-slider.js +55 -97
  55. package/dist/wj-split-view.js +45 -81
  56. package/dist/wj-store.js +110 -195
  57. package/dist/wj-textarea.js +39 -86
  58. package/dist/wj-thumbnail.js +17 -19
  59. package/dist/wj-toast.js +34 -88
  60. package/dist/wj-toggle.js +24 -42
  61. package/dist/wj-toolbar-action.js +16 -27
  62. package/dist/wj-toolbar.js +21 -26
  63. package/dist/wj-tooltip.js +27 -41
  64. package/dist/wj-visually-hidden.js +16 -18
  65. package/package.json +1 -1
  66. package/dist/router-links-26e4a166.js +0 -204
@@ -1,19 +1,19 @@
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";
1
+ var c = Object.defineProperty;
2
+ var i = (n, t, e) => t in n ? c(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e;
3
+ var o = (n, t, e) => (i(n, typeof t != "symbol" ? t + "" : t, e), e);
4
+ import l, { event as u } from "./wj-element.js";
8
5
  import "./wj-store.js";
9
- const styles = "/*!\n* direction.scss\n*/\n/* Skeleton Variables */\n/*\n[ Menu Label ]\n*/\n:host {\n display: inline-flex;\n}\n@media (min-width: 768px) {\n :host {\n display: none;\n }\n}";
10
- class MenuButton extends WJElement {
6
+ const m = `/*!
7
+ * direction.scss
8
+ */:host{display:inline-flex}@media (min-width: 768px){:host{display:none}}
9
+ `;
10
+ class a extends l {
11
11
  constructor() {
12
12
  super();
13
- __publicField(this, "className", "MenuButton");
13
+ o(this, "className", "MenuButton");
14
14
  }
15
15
  static get cssStyleSheet() {
16
- return styles;
16
+ return m;
17
17
  }
18
18
  static get observedAttributes() {
19
19
  return [];
@@ -21,20 +21,17 @@ class MenuButton extends WJElement {
21
21
  setupAttributes() {
22
22
  this.isShadowRoot = "open";
23
23
  }
24
- draw(context, store, params) {
25
- let fragment = document.createDocumentFragment();
26
- let slot = document.createElement("slot");
27
- fragment.appendChild(slot);
28
- return fragment;
24
+ draw(e, d, p) {
25
+ let s = document.createDocumentFragment(), r = document.createElement("slot");
26
+ return s.appendChild(r), s;
29
27
  }
30
28
  afterDraw() {
31
- event.addListener(this, "click", null, (e) => {
32
- console.log("click menu button", this.contentId);
33
- document.querySelector(`#${this.contentId}`).classList.toggle("open");
29
+ u.addListener(this, "click", null, (e) => {
30
+ console.log("click menu button", this.contentId), document.querySelector(`#${this.contentId}`).classList.toggle("open");
34
31
  });
35
32
  }
36
33
  }
37
- customElements.get("wj-menu-button") || window.customElements.define("wj-menu-button", MenuButton);
34
+ customElements.get("wj-menu-button") || window.customElements.define("wj-menu-button", a);
38
35
  export {
39
- MenuButton
36
+ a as MenuButton
40
37
  };
@@ -1,178 +1,101 @@
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";
1
+ var f = Object.defineProperty;
2
+ var g = (o, n, e) => n in o ? f(o, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[n] = e;
3
+ var l = (o, n, e) => (g(o, typeof n != "symbol" ? n + "" : n, e), e);
4
+ import j, { WjElementUtils as y, event as m } from "./wj-element.js";
8
5
  import "./wj-store.js";
9
- const styles = '/*!\n* direction.scss\n*/\n/* Skeleton Variables */\n/*\n[ Menu Item ]\n*/\n:host {\n --wj-menu-submenu-offset: 0;\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-item-color-hover: $color-contrast-high;\n --wj-menu-item-background-hover: $color-contrast-lower;\n --wj-menu-item-color-active: $color-contrast-high;\n --wj-menu-item-background-active: $color-contrast-lower;\n display: block;\n}\n:host .native-menu-item {\n position: relative;\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n color: var(--wj-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, :host .native-menu-item:focus {\n color: var(--wj-menu-item-color-hover);\n background-color: var(--wj-menu-item-background-hover);\n}\n:host .native-menu-item:active {\n color: var(--wj-menu-item-color-active);\n background-color: 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 .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: hidden;\n}\n:host .native-menu-item.has-submenu .submenu-icon {\n visibility: visible;\n}\n:host .native-menu-item.expanded-submenu {\n color: var(--wj-menu-item-color-active);\n background-color: 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-color: var(--wj-menu-item-background-hover);\n}\n:host .native-menu-item.expanded-submenu::after {\n content: "";\n position: fixed;\n z-index: calc(var(--wj-z-index-menu) - 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:host(:focus-visible) {\n outline: none;\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::slotted([slot=end]) {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n margin-inline-start: 0.5rem;\n}\n:host(.wj-menu-variant-nav) ::slotted([slot=submenu]) {\n --wj-menu-border-width: 0 !important;\n}\n:host ::slotted([slot=start]) {\n width: 1.5rem;\n}\n:host ::slotted([slot=submenu]) {\n margin-left: var(--wj-menu-submenu-offset);\n}\n:host(.wj-menu-variant-context) {\n display: block;\n}\n:host(.wj-menu-collapse) .label, :host(.wj-menu-collapse) .submenu-icon {\n display: none !important;\n}\n:host(.wj-menu-collapse) ::slotted([slot=end]) {\n display: none;\n}';
10
- class MenuItem extends WJElement {
6
+ const x = `/*!
7
+ * direction.scss
8
+ */:host{--wj-menu-submenu-offset: 0;--wj-menu-item-padding-top: .5rem;--wj-menu-item-padding-bottom: .5rem;--wj-menu-item-line-height: 1.8rem;--wj-menu-item-safe-triangle-cursor-x: 0;--wj-menu-item-safe-triangle-cursor-y: 0;--wj-menu-item-safe-triangle-submenu-start-x: 0;--wj-menu-item-safe-triangle-submenu-start-y: 0;--wj-menu-item-safe-triangle-submenu-end-x: 0;--wj-menu-item-safe-triangle-submenu-end-y: 0;--wj-menu-item-color-hover: $color-contrast-high;--wj-menu-item-background-hover: $color-contrast-lower;--wj-menu-item-color-active: $color-contrast-high;--wj-menu-item-background-active: $color-contrast-lower;display:block}:host .native-menu-item{position:relative;display:flex;flex-wrap:nowrap;align-items:center;color:var(--wj-color);padding-top:var(--wj-menu-item-padding-top);padding-bottom:var(--wj-menu-item-padding-bottom);transition:var(--wj-transition-fast) fill;-webkit-user-select:none;user-select:none;white-space:nowrap;cursor:pointer;width:100%;line-height:var(--wj-menu-item-line-height)}:host .native-menu-item:hover,:host .native-menu-item:focus{color:var(--wj-menu-item-color-hover);background-color:var(--wj-menu-item-background-hover)}:host .native-menu-item:active{color:var(--wj-menu-item-color-active);background-color:var(--wj-menu-item-background-active)}:host .native-menu-item .label{flex:1 1 auto;display:inline-block;text-overflow:ellipsis;overflow:hidden}:host .native-menu-item .check-icon{flex:0 0 auto;display:var(--wj-menu-item-check-icon-display, flex);align-items:center;justify-content:center;width:1.5rem;visibility:hidden}:host .native-menu-item .check-icon.checked{visibility:visible}:host .native-menu-item .submenu-icon{--wj-icon-size: 14px !important;flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:1.5rem;visibility:hidden}:host .native-menu-item.has-submenu .submenu-icon{visibility:visible}:host .native-menu-item.expanded-submenu{color:var(--wj-menu-item-color-active);background-color:var(--wj-menu-item-background-active)}:host .native-menu-item.expanded-submenu:hover{color:var(--wj-menu-item-color-hover);background-color:var(--wj-menu-item-background-hover)}:host .native-menu-item.expanded-submenu:after{content:"";position:fixed;z-index:calc(var(--wj-z-index-menu) - 1);top:0;right:0;bottom:0;left:0;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))}:host(:focus-visible){outline:none}::slotted([slot=start]){flex:0 0 auto;display:flex;align-items:center;margin-inline-end:.5rem}::slotted([slot=end]){flex:0 0 auto;display:flex;align-items:center;margin-inline-start:.5rem}:host(.wj-menu-variant-nav) ::slotted([slot=submenu]){--wj-menu-border-width: 0 !important}:host ::slotted([slot=start]){width:1.5rem}:host ::slotted([slot=submenu]){margin-left:var(--wj-menu-submenu-offset)}:host(.wj-menu-variant-context){display:block}:host(.wj-menu-collapse) .label,:host(.wj-menu-collapse) .submenu-icon{display:none!important}:host(.wj-menu-collapse) ::slotted([slot=end]){display:none}
9
+ `;
10
+ class A extends j {
11
11
  constructor() {
12
12
  super();
13
- __publicField(this, "className", "MenuItem");
14
- __publicField(this, "dispatchMove", (e) => {
15
- this.style.setProperty("--wj-menu-item-safe-triangle-cursor-x", `${e.clientX}px`);
16
- this.style.setProperty("--wj-menu-item-safe-triangle-cursor-y", `${e.clientY}px`);
13
+ l(this, "className", "MenuItem");
14
+ l(this, "dispatchMove", (e) => {
15
+ this.style.setProperty("--wj-menu-item-safe-triangle-cursor-x", `${e.clientX}px`), this.style.setProperty("--wj-menu-item-safe-triangle-cursor-y", `${e.clientY}px`);
17
16
  });
18
- __publicField(this, "dispatchReposition", (e) => {
19
- let submenu = this.submenu.assignedNodes()[0];
20
- const { left, top, width, height } = submenu.getBoundingClientRect();
21
- this.style.setProperty("--wj-menu-item-safe-triangle-submenu-start-x", `${left}px`);
22
- this.style.setProperty("--wj-menu-item-safe-triangle-submenu-start-y", `${top}px`);
23
- this.style.setProperty("--wj-menu-item-safe-triangle-submenu-end-x", `${left}px`);
24
- this.style.setProperty("--wj-menu-item-safe-triangle-submenu-end-y", `${top + height}px`);
17
+ l(this, "dispatchReposition", (e) => {
18
+ let r = this.submenu.assignedNodes()[0];
19
+ const { left: c, top: s, width: t, height: a } = r.getBoundingClientRect();
20
+ this.style.setProperty("--wj-menu-item-safe-triangle-submenu-start-x", `${c}px`), this.style.setProperty("--wj-menu-item-safe-triangle-submenu-start-y", `${s}px`), this.style.setProperty("--wj-menu-item-safe-triangle-submenu-end-x", `${c}px`), this.style.setProperty("--wj-menu-item-safe-triangle-submenu-end-y", `${s + a}px`);
25
21
  });
26
- this.hasSubmenu = WjElementUtils.hasSlot(this, "submenu");
27
- this._collapsible = false;
22
+ this.hasSubmenu = y.hasSlot(this, "submenu"), this._collapsible = !1;
28
23
  }
29
24
  get placement() {
30
- let menu = this.querySelector("wj-menu");
31
- if (menu == null ? void 0 : menu.hasAttribute("placement")) {
32
- return menu.getAttribute("placement");
33
- }
34
- return "right-start";
25
+ let e = this.querySelector("wj-menu");
26
+ return e != null && e.hasAttribute("placement") ? e.getAttribute("placement") : "right-start";
35
27
  }
36
28
  get offset() {
37
- let menu = this.querySelector("wj-menu");
38
- if (menu == null ? void 0 : menu.hasAttribute("offset")) {
39
- return menu.getAttribute("offset");
40
- }
41
- return "0";
29
+ let e = this.querySelector("wj-menu");
30
+ return e != null && e.hasAttribute("offset") ? e.getAttribute("offset") : "0";
42
31
  }
43
32
  get variant() {
44
- let menu = this.querySelector("wj-menu");
45
- if (menu == null ? void 0 : menu.hasAttribute("variant")) {
46
- return menu.getAttribute("variant").toUpperCase();
47
- }
48
- return "CONTEXT";
33
+ let e = this.querySelector("wj-menu");
34
+ return e != null && e.hasAttribute("variant") ? e.getAttribute("variant").toUpperCase() : "CONTEXT";
49
35
  }
50
36
  get collapse() {
51
- var _a;
52
- return (_a = this.parentElement) == null ? void 0 : _a.hasAttribute("collapse");
37
+ var e;
38
+ return (e = this.parentElement) == null ? void 0 : e.hasAttribute("collapse");
53
39
  }
54
40
  static get cssStyleSheet() {
55
- return styles;
41
+ return x;
56
42
  }
57
43
  static get observedAttributes() {
58
44
  return [];
59
45
  }
60
46
  setupAttributes() {
61
- super.setupAttributes();
62
- this.isShadowRoot = "open";
47
+ super.setupAttributes(), this.isShadowRoot = "open";
63
48
  }
64
- draw(context, store, params) {
65
- var _a;
66
- let fragment = document.createDocumentFragment();
67
- this.classList.add("wj-menu-variant-" + this.variant.toLowerCase());
68
- (_a = this.querySelector("wj-menu")) == null ? void 0 : _a.setAttribute("variant", this.variant.toLowerCase());
69
- if (this.collapse)
70
- this.classList.add("wj-menu-collapse");
71
- let native = document.createElement("div");
72
- native.setAttribute("slot", "anchor");
73
- native.setAttribute("part", "native");
74
- native.setAttribute("id", "anchor");
75
- native.classList.add("native-menu-item");
76
- let checkedIcon = document.createElement("span");
77
- checkedIcon.classList.add("check-icon");
78
- checkedIcon.innerHTML = `<wj-icon name="check"></wj-icon>`;
79
- this.hasAttribute("checked") ? checkedIcon.classList.add("checked") : checkedIcon.classList.remove("checked");
80
- let start = document.createElement("slot");
81
- start.name = "start";
82
- let slot = document.createElement("slot");
83
- slot.classList.add("label");
84
- let end = document.createElement("slot");
85
- end.name = "end";
86
- let submenu = document.createElement("slot");
87
- submenu.setAttribute("part", "submenu");
88
- submenu.name = "submenu";
89
- let submenutIcon = document.createElement("span");
90
- submenutIcon.classList.add("submenu-icon");
91
- submenutIcon.innerHTML = this.collapse ? `<wj-icon name="chevron-down"></wj-icon>` : `<wj-icon name="chevron-right"></wj-icon>`;
92
- this.hasSubmenu ? native.classList.add("has-submenu") : native.classList.remove("has-submenu");
93
- native.appendChild(checkedIcon);
94
- native.appendChild(start);
95
- native.appendChild(slot);
96
- native.appendChild(end);
97
- native.appendChild(submenutIcon);
98
- let isAppend = false;
49
+ draw(e, r, c) {
50
+ var w;
51
+ let s = document.createDocumentFragment();
52
+ this.classList.add("wj-menu-variant-" + this.variant.toLowerCase()), (w = this.querySelector("wj-menu")) == null || w.setAttribute("variant", this.variant.toLowerCase()), this.collapse && this.classList.add("wj-menu-collapse");
53
+ let t = document.createElement("div");
54
+ t.setAttribute("slot", "anchor"), t.setAttribute("part", "native"), t.setAttribute("id", "anchor"), t.classList.add("native-menu-item");
55
+ let a = document.createElement("span");
56
+ a.classList.add("check-icon"), a.innerHTML = '<wj-icon name="check"></wj-icon>', this.hasAttribute("checked") ? a.classList.add("checked") : a.classList.remove("checked");
57
+ let d = document.createElement("slot");
58
+ d.name = "start";
59
+ let p = document.createElement("slot");
60
+ p.classList.add("label");
61
+ let b = document.createElement("slot");
62
+ b.name = "end";
63
+ let u = document.createElement("slot");
64
+ u.setAttribute("part", "submenu"), u.name = "submenu";
65
+ let h = document.createElement("span");
66
+ h.classList.add("submenu-icon"), h.innerHTML = this.collapse ? '<wj-icon name="chevron-down"></wj-icon>' : '<wj-icon name="chevron-right"></wj-icon>', this.hasSubmenu ? t.classList.add("has-submenu") : t.classList.remove("has-submenu"), t.appendChild(a), t.appendChild(d), t.appendChild(p), t.appendChild(b), t.appendChild(h);
67
+ let v = !1;
99
68
  if (this.collapse && this.variant === "NAV" && this.hasSubmenu || this.variant === "CONTEXT" && this.hasSubmenu) {
100
- let popup = document.createElement("wj-popup");
101
- popup.setAttribute("anchor", "anchor");
102
- popup.setAttribute("placement", this.placement);
103
- popup.setAttribute("offset", this.offset);
104
- popup.appendChild(native);
105
- popup.appendChild(submenu);
106
- this.popup = popup;
107
- fragment.appendChild(popup);
108
- isAppend = true;
109
- }
110
- this.native = native;
111
- this.submenu = submenu;
112
- if (this.collapse && !this.hasSubmenu) {
113
- let tooltip = document.createElement("wj-tooltip");
114
- tooltip.setAttribute("content", this.textContent);
115
- tooltip.setAttribute("placement", "right");
116
- tooltip.setAttribute("offset", this.offset || "0");
117
- tooltip.appendChild(native);
118
- fragment.appendChild(tooltip);
119
- } else if (!isAppend) {
120
- fragment.appendChild(native);
69
+ let i = document.createElement("wj-popup");
70
+ i.setAttribute("anchor", "anchor"), i.setAttribute("placement", this.placement), i.setAttribute("offset", this.offset), i.appendChild(t), i.appendChild(u), this.popup = i, s.appendChild(i), v = !0;
121
71
  }
122
- if (!this.collapse && this.variant === "NAV" || this.variant === "MEGAMENU" && this.hasSubmenu) {
123
- fragment.appendChild(submenu);
124
- }
125
- return fragment;
72
+ if (this.native = t, this.submenu = u, this.collapse && !this.hasSubmenu) {
73
+ let i = document.createElement("wj-tooltip");
74
+ i.setAttribute("content", this.textContent), i.setAttribute("placement", "right"), i.setAttribute("offset", this.offset || "0"), i.appendChild(t), s.appendChild(i);
75
+ } else
76
+ v || s.appendChild(t);
77
+ return (!this.collapse && this.variant === "NAV" || this.variant === "MEGAMENU" && this.hasSubmenu) && s.appendChild(u), s;
126
78
  }
127
79
  afterDraw() {
128
- this.addEventListener("mousemove", this.dispatchMove);
129
- this.addEventListener("wj-popup:reposition", this.dispatchReposition);
130
- event.addListener(this, "mouseover", null, (e) => {
131
- if (this.hasAttribute("manual"))
132
- return;
133
- e.stopPropagation();
134
- this.showSubmenu();
135
- this.focus();
136
- });
137
- event.addListener(this, "focusout", null, (e) => {
138
- if (e.relatedTarget && this.contains(e.relatedTarget)) {
139
- return;
140
- }
141
- this.hideSubmenu();
80
+ this.addEventListener("mousemove", this.dispatchMove), this.addEventListener("wj-popup:reposition", this.dispatchReposition), m.addListener(this, "mouseover", null, (e) => {
81
+ this.hasAttribute("manual") || (e.stopPropagation(), this.showSubmenu(), this.focus());
82
+ }), m.addListener(this, "focusout", null, (e) => {
83
+ e.relatedTarget && this.contains(e.relatedTarget) || this.hideSubmenu();
84
+ }), !this.collapse && this.variant === "NAV" && this.hasSubmenu ? m.addListener(this, "click", null, (e) => {
85
+ let r = this.submenu.assignedElements({ flatten: !0 })[0];
86
+ r.hasAttribute("active") ? this === e.target && r.removeAttribute("active") : r.setAttribute("active", ""), e.stopPropagation();
87
+ }) : m.addListener(this, "click", null, (e) => {
88
+ console.log("CLICK", this);
142
89
  });
143
- if (!this.collapse && this.variant === "NAV" && this.hasSubmenu) {
144
- event.addListener(this, "click", null, (e) => {
145
- let submenutElements = this.submenu.assignedElements({ flatten: true })[0];
146
- if (!submenutElements.hasAttribute("active")) {
147
- submenutElements.setAttribute("active", "");
148
- } else {
149
- if (this === e.target)
150
- submenutElements.removeAttribute("active");
151
- }
152
- e.stopPropagation();
153
- });
154
- } else {
155
- event.addListener(this, "click", null, (e) => {
156
- console.log("CLICK", this);
157
- });
158
- }
159
90
  }
160
91
  showSubmenu() {
161
- this.tabIndex = -1;
162
- if (this.hasSubmenu) {
163
- this.popup.setAttribute("active", "");
164
- this.native.classList.add("expanded-submenu");
165
- }
92
+ this.tabIndex = -1, this.hasSubmenu && (this.popup.setAttribute("active", ""), this.native.classList.add("expanded-submenu"));
166
93
  }
167
94
  hideSubmenu() {
168
- this.tabIndex = 0;
169
- if (this.hasSubmenu) {
170
- this.popup.removeAttribute("active");
171
- this.native.classList.remove("expanded-submenu");
172
- }
95
+ this.tabIndex = 0, this.hasSubmenu && (this.popup.removeAttribute("active"), this.native.classList.remove("expanded-submenu"));
173
96
  }
174
97
  }
175
- customElements.get("wj-menu-item") || window.customElements.define("wj-menu-item", MenuItem);
98
+ customElements.get("wj-menu-item") || window.customElements.define("wj-menu-item", A);
176
99
  export {
177
- MenuItem
100
+ A as MenuItem
178
101
  };
@@ -1,20 +1,20 @@
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";
1
+ var r = Object.defineProperty;
2
+ var o = (t, e, n) => e in t ? r(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
+ var l = (t, e, n) => (o(t, typeof e != "symbol" ? e + "" : e, n), n);
4
+ import i, { WjElementUtils as m } from "./wj-element.js";
8
5
  import "./wj-store.js";
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: rgba(33, 33, 33, 0.62);\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 {
6
+ const d = `/*!
7
+ * direction.scss
8
+ */:host{--wj-menu-label-font-size: .75rem;--wj-menu-label-weight: 600;--wj-letter-spacing: .025rem;--wj-menu-label-color: rgba(33, 33, 33, .62);--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 {
11
11
  constructor() {
12
12
  super();
13
- __publicField(this, "className", "MenuLabel");
14
- this.hasSubmenu = WjElementUtils.hasSlot(this, "submenu");
13
+ l(this, "className", "MenuLabel");
14
+ this.hasSubmenu = m.hasSlot(this, "submenu");
15
15
  }
16
16
  static get cssStyleSheet() {
17
- return styles;
17
+ return d;
18
18
  }
19
19
  static get observedAttributes() {
20
20
  return [];
@@ -22,16 +22,12 @@ class MenuLabel extends WJElement {
22
22
  setupAttributes() {
23
23
  this.isShadowRoot = "open";
24
24
  }
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;
25
+ draw(n, c, p) {
26
+ let s = document.createDocumentFragment(), a = document.createElement("slot");
27
+ return a.setAttribute("part", "base"), a.classList.add("native-menu-label"), s.appendChild(a), s;
32
28
  }
33
29
  }
34
- customElements.get("wj-menu-label") || window.customElements.define("wj-menu-label", MenuLabel);
30
+ customElements.get("wj-menu-label") || window.customElements.define("wj-menu-label", u);
35
31
  export {
36
- MenuLabel
32
+ u as MenuLabel
37
33
  };
package/dist/wj-menu.js CHANGED
@@ -1,19 +1,19 @@
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";
1
+ var d = Object.defineProperty;
2
+ var s = (t, e, n) => e in t ? d(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
+ var a = (t, e, n) => (s(t, typeof e != "symbol" ? e + "" : e, n), n);
4
+ import m from "./wj-element.js";
8
5
  import "./wj-store.js";
9
- const styles = "/*!\n* direction.scss\n*/\n/* Skeleton Variables */\n/*\n[ Menu ]\n*/\n:host {\n --wj-menu-background: #fff;\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-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-menu-border-radius);\n -webkit-border-radius: var(--wj-menu-border-radius);\n -moz-border-radius: var(--wj-menu-border-radius);\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 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:host(.wj-menu-collapse) {\n max-width: 70px !important;\n}\n:host([variant=context]) {\n display: block !important;\n margin-left: var(--wj-menu-submenu-offset);\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:host([active]) {\n display: flex !important;\n}";
10
- class Menu extends WJElement {
6
+ const u = `/*!
7
+ * direction.scss
8
+ */:host{--wj-menu-background: #fff;--wj-menu-border-width: 1px;--wj-menu-border-style: solid;--wj-menu-border-color: var(--wj-border-color);--wj-menu-border-radius: 4px;--wj-menu-padding-top: .5rem;--wj-menu-padding-bottom: .5rem;--wj-menu-padding-inline: 0;--wj-menu-z-index: 900;display:none;background:var(--wj-menu-background);position:relative;border-width:var(--wj-menu-border-width);border-style:var(--wj-menu-border-style);border-color:var(--wj-menu-border-color);z-index:var(--wj-menu-z-index);border-radius:var(--wj-menu-border-radius);-webkit-border-radius:var(--wj-menu-border-radius);-moz-border-radius:var(--wj-menu-border-radius);padding-top:var(--wj-menu-padding-top);padding-bottom:var(--wj-menu-padding-bottom);padding-inline:var(--wj-menu-padding-inline);overflow:auto;overscroll-behavior:none}:host .native-menu{display:flex;flex-direction:column;width:100%}:host .native-menu ::slotted(wj-button){margin:0}:host(.wj-menu-collapse){max-width:70px!important}:host([variant=context]){display:block!important;margin-left:var(--wj-menu-submenu-offset)}:host([variant=megamenu]) .native-menu{flex-direction:row;align-items:end;flex-wrap:nowrap}:host([variant=megamenu]) .native-menu .check-icon{display:none}:host([active]){display:flex!important}
9
+ `;
10
+ class l extends m {
11
11
  constructor() {
12
12
  super();
13
- __publicField(this, "className", "Menu");
13
+ a(this, "className", "Menu");
14
14
  }
15
15
  static get cssStyleSheet() {
16
- return styles;
16
+ return u;
17
17
  }
18
18
  static get observedAttributes() {
19
19
  return ["active"];
@@ -21,20 +21,16 @@ class Menu extends WJElement {
21
21
  setupAttributes() {
22
22
  this.isShadowRoot = "open";
23
23
  }
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;
24
+ draw(n, c, w) {
25
+ let o = document.createDocumentFragment();
26
+ this.classList.remove("wj-menu-collapse"), this.hasAttribute("collapse") && this.classList.add("wj-menu-collapse");
27
+ let r = document.createElement("div");
28
+ r.classList.add("native-menu");
29
+ let i = document.createElement("slot");
30
+ return r.appendChild(i), o.appendChild(r), o;
35
31
  }
36
32
  }
37
- customElements.get("wj-menu") || window.customElements.define("wj-menu", Menu);
33
+ customElements.get("wj-menu") || window.customElements.define("wj-menu", l);
38
34
  export {
39
- Menu
35
+ l as Menu
40
36
  };