UNPKG

@visa/nova-angular

Version:

Visa Product Design System Nova Angular library

53 lines 5.71 kB
/** * 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 { Injectable } from '@angular/core'; import { AppReadyService } from '../_utilities/services/app-stable-check.service'; import * as i0 from "@angular/core"; import * as i1 from "../_utilities/services/app-stable-check.service"; /** * Service to toggle checkbox or radio programmatically. */ export class ToggleControlService { constructor(appReadyService) { this.appReadyService = appReadyService; } /** * Toggles checkbox or radio programmatically. * @param control Checkbox or Radio item to toggle. * @param event Event to check if target is the control. */ toggleControl(control, event) { // check that browser is available before manipulating/checking DOM elements if (this.appReadyService.isBrowserAndDomAvailable() && control) { if (control.el.nativeElement.contains(event.target)) { return; } else { control.el.nativeElement.click(); } } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToggleControlService, deps: [{ token: i1.AppReadyService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToggleControlService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToggleControlService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.AppReadyService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWNvbnRyb2wuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbm92YS1saWIvc3JjL2xpYi90b2dnbGUtY29udHJvbC90b2dnbGUtY29udHJvbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7SUFlSTtBQUNKLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7QUFJbEY7O0dBRUc7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUFHLENBQUM7SUFFeEQ7Ozs7T0FJRztJQUNILGFBQWEsQ0FBQyxPQUEyQyxFQUFFLEtBQVk7UUFDckUsNEVBQTRFO1FBQzVFLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQy9ELElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUNwRCxPQUFPO1lBQ1QsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25DLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzsrR0FqQlUsb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogICAgICAgICAgICAgIENvcHlyaWdodCAoYykgMjAyNSBWaXNhLCBJbmMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqXG4gKiovXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBSZWFkeVNlcnZpY2UgfSBmcm9tICcuLi9fdXRpbGl0aWVzL3NlcnZpY2VzL2FwcC1zdGFibGUtY2hlY2suc2VydmljZSc7XG5pbXBvcnQgeyBDaGVja2JveERpcmVjdGl2ZSB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSYWRpb0RpcmVjdGl2ZSB9IGZyb20gJy4uL3JhZGlvL3JhZGlvLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogU2VydmljZSB0byB0b2dnbGUgY2hlY2tib3ggb3IgcmFkaW8gcHJvZ3JhbW1hdGljYWxseS5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVG9nZ2xlQ29udHJvbFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcFJlYWR5U2VydmljZTogQXBwUmVhZHlTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIGNoZWNrYm94IG9yIHJhZGlvIHByb2dyYW1tYXRpY2FsbHkuXG4gICAqIEBwYXJhbSBjb250cm9sIENoZWNrYm94IG9yIFJhZGlvIGl0ZW0gdG8gdG9nZ2xlLlxuICAgKiBAcGFyYW0gZXZlbnQgRXZlbnQgdG8gY2hlY2sgaWYgdGFyZ2V0IGlzIHRoZSBjb250cm9sLlxuICAgKi9cbiAgdG9nZ2xlQ29udHJvbChjb250cm9sOiBSYWRpb0RpcmVjdGl2ZSB8IENoZWNrYm94RGlyZWN0aXZlLCBldmVudDogRXZlbnQpIHtcbiAgICAvLyBjaGVjayB0aGF0IGJyb3dzZXIgaXMgYXZhaWxhYmxlIGJlZm9yZSBtYW5pcHVsYXRpbmcvY2hlY2tpbmcgRE9NIGVsZW1lbnRzXG4gICAgaWYgKHRoaXMuYXBwUmVhZHlTZXJ2aWNlLmlzQnJvd3NlckFuZERvbUF2YWlsYWJsZSgpICYmIGNvbnRyb2wpIHtcbiAgICAgIGlmIChjb250cm9sLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb250cm9sLmVsLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==