@statistikzh/leu 0.5.1 → 0.7.0

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 (236) hide show
  1. package/.husky/commit-msg +0 -3
  2. package/.husky/pre-commit +0 -3
  3. package/CHANGELOG.md +54 -0
  4. package/dist/Accordion.d.ts +10 -9
  5. package/dist/Accordion.d.ts.map +1 -1
  6. package/dist/Accordion.js +12 -11
  7. package/dist/Breadcrumb.d.ts +4 -4
  8. package/dist/Breadcrumb.d.ts.map +1 -1
  9. package/dist/Breadcrumb.js +28 -24
  10. package/dist/{Button-5326c982.d.ts → Button-7370f901.d.ts} +10 -11
  11. package/dist/Button-7370f901.d.ts.map +1 -0
  12. package/dist/{Button-5326c982.js → Button-7370f901.js} +57 -67
  13. package/dist/Button.d.ts +1 -1
  14. package/dist/Button.js +3 -3
  15. package/dist/ButtonGroup.d.ts +2 -2
  16. package/dist/ButtonGroup.d.ts.map +1 -1
  17. package/dist/ButtonGroup.js +3 -3
  18. package/dist/Checkbox.d.ts +4 -3
  19. package/dist/Checkbox.d.ts.map +1 -1
  20. package/dist/Checkbox.js +14 -17
  21. package/dist/CheckboxGroup.d.ts +2 -2
  22. package/dist/CheckboxGroup.d.ts.map +1 -1
  23. package/dist/CheckboxGroup.js +4 -4
  24. package/dist/Chip.d.ts +2 -2
  25. package/dist/Chip.d.ts.map +1 -1
  26. package/dist/Chip.js +23 -28
  27. package/dist/ChipGroup.d.ts +16 -8
  28. package/dist/ChipGroup.d.ts.map +1 -1
  29. package/dist/ChipGroup.js +39 -9
  30. package/dist/ChipLink.d.ts +2 -1
  31. package/dist/ChipLink.d.ts.map +1 -1
  32. package/dist/ChipLink.js +4 -7
  33. package/dist/ChipRemovable.d.ts +0 -2
  34. package/dist/ChipRemovable.d.ts.map +1 -1
  35. package/dist/ChipRemovable.js +8 -11
  36. package/dist/ChipSelectable.d.ts +12 -2
  37. package/dist/ChipSelectable.d.ts.map +1 -1
  38. package/dist/ChipSelectable.js +24 -26
  39. package/dist/Dropdown.d.ts +9 -5
  40. package/dist/Dropdown.d.ts.map +1 -1
  41. package/dist/Dropdown.js +68 -32
  42. package/dist/Icon.d.ts +116 -0
  43. package/dist/Icon.d.ts.map +1 -0
  44. package/dist/{icon-03e86700.js → Icon.js} +61 -32
  45. package/dist/Input.d.ts +13 -17
  46. package/dist/Input.d.ts.map +1 -1
  47. package/dist/Input.js +33 -24
  48. package/dist/LeuElement-ba5ea33d.d.ts +7 -0
  49. package/dist/LeuElement-ba5ea33d.d.ts.map +1 -0
  50. package/dist/{_rollupPluginBabelHelpers-20f659f4.js → LeuElement-ba5ea33d.js} +20 -1
  51. package/dist/Menu.d.ts +24 -2
  52. package/dist/Menu.d.ts.map +1 -1
  53. package/dist/Menu.js +120 -3
  54. package/dist/MenuItem.d.ts +28 -11
  55. package/dist/MenuItem.d.ts.map +1 -1
  56. package/dist/MenuItem.js +110 -63
  57. package/dist/Pagination.d.ts +10 -3
  58. package/dist/Pagination.d.ts.map +1 -1
  59. package/dist/Pagination.js +24 -21
  60. package/dist/Popup.d.ts +21 -3
  61. package/dist/Popup.d.ts.map +1 -1
  62. package/dist/Popup.js +44 -17
  63. package/dist/Radio.d.ts +4 -2
  64. package/dist/Radio.d.ts.map +1 -1
  65. package/dist/Radio.js +9 -14
  66. package/dist/RadioGroup.d.ts +2 -2
  67. package/dist/RadioGroup.d.ts.map +1 -1
  68. package/dist/RadioGroup.js +20 -11
  69. package/dist/ScrollTop.d.ts +2 -2
  70. package/dist/ScrollTop.d.ts.map +1 -1
  71. package/dist/ScrollTop.js +10 -8
  72. package/dist/Select.d.ts +75 -37
  73. package/dist/Select.d.ts.map +1 -1
  74. package/dist/Select.js +279 -181
  75. package/dist/Table.d.ts +2 -6
  76. package/dist/Table.d.ts.map +1 -1
  77. package/dist/Table.js +16 -16
  78. package/dist/VisuallyHidden.d.ts +2 -2
  79. package/dist/VisuallyHidden.d.ts.map +1 -1
  80. package/dist/VisuallyHidden.js +3 -3
  81. package/dist/index.d.ts +2 -2
  82. package/dist/index.js +5 -14
  83. package/dist/leu-accordion.d.ts.map +1 -1
  84. package/dist/leu-accordion.js +2 -3
  85. package/dist/leu-breadcrumb.d.ts.map +1 -1
  86. package/dist/leu-breadcrumb.js +4 -10
  87. package/dist/leu-button-group.d.ts.map +1 -1
  88. package/dist/leu-button-group.js +2 -3
  89. package/dist/leu-button.d.ts +1 -1
  90. package/dist/leu-button.d.ts.map +1 -1
  91. package/dist/leu-button.js +4 -5
  92. package/dist/leu-checkbox-group.d.ts.map +1 -1
  93. package/dist/leu-checkbox-group.js +2 -3
  94. package/dist/leu-checkbox.d.ts.map +1 -1
  95. package/dist/leu-checkbox.js +3 -4
  96. package/dist/leu-chip-group.d.ts.map +1 -1
  97. package/dist/leu-chip-group.js +2 -3
  98. package/dist/leu-chip-link.d.ts.map +1 -1
  99. package/dist/leu-chip-link.js +2 -3
  100. package/dist/leu-chip-removable.d.ts.map +1 -1
  101. package/dist/leu-chip-removable.js +3 -4
  102. package/dist/leu-chip-selectable.d.ts.map +1 -1
  103. package/dist/leu-chip-selectable.js +2 -3
  104. package/dist/leu-dropdown.d.ts.map +1 -1
  105. package/dist/leu-dropdown.js +5 -10
  106. package/dist/leu-icon.d.ts +3 -0
  107. package/dist/leu-icon.d.ts.map +1 -0
  108. package/dist/leu-icon.js +7 -0
  109. package/dist/leu-input.d.ts.map +1 -1
  110. package/dist/leu-input.js +3 -4
  111. package/dist/leu-menu-item.d.ts.map +1 -1
  112. package/dist/leu-menu-item.js +3 -5
  113. package/dist/leu-menu.d.ts.map +1 -1
  114. package/dist/leu-menu.js +5 -3
  115. package/dist/leu-pagination.d.ts.map +1 -1
  116. package/dist/leu-pagination.js +4 -7
  117. package/dist/leu-popup.d.ts.map +1 -1
  118. package/dist/leu-popup.js +2 -3
  119. package/dist/leu-radio-group.d.ts.map +1 -1
  120. package/dist/leu-radio-group.js +2 -3
  121. package/dist/leu-radio.d.ts.map +1 -1
  122. package/dist/leu-radio.js +2 -3
  123. package/dist/leu-scroll-top.d.ts.map +1 -1
  124. package/dist/leu-scroll-top.js +4 -6
  125. package/dist/leu-select.d.ts.map +1 -1
  126. package/dist/leu-select.js +5 -13
  127. package/dist/leu-table.d.ts.map +1 -1
  128. package/dist/leu-table.js +4 -8
  129. package/dist/leu-visually-hidden.d.ts.map +1 -1
  130. package/dist/leu-visually-hidden.js +2 -3
  131. package/dist/theme.css +2 -0
  132. package/dist/vscode.html-custom-data.json +124 -74
  133. package/dist/vue/index.d.ts +83 -67
  134. package/dist/web-types.json +256 -142
  135. package/package.json +9 -12
  136. package/scripts/generate-component/templates/[Name].js +6 -3
  137. package/scripts/generate-component/templates/test/[name].test.js +1 -1
  138. package/src/components/accordion/Accordion.js +13 -10
  139. package/src/components/accordion/leu-accordion.js +1 -2
  140. package/src/components/breadcrumb/Breadcrumb.js +31 -18
  141. package/src/components/breadcrumb/leu-breadcrumb.js +1 -2
  142. package/src/components/button/Button.js +45 -71
  143. package/src/components/button/button.css +11 -9
  144. package/src/components/button/leu-button.js +1 -2
  145. package/src/components/button/stories/button.stories.js +60 -19
  146. package/src/components/button/test/button.test.js +26 -63
  147. package/src/components/button-group/ButtonGroup.js +4 -2
  148. package/src/components/button-group/leu-button-group.js +1 -2
  149. package/src/components/checkbox/Checkbox.js +17 -11
  150. package/src/components/checkbox/CheckboxGroup.js +6 -3
  151. package/src/components/checkbox/leu-checkbox-group.js +1 -2
  152. package/src/components/checkbox/leu-checkbox.js +1 -2
  153. package/src/components/checkbox/stories/checkbox-group.stories.js +10 -26
  154. package/src/components/checkbox/stories/checkbox.stories.js +2 -7
  155. package/src/components/checkbox/test/checkbox-group.test.js +6 -21
  156. package/src/components/checkbox/test/checkbox.test.js +1 -12
  157. package/src/components/chip/Chip.js +5 -4
  158. package/src/components/chip/ChipGroup.js +38 -8
  159. package/src/components/chip/ChipLink.js +3 -7
  160. package/src/components/chip/ChipRemovable.js +8 -11
  161. package/src/components/chip/ChipSelectable.js +23 -27
  162. package/src/components/chip/chip.css +19 -20
  163. package/src/components/chip/leu-chip-group.js +1 -2
  164. package/src/components/chip/leu-chip-link.js +1 -2
  165. package/src/components/chip/leu-chip-removable.js +1 -2
  166. package/src/components/chip/leu-chip-selectable.js +1 -2
  167. package/src/components/chip/stories/chip-group.stories.js +6 -9
  168. package/src/components/chip/stories/chip-link.stories.js +3 -5
  169. package/src/components/chip/stories/chip-removable.stories.js +3 -4
  170. package/src/components/chip/stories/chip-selectable.stories.js +3 -3
  171. package/src/components/chip/test/chip-group.test.js +82 -30
  172. package/src/components/chip/test/chip-link.test.js +2 -6
  173. package/src/components/chip/test/chip-removable.test.js +4 -10
  174. package/src/components/chip/test/chip-selectable.test.js +10 -12
  175. package/src/components/dropdown/Dropdown.js +79 -26
  176. package/src/components/dropdown/leu-dropdown.js +1 -2
  177. package/src/components/dropdown/stories/dropdown.stories.js +30 -7
  178. package/src/components/dropdown/test/dropdown.test.js +5 -5
  179. package/src/components/icon/Icon.js +55 -0
  180. package/src/components/icon/icon.css +6 -0
  181. package/src/components/icon/leu-icon.js +5 -0
  182. package/src/components/icon/{icon.js → paths.js} +4 -37
  183. package/src/components/icon/stories/icon.stories.js +47 -0
  184. package/src/components/icon/test/icon.test.js +23 -40
  185. package/src/components/input/Input.js +31 -20
  186. package/src/components/input/input.css +4 -2
  187. package/src/components/input/leu-input.js +1 -2
  188. package/src/components/input/stories/input.stories.js +5 -5
  189. package/src/components/input/test/input.test.js +22 -0
  190. package/src/components/menu/Menu.js +143 -2
  191. package/src/components/menu/MenuItem.js +104 -52
  192. package/src/components/menu/leu-menu-item.js +1 -2
  193. package/src/components/menu/leu-menu.js +1 -2
  194. package/src/components/menu/menu-item.css +11 -4
  195. package/src/components/menu/stories/menu-item.stories.js +15 -4
  196. package/src/components/menu/stories/menu.stories.js +34 -7
  197. package/src/components/menu/test/menu-item.test.js +88 -82
  198. package/src/components/menu/test/menu.test.js +101 -8
  199. package/src/components/pagination/Pagination.js +27 -18
  200. package/src/components/pagination/leu-pagination.js +1 -2
  201. package/src/components/popup/Popup.js +39 -16
  202. package/src/components/popup/leu-popup.js +1 -2
  203. package/src/components/popup/popup.css +1 -0
  204. package/src/components/radio/Radio.js +12 -7
  205. package/src/components/radio/RadioGroup.js +18 -12
  206. package/src/components/radio/leu-radio-group.js +1 -2
  207. package/src/components/radio/leu-radio.js +1 -2
  208. package/src/components/radio/stories/radio-group.stories.js +5 -19
  209. package/src/components/radio/stories/radio.stories.js +2 -7
  210. package/src/components/radio/test/radio-group.test.js +6 -9
  211. package/src/components/radio/test/radio.test.js +3 -13
  212. package/src/components/scroll-top/ScrollTop.js +15 -5
  213. package/src/components/scroll-top/leu-scroll-top.js +1 -2
  214. package/src/components/select/Select.js +279 -175
  215. package/src/components/select/leu-select.js +1 -2
  216. package/src/components/select/select.css +20 -12
  217. package/src/components/select/stories/select.stories.js +16 -2
  218. package/src/components/select/test/select.test.js +191 -37
  219. package/src/components/table/Table.js +15 -9
  220. package/src/components/table/leu-table.js +1 -2
  221. package/src/components/table/table.css +3 -1
  222. package/src/components/visually-hidden/VisuallyHidden.js +6 -2
  223. package/src/components/visually-hidden/leu-visually-hidden.js +1 -2
  224. package/src/lib/LeuElement.js +23 -0
  225. package/src/lib/a11y.js +26 -0
  226. package/src/styles/custom-properties.css +2 -0
  227. package/web-test-runner.config.mjs +2 -0
  228. package/dist/Button-5326c982.d.ts.map +0 -1
  229. package/dist/_rollupPluginBabelHelpers-20f659f4.d.ts +0 -3
  230. package/dist/_rollupPluginBabelHelpers-20f659f4.d.ts.map +0 -1
  231. package/dist/defineElement-40372b4b.d.ts +0 -9
  232. package/dist/defineElement-40372b4b.d.ts.map +0 -1
  233. package/dist/defineElement-40372b4b.js +0 -15
  234. package/dist/icon-03e86700.d.ts +0 -11
  235. package/dist/icon-03e86700.d.ts.map +0 -1
  236. package/src/lib/defineElement.js +0 -13
