UNPKG

@doku-dev/doku-fragment

Version:

A new Angular UI library that moving away from Bootstrap and built from scratch.

80 lines 9.18 kB
import { CommonModule } from '@angular/common'; import { ChangeDetectionStrategy, Component, HostBinding, HostListener, Inject, Input, Optional, ViewEncapsulation, } from '@angular/core'; import { DOKU_PILL_GROUP } from './pill-group.component'; import * as i0 from "@angular/core"; import * as i1 from "./pill-group.component"; export class DokuPillButton { /** * Whether the button is disabled. */ set disabled(value) { this._disabled = !!(value !== false); } get disabled() { return this._disabled; } /** * Whether the button is checked. */ get checked() { return this.pillGroup && this.value ? this.pillGroup.isChecked(this.value) : this._checked; } set checked(val) { this._checked = val; } get class() { return ['d-btn', 'd-pill-btn', `d-pill-btn-${this.size}`]; } constructor(pillGroup) { this.pillGroup = pillGroup; this._disabled = false; /** * Button size. Default to `medium`. */ this.size = 'medium'; this._checked = false; } /** * Checks the button toggle and sync the value if it is wrapped with `DokuPillGroup`. */ _onClick() { if (this.disabled) return; this._checked = !this._checked; if (this.pillGroup && this.value) { this.pillGroup.syncValue(this.value); } } } DokuPillButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DokuPillButton, deps: [{ token: DOKU_PILL_GROUP, optional: true }], target: i0.ɵɵFactoryTarget.Component }); DokuPillButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DokuPillButton, isStandalone: true, selector: "doku-pill-button", inputs: { value: "value", disabled: "disabled", size: "size", checked: "checked" }, host: { listeners: { "click": "_onClick()" }, properties: { "class.d-pill-btn-disabled": "this.disabled", "class.d-pill-btn-active": "this.checked", "class": "this.class" } }, exportAs: ["dokuPillButton"], ngImport: i0, template: "<ng-content select=\"[icon-left]\"></ng-content>\n\n<ng-content></ng-content>\n\n<ng-content select=\"[icon-right]\"></ng-content>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DokuPillButton, decorators: [{ type: Component, args: [{ selector: 'doku-pill-button', exportAs: 'dokuPillButton', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"[icon-left]\"></ng-content>\n\n<ng-content></ng-content>\n\n<ng-content select=\"[icon-right]\"></ng-content>\n" }] }], ctorParameters: function () { return [{ type: i1.DokuPillGroup, decorators: [{ type: Optional }, { type: Inject, args: [DOKU_PILL_GROUP] }] }]; }, propDecorators: { value: [{ type: Input }], disabled: [{ type: HostBinding, args: ['class.d-pill-btn-disabled'] }, { type: Input }], size: [{ type: Input }], checked: [{ type: HostBinding, args: ['class.d-pill-btn-active'] }, { type: Input }], class: [{ type: HostBinding, args: ['class'] }], _onClick: [{ type: HostListener, args: ['click'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlsbC1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZG9rdS1mcmFnbWVudC9zcmMvbGliL3BpbGwvcGlsbC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZG9rdS1mcmFnbWVudC9zcmMvbGliL3BpbGwvcGlsbC1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQWlCLE1BQU0sd0JBQXdCLENBQUM7OztBQVd4RSxNQUFNLE9BQU8sY0FBYztJQU16Qjs7T0FFRztJQUNILElBRUksUUFBUSxDQUFDLEtBQXVCO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQVFEOztPQUVHO0lBQ0gsSUFFSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUM3RixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsR0FBWTtRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztJQUN0QixDQUFDO0lBR0QsSUFDYyxLQUFLO1FBQ2pCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELFlBQXlELFNBQXlCO1FBQXpCLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBekIxRSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTFCOztXQUVHO1FBQ00sU0FBSSxHQUF1QixRQUFRLENBQUM7UUFhckMsYUFBUSxHQUFHLEtBQUssQ0FBQztJQU80RCxDQUFDO0lBRXRGOztPQUVHO0lBRU8sUUFBUTtRQUNoQixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUUxQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUUvQixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDOzsyR0F4RFUsY0FBYyxrQkEwQ08sZUFBZTsrRkExQ3BDLGNBQWMsOFdDdEIzQixzSUFLQSwyQ0RZWSxZQUFZOzJGQUtYLGNBQWM7a0JBVDFCLFNBQVM7K0JBQ0Usa0JBQWtCLFlBQ2xCLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxpQkFFUixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkE0Q2xDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZTs0Q0F0Q3RDLEtBQUs7c0JBQWIsS0FBSztnQkFPRixRQUFRO3NCQUZYLFdBQVc7dUJBQUMsMkJBQTJCOztzQkFDdkMsS0FBSztnQkFZRyxJQUFJO3NCQUFaLEtBQUs7Z0JBT0YsT0FBTztzQkFGVixXQUFXO3VCQUFDLHlCQUF5Qjs7c0JBQ3JDLEtBQUs7Z0JBVVEsS0FBSztzQkFEbEIsV0FBVzt1QkFBQyxPQUFPO2dCQVdWLFFBQVE7c0JBRGpCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9LVV9QSUxMX0dST1VQLCBEb2t1UGlsbEdyb3VwIH0gZnJvbSAnLi9waWxsLWdyb3VwLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rva3UtcGlsbC1idXR0b24nLFxuICBleHBvcnRBczogJ2Rva3VQaWxsQnV0dG9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9waWxsLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEb2t1UGlsbEJ1dHRvbiB7XG4gIC8qKlxuICAgKiBgRG9rdVBpbGxHcm91cGAgcmVhZHMgdGhpcyB0byBhc3NpZ24gaXRzIG93biB2YWx1ZS5cbiAgICovXG4gIEBJbnB1dCgpIHZhbHVlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBidXR0b24gaXMgZGlzYWJsZWQuXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmQtcGlsbC1idG4tZGlzYWJsZWQnKVxuICBASW5wdXQoKVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9ICEhKHZhbHVlICE9PSBmYWxzZSk7XG4gIH1cbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBCdXR0b24gc2l6ZS4gRGVmYXVsdCB0byBgbWVkaXVtYC5cbiAgICovXG4gIEBJbnB1dCgpIHNpemU6ICdzbWFsbCcgfCAnbWVkaXVtJyA9ICdtZWRpdW0nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBidXR0b24gaXMgY2hlY2tlZC5cbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZC1waWxsLWJ0bi1hY3RpdmUnKVxuICBASW5wdXQoKVxuICBnZXQgY2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5waWxsR3JvdXAgJiYgdGhpcy52YWx1ZSA/IHRoaXMucGlsbEdyb3VwLmlzQ2hlY2tlZCh0aGlzLnZhbHVlKSA6IHRoaXMuX2NoZWNrZWQ7XG4gIH1cbiAgc2V0IGNoZWNrZWQodmFsOiBib29sZWFuKSB7XG4gICAgdGhpcy5fY2hlY2tlZCA9IHZhbDtcbiAgfVxuICBwcml2YXRlIF9jaGVja2VkID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHByb3RlY3RlZCBnZXQgY2xhc3MoKTogTmdDbGFzc1snbmdDbGFzcyddIHtcbiAgICByZXR1cm4gWydkLWJ0bicsICdkLXBpbGwtYnRuJywgYGQtcGlsbC1idG4tJHt0aGlzLnNpemV9YF07XG4gIH1cblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KERPS1VfUElMTF9HUk9VUCkgcHJpdmF0ZSBwaWxsR3JvdXA/OiBEb2t1UGlsbEdyb3VwKSB7fVxuXG4gIC8qKlxuICAgKiBDaGVja3MgdGhlIGJ1dHRvbiB0b2dnbGUgYW5kIHN5bmMgdGhlIHZhbHVlIGlmIGl0IGlzIHdyYXBwZWQgd2l0aCBgRG9rdVBpbGxHcm91cGAuXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIHByb3RlY3RlZCBfb25DbGljaygpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fY2hlY2tlZCA9ICF0aGlzLl9jaGVja2VkO1xuXG4gICAgaWYgKHRoaXMucGlsbEdyb3VwICYmIHRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMucGlsbEdyb3VwLnN5bmNWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cIltpY29uLWxlZnRdXCI+PC9uZy1jb250ZW50PlxuXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbjxuZy1jb250ZW50IHNlbGVjdD1cIltpY29uLXJpZ2h0XVwiPjwvbmctY29udGVudD5cbiJdfQ==