@dracoui/ember
Version:
Draco Design System for Ember
3 lines (2 loc) • 3.57 kB
JavaScript
import{_ as e,a as t}from"../../../_rollupPluginBabelHelpers-CLoDr8uC.js";import{DracoToggleDirectionValues as o,DracoToggleColorValues as i,DracoToggleSizeValues as s}from"./types.js";import{assert as n}from"@ember/debug";import{action as r}from"@ember/object";import c from"@glimmer/component";import{tracked as a}from"@glimmer/tracking";import{precompileTemplate as l}from"@ember/template-compilation";import{setComponentTemplate as g}from"@ember/component";var d,h,p=l('<span class="draco-toggle-warper">\n <input\n class="draco-toggle__control"\n type="checkbox"\n checked={{this.toggleState}}\n disabled={{this.disabled}}\n {{on "click" this.handleToggle}}\n ...attributes\n role="switch"\n />\n\n {{#let\n (or (eq this.direction "text-first") (eq this.direction "toggle-last"))\n as |isTextFirst|\n }}\n {{#if isTextFirst}}\n {{#if this.text}}\n <span class="draco-toggle__text">\n {{this.text}}\n {{yield}}\n </span>\n {{/if}}\n {{/if}}\n\n <span class={{this.classNames}}>\n <div class={{concat "draco-toggle__thumb" (if this.checkedState " draco-toggle__checked")}}>\n {{#if this.icon}}\n <Draco::Icon @name={{this.icon}} @size={{this.iconSize}} />\n {{/if}}\n </div>\n </span>\n\n {{#unless isTextFirst}}\n {{#if this.text}}\n <span class="draco-toggle__text">\n {{this.text}}\n {{yield}}\n </span>\n {{/if}}\n {{/unless}}\n {{/let}}\n</span>\n');const m={[s.Small]:12,[s.Medium]:16,[s.Large]:20},u=!1,f=!1,b=s.Medium,k=i.Primary,v=o.ToggleFirst,x=Object.values(s),S=Object.values(i),y=Object.values(o);let T=(h=e((d=class extends c{constructor(e,o){super(e,o),t(this,"checkedState",h,this),this.checkedState=this.args.checked??u}handleToggle(){this.checkedState=!this.checkedState}get text(){return this.args.text??void 0}get checked(){const e=this.checkedState;return n(` for "Draco::Toggle" must be a valid 'boolean'; received: ${e}`,"boolean"==typeof e),e}get direction(){const{direction:e=v}=this.args;return n(` for "Draco::Toggle" must be one of the following: ${y.join(", ")}; received: ${e}`,y.includes(e)),e}get disabled(){const{disabled:e=f}=this.args;return n(` for "Draco::Toggle" must be a valid 'boolean'; received: ${e}`,"boolean"==typeof e),e}get color(){const{color:e=k}=this.args;return n(` for "Draco::Toggle" must be one of the following: ${S.join(", ")}; received: ${e}`,S.includes(e)),e}get size(){const{size:e=b}=this.args;return n(` for "Draco::Toggle" must be one of the following: ${x.join(", ")}; received: ${e}`,x.includes(e)),e}get icon(){const{icon:e}=this.args;if(Array.isArray(e)){const t=e.find((e=>this.checkedState?e.checked:e.unchecked));return t?this.checkedState?t.checked:t.unchecked:void 0}return e}get iconSize(){return this.args.iconSize??m[this.size]}get classNames(){const e=["draco-toggle"];return e.push(`draco-toggle--color-${this.color}`),e.push(`draco-toggle--size-${this.size}`),this.checkedState&&e.push("draco-toggle--checked"),e.join(" ")}}).prototype,"checkedState",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),e(d.prototype,"handleToggle",[r],Object.getOwnPropertyDescriptor(d.prototype,"handleToggle"),d.prototype),d);g(p,T);export{S as AVAILABLE_COLORS,y as AVAILABLE_DIRECTIONS,x as AVAILABLE_SIZES,u as DEFAULT_CHECKED,k as DEFAULT_COLOR,v as DEFAULT_DIRECTION,f as DEFAULT_DISABLED,m as DEFAULT_ICON_SIZES,b as DEFAULT_SIZE,T as default};
//# sourceMappingURL=index.js.map