@@ -1 +1 @@
1
- {"version":3,"file":"leu-select.d.ts","sourceRoot":"","sources":["leu-select.js"],"names":[],"mappings":";0BAC0B,aAAa"}
1
+ {"version":3,"file":"leu-select.d.ts","sourceRoot":"","sources":["leu-select.js"],"names":[],"mappings":";0BAA0B,aAAa"}
@@ -1,26 +1,18 @@
1
- import { d as defineElement } from './defineElement-40372b4b.js';
2
1
  import { LeuSelect } from './Select.js';
3
- import './_rollupPluginBabelHelpers-20f659f4.js';
2
+ import './LeuElement-ba5ea33d.js';
4
3
  import 'lit';
5
4
  import 'lit/directives/class-map.js';
6
- import 'lit/directives/map.js';
7
- import 'lit/directives/if-defined.js';
8
5
  import 'lit/directives/ref.js';
9
- import './icon-03e86700.js';
10
- import './Button-5326c982.js';
11
- import './leu-button.js';
12
- import './leu-menu.js';
6
+ import 'lit/directives/if-defined.js';
7
+ import './Button-7370f901.js';
8
+ import './Icon.js';
13
9
  import './Menu.js';
14
- import './leu-menu-item.js';
15
10
  import './MenuItem.js';
