@roadtrip/components 3.38.0 → 3.38.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/road-segmented-button.cjs.entry.js +2 -2
- package/dist/cjs/road-segmented-button.cjs.entry.js.map +1 -1
- package/dist/cjs/road-segmented-button.entry.cjs.js.map +1 -1
- package/dist/cjs/road-toggle.cjs.entry.js +3 -11
- package/dist/cjs/road-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/road-toggle.entry.cjs.js.map +1 -1
- package/dist/cjs/roadtrip.cjs.js +1 -1
- package/dist/collection/components/segmented-button/segmented-button.css +1 -1
- package/dist/collection/components/segmented-button/segmented-button.js +1 -1
- package/dist/collection/components/segmented-button/segmented-button.js.map +1 -1
- package/dist/collection/components/toggle/toggle.css +15 -1
- package/dist/collection/components/toggle/toggle.js +2 -50
- package/dist/collection/components/toggle/toggle.js.map +1 -1
- package/dist/collection/components/toggle/toggle.stories.js +0 -12
- package/dist/esm/loader.js +1 -1
- package/dist/esm/road-segmented-button.entry.js +2 -2
- package/dist/esm/road-segmented-button.entry.js.map +1 -1
- package/dist/esm/road-toggle.entry.js +3 -11
- package/dist/esm/road-toggle.entry.js.map +1 -1
- package/dist/esm/roadtrip.js +1 -1
- package/dist/html.html-data.json +0 -8
- package/dist/roadtrip/{p-5fac9508.entry.js → p-642aaeb9.entry.js} +2 -2
- package/dist/roadtrip/p-642aaeb9.entry.js.map +1 -0
- package/dist/roadtrip/p-e9e06591.entry.js +2 -0
- package/dist/roadtrip/p-e9e06591.entry.js.map +1 -0
- package/dist/roadtrip/road-segmented-button.entry.esm.js.map +1 -1
- package/dist/roadtrip/road-toggle.entry.esm.js.map +1 -1
- package/dist/roadtrip/roadtrip.esm.js +1 -1
- package/dist/types/components/toggle/toggle.d.ts +0 -8
- package/dist/types/components.d.ts +0 -20
- package/hydrate/index.js +103 -113
- package/hydrate/index.mjs +103 -113
- package/package.json +1 -1
- package/dist/roadtrip/p-5fac9508.entry.js.map +0 -1
- package/dist/roadtrip/p-905ed5dd.entry.js +0 -2
- package/dist/roadtrip/p-905ed5dd.entry.js.map +0 -1
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["segmentedButtonCss","SegmentedButton","constructor","hostRef","this","size","selected","onKeyUp","ev","key","selectTab","onClick","onButtonBarChanged","dispatchedFrom","target","parent","el","parentElement","composedPath","includes","contains","tab","detail","undefined","roadsegmentedbuttonclick","emit","roadSegmentedButtonClick","preventDefault","tabIndex","hasTabIndex","hasAttribute","getAttribute","render","sizeClass","h","Host","onKeyup","role","tabindex","id","class","part"],"sources":["src/components/segmented-button/segmented-button.css?tag=road-segmented-button&encapsulation=shadow","src/components/segmented-button/segmented-button.tsx"],"sourcesContent":["/*\n * Tab button\n */\n\n\n/* BUTTON\n -------------------- */\n\n\n:host {\n --border-radius: 0.25rem;\n --font-size: var(--road-button-medium);\n --margin-bottom: 1rem;\n --padding-start: 1.5rem;\n --padding-end: 1.5rem;\n box-sizing: border-box;\n flex: 1;\n align-items: center;\n justify-content: center;\n max-height: 2.75rem;\n font-size: var(--road-button-medium);\n font-weight: 700;\n color: var(--road-on-surface-weak);\n text-decoration: none;\n white-space: nowrap;\n vertical-align: middle;\n background-color: var(--road-surface);\n border-radius: 8px;\n transition: background 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n margin-right: var(--road-spacing-02);\n overflow: hidden;\n}\n\n:host(:last-child){\n margin-right: 0;\n}\n\n/**\n * Small\n */\n\n:host(.btn-sm) {\n height: 2.5rem;\n}\n\n/**\n * medium\n */\n\n :host(.btn-md) {\n height: 2.75rem;\n}\n\n/**\n * Active state\n */\n\n :host(.tab-selected) {\n color: var(--road-button-primary);\n fill: var(--road-button-primary);\n background-color: var(--road-button-tertiary-variant);\n}\n\n:host(.tab-selected:hover) {\n color: var(--road-button-primary);\n background-color: var(--road-button-tertiary-variant);\n}\n\n\n/**\n * Hover state\n */\n\n:host(:hover) {\n color: var(--road-on-surface);\n background-color: var(--road-surface-inverse);\n}\n\n/**\n * Focus state\n */\n\n\n:host(.focus-visible) {\n outline: auto;\n}\n\n\n/* NATIVE\n -------------------- */\n\n.button-native {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: inherit;\n align-items: inherit;\n justify-content: inherit;\n width: 100%;\n height: 100%;\n padding: 0.75rem var(--padding-end, 1.5rem) 0.75rem var(--padding-start, 1.5rem);\n margin: 0;\n overflow: hidden;\n font-family: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n color: inherit;\n text-align: inherit;\n text-decoration: none;\n text-indent: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n letter-spacing: inherit;\n white-space: inherit;\n cursor: pointer;\n background: transparent;\n -webkit-user-drag: none;\n border-color: initial;\n border-style: initial;\n border-width: 0;\n border-radius: inherit;\n border-image: initial;\n outline: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n:host ::slotted(road-icon) {\n margin: -0.2rem var(--road-spacing-03) -0.2rem 0;\n float: left;\n}\n\n\n.text-content {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n}\n\n","import { Component, Element, Event, EventEmitter, Host, Listen, Prop, h } from '@stencil/core';\n\n/**\n *\n * @part native - The native HTML anchor element that wraps all child elements.\n */\n\n@Component({\n tag: 'road-segmented-button',\n styleUrl: 'segmented-button.css',\n shadow: true,\n})\nexport class SegmentedButton {\n\n @Element() el!: HTMLRoadSegmentedButtonElement;\n\n /**\n * The Segmented buttons size.\n */\n @Prop() size?: 'sm' | 'md' = 'md';\n\n /**\n * The selected tab component\n */\n @Prop({ mutable: true }) selected = false;\n\n /**\n * A tab id must be provided for each `road-tab`. It's used internally to reference\n */\n @Prop() tab?: string;\n\n /**\n * Emitted when the tab bar is clicked\n * @internal\n */\n @Event() roadsegmentedbuttonclick!: EventEmitter;\n /** @internal */\n @Event() roadSegmentedButtonClick!: EventEmitter;\n\n @Listen('roadSegmentedButtonBarChanged', { target: 'window' })\n @Listen('roadSegmentedButtonbarchanged', { target: 'window' })\n onButtonBarChanged(ev: CustomEvent) {\n const dispatchedFrom = ev.target as HTMLElement;\n const parent = this.el.parentElement as EventTarget;\n\n if ((ev.composedPath && ev.composedPath().includes(parent)) || (dispatchedFrom && dispatchedFrom.contains(this.el))) {\n this.selected = this.tab === ev.detail.tab;\n }\n }\n\n private selectTab(ev: Event | KeyboardEvent) {\n if (this.tab !== undefined) {\n this.roadsegmentedbuttonclick.emit({\n tab: this.tab,\n selected: this.selected,\n });\n this.roadSegmentedButtonClick.emit({\n tab: this.tab,\n selected: this.selected,\n });\n\n ev.preventDefault();\n }\n }\n\n private get tabIndex() {\n const hasTabIndex = this.el.hasAttribute('tabindex');\n\n if (hasTabIndex) {\n return this.el.getAttribute('tabindex');\n }\n\n return 0;\n }\n\n private onKeyUp = (ev: KeyboardEvent) => {\n if (ev.key === 'Enter' || ev.key === ' ') {\n this.selectTab(ev);\n }\n };\n\n private onClick = (ev: Event) => {\n this.selectTab(ev);\n };\n\n render() {\n const { tabIndex, selected, tab } = this;\n\n const sizeClass = this.size !== undefined ? `btn-${this.size}` : '';\n\n\n return (\n <Host\n onClick={this.onClick}\n onKeyup={this.onKeyUp}\n role=\"tab\"\n tabindex={tabIndex}\n aria-selected={selected ? 'true' : null}\n id={tab !== undefined ? `tab-button-${tab}` : null}\n class={{\n 'tab-selected': selected,\n [`${sizeClass}`]: true,\n }}\n >\n <span tabIndex={-1} class=\"button-native\" part=\"native\" aria-hidden=\"true\">\n <span class=\"text-content\">\n <slot/>\n </span>\n </span>\n </Host>\n );\n }\n}"],"mappings":"gEAAA,MAAMA,EAAqB,25D,MCYdC,EAAe,MAL5B,WAAAC,CAAAC,G,gJAYWC,KAAIC,KAAiB,KAKLD,KAAQE,SAAG,MAmD5BF,KAAAG,QAAWC,IACjB,GAAIA,EAAGC,MAAQ,SAAWD,EAAGC,MAAQ,IAAK,CACxCL,KAAKM,UAAUF,E,GAIXJ,KAAAO,QAAWH,IACjBJ,KAAKM,UAAUF,EAAG,CA8BrB,CAvEC,kBAAAI,CAAmBJ,GACjB,MAAMK,EAAiBL,EAAGM,OAC1B,MAAMC,EAASX,KAAKY,GAAGC,cAEvB,GAAKT,EAAGU,cAAgBV,EAAGU,eAAeC,SAASJ,IAAaF,GAAkBA,EAAeO,SAAShB,KAAKY,IAAM,CACnHZ,KAAKE,SAAWF,KAAKiB,MAAQb,EAAGc,OAAOD,G,EAInC,SAAAX,CAAUF,GAChB,GAAIJ,KAAKiB,MAAQE,UAAW,CAC1BnB,KAAKoB,yBAAyBC,KAAK,CACjCJ,IAAKjB,KAAKiB,IACVf,SAAUF,KAAKE,WAEjBF,KAAKsB,yBAAyBD,KAAK,CACjCJ,IAAKjB,KAAKiB,IACVf,SAAUF,KAAKE,WAGjBE,EAAGmB,gB,EAIP,YAAYC,GACV,MAAMC,EAAczB,KAAKY,GAAGc,aAAa,YAEzC,GAAID,EAAa,CACf,OAAOzB,KAAKY,GAAGe,aAAa,W,CAG9B,OAAO,C,CAaT,MAAAC,GACE,MAAMJ,SAAEA,EAAQtB,SAAEA,EAAQe,IAAEA,GAAQjB,KAEpC,MAAM6B,EAAY7B,KAAKC,OAASkB,UAAY,OAAOnB,KAAKC,OAAS,GAGjE,OACE6B,EAACC,EAAI,CAAA1B,IAAA,2CACHE,QAASP,KAAKO,QACdyB,QAAShC,KAAKG,QACd8B,KAAK,MACLC,SAAUV,EACK,gBAAAtB,EAAW,OAAS,KACnCiC,GAAIlB,IAAQE,UAAY,cAAcF,IAAQ,KAC9CmB,MAAO,CACL,eAAgBlC,EAChB,CAAC,GAAG2B,KAAc,OAGpBC,EAAA,QAAAzB,IAAA,2CAAMmB,UAAU,EAAIY,MAAM,gBAAgBC,KAAK,SAAQ,cAAa,QAClEP,EAAM,QAAAzB,IAAA,2CAAA+B,MAAM,gBACVN,EAAA,QAAAzB,IAAA,+C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,c as o,h as t,H as r}from"./p-DRGoRjBY.js";import"./p-VfVbfSwY.js";const s='.sc-road-toggle-h{--toggle-lever-width:4.5rem;position:relative;display:block;margin-bottom:1rem;font-family:var(--road-font, sans-serif);font-size:var(--road-label-medium);color:var(--road-on-surface)}.form-toggle-input.sc-road-toggle{position:absolute;z-index:-1;opacity:0}.form-toggle-label.sc-road-toggle{display:inline-flex;align-items:center;cursor:pointer;-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}.form-toggle-label.disabled.sc-road-toggle{cursor:not-allowed}.form-toggle-lever.sc-road-toggle{position:relative;box-sizing:border-box;display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;width:var(--toggle-lever-width);height:2rem;padding:0.5rem 0.625rem;margin-right:0.75rem;font-size:0.625rem;font-weight:700;line-height:1.6;content:"";background:var(--road-on-surface-extra-weak);border:0.125rem solid transparent;border-radius:1.125rem;transition:background 0.2s ease-in-out}.form-toggle-lever.sc-road-toggle::before{font-size:0.625rem;font-weight:700;color:var(--road-surface);text-transform:uppercase;content:attr(data-off)}.form-toggle-lever.sc-road-toggle::after{position:absolute;top:0.0625rem;left:0.0625rem;display:block;width:1.625rem;height:1.625rem;content:"";background:var(--road-on-success-surface-inverse);border-radius:50%;box-shadow:var(--road-elevation-low);transition:transform 0.2s ease-in-out}.form-toggle-input.sc-road-toggle:checked~.form-toggle-label.sc-road-toggle .form-toggle-lever.sc-road-toggle{justify-content:flex-start;background:var(--road-success-surface-inverse)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-label.sc-road-toggle .form-toggle-lever.sc-road-toggle::before{color:var(--road-surface);content:attr(data-on)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-label.sc-road-toggle .form-toggle-lever.sc-road-toggle::after{transform:translateX(calc(var(--toggle-lever-width) - 2rem))}.form-toggle-input.focus-visible.sc-road-toggle~.form-toggle-label.sc-road-toggle .form-toggle-lever.sc-road-toggle{box-shadow:0 0 0 0.125rem var(--road-grey-100-new), 0 0 0 0.1875rem var(--road-primary)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-secondary.sc-road-toggle .form-toggle-lever.sc-road-toggle{background:var(--road-secondary)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-secondary.sc-road-toggle .form-toggle-lever.sc-road-toggle::before{color:var(--road-surface)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-success.sc-road-toggle .form-toggle-lever.sc-road-toggle{background:var(--road-success-surface-inverse)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-success.sc-road-toggle .form-toggle-lever.sc-road-toggle::before{color:var(--road-surface)}.form-toggle-right.sc-road-toggle{margin-right:0;margin-left:0.75rem}.form-toggle-spaced.sc-road-toggle{display:flex;justify-content:space-between}';const a=class{constructor(t){e(this,t);this.roadchange=o(this,"roadchange",7);this.roadChange=o(this,"roadChange",7);this.roadfocus=o(this,"roadfocus",7);this.roadFocus=o(this,"roadFocus",7);this.roadblur=o(this,"roadblur",7);this.roadBlur=o(this,"roadBlur",7);this.toggleId=`road-toggle-${g++}`;this.name=this.toggleId;this.checked=false;this.disabled=false;this.label=`${this.toggleId}-label`;this.hasLeftLabel=false;this.isSpaced=false;this.value="on";this.on="yes";this.off="no";this.onClick=()=>{this.checked=!this.checked};this.onFocus=()=>{this.roadfocus.emit();this.roadFocus.emit()};this.onBlur=()=>{this.roadBlur.emit();this.roadblur.emit()}}checkedChanged(e){this.roadchange.emit({checked:e,value:this.value});this.roadChange.emit({checked:e,value:this.value})}render(){const e=this.toggleId+"-label";const o=t("label",{key:"04e2ecdd74318b173c60411293ec8300c0e7d80c",class:"form-toggle-label",id:e,htmlFor:this.toggleId},this.label);const s=this.isSpaced&&"form-toggle-spaced";const a=this.hasLeftLabel?"form-toggle-right":"";const g=this.disabled?"disabled":"";return t(r,{key:"5afde6ab7825eb0473b34f8ae2656c9fec8002d7"},t("input",{key:"7350937218c795dc74192e9b6cdd191ff6bf232c",class:"form-toggle-input",type:"checkbox",id:this.toggleId,name:this.name,checked:this.checked,disabled:this.disabled,value:this.value,"aria-checked":`${this.checked}`,"aria-disabled":this.disabled?"true":null,"aria-labelledby":e,onClick:this.onClick,onFocus:this.onFocus,onBlur:this.onBlur}),t("label",{key:"87a03339e8520b2c248f4d762d394411bd233423",class:`form-toggle-label ${s} ${g}`,htmlFor:this.toggleId},this.hasLeftLabel&&o,t("div",{key:"3d5c0e81cda827653f545c0fd3b057f83dd793d0",class:`form-toggle-lever ${a}`,"data-off":this.off,"data-on":this.on}),this.hasLeftLabel?"":o))}static get watchers(){return{checked:["checkedChanged"]}}};let g=0;a.style=s;export{a as road_toggle};
|
|
2
|
-
//# sourceMappingURL=p-905ed5dd.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["toggleCss","toggle","constructor","hostRef","this","toggleId","toggleIds","name","checked","disabled","label","hasLeftLabel","isSpaced","value","on","off","onClick","onFocus","roadfocus","emit","roadFocus","onBlur","roadBlur","roadblur","checkedChanged","isChecked","roadchange","roadChange","render","labelId","textLabel","h","key","class","id","htmlFor","isSpacedClass","righttoggleClass","disabledClass","Host","type"],"sources":["src/components/toggle/toggle.css?tag=road-toggle&encapsulation=scoped","src/components/toggle/toggle.tsx"],"sourcesContent":["/*\n * Toggle\n *\n * For accessibility, we provide a style for focus only on Tab,\n * for that add the javascript polyfill for focus-visible\n * (https://github.com/WICG/focus-visible).\n *\n * Index\n * - Toggle\n * - Label\n * - Lever\n * - Feedback\n * - Position\n */\n\n/**\n * @prop --toggle-lever-width: width of the lever\n */\n\n/* toggle\n -------------------- */\n\n:host {\n --toggle-lever-width: 4.5rem;\n\n position: relative;\n display: block;\n margin-bottom: 1rem;\n font-family: var(--road-font, sans-serif);\n font-size: var(--road-label-medium);\n color: var(--road-on-surface);\n}\n\n/**\n * Hide input\n */\n\n.form-toggle-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n/* LABEL\n -------------------- */\n\n.form-toggle-label {\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n.form-toggle-label.disabled{\n cursor: not-allowed;\n}\n\n/* LEVER\n -------------------- */\n\n.form-toggle-lever {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: flex-end;\n width: var(--toggle-lever-width);\n height: 2rem;\n padding: 0.5rem 0.625rem;\n margin-right: 0.75rem;\n font-size: 0.625rem;\n font-weight: 700;\n line-height: 1.6;\n content: \"\";\n background: var(--road-on-surface-extra-weak);\n border: 0.125rem solid transparent;\n border-radius: 1.125rem;\n transition: background 0.2s ease-in-out;\n}\n\n/**\n * Text in the toggle widget\n */\n\n.form-toggle-lever::before {\n font-size: 0.625rem;\n font-weight: 700;\n color: var(--road-surface);\n text-transform: uppercase;\n content: attr(data-off);\n}\n\n/**\n * Round lever in the widget\n */\n\n.form-toggle-lever::after {\n position: absolute;\n top: 0.0625rem;\n left: 0.0625rem;\n display: block;\n width: 1.625rem;\n height: 1.625rem;\n content: \"\";\n background: var(--road-on-success-surface-inverse);\n border-radius: 50%;\n box-shadow: var(--road-elevation-low);\n transition: transform 0.2s ease-in-out;\n}\n\n/**\n * Checked state\n */\n\n.form-toggle-input:checked ~ .form-toggle-label .form-toggle-lever {\n justify-content: flex-start;\n background: var(--road-success-surface-inverse);\n}\n\n.form-toggle-input:checked ~ .form-toggle-label .form-toggle-lever::before {\n color: var(--road-surface);\n content: attr(data-on);\n}\n\n.form-toggle-input:checked ~ .form-toggle-label .form-toggle-lever::after {\n transform: translateX(calc(var(--toggle-lever-width) - 2rem));\n}\n\n/**\n * Focus on Tab\n */\n\n.form-toggle-input.focus-visible ~ .form-toggle-label .form-toggle-lever {\n box-shadow: 0 0 0 0.125rem var(--road-grey-100-new), 0 0 0 0.1875rem var(--road-primary);\n}\n\n/* FEEDBACK\n -------------------- */\n\n/**\n * Secondary\n */\n\n.form-toggle-input:checked ~ .form-toggle-secondary .form-toggle-lever {\n background: var(--road-secondary);\n}\n\n.form-toggle-input:checked ~ .form-toggle-secondary .form-toggle-lever::before {\n color: var(--road-surface);\n}\n\n/**\n * Success\n */\n\n.form-toggle-input:checked ~ .form-toggle-success .form-toggle-lever {\n background: var(--road-success-surface-inverse);\n}\n\n.form-toggle-input:checked ~ .form-toggle-success .form-toggle-lever::before {\n color: var(--road-surface);\n}\n\n\n/* POSITION\n -------------------- */\n\n.form-toggle-right {\n margin-right: 0;\n margin-left: 0.75rem;\n}\n\n.form-toggle-spaced {\n display: flex;\n justify-content: space-between;\n}\n","import { Component, Event, EventEmitter, Host, Prop, Watch, h } from '@stencil/core';\nimport '../../utils/polyfill';\n\n@Component({\n tag: 'road-toggle',\n styleUrl: 'toggle.css',\n scoped: true,\n})\nexport class toggle {\n\n /**\n * The id of toggle\n */\n @Prop() toggleId: string = `road-toggle-${toggleIds++}`;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.toggleId;\n\n /**\n * If `true`, the toggle is checked.\n */\n @Prop({ mutable: true }) checked = false;\n\n /**\n * If `true`, the user cannot interact with the toggle.\n */\n @Prop() disabled = false;\n\n /**\n * Label for the field\n */\n @Prop() label: string = `${this.toggleId}-label`;\n\n /**\n * If `true`, the label is at left of the toggle\n */\n @Prop() hasLeftLabel: boolean = false;\n\n /**\n * Add space between label and toggle element\n */\n @Prop() isSpaced: boolean = false;\n\n /**\n * Value the form will get\n */\n @Prop() value: string = 'on';\n\n /**\n * Text display for \"`on`\" state in the toggle lever\n */\n @Prop() on: string = \"yes\";\n\n /**\n * Text display for \"`off`\" state in the toggle lever\n */\n @Prop() off: string = \"no\";\n\n /**\n * Emitted when the checked property has changed.\n */\n @Event() roadchange!: EventEmitter<{\n checked: boolean;\n value: string | undefined | null\n }>;\n /** @internal */\n @Event() roadChange!: EventEmitter<{\n checked: boolean;\n value: string | undefined | null\n }>;\n\n /**\n * Emitted when the toggle has focus.\n */\n @Event() roadfocus!: EventEmitter<void>;\n /** @internal */\n @Event() roadFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the toggle loses focus.\n */\n @Event() roadblur!: EventEmitter<void>;\n /** @internal */\n @Event() roadBlur!: EventEmitter<void>;\n\n @Watch('checked')\n checkedChanged(isChecked: boolean) {\n this.roadchange.emit({\n checked: isChecked,\n value: this.value,\n });\n this.roadChange.emit({\n checked: isChecked,\n value: this.value,\n });\n }\n\n private onClick = () => {\n this.checked = !this.checked;\n };\n\n private onFocus = () => {\n this.roadfocus.emit();\n this.roadFocus.emit();\n };\n\n private onBlur = () => {\n this.roadBlur.emit();\n this.roadblur.emit();\n };\n\n render() {\n const labelId = this.toggleId + '-label';\n const textLabel = <label class=\"form-toggle-label\" id={labelId} htmlFor={this.toggleId}>{this.label}</label>;\n const isSpacedClass = this.isSpaced && 'form-toggle-spaced';\n const righttoggleClass = this.hasLeftLabel ? 'form-toggle-right' : '';\n const disabledClass = this.disabled ? 'disabled' : '';\n\n return (\n <Host>\n <input\n class=\"form-toggle-input\"\n type=\"checkbox\"\n id={this.toggleId}\n name={this.name}\n checked={this.checked}\n disabled={this.disabled}\n value={this.value}\n aria-checked={`${this.checked}`}\n aria-disabled={this.disabled ? 'true' : null}\n aria-labelledby={labelId}\n onClick={this.onClick}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n />\n <label class={`form-toggle-label ${isSpacedClass} ${disabledClass}`} htmlFor={this.toggleId}>\n {this.hasLeftLabel && textLabel}\n <div class={`form-toggle-lever ${righttoggleClass}`} data-off={this.off} data-on={this.on}></div>\n {this.hasLeftLabel ? '' : textLabel}\n </label>\n </Host>\n );\n }\n}\n\nlet toggleIds = 0;\n"],"mappings":"iFAAA,MAAMA,EAAY,2wF,MCQLC,EAAM,MALnB,WAAAC,CAAAC,G,wOAUUC,KAAAC,SAAmB,eAAeC,MAKlCF,KAAAG,KAAeH,KAAKC,SAKHD,KAAOI,QAAG,MAK3BJ,KAAQK,SAAG,MAKXL,KAAAM,MAAgB,GAAGN,KAAKC,iBAKxBD,KAAYO,aAAY,MAKxBP,KAAQQ,SAAY,MAKpBR,KAAKS,MAAW,KAKhBT,KAAEU,GAAW,MAKbV,KAAGW,IAAW,KAyCdX,KAAOY,QAAG,KAChBZ,KAAKI,SAAWJ,KAAKI,OAAO,EAGtBJ,KAAOa,QAAG,KAChBb,KAAKc,UAAUC,OACff,KAAKgB,UAAUD,MAAM,EAGff,KAAMiB,OAAG,KACfjB,KAAKkB,SAASH,OACdf,KAAKmB,SAASJ,MAAM,CAmCvB,CAzDC,cAAAK,CAAeC,GACbrB,KAAKsB,WAAWP,KAAK,CACnBX,QAASiB,EACTZ,MAAOT,KAAKS,QAEdT,KAAKuB,WAAWR,KAAK,CACnBX,QAASiB,EACTZ,MAAOT,KAAKS,O,CAkBhB,MAAAe,GACE,MAAMC,EAAUzB,KAAKC,SAAW,SAChC,MAAMyB,EAAYC,EAAO,SAAAC,IAAA,2CAAAC,MAAM,oBAAoBC,GAAIL,EAASM,QAAS/B,KAAKC,UAAWD,KAAKM,OAC9F,MAAM0B,EAAgBhC,KAAKQ,UAAY,qBACvC,MAAMyB,EAAmBjC,KAAKO,aAAe,oBAAsB,GACnE,MAAM2B,EAAgBlC,KAAKK,SAAW,WAAa,GAEnD,OACEsB,EAACQ,EAAI,CAAAP,IAAA,4CACHD,EAAA,SAAAC,IAAA,2CACEC,MAAM,oBACNO,KAAK,WACLN,GAAI9B,KAAKC,SACTE,KAAMH,KAAKG,KACXC,QAASJ,KAAKI,QACdC,SAAUL,KAAKK,SACfI,MAAOT,KAAKS,MACE,kBAAGT,KAAKI,UAAS,gBAChBJ,KAAKK,SAAW,OAAS,KACvB,kBAAAoB,EACjBb,QAASZ,KAAKY,QACdC,QAASb,KAAKa,QACdI,OAAQjB,KAAKiB,SAEfU,EAAA,SAAAC,IAAA,2CAAOC,MAAO,qBAAqBG,KAAiBE,IAAiBH,QAAS/B,KAAKC,UAChFD,KAAKO,cAAgBmB,EACtBC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,qBAAqBI,IAAkB,WAAYjC,KAAKW,IAAG,UAAWX,KAAKU,KACtFV,KAAKO,aAAe,GAAKmB,G,4DAOpC,IAAIxB,EAAY,E","ignoreList":[]}
|