material-inspired-component-library 1.1.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/README.md +22 -21
  2. package/components/accordion/README.md +7 -9
  3. package/components/bottomsheet/README.md +7 -9
  4. package/components/bottomsheet/index.scss +3 -0
  5. package/components/button/README.md +7 -9
  6. package/components/button/index.scss +3 -0
  7. package/components/card/README.md +3 -3
  8. package/components/card/index.scss +3 -0
  9. package/components/checkbox/README.md +7 -9
  10. package/components/checkbox/index.scss +2 -0
  11. package/components/dialog/README.md +3 -3
  12. package/components/dialog/index.scss +3 -0
  13. package/components/divider/README.md +3 -3
  14. package/components/iconbutton/README.md +7 -9
  15. package/components/iconbutton/index.scss +3 -0
  16. package/components/list/README.md +58 -30
  17. package/components/list/index.scss +117 -53
  18. package/components/list/index.ts +1 -1
  19. package/components/menu/README.md +8 -10
  20. package/components/menu/index.scss +5 -2
  21. package/components/radio/README.md +3 -3
  22. package/components/radio/index.scss +2 -0
  23. package/components/select/README.md +9 -11
  24. package/components/select/index.scss +3 -1
  25. package/components/sidesheet/README.md +3 -3
  26. package/components/sidesheet/index.scss +2 -0
  27. package/components/slider/README.md +15 -9
  28. package/components/slider/index.scss +142 -51
  29. package/components/slider/index.ts +67 -31
  30. package/components/switch/README.md +3 -3
  31. package/components/switch/index.scss +3 -0
  32. package/components/textfield/README.md +7 -11
  33. package/components/textfield/index.scss +2 -0
  34. package/dist/bottomsheet.css +1 -1
  35. package/dist/bottomsheet.js +1 -0
  36. package/dist/button.css +1 -1
  37. package/dist/button.js +1 -0
  38. package/dist/card.css +1 -1
  39. package/dist/card.js +1 -0
  40. package/dist/checkbox.css +1 -1
  41. package/dist/checkbox.js +1 -0
  42. package/dist/components/bottomsheet/index.d.ts +6 -0
  43. package/dist/components/button/index.d.ts +6 -0
  44. package/dist/components/checkbox/index.d.ts +5 -0
  45. package/dist/components/iconbutton/index.d.ts +6 -0
  46. package/dist/components/list/index.d.ts +5 -0
  47. package/dist/components/menu/index.d.ts +16 -0
  48. package/dist/components/slider/index.d.ts +6 -0
  49. package/dist/components/textfield/index.d.ts +8 -0
  50. package/dist/dialog.css +1 -1
  51. package/dist/dialog.js +1 -0
  52. package/dist/divider.js +1 -0
  53. package/dist/iconbutton.css +1 -1
  54. package/dist/iconbutton.js +1 -0
  55. package/dist/list.css +1 -1
  56. package/dist/list.js +1 -0
  57. package/dist/menu.css +1 -1
  58. package/dist/menu.js +1 -0
  59. package/dist/micl.css +1 -1
  60. package/dist/micl.d.ts +5 -0
  61. package/dist/micl.js +1 -1
  62. package/dist/radio.css +1 -1
  63. package/dist/radio.js +1 -0
  64. package/dist/select.css +1 -1
  65. package/dist/select.js +1 -0
  66. package/dist/sidesheet.css +1 -1
  67. package/dist/sidesheet.js +1 -0
  68. package/dist/slider.css +1 -1
  69. package/dist/slider.js +1 -0
  70. package/dist/switch.css +1 -1
  71. package/dist/switch.js +1 -0
  72. package/dist/textfield.css +1 -1
  73. package/dist/textfield.js +1 -0
  74. package/docs/accordion.html +1 -1
  75. package/docs/bottomsheet.html +2 -2
  76. package/docs/button.html +1 -1
  77. package/docs/card.html +1 -1
  78. package/docs/checkbox.html +1 -1
  79. package/docs/dialog.html +2 -2
  80. package/docs/divider.html +1 -1
  81. package/docs/iconbutton.html +1 -1
  82. package/docs/index.html +2 -2
  83. package/docs/list.html +51 -34
  84. package/docs/menu.html +15 -11
  85. package/docs/micl.css +1 -1
  86. package/docs/micl.js +1 -1
  87. package/docs/radio.html +1 -1
  88. package/docs/select.html +11 -9
  89. package/docs/sidesheet.html +1 -1
  90. package/docs/slider.html +57 -21
  91. package/docs/switch.html +1 -1
  92. package/docs/textfield.html +1 -1
  93. package/{components.ts → micl.ts} +78 -53
  94. package/package.json +4 -2
  95. package/styles/layout.scss +74 -0
  96. package/tsconfig.json +11 -5
  97. package/webpack.config.js +7 -4
