UNPKG

@visa/nova-angular

Version:

Visa Product Design System Nova Angular library. Compatible with Angular ^19.0.0 || ^20.0.0 || ^21.0.0.

1,013 lines (972 loc) 214 kB
import * as i0 from '@angular/core'; import { Signal, InputSignalWithTransform, InputSignal, ElementRef, ModelSignal, WritableSignal, AfterContentInit, OnInit, OutputEmitterRef, EventEmitter } from '@angular/core'; import { CheckboxControlValueAccessor, DefaultValueAccessor, RadioControlValueAccessor, ControlValueAccessor } from '@angular/forms'; import { Middleware } from '@floating-ui/dom'; declare class AddArrowKeysDirective { private readonly items; private readonly renderer; ngAfterContentInit(): void; static ɵfac: i0.ɵɵFactoryDeclaration<AddArrowKeysDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<AddArrowKeysDirective, "[vAddArrowKeys]", never, {}, {}, ["items"], never, true, never>; } /** * Directive to add alternate surface class, <code>class="v-alternate"</code>, to the host element. */ declare class AlternateDirective { static ɵfac: i0.ɵɵFactoryDeclaration<AlternateDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<AlternateDirective, "[vAlternate]", never, {}, {}, never, never, true, never>; } /** * © 2025-2026 Visa * * 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. * **/ declare const BreakpointType: { readonly XS: "xs"; readonly SM: "sm"; readonly MD: "md"; readonly LG: "lg"; readonly XL: "xl"; readonly XXL: "xxl"; readonly MOBILE: "mobile"; readonly DESKTOP: "desktop"; }; type BreakpointType = (typeof BreakpointType)[keyof typeof BreakpointType]; declare const coerceBreakpoint: (type: "container" | "media", classes: BreakpointType | BreakpointType[] | null) => string | null; declare class BreakpointsDirective { protected readonly classes: Signal<string>; /** * Hides element when within given _container_ breakpoint. */ readonly vContainerHide: InputSignalWithTransform<string | null, BreakpointType | BreakpointType[] | null>; /** * Hides element when true. */ readonly vHide: InputSignalWithTransform<boolean | null, unknown>; /** * Hides element when within given _media_ breakpoint. */ readonly vMediaHide: InputSignalWithTransform<string | null, BreakpointType | BreakpointType[] | null>; static ɵfac: i0.ɵɵFactoryDeclaration<BreakpointsDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<BreakpointsDirective, "[vContainerHide], [vMediaHide], [vHide]", never, { "vContainerHide": { "alias": "vContainerHide"; "required": false; "isSignal": true; }; "vHide": { "alias": "vHide"; "required": false; "isSignal": true; }; "vMediaHide": { "alias": "vMediaHide"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>; } /** * The class, <code>class="v-icon-tow-color"</code>, applied by this directive only changes Visa Library icons. */ declare class DualIconDirective { static ɵfac: i0.ɵɵFactoryDeclaration<DualIconDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<DualIconDirective, "[v-icon-two-color], ", never, {}, {}, never, never, true, never>; } /** * © 2025-2026 Visa * * 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. * **/ declare const ElevationType: { readonly NONE: "none"; readonly INSET: "inset"; readonly XS: "xs"; readonly SM: "sm"; readonly MD: "md"; readonly LG: "lg"; readonly XL: "xl"; readonly XXL: "xxl"; }; type ElevationType = (typeof ElevationType)[keyof typeof ElevationType]; declare class ElevationDirective { /** * Applies elevation given. */ readonly vElevation: InputSignal<ElevationType | undefined>; static ɵfac: i0.ɵɵFactoryDeclaration<ElevationDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<ElevationDirective, "[vElevation]", never, { "vElevation": { "alias": "vElevation"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>; } /** * © 2025-2026 Visa * * 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. * **/ declare const DOWN_ARROW_KEY = "ArrowDown"; declare const END_KEY = "End"; declare const ESCAPE_KEY = "Escape"; declare const HOME_KEY = "Home"; declare const LEFT_ARROW_KEY = "ArrowLeft"; declare const RIGHT_ARROW_KEY = "ArrowRight"; declare const SPACE_KEY = " "; declare const SPACE_CODE = "Space"; declare const TAB_KEY = "Tab"; declare const UP_ARROW_KEY = "ArrowUp"; declare const ENTER_KEY = "Enter"; declare const BACKSPACE_KEY = "Backspace"; declare const SpacingProperties: { readonly INHERIT: "inherit"; readonly NORMAL: "normal"; readonly AUTO: "auto"; }; type SpacingProperties = (typeof SpacingProperties)[keyof typeof SpacingProperties] | number; /** * © 2025-2026 Visa * * 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. * **/ declare class FlexDirective { protected readonly classes: Signal<string>; /** /** * Sets property <code>align-content: space-around</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vAlignContentAround: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>align-content: space-between</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vAlignContentBetween: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>align-content: center</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above) */ readonly vAlignContentCenter: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>align-content: end</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vAlignContentEnd: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>align-content: start</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above) */ readonly vAlignContentStart: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>align-content: space-evenly</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vAlignContentEvenly: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>align-items: baseline</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vAlignItemsBaseline: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>align-content: center</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vAlignItemsCenter: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>align-content: end</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vAlignItemsEnd: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>align-content: start</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vAlignItemsStart: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>align-items: stretch</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vAlignItemsStretch: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>align-self: auto</code>. <br> * This property is also a selector and can be used by itself on the <i>child</i> of a flex element. */ readonly vAlignSelfAuto: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>align-self: baseline</code>. <br> * This property is also a selector and can be used by itself on the <i>child</i> of a flex element. */ readonly vAlignSelfBaseline: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>align-self: center</code>. <br> * This property is also a selector and can be used by itself on the <i>child</i> of a flex element. */ readonly vAlignSelfCenter: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>align-self: end</code>. <br> * This property is also a selector and can be used by itself on the <i>child</i> of a flex element. */ readonly vAlignSelfEnd: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>align-self: start</code>. <br> * This property is also a selector and can be used by itself on the <i>child</i> of a flex element. */ readonly vAlignSelfStart: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>align-self: stretch</code>. <br> * This property is also a selector and can be used by itself on the <i>child</i> of a flex element. */ readonly vAlignSelfStretch: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>column-gap</code>. <br>Accepts gap: 0 - 48 and SpacingProperties. */ readonly vColGap: InputSignal<null | number | SpacingProperties | string | undefined>; /** * Sets property <code>display: flex</code>. <br> * This property is also a selector and can be used by itself on a flex element. */ readonly vFlex: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>flex-basis: &lt;value&gt;</code>. <br> * Accepts a string that should be in the form of a percentage or CSS unit. <br /> * This property is also a selector and can be used by itself on the <i>child</i> of a flex element. */ readonly vFlexBasis: InputSignal<null | string>; /** * Sets property <code>flex-direction: column</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vFlexCol: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>flex-direction: column-reverse</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vFlexColReverse: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>flex-grow: 1</code>. <br> * This property is also a selector and can be used by itself on the <i>child</i> of a flex element. */ readonly vFlexGrow: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>flex-grow: 0</code>. <br> * This property is also a selector and can be used by itself on the <i>child</i> of a flex element. */ readonly vFlexGrow0: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>display: inline-flex</code>. <br> * This property is also a selector and can be used by itself on a flex element. */ readonly vFlexInline: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>flex-wrap: no-wrap</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vFlexNoWrap: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>flex-direction: row</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vFlexRow: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>flex-direction: row-reverse</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vFlexRowReverse: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>flex-shrink: 1</code>. <br> * This property is also a selector and can be used by itself on the <i>child</i> of a flex element. */ readonly vFlexShrink: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>flex-shrink: 0</code>. <br> * This property is also a selector and can be used by itself on the <i>child</i> of a flex element. */ readonly vFlexShrink0: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>flex-wrap: wrap</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vFlexWrap: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>flex-wrap: wrap-reverse</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vFlexWrapReverse: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>gap</code>. <br>Accepts gap: 0 - 48 and SpacingProperties. */ readonly vGap: InputSignal<null | number | SpacingProperties | string | undefined>; /** * Sets property <code>justify-content: space-around</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vJustifyContentAround: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>justify-content: space-between</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vJustifyContentBetween: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>justify-content: center</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vJustifyContentCenter: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>justify-content: end</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vJustifyContentEnd: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>justify-content: space-evenly</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vJustifyContentEvenly: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>justify-content: start</code>. <br> * This property should be used alongside a FlexDirective selector (see selectors above). */ readonly vJustifyContentStart: InputSignalWithTransform<boolean, unknown>; /** * Sets property <code>row-gap</code>. <br>Accepts gap: 0 - 48 and SpacingProperties. */ readonly vRowGap: InputSignal<null | number | SpacingProperties | string | undefined>; static ɵfac: i0.ɵɵFactoryDeclaration<FlexDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<FlexDirective, "[vFlex], [vFlexInline], [vGap], [vFlexGrow], [vFlexGrow0], [vFlexShrink], [vFlexShrink0], [vFlexBasis], [vAlignSelfStart], [vAlignSelfEnd], [vAlignSelfCenter], [vAlignSelfStretch], [vAlignSelfAuto], [vAlignSelfBaseline],", never, { "vAlignContentAround": { "alias": "vAlignContentAround"; "required": false; "isSignal": true; }; "vAlignContentBetween": { "alias": "vAlignContentBetween"; "required": false; "isSignal": true; }; "vAlignContentCenter": { "alias": "vAlignContentCenter"; "required": false; "isSignal": true; }; "vAlignContentEnd": { "alias": "vAlignContentEnd"; "required": false; "isSignal": true; }; "vAlignContentStart": { "alias": "vAlignContentStart"; "required": false; "isSignal": true; }; "vAlignContentEvenly": { "alias": "vAlignContentEvenly"; "required": false; "isSignal": true; }; "vAlignItemsBaseline": { "alias": "vAlignItemsBaseline"; "required": false; "isSignal": true; }; "vAlignItemsCenter": { "alias": "vAlignItemsCenter"; "required": false; "isSignal": true; }; "vAlignItemsEnd": { "alias": "vAlignItemsEnd"; "required": false; "isSignal": true; }; "vAlignItemsStart": { "alias": "vAlignItemsStart"; "required": false; "isSignal": true; }; "vAlignItemsStretch": { "alias": "vAlignItemsStretch"; "required": false; "isSignal": true; }; "vAlignSelfAuto": { "alias": "vAlignSelfAuto"; "required": false; "isSignal": true; }; "vAlignSelfBaseline": { "alias": "vAlignSelfBaseline"; "required": false; "isSignal": true; }; "vAlignSelfCenter": { "alias": "vAlignSelfCenter"; "required": false; "isSignal": true; }; "vAlignSelfEnd": { "alias": "vAlignSelfEnd"; "required": false; "isSignal": true; }; "vAlignSelfStart": { "alias": "vAlignSelfStart"; "required": false; "isSignal": true; }; "vAlignSelfStretch": { "alias": "vAlignSelfStretch"; "required": false; "isSignal": true; }; "vColGap": { "alias": "vColGap"; "required": false; "isSignal": true; }; "vFlex": { "alias": "vFlex"; "required": false; "isSignal": true; }; "vFlexBasis": { "alias": "vFlexBasis"; "required": false; "isSignal": true; }; "vFlexCol": { "alias": "vFlexCol"; "required": false; "isSignal": true; }; "vFlexColReverse": { "alias": "vFlexColReverse"; "required": false; "isSignal": true; }; "vFlexGrow": { "alias": "vFlexGrow"; "required": false; "isSignal": true; }; "vFlexGrow0": { "alias": "vFlexGrow0"; "required": false; "isSignal": true; }; "vFlexInline": { "alias": "vFlexInline"; "required": false; "isSignal": true; }; "vFlexNoWrap": { "alias": "vFlexNoWrap"; "required": false; "isSignal": true; }; "vFlexRow": { "alias": "vFlexRow"; "required": false; "isSignal": true; }; "vFlexRowReverse": { "alias": "vFlexRowReverse"; "required": false; "isSignal": true; }; "vFlexShrink": { "alias": "vFlexShrink"; "required": false; "isSignal": true; }; "vFlexShrink0": { "alias": "vFlexShrink0"; "required": false; "isSignal": true; }; "vFlexWrap": { "alias": "vFlexWrap"; "required": false; "isSignal": true; }; "vFlexWrapReverse": { "alias": "vFlexWrapReverse"; "required": false; "isSignal": true; }; "vGap": { "alias": "vGap"; "required": false; "isSignal": true; }; "vJustifyContentAround": { "alias": "vJustifyContentAround"; "required": false; "isSignal": true; }; "vJustifyContentBetween": { "alias": "vJustifyContentBetween"; "required": false; "isSignal": true; }; "vJustifyContentCenter": { "alias": "vJustifyContentCenter"; "required": false; "isSignal": true; }; "vJustifyContentEnd": { "alias": "vJustifyContentEnd"; "required": false; "isSignal": true; }; "vJustifyContentEvenly": { "alias": "vJustifyContentEvenly"; "required": false; "isSignal": true; }; "vJustifyContentStart": { "alias": "vJustifyContentStart"; "required": false; "isSignal": true; }; "vRowGap": { "alias": "vRowGap"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>; } /** * © 2025-2026 Visa * * 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. * **/ declare class MarginDirective { protected readonly classes: Signal<string>; /** * Sets margin-block-start property. <br> * Accepts: 0 - 48 or <code>SpacingProperties</code>. */ readonly vM: InputSignalWithTransform<string | null, SpacingProperties | string | undefined>; /** * Sets margin-inline-end property. <br> * Accepts: 0 - 48 or <code>SpacingProperties</code>. */ readonly vMB: InputSignalWithTransform<string | null, SpacingProperties | string | undefined>; /** * Sets margin-block-end property. <br> * Accepts: 0 - 48 or <code>SpacingProperties</code>. */ readonly vML: InputSignalWithTransform<string | null, SpacingProperties | string | undefined>; /** * Sets margin-inline-start property. <br> * Accepts: 0 - 48 or <code>SpacingProperties</code>. */ readonly vMR: InputSignalWithTransform<string | null, SpacingProperties | string | undefined>; /** * Sets margin-inline property. <br> * Accepts: 0 - 48 or <code>SpacingProperties</code>. */ readonly vMT: InputSignalWithTransform<string | null, SpacingProperties | string | undefined>; /** * Sets margin-block property. <br> * Accepts: 0 - 48 or <code>SpacingProperties</code>. */ readonly vMX: InputSignalWithTransform<string | null, SpacingProperties | string | undefined>; /** * Sets margin property. <br> * Accepts: 0 - 48 or <code>SpacingProperties</code>. */ readonly vMY: InputSignalWithTransform<string | null, SpacingProperties | string | undefined>; static ɵfac: i0.ɵɵFactoryDeclaration<MarginDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<MarginDirective, "[vM], [vMB], [vML], [vMR], [vMT], [vMX], [vMY], ", never, { "vM": { "alias": "vM"; "required": false; "isSignal": true; }; "vMB": { "alias": "vMB"; "required": false; "isSignal": true; }; "vML": { "alias": "vML"; "required": false; "isSignal": true; }; "vMR": { "alias": "vMR"; "required": false; "isSignal": true; }; "vMT": { "alias": "vMT"; "required": false; "isSignal": true; }; "vMX": { "alias": "vMX"; "required": false; "isSignal": true; }; "vMY": { "alias": "vMY"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>; } /** * © 2025-2026 Visa * * 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. * **/ declare class OpensInNewTabDirective { constructor(); private readonly el; private readonly textContent; /** * Allows user to set custom aria-label attribute. * @default '&lt;inner-text-of-link&gt; (opens in new tab)' */ readonly ariaLabelInput: InputSignal<string | null>; readonly ariaLabel: Signal<string | null>; static ɵfac: i0.ɵɵFactoryDeclaration<OpensInNewTabDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<OpensInNewTabDirective, "[vOpensInNewTab], ", never, { "ariaLabelInput": { "alias": "aria-label"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>; } /** * © 2025-2026 Visa * * 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. * **/ declare class PaddingDirective { protected readonly classes: Signal<string>; /** * Sets padding-block-start property. <br> * Accepts: 0 - 48 or <code>SpacingProperties</code>. */ readonly vP: InputSignalWithTransform<string | null, SpacingProperties | string | undefined>; /** * Sets padding-inline-end property. <br> * Accepts: 0 - 48 or <code>SpacingProperties</code>. */ readonly vPB: InputSignalWithTransform<string | null, SpacingProperties | string | undefined>; /** * Sets padding-block-end property. <br> * Accepts: 0 - 48 or <code>SpacingProperties</code>. */ readonly vPL: InputSignalWithTransform<string | null, SpacingProperties | string | undefined>; /** * Sets padding-inline-start property. <br> * Accepts: 0 - 48 or <code>SpacingProperties</code>. */ readonly vPR: InputSignalWithTransform<string | null, SpacingProperties | string | undefined>; /** * Sets padding-inline property. <br> * Accepts: 0 - 48 or <code>SpacingProperties</code>. */ readonly vPT: InputSignalWithTransform<string | null, SpacingProperties | string | undefined>; /** * Sets padding-block property. <br> * Accepts: 0 - 48 or <code>SpacingProperties</code>. */ readonly vPX: InputSignalWithTransform<string | null, SpacingProperties | string | undefined>; /** * Sets padding property. <br> * Accepts: 0 - 48 or <code>SpacingProperties</code>. */ readonly vPY: InputSignalWithTransform<string | null, SpacingProperties | string | undefined>; static ɵfac: i0.ɵɵFactoryDeclaration<PaddingDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<PaddingDirective, "[vP], [vPB], [vPL], [vPR], [vPT], [vPX], [vPY], ", never, { "vP": { "alias": "vP"; "required": false; "isSignal": true; }; "vPB": { "alias": "vPB"; "required": false; "isSignal": true; }; "vPL": { "alias": "vPL"; "required": false; "isSignal": true; }; "vPR": { "alias": "vPR"; "required": false; "isSignal": true; }; "vPT": { "alias": "vPT"; "required": false; "isSignal": true; }; "vPX": { "alias": "vPX"; "required": false; "isSignal": true; }; "vPY": { "alias": "vPY"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>; } declare class ScreenreaderOnlyDirective { static ɵfac: i0.ɵɵFactoryDeclaration<ScreenreaderOnlyDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<ScreenreaderOnlyDirective, "[vSr], [vSR], [vScreenreader], [vScreenReader]", never, {}, {}, never, never, true, never>; } /** * © 2025-2026 Visa * * 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. * **/ /** * I don't love having 'surface' in the key names, * but using just numbers does not work as expected. */ declare const SurfaceType: { readonly Surface1: "1"; readonly Surface2: "2"; readonly Surface3: "3"; }; type SurfaceType = (typeof SurfaceType)[keyof typeof SurfaceType]; /** * Directive to add default surface class, <code>class="v-surface"</code>, to the host element. */ declare class SurfaceDirective { /** * Applies given surface class. <br> */ readonly vSurface: InputSignal<'' | SurfaceType | null>; static ɵfac: i0.ɵɵFactoryDeclaration<SurfaceDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<SurfaceDirective, "[vSurface]", never, { "vSurface": { "alias": "vSurface"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>; } declare class NovaCommonModule { static ɵfac: i0.ɵɵFactoryDeclaration<NovaCommonModule, never>; static ɵmod: i0.ɵɵNgModuleDeclaration<NovaCommonModule, never, [typeof AddArrowKeysDirective, typeof AlternateDirective, typeof BreakpointsDirective, typeof DualIconDirective, typeof ElevationDirective, typeof FlexDirective, typeof MarginDirective, typeof OpensInNewTabDirective, typeof PaddingDirective, typeof ScreenreaderOnlyDirective, typeof SurfaceDirective], [typeof AddArrowKeysDirective, typeof AlternateDirective, typeof BreakpointsDirective, typeof DualIconDirective, typeof ElevationDirective, typeof FlexDirective, typeof MarginDirective, typeof OpensInNewTabDirective, typeof PaddingDirective, typeof ScreenreaderOnlyDirective, typeof SurfaceDirective]>; static ɵinj: i0.ɵɵInjectorDeclaration<NovaCommonModule>; } /** * © 2025-2026 Visa * * 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. * **/ type Unsubscribable = { unsubscribe: () => void; }; declare class ListenerService { listeners: (() => void)[]; navListeners: (() => void)[]; navSubscriptions: (Unsubscribable | undefined)[]; subscriptions: (Unsubscribable | undefined)[]; cleanupEffect: i0.EffectRef; cleanup(): void; cleanupNavListeners(): void; static ɵfac: i0.ɵɵFactoryDeclaration<ListenerService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<ListenerService>; } /** * © 2025-2026 Visa * * 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. * **/ declare class CheckboxDirective extends CheckboxControlValueAccessor { constructor(); readonly el: ElementRef<HTMLInputElement>; private readonly idGenerator; readonly listenerService: ListenerService; /** * Sets checked state of component. <br /> * Because 'checked' is a native attribute of input[type="checkbox"], it can only be set false by using [checked]="false", not checked="false" <br /> * Use [checked] when you want to handle the checked state of the checkbox. * Use (checkedChange) when you want the library to handle the checked state of the checkbox, but get notified of changes. * Use [(checked)] when you want the checked state to reflect changes by both you and the library. */ readonly checked: ModelSignal<boolean | null | string>; private readonly checkedEffect; /** * Sets checkbox to disabled when true * @default false */ readonly disabledInput: InputSignalWithTransform<boolean | null, unknown>; private readonly disabledInternal; readonly disabled: Signal<boolean | null>; /** Fires when a formControl's disabled state updates */ setDisabledState(isDisabled: boolean | null): void; /** * Sets custom id. * @default idGenerator.newId('v-checkbox') * @builtin true */ readonly id: InputSignal<string>; /** * Marks checkbox as invalid when true. * @default false */ readonly invalid: InputSignalWithTransform<boolean | null, unknown>; /** * Sets checkbox to indeterminate when true. * @default false */ readonly indeterminate: InputSignalWithTransform<boolean | null, unknown>; private readonly indeterminateEffect; /** * Marks checkbox as required when true. * @default false */ readonly required: InputSignalWithTransform<boolean | null, unknown>; handleChange(event: Event): void; writeValue(value: any): void; static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<CheckboxDirective, "[v-checkbox]", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; }, never, never, true, never>; } /** * © 2025-2026 Visa * * 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. * **/ /** * This directive is used to group radio buttons together and manage their state. <br /> * Typically used for a required group to relay that one of the group is required to be selected. */ declare class RadioGroupDirective extends DefaultValueAccessor { private readonly idGenerator; readonly radios: Signal<readonly RadioDirective[]>; /** * Sets radio group as disabled when true. * @default false */ readonly disabledInput: InputSignalWithTransform<boolean | null, unknown>; readonly disabledInternal: WritableSignal<boolean | null>; readonly disabled: Signal<boolean | null>; /** Fires when a formControl's disabled state updates */ setDisabledState(disabled: boolean): void; /** * Marks radio group as invalid when true. * @default false */ readonly invalid: InputSignalWithTransform<boolean | null, unknown>; /** * Shared name of radio group. * @default this.uuidService.getUUID('v-radio-group-'); * @builtin true */ readonly name: InputSignal<string>; /** * Marks radio group as required when true. * @default false */ readonly required: InputSignalWithTransform<boolean | null, unknown>; /** * Value of radio group. * Use [value] when you want to handle the value of the toggle container. * Use (valuedChange) when you want the library to handle the value of the toggle container, but get notified of changes. * Use [(value)] when you want the value to reflect changes by both you and the library. */ readonly value: ModelSignal<string | number | null | undefined>; private readonly valueEffect; private readonly activeRadio; private readonly activeRadioEffect; writeValue(value: string | number): void; static ɵfac: i0.ɵɵFactoryDeclaration<RadioGroupDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<RadioGroupDirective, "[v-radio-group]", never, { "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, ["radios"], never, true, never>; } declare class RadioDirective extends RadioControlValueAccessor { ngOnInit(): void; private _control; private readonly injector; readonly el: ElementRef; private readonly idGenerator; protected readonly radioGroup: RadioGroupDirective | null; private readonly toggle; private readonly toggleContainer; /** * Sets checked state of component. <br /> * Because 'checked' is a native attribute of input[type="checkbox"], it can only be set false by using [checked]="false", not checked="false" <br /> * Use [checked] when you want to handle the checked state of the checkbox. * Use (checkedChange) when you want the library to handle the checked state of the checkbox, but get notified of changes. * Use [(checked)] when you want the checked state to reflect changes by both you and the library. */ readonly checked: ModelSignal<boolean | null | string>; readonly checkedEffect: i0.EffectRef; private checkName; private readonly radioGroupValueEffect; /** * Sets radio as disabled when true. * @default false */ readonly disabledInput: InputSignalWithTransform<boolean | null, unknown>; readonly disabledInternal: WritableSignal<boolean | null>; readonly disabled: Signal<boolean | null>; /** Fires when a formControl's disabled state updates */ setDisabledState(disabled: boolean | null): void; /** * @ignore */ readonly formName: InputSignal<string | null>; /** * Sets custom id. * @default idGenerator.newId('v-radio') * @builtin true */ readonly id: InputSignal<string>; /** * Marks radio as invalid when true. * @default false */ readonly invalidInput: InputSignalWithTransform<boolean | null, unknown>; protected readonly invalid: Signal<boolean | null>; /** * @ignore */ readonly nameInput: InputSignal<string | null>; readonly nameSignal: Signal<string | null>; private readonly namesEffect; /** * Marks component as required when true. * @default false */ readonly requiredInput: InputSignalWithTransform<boolean | null, unknown>; protected readonly required: Signal<boolean | null>; /** * Value of radio input. * @default idGenerator.newId('v-radio') when toggle is true, otherwise null */ readonly valueInput: InputSignal<string | number | null>; readonly valueSignal: Signal<string | number | null>; private readonly valueEffect; handleChange(event: Event): void; writeValue(value: string | number | null): void; static ɵfac: i0.ɵɵFactoryDeclaration<RadioDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<RadioDirective, "[v-radio]", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "formName": { "alias": "formControlName"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "invalidInput": { "alias": "invalid"; "required": false; "isSignal": true; }; "nameInput": { "alias": "name"; "required": false; "isSignal": true; }; "requiredInput": { "alias": "required"; "required": false; "isSignal": true; }; "valueInput": { "alias": "value"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; }, never, never, true, never>; } declare class CheckboxPanelDirective { private readonly appReadyService; private readonly checkbox; private readonly radio; handleClick(event: Event): void; /** * 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: RadioDirective | CheckboxDirective, event: Event): void; static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxPanelDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<CheckboxPanelDirective, "[v-checkbox-panel], [v-radio-panel]", never, {}, {}, ["checkbox", "radio"], never, true, never>; } /** * © 2025-2026 Visa * * 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. * **/ declare class AccordionDirective { private readonly flex; private readonly idGenerator; readonly singleSelectItemsName: WritableSignal<string>; protected readonly removeDefaultFlex: Signal<boolean | undefined>; protected readonly removeDefaultGap: Signal<boolean | undefined | null | any>; /** * Allows multiple accordion items to be expanded when true. * @default false */ readonly multiselect: InputSignalWithTransform<boolean, unknown>; /** * Applies subtle accordion styling when true. * @default false */ readonly subtle: InputSignalWithTransform<boolean, unknown>; static ɵfac: i0.ɵɵFactoryDeclaration<AccordionDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<AccordionDirective, "[v-accordion]", never, { "multiselect": { "alias": "multiselect"; "required": false; "isSignal": true; }; "subtle": { "alias": "subtle"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>; } /** * © 2025-2026 Visa * * 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. * **/ declare class AccordionHeadingDirective implements AfterContentInit { readonly accordion: AccordionDirective | null; readonly hostButton: ButtonDirective | null; ngAfterContentInit(): void; static ɵfac: i0.ɵɵFactoryDeclaration<AccordionHeadingDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<AccordionHeadingDirective, "[v-accordion-heading]", never, {}, {}, never, never, true, never>; } /** * © 2025-2026 Visa * * 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. * **/ declare class AccordionDetailsDirective implements OnInit { ngOnInit(): void; private readonly el; private readonly accordion; protected readonly heading: Signal<AccordionHeadingDirective>; /** * * Sets expanded state ('open' or 'closed') of component. <br /> * Because 'open' is a native attribute of <details>, it can only be set false by using [open]="false", not open="false" <br /> * Use [open] when you want to handle the expanded state of the accordion item. * Use (openChange) when you want the library to handle the expanded state of the accordion item, but get notified of changes. * Use [(open)] when you want the expanded state to reflect changes by both you and the library. */ readonly expanded: ModelSignal<boolean | null | string>; /** @ignore */ readonly nameInput: InputSignal<string | null>; readonly name: Signal<string | null>; /** * Emits expanded state of item when toggled. */ readonly toggled: OutputEmitterRef<boolean>; toggle(event: Event): void; static ɵfac: i0.ɵɵFactoryDeclaration<AccordionDetailsDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<AccordionDetailsDirective, "[v-accordion-item]", never, { "expanded": { "alias": "open"; "required": false; "isSignal": true; }; "nameInput": { "alias": "name"; "required": false; "isSignal": true; }; }, { "expanded": "openChange"; "toggled": "toggled"; }, ["heading"], never, true, never>; } /** * © 2025-2026 Visa * * 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. * **/ declare class FloatingUITriggerDirective { readonly el: ElementRef; readonly button: ButtonDirective | null; private readonly floatingUIContainer; protected readonly floatingElemID: Signal<string | null>; protected readonly triggersDropdownMenu: Signal<boolean | null>; protected readonly triggersTooltip: Signal<boolean | null>; readonly isShown: WritableSignal<boolean>; static ɵfac: i0.ɵɵFactoryDeclaration<FloatingUITriggerDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<FloatingUITriggerDirective, "[v-floating-ui-trigger]", never, {}, {}, never, never, true, never>; } /** * © 2025-2026 Visa * * 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. * **/ declare class NavDirective { /** * Sets navigation to drawer variation when true. * @default false */ readonly drawer: InputSignalWithTransform<boolean, unknown>; /** * Sets navigation to vertical orientation when true. * @default false */ readonly vertical: InputSignalWithTransform<boolean, unknown>; static ɵfac: i0.ɵɵFactoryDeclaration<NavDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<NavDirective, "[v-nav]", never, { "drawer": { "alias": "drawer"; "required": false; "isSignal": true; }; "vertical": { "alias": "vertical"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>; } declare class PanelContentDirective { static ɵfac: i0.ɵɵFactoryDeclaration<PanelContentDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<PanelContentDirective, "[v-panel-content]", never, {}, {}, never, never, true, never>; } /** * © 2025-2026 Visa * * 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. * **/ declare class TabListDirective implements AfterContentInit { prevTabs: WritableSignal<TabItemDirective[] | undefined>; constructor(); ngAfterContentInit(): void; readonly tabListParent: TabListDirective | null; readonly navParent: NavDirective | null; protected readonly panelParent: PanelContentDirective | null; private readonly el; private readonly