@visa/nova-angular
Version:
Visa Product Design System Nova Angular library
149 lines • 16 kB
JavaScript
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