diff --git a/dist/react-you-ui.js b/dist/react-you-ui.js
index c425fa4..9fa4951 100644
--- a/dist/react-you-ui.js
+++ b/dist/react-you-ui.js
@@ -1 +1 @@
-"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./react-you-ui21.js"),s=require("./react-you-ui23.js"),i=require("./react-you-ui9.js"),c=require("./react-you-ui13.js"),p=require("./react-you-ui22.js"),u=require("./react-you-ui10.js"),a=require("./react-you-ui15.js"),m=require("./react-you-ui11.js"),h=require("./react-you-ui16.js"),l=require("./react-you-ui25.js"),q=require("./react-you-ui5.js"),_=require("./react-you-ui20.js"),e=require("./react-you-ui24.js"),t=require("./react-you-ui18.js"),r=require("./react-you-ui19.js"),B=require("./react-you-ui17.js"),T=require("./react-you-ui14.js"),d=require("./react-you-ui6.js"),C=require("./react-you-ui7.js"),F=require("./react-you-ui8.js"),o=require("./react-you-ui3.js"),b=require("./react-you-ui12.js");exports.TextField=n.TextField;exports.Button=s.Button;exports.Checkbox=i.Checkbox;exports.Radio=c.Radio;exports.Select=p.Select;exports.Switch=u.Switch;exports.Slider=a.Slider;exports.Dialog=m.Dialog;exports.List=h.List;exports.Box=l.Box;exports.Typography=q.Typography;exports.IconButton=_.IconButton;exports.AssistChip=e.AssistChip;exports.ChipSet=e.ChipSet;exports.FilterChip=e.FilterChip;exports.InputChip=e.InputChip;exports.BrandedFAB=t.BrandedFAB;exports.FAB=t.FAB;exports.Tab=r.Tab;exports.Tabs=r.Tabs;exports.CircularProgress=B.CircularProgress;exports.Menu=T.Menu;exports.Paper=d.Paper;exports.FormLabel=C.FormLabel;exports.AppBar=F.AppBar;exports.ThemeProvider=o.ThemeProvider;exports.usePalette=o.usePalette;exports.useTheme=o.useTheme;exports.createTheme=b.createTheme;
+"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./react-you-ui22.js"),s=require("./react-you-ui24.js"),i=require("./react-you-ui10.js"),c=require("./react-you-ui14.js"),p=require("./react-you-ui23.js"),u=require("./react-you-ui11.js"),a=require("./react-you-ui16.js"),m=require("./react-you-ui12.js"),h=require("./react-you-ui17.js"),l=require("./react-you-ui26.js"),q=require("./react-you-ui3.js"),_=require("./react-you-ui21.js"),e=require("./react-you-ui25.js"),t=require("./react-you-ui19.js"),n=require("./react-you-ui20.js"),B=require("./react-you-ui18.js"),T=require("./react-you-ui15.js"),d=require("./react-you-ui4.js"),C=require("./react-you-ui8.js"),F=require("./react-you-ui9.js"),b=require("./react-you-ui5.js"),o=require("./react-you-ui6.js"),g=require("./react-you-ui13.js");exports.TextField=r.TextField;exports.Button=s.Button;exports.Checkbox=i.Checkbox;exports.Radio=c.Radio;exports.Select=p.Select;exports.Switch=u.Switch;exports.Slider=a.Slider;exports.Dialog=m.Dialog;exports.List=h.List;exports.Box=l.Box;exports.Typography=q.Typography;exports.IconButton=_.IconButton;exports.AssistChip=e.AssistChip;exports.ChipSet=e.ChipSet;exports.FilterChip=e.FilterChip;exports.InputChip=e.InputChip;exports.BrandedFAB=t.BrandedFAB;exports.FAB=t.FAB;exports.Tab=n.Tab;exports.Tabs=n.Tabs;exports.CircularProgress=B.CircularProgress;exports.Menu=T.Menu;exports.Paper=d.Paper;exports.FormLabel=C.FormLabel;exports.AppBar=F.AppBar;exports.Link=b.Link;exports.ThemeProvider=o.ThemeProvider;exports.usePalette=o.usePalette;exports.useTheme=o.useTheme;exports.createTheme=g.createTheme;
diff --git a/dist/react-you-ui.mjs b/dist/react-you-ui.mjs
index a756f21..f987439 100644
--- a/dist/react-you-ui.mjs
+++ b/dist/react-you-ui.mjs
@@ -1,53 +1,55 @@
-import { TextField as e } from "./react-you-ui21.mjs";
-import { Button as p } from "./react-you-ui23.mjs";
-import { Checkbox as x } from "./react-you-ui9.mjs";
-import { Radio as i } from "./react-you-ui13.mjs";
-import { Select as h } from "./react-you-ui22.mjs";
-import { Switch as l } from "./react-you-ui10.mjs";
-import { Slider as B } from "./react-you-ui15.mjs";
-import { Dialog as c } from "./react-you-ui11.mjs";
-import { List as n } from "./react-you-ui16.mjs";
-import { Box as F } from "./react-you-ui25.mjs";
-import { Typography as A } from "./react-you-ui5.mjs";
-import { IconButton as S } from "./react-you-ui20.mjs";
-import { AssistChip as y, ChipSet as I, FilterChip as L, InputChip as k } from "./react-you-ui24.mjs";
-import { BrandedFAB as w, FAB as D } from "./react-you-ui18.mjs";
-import { Tab as R, Tabs as j } from "./react-you-ui19.mjs";
-import { CircularProgress as z } from "./react-you-ui17.mjs";
-import { Menu as G } from "./react-you-ui14.mjs";
-import { Paper as J } from "./react-you-ui6.mjs";
-import { FormLabel as N } from "./react-you-ui7.mjs";
-import { AppBar as Q } from "./react-you-ui8.mjs";
-import { ThemeProvider as V, usePalette as W, useTheme as X } from "./react-you-ui3.mjs";
-import { createTheme as Z } from "./react-you-ui12.mjs";
+import { TextField as e } from "./react-you-ui22.mjs";
+import { Button as p } from "./react-you-ui24.mjs";
+import { Checkbox as x } from "./react-you-ui10.mjs";
+import { Radio as i } from "./react-you-ui14.mjs";
+import { Select as h } from "./react-you-ui23.mjs";
+import { Switch as l } from "./react-you-ui11.mjs";
+import { Slider as u } from "./react-you-ui16.mjs";
+import { Dialog as T } from "./react-you-ui12.mjs";
+import { List as d } from "./react-you-ui17.mjs";
+import { Box as F } from "./react-you-ui26.mjs";
+import { Typography as A } from "./react-you-ui3.mjs";
+import { IconButton as S } from "./react-you-ui21.mjs";
+import { AssistChip as L, ChipSet as k, FilterChip as y, InputChip as I } from "./react-you-ui25.mjs";
+import { BrandedFAB as w, FAB as D } from "./react-you-ui19.mjs";
+import { Tab as R, Tabs as j } from "./react-you-ui20.mjs";
+import { CircularProgress as z } from "./react-you-ui18.mjs";
+import { Menu as G } from "./react-you-ui15.mjs";
+import { Paper as J } from "./react-you-ui4.mjs";
+import { FormLabel as N } from "./react-you-ui8.mjs";
+import { AppBar as Q } from "./react-you-ui9.mjs";
+import { Link as V } from "./react-you-ui5.mjs";
+import { ThemeProvider as X, usePalette as Y, useTheme as Z } from "./react-you-ui6.mjs";
+import { createTheme as $ } from "./react-you-ui13.mjs";
export {
Q as AppBar,
- y as AssistChip,
+ L as AssistChip,
F as Box,
w as BrandedFAB,
p as Button,
x as Checkbox,
- I as ChipSet,
+ k as ChipSet,
z as CircularProgress,
- c as Dialog,
+ T as Dialog,
D as FAB,
- L as FilterChip,
+ y as FilterChip,
N as FormLabel,
S as IconButton,
- k as InputChip,
- n as List,
+ I as InputChip,
+ V as Link,
+ d as List,
G as Menu,
J as Paper,
i as Radio,
h as Select,
- B as Slider,
+ u as Slider,
l as Switch,
R as Tab,
j as Tabs,
e as TextField,
- V as ThemeProvider,
+ X as ThemeProvider,
A as Typography,
- Z as createTheme,
- W as usePalette,
- X as useTheme
+ $ as createTheme,
+ Y as usePalette,
+ Z as useTheme
};
diff --git a/dist/react-you-ui10.js b/dist/react-you-ui10.js
index 3bbe231..3d1e271 100644
--- a/dist/react-you-ui10.js
+++ b/dist/react-you-ui10.js
@@ -1,62 +1,38 @@
-"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("react/jsx-runtime"),_=require("react"),O=require("./create-component-D9KTUrcf.js"),e=require("./class-map-DV5418hw.js");require("./ripple-DoKzzEey.js");const B=require("./animation-A38fZ1oY.js"),A=require("./delegate-4958lG3m.js"),m=require("./form-label-activation-CYEOF_US.js"),M=require("./redispatch-event-C93E51ce.js"),p=require("./validator-DUxooTr6.js"),R=require("./element-internals-OOm6rgx-.js"),u=require("./form-associated-CxXMoMPu.js"),H=require("./checkbox-validator-CeFJv7iw.js");/**
+"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("react/jsx-runtime"),R=require("react"),V=require("./create-component-D9KTUrcf.js"),e=require("./class-map-DV5418hw.js");require("./ripple-DoKzzEey.js");const n=require("./animation-A38fZ1oY.js"),B=require("./delegate-4958lG3m.js"),v=require("./form-label-activation-CYEOF_US.js"),D=require("./redispatch-event-C93E51ce.js"),m=require("./validator-DUxooTr6.js"),M=require("./element-internals-OOm6rgx-.js"),u=require("./form-associated-CxXMoMPu.js"),S=require("./checkbox-validator-CeFJv7iw.js");/**
* @license
- * Copyright 2023 Google LLC
+ * Copyright 2019 Google LLC
* SPDX-License-Identifier: Apache-2.0
- */const f=Symbol("dispatchHooks");function L(s,r){const t=s[f];if(!t)throw new Error(`'${s.type}' event needs setupDispatchHooks().`);t.addEventListener("after",r)}const v=new WeakMap;function D(s,...r){let t=v.get(s);t||(t=new Set,v.set(s,t));for(const c of r){if(t.has(c))continue;let i=!1;s.addEventListener(c,a=>{if(i)return;a.stopImmediatePropagation();const d=Reflect.construct(a.constructor,[a.type,a]),n=new EventTarget;d[f]=n,i=!0;const l=s.dispatchEvent(d);i=!1,l||a.preventDefault(),n.dispatchEvent(new Event("after"))},{capture:!0}),t.add(c)}}/**
- * @license
- * Copyright 2021 Google LLC
- * SPDX-License-Identifier: Apache-2.0
- */const V=A.mixinDelegatesAria(p.mixinConstraintValidation(u.mixinFormAssociated(R.mixinElementInternals(e.r))));let o=class extends V{constructor(){super(),this.selected=!1,this.icons=!1,this.showOnlySelectedIcon=!1,this.required=!1,this.value="on",this.addEventListener("click",r=>{!m.isActivationClick(r)||!this.input||(this.focus(),m.dispatchActivationClick(this.input))}),D(this,"keydown"),this.addEventListener("keydown",r=>{L(r,()=>{r.defaultPrevented||r.key!=="Enter"||this.disabled||!this.input||this.input.click()})})}render(){return e.x`
-
- `}updated(){this[b.internals].ariaChecked=String(this.checked)}async handleClick(e){this.disabled||(await 0,!e.defaultPrevented&&(q.isActivationClick(e)&&this.focus(),this.checked=!0,this.dispatchEvent(new Event("change",{bubbles:!0})),this.dispatchEvent(new InputEvent("input",{bubbles:!0,composed:!0}))))}async handleKeydown(e){await 0,!(e.key!==" "||e.defaultPrevented)&&this.click()}[(x=y,k.getFormValue)](){return this.checked?this.value:null}[k.getFormState](){return String(this.checked)}formResetCallback(){this.checked=this.hasAttribute("checked")}formStateRestoreCallback(e){this.checked=e==="true"}[f.createValidator](){return new S(()=>this.selectionController?this.selectionController.controls:[this])}[f.getValidityAnchor](){return this.container}};o.__decorate([o.n({type:Boolean})],u.prototype,"checked",null);o.__decorate([o.n({type:Boolean})],u.prototype,"required",void 0);o.__decorate([o.n()],u.prototype,"value",void 0);o.__decorate([I.e$1(".container")],u.prototype,"container",void 0);/**
+ * Copyright 2021 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */class s{static of(r){return new s(r,!1)}static contentOf(r){return new s(r,!0)}static fromColors(r){return s.createPaletteFromColors(!1,r)}static contentFromColors(r){return s.createPaletteFromColors(!0,r)}static createPaletteFromColors(r,t){const e=new s(t.primary,r);if(t.secondary){const n=new s(t.secondary,r);e.a2=n.a1}if(t.tertiary){const n=new s(t.tertiary,r);e.a3=n.a1}if(t.error){const n=new s(t.error,r);e.error=n.a1}if(t.neutral){const n=new s(t.neutral,r);e.n1=n.n1}if(t.neutralVariant){const n=new s(t.neutralVariant,r);e.n2=n.n2}return e}constructor(r,t){const e=i.Hct.fromInt(r),n=e.hue,a=e.chroma;t?(this.a1=u.fromHueAndChroma(n,a),this.a2=u.fromHueAndChroma(n,a/3),this.a3=u.fromHueAndChroma(n+60,a/2),this.n1=u.fromHueAndChroma(n,Math.min(a/12,4)),this.n2=u.fromHueAndChroma(n,Math.min(a/6,8))):(this.a1=u.fromHueAndChroma(n,Math.max(48,a)),this.a2=u.fromHueAndChroma(n,16),this.a3=u.fromHueAndChroma(n+60,24),this.n1=u.fromHueAndChroma(n,4),this.n2=u.fromHueAndChroma(n,8)),this.error=u.fromHueAndChroma(25,84)}}/**
* @license
- * Copyright 2024 Google LLC
- * SPDX-License-Identifier: Apache-2.0
- */const _=o.i$1`@layer{:host{display:inline-flex;height:var(--md-radio-icon-size, 20px);outline:none;position:relative;vertical-align:top;width:var(--md-radio-icon-size, 20px);-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;--md-ripple-hover-color: var(--md-radio-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: var(--md-radio-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-radio-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-pressed-opacity: var(--md-radio-pressed-state-layer-opacity, 0.12)}:host([disabled]){cursor:default}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--md-radio-icon-size, 20px))/2)}.container{display:flex;height:100%;place-content:center;place-items:center;width:100%}md-focus-ring{height:44px;inset:unset;width:44px}.checked{--md-ripple-hover-color: var(--md-radio-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-hover-opacity: var(--md-radio-selected-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-radio-selected-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-opacity: var(--md-radio-selected-pressed-state-layer-opacity, 0.12)}.touch-target{height:48px;position:absolute;width:48px}:host([touch-target=none]) .touch-target{display:none}md-ripple{border-radius:50%;height:var(--md-radio-state-layer-size, 40px);inset:unset;width:var(--md-radio-state-layer-size, 40px)}.icon{fill:var(--md-radio-icon-color, var(--md-sys-color-on-surface-variant, #49454f));inset:0;position:absolute}.outer.circle{transition:fill 50ms linear}.inner.circle{opacity:0;transform-origin:center;transition:opacity 50ms linear}.checked .icon{fill:var(--md-radio-selected-icon-color, var(--md-sys-color-primary, #6750a4))}.checked .inner.circle{animation:inner-circle-grow 300ms cubic-bezier(0.05, 0.7, 0.1, 1);opacity:1}@keyframes inner-circle-grow{from{transform:scale(0)}to{transform:scale(1)}}:host([disabled]) .circle{animation-duration:0s;transition-duration:0s}:host(:hover) .icon{fill:var(--md-radio-hover-icon-color, var(--md-sys-color-on-surface, #1d1b20))}:host(:focus-within) .icon{fill:var(--md-radio-focus-icon-color, var(--md-sys-color-on-surface, #1d1b20))}:host(:active) .icon{fill:var(--md-radio-pressed-icon-color, var(--md-sys-color-on-surface, #1d1b20))}:host([disabled]) .icon{fill:var(--md-radio-disabled-unselected-icon-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-radio-disabled-unselected-icon-opacity, 0.38)}:host(:hover) .checked .icon{fill:var(--md-radio-selected-hover-icon-color, var(--md-sys-color-primary, #6750a4))}:host(:focus-within) .checked .icon{fill:var(--md-radio-selected-focus-icon-color, var(--md-sys-color-primary, #6750a4))}:host(:active) .checked .icon{fill:var(--md-radio-selected-pressed-icon-color, var(--md-sys-color-primary, #6750a4))}:host([disabled]) .checked .icon{fill:var(--md-radio-disabled-selected-icon-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-radio-disabled-selected-icon-opacity, 0.38)}}@layer hcm{@media(forced-colors: active){.icon{fill:CanvasText}:host([disabled]) .icon{fill:GrayText;opacity:1}}}
-`;/**
+ * Copyright 2021 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */class m{get primary(){return this.props.primary}get onPrimary(){return this.props.onPrimary}get primaryContainer(){return this.props.primaryContainer}get onPrimaryContainer(){return this.props.onPrimaryContainer}get secondary(){return this.props.secondary}get onSecondary(){return this.props.onSecondary}get secondaryContainer(){return this.props.secondaryContainer}get onSecondaryContainer(){return this.props.onSecondaryContainer}get tertiary(){return this.props.tertiary}get onTertiary(){return this.props.onTertiary}get tertiaryContainer(){return this.props.tertiaryContainer}get onTertiaryContainer(){return this.props.onTertiaryContainer}get error(){return this.props.error}get onError(){return this.props.onError}get errorContainer(){return this.props.errorContainer}get onErrorContainer(){return this.props.onErrorContainer}get background(){return this.props.background}get onBackground(){return this.props.onBackground}get surface(){return this.props.surface}get onSurface(){return this.props.onSurface}get surfaceVariant(){return this.props.surfaceVariant}get onSurfaceVariant(){return this.props.onSurfaceVariant}get outline(){return this.props.outline}get outlineVariant(){return this.props.outlineVariant}get shadow(){return this.props.shadow}get scrim(){return this.props.scrim}get inverseSurface(){return this.props.inverseSurface}get inverseOnSurface(){return this.props.inverseOnSurface}get inversePrimary(){return this.props.inversePrimary}static light(r){return m.lightFromCorePalette(s.of(r))}static dark(r){return m.darkFromCorePalette(s.of(r))}static lightContent(r){return m.lightFromCorePalette(s.contentOf(r))}static darkContent(r){return m.darkFromCorePalette(s.contentOf(r))}static lightFromCorePalette(r){return new m({primary:r.a1.tone(40),onPrimary:r.a1.tone(100),primaryContainer:r.a1.tone(90),onPrimaryContainer:r.a1.tone(10),secondary:r.a2.tone(40),onSecondary:r.a2.tone(100),secondaryContainer:r.a2.tone(90),onSecondaryContainer:r.a2.tone(10),tertiary:r.a3.tone(40),onTertiary:r.a3.tone(100),tertiaryContainer:r.a3.tone(90),onTertiaryContainer:r.a3.tone(10),error:r.error.tone(40),onError:r.error.tone(100),errorContainer:r.error.tone(90),onErrorContainer:r.error.tone(10),background:r.n1.tone(99),onBackground:r.n1.tone(10),surface:r.n1.tone(99),onSurface:r.n1.tone(10),surfaceVariant:r.n2.tone(90),onSurfaceVariant:r.n2.tone(30),outline:r.n2.tone(50),outlineVariant:r.n2.tone(80),shadow:r.n1.tone(0),scrim:r.n1.tone(0),inverseSurface:r.n1.tone(20),inverseOnSurface:r.n1.tone(95),inversePrimary:r.a1.tone(80)})}static darkFromCorePalette(r){return new m({primary:r.a1.tone(80),onPrimary:r.a1.tone(20),primaryContainer:r.a1.tone(30),onPrimaryContainer:r.a1.tone(90),secondary:r.a2.tone(80),onSecondary:r.a2.tone(20),secondaryContainer:r.a2.tone(30),onSecondaryContainer:r.a2.tone(90),tertiary:r.a3.tone(80),onTertiary:r.a3.tone(20),tertiaryContainer:r.a3.tone(30),onTertiaryContainer:r.a3.tone(90),error:r.error.tone(80),onError:r.error.tone(20),errorContainer:r.error.tone(30),onErrorContainer:r.error.tone(80),background:r.n1.tone(10),onBackground:r.n1.tone(90),surface:r.n1.tone(10),onSurface:r.n1.tone(90),surfaceVariant:r.n2.tone(30),onSurfaceVariant:r.n2.tone(80),outline:r.n2.tone(60),outlineVariant:r.n2.tone(30),shadow:r.n1.tone(0),scrim:r.n1.tone(0),inverseSurface:r.n1.tone(90),inverseOnSurface:r.n1.tone(20),inversePrimary:r.a1.tone(40)})}constructor(r){this.props=r}toJSON(){return{...this.props}}}/**
* @license
- * Copyright 2022 Google LLC
- * SPDX-License-Identifier: Apache-2.0
- */let v=class extends u{};v.styles=[_];v=o.__decorate([o.t$1("md-radio")],v);const F=E.o({react:C,tagName:"md-radio",elementClass:v}),T=l=>{const{checked:e,value:i,required:t,disabled:r,name:a,ariaLabel:m,className:c,style:g,id:p,iconColor:h,selectedIconColor:s,iconSize:n,...d}=l;return w.jsx(F,{checked:e,value:i,required:t,disabled:r||!1,name:a,className:c,style:{...g,"--md-radio-icon-color":h||"var(--md-sys-on-surface-variant)","--md-radio-selected-icon-color":s||"var(--md-sys-color-primary)","--md-radio-icon-size":n||"20px"},id:p,"aria-label":m,...d})};exports.Radio=T;
+ * Copyright 2021 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */function w(h,r=[]){const t=s.of(h);return{source:h,schemes:{light:m.light(h),dark:m.dark(h)},palettes:{primary:t.a1,secondary:t.a2,tertiary:t.a3,neutral:t.n1,neutralVariant:t.n2,error:t.error},customColors:r.map(e=>b(h,e))}}function b(h,r){let t=r.value;const e=t,n=h;r.blend&&(t=p.harmonize(e,n));const o=s.of(t).a1;return{color:r,value:t,light:{color:o.tone(40),onColor:o.tone(100),colorContainer:o.tone(90),onColorContainer:o.tone(10)},dark:{color:o.tone(80),onColor:o.tone(20),colorContainer:o.tone(30),onColorContainer:o.tone(90)}}}function k(h){const r=i.argbFromHex(h);return w(r)}exports.createTheme=k;
diff --git a/dist/react-you-ui13.mjs b/dist/react-you-ui13.mjs
index f77d91e..844035c 100644
--- a/dist/react-you-ui13.mjs
+++ b/dist/react-you-ui13.mjs
@@ -1,274 +1,504 @@
-import { jsx as x } from "react/jsx-runtime";
-import w from "react";
-import { o as C } from "./create-component-CVXl33PD.mjs";
-import { _ as h, n as y, r as E, x as I, c as R, a as S, b as A } from "./class-map-CwiboTfb.mjs";
-import "./ripple-pQcEjR05.mjs";
-import { a as q } from "./animation-DjClVFum.mjs";
-import { i as L } from "./form-label-activation-ed0HgVsy.mjs";
-import { V as $, m as F, c as z, g as D } from "./validator-DZt1_yHv.mjs";
-import { m as T, i as k } from "./element-internals-3IY9gE4L.mjs";
-import { m as V } from "./focusable-CDJoU7XD.mjs";
-import { m as K, g as M, a as _ } from "./form-associated-CyYeHPMb.mjs";
+import { H as u, d as w, s as k, r as v, C as f, l as V, a as b } from "./string_utils-B4bsIQ5w.mjs";
/**
* @license
- * Copyright 2023 Google LLC
- * SPDX-License-Identifier: Apache-2.0
+ * Copyright 2021 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
-class B extends $ {
- computeValidity(e) {
- this.radioElement || (this.radioElement = document.createElement("input"), this.radioElement.type = "radio", this.radioElement.name = "group");
- let i = !1, t = !1;
- for (const { checked: o, required: r } of e)
- r && (i = !0), o && (t = !0);
- return this.radioElement.checked = t, this.radioElement.required = i, {
- validity: {
- valueMissing: i && !t
- },
- validationMessage: this.radioElement.validationMessage
- };
+class C {
+ /**
+ * Blend the design color's HCT hue towards the key color's HCT
+ * hue, in a way that leaves the original color recognizable and
+ * recognizably shifted towards the key color.
+ *
+ * @param designColor ARGB representation of an arbitrary color.
+ * @param sourceColor ARGB representation of the main theme color.
+ * @return The design color with a hue shifted towards the
+ * system's color, a slightly warmer/cooler variant of the design
+ * color's hue.
+ */
+ static harmonize(r, t) {
+ const e = u.fromInt(r), n = u.fromInt(t), a = w(e.hue, n.hue), o = Math.min(a * 0.5, 15), c = k(e.hue + o * v(e.hue, n.hue));
+ return u.from(c, e.chroma, e.tone).toInt();
}
- equals(e, i) {
- if (e.length !== i.length)
- return !1;
- for (let t = 0; t < e.length; t++) {
- const o = e[t], r = i[t];
- if (o.checked !== r.checked || o.required !== r.required)
- return !1;
- }
- return !0;
+ /**
+ * Blends hue from one color into another. The chroma and tone of
+ * the original color are maintained.
+ *
+ * @param from ARGB representation of color
+ * @param to ARGB representation of color
+ * @param amount how much blending to perform; 0.0 >= and <= 1.0
+ * @return from, with a hue blended towards to. Chroma and tone
+ * are constant.
+ */
+ static hctHue(r, t, e) {
+ const n = C.cam16Ucs(r, t, e), a = f.fromInt(n), o = f.fromInt(r);
+ return u.from(a.hue, o.chroma, V(r)).toInt();
}
- copy(e) {
- return e.map(({ checked: i, required: t }) => ({
- checked: i,
- required: t
- }));
+ /**
+ * Blend in CAM16-UCS space.
+ *
+ * @param from ARGB representation of color
+ * @param to ARGB representation of color
+ * @param amount how much blending to perform; 0.0 >= and <= 1.0
+ * @return from, blended towards to. Hue, chroma, and tone will
+ * change.
+ */
+ static cam16Ucs(r, t, e) {
+ const n = f.fromInt(r), a = f.fromInt(t), o = n.jstar, c = n.astar, p = n.bstar, d = a.jstar, y = a.astar, l = a.bstar, g = o + (d - o) * e, S = c + (y - c) * e, H = p + (l - p) * e;
+ return f.fromUcs(g, S, H).toInt();
}
}
/**
* @license
- * Copyright 2022 Google LLC
- * SPDX-License-Identifier: Apache-2.0
+ * Copyright 2021 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
-class O {
+class i {
/**
- * All single selection elements in the host element's root with the same
- * `name` attribute, including the host element.
+ * @param argb ARGB representation of a color
+ * @return Tones matching that color's hue and chroma.
*/
- get controls() {
- const e = this.host.getAttribute("name");
- return !e || !this.root || !this.host.isConnected ? [this.host] : Array.from(this.root.querySelectorAll(`[name="${e}"]`));
+ static fromInt(r) {
+ const t = u.fromInt(r);
+ return i.fromHct(t);
}
- constructor(e) {
- this.host = e, this.focused = !1, this.root = null, this.handleFocusIn = () => {
- this.focused = !0, this.updateTabIndices();
- }, this.handleFocusOut = () => {
- this.focused = !1, this.updateTabIndices();
- }, this.handleKeyDown = (i) => {
- const t = i.key === "ArrowDown", o = i.key === "ArrowUp", r = i.key === "ArrowLeft", u = i.key === "ArrowRight";
- if (!r && !u && !t && !o)
- return;
- const a = this.controls;
- if (!a.length)
- return;
- i.preventDefault();
- const p = getComputedStyle(this.host).direction === "rtl" ? r || t : u || t, l = a.indexOf(this.host);
- let s = p ? l + 1 : l - 1;
- for (; s !== l; ) {
- s >= a.length ? s = 0 : s < 0 && (s = a.length - 1);
- const c = a[s];
- if (c.hasAttribute("disabled")) {
- p ? s++ : s--;
- continue;
+ /**
+ * @param hct Hct
+ * @return Tones matching that color's hue and chroma.
+ */
+ static fromHct(r) {
+ return new i(r.hue, r.chroma, r);
+ }
+ /**
+ * @param hue HCT hue
+ * @param chroma HCT chroma
+ * @return Tones matching hue and chroma.
+ */
+ static fromHueAndChroma(r, t) {
+ const e = new A(r, t).create();
+ return new i(r, t, e);
+ }
+ constructor(r, t, e) {
+ this.hue = r, this.chroma = t, this.keyColor = e, this.cache = /* @__PURE__ */ new Map();
+ }
+ /**
+ * @param tone HCT tone, measured from 0 to 100.
+ * @return ARGB representation of a color with that tone.
+ */
+ tone(r) {
+ let t = this.cache.get(r);
+ return t === void 0 && (t = u.from(this.hue, this.chroma, r).toInt(), this.cache.set(r, t)), t;
+ }
+ /**
+ * @param tone HCT tone.
+ * @return HCT representation of a color with that tone.
+ */
+ getHct(r) {
+ return u.fromInt(this.tone(r));
+ }
+}
+class A {
+ constructor(r, t) {
+ this.hue = r, this.requestedChroma = t, this.chromaCache = /* @__PURE__ */ new Map(), this.maxChromaValue = 200;
+ }
+ /**
+ * Creates a key color from a [hue] and a [chroma].
+ * The key color is the first tone, starting from T50, matching the given hue
+ * and chroma.
+ *
+ * @return Key color [Hct]
+ */
+ create() {
+ let n = 0, a = 100;
+ for (; n < a; ) {
+ const o = Math.floor((n + a) / 2), c = this.maxChroma(o) < this.maxChroma(o + 1);
+ if (this.maxChroma(o) >= this.requestedChroma - 0.01)
+ if (Math.abs(n - 50) < Math.abs(a - 50))
+ a = o;
+ else {
+ if (n === o)
+ return u.from(this.hue, this.requestedChroma, n);
+ n = o;
}
- for (const n of a)
- n !== c && (n.checked = !1, n.tabIndex = -1, n.blur());
- c.checked = !0, c.tabIndex = 0, c.focus(), c.dispatchEvent(new Event("change", { bubbles: !0 }));
- break;
- }
- };
- }
- hostConnected() {
- this.root = this.host.getRootNode(), this.host.addEventListener("keydown", this.handleKeyDown), this.host.addEventListener("focusin", this.handleFocusIn), this.host.addEventListener("focusout", this.handleFocusOut), this.host.checked && this.uncheckSiblings(), this.updateTabIndices();
- }
- hostDisconnected() {
- this.host.removeEventListener("keydown", this.handleKeyDown), this.host.removeEventListener("focusin", this.handleFocusIn), this.host.removeEventListener("focusout", this.handleFocusOut), this.updateTabIndices(), this.root = null;
- }
- /**
- * Should be called whenever the host's `checked` property changes
- * synchronously.
- */
- handleCheckedChange() {
- this.host.checked && (this.uncheckSiblings(), this.updateTabIndices());
- }
- uncheckSiblings() {
- for (const e of this.controls)
- e !== this.host && (e.checked = !1);
- }
- /**
- * Updates the `tabindex` of the host and its siblings.
- */
- updateTabIndices() {
- const e = this.controls, i = e.find((t) => t.checked);
- if (i || this.focused) {
- const t = i || this.host;
- t.tabIndex = 0;
- for (const o of e)
- o !== t && (o.tabIndex = -1);
- return;
+ else
+ c ? n = o + 1 : a = o;
}
- for (const t of e)
- t.tabIndex = 0;
+ return u.from(this.hue, this.requestedChroma, n);
+ }
+ // Find the maximum chroma for a given tone
+ maxChroma(r) {
+ if (this.chromaCache.has(r))
+ return this.chromaCache.get(r);
+ const t = u.from(this.hue, this.maxChromaValue, r).chroma;
+ return this.chromaCache.set(r, t), t;
}
}
/**
* @license
- * Copyright 2018 Google LLC
- * SPDX-License-Identifier: Apache-2.0
+ * Copyright 2021 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
-var g;
-const v = Symbol("checked");
-let N = 0;
-const U = F(K(T(V(E))));
-let m = class extends U {
+class s {
/**
- * Whether or not the radio is selected.
+ * @param argb ARGB representation of a color
*/
- get checked() {
- return this[v];
+ static of(r) {
+ return new s(r, !1);
}
- set checked(e) {
- const i = this.checked;
- i !== e && (this[v] = e, this.requestUpdate("checked", i), this.selectionController.handleCheckedChange());
+ /**
+ * @param argb ARGB representation of a color
+ */
+ static contentOf(r) {
+ return new s(r, !0);
}
- constructor() {
- super(), this.maskId = `cutout${++N}`, this[g] = !1, this.required = !1, this.value = "on", this.selectionController = new O(this), this.addController(this.selectionController), this[k].role = "radio", this.addEventListener("click", this.handleClick.bind(this)), this.addEventListener("keydown", this.handleKeydown.bind(this));
+ /**
+ * Create a [CorePalette] from a set of colors
+ */
+ static fromColors(r) {
+ return s.createPaletteFromColors(!1, r);
}
- render() {
- const e = { checked: this.checked };
- return I`
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `;
+ /**
+ * Create a content [CorePalette] from a set of colors
+ */
+ static contentFromColors(r) {
+ return s.createPaletteFromColors(!0, r);
}
- updated() {
- this[k].ariaChecked = String(this.checked);
- }
- async handleClick(e) {
- this.disabled || (await 0, !e.defaultPrevented && (L(e) && this.focus(), this.checked = !0, this.dispatchEvent(new Event("change", { bubbles: !0 })), this.dispatchEvent(new InputEvent("input", { bubbles: !0, composed: !0 }))));
- }
- async handleKeydown(e) {
- await 0, !(e.key !== " " || e.defaultPrevented) && this.click();
- }
- [(g = v, M)]() {
- return this.checked ? this.value : null;
- }
- [_]() {
- return String(this.checked);
- }
- formResetCallback() {
- this.checked = this.hasAttribute("checked");
- }
- formStateRestoreCallback(e) {
- this.checked = e === "true";
- }
- [z]() {
- return new B(() => this.selectionController ? this.selectionController.controls : [this]);
- }
- [D]() {
- return this.container;
- }
-};
-h([
- y({ type: Boolean })
-], m.prototype, "checked", null);
-h([
- y({ type: Boolean })
-], m.prototype, "required", void 0);
-h([
- y()
-], m.prototype, "value", void 0);
-h([
- q(".container")
-], m.prototype, "container", void 0);
-/**
- * @license
- * Copyright 2024 Google LLC
- * SPDX-License-Identifier: Apache-2.0
- */
-const P = S`@layer{:host{display:inline-flex;height:var(--md-radio-icon-size, 20px);outline:none;position:relative;vertical-align:top;width:var(--md-radio-icon-size, 20px);-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;--md-ripple-hover-color: var(--md-radio-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: var(--md-radio-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-radio-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-pressed-opacity: var(--md-radio-pressed-state-layer-opacity, 0.12)}:host([disabled]){cursor:default}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--md-radio-icon-size, 20px))/2)}.container{display:flex;height:100%;place-content:center;place-items:center;width:100%}md-focus-ring{height:44px;inset:unset;width:44px}.checked{--md-ripple-hover-color: var(--md-radio-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-hover-opacity: var(--md-radio-selected-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-radio-selected-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-opacity: var(--md-radio-selected-pressed-state-layer-opacity, 0.12)}.touch-target{height:48px;position:absolute;width:48px}:host([touch-target=none]) .touch-target{display:none}md-ripple{border-radius:50%;height:var(--md-radio-state-layer-size, 40px);inset:unset;width:var(--md-radio-state-layer-size, 40px)}.icon{fill:var(--md-radio-icon-color, var(--md-sys-color-on-surface-variant, #49454f));inset:0;position:absolute}.outer.circle{transition:fill 50ms linear}.inner.circle{opacity:0;transform-origin:center;transition:opacity 50ms linear}.checked .icon{fill:var(--md-radio-selected-icon-color, var(--md-sys-color-primary, #6750a4))}.checked .inner.circle{animation:inner-circle-grow 300ms cubic-bezier(0.05, 0.7, 0.1, 1);opacity:1}@keyframes inner-circle-grow{from{transform:scale(0)}to{transform:scale(1)}}:host([disabled]) .circle{animation-duration:0s;transition-duration:0s}:host(:hover) .icon{fill:var(--md-radio-hover-icon-color, var(--md-sys-color-on-surface, #1d1b20))}:host(:focus-within) .icon{fill:var(--md-radio-focus-icon-color, var(--md-sys-color-on-surface, #1d1b20))}:host(:active) .icon{fill:var(--md-radio-pressed-icon-color, var(--md-sys-color-on-surface, #1d1b20))}:host([disabled]) .icon{fill:var(--md-radio-disabled-unselected-icon-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-radio-disabled-unselected-icon-opacity, 0.38)}:host(:hover) .checked .icon{fill:var(--md-radio-selected-hover-icon-color, var(--md-sys-color-primary, #6750a4))}:host(:focus-within) .checked .icon{fill:var(--md-radio-selected-focus-icon-color, var(--md-sys-color-primary, #6750a4))}:host(:active) .checked .icon{fill:var(--md-radio-selected-pressed-icon-color, var(--md-sys-color-primary, #6750a4))}:host([disabled]) .checked .icon{fill:var(--md-radio-disabled-selected-icon-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-radio-disabled-selected-icon-opacity, 0.38)}}@layer hcm{@media(forced-colors: active){.icon{fill:CanvasText}:host([disabled]) .icon{fill:GrayText;opacity:1}}}
-`;
-/**
- * @license
- * Copyright 2022 Google LLC
- * SPDX-License-Identifier: Apache-2.0
- */
-let f = class extends m {
-};
-f.styles = [P];
-f = h([
- A("md-radio")
-], f);
-const j = C({
- react: w,
- tagName: "md-radio",
- elementClass: f
-}), re = (d) => {
- const {
- checked: e,
- value: i,
- required: t,
- disabled: o,
- name: r,
- ariaLabel: u,
- className: a,
- style: b,
- id: p,
- iconColor: l,
- selectedIconColor: s,
- iconSize: c,
- ...n
- } = d;
- return /* @__PURE__ */ x(
- j,
- {
- checked: e,
- value: i,
- required: t,
- disabled: o || !1,
- name: r,
- className: a,
- style: {
- ...b,
- "--md-radio-icon-color": l || "var(--md-sys-on-surface-variant)",
- "--md-radio-selected-icon-color": s || "var(--md-sys-color-primary)",
- "--md-radio-icon-size": c || "20px"
- },
- id: p,
- "aria-label": u,
- ...n
+ static createPaletteFromColors(r, t) {
+ const e = new s(t.primary, r);
+ if (t.secondary) {
+ const n = new s(t.secondary, r);
+ e.a2 = n.a1;
}
- );
-};
+ if (t.tertiary) {
+ const n = new s(t.tertiary, r);
+ e.a3 = n.a1;
+ }
+ if (t.error) {
+ const n = new s(t.error, r);
+ e.error = n.a1;
+ }
+ if (t.neutral) {
+ const n = new s(t.neutral, r);
+ e.n1 = n.n1;
+ }
+ if (t.neutralVariant) {
+ const n = new s(t.neutralVariant, r);
+ e.n2 = n.n2;
+ }
+ return e;
+ }
+ constructor(r, t) {
+ const e = u.fromInt(r), n = e.hue, a = e.chroma;
+ t ? (this.a1 = i.fromHueAndChroma(n, a), this.a2 = i.fromHueAndChroma(n, a / 3), this.a3 = i.fromHueAndChroma(n + 60, a / 2), this.n1 = i.fromHueAndChroma(n, Math.min(a / 12, 4)), this.n2 = i.fromHueAndChroma(n, Math.min(a / 6, 8))) : (this.a1 = i.fromHueAndChroma(n, Math.max(48, a)), this.a2 = i.fromHueAndChroma(n, 16), this.a3 = i.fromHueAndChroma(n + 60, 24), this.n1 = i.fromHueAndChroma(n, 4), this.n2 = i.fromHueAndChroma(n, 8)), this.error = i.fromHueAndChroma(25, 84);
+ }
+}
+/**
+ * @license
+ * Copyright 2021 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+class m {
+ get primary() {
+ return this.props.primary;
+ }
+ get onPrimary() {
+ return this.props.onPrimary;
+ }
+ get primaryContainer() {
+ return this.props.primaryContainer;
+ }
+ get onPrimaryContainer() {
+ return this.props.onPrimaryContainer;
+ }
+ get secondary() {
+ return this.props.secondary;
+ }
+ get onSecondary() {
+ return this.props.onSecondary;
+ }
+ get secondaryContainer() {
+ return this.props.secondaryContainer;
+ }
+ get onSecondaryContainer() {
+ return this.props.onSecondaryContainer;
+ }
+ get tertiary() {
+ return this.props.tertiary;
+ }
+ get onTertiary() {
+ return this.props.onTertiary;
+ }
+ get tertiaryContainer() {
+ return this.props.tertiaryContainer;
+ }
+ get onTertiaryContainer() {
+ return this.props.onTertiaryContainer;
+ }
+ get error() {
+ return this.props.error;
+ }
+ get onError() {
+ return this.props.onError;
+ }
+ get errorContainer() {
+ return this.props.errorContainer;
+ }
+ get onErrorContainer() {
+ return this.props.onErrorContainer;
+ }
+ get background() {
+ return this.props.background;
+ }
+ get onBackground() {
+ return this.props.onBackground;
+ }
+ get surface() {
+ return this.props.surface;
+ }
+ get onSurface() {
+ return this.props.onSurface;
+ }
+ get surfaceVariant() {
+ return this.props.surfaceVariant;
+ }
+ get onSurfaceVariant() {
+ return this.props.onSurfaceVariant;
+ }
+ get outline() {
+ return this.props.outline;
+ }
+ get outlineVariant() {
+ return this.props.outlineVariant;
+ }
+ get shadow() {
+ return this.props.shadow;
+ }
+ get scrim() {
+ return this.props.scrim;
+ }
+ get inverseSurface() {
+ return this.props.inverseSurface;
+ }
+ get inverseOnSurface() {
+ return this.props.inverseOnSurface;
+ }
+ get inversePrimary() {
+ return this.props.inversePrimary;
+ }
+ /**
+ * @param argb ARGB representation of a color.
+ * @return Light Material color scheme, based on the color's hue.
+ */
+ static light(r) {
+ return m.lightFromCorePalette(s.of(r));
+ }
+ /**
+ * @param argb ARGB representation of a color.
+ * @return Dark Material color scheme, based on the color's hue.
+ */
+ static dark(r) {
+ return m.darkFromCorePalette(s.of(r));
+ }
+ /**
+ * @param argb ARGB representation of a color.
+ * @return Light Material content color scheme, based on the color's hue.
+ */
+ static lightContent(r) {
+ return m.lightFromCorePalette(s.contentOf(r));
+ }
+ /**
+ * @param argb ARGB representation of a color.
+ * @return Dark Material content color scheme, based on the color's hue.
+ */
+ static darkContent(r) {
+ return m.darkFromCorePalette(s.contentOf(r));
+ }
+ /**
+ * Light scheme from core palette
+ */
+ static lightFromCorePalette(r) {
+ return new m({
+ primary: r.a1.tone(40),
+ onPrimary: r.a1.tone(100),
+ primaryContainer: r.a1.tone(90),
+ onPrimaryContainer: r.a1.tone(10),
+ secondary: r.a2.tone(40),
+ onSecondary: r.a2.tone(100),
+ secondaryContainer: r.a2.tone(90),
+ onSecondaryContainer: r.a2.tone(10),
+ tertiary: r.a3.tone(40),
+ onTertiary: r.a3.tone(100),
+ tertiaryContainer: r.a3.tone(90),
+ onTertiaryContainer: r.a3.tone(10),
+ error: r.error.tone(40),
+ onError: r.error.tone(100),
+ errorContainer: r.error.tone(90),
+ onErrorContainer: r.error.tone(10),
+ background: r.n1.tone(99),
+ onBackground: r.n1.tone(10),
+ surface: r.n1.tone(99),
+ onSurface: r.n1.tone(10),
+ surfaceVariant: r.n2.tone(90),
+ onSurfaceVariant: r.n2.tone(30),
+ outline: r.n2.tone(50),
+ outlineVariant: r.n2.tone(80),
+ shadow: r.n1.tone(0),
+ scrim: r.n1.tone(0),
+ inverseSurface: r.n1.tone(20),
+ inverseOnSurface: r.n1.tone(95),
+ inversePrimary: r.a1.tone(80)
+ });
+ }
+ /**
+ * Dark scheme from core palette
+ */
+ static darkFromCorePalette(r) {
+ return new m({
+ primary: r.a1.tone(80),
+ onPrimary: r.a1.tone(20),
+ primaryContainer: r.a1.tone(30),
+ onPrimaryContainer: r.a1.tone(90),
+ secondary: r.a2.tone(80),
+ onSecondary: r.a2.tone(20),
+ secondaryContainer: r.a2.tone(30),
+ onSecondaryContainer: r.a2.tone(90),
+ tertiary: r.a3.tone(80),
+ onTertiary: r.a3.tone(20),
+ tertiaryContainer: r.a3.tone(30),
+ onTertiaryContainer: r.a3.tone(90),
+ error: r.error.tone(80),
+ onError: r.error.tone(20),
+ errorContainer: r.error.tone(30),
+ onErrorContainer: r.error.tone(80),
+ background: r.n1.tone(10),
+ onBackground: r.n1.tone(90),
+ surface: r.n1.tone(10),
+ onSurface: r.n1.tone(90),
+ surfaceVariant: r.n2.tone(30),
+ onSurfaceVariant: r.n2.tone(80),
+ outline: r.n2.tone(60),
+ outlineVariant: r.n2.tone(30),
+ shadow: r.n1.tone(0),
+ scrim: r.n1.tone(0),
+ inverseSurface: r.n1.tone(90),
+ inverseOnSurface: r.n1.tone(20),
+ inversePrimary: r.a1.tone(40)
+ });
+ }
+ constructor(r) {
+ this.props = r;
+ }
+ toJSON() {
+ return {
+ ...this.props
+ };
+ }
+}
+/**
+ * @license
+ * Copyright 2021 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+function I(h, r = []) {
+ const t = s.of(h);
+ return {
+ source: h,
+ schemes: {
+ light: m.light(h),
+ dark: m.dark(h)
+ },
+ palettes: {
+ primary: t.a1,
+ secondary: t.a2,
+ tertiary: t.a3,
+ neutral: t.n1,
+ neutralVariant: t.n2,
+ error: t.error
+ },
+ customColors: r.map((e) => F(h, e))
+ };
+}
+function F(h, r) {
+ let t = r.value;
+ const e = t, n = h;
+ r.blend && (t = C.harmonize(e, n));
+ const o = s.of(t).a1;
+ return {
+ color: r,
+ value: t,
+ light: {
+ color: o.tone(40),
+ onColor: o.tone(100),
+ colorContainer: o.tone(90),
+ onColorContainer: o.tone(10)
+ },
+ dark: {
+ color: o.tone(80),
+ onColor: o.tone(20),
+ colorContainer: o.tone(30),
+ onColorContainer: o.tone(90)
+ }
+ };
+}
+function P(h) {
+ const r = b(h);
+ return I(r);
+}
export {
- re as Radio
+ P as createTheme
};
diff --git a/dist/react-you-ui14.js b/dist/react-you-ui14.js
index bbcd0fb..f918323 100644
--- a/dist/react-you-ui14.js
+++ b/dist/react-you-ui14.js
@@ -1,74 +1,45 @@
-"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("react/jsx-runtime"),b=require("react"),f=require("./create-component-D9KTUrcf.js"),o=require("./menuItemController-XIsQ9HIe.js"),t=require("./class-map-DV5418hw.js");require("./ripple-DoKzzEey.js");const l=require("./item-DvSwYnPq.js"),g=require("./animation-A38fZ1oY.js"),p=require("./query-assigned-elements-BYttmtWz.js"),E=require("./query-assigned-nodes-Dl8k4w_-.js"),c=require("./static-B9XIUGOk.js"),C=require("./delegate-4958lG3m.js");/**
- * @license
- * Copyright 2022 Google LLC
- * SPDX-License-Identifier: Apache-2.0
- */const T=C.mixinDelegatesAria(t.r);class n extends T{constructor(){super(...arguments),this.disabled=!1,this.type="menuitem",this.href="",this.target="",this.keepOpen=!1,this.selected=!1,this.menuItemController=new o.MenuItemController(this,{getHeadlineElements:()=>this.headlineElements,getSupportingTextElements:()=>this.supportingTextElements,getDefaultElements:()=>this.defaultElements,getInteractiveElement:()=>this.listItemRoot})}get typeaheadText(){return this.menuItemController.typeaheadText}set typeaheadText(e){this.menuItemController.setTypeaheadText(e)}render(){return this.renderListItem(t.x`
-
-
+ `}updated(){this[b.internals].ariaChecked=String(this.checked)}async handleClick(e){this.disabled||(await 0,!e.defaultPrevented&&(q.isActivationClick(e)&&this.focus(),this.checked=!0,this.dispatchEvent(new Event("change",{bubbles:!0})),this.dispatchEvent(new InputEvent("input",{bubbles:!0,composed:!0}))))}async handleKeydown(e){await 0,!(e.key!==" "||e.defaultPrevented)&&this.click()}[(x=y,k.getFormValue)](){return this.checked?this.value:null}[k.getFormState](){return String(this.checked)}formResetCallback(){this.checked=this.hasAttribute("checked")}formStateRestoreCallback(e){this.checked=e==="true"}[f.createValidator](){return new S(()=>this.selectionController?this.selectionController.controls:[this])}[f.getValidityAnchor](){return this.container}};o.__decorate([o.n({type:Boolean})],u.prototype,"checked",null);o.__decorate([o.n({type:Boolean})],u.prototype,"required",void 0);o.__decorate([o.n()],u.prototype,"value",void 0);o.__decorate([I.e$1(".container")],u.prototype,"container",void 0);/**
* @license
* Copyright 2024 Google LLC
* SPDX-License-Identifier: Apache-2.0
- */const _=t.i$1`:host{position:relative;display:flex;flex-direction:column}
+ */const _=o.i$1`@layer{:host{display:inline-flex;height:var(--md-radio-icon-size, 20px);outline:none;position:relative;vertical-align:top;width:var(--md-radio-icon-size, 20px);-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;--md-ripple-hover-color: var(--md-radio-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: var(--md-radio-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-radio-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-pressed-opacity: var(--md-radio-pressed-state-layer-opacity, 0.12)}:host([disabled]){cursor:default}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--md-radio-icon-size, 20px))/2)}.container{display:flex;height:100%;place-content:center;place-items:center;width:100%}md-focus-ring{height:44px;inset:unset;width:44px}.checked{--md-ripple-hover-color: var(--md-radio-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-hover-opacity: var(--md-radio-selected-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-radio-selected-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-opacity: var(--md-radio-selected-pressed-state-layer-opacity, 0.12)}.touch-target{height:48px;position:absolute;width:48px}:host([touch-target=none]) .touch-target{display:none}md-ripple{border-radius:50%;height:var(--md-radio-state-layer-size, 40px);inset:unset;width:var(--md-radio-state-layer-size, 40px)}.icon{fill:var(--md-radio-icon-color, var(--md-sys-color-on-surface-variant, #49454f));inset:0;position:absolute}.outer.circle{transition:fill 50ms linear}.inner.circle{opacity:0;transform-origin:center;transition:opacity 50ms linear}.checked .icon{fill:var(--md-radio-selected-icon-color, var(--md-sys-color-primary, #6750a4))}.checked .inner.circle{animation:inner-circle-grow 300ms cubic-bezier(0.05, 0.7, 0.1, 1);opacity:1}@keyframes inner-circle-grow{from{transform:scale(0)}to{transform:scale(1)}}:host([disabled]) .circle{animation-duration:0s;transition-duration:0s}:host(:hover) .icon{fill:var(--md-radio-hover-icon-color, var(--md-sys-color-on-surface, #1d1b20))}:host(:focus-within) .icon{fill:var(--md-radio-focus-icon-color, var(--md-sys-color-on-surface, #1d1b20))}:host(:active) .icon{fill:var(--md-radio-pressed-icon-color, var(--md-sys-color-on-surface, #1d1b20))}:host([disabled]) .icon{fill:var(--md-radio-disabled-unselected-icon-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-radio-disabled-unselected-icon-opacity, 0.38)}:host(:hover) .checked .icon{fill:var(--md-radio-selected-hover-icon-color, var(--md-sys-color-primary, #6750a4))}:host(:focus-within) .checked .icon{fill:var(--md-radio-selected-focus-icon-color, var(--md-sys-color-primary, #6750a4))}:host(:active) .checked .icon{fill:var(--md-radio-selected-pressed-icon-color, var(--md-sys-color-primary, #6750a4))}:host([disabled]) .checked .icon{fill:var(--md-radio-disabled-selected-icon-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-radio-disabled-selected-icon-opacity, 0.38)}}@layer hcm{@media(forced-colors: active){.icon{fill:CanvasText}:host([disabled]) .icon{fill:GrayText;opacity:1}}}
`;/**
* @license
- * Copyright 2023 Google LLC
+ * Copyright 2022 Google LLC
* SPDX-License-Identifier: Apache-2.0
- */let m=class extends u{};m.styles=[_];m=t.__decorate([t.t$1("md-sub-menu")],m);const S=f.o({react:b,tagName:"md-menu",elementClass:o.MdMenu}),x=f.o({react:b,tagName:"md-menu-item",elementClass:h,events:{"close-menu":"onCloseMenu"}}),M=f.o({react:b,tagName:"md-sub-menu",elementClass:m}),I=a=>v.jsx(S,{...a}),$=a=>v.jsx(M,{...a}),w=a=>v.jsx(x,{...a});exports.Menu=I;exports.MenuItem=w;exports.SubMenu=$;
+ */let v=class extends u{};v.styles=[_];v=o.__decorate([o.t$1("md-radio")],v);const F=E.o({react:C,tagName:"md-radio",elementClass:v}),T=l=>{const{checked:e,value:i,required:t,disabled:r,name:a,ariaLabel:m,className:c,style:g,id:p,iconColor:h,selectedIconColor:s,iconSize:n,...d}=l;return w.jsx(F,{checked:e,value:i,required:t,disabled:r||!1,name:a,className:c,style:{...g,"--md-radio-icon-color":h||"var(--md-sys-on-surface-variant)","--md-radio-selected-icon-color":s||"var(--md-sys-color-primary)","--md-radio-icon-size":n||"20px"},id:p,"aria-label":m,...d})};exports.Radio=T;
diff --git a/dist/react-you-ui14.mjs b/dist/react-you-ui14.mjs
index 1c0f00c..f77d91e 100644
--- a/dist/react-you-ui14.mjs
+++ b/dist/react-you-ui14.mjs
@@ -1,411 +1,274 @@
-import { jsx as E } from "react/jsx-runtime";
-import T from "react";
-import { o as S } from "./create-component-CVXl33PD.mjs";
-import { M as I, s as R, C as M, c as b, a as k, N as l, S as g, b as O, K as x, d as A } from "./menuItemController-CeB921ip.mjs";
-import { r as $, _ as s, n as r, x as d, E as m, c as K, b as w, a as D } from "./class-map-CwiboTfb.mjs";
+import { jsx as x } from "react/jsx-runtime";
+import w from "react";
+import { o as C } from "./create-component-CVXl33PD.mjs";
+import { _ as h, n as y, r as E, x as I, c as R, a as S, b as A } from "./class-map-CwiboTfb.mjs";
import "./ripple-pQcEjR05.mjs";
-import { c as p, g as P, a as L, d as N } from "./item-CpL4zUlE.mjs";
-import { a as F } from "./animation-DjClVFum.mjs";
-import { o as f } from "./query-assigned-elements-DUhez03i.mjs";
-import { n as H } from "./query-assigned-nodes-MKI2zKDb.mjs";
-import { i as C, u as B } from "./static-DdXEOlS4.mjs";
-import { m as _ } from "./delegate-BXi1gVeU.mjs";
-/**
- * @license
- * Copyright 2022 Google LLC
- * SPDX-License-Identifier: Apache-2.0
- */
-const G = _($);
-class i extends G {
- constructor() {
- super(...arguments), this.disabled = !1, this.type = "menuitem", this.href = "", this.target = "", this.keepOpen = !1, this.selected = !1, this.menuItemController = new I(this, {
- getHeadlineElements: () => this.headlineElements,
- getSupportingTextElements: () => this.supportingTextElements,
- getDefaultElements: () => this.defaultElements,
- getInteractiveElement: () => this.listItemRoot
- });
- }
- /**
- * The text that is selectable via typeahead. If not set, defaults to the
- * innerText of the item slotted into the `"headline"` slot.
- */
- get typeaheadText() {
- return this.menuItemController.typeaheadText;
- }
- set typeaheadText(e) {
- this.menuItemController.setTypeaheadText(e);
- }
- render() {
- return this.renderListItem(d`
-
-
`;
- }
- renderHandle({ start: e, hover: a, label: t }) {
- const n = !this.disabled && e === this.startOnTop, o = !this.disabled && this.handlesOverlapping, d = e ? "start" : "end";
- return c`
-
-
-
-
-
- ${b(this.labeled, () => this.renderLabel(t))}
-
`;
- }
- renderInput({ start: e, value: a, ariaLabel: t, ariaValueText: n, ariaMin: o, ariaMax: d }) {
- const m = e ? "start" : "end";
- return c``;
- }
- async toggleRippleHover(e, a) {
- const t = await e;
- t && (a ? t.handlePointerenter(new PointerEvent("pointerenter", {
- isPrimary: !0,
- pointerId: this.ripplePointerId
- })) : t.handlePointerleave(new PointerEvent("pointerleave", {
- isPrimary: !0,
- pointerId: this.ripplePointerId
- })));
- }
- handleFocus(e) {
- this.updateOnTop(e.target);
- }
- startAction(e) {
- const a = e.target, t = a === this.inputStart ? this.inputEnd : this.inputStart;
- this.action = {
- canFlip: e.type === "pointerdown",
- flipped: !1,
- target: a,
- fixed: t,
- values: /* @__PURE__ */ new Map([
- [a, a.valueAsNumber],
- [t, t == null ? void 0 : t.valueAsNumber]
- ])
- };
- }
- finishAction(e) {
- this.action = void 0;
- }
- handleKeydown(e) {
- this.startAction(e);
- }
- handleKeyup(e) {
- this.finishAction(e);
- }
- handleDown(e) {
- this.startAction(e), this.ripplePointerId = e.pointerId;
- const a = e.target === this.inputStart;
- this.handleStartHover = !this.disabled && a && !!this.handleStart, this.handleEndHover = !this.disabled && !a && !!this.handleEnd;
- }
- async handleUp(e) {
- if (!this.action)
- return;
- const { target: a, values: t, flipped: n } = this.action;
- await new Promise(requestAnimationFrame), a !== void 0 && (a.focus(), n && a.valueAsNumber !== t.get(a) && a.dispatchEvent(new Event("change", { bubbles: !0 }))), this.finishAction(e);
- }
- /**
- * The move handler tracks handle hovering to facilitate proper ripple
- * behavior on the slider handle. This is needed because user interaction with
- * the native input is leveraged to position the handle. Because the separate
- * displayed handle element has pointer events disabled (to allow interaction
- * with the input) and the input's handle is a pseudo-element, neither can be
- * the ripple's interactive element. Therefore the input is the ripple's
- * interactive element and has a `ripple` directive; however the ripple
- * is gated on the handle being hovered. In addition, because the ripple
- * hover state is being specially handled, it must be triggered independent
- * of the directive. This is done based on the hover state when the
- * slider is updated.
- */
- handleMove(e) {
- this.handleStartHover = !this.disabled && k(e, this.handleStart), this.handleEndHover = !this.disabled && k(e, this.handleEnd);
- }
- handleEnter(e) {
- this.handleMove(e);
- }
- handleLeave() {
- this.handleStartHover = !1, this.handleEndHover = !1;
- }
- updateOnTop(e) {
- this.startOnTop = e.classList.contains("start");
- }
- needsClamping() {
- if (!this.action)
- return !1;
- const { target: e, fixed: a } = this.action;
- return e === this.inputStart ? e.valueAsNumber > a.valueAsNumber : e.valueAsNumber < a.valueAsNumber;
- }
- // if start/end start coincident and the first drag input would e.g. move
- // start > end, avoid clamping and "flip" to use the other input
- // as the action target.
- isActionFlipped() {
- const { action: e } = this;
- if (!e)
- return !1;
- const { target: a, fixed: t, values: n } = e;
- return e.canFlip && n.get(a) === n.get(t) && this.needsClamping() && (e.canFlip = !1, e.flipped = !0, e.target = t, e.fixed = a), e.flipped;
- }
- // when flipped, apply the drag input to the flipped target and reset
- // the actual target.
- flipAction() {
- if (!this.action)
- return !1;
- const { target: e, fixed: a, values: t } = this.action, n = e.valueAsNumber !== a.valueAsNumber;
- return e.valueAsNumber = a.valueAsNumber, a.valueAsNumber = t.get(a), n;
- }
- // clamp such that start does not move beyond end and visa versa.
- clampAction() {
- if (!this.needsClamping() || !this.action)
- return !1;
- const { target: e, fixed: a } = this.action;
- return e.valueAsNumber = a.valueAsNumber, !0;
- }
- handleInput(e) {
- if (this.isRedispatchingEvent)
- return;
- let a = !1, t = !1;
- this.range && (this.isActionFlipped() && (a = !0, t = this.flipAction()), this.clampAction() && (a = !0, t = !1));
- const n = e.target;
- this.updateOnTop(n), this.range ? (this.valueStart = this.inputStart.valueAsNumber, this.valueEnd = this.inputEnd.valueAsNumber) : this.value = this.inputEnd.valueAsNumber, a && e.stopPropagation(), t && (this.isRedispatchingEvent = !0, g(n, e), this.isRedispatchingEvent = !1);
- }
- handleChange(e) {
- const a = e.target, { target: t, values: n } = this.action ?? {};
- t && t.valueAsNumber === n.get(a) || g(this, e), this.finishAction(e);
- }
- [M]() {
- if (this.range) {
- const e = new FormData();
- return e.append(this.nameStart, String(this.valueStart)), e.append(this.nameEnd, String(this.valueEnd)), e;
- }
- return String(this.value);
- }
- formResetCallback() {
- if (this.range) {
- const a = this.getAttribute("value-start");
- this.valueStart = a !== null ? Number(a) : void 0;
- const t = this.getAttribute("value-end");
- this.valueEnd = t !== null ? Number(t) : void 0;
- return;
- }
- const e = this.getAttribute("value");
- this.value = e !== null ? Number(e) : void 0;
- }
- formStateRestoreCallback(e) {
- if (Array.isArray(e)) {
- const [[, a], [, t]] = e;
- this.valueStart = Number(a), this.valueEnd = Number(t), this.range = !0;
- return;
- }
- this.value = Number(e), this.range = !1;
- }
-};
-r.shadowRootOptions = {
- ...y.shadowRootOptions,
+}
+i.shadowRootOptions = {
+ ...$.shadowRootOptions,
delegatesFocus: !0
};
-i([
- s({ type: Number })
-], r.prototype, "min", void 0);
-i([
- s({ type: Number })
-], r.prototype, "max", void 0);
-i([
- s({ type: Number })
-], r.prototype, "value", void 0);
-i([
- s({ type: Number, attribute: "value-start" })
-], r.prototype, "valueStart", void 0);
-i([
- s({ type: Number, attribute: "value-end" })
-], r.prototype, "valueEnd", void 0);
-i([
- s({ attribute: "value-label" })
-], r.prototype, "valueLabel", void 0);
-i([
- s({ attribute: "value-label-start" })
-], r.prototype, "valueLabelStart", void 0);
-i([
- s({ attribute: "value-label-end" })
-], r.prototype, "valueLabelEnd", void 0);
-i([
- s({ attribute: "aria-label-start" })
-], r.prototype, "ariaLabelStart", void 0);
-i([
- s({ attribute: "aria-valuetext-start" })
-], r.prototype, "ariaValueTextStart", void 0);
-i([
- s({ attribute: "aria-label-end" })
-], r.prototype, "ariaLabelEnd", void 0);
-i([
- s({ attribute: "aria-valuetext-end" })
-], r.prototype, "ariaValueTextEnd", void 0);
-i([
- s({ type: Number })
-], r.prototype, "step", void 0);
-i([
- s({ type: Boolean })
-], r.prototype, "ticks", void 0);
-i([
- s({ type: Boolean })
-], r.prototype, "labeled", void 0);
-i([
- s({ type: Boolean })
-], r.prototype, "range", void 0);
-i([
- u("input.start")
-], r.prototype, "inputStart", void 0);
-i([
- u(".handle.start")
-], r.prototype, "handleStart", void 0);
-i([
- w("md-ripple.start")
-], r.prototype, "rippleStart", void 0);
-i([
- u("input.end")
-], r.prototype, "inputEnd", void 0);
-i([
- u(".handle.end")
-], r.prototype, "handleEnd", void 0);
-i([
- w("md-ripple.end")
-], r.prototype, "rippleEnd", void 0);
-i([
- h()
-], r.prototype, "handleStartHover", void 0);
-i([
- h()
-], r.prototype, "handleEndHover", void 0);
-i([
- h()
-], r.prototype, "startOnTop", void 0);
-i([
- h()
-], r.prototype, "handlesOverlapping", void 0);
-i([
- h()
-], r.prototype, "renderValueStart", void 0);
-i([
- h()
-], r.prototype, "renderValueEnd", void 0);
-function k({ x: l, y: e }, a) {
- if (!a)
- return !1;
- const { top: t, left: n, bottom: o, right: d } = a.getBoundingClientRect();
- return l >= n && l <= d && e >= t && e <= o;
-}
-function U(l, e) {
- if (!(l && e))
- return !1;
- const a = l.getBoundingClientRect(), t = e.getBoundingClientRect();
- return !(a.top > t.bottom || a.right < t.left || a.bottom < t.top || a.left > t.right);
-}
+s([
+ r({ type: Boolean, reflect: !0 })
+], i.prototype, "disabled", void 0);
+s([
+ r()
+], i.prototype, "type", void 0);
+s([
+ r()
+], i.prototype, "href", void 0);
+s([
+ r()
+], i.prototype, "target", void 0);
+s([
+ r({ type: Boolean, attribute: "keep-open" })
+], i.prototype, "keepOpen", void 0);
+s([
+ r({ type: Boolean })
+], i.prototype, "selected", void 0);
+s([
+ F(".list-item")
+], i.prototype, "listItemRoot", void 0);
+s([
+ f({ slot: "headline" })
+], i.prototype, "headlineElements", void 0);
+s([
+ f({ slot: "supporting-text" })
+], i.prototype, "supportingTextElements", void 0);
+s([
+ H({ slot: "" })
+], i.prototype, "defaultElements", void 0);
+s([
+ r({ attribute: "typeahead-text" })
+], i.prototype, "typeaheadText", null);
+/**
+ * @license
+ * Copyright 2022 Google LLC
+ * SPDX-License-Identifier: Apache-2.0
+ */
+let c = class extends i {
+};
+c.styles = [R];
+c = s([
+ w("md-menu-item")
+], c);
+/**
+ * @license
+ * Copyright 2023 Google LLC
+ * SPDX-License-Identifier: Apache-2.0
+ */
+let u = class extends $ {
+ get item() {
+ return this.items[0] ?? null;
+ }
+ get menu() {
+ return this.menus[0] ?? null;
+ }
+ constructor() {
+ super(), this.anchorCorner = M.START_END, this.menuCorner = M.START_START, this.hoverOpenDelay = 400, this.hoverCloseDelay = 400, this.isSubMenu = !0, this.previousOpenTimeout = 0, this.previousCloseTimeout = 0, this.onMouseenter = () => {
+ var e;
+ clearTimeout(this.previousOpenTimeout), clearTimeout(this.previousCloseTimeout), !((e = this.menu) != null && e.open) && (this.hoverOpenDelay ? this.previousOpenTimeout = setTimeout(() => {
+ this.show();
+ }, this.hoverOpenDelay) : this.show());
+ }, this.onMouseleave = () => {
+ clearTimeout(this.previousCloseTimeout), clearTimeout(this.previousOpenTimeout), this.hoverCloseDelay ? this.previousCloseTimeout = setTimeout(() => {
+ this.close();
+ }, this.hoverCloseDelay) : this.close();
+ }, this.addEventListener("mouseenter", this.onMouseenter), this.addEventListener("mouseleave", this.onMouseleave);
+ }
+ render() {
+ return d`
+
+
+
+
+ `;
+ }
+ firstUpdated() {
+ this.onSlotchange();
+ }
+ /**
+ * Shows the submenu.
+ */
+ async show() {
+ const e = this.menu;
+ if (!e || e.open)
+ return;
+ e.addEventListener("closed", () => {
+ this.item.ariaExpanded = "false", this.dispatchEvent(b()), this.dispatchEvent(p()), e.ariaHidden = "true";
+ }, { once: !0 }), e.positioning === "document" && (e.positioning = "absolute"), e.quick = !0, e.hasOverflow = !0, e.anchorCorner = this.anchorCorner, e.menuCorner = this.menuCorner, e.anchorElement = this.item, e.defaultFocus = "first-item", e.removeAttribute("aria-hidden"), e.skipRestoreFocus = !1;
+ const o = e.open;
+ if (e.show(), this.item.ariaExpanded = "true", this.item.ariaHasPopup = "menu", e.id && this.item.setAttribute("aria-controls", e.id), this.dispatchEvent(p()), this.dispatchEvent(k()), this.item.selected = !0, !o) {
+ let t = (h) => {
+ };
+ const n = new Promise((h) => {
+ t = h;
+ });
+ e.addEventListener("opened", t, { once: !0 }), await n;
+ }
+ }
+ /**
+ * Closes the submenu.
+ */
+ async close() {
+ const e = this.menu;
+ if (!e || !e.open)
+ return;
+ this.dispatchEvent(b()), e.quick = !0, e.close(), this.dispatchEvent(p());
+ let o = (n) => {
+ };
+ const t = new Promise((n) => {
+ o = n;
+ });
+ e.addEventListener("closed", o, { once: !0 }), await t;
+ }
+ onSlotchange() {
+ var o;
+ if (!this.item)
+ return;
+ this.item.ariaExpanded = "false", this.item.ariaHasPopup = "menu", (o = this.menu) != null && o.id && this.item.setAttribute("aria-controls", this.menu.id), this.item.keepOpen = !0;
+ const e = this.menu;
+ e && (e.isSubmenu = !0, e.ariaHidden = "true");
+ }
+ onClick() {
+ this.show();
+ }
+ /**
+ * On item keydown handles opening the submenu.
+ */
+ async onKeydown(e) {
+ const o = this.isSubmenuOpenKey(e.code);
+ if (e.defaultPrevented)
+ return;
+ const t = o && (l.LEFT === e.code || l.RIGHT === e.code);
+ if ((e.code === g.SPACE || t) && (e.preventDefault(), t && e.stopPropagation()), !o)
+ return;
+ const n = this.menu;
+ if (!n)
+ return;
+ const h = n.items, v = P(h);
+ if (v) {
+ await this.show(), v.tabIndex = 0, v.focus();
+ return;
+ }
+ }
+ onCloseSubmenu(e) {
+ const { itemPath: o, reason: t } = e.detail;
+ if (o.push(this.item), this.dispatchEvent(b()), t.kind === O.KEYDOWN && t.key === x.ESCAPE) {
+ e.stopPropagation(), this.item.dispatchEvent(L());
+ return;
+ }
+ this.dispatchEvent(p());
+ }
+ async onSubMenuKeydown(e) {
+ var n;
+ if (e.defaultPrevented)
+ return;
+ const { close: o, keyCode: t } = this.isSubmenuCloseKey(e.code);
+ o && (e.preventDefault(), (t === l.LEFT || t === l.RIGHT) && e.stopPropagation(), await this.close(), N(this.menu.items), (n = this.item) == null || n.focus(), this.item.tabIndex = 0, this.item.focus());
+ }
+ /**
+ * Determines whether the given KeyboardEvent code is one that should open
+ * the submenu. This is RTL-aware. By default, left, right, space, or enter.
+ *
+ * @param code The native KeyboardEvent code.
+ * @return Whether or not the key code should open the submenu.
+ */
+ isSubmenuOpenKey(e) {
+ const t = getComputedStyle(this).direction === "rtl" ? l.LEFT : l.RIGHT;
+ switch (e) {
+ case t:
+ case g.SPACE:
+ case g.ENTER:
+ return !0;
+ default:
+ return !1;
+ }
+ }
+ /**
+ * Determines whether the given KeyboardEvent code is one that should close
+ * the submenu. This is RTL-aware. By default right, left, or escape.
+ *
+ * @param code The native KeyboardEvent code.
+ * @return Whether or not the key code should close the submenu.
+ */
+ isSubmenuCloseKey(e) {
+ const t = getComputedStyle(this).direction === "rtl" ? l.RIGHT : l.LEFT;
+ switch (e) {
+ case t:
+ case x.ESCAPE:
+ return { close: !0, keyCode: e };
+ default:
+ return { close: !1 };
+ }
+ }
+};
+s([
+ r({ attribute: "anchor-corner" })
+], u.prototype, "anchorCorner", void 0);
+s([
+ r({ attribute: "menu-corner" })
+], u.prototype, "menuCorner", void 0);
+s([
+ r({ type: Number, attribute: "hover-open-delay" })
+], u.prototype, "hoverOpenDelay", void 0);
+s([
+ r({ type: Number, attribute: "hover-close-delay" })
+], u.prototype, "hoverCloseDelay", void 0);
+s([
+ r({ type: Boolean, reflect: !0, attribute: "md-sub-menu" })
+], u.prototype, "isSubMenu", void 0);
+s([
+ f({ slot: "item", flatten: !0 })
+], u.prototype, "items", void 0);
+s([
+ f({ slot: "menu", flatten: !0 })
+], u.prototype, "menus", void 0);
/**
* @license
* Copyright 2024 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
-const X = _`:host{--_active-track-color: var(--md-slider-active-track-color, var(--md-sys-color-primary, #6750a4));--_active-track-height: var(--md-slider-active-track-height, 4px);--_active-track-shape: var(--md-slider-active-track-shape, var(--md-sys-shape-corner-full, 9999px));--_disabled-active-track-color: var(--md-slider-disabled-active-track-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-active-track-opacity: var(--md-slider-disabled-active-track-opacity, 0.38);--_disabled-handle-color: var(--md-slider-disabled-handle-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-handle-elevation: var(--md-slider-disabled-handle-elevation, 0);--_disabled-inactive-track-color: var(--md-slider-disabled-inactive-track-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-inactive-track-opacity: var(--md-slider-disabled-inactive-track-opacity, 0.12);--_focus-handle-color: var(--md-slider-focus-handle-color, var(--md-sys-color-primary, #6750a4));--_handle-color: var(--md-slider-handle-color, var(--md-sys-color-primary, #6750a4));--_handle-elevation: var(--md-slider-handle-elevation, 1);--_handle-height: var(--md-slider-handle-height, 20px);--_handle-shadow-color: var(--md-slider-handle-shadow-color, var(--md-sys-color-shadow, #000));--_handle-shape: var(--md-slider-handle-shape, var(--md-sys-shape-corner-full, 9999px));--_handle-width: var(--md-slider-handle-width, 20px);--_hover-handle-color: var(--md-slider-hover-handle-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-color: var(--md-slider-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-opacity: var(--md-slider-hover-state-layer-opacity, 0.08);--_inactive-track-color: var(--md-slider-inactive-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_inactive-track-height: var(--md-slider-inactive-track-height, 4px);--_inactive-track-shape: var(--md-slider-inactive-track-shape, var(--md-sys-shape-corner-full, 9999px));--_label-container-color: var(--md-slider-label-container-color, var(--md-sys-color-primary, #6750a4));--_label-container-height: var(--md-slider-label-container-height, 28px);--_pressed-handle-color: var(--md-slider-pressed-handle-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-color: var(--md-slider-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-opacity: var(--md-slider-pressed-state-layer-opacity, 0.12);--_state-layer-size: var(--md-slider-state-layer-size, 40px);--_with-overlap-handle-outline-color: var(--md-slider-with-overlap-handle-outline-color, var(--md-sys-color-on-primary, #fff));--_with-overlap-handle-outline-width: var(--md-slider-with-overlap-handle-outline-width, 1px);--_with-tick-marks-active-container-color: var(--md-slider-with-tick-marks-active-container-color, var(--md-sys-color-on-primary, #fff));--_with-tick-marks-container-size: var(--md-slider-with-tick-marks-container-size, 2px);--_with-tick-marks-disabled-container-color: var(--md-slider-with-tick-marks-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));--_with-tick-marks-inactive-container-color: var(--md-slider-with-tick-marks-inactive-container-color, var(--md-sys-color-on-surface-variant, #49454f));--_label-text-color: var(--md-slider-label-text-color, var(--md-sys-color-on-primary, #fff));--_label-text-font: var(--md-slider-label-text-font, var(--md-sys-typescale-label-medium-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-slider-label-text-line-height, var(--md-sys-typescale-label-medium-line-height, 1rem));--_label-text-size: var(--md-slider-label-text-size, var(--md-sys-typescale-label-medium-size, 0.75rem));--_label-text-weight: var(--md-slider-label-text-weight, var(--md-sys-typescale-label-medium-weight, var(--md-ref-typeface-weight-medium, 500)));--_start-fraction: 0;--_end-fraction: 0;--_tick-count: 0;display:inline-flex;vertical-align:middle;min-inline-size:200px;--md-elevation-level: var(--_handle-elevation);--md-elevation-shadow-color: var(--_handle-shadow-color)}md-focus-ring{height:48px;inset:unset;width:48px}md-elevation{transition-duration:250ms}@media(prefers-reduced-motion){.label{transition-duration:0}}:host([disabled]){opacity:var(--_disabled-active-track-opacity);--md-elevation-level: var(--_disabled-handle-elevation)}.container{flex:1;display:flex;align-items:center;position:relative;block-size:var(--_state-layer-size);pointer-events:none;touch-action:none}.track,.tickmarks{position:absolute;inset:0;display:flex;align-items:center}.track::before,.tickmarks::before,.track::after,.tickmarks::after{position:absolute;content:"";inset-inline-start:calc(var(--_state-layer-size)/2 - var(--_with-tick-marks-container-size));inset-inline-end:calc(var(--_state-layer-size)/2 - var(--_with-tick-marks-container-size));background-size:calc((100% - var(--_with-tick-marks-container-size)*2)/var(--_tick-count)) 100%}.track::before,.tickmarks::before{block-size:var(--_inactive-track-height);border-radius:var(--_inactive-track-shape)}.track::before{background:var(--_inactive-track-color)}.tickmarks::before{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center, var(--_with-tick-marks-inactive-container-color) 0, var(--_with-tick-marks-inactive-container-color) calc(var(--_with-tick-marks-container-size) / 2), transparent calc(var(--_with-tick-marks-container-size) / 2))}:host([disabled]) .track::before{opacity:calc(1/var(--_disabled-active-track-opacity)*var(--_disabled-inactive-track-opacity));background:var(--_disabled-inactive-track-color)}.track::after,.tickmarks::after{block-size:var(--_active-track-height);border-radius:var(--_active-track-shape);clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))) 0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)))}.track::after{background:var(--_active-track-color)}.tickmarks::after{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center, var(--_with-tick-marks-active-container-color) 0, var(--_with-tick-marks-active-container-color) calc(var(--_with-tick-marks-container-size) / 2), transparent calc(var(--_with-tick-marks-container-size) / 2))}.track:dir(rtl)::after{clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))))}.tickmarks:dir(rtl)::after{clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))))}:host([disabled]) .track::after{background:var(--_disabled-active-track-color)}:host([disabled]) .tickmarks::before{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center, var(--_with-tick-marks-disabled-container-color) 0, var(--_with-tick-marks-disabled-container-color) calc(var(--_with-tick-marks-container-size) / 2), transparent calc(var(--_with-tick-marks-container-size) / 2))}.handleContainerPadded{position:relative;block-size:100%;inline-size:100%;padding-inline:calc(var(--_state-layer-size)/2)}.handleContainerBlock{position:relative;block-size:100%;inline-size:100%}.handleContainer{position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:calc(100%*var(--_start-fraction));inline-size:calc(100%*(var(--_end-fraction) - var(--_start-fraction)))}.handle{position:absolute;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);border-radius:var(--_handle-shape);display:flex;place-content:center;place-items:center}.handleNub{position:absolute;height:var(--_handle-height);width:var(--_handle-width);border-radius:var(--_handle-shape);background:var(--_handle-color)}:host([disabled]) .handleNub{background:var(--_disabled-handle-color)}input.end:focus~.handleContainerPadded .handle.end>.handleNub,input.start:focus~.handleContainerPadded .handle.start>.handleNub{background:var(--_focus-handle-color)}.container>.handleContainerPadded .handle.hover>.handleNub{background:var(--_hover-handle-color)}:host(:not([disabled])) input.end:active~.handleContainerPadded .handle.end>.handleNub,:host(:not([disabled])) input.start:active~.handleContainerPadded .handle.start>.handleNub{background:var(--_pressed-handle-color)}.onTop.isOverlapping .label,.onTop.isOverlapping .label::before{outline:var(--_with-overlap-handle-outline-color) solid var(--_with-overlap-handle-outline-width)}.onTop.isOverlapping .handleNub{border:var(--_with-overlap-handle-outline-color) solid var(--_with-overlap-handle-outline-width)}.handle.start{inset-inline-start:calc(0px - var(--_state-layer-size)/2)}.handle.end{inset-inline-end:calc(0px - var(--_state-layer-size)/2)}.label{position:absolute;box-sizing:border-box;display:flex;padding:4px;place-content:center;place-items:center;border-radius:var(--md-sys-shape-corner-full, 9999px);color:var(--_label-text-color);font-family:var(--_label-text-font);font-size:var(--_label-text-size);line-height:var(--_label-text-line-height);font-weight:var(--_label-text-weight);inset-block-end:100%;min-inline-size:var(--_label-container-height);min-block-size:var(--_label-container-height);background:var(--_label-container-color);transition:transform 100ms cubic-bezier(0.2, 0, 0, 1);transform-origin:center bottom;transform:scale(0)}:host(:focus-within) .label,.handleContainer.hover .label,:where(:has(input:active)) .label{transform:scale(1)}.label::before,.label::after{position:absolute;display:block;content:"";background:inherit}.label::before{inline-size:calc(var(--_label-container-height)/2);block-size:calc(var(--_label-container-height)/2);bottom:calc(var(--_label-container-height)/-10);transform:rotate(45deg)}.label::after{inset:0px;border-radius:inherit}.labelContent{z-index:1}input[type=range]{opacity:0;-webkit-tap-highlight-color:rgba(0,0,0,0);position:absolute;box-sizing:border-box;height:100%;width:100%;margin:0;background:rgba(0,0,0,0);cursor:pointer;pointer-events:auto;appearance:none}input[type=range]:focus{outline:none}::-webkit-slider-runnable-track{-webkit-appearance:none}::-moz-range-track{appearance:none}::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;block-size:var(--_handle-height);inline-size:var(--_handle-width);opacity:0;z-index:2}input.end::-webkit-slider-thumb{--_track-and-knob-padding: calc( (var(--_state-layer-size) - var(--_handle-width)) / 2 );--_x-translate: calc( var(--_track-and-knob-padding) - 2 * var(--_end-fraction) * var(--_track-and-knob-padding) );transform:translateX(var(--_x-translate))}input.end:dir(rtl)::-webkit-slider-thumb{transform:translateX(calc(-1 * var(--_x-translate)))}input.start::-webkit-slider-thumb{--_track-and-knob-padding: calc( (var(--_state-layer-size) - var(--_handle-width)) / 2 );--_x-translate: calc( var(--_track-and-knob-padding) - 2 * var(--_start-fraction) * var(--_track-and-knob-padding) );transform:translateX(var(--_x-translate))}input.start:dir(rtl)::-webkit-slider-thumb{transform:translateX(calc(-1 * var(--_x-translate)))}::-moz-range-thumb{appearance:none;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);transform:scaleX(0);opacity:0;z-index:2}.ranged input.start{clip-path:inset(0 calc(100% - (var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2))) 0 0)}.ranged input.start:dir(rtl){clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2))))}.ranged input.end{clip-path:inset(0 0 0 calc(var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2)))}.ranged input.end:dir(rtl){clip-path:inset(0 calc(var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2)) 0 0)}.onTop{z-index:1}.handle{--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}md-ripple{border-radius:50%;height:var(--_state-layer-size);width:var(--_state-layer-size)}
+const q = D`:host{position:relative;display:flex;flex-direction:column}
`;
/**
* @license
* Copyright 2023 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
-let p = class extends r {
+let y = class extends u {
};
-p.styles = [X, B];
-p = i([
- L("md-slider")
-], p);
-const D = T({
- react: $,
- elementClass: p,
- tagName: "md-slider"
-}), le = ({
- className: l,
- id: e,
- style: a,
- ...t
-}) => /* @__PURE__ */ N(
- D,
- {
- className: l,
- id: e,
- style: a,
- ...t
+y.styles = [q];
+y = s([
+ w("md-sub-menu")
+], y);
+const W = S({
+ react: T,
+ tagName: "md-menu",
+ elementClass: A
+}), j = S({
+ react: T,
+ tagName: "md-menu-item",
+ elementClass: c,
+ events: {
+ "close-menu": "onCloseMenu"
}
-);
+}), U = S({
+ react: T,
+ tagName: "md-sub-menu",
+ elementClass: y
+}), le = (a) => /* @__PURE__ */ E(
+ W,
+ {
+ ...a
+ }
+), ue = (a) => /* @__PURE__ */ E(
+ U,
+ {
+ ...a
+ }
+), me = (a) => /* @__PURE__ */ E(j, { ...a });
export {
- le as Slider
+ le as Menu,
+ me as MenuItem,
+ ue as SubMenu
};
diff --git a/dist/react-you-ui16.js b/dist/react-you-ui16.js
index e5bfeaf..18725b0 100644
--- a/dist/react-you-ui16.js
+++ b/dist/react-you-ui16.js
@@ -1,72 +1,79 @@
-"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("react/jsx-runtime"),c=require("react"),p=require("./create-component-D9KTUrcf.js"),t=require("./class-map-DV5418hw.js"),y=require("./query-assigned-elements-BYttmtWz.js"),d=require("./item-DvSwYnPq.js");require("./ripple-DoKzzEey.js");const v=require("./animation-A38fZ1oY.js"),a=require("./static-B9XIUGOk.js"),f=require("./delegate-4958lG3m.js");/**
+"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("react/jsx-runtime"),E=require("react"),z=require("./create-component-D9KTUrcf.js"),a=require("./class-map-DV5418hw.js");require("./elevation-CqmyG_RP.js");require("./ripple-DoKzzEey.js");const o=require("./animation-A38fZ1oY.js"),A=require("./style-map-Bzw6qQ8K.js"),C=require("./delegate-4958lG3m.js"),u=require("./form-label-activation-CYEOF_US.js"),p=require("./redispatch-event-C93E51ce.js"),$=require("./element-internals-OOm6rgx-.js"),b=require("./form-associated-CxXMoMPu.js");/**
* @license
- * Copyright 2021 Google LLC
- * SPDX-License-Identifier: Apache-2.0
- */const b=new Set(Object.values(d.NavigableKeys));let h=class extends t.r{get items(){return this.listController.items}constructor(){super(),this.listController=new d.ListController({isItem:e=>e.hasAttribute("md-list-item"),getPossibleItems:()=>this.slotItems,isRtl:()=>getComputedStyle(this).direction==="rtl",deactivateItem:e=>{e.tabIndex=-1},activateItem:e=>{e.tabIndex=0},isNavigableKey:e=>b.has(e),isActivatable:e=>!e.disabled&&e.type!=="text"}),this.internals=this.attachInternals(),this.internals.role="list",this.addEventListener("keydown",this.listController.handleKeydown)}render(){return t.x`
-
-
- `}activateNextItem(){return this.listController.activateNextItem()}activatePreviousItem(){return this.listController.activatePreviousItem()}};t.__decorate([y.o({flatten:!0})],h.prototype,"slotItems",void 0);/**
+ * Copyright 2017 Google LLC
+ * SPDX-License-Identifier: BSD-3-Clause
+ */function _(s){return(e,t)=>o.e(e,t,{async get(){var r;return await this.updateComplete,((r=this.renderRoot)==null?void 0:r.querySelector(s))??null}})}/**
* @license
* Copyright 2024 Google LLC
* SPDX-License-Identifier: Apache-2.0
- */const x=t.i$1`:host{background:var(--md-list-container-color, var(--md-sys-color-surface, #fef7ff));color:unset;display:flex;flex-direction:column;outline:none;padding:8px 0;position:relative}
+ */const N=a.i$1`@media(forced-colors: active){:host{--md-slider-active-track-color: CanvasText;--md-slider-disabled-active-track-color: GrayText;--md-slider-disabled-active-track-opacity: 1;--md-slider-disabled-handle-color: GrayText;--md-slider-disabled-inactive-track-color: GrayText;--md-slider-disabled-inactive-track-opacity: 1;--md-slider-focus-handle-color: CanvasText;--md-slider-handle-color: CanvasText;--md-slider-handle-shadow-color: Canvas;--md-slider-hover-handle-color: CanvasText;--md-slider-hover-state-layer-color: Canvas;--md-slider-hover-state-layer-opacity: 1;--md-slider-inactive-track-color: Canvas;--md-slider-label-container-color: Canvas;--md-slider-label-text-color: CanvasText;--md-slider-pressed-handle-color: CanvasText;--md-slider-pressed-state-layer-color: Canvas;--md-slider-pressed-state-layer-opacity: 1;--md-slider-with-overlap-handle-outline-color: CanvasText}.label,.label::before{border:var(--_with-overlap-handle-outline-color) solid var(--_with-overlap-handle-outline-width)}:host(:not([disabled])) .track::before{border:1px solid var(--_active-track-color)}.tickmarks::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='CanvasText'%3E%3Ccircle cx='2' cy='2' r='1'/%3E%3C/svg%3E")}.tickmarks::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='Canvas'%3E%3Ccircle cx='2' cy='2' r='1'/%3E%3C/svg%3E")}:host([disabled]) .tickmarks::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='Canvas'%3E%3Ccircle cx='2' cy='2' r='1'/%3E%3C/svg%3E")}}
`;/**
* @license
* Copyright 2021 Google LLC
- * SPDX-License-Identifier: Apache-2.0
- */let l=class extends h{};l.styles=[x];l=t.__decorate([t.t$1("md-list")],l);/**
+ * SPDX-License-Identifier: BSD-3-Clause
+ */function v(s,e,t){return s?e(s):t==null?void 0:t(s)}/**
* @license
- * Copyright 2022 Google LLC
+ * Copyright 2023 Google LLC
* SPDX-License-Identifier: Apache-2.0
- */const $=f.mixinDelegatesAria(t.r);class s extends ${constructor(){super(...arguments),this.disabled=!1,this.type="text",this.isListItem=!0,this.href="",this.target=""}get isDisabled(){return this.disabled&&this.type!=="link"}willUpdate(e){this.href&&(this.type="link"),super.willUpdate(e)}render(){return this.renderListItem(t.x`
-
-
`;
+ }
+ renderHandle({ start: e, hover: a, label: t }) {
+ const n = !this.disabled && e === this.startOnTop, o = !this.disabled && this.handlesOverlapping, d = e ? "start" : "end";
+ return c`
+
+
+
+
+
+ ${b(this.labeled, () => this.renderLabel(t))}
+
`;
+ }
+ renderInput({ start: e, value: a, ariaLabel: t, ariaValueText: n, ariaMin: o, ariaMax: d }) {
+ const m = e ? "start" : "end";
+ return c``;
+ }
+ async toggleRippleHover(e, a) {
+ const t = await e;
+ t && (a ? t.handlePointerenter(new PointerEvent("pointerenter", {
+ isPrimary: !0,
+ pointerId: this.ripplePointerId
+ })) : t.handlePointerleave(new PointerEvent("pointerleave", {
+ isPrimary: !0,
+ pointerId: this.ripplePointerId
+ })));
+ }
+ handleFocus(e) {
+ this.updateOnTop(e.target);
+ }
+ startAction(e) {
+ const a = e.target, t = a === this.inputStart ? this.inputEnd : this.inputStart;
+ this.action = {
+ canFlip: e.type === "pointerdown",
+ flipped: !1,
+ target: a,
+ fixed: t,
+ values: /* @__PURE__ */ new Map([
+ [a, a.valueAsNumber],
+ [t, t == null ? void 0 : t.valueAsNumber]
+ ])
+ };
+ }
+ finishAction(e) {
+ this.action = void 0;
+ }
+ handleKeydown(e) {
+ this.startAction(e);
+ }
+ handleKeyup(e) {
+ this.finishAction(e);
+ }
+ handleDown(e) {
+ this.startAction(e), this.ripplePointerId = e.pointerId;
+ const a = e.target === this.inputStart;
+ this.handleStartHover = !this.disabled && a && !!this.handleStart, this.handleEndHover = !this.disabled && !a && !!this.handleEnd;
+ }
+ async handleUp(e) {
+ if (!this.action)
+ return;
+ const { target: a, values: t, flipped: n } = this.action;
+ await new Promise(requestAnimationFrame), a !== void 0 && (a.focus(), n && a.valueAsNumber !== t.get(a) && a.dispatchEvent(new Event("change", { bubbles: !0 }))), this.finishAction(e);
+ }
+ /**
+ * The move handler tracks handle hovering to facilitate proper ripple
+ * behavior on the slider handle. This is needed because user interaction with
+ * the native input is leveraged to position the handle. Because the separate
+ * displayed handle element has pointer events disabled (to allow interaction
+ * with the input) and the input's handle is a pseudo-element, neither can be
+ * the ripple's interactive element. Therefore the input is the ripple's
+ * interactive element and has a `ripple` directive; however the ripple
+ * is gated on the handle being hovered. In addition, because the ripple
+ * hover state is being specially handled, it must be triggered independent
+ * of the directive. This is done based on the hover state when the
+ * slider is updated.
+ */
+ handleMove(e) {
+ this.handleStartHover = !this.disabled && k(e, this.handleStart), this.handleEndHover = !this.disabled && k(e, this.handleEnd);
+ }
+ handleEnter(e) {
+ this.handleMove(e);
+ }
+ handleLeave() {
+ this.handleStartHover = !1, this.handleEndHover = !1;
+ }
+ updateOnTop(e) {
+ this.startOnTop = e.classList.contains("start");
+ }
+ needsClamping() {
+ if (!this.action)
+ return !1;
+ const { target: e, fixed: a } = this.action;
+ return e === this.inputStart ? e.valueAsNumber > a.valueAsNumber : e.valueAsNumber < a.valueAsNumber;
+ }
+ // if start/end start coincident and the first drag input would e.g. move
+ // start > end, avoid clamping and "flip" to use the other input
+ // as the action target.
+ isActionFlipped() {
+ const { action: e } = this;
+ if (!e)
+ return !1;
+ const { target: a, fixed: t, values: n } = e;
+ return e.canFlip && n.get(a) === n.get(t) && this.needsClamping() && (e.canFlip = !1, e.flipped = !0, e.target = t, e.fixed = a), e.flipped;
+ }
+ // when flipped, apply the drag input to the flipped target and reset
+ // the actual target.
+ flipAction() {
+ if (!this.action)
+ return !1;
+ const { target: e, fixed: a, values: t } = this.action, n = e.valueAsNumber !== a.valueAsNumber;
+ return e.valueAsNumber = a.valueAsNumber, a.valueAsNumber = t.get(a), n;
+ }
+ // clamp such that start does not move beyond end and visa versa.
+ clampAction() {
+ if (!this.needsClamping() || !this.action)
+ return !1;
+ const { target: e, fixed: a } = this.action;
+ return e.valueAsNumber = a.valueAsNumber, !0;
+ }
+ handleInput(e) {
+ if (this.isRedispatchingEvent)
+ return;
+ let a = !1, t = !1;
+ this.range && (this.isActionFlipped() && (a = !0, t = this.flipAction()), this.clampAction() && (a = !0, t = !1));
+ const n = e.target;
+ this.updateOnTop(n), this.range ? (this.valueStart = this.inputStart.valueAsNumber, this.valueEnd = this.inputEnd.valueAsNumber) : this.value = this.inputEnd.valueAsNumber, a && e.stopPropagation(), t && (this.isRedispatchingEvent = !0, g(n, e), this.isRedispatchingEvent = !1);
+ }
+ handleChange(e) {
+ const a = e.target, { target: t, values: n } = this.action ?? {};
+ t && t.valueAsNumber === n.get(a) || g(this, e), this.finishAction(e);
+ }
+ [M]() {
+ if (this.range) {
+ const e = new FormData();
+ return e.append(this.nameStart, String(this.valueStart)), e.append(this.nameEnd, String(this.valueEnd)), e;
+ }
+ return String(this.value);
+ }
+ formResetCallback() {
+ if (this.range) {
+ const a = this.getAttribute("value-start");
+ this.valueStart = a !== null ? Number(a) : void 0;
+ const t = this.getAttribute("value-end");
+ this.valueEnd = t !== null ? Number(t) : void 0;
+ return;
+ }
+ const e = this.getAttribute("value");
+ this.value = e !== null ? Number(e) : void 0;
+ }
+ formStateRestoreCallback(e) {
+ if (Array.isArray(e)) {
+ const [[, a], [, t]] = e;
+ this.valueStart = Number(a), this.valueEnd = Number(t), this.range = !0;
+ return;
+ }
+ this.value = Number(e), this.range = !1;
+ }
+};
r.shadowRootOptions = {
- ...c.shadowRootOptions,
+ ...y.shadowRootOptions,
delegatesFocus: !0
};
-e([
- n({ type: Boolean, reflect: !0 })
-], r.prototype, "disabled", void 0);
-e([
- n({ reflect: !0 })
-], r.prototype, "type", void 0);
-e([
- n({ type: Boolean, attribute: "md-list-item", reflect: !0 })
-], r.prototype, "isListItem", void 0);
-e([
- n()
-], r.prototype, "href", void 0);
-e([
- n()
-], r.prototype, "target", void 0);
-e([
- R(".list-item")
-], r.prototype, "listItemRoot", void 0);
+i([
+ s({ type: Number })
+], r.prototype, "min", void 0);
+i([
+ s({ type: Number })
+], r.prototype, "max", void 0);
+i([
+ s({ type: Number })
+], r.prototype, "value", void 0);
+i([
+ s({ type: Number, attribute: "value-start" })
+], r.prototype, "valueStart", void 0);
+i([
+ s({ type: Number, attribute: "value-end" })
+], r.prototype, "valueEnd", void 0);
+i([
+ s({ attribute: "value-label" })
+], r.prototype, "valueLabel", void 0);
+i([
+ s({ attribute: "value-label-start" })
+], r.prototype, "valueLabelStart", void 0);
+i([
+ s({ attribute: "value-label-end" })
+], r.prototype, "valueLabelEnd", void 0);
+i([
+ s({ attribute: "aria-label-start" })
+], r.prototype, "ariaLabelStart", void 0);
+i([
+ s({ attribute: "aria-valuetext-start" })
+], r.prototype, "ariaValueTextStart", void 0);
+i([
+ s({ attribute: "aria-label-end" })
+], r.prototype, "ariaLabelEnd", void 0);
+i([
+ s({ attribute: "aria-valuetext-end" })
+], r.prototype, "ariaValueTextEnd", void 0);
+i([
+ s({ type: Number })
+], r.prototype, "step", void 0);
+i([
+ s({ type: Boolean })
+], r.prototype, "ticks", void 0);
+i([
+ s({ type: Boolean })
+], r.prototype, "labeled", void 0);
+i([
+ s({ type: Boolean })
+], r.prototype, "range", void 0);
+i([
+ u("input.start")
+], r.prototype, "inputStart", void 0);
+i([
+ u(".handle.start")
+], r.prototype, "handleStart", void 0);
+i([
+ w("md-ripple.start")
+], r.prototype, "rippleStart", void 0);
+i([
+ u("input.end")
+], r.prototype, "inputEnd", void 0);
+i([
+ u(".handle.end")
+], r.prototype, "handleEnd", void 0);
+i([
+ w("md-ripple.end")
+], r.prototype, "rippleEnd", void 0);
+i([
+ h()
+], r.prototype, "handleStartHover", void 0);
+i([
+ h()
+], r.prototype, "handleEndHover", void 0);
+i([
+ h()
+], r.prototype, "startOnTop", void 0);
+i([
+ h()
+], r.prototype, "handlesOverlapping", void 0);
+i([
+ h()
+], r.prototype, "renderValueStart", void 0);
+i([
+ h()
+], r.prototype, "renderValueEnd", void 0);
+function k({ x: l, y: e }, a) {
+ if (!a)
+ return !1;
+ const { top: t, left: n, bottom: o, right: d } = a.getBoundingClientRect();
+ return l >= n && l <= d && e >= t && e <= o;
+}
+function U(l, e) {
+ if (!(l && e))
+ return !1;
+ const a = l.getBoundingClientRect(), t = e.getBoundingClientRect();
+ return !(a.top > t.bottom || a.right < t.left || a.bottom < t.top || a.left > t.right);
+}
/**
* @license
* Copyright 2024 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
-const D = y`:host{display:flex;-webkit-tap-highlight-color:rgba(0,0,0,0);--md-ripple-hover-color: var(--md-list-item-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: var(--md-list-item-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-list-item-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-opacity: var(--md-list-item-pressed-state-layer-opacity, 0.12)}:host(:is([type=button]:not([disabled]),[type=link])){cursor:pointer}md-focus-ring{z-index:1;--md-focus-ring-shape: 8px}a,button,li{background:none;border:none;cursor:inherit;padding:0;margin:0;text-align:unset;text-decoration:none}.list-item{border-radius:inherit;display:flex;flex:1;max-width:inherit;min-width:inherit;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0);width:100%}.list-item.interactive{cursor:pointer}.list-item.disabled{opacity:var(--md-list-item-disabled-opacity, 0.3);pointer-events:none}[slot=container]{pointer-events:none}md-ripple{border-radius:inherit}md-item{border-radius:inherit;flex:1;height:100%;color:var(--md-list-item-label-text-color, var(--md-sys-color-on-surface, #1d1b20));font-family:var(--md-list-item-label-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-list-item-label-text-size, var(--md-sys-typescale-body-large-size, 1rem));line-height:var(--md-list-item-label-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));font-weight:var(--md-list-item-label-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));min-height:var(--md-list-item-one-line-container-height, 56px);padding-top:var(--md-list-item-top-space, 12px);padding-bottom:var(--md-list-item-bottom-space, 12px);padding-inline-start:var(--md-list-item-leading-space, 16px);padding-inline-end:var(--md-list-item-trailing-space, 16px)}md-item[multiline]{min-height:var(--md-list-item-two-line-container-height, 72px)}[slot=supporting-text]{color:var(--md-list-item-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));font-family:var(--md-list-item-supporting-text-font, var(--md-sys-typescale-body-medium-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-list-item-supporting-text-size, var(--md-sys-typescale-body-medium-size, 0.875rem));line-height:var(--md-list-item-supporting-text-line-height, var(--md-sys-typescale-body-medium-line-height, 1.25rem));font-weight:var(--md-list-item-supporting-text-weight, var(--md-sys-typescale-body-medium-weight, var(--md-ref-typeface-weight-regular, 400)))}[slot=trailing-supporting-text]{color:var(--md-list-item-trailing-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));font-family:var(--md-list-item-trailing-supporting-text-font, var(--md-sys-typescale-label-small-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-list-item-trailing-supporting-text-size, var(--md-sys-typescale-label-small-size, 0.6875rem));line-height:var(--md-list-item-trailing-supporting-text-line-height, var(--md-sys-typescale-label-small-line-height, 1rem));font-weight:var(--md-list-item-trailing-supporting-text-weight, var(--md-sys-typescale-label-small-weight, var(--md-ref-typeface-weight-medium, 500)))}:is([slot=start],[slot=end])::slotted(*){fill:currentColor}[slot=start]{color:var(--md-list-item-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f))}[slot=end]{color:var(--md-list-item-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f))}@media(forced-colors: active){.disabled slot{color:GrayText}.list-item.disabled{color:GrayText;opacity:1}}
+const X = _`:host{--_active-track-color: var(--md-slider-active-track-color, var(--md-sys-color-primary, #6750a4));--_active-track-height: var(--md-slider-active-track-height, 4px);--_active-track-shape: var(--md-slider-active-track-shape, var(--md-sys-shape-corner-full, 9999px));--_disabled-active-track-color: var(--md-slider-disabled-active-track-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-active-track-opacity: var(--md-slider-disabled-active-track-opacity, 0.38);--_disabled-handle-color: var(--md-slider-disabled-handle-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-handle-elevation: var(--md-slider-disabled-handle-elevation, 0);--_disabled-inactive-track-color: var(--md-slider-disabled-inactive-track-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-inactive-track-opacity: var(--md-slider-disabled-inactive-track-opacity, 0.12);--_focus-handle-color: var(--md-slider-focus-handle-color, var(--md-sys-color-primary, #6750a4));--_handle-color: var(--md-slider-handle-color, var(--md-sys-color-primary, #6750a4));--_handle-elevation: var(--md-slider-handle-elevation, 1);--_handle-height: var(--md-slider-handle-height, 20px);--_handle-shadow-color: var(--md-slider-handle-shadow-color, var(--md-sys-color-shadow, #000));--_handle-shape: var(--md-slider-handle-shape, var(--md-sys-shape-corner-full, 9999px));--_handle-width: var(--md-slider-handle-width, 20px);--_hover-handle-color: var(--md-slider-hover-handle-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-color: var(--md-slider-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-opacity: var(--md-slider-hover-state-layer-opacity, 0.08);--_inactive-track-color: var(--md-slider-inactive-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_inactive-track-height: var(--md-slider-inactive-track-height, 4px);--_inactive-track-shape: var(--md-slider-inactive-track-shape, var(--md-sys-shape-corner-full, 9999px));--_label-container-color: var(--md-slider-label-container-color, var(--md-sys-color-primary, #6750a4));--_label-container-height: var(--md-slider-label-container-height, 28px);--_pressed-handle-color: var(--md-slider-pressed-handle-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-color: var(--md-slider-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-opacity: var(--md-slider-pressed-state-layer-opacity, 0.12);--_state-layer-size: var(--md-slider-state-layer-size, 40px);--_with-overlap-handle-outline-color: var(--md-slider-with-overlap-handle-outline-color, var(--md-sys-color-on-primary, #fff));--_with-overlap-handle-outline-width: var(--md-slider-with-overlap-handle-outline-width, 1px);--_with-tick-marks-active-container-color: var(--md-slider-with-tick-marks-active-container-color, var(--md-sys-color-on-primary, #fff));--_with-tick-marks-container-size: var(--md-slider-with-tick-marks-container-size, 2px);--_with-tick-marks-disabled-container-color: var(--md-slider-with-tick-marks-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));--_with-tick-marks-inactive-container-color: var(--md-slider-with-tick-marks-inactive-container-color, var(--md-sys-color-on-surface-variant, #49454f));--_label-text-color: var(--md-slider-label-text-color, var(--md-sys-color-on-primary, #fff));--_label-text-font: var(--md-slider-label-text-font, var(--md-sys-typescale-label-medium-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-slider-label-text-line-height, var(--md-sys-typescale-label-medium-line-height, 1rem));--_label-text-size: var(--md-slider-label-text-size, var(--md-sys-typescale-label-medium-size, 0.75rem));--_label-text-weight: var(--md-slider-label-text-weight, var(--md-sys-typescale-label-medium-weight, var(--md-ref-typeface-weight-medium, 500)));--_start-fraction: 0;--_end-fraction: 0;--_tick-count: 0;display:inline-flex;vertical-align:middle;min-inline-size:200px;--md-elevation-level: var(--_handle-elevation);--md-elevation-shadow-color: var(--_handle-shadow-color)}md-focus-ring{height:48px;inset:unset;width:48px}md-elevation{transition-duration:250ms}@media(prefers-reduced-motion){.label{transition-duration:0}}:host([disabled]){opacity:var(--_disabled-active-track-opacity);--md-elevation-level: var(--_disabled-handle-elevation)}.container{flex:1;display:flex;align-items:center;position:relative;block-size:var(--_state-layer-size);pointer-events:none;touch-action:none}.track,.tickmarks{position:absolute;inset:0;display:flex;align-items:center}.track::before,.tickmarks::before,.track::after,.tickmarks::after{position:absolute;content:"";inset-inline-start:calc(var(--_state-layer-size)/2 - var(--_with-tick-marks-container-size));inset-inline-end:calc(var(--_state-layer-size)/2 - var(--_with-tick-marks-container-size));background-size:calc((100% - var(--_with-tick-marks-container-size)*2)/var(--_tick-count)) 100%}.track::before,.tickmarks::before{block-size:var(--_inactive-track-height);border-radius:var(--_inactive-track-shape)}.track::before{background:var(--_inactive-track-color)}.tickmarks::before{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center, var(--_with-tick-marks-inactive-container-color) 0, var(--_with-tick-marks-inactive-container-color) calc(var(--_with-tick-marks-container-size) / 2), transparent calc(var(--_with-tick-marks-container-size) / 2))}:host([disabled]) .track::before{opacity:calc(1/var(--_disabled-active-track-opacity)*var(--_disabled-inactive-track-opacity));background:var(--_disabled-inactive-track-color)}.track::after,.tickmarks::after{block-size:var(--_active-track-height);border-radius:var(--_active-track-shape);clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))) 0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)))}.track::after{background:var(--_active-track-color)}.tickmarks::after{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center, var(--_with-tick-marks-active-container-color) 0, var(--_with-tick-marks-active-container-color) calc(var(--_with-tick-marks-container-size) / 2), transparent calc(var(--_with-tick-marks-container-size) / 2))}.track:dir(rtl)::after{clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))))}.tickmarks:dir(rtl)::after{clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))))}:host([disabled]) .track::after{background:var(--_disabled-active-track-color)}:host([disabled]) .tickmarks::before{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center, var(--_with-tick-marks-disabled-container-color) 0, var(--_with-tick-marks-disabled-container-color) calc(var(--_with-tick-marks-container-size) / 2), transparent calc(var(--_with-tick-marks-container-size) / 2))}.handleContainerPadded{position:relative;block-size:100%;inline-size:100%;padding-inline:calc(var(--_state-layer-size)/2)}.handleContainerBlock{position:relative;block-size:100%;inline-size:100%}.handleContainer{position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:calc(100%*var(--_start-fraction));inline-size:calc(100%*(var(--_end-fraction) - var(--_start-fraction)))}.handle{position:absolute;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);border-radius:var(--_handle-shape);display:flex;place-content:center;place-items:center}.handleNub{position:absolute;height:var(--_handle-height);width:var(--_handle-width);border-radius:var(--_handle-shape);background:var(--_handle-color)}:host([disabled]) .handleNub{background:var(--_disabled-handle-color)}input.end:focus~.handleContainerPadded .handle.end>.handleNub,input.start:focus~.handleContainerPadded .handle.start>.handleNub{background:var(--_focus-handle-color)}.container>.handleContainerPadded .handle.hover>.handleNub{background:var(--_hover-handle-color)}:host(:not([disabled])) input.end:active~.handleContainerPadded .handle.end>.handleNub,:host(:not([disabled])) input.start:active~.handleContainerPadded .handle.start>.handleNub{background:var(--_pressed-handle-color)}.onTop.isOverlapping .label,.onTop.isOverlapping .label::before{outline:var(--_with-overlap-handle-outline-color) solid var(--_with-overlap-handle-outline-width)}.onTop.isOverlapping .handleNub{border:var(--_with-overlap-handle-outline-color) solid var(--_with-overlap-handle-outline-width)}.handle.start{inset-inline-start:calc(0px - var(--_state-layer-size)/2)}.handle.end{inset-inline-end:calc(0px - var(--_state-layer-size)/2)}.label{position:absolute;box-sizing:border-box;display:flex;padding:4px;place-content:center;place-items:center;border-radius:var(--md-sys-shape-corner-full, 9999px);color:var(--_label-text-color);font-family:var(--_label-text-font);font-size:var(--_label-text-size);line-height:var(--_label-text-line-height);font-weight:var(--_label-text-weight);inset-block-end:100%;min-inline-size:var(--_label-container-height);min-block-size:var(--_label-container-height);background:var(--_label-container-color);transition:transform 100ms cubic-bezier(0.2, 0, 0, 1);transform-origin:center bottom;transform:scale(0)}:host(:focus-within) .label,.handleContainer.hover .label,:where(:has(input:active)) .label{transform:scale(1)}.label::before,.label::after{position:absolute;display:block;content:"";background:inherit}.label::before{inline-size:calc(var(--_label-container-height)/2);block-size:calc(var(--_label-container-height)/2);bottom:calc(var(--_label-container-height)/-10);transform:rotate(45deg)}.label::after{inset:0px;border-radius:inherit}.labelContent{z-index:1}input[type=range]{opacity:0;-webkit-tap-highlight-color:rgba(0,0,0,0);position:absolute;box-sizing:border-box;height:100%;width:100%;margin:0;background:rgba(0,0,0,0);cursor:pointer;pointer-events:auto;appearance:none}input[type=range]:focus{outline:none}::-webkit-slider-runnable-track{-webkit-appearance:none}::-moz-range-track{appearance:none}::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;block-size:var(--_handle-height);inline-size:var(--_handle-width);opacity:0;z-index:2}input.end::-webkit-slider-thumb{--_track-and-knob-padding: calc( (var(--_state-layer-size) - var(--_handle-width)) / 2 );--_x-translate: calc( var(--_track-and-knob-padding) - 2 * var(--_end-fraction) * var(--_track-and-knob-padding) );transform:translateX(var(--_x-translate))}input.end:dir(rtl)::-webkit-slider-thumb{transform:translateX(calc(-1 * var(--_x-translate)))}input.start::-webkit-slider-thumb{--_track-and-knob-padding: calc( (var(--_state-layer-size) - var(--_handle-width)) / 2 );--_x-translate: calc( var(--_track-and-knob-padding) - 2 * var(--_start-fraction) * var(--_track-and-knob-padding) );transform:translateX(var(--_x-translate))}input.start:dir(rtl)::-webkit-slider-thumb{transform:translateX(calc(-1 * var(--_x-translate)))}::-moz-range-thumb{appearance:none;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);transform:scaleX(0);opacity:0;z-index:2}.ranged input.start{clip-path:inset(0 calc(100% - (var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2))) 0 0)}.ranged input.start:dir(rtl){clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2))))}.ranged input.end{clip-path:inset(0 0 0 calc(var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2)))}.ranged input.end:dir(rtl){clip-path:inset(0 calc(var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2)) 0 0)}.onTop{z-index:1}.handle{--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}md-ripple{border-radius:50%;height:var(--_state-layer-size);width:var(--_state-layer-size)}
`;
/**
* @license
- * Copyright 2022 Google LLC
+ * Copyright 2023 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
-let m = class extends r {
-};
-m.styles = [D];
-m = e([
- v("md-list-item")
-], m);
-const F = u({
- react: g,
- tagName: "md-list",
- elementClass: d
-}), Y = (i) => {
- const { children: t, ...a } = i;
- return /* @__PURE__ */ h(F, { ...a, children: t });
-}, _ = u({
- react: g,
- tagName: "md-list-item",
- elementClass: m
-}), J = (i) => {
- const { children: t, ...a } = i, o = i.type || "text";
- return /* @__PURE__ */ h(_, { ...a, type: o, children: t });
+let p = class extends r {
};
+p.styles = [X, B];
+p = i([
+ L("md-slider")
+], p);
+const D = T({
+ react: $,
+ elementClass: p,
+ tagName: "md-slider"
+}), le = ({
+ className: l,
+ id: e,
+ style: a,
+ ...t
+}) => /* @__PURE__ */ N(
+ D,
+ {
+ className: l,
+ id: e,
+ style: a,
+ ...t
+ }
+);
export {
- Y as List,
- J as ListItem
+ le as Slider
};
diff --git a/dist/react-you-ui17.js b/dist/react-you-ui17.js
index 02c9863..e5bfeaf 100644
--- a/dist/react-you-ui17.js
+++ b/dist/react-you-ui17.js
@@ -1,65 +1,72 @@
-"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react/jsx-runtime"),b=require("react"),p=require("./create-component-D9KTUrcf.js"),r=require("./class-map-DV5418hw.js"),_=require("./delegate-4958lG3m.js"),f=require("./style-map-Bzw6qQ8K.js");/**
+"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("react/jsx-runtime"),c=require("react"),p=require("./create-component-D9KTUrcf.js"),t=require("./class-map-DV5418hw.js"),y=require("./query-assigned-elements-BYttmtWz.js"),d=require("./item-DvSwYnPq.js");require("./ripple-DoKzzEey.js");const v=require("./animation-A38fZ1oY.js"),a=require("./static-B9XIUGOk.js"),f=require("./delegate-4958lG3m.js");/**
* @license
- * Copyright 2023 Google LLC
+ * Copyright 2021 Google LLC
* SPDX-License-Identifier: Apache-2.0
- */const x=_.mixinDelegatesAria(r.r);class t extends x{constructor(){super(...arguments),this.value=0,this.max=1,this.indeterminate=!1,this.fourColor=!1}render(){const{ariaLabel:o}=this;return r.x`
-