package/README.md CHANGED
@@ -28,24 +28,29 @@ npm install material-inspired-component-library
28
28
 
29
29
  **Sass/SCSS**
30
30
 
31
- To import the styles for a single component:
31
+ To import the styles for a single component (e.g., the [Card component](components/card/README.md)):
32
32
  ```SCSS
33
- @use "material-inspired-component-library/components/card";
33
+ @use "material-inspired-component-library/dist/card";
34
34
  ```
35
35
  To import all component styles:
36
36
  ```SCSS
37
37
  @use "material-inspired-component-library/styles";
38
38
  ```
39
+ Remember to import your [theme file](themes/README.md) as well:
40
+ ```SCSS
41
+ @use "path/to/mytheme";
42
+ ```
39
43
 
40
44
  **Plain CSS**
41
45
 
42
- Add the main CSS file to your project:
46
+ Copy the main `micl.css` file to your distribution folder and include it in your application. Include your [theme file](themes/README.md) as well:
43
47
  ```HTML
44
- <link rel="stylesheet" href="node_modules/material-inspired-component-library/dist/micl.css">
48
+ <link rel="stylesheet" type="text/css" href="path/to/dist/mytheme.css">
49
+ <link rel="stylesheet" type="text/css" href="path/to/dist/micl.css">
45
50
  ```
46
51
 
47
52
  ### 3. Add the HTML & JavaScript
48
- Here is a simple example of a **Card** component.
53
+ Here is a simple example of a [Card component](components/card/README.md).
49
54
 
50
55
  ```HTML
51
56
  <div class="micl-card-outlined">
@@ -57,27 +62,19 @@ Here is a simple example of a **Card** component.
57
62
  </div>
58
63
  ```
59
64
 
60
- Some components, list the **List**, require a small amount of JavaScript to handle interactive behaviour.
61
-
62
- ```TypeScript
63
- // For components with interactive behaviour
64
- import list from "material-inspired-component-library/components/lists";
65
-
66
- // To import TypeScript for all components
67
- import components from "material-inspired-component-library/components";
68
- ```
69
-
70
- To import all the TypeScript into your project:
71
- ```TypeScript
72
- import components from "material-inspired-component-library/components";
65
+ Some components, like the [List](components/list/README.md), require a small amount of JavaScript to handle interactive behaviour. Because the JavaScript footprint in MICL is so small, you can import the code for all components at once.
66
+ ```JavaScript
67
+ import micl from "material-inspired-component-library/dist/micl";
73
68
  ```
69
+ This will initialize all MICL components, including those that will be added to the DOM later on.
74
70
 
75
71
  **Plain JavaScript**
76
72
 
77
- Add the main JavaScript file to your project:
73
+ Copy the main `micl.js` file to your distribution folder and include it in your application:
78
74
  ```HTML
79
- <script src="node_modules/material-inspired-component-library/dist/micl.js"></script>
75
+ <script src="path/to/dist/micl.js"></script>
80
76
  ```
77
+ This will initialize all MICL components, including those that will be added to the DOM later on.
81
78
 
82
79
  ## Available components ✅
83
80
  The library currently consists of the following components:
@@ -100,6 +97,10 @@ The library currently consists of the following components:
100
97
 
101
98
  ## Change Log
102
99
 
103
- #### 1.1.0 (12.08.2025)
100
+ ### 1.1.0 (12.08.2025)
104
101
  **Features**
105
102
  - **Text field**: Added support for multi-line text fields.
103
+
104
+ ### 1.2.0 (17.08.2025)
105
+ **Features**
106
+ - **List**: Added support for switches inside list items.
@@ -31,20 +31,18 @@ The Accordion component is an extension of the [**List** component](../list/READ
31
31
  Import the list styles into your project:
32
32
 
33
33
  ```CSS
