UNPKG

@visa/nova-angular

Version:

Visa Product Design System Nova Angular library

149 lines 16 kB
import { Directive, HostBinding, Input } from '@angular/core'; import * as i0 from "@angular/core"; export class MarginDirective { get hostClasses() { return [ this.vMT || this.vMT === 0 ? this.convertToString(this.vMT).startsWith('-') ? `-v-mt${this.vMT}` : `v-mt-${this.vMT}` : null, this.vMR || this.vMR === 0 ? this.convertToString(this.vMR).startsWith('-') ? `-v-mr${this.vMR}` : `v-mr-${this.vMR}` : null, this.vMB || this.vMB === 0 ? this.convertToString(this.vMB).startsWith('-') ? `-v-mb${this.vMB}` : `v-mb-${this.vMB}` : null, this.vML || this.vML === 0 ? this.convertToString(this.vML).startsWith('-') ? `-v-ml${this.vML}` : `v-ml-${this.vML}` : null, this.vMX || this.vMX === 0 ? this.convertToString(this.vMX).startsWith('-') ? `-v-mx${this.vMX}` : `v-mx-${this.vMX}` : null, this.vMY || this.vMY === 0 ? this.convertToString(this.vMY).startsWith('-') ? `-v-my${this.vMY}` : `v-my-${this.vMY}` : null, this.vM || this.vM === 0 ? this.convertToString(this.vM).startsWith('-') ? `-v-m${this.vM}` : `v-m-${this.vM}` : null ].join(' '); } convertToString(value) { return value ? value.toString() : ''; } /** * Sets margin-block-start property. <br> * Accepts: 0 - 48 or <code>SpacingProperties</code>. */ get vMT() { return this._vMT; } set vMT(value) { this._vMT = value; } /** * Sets margin-inline-end property. <br> * Accepts: 0 - 48 or <code>SpacingProperties</code>. */ get vMR() { return this._vMR; } set vMR(value) { this._vMR = value; } /** * Sets margin-block-end property. <br> * Accepts: 0 - 48 or <code>SpacingProperties</code>. */ get vMB() { return this._vMB; } set vMB(value) { this._vMB = value; } /** * Sets margin-inline-start property. <br> * Accepts: 0 - 48 or <code>SpacingProperties</code>. */ get vML() { return this._vML; } set vML(value) { this._vML = value; } /** * Sets margin-inline property. <br> * Accepts: 0 - 48 or <code>SpacingProperties</code>. */ get vMX() { return this._vMX; } set vMX(value) { this._vMX = value; } /** * Sets margin-block property. <br> * Accepts: 0 - 48 or <code>SpacingProperties</code>. */ get vMY() { return this._vMY; } set vMY(value) { this._vMY = value; } /** * Sets margin property. <br> * Accepts: 0 - 48 or <code>SpacingProperties</code>. */ get vM() { return this._vM; } set vM(value) { this._vM = value; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MarginDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: MarginDirective, isStandalone: true, selector: "[vMT], [vMR], [vMB], [vML], [vMX], [vMY], [vM], ", inputs: { vMT: "vMT", vMR: "vMR", vMB: "vMB", vML: "vML", vMX: "vMX", vMY: "vMY", vM: "vM" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MarginDirective, decorators: [{ type: Directive, args: [{ standalone: true, selector: '[vMT], ' + // margin block start '[vMR], ' + // margin inline end '[vMB], ' + // margin block end '[vML], ' + // margin inline start '[vMX], ' + // margin inline '[vMY], ' + // margin block '[vM], ' // all margins }] }], propDecorators: { hostClasses: [{ type: HostBinding, args: ['class'] }], vMT: [{ type: Input }], vMR: [{ type: Input }], vMB: [{ type: Input }], vML: [{ type: Input }], vMX: [{ type: Input }], vMY: [{ type: Input }], vM: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyZ2luLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbm92YS1saWIvc3JjL2xpYi9tYXJnaW4vbWFyZ2luLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQkEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWM5RCxNQUFNLE9BQU8sZUFBZTtJQUMxQixJQUNJLFdBQVc7UUFDYixPQUFPO1lBQ0wsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO29CQUM5QyxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsR0FBRyxFQUFFO29CQUNwQixDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUN0QixDQUFDLENBQUMsSUFBSTtZQUNSLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO2dCQUN4QixDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztvQkFDOUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDcEIsQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDdEIsQ0FBQyxDQUFDLElBQUk7WUFDUixJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztnQkFDeEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7b0JBQzlDLENBQUMsQ0FBQyxRQUFR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QUM7SUFDbkIsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLEtBQUs7UUFDWCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBR0Q7OztPQUdHO0lBQ0gsSUFDSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLEdBQUcsQ0FBQyxLQUFLO1FBQ1gsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUdEOzs7T0FHRztJQUNILElBQ0ksRUFBRTtRQUNKLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBQ0QsSUFBSSxFQUFFLENBQUMsS0FBSztRQUNWLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDO0lBQ25CLENBQUM7K0dBdElVLGVBQWU7bUdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFYM0IsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUNOLFNBQVMsR0FBRyxxQkFBcUI7d0JBQ2pDLFNBQVMsR0FBRyxvQkFBb0I7d0JBQ2hDLFNBQVMsR0FBRyxtQkFBbUI7d0JBQy9CLFNBQVMsR0FBRyxzQkFBc0I7d0JBQ2xDLFNBQVMsR0FBRyxnQkFBZ0I7d0JBQzVCLFNBQVMsR0FBRyxlQUFlO3dCQUMzQixRQUFRLENBQUMsY0FBYztpQkFDMUI7OEJBR0ssV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU87Z0JBa0RoQixHQUFHO3NCQUROLEtBQUs7Z0JBY0YsR0FBRztzQkFETixLQUFLO2dCQWNGLEdBQUc7c0JBRE4sS0FBSztnQkFjRixHQUFHO3NCQUROLEtBQUs7Z0JBY0YsR0FBRztzQkFETixLQUFLO2dCQWNGLEdBQUc7c0JBRE4sS0FBSztnQkFjRixFQUFFO3NCQURMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICAgICAgICAgICAgICDCqSAyMDI1IFZpc2FcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICpcbiAqKi9cbmltcG9ydCB7IE51bWJlcklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTcGFjaW5nUHJvcGVydGllcyB9IGZyb20gJy4uL25vdmEtbGliLmNvbnN0YW50cyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjpcbiAgICAnW3ZNVF0sICcgKyAvLyBtYXJnaW4gYmxvY2sgc3RhcnRcbiAgICAnW3ZNUl0sICcgKyAvLyBtYXJnaW4gaW5saW5lIGVuZFxuICAgICdbdk1CXSwgJyArIC8vIG1hcmdpbiBibG9jayBlbmRcbiAgICAnW3ZNTF0sICcgKyAvLyBtYXJnaW4gaW5saW5lIHN0YXJ0XG4gICAgJ1t2TVhdLCAnICsgLy8gbWFyZ2luIGlubGluZVxuICAgICdbdk1ZXSwgJyArIC8vIG1hcmdpbiBibG9ja1xuICAgICdbdk1dLCAnIC8vIGFsbCBtYXJnaW5zXG59KVxuZXhwb3J0IGNsYXNzIE1hcmdpbkRpcmVjdGl2ZSB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gW1xuICAgICAgdGhpcy52TVQgfHwgdGhpcy52TVQgPT09IDBcbiAgICAgICAgPyB0aGlzLmNvbnZlcnRUb1N0cmluZyh0aGlzLnZNVCkuc3RhcnRzV2l0aCgnLScpXG4gICAgICAgICAgPyBgLXYtbXQke3RoaXMudk1UfWBcbiAgICAgICAgICA6IGB2LW10LSR7dGhpcy52TVR9YFxuICAgICAgICA6IG51bGwsXG4gICAgICB0aGlzLnZNUiB8fCB0aGlzLnZNUiA9PT0gMFxuICAgICAgICA/IHRoaXMuY29udmVydFRvU3RyaW5nKHRoaXMudk1SKS5zdGFydHNXaXRoKCctJylcbiAgICAgICAgICA/IGAtdi1tciR7dGhpcy52TVJ9YFxuICAgICAgICAgIDogYHYtbXItJHt0aGlzLnZNUn1gXG4gICAgICAgIDogbnVsbCxcbiAgICAgIHRoaXMudk1CIHx8IHRoaXMudk1CID09PSAwXG4gICAgICAgID8gdGhpcy5jb252ZXJ0VG9TdHJpbmcodGhpcy52TUIpLnN0YXJ0c1dpdGgoJy0nKVxuICAgICAgICAgID8gYC12LW1iJHt0aGlzLnZNQn1gXG4gICAgICAgICAgOiBgdi1tYi0ke3RoaXMudk1CfWBcbiAgICAgICAgOiBudWxsLFxuICAgICAgdGhpcy52TUwgfHwgdGhpcy52TUwgPT09IDBcbiAgICAgICAgPyB0aGlzLmNvbnZlcnRUb1N0cmluZyh0aGlzLnZNTCkuc3RhcnRzV2l0aCgnLScpXG4gICAgICAgICAgPyBgLXYtbWwke3RoaXMudk1MfWBcbiAgICAgICAgICA6IGB2LW1sLSR7dGhpcy52TUx9YFxuICAgICAgICA6IG51bGwsXG4gICAgICB0aGlzLnZNWCB8fCB0aGlzLnZNWCA9PT0gMFxuICAgICAgICA/IHRoaXMuY29udmVydFRvU3RyaW5nKHRoaXMudk1YKS5zdGFydHNXaXRoKCctJylcbiAgICAgICAgICA/IGAtdi1teCR7dGhpcy52TVh9YFxuICAgICAgICAgIDogYHYtbXgtJHt0aGlzLnZNWH1gXG4gICAgICAgIDogbnVsbCxcbiAgICAgIHRoaXMudk1ZIHx8IHRoaXMudk1ZID09PSAwXG4gICAgICAgID8gdGhpcy5jb252ZXJ0VG9TdHJpbmcodGhpcy52TVkpLnN0YXJ0c1dpdGgoJy0nKVxuICAgICAgICAgID8gYC12LW15JHt0aGlzLnZNWX1gXG4gICAgICAgICAgOiBgdi1teS0ke3RoaXMudk1ZfWBcbiAgICAgICAgOiBudWxsLFxuICAgICAgdGhpcy52TSB8fCB0aGlzLnZNID09PSAwXG4gICAgICAgID8gdGhpcy5jb252ZXJ0VG9TdHJpbmcodGhpcy52TSkuc3RhcnRzV2l0aCgnLScpXG4gICAgICAgICAgPyBgLXYtbSR7dGhpcy52TX1gXG4gICAgICAgICAgOiBgdi1tLSR7dGhpcy52TX1gXG4gICAgICAgIDogbnVsbFxuICAgIF0uam9pbignICcpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0VG9TdHJpbmcodmFsdWU6IG51bWJlciB8IFNwYWNpbmdQcm9wZXJ0aWVzIHwgTnVtYmVySW5wdXQpOiBzdHJpbmcge1xuICAgIHJldHVybiB2YWx1ZSA/IHZhbHVlLnRvU3RyaW5nKCkgOiAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIG1hcmdpbi1ibG9jay1zdGFydCBwcm9wZXJ0eS4gPGJyPlxuICAgKiBBY2NlcHRzOiAwIC0gNDggb3IgPGNvZGU+U3BhY2luZ1Byb3BlcnRpZXM8L2NvZGU+LlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IHZNVCgpOiBudW1iZXIgfCBTcGFjaW5nUHJvcGVydGllcyB8IE51bWJlcklucHV0IHtcbiAgICByZXR1cm4gdGhpcy5fdk1UO1xuICB9XG4gIHNldCB2TVQodmFsdWUpIHtcbiAgICB0aGlzLl92TVQgPSB2YWx1ZTtcbiAgfVxuICBfdk1UOiBudW1iZXIgfCBTcGFjaW5nUHJvcGVydGllcyB8IE51bWJlcklucHV0O1xuXG4gIC8qKlxuICAgKiBTZXRzIG1hcmdpbi1pbmxpbmUtZW5kIHByb3BlcnR5LiA8YnI+XG4gICAqIEFjY2VwdHM6IDAgLSA0OCBvciA8Y29kZT5TcGFjaW5nUHJvcGVydGllczwvY29kZT4uXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgdk1SKCk6IG51bWJlciB8IFNwYWNpbmdQcm9wZXJ0aWVzIHwgTnVtYmVySW5wdXQge1xuICAgIHJldHVybiB0aGlzLl92TVI7XG4gIH1cbiAgc2V0IHZNUih2YWx1ZSkge1xuICAgIHRoaXMuX3ZNUiA9IHZhbHVlO1xuICB9XG4gIF92TVI6IG51bWJlciB8IFNwYWNpbmdQcm9wZXJ0aWVzIHwgTnVtYmVySW5wdXQ7XG5cbiAgLyoqXG4gICAqIFNldHMgbWFyZ2luLWJsb2NrLWVuZCBwcm9wZXJ0eS4gPGJyPlxuICAgKiBBY2NlcHRzOiAwIC0gNDggb3IgPGNvZGU+U3BhY2luZ1Byb3BlcnRpZXM8L2NvZGU+LlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IHZNQigpOiBudW1iZXIgfCBTcGFjaW5nUHJvcGVydGllcyB8IE51bWJlcklucHV0IHtcbiAgICByZXR1cm4gdGhpcy5fdk1CO1xuICB9XG4gIHNldCB2TUIodmFsdWUpIHtcbiAgICB0aGlzLl92TUIgPSB2YWx1ZTtcbiAgfVxuICBfdk1COiBudW1iZXIgfCBTcGFjaW5nUHJvcGVydGllcyB8IE51bWJlcklucHV0O1xuXG4gIC8qKlxuICAgKiBTZXRzIG1hcmdpbi1pbmxpbmUtc3RhcnQgcHJvcGVydHkuIDxicj5cbiAgICogQWNjZXB0czogMCAtIDQ4IG9yIDxjb2RlPlNwYWNpbmdQcm9wZXJ0aWVzPC9jb2RlPi5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCB2TUwoKTogbnVtYmVyIHwgU3BhY2luZ1Byb3BlcnRpZXMgfCBOdW1iZXJJbnB1dCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZNTDtcbiAgfVxuICBzZXQgdk1MKHZhbHVlKSB7XG4gICAgdGhpcy5fdk1MID0gdmFsdWU7XG4gIH1cbiAgX3ZNTDogbnVtYmVyIHwgU3BhY2luZ1Byb3BlcnRpZXMgfCBOdW1iZXJJbnB1dDtcblxuICAvKipcbiAgICogU2V0cyBtYXJnaW4taW5saW5lIHByb3BlcnR5LiA8YnI+XG4gICAqIEFjY2VwdHM6IDAgLSA0OCBvciA8Y29kZT5TcGFjaW5nUHJvcGVydGllczwvY29kZT4uXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgdk1YKCk6IG51bWJlciB8IFNwYWNpbmdQcm9wZXJ0aWVzIHwgTnVtYmVySW5wdXQge1xuICAgIHJldHVybiB0aGlzLl92TVg7XG4gIH1cbiAgc2V0IHZNWCh2YWx1ZSkge1xuICAgIHRoaXMuX3ZNWCA9IHZhbHVlO1xuICB9XG4gIF92TVg6IG51bWJlciB8IFNwYWNpbmdQcm9wZXJ0aWVzIHwgTnVtYmVySW5wdXQ7XG5cbiAgLyoqXG4gICAqIFNldHMgbWFyZ2luLWJsb2NrIHByb3BlcnR5LiA8YnI+XG4gICAqIEFjY2VwdHM6IDAgLSA0OCBvciA8Y29kZT5TcGFjaW5nUHJvcGVydGllczwvY29kZT4uXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgdk1ZKCk6IG51bWJlciB8IFNwYWNpbmdQcm9wZXJ0aWVzIHwgTnVtYmVySW5wdXQge1xuICAgIHJldHVybiB0aGlzLl92TVk7XG4gIH1cbiAgc2V0IHZNWSh2YWx1ZSkge1xuICAgIHRoaXMuX3ZNWSA9IHZhbHVlO1xuICB9XG4gIF92TVk6IG51bWJlciB8IFNwYWNpbmdQcm9wZXJ0aWVzIHwgTnVtYmVySW5wdXQ7XG5cbiAgLyoqXG4gICAqIFNldHMgbWFyZ2luIHByb3BlcnR5LiA8YnI+XG4gICAqIEFjY2VwdHM6IDAgLSA0OCBvciA8Y29kZT5TcGFjaW5nUHJvcGVydGllczwvY29kZT4uXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgdk0oKTogbnVtYmVyIHwgU3BhY2luZ1Byb3BlcnRpZXMgfCBOdW1iZXJJbnB1dCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZNO1xuICB9XG4gIHNldCB2TSh2YWx1ZSkge1xuICAgIHRoaXMuX3ZNID0gdmFsdWU7XG4gIH1cbiAgX3ZNOiBudW1iZXIgfCBTcGFjaW5nUHJvcGVydGllcyB8IE51bWJlcklucHV0O1xufVxuIl19