UNPKG

@obliczeniowo/elementary

Version:
1 lines 8.44 kB
{"version":3,"file":"obliczeniowo-elementary-switcher.mjs","sources":["../../../../projects/components/switcher/components/switcher/switcher.component.ts","../../../../projects/components/switcher/components/switcher/switcher.component.html","../../../../projects/components/switcher/switcher.module.ts","../../../../projects/components/switcher/obliczeniowo-elementary-switcher.ts"],"sourcesContent":["import { Component, Input, Output, EventEmitter, TemplateRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n/**\r\n * Css variables:\r\n *\r\n * --obl-switcher-width\r\n * --obl-switcher-height\r\n *\r\n * --obl-switcher-border-color\r\n * --obl-switcher-color\r\n * --obl-switcher-spinner-color\r\n * --obl-switcher-disabled\r\n */\r\n@Component({\r\n selector: 'obl-switcher',\r\n templateUrl: './switcher.component.html',\r\n styleUrls: ['./switcher.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n multi: true,\r\n useExisting: SwitcherComponent\r\n },\r\n ],\r\n standalone: false\r\n})\r\nexport class SwitcherComponent implements ControlValueAccessor {\r\n /** */\r\n @Input() value: boolean = false;\r\n /** */\r\n @Input() on?: string;\r\n /** */\r\n @Input() off?: string;\r\n /** */\r\n @Input() onIcon?: string | TemplateRef<any>;\r\n /** */\r\n @Input() offIcon?: string | TemplateRef<any>;\r\n /** */\r\n @Input() disabled?: boolean;\r\n /** */\r\n @Input() loading?: boolean;\r\n\r\n /** */\r\n @Output() valueChanged = new EventEmitter<boolean>();\r\n\r\n toggle() {\r\n if (this.disabled || this.loading) {\r\n return;\r\n }\r\n this.value = !this.value;\r\n this.onChange(this.value);\r\n this.valueChanged.emit(this.value);\r\n }\r\n\r\n onChange = (value: boolean) => { };\r\n\r\n onTouched = () => { };\r\n\r\n writeValue(value: boolean | { value: boolean; loading?: boolean; on?: string; off?: string }): void {\r\n const { loading, on, off } = typeof value !== 'boolean' && value || {};\r\n this.value = (value as any)?.value || value;\r\n this.loading = loading || this.loading;\r\n this.on = on || this.on;\r\n this.off = off || this.off;\r\n }\r\n\r\n registerOnChange(onChange: any): void {\r\n this.onChange = onChange;\r\n }\r\n\r\n registerOnTouched(onTouched: any): void {\r\n this.onTouched = onTouched;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n protected isString(type: any): false | string {\r\n return typeof type === 'string' ? type as string : false;\r\n }\r\n\r\n protected template(type: any) {\r\n return type instanceof TemplateRef ? type : undefined;\r\n }\r\n}\r\n","<div\r\n class=\"frame\"\r\n [ngClass]=\"{\r\n disabled: disabled || loading,\r\n 'on-border': value && !disabled && !loading,\r\n 'off-border': !value && !disabled && !loading\r\n }\"\r\n (click)=\"toggle()\"\r\n>\r\n @if (value) {\r\n <div class=\"on-label fade\">\r\n {{ on }}\r\n </div>\r\n } @else {\r\n <div class=\"off-label fade\">\r\n {{ off }}\r\n </div>\r\n }\r\n <div class=\"dot\" [ngClass]=\"{ on: value, off: !value }\">\r\n <div>\r\n @if (loading) {\r\n <obl-spinner></obl-spinner>\r\n } @else {\r\n @if (value && onIcon) {\r\n <div class=\"fade\">\r\n @if (isString(onIcon)) {\r\n <obl-icon\r\n [name]=\"isString(onIcon) || ''\"\r\n >\r\n </obl-icon>\r\n } @else if (template(onIcon)) {\r\n <ng-container *ngTemplateOutlet=\"template(onIcon)!\"></ng-container>\r\n }\r\n </div>\r\n }\r\n \r\n @if (!value && offIcon) {\r\n <div class=\"fade\">\r\n @if (isString(offIcon)) {\r\n <obl-icon\r\n [name]=\"isString(offIcon) || ''\"\r\n >\r\n </obl-icon>\r\n } @else if (template(offIcon)) {\r\n <ng-container *ngTemplateOutlet=\"template(offIcon)!\"></ng-container>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SwitcherComponent } from './components/switcher/switcher.component';\r\nimport { LoadingModule } from '@obliczeniowo/elementary/loading';\r\nimport { IconsModule } from '@obliczeniowo/elementary/icons';\r\n\r\n@NgModule({\r\n declarations: [\r\n SwitcherComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n LoadingModule,\r\n IconsModule\r\n ],\r\n exports: [\r\n SwitcherComponent\r\n ]\r\n})\r\nexport class SwitcherModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}