16
- import 'lit/static-html.js';
17
- import './leu-input.js';
18
11
  import './Input.js';
19
12
  import 'lit/directives/live.js';
20
- import './leu-popup.js';
21
13
  import './Popup.js';
22
14
  import '@floating-ui/dom';
23
15
 
24
- defineElement("select", LeuSelect);
16
+ LeuSelect.define("leu-select");
25
17
 
26
18
  export { LeuSelect };
@@ -1 +1 @@
1
- {"version":3,"file":"leu-table.d.ts","sourceRoot":"","sources":["leu-table.js"],"names":[],"mappings":";yBACyB,YAAY"}
1
+ {"version":3,"file":"leu-table.d.ts","sourceRoot":"","sources":["leu-table.js"],"names":[],"mappings":";yBAAyB,YAAY"}
package/dist/leu-table.js CHANGED
@@ -1,20 +1,16 @@
1
- import { d as defineElement } from './defineElement-40372b4b.js';
2
1
  import { LeuTable } from './Table.js';
3
- import './_rollupPluginBabelHelpers-20f659f4.js';
2
+ import './LeuElement-ba5ea33d.js';
4
3
  import 'lit';
5
4
  import 'lit/directives/class-map.js';
6
5
  import 'lit/directives/style-map.js';
7
6
  import 'lit/directives/ref.js';
