File

projects/wvr-elements/src/lib/wvr-nav-list/wvr-nav-li/wvr-nav-li.component.ts

Description

The WvrNavLi Component is the list element to be used with the wvre-nav-list element.

Extends

WvrBaseComponent

Metadata

Index

Properties
Methods
Inputs
Outputs
HostBindings

Constructor

constructor(injector: Injector)
Parameters :
Name Type Optional
injector Injector No

Inputs

href
Type : string

A resolvable URI to to which this li will link, when provided. If no link is provided, the list element will not display as a link.

liCursor
Type : any

Allows for the override of the --wvr-nav-li-cursor css variable. Default: pointer.

liHeight
Type : any

Allows for the override of the --wvr-nav-li-height css variable. Default: 100%.

linkBackgroundHover
Type : any

Allows for the override of the --wvr-nav-link-background-hover css variable. Default: --wvr-primary

linkColor
Type : any

Allows for the override of the --wvr-nav-link-color css variable. --wvr-blue

linkColorHover
Type : any

Allows for the override of the --wvr-nav-link-color-hover css variable. Default: --wvr-primary

linkFontSize
Type : any

Allows for the override of the --wvr-nav-link-font-size css variable. Defualt: inherit

linkFontWeight
Type : any

Allows for the override of the --wvr-nav-link-font-weight css variable. Default: inherit

linkTextDecorationHover
Type : any

Allows for the override of the --wvr-nav-link-text-decoration-hover css variable. Default: none

liWidth
Type : any

Allows for the override of the --wvr-nav-li-width css variable. Default: 140px.

animate
Type : string
Inherited from WvrBaseComponent

A setter which parses a json string describing animation instructions and stores the derived object in _animationSettings.

animateConfig
Type : string
Inherited from WvrBaseComponent

A setter which parses a json string describing animation setting and stores the derived object in _animationConfig.

animateId
Type : string
Inherited from WvrBaseComponent

An attribute input allowing for the designation of an animation identifier for the purpose of animation targeting.

animateTarget
Type : string
Inherited from WvrBaseComponent

An attribute input allowing for the designation of an animation target for animation events.

hiddenInMobile
Type : boolean
Default value : false
Inherited from WvrBaseComponent

An attribute input specifying if this component should be hidden in the mobile layout.

ngBindings
Type : string
Inherited from WvrBaseComponent
themeVariant
Type : ThemeVariantName
Inherited from WvrBaseComponent

Used to define the class type of an alert component.

wvrData
Type : string
Inherited from WvrBaseComponent
wvrTheme
Type : string
Inherited from WvrBaseComponent

Allows for the override of theme for the particular component.

Outputs

animationEventTrigger
Type : EventEmitter
Inherited from WvrBaseComponent

An Output biding used for triggering animations.

HostBindings

class.wvr-bootstrap
Type : boolean
Default value : true
Inherited from WvrBaseComponent

A host binding used to ensure the presense of the wvr-bootstrap class.

class.wvr-hidden
Type : boolean
Inherited from WvrBaseComponent

A host bound accessor which applies the wvr-hidden class if both isMobileLayout and hiddenInMobile evaluate to true.

style
Type : any
Inherited from WvrBaseComponent

Methods

applyThemeOverride
applyThemeOverride(customProperty: string, value: string)
Inherited from WvrBaseComponent
Parameters :
Name Type Optional
customProperty string No
value string No
Returns : void
bootstrapNgBindings
bootstrapNgBindings()
Inherited from WvrBaseComponent
Returns : void
getWvrData
getWvrData()
Inherited from WvrBaseComponent
Returns : string
hasWvrData
hasWvrData()
Inherited from WvrBaseComponent
Returns : boolean
initializeAnimationElement
initializeAnimationElement()
Inherited from WvrBaseComponent
Returns : void
initializeAnimationRegistration
initializeAnimationRegistration()
Inherited from WvrBaseComponent
Returns : void
ngAfterContentInit
ngAfterContentInit()
Inherited from WvrBaseComponent

Used for post content initialization animation setup.

Returns : void
ngOnDestroy
ngOnDestroy()
Inherited from WvrBaseComponent

