@m3e/radio-group 1.0.0-rc.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.
@@ -0,0 +1,141 @@
1
+ /**
2
+ * @license MIT
3
+ * Copyright (c) 2025 matraic
4
+ * See LICENSE file in the project root for full license text.
5
+ */
6
+ import{LitElement as e,html as t,css as r}from"lit";import{Dirty as o,Touched as s,Checked as i,Labelled as a,KeyboardClick as c,Focusable as n,Disabled as l,AttachInternals as h,Role as d,HoverController as p,PressedController as u,DesignToken as f,RequiredConstraintValidation as m,Required as v,ConstraintValidation as y,FormAssociated as b,formValue as g}from"@m3e/core";import{selectionManager as $,SelectionManager as E}from"@m3e/core/a11y";function _(e,t,r,o){var s,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(s=e[c])&&(a=(i<3?s(a):i>3?s(t,r,a):s(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a}function w(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)}"function"==typeof SuppressedError&&SuppressedError;
7
+ /**
8
+ * @license
9
+ * Copyright 2017 Google LLC
10
+ * SPDX-License-Identifier: BSD-3-Clause
11
+ */
12
+ const S=e=>(t,r)=>{void 0!==r?r.addInitializer(()=>{customElements.define(e,t)}):customElements.define(e,t)},P=globalThis,k=P.ShadowRoot&&(void 0===P.ShadyCSS||P.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,C=Symbol(),U=new WeakMap;
13
+ /**
14
+ * @license
15
+ * Copyright 2019 Google LLC
16
+ * SPDX-License-Identifier: BSD-3-Clause
17
+ */let O=class{constructor(e,t,r){if(this._$cssResult$=!0,r!==C)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(k&&void 0===e){const r=void 0!==t&&1===t.length;r&&(e=U.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&U.set(t,e))}return e}toString(){return this.cssText}};const A=(e,t)=>{if(k)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const r of t){const t=document.createElement("style"),o=P.litNonce;void 0!==o&&t.setAttribute("nonce",o),t.textContent=r.cssText,e.appendChild(t)}},x=k?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const r of e.cssRules)t+=r.cssText;return(e=>new O("string"==typeof e?e:e+"",void 0,C))(t)})(e):e,{is:M,defineProperty:R,getOwnPropertyDescriptor:T,getOwnPropertyNames:j,getOwnPropertySymbols:z,getPrototypeOf:L}=Object,D=globalThis,q=D.trustedTypes,W=q?q.emptyScript:"",I=D.reactiveElementPolyfillSupport,N=(e,t)=>e,V={toAttribute(e,t){switch(t){case Boolean:e=e?W:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=null!==e;break;case Number:r=null===e?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch(e){r=null}}return r}},B=(e,t)=>!M(e,t),H={attribute:!0,type:String,converter:V,reflect:!1,useDefault:!1,hasChanged:B};
18
+ /**
19
+ * @license
20
+ * Copyright 2017 Google LLC
21
+ * SPDX-License-Identifier: BSD-3-Clause
22
+ */Symbol.metadata??=Symbol("metadata"),D.litPropertyMetadata??=new WeakMap;class K extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=H){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){const r=Symbol(),o=this.getPropertyDescriptor(e,r,t);void 0!==o&&R(this.prototype,e,o)}}static getPropertyDescriptor(e,t,r){const{get:o,set:s}=T(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:o,set(t){const i=o?.call(this);s?.call(this,t),this.requestUpdate(e,i,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??H}static _$Ei(){if(this.hasOwnProperty(N("elementProperties")))return;const e=L(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(N("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(N("properties"))){const e=this.properties,t=[...j(e),...z(e)];for(const r of t)this.createProperty(r,e[r])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,r]of t)this.elementProperties.set(e,r)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const r=this._$Eu(e,t);void 0!==r&&this._$Eh.set(r,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const r=new Set(e.flat(1/0).reverse());for(const e of r)t.unshift(x(e))}else void 0!==e&&t.push(x(e));return t}static _$Eu(e,t){const r=t.attribute;return!1===r?void 0:"string"==typeof r?r:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const r of t.keys())this.hasOwnProperty(r)&&(e.set(r,this[r]),delete this[r]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return A(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,r){this._$AK(e,r)}_$ET(e,t){const r=this.constructor.elementProperties.get(e),o=this.constructor._$Eu(e,r);if(void 0!==o&&!0===r.reflect){const s=(void 0!==r.converter?.toAttribute?r.converter:V).toAttribute(t,r.type);this._$Em=e,null==s?this.removeAttribute(o):this.setAttribute(o,s),this._$Em=null}}_$AK(e,t){const r=this.constructor,o=r._$Eh.get(e);if(void 0!==o&&this._$Em!==o){const e=r.getPropertyOptions(o),s="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:V;this._$Em=o;const i=s.fromAttribute(t,e.type);this[o]=i??this._$Ej?.get(o)??i,this._$Em=null}}requestUpdate(e,t,r){if(void 0!==e){const o=this.constructor,s=this[e];if(r??=o.getPropertyOptions(e),!((r.hasChanged??B)(s,t)||r.useDefault&&r.reflect&&s===this._$Ej?.get(e)&&!this.hasAttribute(o._$Eu(e,r))))return;this.C(e,t,r)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:r,reflect:o,wrapped:s},i){r&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,i??t??this[e]),!0!==s||void 0!==i)||(this._$AL.has(e)||(this.hasUpdated||r||(t=void 0),this._$AL.set(e,t)),!0===o&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,r]of e){const{wrapped:e}=r,o=this[t];!0!==e||this._$AL.has(t)||void 0===o||this.C(t,void 0,r,o)}}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}}K.elementStyles=[],K.shadowRootOptions={mode:"open"},K[N("elementProperties")]=new Map,K[N("finalized")]=new Map,I?.({ReactiveElement:K}),(D.reactiveElementVersions??=[]).push("2.1.1");
23
+ /**
24
+ * @license
25
+ * Copyright 2017 Google LLC
26
+ * SPDX-License-Identifier: BSD-3-Clause
27
+ */
28
+ const J={attribute:!0,type:String,converter:V,reflect:!1,hasChanged:B},G=(e=J,t,r)=>{const{kind:o,metadata:s}=r;let i=globalThis.litPropertyMetadata.get(s);if(void 0===i&&globalThis.litPropertyMetadata.set(s,i=new Map),"setter"===o&&((e=Object.create(e)).wrapped=!0),i.set(r.name,e),"accessor"===o){const{name:o}=r;return{set(r){const s=t.get.call(this);t.set.call(this,r),this.requestUpdate(o,s,e)},init(t){return void 0!==t&&this.C(o,void 0,e,t),t}}}if("setter"===o){const{name:o}=r;return function(r){const s=this[o];t.call(this,r),this.requestUpdate(o,s,e)}}throw Error("Unsupported decorator location: "+o)};
29
+ /**
30
+ * @license
31
+ * Copyright 2017 Google LLC
32
+ * SPDX-License-Identifier: BSD-3-Clause
33
+ */
34
+ function F(e,t){return(t,r,o)=>((e,t,r)=>(r.configurable=!0,r.enumerable=!0,Reflect.decorate&&"object"!=typeof t&&Object.defineProperty(e,t,r),r))(t,r,{get(){return(t=>t.renderRoot?.querySelector(e)??null)(this)}})}var Q,X,Y,Z,ee,te;let re=class extends(o(s(i(a(c(n(l(h(d(e,"radio"),!0))))))))){constructor(){super(...arguments),Q.add(this),X.set(this,e=>w(this,Q,"m",te).call(this,e)),Y.set(this,new p(this,{target:null,callback:e=>{this.disabled||(e?this._stateLayer?.show("hover"):this._stateLayer?.hide("hover"))}})),Z.set(this,new u(this,{target:null,callback:e=>{this.disabled||(e?this._ripple?.show(0,0,!0):this._ripple?.hide())}})),this.value="on"}connectedCallback(){super.connectedCallback(),this.addEventListener("click",w(this,X,"f"));for(const e of this.labels)w(this,Y,"f").observe(e),w(this,Z,"f").observe(e)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",w(this,X,"f"));for(const e of this.labels)w(this,Y,"f").unobserve(e),w(this,Z,"f").unobserve(e)}update(e){super.update(e),e.has("checked")&&this.closest("m3e-radio-group")?.[$].notifySelectionChange(this)}firstUpdated(e){super.firstUpdated(e),[this._focusRing,this._stateLayer,this._ripple].forEach(e=>e?.attach(this))}render(){return t`<div class="base">
35
+ <m3e-state-layer class="state-layer" ?disabled="${this.disabled}"></m3e-state-layer>
36
+ <m3e-focus-ring class="focus-ring" ?disabled="${this.disabled}"></m3e-focus-ring>
37
+ <m3e-ripple class="ripple" centered disable-enter ?disabled="${this.disabled}"></m3e-ripple>
38
+ <div class="touch" aria-hidden="true"></div>
39
+ <div class="wrapper" aria-hidden="true">${w(this,Q,"m",ee).call(this)}</div>
40
+ </div>`}};var oe,se,ie,ae,ce,ne;X=new WeakMap,Y=new WeakMap,Z=new WeakMap,Q=new WeakSet,ee=function(){return t`<svg viewBox="0 0 20 20">
41
+ <mask id="cutout2">
42
+ <rect width="100%" height="100%" fill="white"></rect>
43
+ <circle cx="10" cy="10" r="8" fill="black"></circle>
44
+ </mask>
45
+ <circle class="outer circle" cx="10" cy="10" r="10" mask="url(#cutout2)"></circle>
46
+ <circle class="inner circle" cx="10" cy="10" r="5"></circle>
47
+ </svg>`},te=function(e){e.defaultPrevented||this.checked||(this.checked=!0,this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0,cancelable:!0}))?(this.closest("m3e-radio-group")?.[$].notifySelectionChange(this),this.dispatchEvent(new Event("change",{bubbles:!0}))):this.checked=!1)},re.styles=r`
48
+ :host {
49
+ display: inline-block;
50
+ outline: none;
51
+ width: fit-content;
52
+ height: fit-content;
53
+ vertical-align: middle;
54
+ }
55
+ :host(:not(:disabled)) {
56
+ cursor: pointer;
57
+ }
58
+ .base {
59
+ box-sizing: border-box;
60
+ vertical-align: middle;
61
+ display: inline-flex;
62
+ align-items: center;
63
+ justify-content: center;
64
+ position: relative;
65
+ border-radius: 50%;
66
+ width: calc(var(--m3e-radio-container-size, 2.5rem) + ${f.density.calc(-3)});
67
+ height: calc(var(--m3e-radio-container-size, 2.5rem) + ${f.density.calc(-3)});
68
+ }
69
+ .touch {
70
+ position: absolute;
71
+ height: 3rem;
72
+ width: 3rem;
73
+ margin: auto;
74
+ }
75
+ .wrapper {
76
+ box-sizing: border-box;
77
+ pointer-events: none;
78
+ width: var(--m3e-radio-icon-size, 1.25rem);
79
+ height: var(--m3e-radio-icon-size, 1.25rem);
80
+ }
81
+ .circle {
82
+ fill: currentColor;
83
+ }
84
+ :host(:not([checked])) .circle.inner {
85
+ opacity: 0;
86
+ }
87
+ :host(:not([checked])) .base {
88
+ --m3e-state-layer-hover-color: var(--m3e-radio-unselected-hover-color, ${f.color.onSurface});
89
+ --m3e-state-layer-focus-color: var(--m3e-radio-unselected-focus-color, ${f.color.onSurface});
90
+ --m3e-ripple-color: var(--m3e-radio-unselected-ripple-color, ${f.color.onSurface});
91
+ color: var(--m3e-radio-unselected-icon-color, ${f.color.onSurfaceVariant});
92
+ }
93
+ :host([checked]) .base {
94
+ --m3e-state-layer-hover-color: var(--m3e-radio-selected-hover-color, ${f.color.primary});
95
+ --m3e-state-layer-focus-color: var(--m3e-radio-selected-focus-color, ${f.color.primary});
96
+ --m3e-ripple-color: var(--m3e-radio-selected-ripple-color, ${f.color.primary});
97
+ color: var(--m3e-radio-selected-icon-color, ${f.color.primary});
98
+ }
99
+ :host(:disabled) .base {
100
+ color: color-mix(in srgb, var(--m3e-radio-disabled-icon-color, ${f.color.onSurface}) 38%, transparent);
101
+ }
102
+ @media (forced-colors: active) {
103
+ :host(:not([checked])) .base,
104
+ :host([checked]) .base {
105
+ --m3e-state-layer-hover-color: var(--_radio-forced-color, CanvasText);
106
+ --m3e-state-layer-focus-color: var(--_radio-forced-color, CanvasText);
107
+ --m3e-ripple-color: var(--_radio-forced-color, CanvasText);
108
+ color: var(--_radio-forced-color, CanvasText);
109
+ }
110
+ :host(:disabled) .base {
111
+ color: GrayText;
112
+ }
113
+ }
114
+ `,_([F(".focus-ring")],re.prototype,"_focusRing",void 0),_([F(".state-layer")],re.prototype,"_stateLayer",void 0),_([F(".ripple")],re.prototype,"_ripple",void 0),_([function(e){return(t,r)=>"object"==typeof r?G(e,t,r):((e,t,r)=>{const o=t.hasOwnProperty(r);return t.constructor.createProperty(r,e),o?Object.getOwnPropertyDescriptor(t,r):void 0})(e,t,r)}
115
+ /**
116
+ * @license
117
+ * Copyright 2017 Google LLC
118
+ * SPDX-License-Identifier: BSD-3-Clause
119
+ */()],re.prototype,"value",void 0),re=_([S("m3e-radio")],re);let le=class extends(a(m(o(s(v(y(b(l(h(d(e,"radiogroup"))))))))))){constructor(){super(...arguments),oe.add(this),se.set(this,()=>this.checkValidity()),this[ne]=(new E).withWrap().onActiveItemChange(()=>{this[$].activeItem?.click()})}get radios(){return this[$]?.items??[]}get selected(){return this[$]?.selectedItems[0]??null}get value(){return this.selected?.value??null}get[(se=new WeakMap,oe=new WeakSet,ne=$,g)](){return this.value}connectedCallback(){super.connectedCallback(),this.addEventListener("focusout",w(this,se,"f"),{capture:!0})}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("focusout",w(this,se,"f"),{capture:!0})}update(e){super.update(e),e.has("disabled")&&(void 0!==e.get("disabled")||this.disabled)&&(this[$].disabled=this.disabled)}render(){return t`<slot
120
+ @slotchange="${w(this,oe,"m",ie)}"
121
+ @keydown="${w(this,oe,"m",ae)}"
122
+ @change="${w(this,oe,"m",ce)}"
123
+ ></slot>`}};ie=function(){this[$].setItems([...this.querySelectorAll("m3e-radio")])},ae=function(e){this[$].onKeyDown(e)},ce=function(e){e.stopPropagation(),"true"===this.ariaInvalid&&this.checkValidity(),this.dispatchEvent(new Event("change",{bubbles:!0}))},le.styles=r`
124
+ :host {
125
+ display: inline;
126
+ }
127
+ :host(.-touched:invalid) {
128
+ --m3e-radio-unselected-hover-color: var(--m3e-radio-error-hover-color, ${f.color.error});
129
+ --m3e-radio-unselected-focus-color: var(--m3e-radio-error-focus-color, ${f.color.error});
130
+ --m3e-radio-unselected-ripple-color: var(--m3e-radio-error-ripple-color, ${f.color.error});
131
+ --m3e-radio-unselected-icon-color: var(--m3e-radio-error-icon-color, ${f.color.error});
132
+ color: var(--m3e-radio-error-icon-color, ${f.color.error});
133
+ }
134
+ @media (forced-colors: active) {
135
+ :host(.-touched:invalid) {
136
+ --_radio-forced-color: Highlight;
137
+ color: Highlight;
138
+ }
139
+ }
140
+ `,le=_([S("m3e-radio-group")],le);export{re as M3eRadioElement,le as M3eRadioGroupElement};
141
+ //# sourceMappingURL=index.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.min.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../node_modules/@lit/reactive-element/decorators/custom-element.js","../../../node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/@lit/reactive-element/decorators/property.js","../../../node_modules/@lit/reactive-element/decorators/query.js","../../../node_modules/@lit/reactive-element/decorators/base.js","../../src/RadioElement.ts","../../src/RadioGroupElement.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){const e=this.constructor,h=this[t];if(i??=e.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.1\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e(e,r){return(n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}=\"object\"==typeof s?n:i??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return t(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return t(n,s,{get(){return o(this)}})}}export{e as query};\n//# sourceMappingURL=query.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&\"object\"!=typeof t&&Object.defineProperty(e,t,c),c);export{e as desc};\n//# sourceMappingURL=base.js.map\n","import { css, CSSResultGroup, html, LitElement, PropertyValues } from \"lit\";\r\nimport { customElement, property, query } from \"lit/decorators.js\";\r\n\r\nimport {\r\n AttachInternals,\r\n Checked,\r\n DesignToken,\r\n Dirty,\r\n Disabled,\r\n Focusable,\r\n HoverController,\r\n KeyboardClick,\r\n Labelled,\r\n M3eFocusRingElement,\r\n M3eRippleElement,\r\n M3eStateLayerElement,\r\n PressedController,\r\n Role,\r\n Touched,\r\n} from \"@m3e/core\";\r\n\r\nimport { selectionManager } from \"@m3e/core/a11y\";\r\n\r\n/**\r\n * @summary\r\n * A radio button that allows a user to select one option from a set of options.\r\n *\r\n * @description\r\n * The `m3e-radio` component represents a radio button that enables users to select an options from a set.\r\n * It supports selection from mutually exclusive options, emitting `input` and `change` events when its state updates.\r\n * The component reflects its state through customizable CSS properties for hover, focus, ripple, and icon styling—\r\n * adapting dynamically based on whether it is selected, unselected, or disabled.\r\n *\r\n * Attributes like `checked`, `disabled`, and `value` control its behavior and accessibility, while its visual\r\n * presentation can be tuned via design tokens such as `--m3e-radio-container-size` and `--m3e-radio-icon-size`.\r\n *\r\n * @example\r\n * The following example illustrates using `m3e-radio-group` and `m3e-radio` to present a group of options.\r\n * ```html\r\n * <label for=\"rdg1\">Radio group</label>\r\n * <br />\r\n * <m3e-radio-group id=\"rdg1\">\r\n * <label><m3e-radio value=\"1\"></m3e-radio> Value 1</label>\r\n * <label><m3e-radio value=\"2\"></m3e-radio> Value 2</label>\r\n * <label><m3e-radio value=\"3\"></m3e-radio> Value 3</label>\r\n * <label><m3e-radio value=\"4\"></m3e-radio> Value 4</label>\r\n * </m3e-radio-group>\r\n * ```\r\n *\r\n * @tag m3e-radio\r\n *\r\n * @attr checked - Whether the element is checked.\r\n * @attr disabled - Whether the element is disabled.\r\n * @attr value - A string representing the value of the radio.\r\n *\r\n * @fires input - Emitted when the checked state changes.\r\n * @fires change - Emitted when the checked state changes.\r\n *\r\n * @cssprop --m3e-radio-container-size - Base size of the radio button container.\r\n * @cssprop --m3e-radio-icon-size - Size of the radio icon inside the wrapper.\r\n * @cssprop --m3e-radio-unselected-hover-color - Hover state layer color when radio is not selected.\r\n * @cssprop --m3e-radio-unselected-focus-color - Focus state layer color when radio is not selected.\r\n * @cssprop --m3e-radio-unselected-ripple-color - Ripple color when radio is not selected.\r\n * @cssprop --m3e-radio-unselected-icon-color - Icon color when radio is not selected.\r\n * @cssprop --m3e-radio-selected-hover-color - Hover state layer color when radio is selected.\r\n * @cssprop --m3e-radio-selected-focus-color - Focus state layer color when radio is selected.\r\n * @cssprop --m3e-radio-selected-ripple-color - Ripple color when radio is selected.\r\n * @cssprop --m3e-radio-selected-icon-color - Icon color when radio is selected.\r\n * @cssprop --m3e-radio-disabled-icon-color - Icon color when radio is disabled.\r\n */\r\n@customElement(\"m3e-radio\")\r\nexport class M3eRadioElement extends Dirty(\r\n Touched(Checked(Labelled(KeyboardClick(Focusable(Disabled(AttachInternals(Role(LitElement, \"radio\"), true)))))))\r\n) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n :host {\r\n display: inline-block;\r\n outline: none;\r\n width: fit-content;\r\n height: fit-content;\r\n vertical-align: middle;\r\n }\r\n :host(:not(:disabled)) {\r\n cursor: pointer;\r\n }\r\n .base {\r\n box-sizing: border-box;\r\n vertical-align: middle;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: relative;\r\n border-radius: 50%;\r\n width: calc(var(--m3e-radio-container-size, 2.5rem) + ${DesignToken.density.calc(-3)});\r\n height: calc(var(--m3e-radio-container-size, 2.5rem) + ${DesignToken.density.calc(-3)});\r\n }\r\n .touch {\r\n position: absolute;\r\n height: 3rem;\r\n width: 3rem;\r\n margin: auto;\r\n }\r\n .wrapper {\r\n box-sizing: border-box;\r\n pointer-events: none;\r\n width: var(--m3e-radio-icon-size, 1.25rem);\r\n height: var(--m3e-radio-icon-size, 1.25rem);\r\n }\r\n .circle {\r\n fill: currentColor;\r\n }\r\n :host(:not([checked])) .circle.inner {\r\n opacity: 0;\r\n }\r\n :host(:not([checked])) .base {\r\n --m3e-state-layer-hover-color: var(--m3e-radio-unselected-hover-color, ${DesignToken.color.onSurface});\r\n --m3e-state-layer-focus-color: var(--m3e-radio-unselected-focus-color, ${DesignToken.color.onSurface});\r\n --m3e-ripple-color: var(--m3e-radio-unselected-ripple-color, ${DesignToken.color.onSurface});\r\n color: var(--m3e-radio-unselected-icon-color, ${DesignToken.color.onSurfaceVariant});\r\n }\r\n :host([checked]) .base {\r\n --m3e-state-layer-hover-color: var(--m3e-radio-selected-hover-color, ${DesignToken.color.primary});\r\n --m3e-state-layer-focus-color: var(--m3e-radio-selected-focus-color, ${DesignToken.color.primary});\r\n --m3e-ripple-color: var(--m3e-radio-selected-ripple-color, ${DesignToken.color.primary});\r\n color: var(--m3e-radio-selected-icon-color, ${DesignToken.color.primary});\r\n }\r\n :host(:disabled) .base {\r\n color: color-mix(in srgb, var(--m3e-radio-disabled-icon-color, ${DesignToken.color.onSurface}) 38%, transparent);\r\n }\r\n @media (forced-colors: active) {\r\n :host(:not([checked])) .base,\r\n :host([checked]) .base {\r\n --m3e-state-layer-hover-color: var(--_radio-forced-color, CanvasText);\r\n --m3e-state-layer-focus-color: var(--_radio-forced-color, CanvasText);\r\n --m3e-ripple-color: var(--_radio-forced-color, CanvasText);\r\n color: var(--_radio-forced-color, CanvasText);\r\n }\r\n :host(:disabled) .base {\r\n color: GrayText;\r\n }\r\n }\r\n `;\r\n\r\n /** @private */ @query(\".focus-ring\") private readonly _focusRing?: M3eFocusRingElement;\r\n /** @private */ @query(\".state-layer\") private readonly _stateLayer?: M3eStateLayerElement;\r\n /** @private */ @query(\".ripple\") private readonly _ripple?: M3eRippleElement;\r\n /** @private */ readonly #clickHandler = (e: Event) => this.#handleClick(e);\r\n\r\n /** @private */ readonly #hoverController = new HoverController(this, {\r\n target: null,\r\n callback: (hovering) => {\r\n if (this.disabled) return;\r\n if (hovering) {\r\n this._stateLayer?.show(\"hover\");\r\n } else {\r\n this._stateLayer?.hide(\"hover\");\r\n }\r\n },\r\n });\r\n\r\n /** @private */ readonly #pressedController = new PressedController(this, {\r\n target: null,\r\n callback: (pressed) => {\r\n if (this.disabled) return;\r\n if (pressed) {\r\n this._ripple?.show(0, 0, true);\r\n } else {\r\n this._ripple?.hide();\r\n }\r\n },\r\n });\r\n\r\n /**\r\n * A string representing the value of the radio.\r\n * @default \"on\"\r\n */\r\n @property() value = \"on\";\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n super.connectedCallback();\r\n\r\n this.addEventListener(\"click\", this.#clickHandler);\r\n for (const label of this.labels) {\r\n this.#hoverController.observe(label);\r\n this.#pressedController.observe(label);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n\r\n this.removeEventListener(\"click\", this.#clickHandler);\r\n for (const label of this.labels) {\r\n this.#hoverController.unobserve(label);\r\n this.#pressedController.unobserve(label);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override update(changedProperties: PropertyValues<this>): void {\r\n super.update(changedProperties);\r\n\r\n if (changedProperties.has(\"checked\")) {\r\n this.closest(\"m3e-radio-group\")?.[selectionManager].notifySelectionChange(this);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues<this>): void {\r\n super.firstUpdated(_changedProperties);\r\n [this._focusRing, this._stateLayer, this._ripple].forEach((x) => x?.attach(this));\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<div class=\"base\">\r\n <m3e-state-layer class=\"state-layer\" ?disabled=\"${this.disabled}\"></m3e-state-layer>\r\n <m3e-focus-ring class=\"focus-ring\" ?disabled=\"${this.disabled}\"></m3e-focus-ring>\r\n <m3e-ripple class=\"ripple\" centered disable-enter ?disabled=\"${this.disabled}\"></m3e-ripple>\r\n <div class=\"touch\" aria-hidden=\"true\"></div>\r\n <div class=\"wrapper\" aria-hidden=\"true\">${this.#renderIcon()}</div>\r\n </div>`;\r\n }\r\n\r\n /** @private */\r\n #renderIcon(): unknown {\r\n return html`<svg viewBox=\"0 0 20 20\">\r\n <mask id=\"cutout2\">\r\n <rect width=\"100%\" height=\"100%\" fill=\"white\"></rect>\r\n <circle cx=\"10\" cy=\"10\" r=\"8\" fill=\"black\"></circle>\r\n </mask>\r\n <circle class=\"outer circle\" cx=\"10\" cy=\"10\" r=\"10\" mask=\"url(#cutout2)\"></circle>\r\n <circle class=\"inner circle\" cx=\"10\" cy=\"10\" r=\"5\"></circle>\r\n </svg>`;\r\n }\r\n\r\n /** @private */\r\n #handleClick(e: Event): void {\r\n if (e.defaultPrevented || this.checked) return;\r\n this.checked = true;\r\n if (this.dispatchEvent(new Event(\"input\", { bubbles: true, composed: true, cancelable: true }))) {\r\n this.closest(\"m3e-radio-group\")?.[selectionManager].notifySelectionChange(this);\r\n this.dispatchEvent(new Event(\"change\", { bubbles: true }));\r\n } else {\r\n this.checked = false;\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-radio\": M3eRadioElement;\r\n }\r\n}\r\n","import { css, CSSResultGroup, html, LitElement, PropertyValues } from \"lit\";\r\nimport { customElement } from \"lit/decorators.js\";\r\n\r\nimport {\r\n AttachInternals,\r\n Labelled,\r\n ConstraintValidation,\r\n DesignToken,\r\n Dirty,\r\n Disabled,\r\n FormAssociated,\r\n formValue,\r\n Required,\r\n RequiredConstraintValidation,\r\n Touched,\r\n Role,\r\n} from \"@m3e/core\";\r\n\r\nimport { SelectionManager, selectionManager } from \"@m3e/core/a11y\";\r\n\r\nimport { M3eRadioElement } from \"./RadioElement\";\r\n\r\n/**\r\n * @summary\r\n * A container for a set of radio buttons that enforces single selection.\r\n *\r\n * @description\r\n * The `m3e-radio-group` component orchestrates a collection of `m3e-radio` components, ensuring that\r\n * only one option is selected at a time. It manages selection state, propagates value changes, and\r\n * supports form integration through `name` and `value` attributes.\r\n *\r\n * @example\r\n * The following example illustrates using `m3e-radio-group` and `m3e-radio` to present a group of options.\r\n * ```html\r\n * <label for=\"rdg1\">Radio group</label>\r\n * <br />\r\n * <m3e-radio-group id=\"rdg1\">\r\n * <label><m3e-radio value=\"1\"></m3e-radio> Value 1</label>\r\n * <label><m3e-radio value=\"2\"></m3e-radio> Value 2</label>\r\n * <label><m3e-radio value=\"3\"></m3e-radio> Value 3</label>\r\n * <label><m3e-radio value=\"4\"></m3e-radio> Value 4</label>\r\n * </m3e-radio-group>\r\n * ```\r\n *\r\n * @tag m3e-radio-group\r\n *\r\n * @slot - Renders the radio buttons of the group.\r\n *\r\n * @attr disabled - Whether the element is disabled.\r\n * @attr name - The name that identifies the element when submitting the associated form.\r\n * @attr required - Whether the element is required.\r\n *\r\n * @fires change - Emitted when the checked state of a radio button changes.\r\n *\r\n * @cssprop --m3e-radio-error-hover-color - Fallback hover color used when the radio is invalid and touched.\r\n * @cssprop --m3e-radio-error-focus-color - Fallback focus color used when the radio is invalid and touched.\r\n * @cssprop --m3e-radio-error-ripple-color - Fallback ripple color used when the radio is invalid and touched.\r\n * @cssprop --m3e-radio-error-icon-color - Fallback icon color used when the radio is invalid and touched.\r\n */\r\n@customElement(\"m3e-radio-group\")\r\nexport class M3eRadioGroupElement extends Labelled(\r\n RequiredConstraintValidation(\r\n Dirty(\r\n Touched(Required(ConstraintValidation(FormAssociated(Disabled(AttachInternals(Role(LitElement, \"radiogroup\")))))))\r\n )\r\n )\r\n) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n :host {\r\n display: inline;\r\n }\r\n :host(.-touched:invalid) {\r\n --m3e-radio-unselected-hover-color: var(--m3e-radio-error-hover-color, ${DesignToken.color.error});\r\n --m3e-radio-unselected-focus-color: var(--m3e-radio-error-focus-color, ${DesignToken.color.error});\r\n --m3e-radio-unselected-ripple-color: var(--m3e-radio-error-ripple-color, ${DesignToken.color.error});\r\n --m3e-radio-unselected-icon-color: var(--m3e-radio-error-icon-color, ${DesignToken.color.error});\r\n color: var(--m3e-radio-error-icon-color, ${DesignToken.color.error});\r\n }\r\n @media (forced-colors: active) {\r\n :host(.-touched:invalid) {\r\n --_radio-forced-color: Highlight;\r\n color: Highlight;\r\n }\r\n }\r\n `;\r\n\r\n /** @private */ readonly #focusOutHandler = () => this.checkValidity();\r\n\r\n /** @internal */\r\n readonly [selectionManager] = new SelectionManager<M3eRadioElement>().withWrap().onActiveItemChange(() => {\r\n this[selectionManager].activeItem?.click();\r\n });\r\n\r\n /** The radio buttons in the group. */\r\n get radios(): readonly M3eRadioElement[] {\r\n return this[selectionManager]?.items ?? [];\r\n }\r\n\r\n /** The selected radio. */\r\n get selected(): M3eRadioElement | null {\r\n return this[selectionManager]?.selectedItems[0] ?? null;\r\n }\r\n\r\n /** The selected value of the radio group. */\r\n get value(): string | null {\r\n return this.selected?.value ?? null;\r\n }\r\n\r\n /** @inheritdoc @internal */\r\n override get [formValue](): string | File | FormData | null {\r\n return this.value;\r\n }\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n super.connectedCallback();\r\n this.addEventListener(\"focusout\", this.#focusOutHandler, { capture: true });\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n this.removeEventListener(\"focusout\", this.#focusOutHandler, { capture: true });\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override update(changedProperties: PropertyValues<this>): void {\r\n super.update(changedProperties);\r\n\r\n if (changedProperties.has(\"disabled\") && (changedProperties.get(\"disabled\") !== undefined || this.disabled)) {\r\n this[selectionManager].disabled = this.disabled;\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<slot\r\n @slotchange=\"${this.#handleSlotChange}\"\r\n @keydown=\"${this.#handleKeyDown}\"\r\n @change=\"${this.#handleChange}\"\r\n ></slot>`;\r\n }\r\n\r\n /** @private */\r\n #handleSlotChange() {\r\n this[selectionManager].setItems([...this.querySelectorAll(\"m3e-radio\")]);\r\n }\r\n\r\n /** @private */\r\n #handleKeyDown(e: KeyboardEvent): void {\r\n this[selectionManager].onKeyDown(e);\r\n }\r\n\r\n /** @private */\r\n #handleChange(e: Event): void {\r\n e.stopPropagation();\r\n if (this.ariaInvalid === \"true\") {\r\n this.checkValidity();\r\n }\r\n\r\n this.dispatchEvent(new Event(\"change\", { bubbles: true }));\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-radio-group\": M3eRadioGroupElement;\r\n }\r\n}\r\n"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","call","value","get","SuppressedError","t","e","o","addInitializer","customElements","define","globalThis","ShadowRoot","ShadyCSS","nativeShadow","Document","prototype","CSSStyleSheet","s","Symbol","WeakMap","n$2","constructor","this","_$cssResult$","Error","cssText","styleSheet","replaceSync","set","toString","S","adoptedStyleSheets","map","document","createElement","n","litNonce","setAttribute","textContent","appendChild","cssRules","is","h","getOwnPropertyNames","getOwnPropertySymbols","getPrototypeOf","a","trustedTypes","l","emptyScript","p","reactiveElementPolyfillSupport","u","toAttribute","Boolean","Array","JSON","stringify","fromAttribute","Number","parse","b","attribute","type","String","converter","reflect","useDefault","hasChanged","metadata","litPropertyMetadata","y","HTMLElement","_$Ei","push","observedAttributes","finalize","_$Eh","keys","createProperty","hasOwnProperty","create","wrapped","elementProperties","noAccessor","getPropertyDescriptor","requestUpdate","configurable","enumerable","getPropertyOptions","Map","finalized","properties","_$Eu","elementStyles","finalizeStyles","styles","isArray","Set","flat","reverse","unshift","toLowerCase","super","_$Ep","isUpdatePending","hasUpdated","_$Em","_$Ev","_$ES","Promise","enableUpdating","_$AL","_$E_","forEach","addController","_$EO","add","renderRoot","isConnected","hostConnected","removeController","delete","size","createRenderRoot","shadowRoot","attachShadow","shadowRootOptions","connectedCallback","disconnectedCallback","hostDisconnected","attributeChangedCallback","_$AK","_$ET","removeAttribute","_$Ej","hasAttribute","C","_$EP","_$Eq","reject","scheduleUpdate","performUpdate","shouldUpdate","willUpdate","hostUpdate","update","_$EM","_$AE","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","mode","ReactiveElement","reactiveElementVersions","name","init","querySelector","M3eRadioElement","Dirty","Touched","Checked","Labelled","KeyboardClick","Focusable","Disabled","AttachInternals","Role","LitElement","_M3eRadioElement_clickHandler","_M3eRadioElement_hoverController","HoverController","callback","hovering","disabled","_stateLayer","show","hide","_M3eRadioElement_pressedController","PressedController","pressed","_ripple","addEventListener","label","labels","observe","removeEventListener","unobserve","changedProperties","closest","selectionManager","notifySelectionChange","_changedProperties","_focusRing","x","attach","render","html","_M3eRadioElement_instances","_M3eRadioElement_renderIcon","defaultPrevented","checked","dispatchEvent","Event","bubbles","composed","cancelable","css","DesignToken","density","calc","color","onSurface","onSurfaceVariant","primary","query","property","customElement","M3eRadioGroupElement","RequiredConstraintValidation","Required","ConstraintValidation","FormAssociated","_M3eRadioGroupElement_focusOutHandler","checkValidity","_a","SelectionManager","withWrap","onActiveItemChange","activeItem","click","radios","items","selected","selectedItems","_M3eRadioGroupElement_instances","WeakSet","formValue","capture","undefined","_M3eRadioGroupElement_handleSlotChange","_M3eRadioGroupElement_handleKeyDown","_M3eRadioGroupElement_handleChange","setItems","querySelectorAll","onKeyDown","stopPropagation","ariaInvalid","error"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
@@ -0,0 +1,79 @@
1
+ import { CSSResultGroup, LitElement, PropertyValues } from "lit";
2
+ declare const M3eRadioElement_base: import("node_modules/@m3e/core/dist/src/shared/mixins/Constructor").Constructor<import("@m3e/core").DirtyMixin> & import("node_modules/@m3e/core/dist/src/shared/mixins/Constructor").Constructor<import("@m3e/core").TouchedMixin> & import("node_modules/@m3e/core/dist/src/shared/mixins/Constructor").Constructor<import("@m3e/core").CheckedMixin> & import("node_modules/@m3e/core/dist/src/shared/mixins/Constructor").Constructor<import("@m3e/core").LabelledMixin> & import("node_modules/@m3e/core/dist/src/shared/mixins/Constructor").Constructor & import("node_modules/@m3e/core/dist/src/shared/mixins/Constructor").Constructor<import("@m3e/core").DisabledMixin> & import("node_modules/@m3e/core/dist/src/shared/mixins/Constructor").Constructor<import("@m3e/core").AttachInternalsMixin> & typeof LitElement;
3
+ /**
4
+ * @summary
5
+ * A radio button that allows a user to select one option from a set of options.
6
+ *
7
+ * @description
8
+ * The `m3e-radio` component represents a radio button that enables users to select an options from a set.
9
+ * It supports selection from mutually exclusive options, emitting `input` and `change` events when its state updates.
10
+ * The component reflects its state through customizable CSS properties for hover, focus, ripple, and icon styling—
11
+ * adapting dynamically based on whether it is selected, unselected, or disabled.
12
+ *
13
+ * Attributes like `checked`, `disabled`, and `value` control its behavior and accessibility, while its visual
14
+ * presentation can be tuned via design tokens such as `--m3e-radio-container-size` and `--m3e-radio-icon-size`.
15
+ *
16
+ * @example
17
+ * The following example illustrates using `m3e-radio-group` and `m3e-radio` to present a group of options.
18
+ * ```html
19
+ * <label for="rdg1">Radio group</label>
20
+ * <br />
21
+ * <m3e-radio-group id="rdg1">
22
+ * <label><m3e-radio value="1"></m3e-radio> Value 1</label>
23
+ * <label><m3e-radio value="2"></m3e-radio> Value 2</label>
24
+ * <label><m3e-radio value="3"></m3e-radio> Value 3</label>
25
+ * <label><m3e-radio value="4"></m3e-radio> Value 4</label>
26
+ * </m3e-radio-group>
27
+ * ```
28
+ *
29
+ * @tag m3e-radio
30
+ *
31
+ * @attr checked - Whether the element is checked.
32
+ * @attr disabled - Whether the element is disabled.
33
+ * @attr value - A string representing the value of the radio.
34
+ *
35
+ * @fires input - Emitted when the checked state changes.
36
+ * @fires change - Emitted when the checked state changes.
37
+ *
38
+ * @cssprop --m3e-radio-container-size - Base size of the radio button container.
39
+ * @cssprop --m3e-radio-icon-size - Size of the radio icon inside the wrapper.
40
+ * @cssprop --m3e-radio-unselected-hover-color - Hover state layer color when radio is not selected.
41
+ * @cssprop --m3e-radio-unselected-focus-color - Focus state layer color when radio is not selected.
42
+ * @cssprop --m3e-radio-unselected-ripple-color - Ripple color when radio is not selected.
43
+ * @cssprop --m3e-radio-unselected-icon-color - Icon color when radio is not selected.
44
+ * @cssprop --m3e-radio-selected-hover-color - Hover state layer color when radio is selected.
45
+ * @cssprop --m3e-radio-selected-focus-color - Focus state layer color when radio is selected.
46
+ * @cssprop --m3e-radio-selected-ripple-color - Ripple color when radio is selected.
47
+ * @cssprop --m3e-radio-selected-icon-color - Icon color when radio is selected.
48
+ * @cssprop --m3e-radio-disabled-icon-color - Icon color when radio is disabled.
49
+ */
50
+ export declare class M3eRadioElement extends M3eRadioElement_base {
51
+ #private;
52
+ /** The styles of the element. */
53
+ static styles: CSSResultGroup;
54
+ /** @private */ private readonly _focusRing?;
55
+ /** @private */ private readonly _stateLayer?;
56
+ /** @private */ private readonly _ripple?;
57
+ /**
58
+ * A string representing the value of the radio.
59
+ * @default "on"
60
+ */
61
+ value: string;
62
+ /** @inheritdoc */
63
+ connectedCallback(): void;
64
+ /** @inheritdoc */
65
+ disconnectedCallback(): void;
66
+ /** @inheritdoc */
67
+ protected update(changedProperties: PropertyValues<this>): void;
68
+ /** @inheritdoc */
69
+ protected firstUpdated(_changedProperties: PropertyValues<this>): void;
70
+ /** @inheritdoc */
71
+ protected render(): unknown;
72
+ }
73
+ declare global {
74
+ interface HTMLElementTagNameMap {
75
+ "m3e-radio": M3eRadioElement;
76
+ }
77
+ }
78
+ export {};
79
+ //# sourceMappingURL=RadioElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioElement.d.ts","sourceRoot":"","sources":["../../src/RadioElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;;AAuB5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,qBACa,eAAgB,SAAQ,oBAEpC;;IACC,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAmEpC;IAEF,eAAe,CAAuB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAsB;IACxF,eAAe,CAAwB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAuB;IAC3F,eAAe,CAAmB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAmB;IA2B9E;;;OAGG;IACS,KAAK,SAAQ;IAEzB,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAUlC,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAUrC,kBAAkB;cACC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQxE,kBAAkB;cACC,YAAY,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAK/E,kBAAkB;cACC,MAAM,IAAI,OAAO;CAiCrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,eAAe,CAAC;KAC9B;CACF"}
@@ -0,0 +1,72 @@
1
+ import { CSSResultGroup, LitElement, PropertyValues } from "lit";
2
+ import { formValue } from "@m3e/core";
3
+ import { SelectionManager, selectionManager } from "@m3e/core/a11y";
4
+ import { M3eRadioElement } from "./RadioElement";
5
+ declare const M3eRadioGroupElement_base: import("node_modules/@m3e/core/dist/src/shared/mixins/Constructor").Constructor<import("@m3e/core").LabelledMixin> & import("node_modules/@m3e/core/dist/src/shared/mixins/Constructor").Constructor<import("@m3e/core").RequiredConstraintValidationMixin> & import("node_modules/@m3e/core/dist/src/shared/mixins/Constructor").Constructor<import("@m3e/core").DirtyMixin> & import("node_modules/@m3e/core/dist/src/shared/mixins/Constructor").Constructor<import("@m3e/core").TouchedMixin> & import("node_modules/@m3e/core/dist/src/shared/mixins/Constructor").Constructor<import("@m3e/core").RequiredMixin> & import("node_modules/@m3e/core/dist/src/shared/mixins/Constructor").Constructor<import("@m3e/core").ConstraintValidationMixin> & import("node_modules/@m3e/core/dist/src/shared/mixins/Constructor").Constructor<import("@m3e/core").FormAssociatedMixin> & import("node_modules/@m3e/core/dist/src/shared/mixins/Constructor").Constructor<import("@m3e/core").DisabledMixin> & import("node_modules/@m3e/core/dist/src/shared/mixins/Constructor").Constructor<import("@m3e/core").AttachInternalsMixin> & import("node_modules/@m3e/core/dist/src/shared/mixins/Constructor").Constructor & typeof LitElement;
6
+ /**
7
+ * @summary
8
+ * A container for a set of radio buttons that enforces single selection.
9
+ *
10
+ * @description
11
+ * The `m3e-radio-group` component orchestrates a collection of `m3e-radio` components, ensuring that
12
+ * only one option is selected at a time. It manages selection state, propagates value changes, and
13
+ * supports form integration through `name` and `value` attributes.
14
+ *
15
+ * @example
16
+ * The following example illustrates using `m3e-radio-group` and `m3e-radio` to present a group of options.
17
+ * ```html
18
+ * <label for="rdg1">Radio group</label>
19
+ * <br />
20
+ * <m3e-radio-group id="rdg1">
21
+ * <label><m3e-radio value="1"></m3e-radio> Value 1</label>
22
+ * <label><m3e-radio value="2"></m3e-radio> Value 2</label>
23
+ * <label><m3e-radio value="3"></m3e-radio> Value 3</label>
24
+ * <label><m3e-radio value="4"></m3e-radio> Value 4</label>
25
+ * </m3e-radio-group>
26
+ * ```
27
+ *
28
+ * @tag m3e-radio-group
29
+ *
30
+ * @slot - Renders the radio buttons of the group.
31
+ *
32
+ * @attr disabled - Whether the element is disabled.
33
+ * @attr name - The name that identifies the element when submitting the associated form.
34
+ * @attr required - Whether the element is required.
35
+ *
36
+ * @fires change - Emitted when the checked state of a radio button changes.
37
+ *
38
+ * @cssprop --m3e-radio-error-hover-color - Fallback hover color used when the radio is invalid and touched.
39
+ * @cssprop --m3e-radio-error-focus-color - Fallback focus color used when the radio is invalid and touched.
40
+ * @cssprop --m3e-radio-error-ripple-color - Fallback ripple color used when the radio is invalid and touched.
41
+ * @cssprop --m3e-radio-error-icon-color - Fallback icon color used when the radio is invalid and touched.
42
+ */
43
+ export declare class M3eRadioGroupElement extends M3eRadioGroupElement_base {
44
+ #private;
45
+ /** The styles of the element. */
46
+ static styles: CSSResultGroup;
47
+ /** @internal */
48
+ readonly [selectionManager]: SelectionManager<M3eRadioElement>;
49
+ /** The radio buttons in the group. */
50
+ get radios(): readonly M3eRadioElement[];
51
+ /** The selected radio. */
52
+ get selected(): M3eRadioElement | null;
53
+ /** The selected value of the radio group. */
54
+ get value(): string | null;
55
+ /** @inheritdoc @internal */
56
+ get [formValue](): string | File | FormData | null;
57
+ /** @inheritdoc */
58
+ connectedCallback(): void;
59
+ /** @inheritdoc */
60
+ disconnectedCallback(): void;
61
+ /** @inheritdoc */
62
+ protected update(changedProperties: PropertyValues<this>): void;
63
+ /** @inheritdoc */
64
+ protected render(): unknown;
65
+ }
66
+ declare global {
67
+ interface HTMLElementTagNameMap {
68
+ "m3e-radio-group": M3eRadioGroupElement;
69
+ }
70
+ }
71
+ export {};
72
+ //# sourceMappingURL=RadioGroupElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioGroupElement.d.ts","sourceRoot":"","sources":["../../src/RadioGroupElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAG5E,OAAO,EAQL,SAAS,EAKV,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBACa,oBAAqB,SAAQ,yBAMzC;;IACC,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAiBpC;IAIF,gBAAgB;IAChB,QAAQ,CAAC,CAAC,gBAAgB,CAAC,oCAExB;IAEH,sCAAsC;IACtC,IAAI,MAAM,IAAI,SAAS,eAAe,EAAE,CAEvC;IAED,0BAA0B;IAC1B,IAAI,QAAQ,IAAI,eAAe,GAAG,IAAI,CAErC;IAED,6CAA6C;IAC7C,IAAI,KAAK,IAAI,MAAM,GAAG,IAAI,CAEzB;IAED,4BAA4B;IAC5B,IAAa,CAAC,SAAS,CAAC,IAAI,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,CAE1D;IAED,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAKlC,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAKrC,kBAAkB;cACC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQxE,kBAAkB;cACC,MAAM,IAAI,OAAO;CA2BrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,oBAAoB,CAAC;KACzC;CACF"}
@@ -0,0 +1,3 @@
1
+ export * from "./RadioElement";
2
+ export * from "./RadioGroupElement";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import eslint from "@eslint/js";
2
+ import tseslint from "typescript-eslint";
3
+ import { fileURLToPath } from "url";
4
+ import { dirname } from "path";
5
+
6
+ export default tseslint.config(eslint.configs.recommended, tseslint.configs.recommended, {
7
+ languageOptions: {
8
+ parserOptions: {
9
+ project: true,
10
+ tsconfigRootDir: dirname(fileURLToPath(import.meta.url)),
11
+ },
12
+ },
13
+ });
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@m3e/radio-group",
3
+ "version": "1.0.0-rc.1",
4
+ "description": "Radio Group for M3E",
5
+ "author": "matraic <matraic@yahoo.com>",
6
+ "license": "MIT",
7
+ "homepage": "https://matraic.github.io/m3e/",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/matraic/m3e.git"
11
+ },
12
+ "keywords": [
13
+ "material design",
14
+ "web components",
15
+ "radio",
16
+ "radio group"
17
+ ],
18
+ "main": "dist/index.js",
19
+ "module": "dist/index.js",
20
+ "browser": "dist/index.min.js",
21
+ "unpkg": "dist/index.min.js",
22
+ "types": "dist/src/index.d.ts",
23
+ "type": "module",
24
+ "scripts": {
25
+ "build": "rollup -c",
26
+ "cem": "cem analyze --config cem.config.mjs",
27
+ "lint": "npx eslint ./src",
28
+ "clean": "rimraf dist"
29
+ },
30
+ "peerDependencies": {
31
+ "@m3e/core": "1.0.0-rc.1",
32
+ "lit": "^3.3.0"
33
+ },
34
+ "devDependencies": {
35
+ "@custom-elements-manifest/analyzer": "^0.10.4",
36
+ "@eslint/js": "^9.30.1",
37
+ "@rollup/plugin-node-resolve": "^16.0.0",
38
+ "@rollup/plugin-terser": "^0.4.4",
39
+ "@rollup/plugin-typescript": "12.1.0",
40
+ "custom-element-vs-code-integration": "^1.5.0",
41
+ "eslint": "^9.32.0",
42
+ "rimraf": "^6.0.1",
43
+ "rollup": "^4.44.2",
44
+ "tslib": "^2.8.1",
45
+ "typescript": "~5.8.2",
46
+ "typescript-eslint": "^8.38.0"
47
+ },
48
+ "customElements": "dist/custom-elements.json"
49
+ }
@@ -0,0 +1,32 @@
1
+ import resolve from "@rollup/plugin-node-resolve";
2
+ import terser from "@rollup/plugin-terser";
3
+ import typescript from "@rollup/plugin-typescript";
4
+
5
+ const banner = `/**
6
+ * @license MIT
7
+ * Copyright (c) 2025 matraic
8
+ * See LICENSE file in the project root for full license text.
9
+ */`;
10
+
11
+ export default [
12
+ {
13
+ input: "src/index.ts",
14
+ output: [
15
+ {
16
+ file: "dist/index.js",
17
+ format: "esm",
18
+ sourcemap: true,
19
+ banner: banner,
20
+ },
21
+ {
22
+ file: "dist/index.min.js",
23
+ format: "esm",
24
+ sourcemap: true,
25
+ banner: banner,
26
+ plugins: [terser({ mangle: true })],
27
+ },
28
+ ],
29
+ external: ["@m3e/core", "@m3e/core/a11y", "lit"],
30
+ plugins: [resolve(), typescript()],
31
+ },
32
+ ];