8
- import './icon-03e86700.js';
9
- import './leu-pagination.js';
7
+ import './Icon.js';
10
8
  import './Pagination.js';
11
9
  import 'lit/directives/live.js';
12
- import './leu-button.js';
13
- import './Button-5326c982.js';
10
+ import './Button-7370f901.js';
14
11
  import 'lit/directives/if-defined.js';
15
- import './leu-visually-hidden.js';
16
12
  import './VisuallyHidden.js';
17
13
 
18
- defineElement("table", LeuTable);
14
+ LeuTable.define("leu-table");
19
15
 
20
16
  export { LeuTable };
@@ -1 +1 @@
1
- {"version":3,"file":"leu-visually-hidden.d.ts","sourceRoot":"","sources":["leu-visually-hidden.js"],"names":[],"mappings":";kCACkC,qBAAqB"}
1
+ {"version":3,"file":"leu-visually-hidden.d.ts","sourceRoot":"","sources":["leu-visually-hidden.js"],"names":[],"mappings":";kCAAkC,qBAAqB"}
@@ -1,8 +1,7 @@
1
- import { d as defineElement } from './defineElement-40372b4b.js';
2
1
  import { LeuVisuallyHidden } from './VisuallyHidden.js';
3
- import './_rollupPluginBabelHelpers-20f659f4.js';
2
+ import './LeuElement-ba5ea33d.js';
4
3
  import 'lit';