Handles the the unregistering of this component with the component registry.

Returns : void
ngOnInit
ngOnInit()
Inherited from WvrBaseComponent

Used to setup this component for animating.

Returns : void
onAnimationEvent
onAnimationEvent($event: Event)
Inherited from WvrBaseComponent

Trigger's the animation specified by the incoming event.

Parameters :
Name Type Optional
$event Event No
Returns : void
Private processData
processData()
Inherited from WvrBaseComponent
Returns : void
triggerAnimations
triggerAnimations(animationTriggerType: string)
Inherited from WvrBaseComponent

Plays the animation specified by the incoming animation trigger.

Parameters :
Name Type Optional
animationTriggerType string No
Returns : void

Properties

Private _animationConfig
Type : any
Default value : {}
Inherited from WvrBaseComponent

An object representation of the settings specifying the specific behavior of the animation for this component.

Private Readonly _animationService
Type : AnimationService<WvrBaseComponent>
Inherited from WvrBaseComponent

A reference to the AnimationService

Private _animationSettings
Type : any
Default value : {}
Inherited from WvrBaseComponent

An object representation of the animation instructions for this component.

Private _ngBindings
Type : literal type
Inherited from WvrBaseComponent
animationRootElem
Type : ElementRef
Decorators :
@ViewChild('animationRoot')
Inherited from WvrBaseComponent

A view child of the template element containing the #animationRoot identifier.

Private animationStateId
Type : number
Inherited from WvrBaseComponent

An identifier used to access the animation state for this component.

Readonly appConfig
Type : AppConfig
Inherited from WvrBaseComponent

A reference to the AppConfig

Readonly cdRef
Type : ChangeDetectorRef
Inherited from WvrBaseComponent

A reference to the ChangeDetectorRef

Readonly componentRegistry
Type : ComponentRegistryService<WvrBaseComponent>
Inherited from WvrBaseComponent

A reference to the ComponentRegistryService

data
Type : literal type
Default value : {}
Inherited from WvrBaseComponent
Readonly eRef
Type : ElementRef
Inherited from WvrBaseComponent

A reference to the ElementRef

Readonly id
Type : number
Inherited from WvrBaseComponent

A generated unique identifier for this comonent.

isMobile
Type : Observable<boolean>
Inherited from WvrBaseComponent
isMobileLayout
Type : boolean
Inherited from WvrBaseComponent
Private Readonly kebabize
Default value : () => {...}
Inherited from WvrBaseComponent
Private Readonly ngBindingsService
Type : NgBindingsService
Inherited from WvrBaseComponent

A reference to the NgBindingsService

Readonly store
Type : Store<RootState>
Inherited from WvrBaseComponent

A reference to the Store

style
Decorators :
@HostBinding('style')
Inherited from WvrBaseComponent
Protected subscriptions
Type : Array<Subscription>
Inherited from WvrBaseComponent
themeOverrides
Type : object
Default value : {}
Inherited from WvrBaseComponent
Private Readonly themeService
Type : ThemeService
Inherited from WvrBaseComponent

A reference to the ThemeService

variantTypes
Type : []
Default value : []
Inherited from WvrBaseComponent
wvrBootstrap
Default value : true
Decorators :
@HostBinding('class.wvr-bootstrap')
Inherited from WvrBaseComponent

A host binding used to ensure the presense of the wvr-bootstrap class.

import { ChangeDetectionStrategy, Component, HostBinding, Injector, Input } from '@angular/core';
import { WvrBaseComponent } from '../../shared/wvr-base.component';

/**
 * The WvrNavLi Component is the list element to be used with the wvre-nav-list element.
 */
@Component({
  selector: 'wvr-nav-li-component',
  templateUrl: './wvr-nav-li.component.html',
  styleUrls: ['./wvr-nav-li.component.scss'],
  changeDetection: ChangeDetectionStrategy.OnPush
})
export class WvrNavLiComponent extends WvrBaseComponent {

  /** A resolvable URI to to which this li will link, when provided. If no link is provided, the list element will not display as a link. */
  @Input() href: string;

