17.3.8000 • Published 22 hours ago

@windmillcode/angular-wml-toggle-zero v17.3.8000

Weekly downloads
-
License
-
Repository
-
Last release
22 hours ago

Overview

The wml-toggle-zero library offers a specialized Angular component designed to enhance user interfaces with a toggle switch functionality. This library focuses on delivering a straightforward and efficient way to implement toggle switches in Angular applications, providing an intuitive and interactive element for users. The core purpose of this library is to offer a highly customizable toggle switch that can be seamlessly integrated into various Angular projects, facilitating user interactions for settings, preferences, or any scenario where a binary choice is required.

At the heart of the wml-toggle-zero library is the WMLToggleZeroComponent, a central component that embodies the toggle switch's functionality. This component allows for a high degree of customization and interactivity, offering developers the flexibility to adapt the toggle switch's appearance and behavior to fit their application's needs. Parameters such as toggleBackgroundOffColor, toggleBackgroundOnColor, and textToggleLeftMargin enable developers to customize the look and feel of the toggle, while properties like toggleText and thumb provide control over the switch's text labels and thumb indicator. Additionally, the onToggle method and triggerToggle function offer ways to interact with the toggle's state, enabling dynamic responses to user interactions. The library encourages a pattern where the WMLToggleZeroComponent acts as a standalone, reusable UI element, promoting modularity and ease of integration within larger application structures.

Installation

npm install -d @windmillcode/angular-wml-toggle-zero

Usage

To integrate and utilize the wml-toggle-zero component in your Angular application, follow the examples below. These examples demonstrate how to incorporate the toggle switch into your templates and manage its state and configurations through your component's TypeScript file.

Basic Toggle Switch

In Your Component's HTML

<wml-toggle-zero [params]="basicToggleParams"></wml-toggle-zero>

In Your Component's TypeScript

import { Component } from '@angular/core';
import { WMLToggleZeroParams } from '@windmillcode/angular-wml-toggle-zero';

@Component({
  selector: 'app-example',
  templateUrl: './example.component.html',
})
export class ExampleComponent {
  basicToggleParams = new WMLToggleZeroParams({
    toggleText: { text: 'Off' },
    thumb: { value: false },
    onToggle: (self) => {
      self.toggleText.text = self.thumb.value ? 'On' : 'Off';
    }
  });
}

Customized Toggle Switch

In Your Component's HTML

<wml-toggle-zero [params]="customToggleParams"></wml-toggle-zero>

In Your Component's TypeScript

import { Component } from '@angular/core';
import { WMLToggleZeroParams } from '@windmillcode/angular-wml-toggle-zero';

@Component({
  selector: 'app-custom-toggle',
  templateUrl: './custom-toggle.component.html',
})
export class CustomToggleComponent {
  customToggleParams = new WMLToggleZeroParams({
    toggleText: { text: 'Off', class: 'custom-toggle-text' },
    thumb: { value: false, class: 'custom-thumb' },
    container: { class: 'custom-container' },
    toggleBackgroundOffColor: 'rgba(255, 0, 0)',  // Red when off
    toggleBackgroundOnColor: 'rgba(0, 255, 0)',  // Green when on
    onToggle: (self) => {
      self.toggleText.text = self.thumb.value ? 'Active' : 'Inactive';
    }
  });
}

In the above examples, WMLToggleZeroParams is used to configure the toggle switch. The toggleText property sets the text label, thumb manages the toggle's thumb, and container styles the overall toggle component. The onToggle function updates the toggle's state and label dynamically based on user interaction.

Docs

PropertyTypeDescription
idstringIdentifier for the toggle instance.
containerWMLUIPropertyAn instance of the WMLUIProperty class representing the container of the toggle.
thumbWMLUIPropertyAn instance of the WMLUIProperty class representing the thumb of the toggle.
toggleTextWMLUIPropertyAn instance of the WMLUIProperty class representing the text associated with the toggle.
textToggleLeftMarginnumberThe left margin for the toggle text.
toggleBackgroundOffColorstringThe background color when the toggle is in the "Off" state.
toggleBackgroundOnColorstringThe background color when the toggle is in the "On" state.
MethodDescription
onToggleCallback function triggered when the toggle state changes. Updates the toggle text based on the thumb value.
triggerToggleallows control of the toggle control.

Changelog

v17.0.0

  • component created and ready for production use

v17.0.30

  • added triggerToggle ,