5
4
 
6
- defineElement("visually-hidden", LeuVisuallyHidden);
5
+ LeuVisuallyHidden.define("leu-visually-hidden");
7
6
 
8
7
  export { LeuVisuallyHidden };
package/dist/theme.css CHANGED
@@ -49,6 +49,8 @@
49
49
  --leu-box-shadow-regular: 0px 0px 16px var(--leu-color-black-transp-20);
50
50
  --leu-box-shadow-long: 0px 0px 80px var(--leu-color-black-transp-20);
51
51
 
52
+ --leu-z-index-popup: 100;
53
+
52
54
  --leu-t-30-regular-font-size: 0.75rem;
53
55
 
54
56
  --leu-t-30-regular-line-height: 1.5;
@@ -9,22 +9,22 @@
9
9
  {
10
10
  "name": "heading-level",
11
11
  "description": "The heading level of the accordion title. Must be between 1 and 6.",
12
- "values": [{ "name": "Number" }]
12
+ "values": []
13
13
  },
14
14
  {
15
15
  "name": "label-prefix",
16
16
  "description": "The prefix of the accordion label. e.g. \"01\"",
17
- "values": [{ "name": "String" }]
17
+ "values": []
18
18
  },
19
19
  {
20
20
  "name": "open",
21
21
  "description": "The expanded state of the accordion.",
22
- "values": [{ "name": "Boolean" }]
22
+ "values": []
23
23
  },
24
24
  {
25
25
  "name": "label",
26
26
  "description": "The label (title) of the accordion.",
27
- "values": [{ "name": "String" }]
27
+ "values": []
28
28
  }
29
29
  ],
30
30
  "references": [
@@ -46,7 +46,7 @@
46
46
  {
47
47
  "name": "inverted",
48
48
  "description": "invert color on dark background",
49
- "values": [{ "name": "Boolean" }]
49
+ "values": []
50
50
  },
51
51
  { "name": "_hiddenItems", "values": [] },
52
52
  { "name": "_showBackOnly", "values": [] },
@@ -62,15 +62,9 @@
62
62
  },
