@visa/nova-angular
Version:
Visa Product Design System Nova Angular library
70 lines • 6.89 kB
JavaScript
/**
* Copyright (c) 2025 Visa, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
**/
import { Directive, HostBinding, Input } from '@angular/core';
import { DividerType } from './divider.constants';
import * as i0 from "@angular/core";
export class DividerDirective {
/**
* Sets divider style.
* @default 'default' / DividerType.DEFAULT
* @options 'default' | DividerType.DEFAULT | <br> 'section' | DividerType.SECTION | <br> 'decorative' | DividerType.DECORATIVE
*/
get dividerType() {
return this._dividerType;
}
set dividerType(value) {
this._dividerType = value;
}
get hostClasses() {
return [
this.class,
'v-divider',
this.dividerType !== DividerType.DEFAULT ? 'v-divider-' + this.dividerType : ''
].join(' ');
}
get ariaHidden() {
return this.dividerType === DividerType.DECORATIVE ? 'true' : null;
}
constructor() {
this._dividerType = DividerType.DEFAULT;
/**
* Provides custom class(es) for custom styling.
* @default .v-divider.v-divider-<dividerType>
*/
this.class = '';
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DividerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: DividerDirective, isStandalone: true, selector: "[v-divider]", inputs: { dividerType: "dividerType", class: "class" }, host: { properties: { "class": "this.hostClasses", "attr.aria-hidden": "this.ariaHidden" } }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DividerDirective, decorators: [{
type: Directive,
args: [{
standalone: true,
selector: '[v-divider]'
}]
}], ctorParameters: () => [], propDecorators: { dividerType: [{
type: Input
}], class: [{
type: Input
}], hostClasses: [{
type: HostBinding,
args: ['class']
}], ariaHidden: [{
type: HostBinding,
args: ['attr.aria-hidden']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25vdmEtbGliL3NyYy9saWIvZGl2aWRlci9kaXZpZGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0lBZUk7QUFDSixPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU1sRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCOzs7O09BSUc7SUFDSCxJQUNJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksV0FBVyxDQUFDLEtBQWtCO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFRRCxJQUNJLFdBQVc7UUFDYixPQUFPO1lBQ0wsSUFBSSxDQUFDLEtBQUs7WUFDVixXQUFXO1lBQ1gsSUFBSSxDQUFDLFdBQVcsS0FBSyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUNoRixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFRCxJQUNJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDckUsQ0FBQztJQUVEO1FBckJBLGlCQUFZLEdBQWdCLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFFaEQ7OztXQUdHO1FBQ00sVUFBSyxHQUFXLEVBQUUsQ0FBQztJQWViLENBQUM7K0dBbENMLGdCQUFnQjttR0FBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsYUFBYTtpQkFDeEI7d0RBUUssV0FBVztzQkFEZCxLQUFLO2dCQWFHLEtBQUs7c0JBQWIsS0FBSztnQkFFRixXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTztnQkFVaEIsVUFBVTtzQkFEYixXQUFXO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogICAgICAgICAgICAgIENvcHlyaWdodCAoYykgMjAyNSBWaXNhLCBJbmMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqXG4gKiovXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGl2aWRlclR5cGUgfSBmcm9tICcuL2RpdmlkZXIuY29uc3RhbnRzJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW3YtZGl2aWRlcl0nXG59KVxuZXhwb3J0IGNsYXNzIERpdmlkZXJEaXJlY3RpdmUge1xuICAvKipcbiAgICogU2V0cyBkaXZpZGVyIHN0eWxlLlxuICAgKiBAZGVmYXVsdCAnZGVmYXVsdCcgLyBEaXZpZGVyVHlwZS5ERUZBVUxUXG4gICAqIEBvcHRpb25zICdkZWZhdWx0JyB8IERpdmlkZXJUeXBlLkRFRkFVTFQgfCA8YnI+ICdzZWN0aW9uJyB8IERpdmlkZXJUeXBlLlNFQ1RJT04gfCA8YnI+ICdkZWNvcmF0aXZlJyB8IERpdmlkZXJUeXBlLkRFQ09SQVRJVkVcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBkaXZpZGVyVHlwZSgpOiBEaXZpZGVyVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuX2RpdmlkZXJUeXBlO1xuICB9XG4gIHNldCBkaXZpZGVyVHlwZSh2YWx1ZTogRGl2aWRlclR5cGUpIHtcbiAgICB0aGlzLl9kaXZpZGVyVHlwZSA9IHZhbHVlO1xuICB9XG4gIF9kaXZpZGVyVHlwZTogRGl2aWRlclR5cGUgPSBEaXZpZGVyVHlwZS5ERUZBVUxUO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlcyBjdXN0b20gY2xhc3MmIzQwO2VzJiM0MTsgZm9yIGN1c3RvbSBzdHlsaW5nLlxuICAgKiBAZGVmYXVsdCAudi1kaXZpZGVyLnYtZGl2aWRlci0mbHQ7ZGl2aWRlclR5cGUmZ3Q7XG4gICAqL1xuICBASW5wdXQoKSBjbGFzczogc3RyaW5nID0gJyc7XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gW1xuICAgICAgdGhpcy5jbGFzcyxcbiAgICAgICd2LWRpdmlkZXInLFxuICAgICAgdGhpcy5kaXZpZGVyVHlwZSAhPT0gRGl2aWRlclR5cGUuREVGQVVMVCA/ICd2LWRpdmlkZXItJyArIHRoaXMuZGl2aWRlclR5cGUgOiAnJ1xuICAgIF0uam9pbignICcpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJylcbiAgZ2V0IGFyaWFIaWRkZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuZGl2aWRlclR5cGUgPT09IERpdmlkZXJUeXBlLkRFQ09SQVRJVkUgPyAndHJ1ZScgOiBudWxsO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7fVxufVxuIl19