scb-wc-test 0.1.34 → 0.1.35
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/all.js +60 -0
- package/mvc/components/scb-breadcrumb/scb-breadcrumb-item.js +3 -11
- package/mvc/components/scb-breadcrumb/scb-breadcrumb.js +7 -6
- package/mvc/components/scb-menu/scb-menu-item.js +43 -25
- package/mvc/components/scb-menu/scb-menu.js +35 -8
- package/mvc/components/scb-menu/scb-sub-menu.js +10 -6
- package/package.json +281 -264
- package/scb-breadcrumb/scb-breadcrumb-item.js +9 -17
- package/scb-breadcrumb/scb-breadcrumb.d.ts +3 -0
- package/scb-breadcrumb/scb-breadcrumb.js +34 -24
- package/scb-menu/scb-menu-item.d.ts +5 -4
- package/scb-menu/scb-menu-item.js +130 -63
- package/scb-menu/scb-menu.d.ts +3 -0
- package/scb-menu/scb-menu.js +78 -38
- package/scb-menu/scb-sub-menu.js +23 -19
- package/scb-wc-test.bundle.js +526 -483
- package/mvc/fonts/inter/InterVariable.woff2 +0 -0
- package/mvc/fonts/material-symbols/material-symbols-outlined-latin-fill-normal.woff2 +0 -0
- package/mvc/fonts/material-symbols/material-symbols-outlined-latin-full-normal.woff2 +0 -0
- package/mvc/fonts/material-symbols/material-symbols-outlined-latin-grad-normal.woff2 +0 -0
- package/mvc/fonts/material-symbols/material-symbols-outlined-latin-opsz-normal.woff2 +0 -0
- package/mvc/fonts/material-symbols/material-symbols-outlined-latin-standard-normal.woff2 +0 -0
- package/mvc/fonts/material-symbols/material-symbols-outlined-latin-wght-normal.woff2 +0 -0
package/all.js
CHANGED
|
@@ -1,4 +1,64 @@
|
|
|
1
|
+
import './all.js';
|
|
1
2
|
import './index.js';
|
|
3
|
+
import './mvc/components/all.js';
|
|
4
|
+
import './mvc/components/scb-accordion/scb-accordion-item.js';
|
|
5
|
+
import './mvc/components/scb-accordion/scb-accordion.js';
|
|
6
|
+
import './mvc/components/scb-app-bar/scb-app-bar.js';
|
|
7
|
+
import './mvc/components/scb-avatar/scb-avatar.js';
|
|
8
|
+
import './mvc/components/scb-breadcrumb/scb-breadcrumb-item.js';
|
|
9
|
+
import './mvc/components/scb-breadcrumb/scb-breadcrumb.js';
|
|
10
|
+
import './mvc/components/scb-button/scb-button.js';
|
|
11
|
+
import './mvc/components/scb-calendar-card/scb-calendar-card.js';
|
|
12
|
+
import './mvc/components/scb-card/scb-card.js';
|
|
13
|
+
import './mvc/components/scb-checkbox/scb-checkbox-group.js';
|
|
14
|
+
import './mvc/components/scb-checkbox/scb-checkbox.js';
|
|
15
|
+
import './mvc/components/scb-chip/scb-chip.js';
|
|
16
|
+
import './mvc/components/scb-dialog/scb-dialog.js';
|
|
17
|
+
import './mvc/components/scb-divider/scb-divider.js';
|
|
18
|
+
import './mvc/components/scb-drawer/scb-drawer-item.js';
|
|
19
|
+
import './mvc/components/scb-drawer/scb-drawer-section.js';
|
|
20
|
+
import './mvc/components/scb-drawer/scb-drawer.js';
|
|
21
|
+
import './mvc/components/scb-drawer/scb-sub-drawer.js';
|
|
22
|
+
import './mvc/components/scb-fact-card/scb-fact-card-content.js';
|
|
23
|
+
import './mvc/components/scb-fact-card/scb-fact-card.js';
|
|
24
|
+
import './mvc/components/scb-footer/scb-footer-section.js';
|
|
25
|
+
import './mvc/components/scb-footer/scb-footer.js';
|
|
26
|
+
import './mvc/components/scb-grid/scb-grid-item.js';
|
|
27
|
+
import './mvc/components/scb-grid/scb-grid.js';
|
|
28
|
+
import './mvc/components/scb-grid/scb-stack.js';
|
|
29
|
+
import './mvc/components/scb-header/scb-header-drawer-group.js';
|
|
30
|
+
import './mvc/components/scb-header/scb-header-drawer-item.js';
|
|
31
|
+
import './mvc/components/scb-header/scb-header-tab.js';
|
|
32
|
+
import './mvc/components/scb-header/scb-header-utility.js';
|
|
33
|
+
import './mvc/components/scb-header/scb-header.js';
|
|
34
|
+
import './mvc/components/scb-icon-button/scb-icon-button.js';
|
|
35
|
+
import './mvc/components/scb-keyfigure-card/scb-keyfigure-card.js';
|
|
36
|
+
import './mvc/components/scb-link/scb-link.js';
|
|
37
|
+
import './mvc/components/scb-list/scb-list-item.js';
|
|
38
|
+
import './mvc/components/scb-list/scb-list.js';
|
|
39
|
+
import './mvc/components/scb-menu/scb-menu-item.js';
|
|
40
|
+
import './mvc/components/scb-menu/scb-menu.js';
|
|
41
|
+
import './mvc/components/scb-menu/scb-sub-menu.js';
|
|
42
|
+
import './mvc/components/scb-notification/scb-notification.js';
|
|
43
|
+
import './mvc/components/scb-notification-card/scb-notification-card.js';
|
|
44
|
+
import './mvc/components/scb-progress-indicator/scb-progress-indicator.js';
|
|
45
|
+
import './mvc/components/scb-radio-button/scb-radio-button.js';
|
|
46
|
+
import './mvc/components/scb-radio-button/scb-radio-group.js';
|
|
47
|
+
import './mvc/components/scb-search/scb-search.js';
|
|
48
|
+
import './mvc/components/scb-snackbar/scb-snackbar.js';
|
|
49
|
+
import './mvc/components/scb-status-pill/scb-status-pill.js';
|
|
50
|
+
import './mvc/components/scb-switch/scb-switch.js';
|
|
51
|
+
import './mvc/components/scb-tabs/scb-primary-tab.js';
|
|
52
|
+
import './mvc/components/scb-tabs/scb-secondary-tab.js';
|
|
53
|
+
import './mvc/components/scb-tabs/scb-tabs.js';
|
|
54
|
+
import './mvc/components/scb-textfield/scb-textfield.js';
|
|
55
|
+
import './mvc/components/scb-toc/scb-toc-item.js';
|
|
56
|
+
import './mvc/components/scb-toc/scb-toc.js';
|
|
57
|
+
import './mvc/components/scb-tooltip/scb-tooltip.js';
|
|
58
|
+
import './mvc/vendor/preload-helper.js';
|
|
59
|
+
import './mvc/vendor/vendor-lit.js';
|
|
60
|
+
import './mvc/vendor/vendor-material.js';
|
|
61
|
+
import './mvc/vendor/vendor.js';
|
|
2
62
|
import './scb-accordion/scb-accordion-item.js';
|
|
3
63
|
import './scb-accordion/scb-accordion.js';
|
|
4
64
|
import './scb-app-bar/scb-app-bar.js';
|
|
@@ -1,17 +1,9 @@
|
|
|
1
|
-
import{n as l,t as p,i as b,a as
|
|
1
|
+
import{n as l,t as p,i as b,a as f,x as u}from"../../vendor/vendor.js";import"../scb-link/scb-link.js";import"../../vendor/vendor-material.js";(function(){try{var i=typeof globalThis<"u"?globalThis:window;if(!i.__scb_ce_guard_installed__){i.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(r,s,e){try{customElements.get(r)||t(r,s,e)}catch(n){var a=String(n||"");if(a.indexOf("already been used")===-1&&a.indexOf("NotSupportedError")===-1)throw n}}}}catch{}})();var d=Object.defineProperty,m=Object.getOwnPropertyDescriptor,o=(i,t,r,s)=>{for(var e=s>1?void 0:s?m(t,r):t,a=i.length-1,n;a>=0;a--)(n=i[a])&&(e=(s?n(t,r,e):n(e))||e);return s&&e&&d(t,r,e),e};let c=class extends b{constructor(){super(...arguments),this.label="",this.isCurrent=!1,this.href=""}static get styles(){return f`
|
|
2
2
|
.breadcrumb-separator {
|
|
3
|
-
margin: 0
|
|
3
|
+
margin: var(--spacing-0) var(--spacing-3);
|
|
4
4
|
color: var(--md-sys-color-on-surface);
|
|
5
5
|
}
|
|
6
|
-
.breadcrumb-link {
|
|
7
|
-
color: var(--md-sys-color-primary);
|
|
8
|
-
text-decoration-thickness: 1px;
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
.breadcrumb-link:hover {
|
|
12
|
-
text-decoration-thickness: 2px;
|
|
13
|
-
}
|
|
14
6
|
`}render(){switch(!0){case this.isCurrent:return u`<span class="breadcrumb-current">${this.label}</span>`;default:return u`
|
|
15
7
|
<scb-link href="${this.href}">${this.label}</scb-link>
|
|
16
8
|
<span class="breadcrumb-separator">/</span>
|
|
17
|
-
`}}};
|
|
9
|
+
`}}};o([l({type:String})],c.prototype,"label",2);o([l({type:Boolean,attribute:"is-current"})],c.prototype,"isCurrent",2);o([l({type:String,attribute:"item-href"})],c.prototype,"href",2);c=o([p("scb-breadcrumb-item")],c);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import{n as d,t as
|
|
1
|
+
import{n as d,t as b,i as m,a as p,x as o}from"../../vendor/vendor.js";import"./scb-breadcrumb-item.js";import"../../vendor/vendor-material.js";import"../scb-link/scb-link.js";(function(){try{var e=typeof globalThis<"u"?globalThis:window;if(!e.__scb_ce_guard_installed__){e.__scb_ce_guard_installed__=!0;var r=customElements.define.bind(customElements);customElements.define=function(s,t,a){try{customElements.get(s)||r(s,t,a)}catch(l){var i=String(l||"");if(i.indexOf("already been used")===-1&&i.indexOf("NotSupportedError")===-1)throw l}}}}catch{}})();var u=Object.defineProperty,h=Object.getOwnPropertyDescriptor,c=(e,r,s,t)=>{for(var a=t>1?void 0:t?h(r,s):r,i=e.length-1,l;i>=0;i--)(l=e[i])&&(a=(t?l(r,s,a):l(a))||a);return t&&a&&u(r,s,a),a};let n=class extends m{constructor(){super(...arguments),this.showAll=!1}static get styles(){return p`
|
|
2
2
|
.scb-breadcrumb {
|
|
3
3
|
display: flex;
|
|
4
4
|
align-items: center;
|
|
5
5
|
flex-wrap: wrap;
|
|
6
6
|
}
|
|
7
7
|
.breadcrumb-separator {
|
|
8
|
-
margin: 0
|
|
8
|
+
margin: var(--spacing-0) var(--spacing-3);
|
|
9
9
|
color: var(--md-sys-color-on-surface);
|
|
10
10
|
}
|
|
11
11
|
.collapsed > scb-breadcrumb-item {
|
|
@@ -13,7 +13,8 @@ import{n as d,t as m,i as p,a as b,x as o}from"../../vendor/vendor.js";import"./
|
|
|
13
13
|
}
|
|
14
14
|
.collapsed > scb-breadcrumb-item:nth-child(-n+3),
|
|
15
15
|
.collapsed > scb-breadcrumb-item:nth-last-child(-n+3) {
|
|
16
|
-
display:
|
|
16
|
+
display: flex;
|
|
17
|
+
align-items: anchor-center;
|
|
17
18
|
}
|
|
18
19
|
.ellipsis:focus {
|
|
19
20
|
outline: none;
|
|
@@ -51,9 +52,9 @@ import{n as d,t as m,i as p,a as b,x as o}from"../../vendor/vendor.js";import"./
|
|
|
51
52
|
transform: translateY(0);
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
|
-
`}_onEllipsisClick(){this.showAll?this.showAll=!1:(this.showAll=!0,this.updateComplete.then(()=>{const e=this.shadowRoot?.querySelectorAll(".scb-breadcrumb.expanded > scb-breadcrumb-item");e&&(e.forEach((r,s)=>{r.classList.add("breadcrumb-animate"),r.style.animationDelay=`${s*60}ms`}),setTimeout(()=>{e.forEach(r=>{r.classList.remove("breadcrumb-animate"),r.style.animationDelay=""})},600))}))}render(){let e=[];this.children.length||(e=Array.from(this.shadowRoot?this.shadowRoot.querySelectorAll("scb-breadcrumb-item"):[])),e.length||(e=Array.from(this.children).filter(s=>s.tagName.toLowerCase()==="scb-breadcrumb-item")),e.length>0&&e[e.length-1].setAttribute("is-current","true");const r=e.length>6&&!this.showAll;return o`
|
|
55
|
+
`}_onEllipsisClick(){this.showAll?this.showAll=!1:(this.showAll=!0,this.updateComplete.then(()=>{const e=this.shadowRoot?.querySelectorAll(".scb-breadcrumb.expanded > scb-breadcrumb-item");e&&(e.forEach((r,s)=>{r.classList.add("breadcrumb-animate"),r.style.animationDelay=`${s*60}ms`}),setTimeout(()=>{e.forEach(r=>{r.classList.remove("breadcrumb-animate"),r.style.animationDelay=""})},600))}))}connectedCallback(){super.connectedCallback(),this._observer=new MutationObserver(()=>{this.requestUpdate()}),this._observer.observe(this,{childList:!0})}disconnectedCallback(){super.disconnectedCallback(),this._observer?.disconnect()}render(){let e=[];this.children.length||(e=Array.from(this.shadowRoot?this.shadowRoot.querySelectorAll("scb-breadcrumb-item"):[])),e.length||(e=Array.from(this.children).filter(s=>s.tagName.toLowerCase()==="scb-breadcrumb-item")),e.length>0&&e[e.length-1].setAttribute("is-current","true");const r=e.length>6&&!this.showAll;return o`
|
|
55
56
|
<div class="scb-breadcrumb ${r?"collapsed":"expanded"}">
|
|
56
|
-
${r?e.map((s,
|
|
57
|
+
${r?e.map((s,t)=>t===3?o`<span
|
|
57
58
|
class="ellipsis"
|
|
58
59
|
aria-label="Visa alla"
|
|
59
60
|
role="button"
|
|
@@ -62,4 +63,4 @@ import{n as d,t as m,i as p,a as b,x as o}from"../../vendor/vendor.js";import"./
|
|
|
62
63
|
@keydown=${a=>{(a.key==="Enter"||a.key===" ")&&this._onEllipsisClick()}}
|
|
63
64
|
><md-icon><md-focus-ring></md-focus-ring>more_horiz</md-icon></span><span class="breadcrumb-separator">/</span>${s}`:o`${s}`):e.map(s=>s)}
|
|
64
65
|
</div>
|
|
65
|
-
`}};c([d({type:Boolean})],n.prototype,"showAll",2);n=c([
|
|
66
|
+
`}};c([d({type:Boolean})],n.prototype,"showAll",2);n=c([b("scb-breadcrumb")],n);
|
|
@@ -1,44 +1,62 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
${this.
|
|
1
|
+
import{a as h,n as a,i as d,x as r,t as p}from"../../vendor/vendor.js";import"../scb-divider/scb-divider.js";import"../../vendor/vendor-material.js";(function(){try{var e=typeof globalThis<"u"?globalThis:window;if(!e.__scb_ce_guard_installed__){e.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(i,n,o){try{customElements.get(i)||t(i,n,o)}catch(c){var u=String(c||"");if(u.indexOf("already been used")===-1&&u.indexOf("NotSupportedError")===-1)throw c}}}}catch{}})();var m=Object.defineProperty,b=Object.getOwnPropertyDescriptor,l=(e,t,i,n)=>{for(var o=n>1?void 0:n?b(t,i):t,u=e.length-1,c;u>=0;u--)(c=e[u])&&(o=(n?c(t,i,o):c(o))||o);return n&&o&&m(t,i,o),o};let s=class extends d{constructor(){super(...arguments),this.label="",this.hasSubMenu=!1,this.openLeft=!1,this.divider=!1,this.leadingIcon="",this.trailingIcon="",this.itemHref="",this.handleClick=e=>{this.itemHref?this._navigateToHref(e):this._toggleSubMenu()},this._onBlur=e=>{const t=this.closest("scb-sub-menu");if(t&&t.open){const i=e.relatedTarget;(!i||!t.contains(i))&&t.dispatchEvent(new CustomEvent("hide-submenu",{bubbles:!0,composed:!0}))}},this._onFocus=()=>{const e=this.nextElementSibling;this.classList.contains("open-submenu")&&(e&&e.tagName==="SCB-SUB-MENU"&&e.hasAttribute("open")||this.classList.remove("open-submenu"))},this._onKeyDown=e=>{if(e.key==="Enter"||e.key===" "){e.preventDefault(),this.handleClick(e);return}if(e.key==="ArrowDown"){e.preventDefault();let t=this.nextElementSibling;for(;t&&t.tagName!=="SCB-MENU-ITEM";)t=t.nextElementSibling;t&&t.shadowRoot?.querySelector("li")?.focus();return}if(e.key==="ArrowUp"){e.preventDefault();let t=this.previousElementSibling;for(;t&&t.tagName!=="SCB-MENU-ITEM";)t=t.previousElementSibling;t&&t.shadowRoot?.querySelector("li")?.focus();return}if(e.key==="ArrowRight"){e.preventDefault();const t=this.nextElementSibling;t&&t.tagName==="SCB-SUB-MENU"&&(t.hasAttribute("open")||(this._toggleSubMenu(),t.dispatchEvent(new CustomEvent("show-submenu",{bubbles:!0,composed:!0}))),setTimeout(()=>{const i=t.querySelector("scb-menu-item");i&&i.shadowRoot?.querySelector("li")?.focus()},0));return}if(e.key==="ArrowLeft"){e.preventDefault();const t=this.nextElementSibling;if(t&&t.tagName==="SCB-SUB-MENU"&&t.hasAttribute("open")){this._toggleSubMenu(),t.dispatchEvent(new CustomEvent("hide-submenu",{bubbles:!0,composed:!0}));return}const i=this.closest("scb-sub-menu");if(i){const n=i.previousElementSibling;n&&n.tagName==="SCB-MENU-ITEM"&&n.shadowRoot?.querySelector("li")?.focus()}return}}}updated(){const e=this.nextElementSibling;this.hasSubMenu=!!(e&&e.tagName==="SCB-SUB-MENU"),this.openLeft=!!(this.hasSubMenu&&e&&e.hasAttribute("open-left"))}render(){return r`
|
|
2
|
+
${this.divider?r`<scb-divider></scb-divider>`:""}
|
|
3
|
+
<li @click=${this.handleClick} @keydown=${this._onKeyDown} @blur=${this._onBlur} @focus=${this._onFocus} role="menuitem" tabindex="0">
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
<md-focus-ring inward></md-focus-ring>
|
|
7
|
+
${this.itemHref?r`<a href="${this.itemHref}">
|
|
8
|
+
${this.leadingIcon?r`<md-icon>${this.leadingIcon}</md-icon>`:""}
|
|
9
|
+
<div class="label">${this.label}</div>
|
|
10
|
+
${this.trailingIcon?r`<md-icon class="ti">${this.trailingIcon}</md-icon>`:""}
|
|
9
11
|
<md-ripple></md-ripple>
|
|
10
|
-
</a>`:
|
|
11
|
-
${this.leadingIcon?
|
|
12
|
-
<div>${this.label}</div>
|
|
13
|
-
${this.trailingIcon?
|
|
12
|
+
</a>`:r`
|
|
13
|
+
${this.leadingIcon?r`<md-icon>${this.leadingIcon}</md-icon>`:""}
|
|
14
|
+
<div class="label">${this.label}</div>
|
|
15
|
+
${this.trailingIcon?r`<md-icon class="ti">${this.trailingIcon}</md-icon>`:""}
|
|
14
16
|
<md-ripple></md-ripple>
|
|
15
17
|
`}
|
|
16
18
|
</li>
|
|
17
|
-
`}_navigateToHref(e){this.itemHref&&(window.location.href=this.itemHref),e.stopPropagation()}_toggleSubMenu(){const e=this.nextElementSibling;e&&e.tagName==="SCB-SUB-MENU"&&(e.hasAttribute("open")?e.dispatchEvent(new CustomEvent("hide-submenu",{bubbles:!0,composed:!0})):e.dispatchEvent(new CustomEvent("show-submenu",{bubbles:!0,composed:!0})))}};
|
|
18
|
-
:host {
|
|
19
|
+
`}_navigateToHref(e){this.itemHref&&(window.location.href=this.itemHref),e.stopPropagation()}_toggleSubMenu(){const e=this.nextElementSibling;e&&e.tagName==="SCB-SUB-MENU"&&(this.classList.toggle("open-submenu"),e.hasAttribute("open")?e.dispatchEvent(new CustomEvent("hide-submenu",{bubbles:!0,composed:!0})):e.dispatchEvent(new CustomEvent("show-submenu",{bubbles:!0,composed:!0})))}};s.styles=h`
|
|
20
|
+
:host {
|
|
21
|
+
display: block;
|
|
22
|
+
}
|
|
19
23
|
:host li{
|
|
20
24
|
position: relative;
|
|
21
25
|
list-style: none;
|
|
22
|
-
padding:
|
|
26
|
+
padding: var(--spacing-3) var(--spacing-5);
|
|
23
27
|
cursor: pointer;
|
|
24
28
|
min-height: 56px;
|
|
25
|
-
font-size: 18px;
|
|
26
29
|
display: flex;
|
|
27
|
-
gap:
|
|
30
|
+
gap: var(--spacing-4);
|
|
28
31
|
align-items: center;
|
|
29
|
-
|
|
30
|
-
|
|
32
|
+
|
|
33
|
+
}
|
|
34
|
+
:host li .label {
|
|
35
|
+
font-size: var(--md-sys-typescale-body-large-size);
|
|
36
|
+
line-height: var(--md-sys-typescale-body-large-line-height);
|
|
37
|
+
letter-spacing: var(--md-sys-typescale-body-large-tracking);
|
|
31
38
|
}
|
|
39
|
+
:host li md-focus-ring {
|
|
40
|
+
border-radius: var(--md-sys-shape-corner-small);
|
|
41
|
+
position: absolute;
|
|
42
|
+
inset: 0;
|
|
43
|
+
pointer-events: none;
|
|
44
|
+
z-index: 1;
|
|
45
|
+
}
|
|
46
|
+
:host li md-icon.ti {
|
|
47
|
+
margin-left: auto;
|
|
48
|
+
}
|
|
32
49
|
:host li a {
|
|
33
50
|
display: flex;
|
|
34
|
-
gap:
|
|
51
|
+
gap: var(--spacing-4);
|
|
35
52
|
align-items: center;
|
|
36
53
|
color: var(--md-sys-color-on-surface);
|
|
37
54
|
text-decoration: none;
|
|
38
55
|
}
|
|
39
|
-
|
|
40
|
-
--md-
|
|
41
|
-
|
|
56
|
+
:host(.open-submenu) li {
|
|
57
|
+
background: var(--md-sys-color-secondary-container);
|
|
58
|
+
}
|
|
59
|
+
:host li:focus {
|
|
60
|
+
outline: none;
|
|
42
61
|
}
|
|
43
|
-
|
|
44
|
-
`;o([s({type:String})],t.prototype,"label",2);o([s({type:Boolean})],t.prototype,"hasSubMenu",2);o([s({type:Boolean})],t.prototype,"openLeft",2);o([s({type:Boolean})],t.prototype,"divider",2);o([s({type:String,attribute:"leading-icon"})],t.prototype,"leadingIcon",2);o([s({type:String,attribute:"trailing-icon"})],t.prototype,"trailingIcon",2);o([s({type:String,attribute:"item-href"})],t.prototype,"itemHref",2);t=o([u("scb-menu-item")],t);
|
|
62
|
+
`;l([a({type:String})],s.prototype,"label",2);l([a({type:Boolean})],s.prototype,"hasSubMenu",2);l([a({type:Boolean})],s.prototype,"openLeft",2);l([a({type:Boolean})],s.prototype,"divider",2);l([a({type:String,attribute:"leading-icon"})],s.prototype,"leadingIcon",2);l([a({type:String,attribute:"trailing-icon"})],s.prototype,"trailingIcon",2);l([a({type:String,attribute:"item-href"})],s.prototype,"itemHref",2);s=l([p("scb-menu-item")],s);
|
|
@@ -1,17 +1,44 @@
|
|
|
1
|
-
import{a as
|
|
2
|
-
<div
|
|
1
|
+
import{a as u,n as l,i as p,x as d,t as h}from"../../vendor/vendor.js";import"./scb-menu-item.js";import"./scb-sub-menu.js";import"../scb-divider/scb-divider.js";import"../../vendor/vendor-material.js";(function(){try{var t=typeof globalThis<"u"?globalThis:window;if(!t.__scb_ce_guard_installed__){t.__scb_ce_guard_installed__=!0;var s=customElements.define.bind(customElements);customElements.define=function(e,i,n){try{customElements.get(e)||s(e,i,n)}catch(r){var o=String(r||"");if(o.indexOf("already been used")===-1&&o.indexOf("NotSupportedError")===-1)throw r}}}}catch{}})();var m=Object.defineProperty,_=Object.getOwnPropertyDescriptor,c=(t,s,e,i)=>{for(var n=i>1?void 0:i?_(s,e):s,o=t.length-1,r;o>=0;o--)(r=t[o])&&(n=(i?r(s,e,n):r(n))||n);return i&&n&&m(s,e,n),n};let a=class extends p{constructor(){super(...arguments),this.open=!1,this.inSb=!1,this.__lastTriggerEl=null,this.__onDocumentClick=t=>{if(!this.inSb&&this.open&&!this.isClickInScbMenu(t)){this.__setOpen(!1);return}const s=this.__getActionFromEvent(t);if(s){s==="open"&&(this.__setOpen(!0),this.dispatchEvent(new CustomEvent("open",{bubbles:!0,composed:!0}))),s==="close"&&(this.__setOpen(!1),this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0}))),s==="toggle"&&(this.__setOpen(!this.open),this.dispatchEvent(new CustomEvent("toggle",{bubbles:!0,composed:!0}))),t.stopPropagation();return}},this.__onDocumentKeydown=t=>{if(this.open&&t.key==="Escape"){this.__setOpen(!1);return}}}render(){return d`
|
|
2
|
+
<div
|
|
3
|
+
role="menu"
|
|
4
|
+
class="scb-menu-panel${this.open?" open":""}"
|
|
5
|
+
>
|
|
3
6
|
<slot></slot>
|
|
4
7
|
</div>
|
|
5
|
-
`}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.__onDocumentClick,!1),document.addEventListener("keydown",this.__onDocumentKeydown,!0)}disconnectedCallback(){document.removeEventListener("click",this.__onDocumentClick,!1),document.removeEventListener("keydown",this.__onDocumentKeydown,!0),super.disconnectedCallback()}__setOpen(
|
|
8
|
+
`}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.__onDocumentClick,!1),document.addEventListener("keydown",this.__onDocumentKeydown,!0)}disconnectedCallback(){document.removeEventListener("click",this.__onDocumentClick,!1),document.removeEventListener("keydown",this.__onDocumentKeydown,!0),super.disconnectedCallback()}__setOpen(t){this.open=t}__getActionFromEvent(t){if(!this.id)return null;const s=t.composedPath();for(const e of s)if(e instanceof Element){if(e.getAttribute("data-menu-open")===this.id)return this.__lastTriggerEl=e,"open";if(e.getAttribute("data-menu-close")===this.id)return this.__lastTriggerEl=e,"close";if(e.getAttribute("data-menu-toggle")===this.id)return this.__lastTriggerEl=e,"toggle";if(e.getAttribute("aria-controls")===this.id)return this.__lastTriggerEl=e,"toggle"}return null}isClickInScbMenu(t){return t.composedPath().some(e=>e instanceof Element&&(e.tagName==="SCB-MENU"||e.tagName==="SCB-SUB-MENU"))}updated(t){t.has("open")&&(this.__applyOpenSideEffects(),this.open?this.dispatchEvent(new CustomEvent("open",{bubbles:!0,composed:!0})):this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0})))}__applyOpenSideEffects(){this.__updateTriggersExpanded()}__updateTriggersExpanded(){if(!this.id)return;document.querySelectorAll(`[aria-controls="${this.id}"], [data-menu-open="${this.id}"], [data-menu-close="${this.id}"], [data-menu-toggle="${this.id}"]`).forEach(s=>{s.hasAttribute("aria-controls")&&s.setAttribute("aria-expanded",String(this.open))})}};a.styles=u`
|
|
6
9
|
:host {
|
|
7
10
|
position: absolute;
|
|
8
11
|
display: block;
|
|
12
|
+
width: fit-content;
|
|
13
|
+
--scb-menu-max-width: 300px;
|
|
14
|
+
--scb-menu-max-height: 600px;
|
|
15
|
+
}
|
|
16
|
+
:host > .scb-menu-panel {
|
|
17
|
+
padding: var(--spacing-3) 0;
|
|
9
18
|
color: var(--md-sys-color-on-surface);
|
|
10
|
-
border-radius: var(--
|
|
19
|
+
border-radius: var(--md-sys-shape-corner-extra-small);
|
|
11
20
|
background: var(--md-sys-color-surface, #FFF);
|
|
12
|
-
box-shadow: 0
|
|
13
|
-
}
|
|
14
|
-
:host div {
|
|
21
|
+
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.30), 0 2px 6px 2px rgba(0, 0, 0, 0.15);
|
|
15
22
|
background: var(--md-sys-color-surface, #FFF);
|
|
23
|
+
opacity: 0;
|
|
24
|
+
max-height: 0;
|
|
25
|
+
transform: scaleY(0.8);
|
|
26
|
+
transform-origin: top;
|
|
27
|
+
transition:
|
|
28
|
+
opacity 0.25s cubic-bezier(0.23, 1, 0.32, 1),
|
|
29
|
+
transform 0.32s cubic-bezier(0.23, 1, 0.32, 1);
|
|
30
|
+
will-change: opacity, transform;
|
|
31
|
+
|
|
32
|
+
}
|
|
33
|
+
:host > .scb-menu-panel.open {
|
|
34
|
+
opacity: 1;
|
|
35
|
+
transform: scaleY(1);
|
|
36
|
+
max-width: var(--scb-menu-max-width);
|
|
37
|
+
max-height: var(--scb-menu-max-height);
|
|
38
|
+
min-width: 112px;
|
|
39
|
+
overflow: visible;
|
|
40
|
+
transition:
|
|
41
|
+
opacity 0.25s cubic-bezier(0.23, 1, 0.32, 1),
|
|
42
|
+
transform 0.32s cubic-bezier(0.23, 1, 0.32, 1);
|
|
16
43
|
}
|
|
17
|
-
`;
|
|
44
|
+
`;c([l({type:Boolean,reflect:!0})],a.prototype,"open",2);c([l({type:Boolean,attribute:!1})],a.prototype,"inSb",2);a=c([h("scb-menu")],a);
|
|
@@ -1,20 +1,24 @@
|
|
|
1
|
-
import{a as
|
|
2
|
-
<div class="submenu${this.open?" open":""}">
|
|
1
|
+
import{a as l,n as h,i as p,x as d,t as b}from"../../vendor/vendor.js";(function(){try{var e=typeof globalThis<"u"?globalThis:window;if(!e.__scb_ce_guard_installed__){e.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(n,i,s){try{customElements.get(n)||t(n,i,s)}catch(r){var o=String(r||"");if(o.indexOf("already been used")===-1&&o.indexOf("NotSupportedError")===-1)throw r}}}}catch{}})();var c=Object.defineProperty,m=Object.getOwnPropertyDescriptor,u=(e,t,n,i)=>{for(var s=i>1?void 0:i?m(t,n):t,o=e.length-1,r;o>=0;o--)(r=e[o])&&(s=(i?r(t,n,s):r(s))||s);return i&&s&&c(t,n,s),s};let a=class extends p{constructor(){super(...arguments),this.open=!1,this._show=()=>{this.setAttribute("open",""),this.open=!0},this._hide=e=>{this.removeAttribute("open"),this.open=!1,e&&e.stopPropagation()}}connectedCallback(){super.connectedCallback(),this.addEventListener("show-submenu",this._show),this.addEventListener("hide-submenu",this._hide)}disconnectedCallback(){this.removeEventListener("show-submenu",this._show),this.removeEventListener("hide-submenu",this._hide),super.disconnectedCallback()}firstUpdated(){let e=0,t=this.parentElement;for(;t;)t.tagName==="SCB-SUB-MENU"&&e++,t=t.parentElement;e%2===1?this.setAttribute("open-left",""):this.removeAttribute("open-left")}render(){return d`
|
|
2
|
+
<div role="menu" class="submenu${this.open?" open":""}">
|
|
3
3
|
<slot></slot>
|
|
4
4
|
</div>
|
|
5
|
-
`}};a.styles=
|
|
5
|
+
`}};a.styles=l`
|
|
6
6
|
:host {
|
|
7
7
|
display: block;
|
|
8
8
|
position: relative;
|
|
9
|
-
|
|
9
|
+
--scb-sub-menu-max-width: 300px;
|
|
10
|
+
--scb-sub-menu-max-height: 600px;
|
|
10
11
|
}
|
|
11
12
|
.submenu {
|
|
13
|
+
max-width: var(--scb-sub-menu-max-width);
|
|
14
|
+
max-height: var(--scb-sub-menu-max-height);
|
|
15
|
+
min-width: 112px;
|
|
12
16
|
display: none;
|
|
13
17
|
position: absolute;
|
|
14
18
|
left: 100%;
|
|
15
19
|
top: -44px;
|
|
16
20
|
z-index: 100;
|
|
17
|
-
border-radius: var(--
|
|
21
|
+
border-radius: var(--md-sys-shape-corner-extra-small);
|
|
18
22
|
background: var(--md-sys-color-surface, #FFF);
|
|
19
23
|
box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.20), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 4px 5px 0 rgba(0, 0, 0, 0.14);
|
|
20
24
|
}
|
|
@@ -26,4 +30,4 @@ import{a as u,n as p,i as d,x as h,t as c}from"../../vendor/vendor.js";(function
|
|
|
26
30
|
.submenu.open {
|
|
27
31
|
display: block;
|
|
28
32
|
}
|
|
29
|
-
`;
|
|
33
|
+
`;u([h({type:Boolean,reflect:!0})],a.prototype,"open",2);a=u([b("scb-sub-menu")],a);
|