63
63
  {
64
64
  "name": "leu-button",
65
- "description": "\n---\n",
65
+ "description": "\n---\n\n\n### **Slots:**\n - **before** - The icon to display before the label\n- **after** - The icon to display after the label\n- _default_ - The label of the button or the icon if no label is set",
66
66
  "attributes": [
67
67
  { "name": "label", "values": [] },
68
- { "name": "icon", "values": [] },
69
- {
70
- "name": "iconPosition",
71
- "description": "Only taken into account if Label and no Icon is set",
72
- "values": [{ "name": "(\"before\"" }, { "name": "\"after\")" }]
73
- },
74
68
  { "name": "size", "values": [] },
75
69
  { "name": "variant", "values": [] },
76
70
  {
@@ -133,10 +127,8 @@
133
127
  "attributes": [
134
128
  { "name": "checked", "values": [] },
135
129
  { "name": "disabled", "values": [] },
136
- { "name": "identifier", "values": [] },
137
130
  { "name": "value", "values": [] },
138
- { "name": "name", "values": [] },
139
- { "name": "label", "values": [] }
131
+ { "name": "name", "values": [] }
140
132
  ],
141
133
  "references": [
142
134
  {
@@ -164,7 +156,14 @@
164
156
  "description": "\n---\n\n\n### **Slots:**\n - _default_ - Place leu-chip-* elements inside this slot\n\n### **CSS Properties:**\n - **--leu-chip-group-gap** - The gap between the chips _(default: undefined)_",
165
157
  "attributes": [
166
158
  { "name": "inverted", "values": [] },
167
- { "name": "selection-mode", "values": [] },
159
+ {
160
+ "name": "selection-mode",
161
+ "values": [
162
+ { "name": "single" },
163
+ { "name": "multiple" },
164
+ { "name": "none" }
165
+ ]
166
+ },
168
167
  { "name": "heading-level", "values": [] },
169
168
  { "name": "label", "values": [] }
170
169
  ],
@@ -186,8 +185,7 @@
186
185
  "values": [{ "name": "keyof typeof SIZES" }]
187
186
  },
188
187
  { "name": "href", "values": [] },
189
- { "name": "inverted", "values": [] },
190
- { "name": "label", "values": [] }
188
+ { "name": "inverted", "values": [] }
191
189
  ],
192
190
  "references": [
193
191
  {
@@ -201,8 +199,7 @@
201
199
  "description": "\n---\n\n\n### **Events:**\n - **remove** - Dispatched when the user clicks on the chip\n\n### **Slots:**\n - _default_ - The content of the chip",
202
200
  "attributes": [
203
201
  { "name": "", "values": [] },
204
- { "name": "inverted", "values": [] },
205
- { "name": "label", "values": [] }
202
+ { "name": "inverted", "values": [] }
206
203
  ],
207
204
  "references": [
208
205
  {
@@ -223,13 +220,20 @@
223
220
  },
224
221
  {
225
222
  "name": "variant",
226
- "description": "The variant of the chip. Has an effect not only on the visual appearance but also on the behavior.\n- `toggle`: The chip behaves like a toggle button.\n- `radio`: The chip behaves like a radio button.",
223
+ "description": "`toggle` or `radio`. Determines if only one or multiple chips can be selected.",
227
224
  "values": [{ "name": "keyof typeof VARIANTS" }]
228
225
  },
229
- { "name": "selected", "values": [] },
230
- { "name": "value", "values": [] },
231
- { "name": "inverted", "values": [] },
232
- { "name": "label", "values": [] }
226
+ {
227
+ "name": "checked",
228
+ "description": "Whether the chip is selected.",
229
+ "values": []
230
+ },
231
+ {
232
+ "name": "value",
233
+ "description": "The value of the chip.",
234
+ "values": []
235
+ },
236
+ { "name": "inverted", "values": [] }
233
237
  ],
234
238
  "references": [
235
239
  {
@@ -252,9 +256,26 @@
252
256
  }
253
257
  ]
254
258
  },
259
+ {
260
+ "name": "leu-icon",
261
+ "description": "A component to render all defined zhWeb icons.\nThe `fill` of the icon is set to `currentColor` and\ncan be overriden by setting the css `color` property.\nIf the icon name is not found, a placeholder will be displayed.\n---\n\n\n### **CSS Properties:**\n - **--leu-icon-size** - The size of the icon. _(default: undefined)_",
262
+ "attributes": [
263
+ {
264
+ "name": "name",
265
+ "description": "The name of the icon to display.",
266
+ "values": [{ "name": "IconPathName" }]
267
+ }
268
+ ],
269
+ "references": [
270
+ {
271
+ "name": "Documentation",
272
+ "url": "https://statistikzh.github.io/leu/?path=/story/icon"
273
+ }
274
+ ]
275
+ },
255
276
  {
256
277
  "name": "leu-input",
257
- "description": "A text input element.\n---\n\n\n### **Events:**\n - **input** - Dispatched when the value of the input element changes.\n- **change** - Dispatched when the value of the input element changes and the input element loses focus.\n\n### **Methods:**\n - **getValidationMessages(): _Object_** - Merge custom and default validation messages.\nA validation message can be a function or a string.\nIf it s a function, the function is called with the corresponding\nattribute value as argument.\ne.g.\n`tooLong(this.maxlength)`\nThis way the framework user can create reasonable validation messages\n- **renderErrorMessages(validityState: _ValidityState_, validationMessages: _Object_, idRef: _String_): __** - Creates an error list with an item for the given validity state.",
278
+ "description": "A text input element.\n---\n\n\n### **Events:**\n - **input** - Dispatched when the value of the input element changes.\n- **change** - Dispatched when the value of the input element changes and the input element loses focus.\n\n### **Methods:**\n - **getValidationMessages(): _Object_** - Merge custom and default validation messages.\nA validation message can be a function or a string.\nIf it s a function, the function is called with the corresponding\nattribute value as argument.\ne.g.\n`tooLong(this.maxlength)`\nThis way the framework user can create reasonable validation messages\n- **renderErrorMessages(): _TemplateResult | nothing_** - Creates an error list with an item for the given validity state.",
258
279
  "attributes": [
259
280
  {
260
281
  "name": "disabled",
@@ -368,7 +389,13 @@
368
389
  {
369
390
  "name": "leu-menu",
370
391
  "description": "\n---\n",
371
- "attributes": [],
392
+ "attributes": [
393
+ {
394
+ "name": "selects",
395
+ "description": "This has only an effect when the role is 'menu'. It defines which role the menu items will get. Default is 'none'.",
396
+ "values": [{ "name": "SelectsType" }]
397
+ }
398
+ ],
372
399
  "references": [
373
400
  {
374
401
  "name": "Documentation",
@@ -378,27 +405,38 @@
378
405
  },
379
406
  {
380
407
  "name": "leu-menu-item",
381
- "description": "\n---\n\n\n### **Slots:**\n - _default_ - The label of the menu item",
408
+ "description": "\n---\n\n\n### **Methods:**\n - **getValue(): _string_** - Returns the value of the item. If `value` is not set, it will return the inner text\n\n### **Slots:**\n - _default_ - The label of the menu item",
382
409
  "attributes": [
383
410
  {
384
- "name": "before",
385
- "description": "Can be either an icon name or a text\nIf no icon with this value is found, it will be displayed as text.\nIf the value is \"EMPTY\", an empty placeholder with the size of an icon will be displayed.",
411
+ "name": "active",
412
+ "description": "Defines if the item is selected or checked",
386
413
  "values": []
387
414
  },
388
415
  {
389
- "name": "after",
390
- "description": "Can be either an icon name or a text\nIf no icon with this value is found, it will be displayed as text\nIf the value is \"EMPTY\", an empty placeholder with the size of an icon will be displayed.",
416
+ "name": "disabled",
417
+ "description": "Disables the underlying button or link",
391
418
  "values": []
392
419
  },
393
- { "name": "active", "values": [] },
394
420
  {
395
- "name": "highlighted",
396
- "description": "A programmatic way to highlight the menu item like it is hovered.\nThis is just a visual effect and does not change the active state.",
421
+ "name": "tabbable",
422
+ "description": "If the item should be focusable. Will be reflected as `tabindex` to the underlying button or link",
397
423
  "values": []
398
424
  },
399
- { "name": "disabled", "values": [] },
400
- { "name": "label", "values": [] },
401
- { "name": "href", "values": [] }
425
+ {
426
+ "name": "href",
427
+ "description": "The href of the underlying link",
428
+ "values": []
429
+ },
430
+ {
431
+ "name": "value",
432
+ "description": "The value of the item. It must not contain commas. See `getValue()`",
433
+ "values": []
434
+ },
435
+ {
436
+ "name": "componentRole",
437
+ "description": "The role of the item. This will be reflected as `role` to the underlying button or link. Default is `'menuitem'.`",
438
+ "values": [{ "name": "MenuItemRole" }]
439
+ }
402
440
  ],
403
441
  "references": [
404
442
  {
@@ -414,11 +452,7 @@
414
452
  { "name": "defaultPage", "values": [] },
415
453
  { "name": "itemsPerPage", "values": [{ "name": "Number" }] },
416
454
  { "name": "numOfItems", "values": [{ "name": "Number" }] },
417
- {
418
- "name": "_page",
419
- "description": "Internal page state that contains an\nalready clamped page number. Should only\nbe accessed through the `page` getter and\nsetter.",
420
- "values": [{ "name": "Number" }]
421
- }
455
+ { "name": "_page", "values": [] }
422
456
  ],
423
457
  "references": [
424
458
  {
@@ -431,25 +465,9 @@
431
465
  "name": "leu-popup",
432
466
  "description": "\n---\n",
433
467
  "attributes": [
434
- { "name": "anchor", "values": [] },
468
+ { "name": "anchor", "values": [{ "name": "HTMLElement" }] },
435
469
  { "name": "active", "values": [] },
436
- {
437
- "name": "placement",
438
- "values": [
439
- { "name": "top" },
440
- { "name": "top-start" },
441
- { "name": "top-end" },
442
- { "name": "bottom" },
443
- { "name": "bottom-start" },
444
- { "name": "bottom-end" },
445
- { "name": "left" },
446
- { "name": "left-start" },
447
- { "name": "left-end" },
448
- { "name": "right" },
449
- { "name": "right-start" },
450
- { "name": "right-end" }
451
- ]
452
- },
470
+ { "name": "placement", "values": [{ "name": "Placement" }] },
453
471
  { "name": "flip", "values": [] },
454
472
  { "name": "shift", "values": [] },
455
473
  { "name": "shiftPadding", "values": [] },
@@ -484,10 +502,8 @@
484
502
  "attributes": [
485
503
  { "name": "checked", "values": [] },
486
504
  { "name": "disabled", "values": [] },
487
- { "name": "identifier", "values": [] },
488
505
  { "name": "value", "values": [] },
489
- { "name": "name", "values": [] },
490
- { "name": "label", "values": [] }
506
+ { "name": "name", "values": [] }
491
507
  ],
492
508
  "references": [
493
509
  {
@@ -523,17 +539,51 @@
523
539
  },
524
540
  {
525
541
  "name": "leu-select",
526
- "description": "\n---\n\n\n### **Methods:**\n - **selectOption(option: _*_)** - Adds or replaces the given option in the options array.\n\n### **Slots:**\n - **before** - Optional content the appears before the option list\n- **after** - Optional content the appears after the option list",
542
+ "description": "\n---\n\n\n### **Methods:**\n - **_updateMenuItems(changed)** - Apply the current state to the menu items.\n- Set the active property when the value property has changed.\n- Hide menu items that do not match the filter.\n- **_getDisplayValue(): _String | nothing_** - Determines the value or label that should be displayed inside the toggle button.\n- **_isSelected(menuItemValue: _String_): _Boolean_** - Checks if the given value is selected.\n- **_handlePopupFocusOut(event)** - Close the dropdown if the focus moves outside the component.\n\n### **Slots:**\n - **before** - Optional content the appears before the option list\n- **after** - Optional content the appears after the option list",
527
543
  "attributes": [
528
- { "name": "open", "values": [] },
529
- { "name": "label", "values": [] },
530
- { "name": "options", "values": [{ "name": "array" }] },
531
- { "name": "value", "values": [{ "name": "array" }] },
532
- { "name": "clearable", "values": [] },
533
- { "name": "disabled", "values": [] },
534
- { "name": "filterable", "values": [] },
535
- { "name": "multiple", "values": [] },
536
- { "name": "optionFilter", "values": [] }
544
+ {
545
+ "name": "value",
546
+ "description": "List of selected values. If they're set from outside the component, the select element tries to find all the options with the given values and selects them.",
547
+ "values": [{ "name": "array" }]
548
+ },
549
+ {
550
+ "name": "name",
551
+ "description": "Reflects to the name attribute of the hidden input field that would be used in a form",
552
+ "values": []
553
+ },
554
+ {
555
+ "name": "open",
556
+ "description": "The expanded state of the popup",
557
+ "values": []
558
+ },
559
+ {
560
+ "name": "label",
561
+ "description": "The label of the select",
562
+ "values": []
563
+ },
564
+ {
565
+ "name": "clearable",
566
+ "description": "Show a clearable button to reset the value",
567
+ "values": []
568
+ },
569
+ {
570
+ "name": "disabled",
571
+ "description": "If the select should be disabled",
572
+ "values": []
573
+ },
574
+ {
575
+ "name": "filterable",
576
+ "description": "Show an input field to filter the options inside the popup",
577
+ "values": []
578
+ },
579
+ {
580
+ "name": "multiple",
581
+ "description": "Allow multiple selections",
582
+ "values": []
583
+ },
584
+ { "name": "_optionFilter", "values": [] },
585
+ { "name": "_hasFilterResults", "values": [] },
586
+ { "name": "_displayValue", "values": [] }
537
587
  ],
538
588
  "references": [
539
589
  {