scb-wc-test 0.1.1
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/README.md +130 -0
- package/all.js +54 -0
- package/dummy.png +0 -0
- package/index.d.ts +54 -0
- package/index.js +108 -0
- package/mvc/components/all.js +53 -0
- package/mvc/components/scb-accordion/scb-accordion-item.js +194 -0
- package/mvc/components/scb-accordion/scb-accordion.js +5 -0
- package/mvc/components/scb-app-bar/scb-app-bar.js +144 -0
- package/mvc/components/scb-avatar/scb-avatar.js +99 -0
- package/mvc/components/scb-breadcrumb/scb-breadcrumb-item.js +17 -0
- package/mvc/components/scb-breadcrumb/scb-breadcrumb.js +52 -0
- package/mvc/components/scb-button/scb-button.js +121 -0
- package/mvc/components/scb-calendar-card/scb-calendar-card.js +140 -0
- package/mvc/components/scb-card/scb-card.js +256 -0
- package/mvc/components/scb-checkbox/scb-checkbox-group.js +33 -0
- package/mvc/components/scb-checkbox/scb-checkbox.js +99 -0
- package/mvc/components/scb-chips/scb-chip.js +46 -0
- package/mvc/components/scb-dialog/scb-dialog.js +158 -0
- package/mvc/components/scb-divider/scb-divider.js +53 -0
- package/mvc/components/scb-drawer/scb-drawer-item.js +114 -0
- package/mvc/components/scb-drawer/scb-drawer-section.js +19 -0
- package/mvc/components/scb-drawer/scb-drawer.js +79 -0
- package/mvc/components/scb-drawer/scb-sub-drawer.js +10 -0
- package/mvc/components/scb-fact-card/scb-fact-card-content.js +44 -0
- package/mvc/components/scb-fact-card/scb-fact-card.js +66 -0
- package/mvc/components/scb-footer/scb-footer-section.js +3 -0
- package/mvc/components/scb-footer/scb-footer.js +205 -0
- package/mvc/components/scb-grid/scb-grid-item.js +9 -0
- package/mvc/components/scb-grid/scb-grid.js +81 -0
- package/mvc/components/scb-grid/scb-stack.js +16 -0
- package/mvc/components/scb-header/scb-header-drawer-group.js +1 -0
- package/mvc/components/scb-header/scb-header-drawer-item.js +1 -0
- package/mvc/components/scb-header/scb-header-tab.js +1 -0
- package/mvc/components/scb-header/scb-header-utility.js +1 -0
- package/mvc/components/scb-header/scb-header.js +240 -0
- package/mvc/components/scb-icon-button/scb-icon-button.js +95 -0
- package/mvc/components/scb-keyfigure-card/scb-keyfigure-card.js +69 -0
- package/mvc/components/scb-link/scb-link.js +31 -0
- package/mvc/components/scb-list/scb-list-item.js +38 -0
- package/mvc/components/scb-list/scb-list.js +10 -0
- package/mvc/components/scb-menu/scb-menu-item.js +44 -0
- package/mvc/components/scb-menu/scb-menu.js +17 -0
- package/mvc/components/scb-menu/scb-sub-menu.js +29 -0
- package/mvc/components/scb-notification/scb-notification.js +120 -0
- package/mvc/components/scb-progress-indicator/scb-progress-indicator.js +84 -0
- package/mvc/components/scb-radio-button/scb-radio-button.js +95 -0
- package/mvc/components/scb-radio-button/scb-radio-group.js +28 -0
- package/mvc/components/scb-search/scb-search.js +211 -0
- package/mvc/components/scb-snackbar/scb-snackbar.js +83 -0
- package/mvc/components/scb-status-pill/scb-status-pill.js +31 -0
- package/mvc/components/scb-switch/scb-switch.js +54 -0
- package/mvc/components/scb-tabs/scb-primary-tab.js +7 -0
- package/mvc/components/scb-tabs/scb-secondary-tab.js +7 -0
- package/mvc/components/scb-tabs/scb-tabs.js +23 -0
- package/mvc/components/scb-textfield/scb-textfield.js +135 -0
- package/mvc/components/scb-toc/scb-toc-item.js +84 -0
- package/mvc/components/scb-toc/scb-toc.js +6 -0
- package/mvc/components/scb-tooltip/scb-tooltip.js +216 -0
- package/mvc/scb-logo.svg +21 -0
- package/mvc/scb-wc-test.css +1 -0
- package/mvc/scb.svg +14 -0
- package/mvc/vendor/preload-helper.js +1 -0
- package/mvc/vendor/vendor-lit.js +1 -0
- package/mvc/vendor/vendor-material.js +764 -0
- package/mvc/vendor/vendor.js +68 -0
- package/package.json +248 -0
- package/scb-accordion/scb-accordion-item.d.ts +37 -0
- package/scb-accordion/scb-accordion-item.js +343 -0
- package/scb-accordion/scb-accordion.d.ts +6 -0
- package/scb-accordion/scb-accordion.js +33 -0
- package/scb-app-bar/scb-app-bar.d.ts +10 -0
- package/scb-app-bar/scb-app-bar.js +192 -0
- package/scb-avatar/scb-avatar.d.ts +30 -0
- package/scb-avatar/scb-avatar.js +169 -0
- package/scb-breadcrumb/scb-breadcrumb-item.d.ts +9 -0
- package/scb-breadcrumb/scb-breadcrumb-item.js +54 -0
- package/scb-breadcrumb/scb-breadcrumb.d.ts +16 -0
- package/scb-breadcrumb/scb-breadcrumb.js +105 -0
- package/scb-button/scb-button.d.ts +26 -0
- package/scb-button/scb-button.js +247 -0
- package/scb-calendar-card/scb-calendar-card.d.ts +20 -0
- package/scb-calendar-card/scb-calendar-card.js +191 -0
- package/scb-card/scb-card.d.ts +24 -0
- package/scb-card/scb-card.js +345 -0
- package/scb-checkbox/scb-checkbox-group.d.ts +17 -0
- package/scb-checkbox/scb-checkbox-group.js +80 -0
- package/scb-checkbox/scb-checkbox.d.ts +20 -0
- package/scb-checkbox/scb-checkbox.js +157 -0
- package/scb-chips/scb-chip.d.ts +24 -0
- package/scb-chips/scb-chip.js +150 -0
- package/scb-dialog/scb-dialog.d.ts +58 -0
- package/scb-dialog/scb-dialog.js +390 -0
- package/scb-divider/scb-divider.d.ts +9 -0
- package/scb-divider/scb-divider.js +85 -0
- package/scb-drawer/scb-drawer-item.d.ts +61 -0
- package/scb-drawer/scb-drawer-item.js +220 -0
- package/scb-drawer/scb-drawer-section.d.ts +7 -0
- package/scb-drawer/scb-drawer-section.js +44 -0
- package/scb-drawer/scb-drawer.d.ts +97 -0
- package/scb-drawer/scb-drawer.js +258 -0
- package/scb-drawer/scb-sub-drawer.d.ts +10 -0
- package/scb-drawer/scb-sub-drawer.js +43 -0
- package/scb-fact-card/scb-fact-card-content.d.ts +10 -0
- package/scb-fact-card/scb-fact-card-content.js +83 -0
- package/scb-fact-card/scb-fact-card.d.ts +15 -0
- package/scb-fact-card/scb-fact-card.js +110 -0
- package/scb-footer/scb-footer-section.d.ts +21 -0
- package/scb-footer/scb-footer-section.js +28 -0
- package/scb-footer/scb-footer.d.ts +27 -0
- package/scb-footer/scb-footer.js +326 -0
- package/scb-grid/scb-grid-item.d.ts +28 -0
- package/scb-grid/scb-grid-item.js +66 -0
- package/scb-grid/scb-grid.d.ts +33 -0
- package/scb-grid/scb-grid.js +152 -0
- package/scb-grid/scb-stack.d.ts +29 -0
- package/scb-grid/scb-stack.js +82 -0
- package/scb-header/scb-header-drawer-group.d.ts +13 -0
- package/scb-header/scb-header-drawer-group.js +28 -0
- package/scb-header/scb-header-drawer-item.d.ts +14 -0
- package/scb-header/scb-header-drawer-item.js +31 -0
- package/scb-header/scb-header-tab.d.ts +13 -0
- package/scb-header/scb-header-tab.js +28 -0
- package/scb-header/scb-header-utility.d.ts +14 -0
- package/scb-header/scb-header-utility.js +31 -0
- package/scb-header/scb-header.d.ts +105 -0
- package/scb-header/scb-header.js +618 -0
- package/scb-icon-button/scb-icon-button.d.ts +31 -0
- package/scb-icon-button/scb-icon-button.js +208 -0
- package/scb-keyfigure-card/scb-keyfigure-card.d.ts +13 -0
- package/scb-keyfigure-card/scb-keyfigure-card.js +119 -0
- package/scb-link/scb-link.d.ts +17 -0
- package/scb-link/scb-link.js +74 -0
- package/scb-list/scb-list-item.d.ts +32 -0
- package/scb-list/scb-list-item.js +144 -0
- package/scb-list/scb-list.d.ts +8 -0
- package/scb-list/scb-list.js +39 -0
- package/scb-logo.svg +21 -0
- package/scb-menu/scb-menu-item.d.ts +22 -0
- package/scb-menu/scb-menu-item.js +107 -0
- package/scb-menu/scb-menu.d.ts +21 -0
- package/scb-menu/scb-menu.js +98 -0
- package/scb-menu/scb-sub-menu.d.ts +12 -0
- package/scb-menu/scb-sub-menu.js +69 -0
- package/scb-notification/scb-notification.d.ts +16 -0
- package/scb-notification/scb-notification.js +187 -0
- package/scb-progress-indicator/scb-progress-indicator.d.ts +11 -0
- package/scb-progress-indicator/scb-progress-indicator.js +122 -0
- package/scb-radio-button/scb-radio-button.d.ts +19 -0
- package/scb-radio-button/scb-radio-button.js +176 -0
- package/scb-radio-button/scb-radio-group.d.ts +20 -0
- package/scb-radio-button/scb-radio-group.js +81 -0
- package/scb-search/scb-search.d.ts +45 -0
- package/scb-search/scb-search.js +410 -0
- package/scb-snackbar/scb-snackbar.d.ts +17 -0
- package/scb-snackbar/scb-snackbar.js +140 -0
- package/scb-status-pill/scb-status-pill.d.ts +9 -0
- package/scb-status-pill/scb-status-pill.js +62 -0
- package/scb-switch/scb-switch.d.ts +21 -0
- package/scb-switch/scb-switch.js +111 -0
- package/scb-tabs/scb-primary-tab.d.ts +17 -0
- package/scb-tabs/scb-primary-tab.js +93 -0
- package/scb-tabs/scb-secondary-tab.d.ts +17 -0
- package/scb-tabs/scb-secondary-tab.js +97 -0
- package/scb-tabs/scb-tabs.d.ts +10 -0
- package/scb-tabs/scb-tabs.js +66 -0
- package/scb-textfield/scb-textfield.d.ts +41 -0
- package/scb-textfield/scb-textfield.js +258 -0
- package/scb-toc/scb-toc-item.d.ts +21 -0
- package/scb-toc/scb-toc-item.js +196 -0
- package/scb-toc/scb-toc.d.ts +6 -0
- package/scb-toc/scb-toc.js +27 -0
- package/scb-tooltip/scb-tooltip.d.ts +32 -0
- package/scb-tooltip/scb-tooltip.js +329 -0
- package/scb-wc-test.bundle.js +5429 -0
- package/scb-wc-test.css +1 -0
- package/scb-wc-test.d.ts +106 -0
- package/scb.svg +14 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../../vendor/vendor-material.js","../../vendor/vendor.js","../scb-checkbox/scb-checkbox.js","../scb-switch/scb-switch.js","../../vendor/preload-helper.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as g}from"../../vendor/preload-helper.js";import{n as s,t as I,i as V,b as $,x as c,E as h}from"../../vendor/vendor.js";var L=Object.defineProperty,E=Object.getOwnPropertyDescriptor,S=t=>{throw TypeError(t)},r=(t,i,e,n)=>{for(var l=n>1?void 0:n?E(i,e):i,o=t.length-1,b;o>=0;o--)(b=t[o])&&(l=(n?b(i,e,l):b(l))||l);return n&&l&&L(i,e,l),l},x=(t,i,e)=>i.has(t)||S("Cannot "+e),d=(t,i,e)=>(x(t,i,"read from private field"),i.get(t)),p=(t,i,e)=>i.has(t)?S("Cannot add the same private member more than once"):i instanceof WeakSet?i.add(t):i.set(t,e),v=(t,i,e,n)=>(x(t,i,"write to private field"),i.set(t,e),e),k=(t,i,e)=>(x(t,i,"access private method"),e),m,y,u,_,f,w;let a=class extends V{constructor(){super(...arguments),p(this,f),this.type="text",this.href="",this.itemHref="",this.target="",this.disabled=!1,this.label="",this.supportingText="",this.overline="",this.leading=!1,this.leadingIcon="",this.imgHrefAvatar="https://www.scb.se/img/scb-logo.svg",this.imgHrefImage="https://www.scb.se/img/scb-logo.svg",this.leadingVariant="image",this.trailing=!1,this.trailingIcon="",this.trailingVariant="icon",p(this,m,!1),p(this,y,!1),p(this,u,!1),p(this,_,!1)}static get styles(){return $`
|
|
3
|
+
:host { border-bottom: 1px solid var(--md-sys-color-outline-variant); }
|
|
4
|
+
.scb-list-item { display: flex; }
|
|
5
|
+
.leading-content { margin-right: 16px; align-self: center; }
|
|
6
|
+
.trailing-content { margin-left: auto; align-self: center; }
|
|
7
|
+
.trailing-content scb-checkbox { margin-right: 11px; }
|
|
8
|
+
.label { line-height: 27px; }
|
|
9
|
+
.overline { font-size: 14px; color: var(--md-sys-color-on-surface-variant); line-height: 21px; }
|
|
10
|
+
.supporting-text { font-size: 16px; color: var(--md-sys-color-on-surface-variant); line-height: 24px; }
|
|
11
|
+
|
|
12
|
+
.leading-content:has(.avatar) {
|
|
13
|
+
width: 40px; height: 40px;
|
|
14
|
+
background: var(--md-sys-color-primary-container);
|
|
15
|
+
border-radius: 50%;
|
|
16
|
+
align-content: center; justify-items: center;
|
|
17
|
+
}
|
|
18
|
+
.avatar { width: 24px; height: 24px; position: relative; display: flex; }
|
|
19
|
+
.img { width: 56px; height: 56px; }
|
|
20
|
+
`}async firstUpdated(){await k(this,f,w).call(this)}updated(t){super.updated(t),(t.has("leading")||t.has("leadingVariant")||t.has("trailing")||t.has("trailingVariant")||t.has("type")||t.has("target"))&&k(this,f,w).call(this)}onListClick(){if(this.type==="link"&&(this.href||this.itemHref))return;const t=this.shadowRoot?.querySelector("scb-checkbox"),i=this.shadowRoot?.querySelector("scb-switch");t&&(t.checked=!t.checked),i&&(i.selected=!i.selected)}render(){const t=this.leadingVariant==="icon"?c`<div class="leading-content"><md-icon>${this.leadingIcon}</md-icon></div>`:this.leadingVariant==="avatar"?c`<div class="leading-content"><img class="avatar" src="${this.imgHrefAvatar}" /></div>`:this.leadingVariant==="image"?c`<div class="leading-content"><img class="img" src="${this.imgHrefImage}" /></div>`:h,i=this.href||this.itemHref||"",e=this.target==="_blank"?"open_in_new":"chevron_right";let n=h;if(this.trailing)if(this.trailingVariant==="icon"){const o=this.trailingIcon||(this.type==="link"?e:"");n=o?c`<div class="trailing-content"><md-icon>${o}</md-icon></div>`:h}else this.trailingVariant==="checkbox"?n=c`<div class="trailing-content"><scb-checkbox @click=${o=>o.stopPropagation()}></scb-checkbox></div>`:this.trailingVariant==="switch"&&(n=c`<div class="trailing-content"><scb-switch @click=${o=>o.stopPropagation()}></scb-switch></div>`);else this.type==="link"&&(n=c`<div class="trailing-content"><md-icon>${e}</md-icon></div>`);const l=this.type==="link"&&this.target==="_blank"?"noopener noreferrer":h;return c`
|
|
21
|
+
<md-list-item
|
|
22
|
+
type=${this.type}
|
|
23
|
+
href=${this.type==="link"&&i?i:h}
|
|
24
|
+
target=${this.type==="link"&&this.target?this.target:h}
|
|
25
|
+
rel=${l}
|
|
26
|
+
?disabled=${this.disabled}
|
|
27
|
+
>
|
|
28
|
+
<div class="scb-list-item" @click=${this.onListClick}>
|
|
29
|
+
${this.leading?t:h}
|
|
30
|
+
<div>
|
|
31
|
+
<div class="overline">${this.overline}</div>
|
|
32
|
+
<div class="label">${this.label}</div>
|
|
33
|
+
<div class="supporting-text">${this.supportingText}</div>
|
|
34
|
+
</div>
|
|
35
|
+
${n}
|
|
36
|
+
</div>
|
|
37
|
+
</md-list-item>
|
|
38
|
+
`}};m=new WeakMap;y=new WeakMap;u=new WeakMap;_=new WeakMap;f=new WeakSet;w=async function(){d(this,m)||(await g(()=>import("../../vendor/vendor-material.js").then(e=>e.l),__vite__mapDeps([0,1]),import.meta.url),v(this,m,!0));const t=this.type==="link"&&(!this.trailing||this.trailingVariant==="icon");(this.leading&&this.leadingVariant==="icon"||this.trailing&&this.trailingVariant==="icon"||t)&&!d(this,y)&&(await g(()=>import("../../vendor/vendor-material.js").then(e=>e.i),__vite__mapDeps([0,1]),import.meta.url),v(this,y,!0)),this.trailing&&this.trailingVariant==="checkbox"&&!d(this,u)&&(await g(()=>import("../scb-checkbox/scb-checkbox.js"),__vite__mapDeps([2,1,0]),import.meta.url),v(this,u,!0)),this.trailing&&this.trailingVariant==="switch"&&!d(this,_)&&(await g(()=>import("../scb-switch/scb-switch.js"),__vite__mapDeps([3,4,1]),import.meta.url),v(this,_,!0))};r([s({type:String,reflect:!0,attribute:"type"})],a.prototype,"type",2);r([s({type:String})],a.prototype,"href",2);r([s({type:String,attribute:"item-href"})],a.prototype,"itemHref",2);r([s({type:String,attribute:"target"})],a.prototype,"target",2);r([s({type:Boolean,attribute:"disabled"})],a.prototype,"disabled",2);r([s({type:String,reflect:!0})],a.prototype,"label",2);r([s({type:String,attribute:"supporting-text"})],a.prototype,"supportingText",2);r([s({type:String,attribute:"overline"})],a.prototype,"overline",2);r([s({type:Boolean})],a.prototype,"leading",2);r([s({type:String,attribute:"leading-icon"})],a.prototype,"leadingIcon",2);r([s({type:String,reflect:!0,attribute:"img-href-avatar"})],a.prototype,"imgHrefAvatar",2);r([s({type:String,reflect:!0,attribute:"img-href-image"})],a.prototype,"imgHrefImage",2);r([s({type:String,reflect:!0,attribute:"leading-variant"})],a.prototype,"leadingVariant",2);r([s({type:Boolean})],a.prototype,"trailing",2);r([s({type:String,attribute:"trailing-icon"})],a.prototype,"trailingIcon",2);r([s({type:String,reflect:!0,attribute:"trailing-variant"})],a.prototype,"trailingVariant",2);a=r([I("scb-list-item")],a);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../../vendor/vendor-material.js","../../vendor/vendor.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as n}from"../../vendor/preload-helper.js";import{b as v,i as c,x as f,t as h}from"../../vendor/vendor.js";import"./scb-list-item.js";var m=Object.getOwnPropertyDescriptor,l=t=>{throw TypeError(t)},u=(t,r,e,i)=>{for(var s=i>1?void 0:i?m(r,e):r,o=t.length-1,_;o>=0;o--)(_=t[o])&&(s=_(s)||s);return s},p=(t,r,e)=>r.has(t)||l("Cannot "+e),y=(t,r,e)=>(p(t,r,"read from private field"),r.get(t)),w=(t,r,e)=>r.has(t)?l("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(t):r.set(t,e),g=(t,r,e,i)=>(p(t,r,"write to private field"),r.set(t,e),e),a;let d=class extends c{constructor(){super(...arguments),w(this,a,!1)}async firstUpdated(){y(this,a)||(await n(()=>import("../../vendor/vendor-material.js").then(t=>t.e),__vite__mapDeps([0,1]),import.meta.url),g(this,a,!0))}render(){return f`
|
|
3
|
+
<md-list role="list">
|
|
4
|
+
<slot></slot>
|
|
5
|
+
</md-list>
|
|
6
|
+
`}};a=new WeakMap;d.styles=[v`
|
|
7
|
+
::slotted(scb-list-item:first-of-type) {
|
|
8
|
+
border-top: 1px solid var(--md-sys-color-outline-variant);
|
|
9
|
+
}
|
|
10
|
+
`];d=u([h("scb-list")],d);
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../../vendor/vendor-material.js","../../vendor/vendor.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as h}from"../../vendor/preload-helper.js";import{b as c,n as r,i as m,x as i,t as u}from"../../vendor/vendor.js";import"../scb-divider/scb-divider.js";var f=Object.defineProperty,g=Object.getOwnPropertyDescriptor,n=(e,s,l,a)=>{for(var o=a>1?void 0:a?g(s,l):s,p=e.length-1,d;p>=0;p--)(d=e[p])&&(o=(a?d(s,l,o):d(o))||o);return a&&o&&f(s,l,o),o};let t=class extends m{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._onKeyDown=e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),this.handleClick(e))}}async firstUpdated(){t.__iconLoaded||(await h(()=>import("../../vendor/vendor-material.js").then(e=>e.i),__vite__mapDeps([0,1]),import.meta.url),t.__iconLoaded=!0),t.__rippleLoaded||(await h(()=>import("../../vendor/vendor-material.js").then(e=>e.r),__vite__mapDeps([0,1]),import.meta.url),t.__rippleLoaded=!0)}updated(){const e=this.nextElementSibling;this.hasSubMenu=!!(e&&e.tagName==="SCB-SUB-MENU"),this.openLeft=!!(this.hasSubMenu&&e&&e.hasAttribute("open-left"))}render(){return i`
|
|
3
|
+
${this.divider?i`<scb-divider></scb-divider>`:""}
|
|
4
|
+
<li @click=${this.handleClick} @keydown=${this._onKeyDown} role="menuitem" tabindex="0">
|
|
5
|
+
${this.itemHref?i`<a href="${this.itemHref}" tabindex="-1">
|
|
6
|
+
${this.leadingIcon?i`<md-icon>${this.leadingIcon}</md-icon>`:""}
|
|
7
|
+
<div>${this.label}</div>
|
|
8
|
+
${this.trailingIcon?i`<md-icon>${this.trailingIcon}</md-icon>`:""}
|
|
9
|
+
<md-ripple></md-ripple>
|
|
10
|
+
</a>`:i`
|
|
11
|
+
${this.leadingIcon?i`<md-icon>${this.leadingIcon}</md-icon>`:""}
|
|
12
|
+
<div>${this.label}</div>
|
|
13
|
+
${this.trailingIcon?i`<md-icon>${this.trailingIcon}</md-icon>`:""}
|
|
14
|
+
<md-ripple></md-ripple>
|
|
15
|
+
`}
|
|
16
|
+
</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})))}};t.__iconLoaded=!1;t.__rippleLoaded=!1;t.styles=c`
|
|
18
|
+
:host { display: block; }
|
|
19
|
+
:host li{
|
|
20
|
+
position: relative;
|
|
21
|
+
list-style: none;
|
|
22
|
+
padding: 8px 16px;
|
|
23
|
+
cursor: pointer;
|
|
24
|
+
min-height: 56px;
|
|
25
|
+
font-size: 18px;
|
|
26
|
+
display: flex;
|
|
27
|
+
gap: 12px;
|
|
28
|
+
align-items: center;
|
|
29
|
+
max-width: 300px;
|
|
30
|
+
min-width: 112px;
|
|
31
|
+
}
|
|
32
|
+
:host li a {
|
|
33
|
+
display: flex;
|
|
34
|
+
gap: 12px;
|
|
35
|
+
align-items: center;
|
|
36
|
+
color: var(--md-sys-color-on-surface);
|
|
37
|
+
text-decoration: none;
|
|
38
|
+
}
|
|
39
|
+
li:hover md-ripple {
|
|
40
|
+
--md-ripple-hover-color: transparent;
|
|
41
|
+
--md-ripple-hover-opacity: 0;
|
|
42
|
+
}
|
|
43
|
+
li:hover { background: var(--md-sys-color-secondary-container, #D6F1FF); }
|
|
44
|
+
`;n([r({type:String})],t.prototype,"label",2);n([r({type:Boolean})],t.prototype,"hasSubMenu",2);n([r({type:Boolean})],t.prototype,"openLeft",2);n([r({type:Boolean})],t.prototype,"divider",2);n([r({type:String,attribute:"leading-icon"})],t.prototype,"leadingIcon",2);n([r({type:String,attribute:"trailing-icon"})],t.prototype,"trailingIcon",2);n([r({type:String,attribute:"item-href"})],t.prototype,"itemHref",2);t=n([u("scb-menu-item")],t);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import{b as c,n as d,i as u,x as p,t as _}from"../../vendor/vendor.js";import"./scb-menu-item.js";import"./scb-sub-menu.js";import"../../vendor/preload-helper.js";import"../scb-divider/scb-divider.js";var h=Object.defineProperty,f=Object.getOwnPropertyDescriptor,l=(e,t,n,i)=>{for(var s=i>1?void 0:i?f(t,n):t,r=e.length-1,a;r>=0;r--)(a=e[r])&&(s=(i?a(t,n,s):a(s))||s);return i&&s&&h(t,n,s),s};let o=class extends u{constructor(){super(...arguments),this.open=!1,this.__lastTriggerEl=null,this.__onDocumentClick=e=>{const t=this.__getActionFromEvent(e);if(t){t==="open"&&this.__setOpen(!0),t==="close"&&this.__setOpen(!1),t==="toggle"&&this.__setOpen(!this.open),e.stopPropagation();return}},this.__onDocumentKeydown=e=>{if(this.open&&e.key==="Escape"){this.__setOpen(!1);return}}}render(){return p`
|
|
2
|
+
<div style="display:${this.open?"block":"none"};">
|
|
3
|
+
<slot></slot>
|
|
4
|
+
</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(e){this.open=e}__getActionFromEvent(e){if(!this.id)return null;const t=e.composedPath();for(const n of t)if(n instanceof Element){if(n.getAttribute("data-menu-open")===this.id)return this.__lastTriggerEl=n,"open";if(n.getAttribute("data-menu-close")===this.id)return this.__lastTriggerEl=n,"close";if(n.getAttribute("data-menu-toggle")===this.id)return this.__lastTriggerEl=n,"toggle";if(n.getAttribute("aria-controls")===this.id)return this.__lastTriggerEl=n,"toggle"}return null}updated(e){e.has("open")&&this.__applyOpenSideEffects()}__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(t=>{t.hasAttribute("aria-controls")&&t.setAttribute("aria-expanded",String(this.open))})}};o.styles=c`
|
|
6
|
+
:host {
|
|
7
|
+
position: absolute;
|
|
8
|
+
display: block;
|
|
9
|
+
color: var(--md-sys-color-on-surface);
|
|
10
|
+
border-radius: var(--Radius-Extra-small, 4px);
|
|
11
|
+
background: var(--md-sys-color-surface, #FFF);
|
|
12
|
+
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);
|
|
13
|
+
}
|
|
14
|
+
:host div {
|
|
15
|
+
background: var(--md-sys-color-surface, #FFF);
|
|
16
|
+
}
|
|
17
|
+
`;l([d({type:Boolean,reflect:!0})],o.prototype,"open",2);o=l([_("scb-menu")],o);
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import{b as l,n as u,i as h,x as b,t as d}from"../../vendor/vendor.js";var c=Object.defineProperty,m=Object.getOwnPropertyDescriptor,a=(t,e,i,n)=>{for(var s=n>1?void 0:n?m(e,i):e,r=t.length-1,p;r>=0;r--)(p=t[r])&&(s=(n?p(e,i,s):p(s))||s);return n&&s&&c(e,i,s),s};let o=class extends h{constructor(){super(...arguments),this.open=!1,this._show=()=>{this.setAttribute("open",""),this.open=!0},this._hide=t=>{this.removeAttribute("open"),this.open=!1,t&&t.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 t=0,e=this.parentElement;for(;e;)e.tagName==="SCB-SUB-MENU"&&t++,e=e.parentElement;t%2===1?this.setAttribute("open-left",""):this.removeAttribute("open-left")}render(){return b`
|
|
2
|
+
<div class="submenu${this.open?" open":""}">
|
|
3
|
+
<slot></slot>
|
|
4
|
+
</div>
|
|
5
|
+
`}};o.styles=l`
|
|
6
|
+
:host {
|
|
7
|
+
display: block;
|
|
8
|
+
position: relative;
|
|
9
|
+
|
|
10
|
+
}
|
|
11
|
+
.submenu {
|
|
12
|
+
display: none;
|
|
13
|
+
position: absolute;
|
|
14
|
+
left: 100%;
|
|
15
|
+
top: -44px;
|
|
16
|
+
z-index: 100;
|
|
17
|
+
border-radius: var(--Radius-Extra-small, 4px);
|
|
18
|
+
background: var(--md-sys-color-surface, #FFF);
|
|
19
|
+
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
|
+
}
|
|
21
|
+
:host([open-left]) .submenu {
|
|
22
|
+
left: auto;
|
|
23
|
+
right: 100%;
|
|
24
|
+
}
|
|
25
|
+
:host([open]) .submenu,
|
|
26
|
+
.submenu.open {
|
|
27
|
+
display: block;
|
|
28
|
+
}
|
|
29
|
+
`;a([u({type:Boolean,reflect:!0})],o.prototype,"open",2);o=a([d("scb-sub-menu")],o);
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import{b as h,n as i,i as f,x as n,t as d}from"../../vendor/vendor.js";import"../scb-icon-button/scb-icon-button.js";import"../../vendor/vendor-material.js";import"../../vendor/preload-helper.js";var x=Object.defineProperty,u=Object.getOwnPropertyDescriptor,o=(r,s,a,c)=>{for(var e=c>1?void 0:c?u(s,a):s,l=r.length-1,p;l>=0;l--)(p=r[l])&&(e=(c?p(s,a,e):p(e))||e);return c&&e&&x(s,a,e),e};let t=class extends f{constructor(){super(...arguments),this.open=!1,this.label="",this.type="success",this.linkText="",this.linkhref="#",this.showIcon=!1,this.showCloseButton=!1,this._closeNotification=()=>{this.open=!1;const r=new CustomEvent("close",{detail:{open:this.open}});this.dispatchEvent(r)}}_iconForType(){switch(this.type){case"success":return"check_circle";case"error":return"error";case"warning":return"warning";case"info":return"info";default:return"info"}}render(){return n`
|
|
2
|
+
<div class="notification" type=${this.type} role="alert" aria-live="assertive" aria-atomic="true" style="display: ${this.open?"flex":"none"};">
|
|
3
|
+
${this.showIcon||this.showCloseButton?n`<div class="notification-header">
|
|
4
|
+
${this.showIcon?n`<md-icon>${this._iconForType()}</md-icon>`:""}
|
|
5
|
+
${this.showCloseButton?n`<scb-icon-button icon="close" @click=${this._closeNotification}></scb-icon-button>`:""}
|
|
6
|
+
</div>`:""}
|
|
7
|
+
<div class="notification-content">
|
|
8
|
+
${this.label?n`<div class="notification-label">${this.label}</div>`:""}
|
|
9
|
+
<slot></slot>
|
|
10
|
+
${this.linkText?n`
|
|
11
|
+
<div class="notification-footer">
|
|
12
|
+
<a class="footer-link" href="${this.linkhref}">${this.linkText}</a>
|
|
13
|
+
</div>
|
|
14
|
+
`:""}
|
|
15
|
+
<div>
|
|
16
|
+
</div>
|
|
17
|
+
`}};t.styles=[h`
|
|
18
|
+
:host {
|
|
19
|
+
display: block;
|
|
20
|
+
position: relative;
|
|
21
|
+
container-type: inline-size;
|
|
22
|
+
container-name: notification-container;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.notification {
|
|
26
|
+
border-radius: 12px;
|
|
27
|
+
padding: 16px;
|
|
28
|
+
display: flex;
|
|
29
|
+
gap: 12px;
|
|
30
|
+
flex-direction: column;
|
|
31
|
+
|
|
32
|
+
}
|
|
33
|
+
@container notification-container (min-width: 400px) {
|
|
34
|
+
.notification {
|
|
35
|
+
flex-direction: row;
|
|
36
|
+
}
|
|
37
|
+
.notification-label {
|
|
38
|
+
margin-right: 40px;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
.notification-label {
|
|
42
|
+
font-weight: 600;
|
|
43
|
+
font-size: 20px;
|
|
44
|
+
line-height: 28px; /* 140% */
|
|
45
|
+
letter-spacing: -0.4px;
|
|
46
|
+
}
|
|
47
|
+
.notification[type="success"] {
|
|
48
|
+
background: var(--md-sys-color-success-container);
|
|
49
|
+
color: var(--md-sys-color-on-success-container);
|
|
50
|
+
|
|
51
|
+
a{
|
|
52
|
+
text-decoration: underline;
|
|
53
|
+
text-decoration-thickness: 1px;
|
|
54
|
+
text-underline-offset: .1578em;
|
|
55
|
+
color: var(--md-sys-color-on-success-container);
|
|
56
|
+
&:hover {text-decoration-thickness: 2px;}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
.notification[type="error"] {
|
|
60
|
+
background: var(--md-sys-color-error-container);
|
|
61
|
+
color: var(--md-sys-color-on-error-container);
|
|
62
|
+
a{
|
|
63
|
+
text-decoration: underline;
|
|
64
|
+
text-decoration-thickness: 1px;
|
|
65
|
+
text-underline-offset: .1578em;
|
|
66
|
+
color: var(--md-sys-color-on-error-container);
|
|
67
|
+
&:hover {text-decoration-thickness: 2px;}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
.notification[type="warning"] {
|
|
71
|
+
background: var(--md-sys-color-warning-container);
|
|
72
|
+
color: var(--md-sys-color-on-warning-container);
|
|
73
|
+
a{
|
|
74
|
+
text-decoration: underline;
|
|
75
|
+
text-decoration-thickness: 1px;
|
|
76
|
+
text-underline-offset: .1578em;
|
|
77
|
+
color: var(--md-sys-color-on-warning-container);
|
|
78
|
+
&:hover {text-decoration-thickness: 2px;}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
.notification[type="info"] {
|
|
82
|
+
background: var(--md-sys-color-info-container);
|
|
83
|
+
color: var(--md-sys-color-on-info-container);
|
|
84
|
+
a{
|
|
85
|
+
text-decoration: underline;
|
|
86
|
+
text-decoration-thickness: 1px;
|
|
87
|
+
text-underline-offset: .1578em;
|
|
88
|
+
color: var(--md-sys-color-on-info-container);
|
|
89
|
+
&:hover {text-decoration-thickness: 2px;}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
.notification-header scb-icon-button {
|
|
93
|
+
position: absolute;
|
|
94
|
+
right: 8px;
|
|
95
|
+
top: 8px;
|
|
96
|
+
}
|
|
97
|
+
.notification-content{
|
|
98
|
+
display: flex;
|
|
99
|
+
flex-direction: column;
|
|
100
|
+
gap: 4px;
|
|
101
|
+
}
|
|
102
|
+
slot{
|
|
103
|
+
font-size: 18px;
|
|
104
|
+
line-height: 26px;
|
|
105
|
+
}
|
|
106
|
+
.notification-footer {
|
|
107
|
+
font-size: 18px;
|
|
108
|
+
margin-top: 4px;
|
|
109
|
+
line-height: 26px; /* 133% */
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
:host([open]) .notification {
|
|
113
|
+
opacity: 1;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
:host(:not([open])) .notification {
|
|
117
|
+
opacity: 0;
|
|
118
|
+
pointer-events: none;
|
|
119
|
+
}
|
|
120
|
+
`];o([i({type:Boolean,reflect:!0})],t.prototype,"open",2);o([i({type:String})],t.prototype,"label",2);o([i({type:String})],t.prototype,"type",2);o([i({type:String,attribute:"link-text"})],t.prototype,"linkText",2);o([i({type:String,attribute:"link-href"})],t.prototype,"linkhref",2);o([i({type:Boolean,attribute:"show-icon"})],t.prototype,"showIcon",2);o([i({type:Boolean,attribute:"show-close-button"})],t.prototype,"showCloseButton",2);t=o([d("scb-notification")],t);
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import{b as d,n as s,i as f,x as i,t as h}from"../../vendor/vendor.js";var g=Object.defineProperty,u=Object.getOwnPropertyDescriptor,t=(p,a,c,o)=>{for(var e=o>1?void 0:o?u(a,c):a,l=p.length-1,n;l>=0;l--)(n=p[l])&&(e=(o?n(a,c,e):n(e))||e);return o&&e&&g(a,c,e),e};let r=class extends f{constructor(){super(...arguments),this.label="",this.type="circular",this.color="#1f44ff",this.progress=25,this.isStatic=!0}render(){return console.log("scb-progress-indicator isStatic:",this.isStatic),i`
|
|
2
|
+
<div class="scb-progress-indicator">
|
|
3
|
+
${this.type==="circular"?i`
|
|
4
|
+
<div class="circular">
|
|
5
|
+
<svg class="circular-spin" viewBox="0 0 40 40">
|
|
6
|
+
<circle class="circular-bg" cx="20" cy="20" r="16" fill="none" stroke-width="4" />
|
|
7
|
+
<circle
|
|
8
|
+
class="circular-fg"
|
|
9
|
+
cx="20" cy="20" r="16" fill="none" stroke-width="4"
|
|
10
|
+
stroke="${this.color}"
|
|
11
|
+
stroke-dasharray="${2*Math.PI*16}"
|
|
12
|
+
stroke-dashoffset="${(1-this.progress/100)*2*Math.PI*16}"
|
|
13
|
+
/>
|
|
14
|
+
</svg>
|
|
15
|
+
</div>
|
|
16
|
+
`:i`
|
|
17
|
+
<div class="linear">
|
|
18
|
+
${this.isStatic?i`<div class="linear-static" style="width: ${this.progress}%; background: ${this.color};"></div>`:i`<div class="linear-loader" style="background: ${this.color};"></div>`}
|
|
19
|
+
</div>
|
|
20
|
+
`}
|
|
21
|
+
</div>
|
|
22
|
+
`}};r.styles=[d`
|
|
23
|
+
:host {
|
|
24
|
+
display: block;
|
|
25
|
+
font-family: var(--brand-font, sans-serif);
|
|
26
|
+
color: var(--md-sys-color-on-surface, #222);
|
|
27
|
+
}
|
|
28
|
+
.circular {
|
|
29
|
+
display: flex;
|
|
30
|
+
align-items: center;
|
|
31
|
+
justify-content: center;
|
|
32
|
+
width: 46px;
|
|
33
|
+
height: 46px;
|
|
34
|
+
position: relative;
|
|
35
|
+
}
|
|
36
|
+
.circular-spin {
|
|
37
|
+
animation: spin 1s linear infinite;
|
|
38
|
+
width: 46px;
|
|
39
|
+
height: 46px;
|
|
40
|
+
position: relative;
|
|
41
|
+
z-index: 1;
|
|
42
|
+
}
|
|
43
|
+
@keyframes spin {
|
|
44
|
+
0% { transform: rotate(0deg); }
|
|
45
|
+
100% { transform: rotate(360deg); }
|
|
46
|
+
}
|
|
47
|
+
.circular-bg {
|
|
48
|
+
stroke: #eee;
|
|
49
|
+
}
|
|
50
|
+
.circular-fg {
|
|
51
|
+
transition: stroke-dashoffset 0.3s ease;
|
|
52
|
+
}
|
|
53
|
+
.circular-bg {
|
|
54
|
+
stroke: #eee;
|
|
55
|
+
}
|
|
56
|
+
.circular-fg {
|
|
57
|
+
transition: stroke-dashoffset 0.3s ease;
|
|
58
|
+
}
|
|
59
|
+
.linear {
|
|
60
|
+
width: 100%;
|
|
61
|
+
height: 6px;
|
|
62
|
+
background: #eee;
|
|
63
|
+
border-radius: 3px;
|
|
64
|
+
overflow: hidden;
|
|
65
|
+
position: relative;
|
|
66
|
+
}
|
|
67
|
+
.linear-loader {
|
|
68
|
+
height: 100%;
|
|
69
|
+
width: 40%;
|
|
70
|
+
background: var(--p-40, #1f44ff);
|
|
71
|
+
border-radius: 3px;
|
|
72
|
+
animation: linear-progress 1.2s cubic-bezier(.4,0,.2,1) infinite;
|
|
73
|
+
}
|
|
74
|
+
.linear-static {
|
|
75
|
+
height: 100%;
|
|
76
|
+
border-radius: 3px;
|
|
77
|
+
transition: width 0.3s ease;
|
|
78
|
+
}
|
|
79
|
+
@keyframes linear-progress {
|
|
80
|
+
0% { margin-left: -40%; width: 40%; }
|
|
81
|
+
50% { margin-left: 30%; width: 60%; }
|
|
82
|
+
100% { margin-left: 100%; width: 40%; }
|
|
83
|
+
}
|
|
84
|
+
`];t([s({type:String})],r.prototype,"label",2);t([s({type:String,reflect:!0})],r.prototype,"type",2);t([s({type:String,reflect:!0})],r.prototype,"color",2);t([s({type:Number,reflect:!0})],r.prototype,"progress",2);t([s({type:Boolean,reflect:!0})],r.prototype,"isStatic",2);r=t([h("scb-progress-indicator")],r);
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import{i as c,x as p,b as h,n as s,t as u}from"../../vendor/vendor.js";import"../../vendor/vendor-material.js";var b=Object.defineProperty,g=Object.getOwnPropertyDescriptor,r=(e,i,n,o)=>{for(var a=o>1?void 0:o?g(i,n):i,d=e.length-1,l;d>=0;d--)(l=e[d])&&(a=(o?l(i,n,a):l(a))||a);return o&&a&&b(i,n,a),a};let t=class extends c{constructor(){super(...arguments),this.disabled=!1,this.checked=!1,this.name="",this.value="",this.label="",this.supportingText="",this._radioId="",this._onMdRadioChange=e=>{if(this.disabled)return;const i=e.target;i&&i.checked&&(this.checked=!0,this.dispatchEvent(new CustomEvent("scb-radio-change",{detail:{name:this.name,source:this},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("change",{detail:{checked:this.checked,value:this.value},bubbles:!0,composed:!0})))},this._onRadioChange=e=>{e.detail.name===this.name&&e.detail.source!==this&&(this.checked=!1)}}connectedCallback(){super.connectedCallback(),this._radioId=this.id||`scb-radio-${Math.random().toString(36).substr(2,9)}`,document.addEventListener("scb-radio-change",this._onRadioChange)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("scb-radio-change",this._onRadioChange)}firstUpdated(){const e=this.shadowRoot?.querySelector("md-radio");e&&e.addEventListener("input",()=>{this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0}))})}updated(e){super.updated(e),e.has("disabled")&&this.toggleAttribute("aria-disabled",this.disabled)}render(){const e=this.supportingText?`${this._radioId}-supporting-text`:void 0;return p`
|
|
2
|
+
<label class="wrap">
|
|
3
|
+
<div class="radio-wrap">
|
|
4
|
+
<md-radio
|
|
5
|
+
id="${this._radioId}"
|
|
6
|
+
?disabled=${this.disabled}
|
|
7
|
+
?checked=${this.checked}
|
|
8
|
+
name="${this.name}"
|
|
9
|
+
value="${this.value}"
|
|
10
|
+
aria-describedby=${e}
|
|
11
|
+
@change=${this._onMdRadioChange}
|
|
12
|
+
></md-radio>
|
|
13
|
+
</div>
|
|
14
|
+
${this.label?p`<span class="lbl">${this.label}</span>`:""}
|
|
15
|
+
</label>
|
|
16
|
+
${this.supportingText?p`<div
|
|
17
|
+
id="${this._radioId}-supporting-text"
|
|
18
|
+
class="supporting-text"
|
|
19
|
+
>
|
|
20
|
+
${this.supportingText}
|
|
21
|
+
</div>`:""}
|
|
22
|
+
<slot></slot>
|
|
23
|
+
`}};t.styles=h`
|
|
24
|
+
/* layout med inline-grid */
|
|
25
|
+
:host {
|
|
26
|
+
display: inline-grid;
|
|
27
|
+
grid-template-columns: auto;
|
|
28
|
+
grid-template-rows: auto auto;
|
|
29
|
+
row-gap: 4px;
|
|
30
|
+
font-family: var(--brand-font, 'Inter', sans-serif);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/* Wrapper för md-radio + label */
|
|
34
|
+
.wrap {
|
|
35
|
+
display: inline-flex;
|
|
36
|
+
align-items: center;
|
|
37
|
+
gap: 12px;
|
|
38
|
+
cursor: pointer;
|
|
39
|
+
/* låt ripple/state-layer synas */
|
|
40
|
+
overflow: visible;
|
|
41
|
+
}
|
|
42
|
+
:host([disabled]) .wrap {
|
|
43
|
+
cursor: default;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/* Hit-yta runt md-radio (styr via variabel) */
|
|
47
|
+
.radio-wrap {
|
|
48
|
+
height: var(--scb-radio-target, 48px);
|
|
49
|
+
width: var(--scb-radio-target, 48px);
|
|
50
|
+
align-items: center;
|
|
51
|
+
display: flex;
|
|
52
|
+
justify-content: center;
|
|
53
|
+
overflow: visible;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/* Nollställ md-radio marginal */
|
|
57
|
+
md-radio {
|
|
58
|
+
margin: 0;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/* Label-styling */
|
|
62
|
+
.lbl {
|
|
63
|
+
color: var(--md-sys-color-on-surface);
|
|
64
|
+
line-height: 1.2;
|
|
65
|
+
margin-top: 2px;
|
|
66
|
+
}
|
|
67
|
+
:host([disabled]) .lbl {
|
|
68
|
+
color: var(--n-60);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/* Supporting text styling */
|
|
72
|
+
.supporting-text {
|
|
73
|
+
color: var(--md-sys-color-on-surface-variant);
|
|
74
|
+
line-height: 1.2;
|
|
75
|
+
/* 12px gap + wrapperbredd (inte ikonstorlek) så texten linjerar med labeln */
|
|
76
|
+
margin-left: calc(12px + var(--scb-radio-target, 48px));
|
|
77
|
+
}
|
|
78
|
+
:host([disabled]) .supporting-text {
|
|
79
|
+
color: var(--n-60);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
:host([orientation="horizontal"]) {
|
|
83
|
+
margin-inline-end: var(--scb-radio-gap, 24px); /* tweakable */
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/* Anpassning för mörkt läge */
|
|
87
|
+
@media (prefers-color-scheme: dark) {
|
|
88
|
+
.lbl {
|
|
89
|
+
color: var(--md-sys-color-on-surface);
|
|
90
|
+
}
|
|
91
|
+
.supporting-text {
|
|
92
|
+
color: var(--md-sys-color-on-surface-variant);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
`;r([s({type:Boolean,reflect:!0})],t.prototype,"disabled",2);r([s({type:Boolean,reflect:!0})],t.prototype,"checked",2);r([s({type:String,reflect:!0})],t.prototype,"name",2);r([s({type:String,reflect:!0})],t.prototype,"value",2);r([s({type:String})],t.prototype,"label",2);r([s({type:String,attribute:"supporting-text"})],t.prototype,"supportingText",2);t=r([u("scb-radio-button")],t);export{t as ScbRadioButton};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import{b as g,n,i as u,x as f,t as b}from"../../vendor/vendor.js";var v=Object.defineProperty,y=Object.getOwnPropertyDescriptor,h=t=>{throw TypeError(t)},s=(t,a,e,l)=>{for(var i=l>1?void 0:l?y(a,e):a,p=t.length-1,d;p>=0;p--)(d=t[p])&&(i=(l?d(a,e,i):d(i))||i);return l&&i&&v(a,e,i),i},m=(t,a,e)=>a.has(t)||h("Cannot "+e),c=(t,a,e)=>(m(t,a,"read from private field"),e?e.call(t):a.get(t)),_=(t,a,e)=>a.has(t)?h("Cannot add the same private member more than once"):a instanceof WeakSet?a.add(t):a.set(t,e),o;let r=class extends u{constructor(){super(...arguments),this.name="",this.orientation="vertical",this.disabled=!1,this.ariaLabel=null,this.spacing="item",_(this,o,()=>{const t=this.shadowRoot?.querySelector("slot");if(!t)return;const a=t.assignedElements({flatten:!0}).filter(e=>e.tagName.toLowerCase()==="scb-radio-button");for(const e of a)this.name&&e.setAttribute("name",this.name),this.disabled?e.setAttribute("disabled",""):e.removeAttribute("disabled"),this.orientation==="horizontal"?e.setAttribute("orientation","horizontal"):e.removeAttribute("orientation"),this.spacing==="group"?e.style.setProperty("--scb-radio-gap","0"):e.style.removeProperty("--scb-radio-gap")})}render(){const t=this.orientation==="horizontal"?"row":"column";return f`
|
|
2
|
+
<div
|
|
3
|
+
class="g"
|
|
4
|
+
role="radiogroup"
|
|
5
|
+
aria-disabled=${String(this.disabled)}
|
|
6
|
+
aria-label=${this.ariaLabel??""}
|
|
7
|
+
style=${`--_dir:${t}`}
|
|
8
|
+
>
|
|
9
|
+
<slot @slotchange=${c(this,o)}></slot>
|
|
10
|
+
</div>
|
|
11
|
+
`}firstUpdated(){c(this,o).call(this)}updated(t){(t.has("name")||t.has("disabled")||t.has("orientation"))&&c(this,o).call(this)}};o=new WeakMap;r.styles=g`
|
|
12
|
+
:host { display: block; }
|
|
13
|
+
|
|
14
|
+
.g {
|
|
15
|
+
display: flex;
|
|
16
|
+
flex-direction: var(--_dir, column);
|
|
17
|
+
gap: 0; /* default: inget extra gap */
|
|
18
|
+
align-items: flex-start;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/* Om gruppen ska äga spacing: använder gap och nollar radios egen syskonmarginal */
|
|
22
|
+
:host([spacing="group"]) .g {
|
|
23
|
+
gap: var(--scb-radio-gap, 12px);
|
|
24
|
+
}
|
|
25
|
+
:host([spacing="group"]) ::slotted(scb-radio-button) {
|
|
26
|
+
--scb-radio-gap: 0;
|
|
27
|
+
}
|
|
28
|
+
`;s([n({type:String})],r.prototype,"name",2);s([n({type:String,reflect:!0})],r.prototype,"orientation",2);s([n({type:Boolean,reflect:!0})],r.prototype,"disabled",2);s([n({type:String,attribute:"aria-label"})],r.prototype,"ariaLabel",2);s([n({type:String,reflect:!0})],r.prototype,"spacing",2);r=s([b("scb-radio-group")],r);
|