{"version":3,"file":"ngx-toggler.mjs","sources":["../../../projects/ngx-toggler/src/lib/ngx-toggler.ts","../../../projects/ngx-toggler/src/lib/ngx-toggler.html","../../../projects/ngx-toggler/src/public-api.ts","../../../projects/ngx-toggler/src/ngx-toggler.ts"],"sourcesContent":["import { Component, ElementRef, inject, input, OnChanges, OnInit, output } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'ngx-toggler',\r\n  imports: [],\r\n  templateUrl: './ngx-toggler.html',\r\n  styleUrl: './ngx-toggler.scss'\r\n})\r\nexport class NgxToggler implements OnInit, OnChanges {\r\n\r\n  private el = inject(ElementRef);\r\n\r\n  /** ISACTIVE FEATURES */\r\n\r\n  isActive = input<boolean>(false);\r\n  setIsActive = output<any>();\r\n\r\n  toggle() {\r\n    this.setIsActive.emit(!this.isActive());\r\n  };\r\n\r\n  /** STYLES */\r\n  rounded = input<boolean>(true);\r\n  mainColor = input<string>('white');\r\n  colorOn = input<string>('#0ACD47');\r\n  colorOff = input<string>('red');\r\n  gradient = input<boolean>(false);\r\n  togglerBorder = input<'border' | 'outline' | 'none' >('none');\r\n  innerIndicator = input<'text' | 'icon' | 'none'>('none');\r\n  \r\n  /** ACCESIBILITY */\r\n\r\n  tabIndex = input<number>(0);\r\n  ariaLabelActive = input<string>('Switch');\r\n  ariaLabelInactive = input<string>('Switch');\r\n\r\n  /** LIFE CYCLE */\r\n\r\n  ngOnInit(): void {\r\n    this.setColors();\r\n  }\r\n\r\n  ngOnChanges() {\r\n    this.setColors();\r\n  }\r\n\r\n  /** METHODS */\r\n\r\n  private setColors(){\r\n    const host = this.el.nativeElement as HTMLElement;\r\n    host.style.setProperty('--main-color', this.mainColor());\r\n    host.style.setProperty('--color-on', this.colorOn());\r\n    host.style.setProperty('--color-off', this.colorOff());\r\n  };\r\n\r\n\r\n\r\n}\r\n","<button\r\n    type=\"button\"\r\n    role=\"switch\"\r\n    (click)=\"toggle()\"\r\n    class=\"ngxToggler__button\"\r\n    [class.rounded]=\"rounded()\"\r\n    [class.border]=\"togglerBorder() === 'border'\"\r\n    [class.outline]=\"togglerBorder() === 'outline'\"\r\n    [tabIndex]=\"tabIndex()\"\r\n    [aria-label]=\"isActive() ? ariaLabelActive() : ariaLabelInactive()\"\r\n    [aria-pressed]=\"isActive()\"\r\n>\r\n    <span \r\n        class=\"ngxToggler__circle\"\r\n        [class.isActive]=\"isActive()\"\r\n        [class.rounded]=\"rounded()\"\r\n    ></span>\r\n\r\n    <div \r\n        class=\"ngxToggler__onBg\"\r\n        [class.isActive]=\"isActive()\"\r\n        [class.gradient]=\"gradient()\"\r\n    ></div>\r\n\r\n    <div \r\n        class=\"ngxToggler__offBg\" \r\n        [class.isActive]=\"isActive()\"\r\n        [class.gradient]=\"gradient()\"\r\n    ></div>\r\n\r\n    @if (innerIndicator() === 'text') {\r\n        <span class=\"ngxToggler__onText\">\r\n            ON\r\n        </span>\r\n    }\r\n    @if (innerIndicator() === 'icon') {\r\n        <span class=\"ngxToggler__onText ngxToggler__onText--icon\">\r\n            ✓\r\n        </span>\r\n    }\r\n\r\n    @if (innerIndicator() === 'text') {\r\n        <span class=\"ngxToggler__offText\">OFF</span>\r\n    }\r\n\r\n    @if (innerIndicator() === 'icon') {\r\n        <span class=\"ngxToggler__offText ngxToggler__offText--icon\">✕</span>\r\n    }\r\n</button>","/*\r\n * Public API Surface of ngx-toggler\r\n */\r\n\r\nexport * from './lib/ngx-toggler';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAQa,UAAU,CAAA;AAEb,IAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;;AAI/B,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,oDAAC;IAChC,WAAW,GAAG,MAAM,EAAO;IAE3B,MAAM,GAAA;QACJ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzC;;;AAGA,IAAA,OAAO,GAAG,KAAK,CAAU,IAAI,mDAAC;AAC9B,IAAA,SAAS,GAAG,KAAK,CAAS,OAAO,qDAAC;AAClC,IAAA,OAAO,GAAG,KAAK,CAAS,SAAS,mDAAC;AAClC,IAAA,QAAQ,GAAG,KAAK,CAAS,KAAK,oDAAC;AAC/B,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,oDAAC;AAChC,IAAA,aAAa,GAAG,KAAK,CAAiC,MAAM,yDAAC;AAC7D,IAAA,cAAc,GAAG,KAAK,CAA2B,MAAM,0DAAC;;AAIxD,IAAA,QAAQ,GAAG,KAAK,CAAS,CAAC,oDAAC;AAC3B,IAAA,eAAe,GAAG,KAAK,CAAS,QAAQ,2DAAC;AACzC,IAAA,iBAAiB,GAAG,KAAK,CAAS,QAAQ,6DAAC;;IAI3C,QAAQ,GAAA;QACN,IAAI,CAAC,SAAS,EAAE;IAClB;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,SAAS,EAAE;IAClB;;IAIQ,SAAS,GAAA;AACf,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,aAA4B;AACjD,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;AACxD,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;AACpD,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACxD;;uGA7CW,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAU,0mDCRvB,u7CAgDS,EAAA,MAAA,EAAA,CAAA,4hGAAA,CAAA,EAAA,CAAA;;2FDxCI,UAAU,EAAA,UAAA,EAAA,CAAA;kBANtB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,WACd,EAAE,EAAA,QAAA,EAAA,u7CAAA,EAAA,MAAA,EAAA,CAAA,4hGAAA,CAAA,EAAA;;;AEJb;;AAEG;;ACFH;;AAEG;;;;"}