UNPKG

@doku-dev/doku-fragment

Version:

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

56 lines 6.02 kB
import { Directive, HostBinding, Input } from '@angular/core'; import * as i0 from "@angular/core"; export class DokuFieldSuffix { constructor() { /** * The appearance of the suffix content. * - `inline`, use field padding - ideal for icon. * - `border-block`, has own padding and border as a separator - ideal for text like "IDR". * - `block`, the looks will be based on the provided content - ideal for component like Button. * - `border-block-inside`, looks like border block but no padding * and inside the wrapper border - ideal for select component. */ this.appearance = 'inline'; /** * Whether to use background color. Support is limited by appearance. * * Supported appearances: * - `border-block` * - `border-block-inside` */ this.useBackgroundColor = false; this.classSuffix = true; } get classAppearance() { return [`d-field-suffix-${this.appearance}`, this.getBackgroundClass()]; } getBackgroundClass() { if (!this.useBackgroundColor) return null; if (this.appearance === 'border-block' || this.appearance === 'border-block-inside') { return 'd-field-suffix-use-background'; } return null; } } DokuFieldSuffix.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DokuFieldSuffix, deps: [], target: i0.ɵɵFactoryTarget.Directive }); DokuFieldSuffix.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: DokuFieldSuffix, isStandalone: true, selector: "[doku-field-suffix]", inputs: { appearance: "appearance", useBackgroundColor: "useBackgroundColor" }, host: { properties: { "class.d-field-suffix": "this.classSuffix", "class": "this.classAppearance" } }, exportAs: ["dokuFieldSuffix"], ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DokuFieldSuffix, decorators: [{ type: Directive, args: [{ selector: '[doku-field-suffix]', exportAs: 'dokuFieldSuffix', standalone: true, }] }], propDecorators: { appearance: [{ type: Input }], useBackgroundColor: [{ type: Input }], classSuffix: [{ type: HostBinding, args: ['class.d-field-suffix'] }], classAppearance: [{ type: HostBinding, args: ['class'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtc3VmZml4LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rva3UtZnJhZ21lbnQvc3JjL2xpYi9mb3JtLWZpZWxkL2RpcmVjdGl2ZXMvZmllbGQtc3VmZml4LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzlELE1BQU0sT0FBTyxlQUFlO0lBTDVCO1FBTUU7Ozs7Ozs7V0FPRztRQUNNLGVBQVUsR0FBZ0UsUUFBUSxDQUFDO1FBRTVGOzs7Ozs7V0FNRztRQUNNLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUdqQixnQkFBVyxHQUFHLElBQUksQ0FBQztLQWN2QztJQVpDLElBQ2MsZUFBZTtRQUMzQixPQUFPLENBQUMsa0JBQWtCLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0I7WUFBRSxPQUFPLElBQUksQ0FBQztRQUMxQyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssY0FBYyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUsscUJBQXFCLEVBQUU7WUFDbkYsT0FBTywrQkFBK0IsQ0FBQztTQUN4QztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7NEdBbENVLGVBQWU7Z0dBQWYsZUFBZTsyRkFBZixlQUFlO2tCQUwzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFVVSxVQUFVO3NCQUFsQixLQUFLO2dCQVNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFHYSxXQUFXO3NCQUQ3QixXQUFXO3VCQUFDLHNCQUFzQjtnQkFJckIsZUFBZTtzQkFENUIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZG9rdS1maWVsZC1zdWZmaXhdJyxcbiAgZXhwb3J0QXM6ICdkb2t1RmllbGRTdWZmaXgnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBEb2t1RmllbGRTdWZmaXgge1xuICAvKipcbiAgICogVGhlIGFwcGVhcmFuY2Ugb2YgdGhlIHN1ZmZpeCBjb250ZW50LlxuICAgKiAtIGBpbmxpbmVgLCB1c2UgZmllbGQgcGFkZGluZyAtIGlkZWFsIGZvciBpY29uLlxuICAgKiAtIGBib3JkZXItYmxvY2tgLCBoYXMgb3duIHBhZGRpbmcgYW5kIGJvcmRlciBhcyBhIHNlcGFyYXRvciAtIGlkZWFsIGZvciB0ZXh0IGxpa2UgXCJJRFJcIi5cbiAgICogLSBgYmxvY2tgLCB0aGUgbG9va3Mgd2lsbCBiZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgY29udGVudCAtIGlkZWFsIGZvciBjb21wb25lbnQgbGlrZSBCdXR0b24uXG4gICAqIC0gYGJvcmRlci1ibG9jay1pbnNpZGVgLCBsb29rcyBsaWtlIGJvcmRlciBibG9jayBidXQgbm8gcGFkZGluZ1xuICAgKiBhbmQgaW5zaWRlIHRoZSB3cmFwcGVyIGJvcmRlciAtIGlkZWFsIGZvciBzZWxlY3QgY29tcG9uZW50LlxuICAgKi9cbiAgQElucHV0KCkgYXBwZWFyYW5jZTogJ2lubGluZScgfCAnYm9yZGVyLWJsb2NrJyB8ICdibG9jaycgfCAnYm9yZGVyLWJsb2NrLWluc2lkZScgPSAnaW5saW5lJztcblxuICAvKipcbiAgICogV2hldGhlciB0byB1c2UgYmFja2dyb3VuZCBjb2xvci4gU3VwcG9ydCBpcyBsaW1pdGVkIGJ5IGFwcGVhcmFuY2UuXG4gICAqXG4gICAqIFN1cHBvcnRlZCBhcHBlYXJhbmNlczpcbiAgICogLSBgYm9yZGVyLWJsb2NrYFxuICAgKiAtIGBib3JkZXItYmxvY2staW5zaWRlYFxuICAgKi9cbiAgQElucHV0KCkgdXNlQmFja2dyb3VuZENvbG9yID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kLWZpZWxkLXN1ZmZpeCcpXG4gIHByb3RlY3RlZCByZWFkb25seSBjbGFzc1N1ZmZpeCA9IHRydWU7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHByb3RlY3RlZCBnZXQgY2xhc3NBcHBlYXJhbmNlKCk6IE5nQ2xhc3NbJ25nQ2xhc3MnXSB7XG4gICAgcmV0dXJuIFtgZC1maWVsZC1zdWZmaXgtJHt0aGlzLmFwcGVhcmFuY2V9YCwgdGhpcy5nZXRCYWNrZ3JvdW5kQ2xhc3MoKV07XG4gIH1cblxuICBwcml2YXRlIGdldEJhY2tncm91bmRDbGFzcygpIHtcbiAgICBpZiAoIXRoaXMudXNlQmFja2dyb3VuZENvbG9yKSByZXR1cm4gbnVsbDtcbiAgICBpZiAodGhpcy5hcHBlYXJhbmNlID09PSAnYm9yZGVyLWJsb2NrJyB8fCB0aGlzLmFwcGVhcmFuY2UgPT09ICdib3JkZXItYmxvY2staW5zaWRlJykge1xuICAgICAgcmV0dXJuICdkLWZpZWxkLXN1ZmZpeC11c2UtYmFja2dyb3VuZCc7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=