WML Toggle
The Angular WML Toggle library offers a customizable toggle switch component for Angular applications. This library provides an easy-to-integrate toggle switch that enhances user interfaces by allowing binary choices such as settings or preferences. The core component, WMLToggleZeroComponent, is designed to be flexible and modular, enabling developers to tailor its appearance and behavior to fit their application’s requirements. Features include:
- Customizable Appearance: Modify the toggle’s background colors, text, and styles.
- Event Handling: Define actions on toggle state changes.
- Integration with Forms: Supports reactive forms and updates based on form control status.
- Responsive Design: Adapts to different screen sizes for a consistent user experience.
Installation
Section titled “Installation”To install the WML Toggle library, use the following command:
npm install -s --verbose @windmillcode/angular-wml-toggleHere are some possible examples of how to use the WMLToggleZeroComponent in your Angular application:
Getting Started
Section titled “Getting Started”- you can sure to use onToggle to “listen for changes” how neat
Programtic Toggle
Section titled “Programtic Toggle”Reactive Forms
Section titled “Reactive Forms”Reference
Section titled “Reference”WMLToggleZeroProps
Section titled “WMLToggleZeroProps”| Property | Type | Description |
|---|---|---|
id | string | Identifier for the toggle instance. |
container | WMLUIProperty | Configuration for the toggle container. |
thumb | WMLUIProperty | Configuration for the toggle thumb. |
toggleText | WMLUIProperty | Configuration for the toggle text. |
textToggleLeftMargin | number | Left margin for the toggle text. |
toggleBackgroundOnColor | string | Background color when the toggle is “On”. |
toggleBackgroundOffColor | string | Background color when the toggle is “Off”. |
triggerToggle | Function | Function to programmatically trigger the toggle. |
wmlField | WMLFieldZeroProps | Integration with WML Field component. |
onToggle | (self: WMLToggleZeroProps) => void | Callback function triggered on toggle state change. |
Changelog
Section titled “Changelog”v17.0.0
Section titled “v17.0.0”- component created and ready for production use
v17.0.30
Section titled “v17.0.30”- added triggerToggle ,
v17.0.40
Section titled “v17.0.40”- updated package to reflect the version ^17.0.4 of @angular/core package,
v17.0.50
Section titled “v17.0.50”- updated package to reflect the version ^17.0.5 of @angular/core package,
v17.0.60
Section titled “v17.0.60”- updated package to reflect the version ^17.0.6 of @angular/core package,
v17.0.70
Section titled “v17.0.70”- updated package to reflect the version ^17.0.7 of @angular/core package
v17.0.71
Section titled “v17.0.71”- added support to be integrated with wml-form so that values can be passed to a form control
v17.0.72
Section titled “v17.0.72”- fixed code to remove deprecated scss warnings
v17.0.73
Section titled “v17.0.73”- added listened so when form is edited via patchValue the changes apply
v17.0.74
Section titled “v17.0.74”- added in disabled featured and corrected error when listenForFormValue changes was triggered till infinity ,
v17.0.7100
Section titled “v17.0.7100”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.0.7200
Section titled “v17.0.7200”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.0.7300
Section titled “v17.0.7300”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.0.80
Section titled “v17.0.80”- updated package to reflect the version ^17.0.8 of @angular/core package,
v17.0.8100
Section titled “v17.0.8100”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.0.8102
Section titled “v17.0.8102”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.0.8103
Section titled “v17.0.8103”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.0.9000
Section titled “v17.0.9000”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.0.9001
Section titled “v17.0.9001”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.1.0000
Section titled “v17.1.0000”- updated package to reflect the version ^17.1.0 of @angular/core package,
v17.1.2
Section titled “v17.1.2”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.1.1000
Section titled “v17.1.1000”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.1.2000 [2/5/24]
Section titled “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]
Section titled “v17.1.2001 [2/8/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.1.3000 [2/8/24]
Section titled “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]
Section titled “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]
Section titled “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]
Section titled “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]
Section titled “v17.2.3001 [3/2/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.2.3002 [3/5/24]
Section titled “v17.2.3002 [3/5/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.2.4000 [3/8/24]
Section titled “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]
Section titled “v17.2.4001 [3/12/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.2.4002 [3/12/24]
Section titled “v17.2.4002 [3/12/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.2.4003 [3/13/24]
Section titled “v17.2.4003 [3/13/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.2.4004 [3/13/24]
Section titled “v17.2.4004 [3/13/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.3.0 [3/17/24]
Section titled “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]
Section titled “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]
Section titled “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]
Section titled “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]
Section titled “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]
Section titled “v17.3.4001 [4/16/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.3.5000 [4/20/24]
Section titled “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]
Section titled “v17.3.5110 [5/1/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.3.6000 [5/1/24]
Section titled “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]
Section titled “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]
Section titled “v17.3.8000 [5/9/24]”- updated package to reflect the version ^17.3.8 of @angular/core package,
v17.3.9000 [5/16/24]
Section titled “v17.3.9000 [5/16/24]”- updated package to reflect the version ^17.3.9 of @angular/core package,
v18.0.1 [5/23/24]
Section titled “v18.0.1 [5/23/24]”- updated package to reflect the version ^18.0.0 of @angular/core package,
v18.0.4 [5/25/24]
Section titled “v18.0.4 [5/25/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v18.0.1000 [5/29/24]
Section titled “v18.0.1000 [5/29/24]”- updated package to reflect the version ^18.0.1 of @angular/core package,
v18.0.2000 [6/6/24]
Section titled “v18.0.2000 [6/6/24]”- updated package to reflect the version ^18.0.2 of @angular/core package
v18.0.2002 [6/11/2024 10:21:45 AM EST]
Section titled “v18.0.2002 [6/11/2024 10:21:45 AM EST]”[FIX]
In wml-toggle-zero.component.html, modified the click event to call toggle with parameters null and true.
Added distinctUntilChanged to listenForformControlChanges in wml-toggle-zero.component.ts to prevent redundant updates. In wml-toggle-zero.component.ts, adjusted toggle method to conditionally patch form control based on the new updateFormControl parameter. ,
v18.0.3000 [6/13/24]
Section titled “v18.0.3000 [6/13/24]”- updated package to reflect the version ^18.0.3 of @angular/core package,
v18.0.3010 [6/18/24]
Section titled “v18.0.3010 [6/18/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v18.0.4000 [6/23/24]
Section titled “v18.0.4000 [6/23/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v18.0.5000 [6/26/24]
Section titled “v18.0.5000 [6/26/24]”- updated package to reflect the version ^18.0.5 of @angular/core package,
v18.0.6000 [7/5/24]
Section titled “v18.0.6000 [7/5/24]”- updated package to reflect the version ^18.0.6 of @angular/core package,
v18.1.4 [7/13/24]
Section titled “v18.1.4 [7/13/24]”- updated package to reflect the version ^18.1.0 of @angular/core package,
v18.1.6 [7/14/24]
Section titled “v18.1.6 [7/14/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v18.1.1000 [7/18/24]
Section titled “v18.1.1000 [7/18/24]”- updated package to reflect the version ^18.1.1 of @angular/core package,
v18.1.2000 [7/24/24]
Section titled “v18.1.2000 [7/24/24]”- updated package to reflect the version ^18.1.2 of @angular/core package,
v18.1.2300 [7/27/24]
Section titled “v18.1.2300 [7/27/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v18.1.2301 [7/30/24]
Section titled “v18.1.2301 [7/30/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v18.1.3000-beta3 [8/1/24]
Section titled “v18.1.3000-beta3 [8/1/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v18.1.3000-beta4 [8/1/24]
Section titled “v18.1.3000-beta4 [8/1/24]”v18.1.3002 [8/4/24]
Section titled “v18.1.3002 [8/4/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.1.3001 [8/4/24]
Section titled “v18.1.3001 [8/4/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.1.3003 [8/5/24]
Section titled “v18.1.3003 [8/5/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.1.3004 [8/5/24]
Section titled “v18.1.3004 [8/5/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.1.3005 [8/5/24]
Section titled “v18.1.3005 [8/5/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.1.3006 [8/5/24]
Section titled “v18.1.3006 [8/5/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.1.3007 [8/5/24]
Section titled “v18.1.3007 [8/5/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.1.4000 [8/14/24]
Section titled “v18.1.4000 [8/14/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.1.4001 [8/14/24]
Section titled “v18.1.4001 [8/14/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.2.0 [8/15/24]
Section titled “v18.2.0 [8/15/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.2.1 [8/20/24]
Section titled “v18.2.1 [8/20/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.2.1000 [8/22/24]
Section titled “v18.2.1000 [8/22/24]”- updated package to reflect the version 18.2.1 of @angular/core package
v18.2.2000 [8/30/24]
Section titled “v18.2.2000 [8/30/24]”- updated package to reflect the version 18.2.2 of @angular/core package
v18.2.2100 [9/1/24]
Section titled “v18.2.2100 [9/1/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.2.2101 [9/1/24]
Section titled “v18.2.2101 [9/1/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.2.2200 [9/3/24]
Section titled “v18.2.2200 [9/3/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.2.3000 [9/4/24]
Section titled “v18.2.3000 [9/4/24]”- updated package to reflect the version 18.2.3 of @angular/core package
v18.2.3100 [9/8/24]
Section titled “v18.2.3100 [9/8/24]”- updated package to reflect the version 18.2.3 of @angular/core package
v18.2.3110 [9/10/24]
Section titled “v18.2.3110 [9/10/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.2.3112 [9/10/24]
Section titled “v18.2.3112 [9/10/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.2.3200 [9/16/24]
Section titled “v18.2.3200 [9/16/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.4000 [9/16/24]
Section titled “v18.2.4000 [9/16/24]”- updated package to reflect the version 18.2.4 of @angular/core package
v18.2.4100 [9/19/24]
Section titled “v18.2.4100 [9/19/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.4200 [9/21/24]
Section titled “v18.2.4200 [9/21/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.5001 [9/22/24]
Section titled “v18.2.5001 [9/22/24]”- updated package to reflect the version 18.2.5 of @angular/core package
v18.2.6000 [10/1/24]
Section titled “v18.2.6000 [10/1/24]”- updated package to reflect the version 18.2.6 of @angular/core package
v18.2.7000 [10/2/24]
Section titled “v18.2.7000 [10/2/24]”- updated package to reflect the version 18.2.7 of @angular/core package
v18.2.7001 [10/6/24]
Section titled “v18.2.7001 [10/6/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.7010 [10/9/24]
Section titled “v18.2.7010 [10/9/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.7020 [10/10/24]
Section titled “v18.2.7020 [10/10/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.8000 [10/10/24]
Section titled “v18.2.8000 [10/10/24]”- updated package to reflect the version 18.2.8 of @angular/core package
v18.2.8000 [10/11/24]
Section titled “v18.2.8000 [10/11/24]”- updated package to reflect the version 18.2.8 of @angular/core package
v18.2.8001 [10/11/24]
Section titled “v18.2.8001 [10/11/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.9000 [10/23/24]
Section titled “v18.2.9000 [10/23/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.10000 [10/31/24]
Section titled “v18.2.10000 [10/31/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.11000 [11/7/24]
Section titled “v18.2.11000 [11/7/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.12000 [11/15/24]
Section titled “v18.2.12000 [11/15/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.12001 [11/17/24]
Section titled “v18.2.12001 [11/17/24]”- updated package to conform with @windmillcode/wml-components-base
v19.0.0 [11/19/24]
Section titled “v19.0.0 [11/19/24]”- updated package to conform with @windmillcode/wml-components-base
v19.0.3 [11/20/24]
Section titled “v19.0.3 [11/20/24]”- updated package to conform with @windmillcode/wml-components-base
v19.0.4 [11/26/24]
Section titled “v19.0.4 [11/26/24]”- updated package to conform with @windmillcode/wml-components-base
v19.0.1000 [11/26/24]
Section titled “v19.0.1000 [11/26/24]”- updated package to conform with @windmillcode/wml-components-base
v19.0.2000 [12/4/24]
Section titled “v19.0.2000 [12/4/24]”- updated package to reflect the version 19.0.2 of @angular/core package
v19.0.3000 [12/6/24]
Section titled “v19.0.3000 [12/6/24]”- updated package to reflect the version 19.0.3 of @angular/core package
v19.0.4000 [12/12/24]
Section titled “v19.0.4000 [12/12/24]”- updated package to reflect the version 19.0.4 of @angular/core package
v19.0.5000 [12/19/24]
Section titled “v19.0.5000 [12/19/24]”- updated package to reflect the version 19.0.5 of @angular/core package
v19.0.5100 [12/29/24]
Section titled “v19.0.5100 [12/29/24]”- updated package to conform with @windmillcode/wml-components-base
v19.0.6000 [1/12/25]
Section titled “v19.0.6000 [1/12/25]”- updated package to reflect the version 19.0.6 of @angular/core package
v19.0.7000 [1/16/25]
Section titled “v19.0.7000 [1/16/25]”- updated package to reflect the version 19.0.7 of @angular/core package
v19.1.0 [1/17/25]
Section titled “v19.1.0 [1/17/25]”- updated package to reflect the version 19.1.0 of @angular/core package
v19.1.1000 [1/17/25]
Section titled “v19.1.1000 [1/17/25]”- updated package to reflect the version 19.1.1 of @angular/core package
v19.1.2000 [1/23/25]
Section titled “v19.1.2000 [1/23/25]”- updated package to reflect the version 19.1.2 of @angular/core package
v19.1.3000 [1/23/25]
Section titled “v19.1.3000 [1/23/25]”- updated package to reflect the version 19.1.3 of @angular/core package
v19.1.3100 [1/23/25]
Section titled “v19.1.3100 [1/23/25]”- update package to support the react native ecosystem
v19.1.3111 [1/27/25]
Section titled “v19.1.3111 [1/27/25]”- updated package to conform with @windmillcode/wml-components-base
v19.1.3112 [1/28/25]
Section titled “v19.1.3112 [1/28/25]”- updated package to conform with @windmillcode/wml-components-base
v19.1.4000 [1/31/25]
Section titled “v19.1.4000 [1/31/25]”- updated package to reflect the version 19.1.4 of @angular/core package
v19.1.5000 [2/8/25]
Section titled “v19.1.5000 [2/8/25]”- updated package to reflect the version 19.1.5 of @angular/core package
v19.1.6000 [2/13/25]
Section titled “v19.1.6000 [2/13/25]”- updated package to reflect the version 19.1.6 of @angular/core package
v19.1.7000 [2/21/25]
Section titled “v19.1.7000 [2/21/25]”- updated package to reflect the version 19.1.7 of @angular/core package
v19.1.8000 [3/4/25]
Section titled “v19.1.8000 [3/4/25]”- updated package to reflect the version 19.1.8 of @angular/core package
v19.2.0 [3/4/25]
Section titled “v19.2.0 [3/4/25]”- updated package to reflect the version 19.2.0 of @angular/core package
v19.2.1000 [3/9/25]
Section titled “v19.2.1000 [3/9/25]”- updated package to reflect the version 19.2.1 of @angular/core package
v19.2.2000 [3/15/25]
Section titled “v19.2.2000 [3/15/25]”- updated package to reflect the version 19.2.2 of @angular/core package
v19.2.3000 [3/21/25]
Section titled “v19.2.3000 [3/21/25]”- updated package to reflect the version 19.2.3 of @angular/core package
v19.2.4000 [3/27/25]
Section titled “v19.2.4000 [3/27/25]”- updated package to reflect the version 19.2.4 of @angular/core package
v19.2.5000 [4/3/25]
Section titled “v19.2.5000 [4/3/25]”- updated package to reflect the version 19.2.5 of @angular/core package
v19.2.5001 [4/6/25]
Section titled “v19.2.5001 [4/6/25]”- updated package to conform with @windmillcode/wml-components-base
v19.2.5100 [4/10/25]
Section titled “v19.2.5100 [4/10/25]”- updated package to conform with @windmillcode/wml-components-base
v19.2.6000 [4/10/25]
Section titled “v19.2.6000 [4/10/25]”- updated package to conform with @windmillcode/wml-components-base
v19.2.7000 [4/21/25]
Section titled “v19.2.7000 [4/21/25]”- updated package to conform with @windmillcode/wml-components-base
v19.2.8000 [4/24/25]
Section titled “v19.2.8000 [4/24/25]”- updated package to reflect the version 19.2.8 of @angular/core package
v19.2.9000 [5/1/25]
Section titled “v19.2.9000 [5/1/25]”- updated package to reflect the version 19.2.9 of @angular/core package
v19.2.10000 [5/8/25]
Section titled “v19.2.10000 [5/8/25]”- updated package to reflect the version 19.2.10 of @angular/core package
v19.2.11000 [5/15/25]
Section titled “v19.2.11000 [5/15/25]”- updated package to reflect the version 19.2.11 of @angular/core package
v19.2.12000 [5/22/25]
Section titled “v19.2.12000 [5/22/25]”- updated package to reflect the version 19.2.12 of @angular/core package
v19.2.13000 [5/24/25]
Section titled “v19.2.13000 [5/24/25]”- updated package to reflect the version 19.2.13 of @angular/core package
v19.2.14000 [5/28/25]
Section titled “v19.2.14000 [5/28/25]”- updated package to reflect the version 19.2.14 of @angular/core package
v19.2.14001 [6/11/25]
Section titled “v19.2.14001 [6/11/25]”- updated package to conform with @windmillcode/wml-components-base
v20.0.0 [6/29/25]
Section titled “v20.0.0 [6/29/25]”- updated package to conform with @windmillcode/wml-components-base
v20.0.1000 [6/30/25]
Section titled “v20.0.1000 [6/30/25]”- updated package to conform with @windmillcode/wml-components-base
v20.0.2000 [6/30/25]
Section titled “v20.0.2000 [6/30/25]”- updated package to conform with @windmillcode/wml-components-base
v20.0.3000 [7/2/25]
Section titled “v20.0.3000 [7/2/25]”- updated package to conform with @windmillcode/wml-components-base
v20.0.4000 [7/2/25]
Section titled “v20.0.4000 [7/2/25]”- updated package to conform with @windmillcode/wml-components-base
v20.0.5000 [7/2/25]
Section titled “v20.0.5000 [7/2/25]”- updated package to conform with @windmillcode/wml-components-base
v20.0.6000 [7/27/25]
Section titled “v20.0.6000 [7/27/25]”- updated package to conform with @windmillcode/wml-components-base
v20.1.0 [7/27/25]
Section titled “v20.1.0 [7/27/25]”- updated package to conform with @windmillcode/wml-components-base
v20.1.1000 [7/27/25]
Section titled “v20.1.1000 [7/27/25]”- updated package to conform with @windmillcode/wml-components-base
v20.1.2000 [7/28/25]
Section titled “v20.1.2000 [7/28/25]”- updated package to conform with @windmillcode/wml-components-base
v20.1.3000 [7/28/25]
Section titled “v20.1.3000 [7/28/25]”- updated package to conform with @windmillcode/wml-components-base
v20.1.4000 [8/1/25]
Section titled “v20.1.4000 [8/1/25]”- updated package to conform with @windmillcode/wml-components-base
v20.1.5000 [8/9/25]
Section titled “v20.1.5000 [8/9/25]”- updated package to conform with @windmillcode/wml-components-base
v20.1.6000 [8/14/25]
Section titled “v20.1.6000 [8/14/25]”- updated package to conform with @windmillcode/wml-components-base