34
- @use "material-inspired-component-library/components/list";
34
+ @use "material-inspired-component-library/dist/list";
35
35
  ```
36
36
 
37
- ### TypeScript
38
- This component requires a TypeScript module to support keyboard navigation. You can import the specific module or use the main MICL TypeScript library, which handles initialization automatically.
37
+ ### JavaScript
38
+ This component requires JavaScript to support keyboard navigation:
39
39
 
40
- To manually initialize the component:
41
-
42
- ```TypeScript
43
- import miclAccordion from 'material-inspired-component-library/components/list';
44
-
45
- miclAccordion.initialize(document.querySelector('.micl-list'));
40
+ ```JavaScript
41
+ import micl from "material-inspired-component-library/dist/micl";
46
42
  ```
47
43
 
44
+ This will initialize any List component, including those that will be added to the DOM later on.
45
+
48
46
  ### Demo
49
47
  A live example of the [Accordion component](https://henkpb.github.io/micl/accordion.html) is available for you to interact with.
50
48
 
@@ -18,20 +18,18 @@ To create a standard bottom sheet, use the `<dialog>` element with the `popover`
18
18
  Import the bottom sheet styles into your project:
19
19
 
20
20
  ```CSS
21
- @use "material-inspired-component-library/components/bottomsheet";
21
+ @use "material-inspired-component-library/dist/bottomsheet";
22
22
  ```
23
23
 
24
- ### TypeScript
25
- This component requires a TypeScript module to support **modal** and **resizable** bottom sheets. You can import the specific bottom sheet module or use the main MICL TypeScript library, which handles initialization automatically.
24
+ ### JavaScript
25
+ This component requires JavaScript to support **modal** and **resizable** bottom sheets:
26
26
 
27
- To manually initialize the component:
28
-
29
- ```TypeScript
30
- import miclBottomSheet from 'material-inspired-component-library/components/bottomsheet';
31
-
32
- miclBottomSheet.initialize(document.querySelector('.micl-bottomsheet'));
27
+ ```JavaScript
28
+ import micl from "material-inspired-component-library/dist/micl";
33
29
  ```
34
30
 
31
+ This will initialize any Bottom sheet component, including those that will be added to the DOM later on.
32
+
35
33
  ### Demo
36
34
  A live example of the [Bottom sheet component](https://henkpb.github.io/micl/bottomsheet.html) is available for you to interact with.
37
35
 
@@ -19,7 +19,10 @@
19
19
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
20
  // SOFTWARE.
21
21
 
22
+ @use '../../styles/elevation';
22
23
  @use '../../styles/motion';
24
+ @use '../../styles/shapes';
25
+ @use '../../styles/statelayer';
23
26
 
24
27
  dialog.micl-bottomsheet {
25
28
  --md-sys-bottomsheet-height: max-content;
@@ -14,20 +14,18 @@ To create a basic button, use the `<button>` element with a class that specifies
14
14
  Import the button styles into your project:
15
15
 
16
16
  ```CSS
17
- @use "material-inspired-component-library/components/button";
17
+ @use "material-inspired-component-library/dist/button";
18
18
  ```
19
19
 
20
- ### TypeScript
21
- This component requires a TypeScript module for interactive features like the **ripple effect** and **toggle logic**. You can import the specific button module or use the main MICL TypeScript library, which handles initialization automatically.
20
+ ### JavaScript
21
+ This component requires JavaScript for interactive features like the **ripple effect** and **toggle logic**:
22
22
 
23
- To manually initialize the component:
24
-
25
- ```TypeScript
26
- import miclButton from 'material-inspired-component-library/components/button';
27
-
28
- miclButton.initialize(document.querySelector('.micl-button-text-s'));
23
+ ```JavaScript
24
+ import micl from "material-inspired-component-library/dist/micl";
29
25
  ```
30
26
 
27
+ This will initialize any Button component, including those that will be added to the DOM later on.
28
+
31
29
  ### Demo
32
30
  A live example of the [Button component](https://henkpb.github.io/micl/button.html) is available for you to interact with.
33
31
 
@@ -19,8 +19,11 @@
19
19
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
20
  // SOFTWARE.
21
21
 
22
+ @use '../../styles/elevation';
22
23
  @use '../../styles/motion';
23
24
  @use '../../styles/ripple';
25
+ @use '../../styles/shapes';
26
+ @use '../../styles/statelayer';
24
27
  @use '../../styles/typography';
25
28
 
26
29
  button.micl-button-text-xs,
@@ -16,11 +16,11 @@ To add a basic card, use a `<div>` element with one of the primary card style cl
16
16
  Import the card styles into your project:
17
17
 
18
18
  ```CSS
19
- @use "material-inspired-component-library/components/card";
19
+ @use "material-inspired-component-library/dist/card";
20
20
  ```
21
21
 
22
- ### TypeScript
23
- No custom TypeScript is required for the core functionality of this component.
22
+ ### JavaScript
23
+ No custom JavaScript is required for the core functionality of this component.
24
24
 
25
25
  ### Demo
26
26
  A live example of the [Card component](https://henkpb.github.io/micl/card.html) is available for you to interact with.
@@ -19,8 +19,11 @@
19
19
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
20
  // SOFTWARE.
21
21
 
22
+ @use '../../styles/elevation';
22
23
  @use '../../styles/motion';
23
24
  @use '../../styles/ripple';
25
+ @use '../../styles/shapes';
26
+ @use '../../styles/statelayer';
24
27
  @use '../../styles/typography';
25
28
 
26
29
  :root {
@@ -15,20 +15,18 @@ To add a basic checkbox, use the `<input type="checkbox">` element with the `mic
15
15
  Import the checkbox styles into your project:
16
16
 
17
17
  ```CSS
18
- @use "material-inspired-component-library/components/checkbox";
18
+ @use "material-inspired-component-library/dist/checkbox";
19
19
  ```
20
20
 
21
- ### TypeScript
22
- This component requires a TypeScript module to support checking and unchecking using a keyboard. You can import the specific module or use the main MICL TypeScript library, which handles initialization automatically.
21
+ ### JavaScript
22
+ This component requires JavaScript to support checking and unchecking using a keyboard:
23
23
 
24
- To manually initialize the component:
25
-
26
- ```TypeScript
27
- import miclCheckbox from 'material-inspired-component-library/components/checkbox';
28
-
29
- miclCheckbox.initialize(document.querySelector('.micl-checkbox'));
24
+ ```JavaScript
25
+ import micl from "material-inspired-component-library/dist/micl";
30
26
  ```
31
27
 
28
+ This will initialize any Checkbox component, including those that will be added to the DOM later on.
29
+
32
30
  ### Demo
33
31
  A live example of the [Checkbox component](https://henkpb.github.io/micl/checkbox.html) is available for you to interact with.
34
32
 
@@ -21,6 +21,8 @@
21
21
 
22
22
  @use '../../styles/motion';
23
23
  @use '../../styles/ripple';
24
+ @use '../../styles/statelayer';
25
+ @use '../../styles/typography';
24
26
 
25
27
  :root {
26
28
  --md-sys-checkbox-container-size: 18px;
@@ -25,11 +25,11 @@ To create a basic dialog, use the `<dialog>` element with the `micl-dialog` clas
25
25
  Import the dialog styles into your project:
26
26
 
27
27
  ```CSS
28
- @use "material-inspired-component-library/components/dialog";
28
+ @use "material-inspired-component-library/dist/dialog";
29
29
  ```
30
30
 
31
- ### TypeScript
32
- No custom TypeScript is required for the core functionality of this component, as the native popover attribute handles the open/close behavior.
31
+ ### JavaScript
32
+ No custom JavaScript is required for the core functionality of this component, as the native popover attribute handles the open/close behavior.
33
33
 
34
34
  ### Demo
35
35
  A live example of the [Dialog component](https://henkpb.github.io/micl/dialog.html) is available for you to interact with.
@@ -19,7 +19,10 @@
19
19
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
20
  // SOFTWARE.
21
21
 
22
+ @use '../../styles/elevation';
22
23
  @use '../../styles/motion';
24
+ @use '../../styles/shapes';
25
+ @use '../../styles/statelayer';
23
26
  @use '../../styles/typography';
24
27
 
25
28
  :root {
@@ -14,11 +14,11 @@ To add a basic divider, use the `<hr>` element with the `micl-divider` class:
14
14
  Import the divider styles into your project:
15
15
 
16
16
  ```CSS
17
- @use "material-inspired-component-library/components/divider";
17
+ @use "material-inspired-component-library/dist/divider";
18
18
  ```
19
19
 
20
- ### TypeScript
21
- No custom TypeScript is required for the core functionality of this component.
20
+ ### JavaScript
21
+ No custom JavaScript is required for the core functionality of this component.
22
22
 
23
23
  ### Demo
24
24
  A live example of the [Divider component](https://henkpb.github.io/micl/divider.html) is available for you to interact with.
@@ -16,20 +16,18 @@ To create a basic icon button, use the `<button>` element with a class that spec
16
16
  Import the icon button styles into your project:
17
17
 
18
18
  ```CSS
19
- @use "material-inspired-component-library/components/iconbutton";
19
+ @use "material-inspired-component-library/dist/iconbutton";
20
20
  ```
21
21
 
22
- ### TypeScript
23
- This component requires a TypeScript module for interactive features like the **ripple effect** and **toggle logic**. You can import the specific module and handle initialization manually, or use the main MICL library for automatic initialization.
22
+ ### JavaScript
23
+ This component requires JavaScript for interactive features like the **ripple effect** and **toggle logic**:
24
24
 
25
- To manually initialize the component:
26
-
27
- ```TypeScript
28
- import miclIconButton from 'material-inspired-component-library/components/button';
29
-
30
- miclIconButton.initialize(document.querySelector('.micl-iconbutton-standard-s'));
25
+ ```JavaScript
26
+ import micl from "material-inspired-component-library/dist/micl";
31
27
  ```
32
28
 
29
+ This will initialize any Icon button component, including those that will be added to the DOM later on.
30
+
33
31
  ### Demo
34
32
  A live example of the [Icon button component](https://henkpb.github.io/micl/iconbutton.html) is available for you to interact with.
35
33
 
@@ -19,8 +19,11 @@
19
19
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
20
  // SOFTWARE.
21
21
 
22
+ @use '../../styles/elevation';
22
23
  @use '../../styles/motion';
23
24
  @use '../../styles/ripple';
25
+ @use '../../styles/shapes';
26
+ @use '../../styles/statelayer';
24
27
 
25
28
  button.micl-iconbutton-standard-xs,
26
29
  button.micl-iconbutton-standard-s,
@@ -24,20 +24,18 @@ To create a basic list, use the `<ul>` element with the `micl-list` class and in
24
24
  Import the list styles into your project:
25
25
 
26
26
  ```CSS
27
- @use "material-inspired-component-library/components/list";
27
+ @use "material-inspired-component-library/dist/list";
28
28
  ```
29
29
 
30
- ### TypeScript
31
- This component requires a TypeScript module to support keyboard navigation. You can import the specific module or use the main MICL TypeScript library, which handles initialization automatically.
30
+ ### JavaScript
31
+ This component requires JavaScript to support keyboard navigation:
32
32
 
33
- To manually initialize the component:
34
-
35
- ```TypeScript
36
- import miclList from 'material-inspired-component-library/components/list';
37
-
38
- miclList.initialize(document.querySelector('.micl-list'));
33
+ ```JavaScript
34
+ import micl from "material-inspired-component-library/dist/micl";
39
35
  ```
40
36
 
37
+ This will initialize any List component, including those that will be added to the DOM later on.
38
+
41
39
  ### Demo
42
40
  A live example of the [List component](https://henkpb.github.io/micl/list.html) is available for you to interact with.
43
41
 
@@ -61,6 +59,20 @@ The List component offers three CSS classes to control the height and content ca
61
59
  </ul>
62
60
  ```
63
61
 
62
+ Use the anchor element to convert a list item into a hyperlink:
63
+
64
+ ```HTML
65
+ <ul class="micl-list" role="listbox">
66
+ <li class="micl-list-item-one" tabindex="0">
67
+ <a href="https://www.thetimes.com" tabindex="-1">
68
+ <span class="micl-list-item__text">
69
+ <span class="micl-list-item__headline">The Times</span>
70
+ </span>
71
+ </a>
72
+ </li>
73
+ </ul>
74
+ ```
75
+
64
76
  Adding the `micl-list-item--disabled` class to the `<li>` element causes the list item to be displayed in a disabled state.
65
77
 
66
78
  Add the `micl-list__divider` class to the `<ul>` element to automatically place a divider between each list item.
@@ -79,10 +91,10 @@ The text content of a list item can be preceded by various media elements:
79
91
  </li>
80
92
  ```
81
93
 
82
- - **Avatar**: Use `micl-list-item__avatar` with an avatar image (or icon).
94
+ - **Avatar**: Use `micl-list-item__avatar` with a text.
83
95
  ```HTML
84
96
  <li class="micl-list-item-two" tabindex="0">
85
- <span class="material-symbols-outlined micl-list-item__avatar">account_circle</span>
97
+ <span class="micl-list-item__avatar">BJ</span>
86
98
  <span class="micl-list-item__text">
87
99
  <span class="micl-list-item__headline">Bill Jones</span>
88
100
  <span class="micl-list-item__supporting-text">bill.jones@email.com</span>
@@ -113,35 +125,51 @@ The text content of a list item can be preceded by various media elements:
113
125
  ```
114
126
 
115
127
  ### Trailing Content
116
- The text of a list item may be followed by a trailing text or other elements (like a checkbox).
128
+ The text of a list item may be followed by a trailing text, imagery or other elements (like a checkbox).
117
129
 
118
- ```HTML
119
- <li class="micl-list-item-one" tabindex="0">
120
- <span class="micl-list-item__text">
121
- <span class="micl-list-item__headline">To-do items</span>
122
- </span>
123
- <span class="micl-list-item__trailing-text">100+</span>
124
- </li>
125
- ````
130
+ - **Icon**: Use `micl-list-item__icon` with a (Material Symbols) icon.
131
+ ```HTML
132
+ <li class="micl-list-item-two" tabindex="0">
133
+ <span class="micl-list-item__text">
134
+ <span class="micl-list-item__headline">Date and time</span>
135
+ <span class="micl-list-item__supporting-text">Timezones, calendar display</span>
136
+ </span>
137
+ <span class="material-symbols-outlined micl-list-item__icon" aria-hidden="true">more_horiz</span>
138
+ </li>
139
+ ```
140
+
141
+ - **Text**: Use `micl-list-item__trailing-text` with a short text.
142
+ ```HTML
143
+ <li class="micl-list-item-one" tabindex="0">
144
+ <span class="micl-list-item__text">
145
+ <span class="micl-list-item__headline">To-do items</span>
146
+ </span>
147
+ <span class="micl-list-item__trailing-text">100+</span>
148
+ </li>
149
+ ````
126
150
 
127
151
  ### Selecting List Items
128
- To enable selection of list items, integrate a checkbox component within the `<li>` element. The `micl-list-item__text` should typically wrap the headline and supporting text, acting as the label for the checkbox.
152
+ To enable selection of list items, integrate a checkbox or switch component within the `<li>` element.
129
153
 
130
154
  ```HTML
131
155
  <ul class="micl-list micl-list__divider" role="listbox">
132
156
  <li class="micl-list-item-two" tabindex="0">
133
- <label for="checkbox1" class="micl-list-item__text">
134
- <span class="micl-list-item__headline">Blue car</span>
135
- <span class="micl-list-item__supporting-text">A blue car with four wheels.</span>
136
- </label>
137
- <input type="checkbox" id="checkbox1" class="micl-checkbox" value="cb1" tabindex="-1">
157
+ <label>
158
+ <span class="micl-list-item__text">
159
+ <span class="micl-list-item__headline">Blue car</span>
160
+ <span class="micl-list-item__supporting-text">A blue car with four wheels.</span>
161
+ </label>
162
+ <input type="checkbox" id="mycheckbox" class="micl-checkbox" value="cb1" tabindex="-1">
163
+ </span>
138
164
  </li>
139
165
  <li class="micl-list-item-two" tabindex="0">
140
- <label for="checkbox2" class="micl-list-item__text">
141
- <span class="micl-list-item__headline">Red car</span>
142
- <span class="micl-list-item__supporting-text">A red car with tinted windows.</span>
166
+ <label>
167
+ <span class="micl-list-item__text">
168
+ <span class="micl-list-item__headline">Red car</span>
169
+ <span class="micl-list-item__supporting-text">A red car with tinted windows.</span>
170
+ </label>
171
+ <input type="checkbox" id="checkbox2" class="micl-switch" value="cb2" tabindex="-1">
143
172
  </label>
144
- <input type="checkbox" id="checkbox2" class="micl-checkbox" value="cb2" tabindex="-1">
145
173
  </li>
146
174
  </ul>
147
175
  ```