  /** Allows for the override of the --wvr-nav-li-cursor css variable. Default: pointer. */
  @HostBinding('style.--wvr-nav-li-cursor') @Input() liCursor;

  /** Allows for the override of the --wvr-nav-li-height css variable. Default: 100%. */
  @HostBinding('style.--wvr-nav-li-height') @Input() liHeight;

  /** Allows for the override of the --wvr-nav-li-width css variable. Default: 140px. */
  @HostBinding('style.--wvr-nav-li-width') @Input() liWidth;

  /** Allows for the override of the --wvr-nav-link-background-hover css variable. Default: --wvr-primary */
  @HostBinding('style.--wvr-nav-link-background-hover') @Input() linkBackgroundHover;

  /** Allows for the override of the --wvr-nav-link-color-hover css variable. Default: --wvr-primary */
  @HostBinding('style.--wvr-nav-link-color-hover') @Input() linkColorHover;

  /** Allows for the override of the --wvr-nav-link-color css variable. --wvr-blue */
  @HostBinding('style.--wvr-nav-link-color') @Input() linkColor;

  /** Allows for the override of the --wvr-nav-link-font-size css variable. Defualt: inherit */
  @HostBinding('style.--wvr-nav-link-font-size') @Input() linkFontSize;

  /** Allows for the override of the --wvr-nav-link-font-weight css variable. Default: inherit */
  @HostBinding('style.--wvr-nav-link-font-weight') @Input() linkFontWeight;

  /** Allows for the override of the --wvr-nav-link-text-decoration-hover css variable. Default: none */
  @HostBinding('style.--wvr-nav-link-text-decoration-hover') @Input() linkTextDecorationHover;

  constructor(injector: Injector) {
    super(injector);
  }

}
<div *ngIf="href" class="nav-item d-flex align-items-center justify-content-center" role="menuitem">
  <a class="nav-link" [href]="href">
    <ng-container *ngTemplateOutlet="contentProjection"></ng-container>
  </a>
</div>

<div *ngIf="!href" class="nav-item d-flex align-items-center justify-content-center" role="menuitem">
  <ng-container *ngTemplateOutlet="contentProjection"></ng-container>
</div>

<ng-template #contentProjection>
  <ng-content></ng-content>
</ng-template>

./wvr-nav-li.component.scss

@import "../../shared/styles/variables";

:host {

  @extend .variables;

  --wvr-nav-li-cursor: pointer;
  --wvr-nav-li-height: 100%;
  --wvr-nav-li-width: 140px;
  --wvr-nav-link-background-hover: var(--wvr-primary);
  --wvr-nav-link-color-hover: var(--wvr-dark);
  --wvr-nav-link-color: var(--wvr-blue);
  --wvr-nav-link-font-size: inherit;
  --wvr-nav-link-font-weight: inherit;
  --wvr-nav-link-text-decoration-hover: none;
}

a.nav-link,
[role=menuitem].nav-item {
  height: var(--wvr-nav-li-height);
  cursor: var(--wvr-nav-li-cursor);
  ::ng-deep wvre-dropdown {
    display: flex;
    width: 100%;
    height: 100%;
    align-content: center;
    justify-content: center;

    [ngbdropdown],
    [ngdropdownanchor],
    wvre-dropdown-btn,
    .wvr-dropdown {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    wvre-dropdown-menu {
      justify-self: self-start;
    }
  }
}

a.nav-link {
  color: var(--wvr-nav-link-color);
  font-size: var(--wvr-nav-link-font-size);
  font-weight: var(--wvr-nav-link-font-weight);
}

[role=menuitem].nav-item {
  min-width: var(--wvr-nav-li-width);
}

[role=menuitem].nav-item:focus-within,
[role=menuitem].nav-item:hover {
  color: var(--wvr-nav-link-color-hover);
  background: var(--wvr-nav-link-background-hover);
  text-decoration: var(--wvr-nav-link-text-decoration-hover);
  a.nav-link {
    color: var(--wvr-nav-link-color-hover);
    text-decoration: var(--wvr-nav-link-text-decoration-hover);
  }
}
Legend
Html element
Component
Html element with directive

results matching ""

    No results matching ""