v17.0.40

  • updated package to reflect the version ^17.0.4 of @angular/core package,

v17.0.50

  • updated package to reflect the version ^17.0.5 of @angular/core package,

v17.0.60

  • updated package to reflect the version ^17.0.6 of @angular/core package,

v17.0.70

  • updated package to reflect the version ^17.0.7 of @angular/core package

v17.0.71

  • added support to be integrated with wml-form so that values can be passed to a form control

v17.0.72

  • fixed code to remove deprecated scss warnings

v17.0.73

  • added listened so when form is edited via patchValue the changes apply

v17.0.74

  • added in disabled featured and corrected error when listenForFormValue changes was triggered till infinity ,

v17.0.7100

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.0.7200

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.0.7300

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.0.80

  • updated package to reflect the version ^17.0.8 of @angular/core package,

v17.0.8100

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.0.8102

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.0.8103

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.0.9000

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.0.9001

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.1.0000

  • updated package to reflect the version ^17.1.0 of @angular/core package,

v17.1.2

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.1.1000

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.1.2000 2/5/24

  • updated package to reflect the version ^17.1.2 of @angular/core package,

v17.1.2001 2/8/24

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.1.3000 2/8/24

  • updated package to reflect the version ^17.1.3 of @angular/core package,

v17.2.1000 2/17/24

  • updated package to reflect the version ^17.2.1 of @angular/core package,

v17.2.2001 2/23/24

  • updated package to reflect the version ^17.2.2 of @angular/core package,

v17.2.3000 2/28/24

  • updated package to reflect the version ^17.2.3 of @angular/core package,

v17.2.3001 3/2/24

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.2.3002 3/5/24

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.2.4000 3/8/24

  • updated package to reflect the version ^17.2.4 of @angular/core package,

v17.2.4001 3/12/24

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.2.4002 3/12/24

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.2.4003 3/13/24

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.2.4004 3/13/24

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.3.0 3/17/24

  • updated package to reflect the version ^17.3.0 of @angular/core package ,

v17.3.1000 3/22/24

  • updated package to reflect the version ^17.3.1 of @angular/core package,

v17.3.2000 3/28/24

  • updated package to reflect the version ^17.3.2 of @angular/core package,

v17.3.3000 4/4/24

  • updated package to reflect the version ^17.3.3 of @angular/core package,

v17.3.4000 4/11/24

  • updated package to reflect the version ^17.3.4 of @angular/core package,

v17.3.4001 4/16/24

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.3.5000 4/20/24

  • updated package to reflect the version ^17.3.5 of @angular/core package,

v17.3.5110 5/1/24

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.3.6000 5/1/24

  • updated package to reflect the version ^17.3.6 of @angular/core package,

v17.3.7000 5/9/24

  • updated package to reflect the version ^17.3.7 of @angular/core package,

v17.3.8000 5/9/24

  • updated package to reflect the version ^17.3.8 of @angular/core package
17.3.7000

1 day ago

17.3.8000

22 hours ago

17.3.5110

10 days ago

17.3.6000

10 days ago

17.3.5000

20 days ago

17.3.4001

24 days ago

17.3.4000

29 days ago

17.3.3000

1 month ago

17.3.2000

1 month ago

17.3.1000

2 months ago

17.3.0

2 months ago

17.2.4004

2 months ago

17.2.4001

2 months ago

17.2.4002

2 months ago

17.2.4003

2 months ago

17.2.4000

2 months ago

17.2.3002

2 months ago

17.2.3001

2 months ago

17.2.3000

2 months ago

17.2.2001

3 months ago

17.2.1000

3 months ago

17.1.3000

3 months ago

17.1.2001

3 months ago

17.1.2000

3 months ago

17.1.1000

4 months ago

17.1.2

4 months ago

17.1.0

4 months ago

17.0.9001

4 months ago

17.0.9000

4 months ago

17.0.8100

5 months ago

17.0.8102

4 months ago

17.0.8103

4 months ago

17.0.80

5 months ago

17.0.7300

5 months ago

17.0.7200

5 months ago

17.0.7100

5 months ago

17.0.74

5 months ago

17.0.73

5 months ago

17.0.72

5 months ago

17.0.71

5 months ago

17.0.70

5 months ago

17.0.60

5 months ago

17.0.50

5 months ago

17.0.40

6 months ago

17.0.30

6 months ago

17.0.20

6 months ago