@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,30 +1,35 @@
1
- import { html, LitElement } from "lit"
1
+ import { html } from "lit"
2
+
3
+ import { LeuElement } from "../../lib/LeuElement.js"
4
+
5
+ // @ts-ignore
2
6
  import styles from "./radio.css"
3
7
 
4
8
  /**
5
9
  * @tagname leu-radio
6
10
  */
7
- export class LeuRadio extends LitElement {
11
+ export class LeuRadio extends LeuElement {
8
12
  static styles = styles
9
13
 
14
+ /** @internal */
10
15
  static shadowRootOptions = {
11
- ...LitElement.shadowRootOptions,
16
+ ...LeuElement.shadowRootOptions,
12
17
  delegatesFocus: true,
13
18
  }
14
19
 
15
20
  static properties = {
16
21
  checked: { type: Boolean, reflect: true },
17
22
  disabled: { type: Boolean, reflect: true },
18
- identifier: { type: String, reflect: true },
19
23
  value: { type: String, reflect: true },
20
24
  name: { type: String, reflect: true },
21
- label: { type: String, reflect: true },
22
25
  }
23
26
 
24
27
  constructor() {
25
28
  super()
26
29
  this.checked = false
27
30
  this.disabled = false
31
+ this.name = ""
32
+ this.value = ""
28
33
  }
29
34
 
30
35
  handleChange(event) {
@@ -41,7 +46,7 @@ export class LeuRadio extends LitElement {
41
46
  render() {
42
47
  return html`
43
48
  <input
44
- id=${this.identifier}
49
+ id=${`radio-${this.name}`}
45
50
  class="radio"
46
51
  type="radio"
47
52
  name="${this.name}"
@@ -51,7 +56,7 @@ export class LeuRadio extends LitElement {
51
56
  ?disabled=${this.disabled}
52
57
  .value=${this.value}
53
58
  />
54
- <label for=${this.identifier} class="label">${this.label}</label>
59
+ <label for=${`radio-${this.name}`} class="label"><slot></slot></label>
55
60
  `
56
61
  }
57
62
  }
@@ -1,12 +1,15 @@
1
- import { html, LitElement } from "lit"
1
+ import { html } from "lit"
2
2
  import { classMap } from "lit/directives/class-map.js"
3
3
 
4
+ import { LeuElement } from "../../lib/LeuElement.js"
5
+
6
+ // @ts-ignore
4
7
  import styles from "./radio-group.css"
5
8
 
6
9
  /**
7
10
  * @tagname leu-radio-group
8
11
  */
9
- export class LeuRadioGroup extends LitElement {
12
+ export class LeuRadioGroup extends LeuElement {
10
13
  static styles = styles
11
14
 
12
15
  static properties = {
@@ -40,13 +43,20 @@ export class LeuRadioGroup extends LitElement {
40
43
  }
41
44
 
42
45
  addEventListeners() {
43
- this.addEventListener("input", this.handleInput)
46
+ /**
47
+ * It is technically possible to add an event listener to the host element
48
+ * before it is connected to the dom. In that case the outside event listener would
49
+ * be called before the following event listener. But at this point multiple
50
+ * radio buttons could be selected at the same time because `handleInput` hasn't been
51
+ * called yet. That's why we use the capture phase.
52
+ */
53
+ this.addEventListener("input", this.handleInput, { capture: true })
44
54
  this.addEventListener("focusin", this.handleFocusIn)
45
55
  this.addEventListener("keydown", this.handleKeyDown)
46
56
  }
47
57
 
48
58
  removeEventListeners() {
49
- this.removeEventListener("input", this.handleInput)
59
+ this.removeEventListener("input", this.handleInput, { capture: true })
50
60
  this.removeEventListener("focusin", this.handleFocusIn)
51
61
  this.removeEventListener("keydown", this.handleKeyDown)
52
62
  }
@@ -84,13 +94,9 @@ export class LeuRadioGroup extends LitElement {
84
94
  }
85
95
 
86
96
  handleInput = (e) => {
87
- if (e.target.checked) {
88
- this.items
89
- .filter((item) => item !== e.target)
90
- .forEach((item) => {
91
- item.checked = false // eslint-disable-line no-param-reassign
92
- })
93
- }
97
+ this.items.forEach((item) => {
98
+ item.checked = item === e.target // eslint-disable-line no-param-reassign
99
+ })
94
100
  }
95
101
 
96
102
  selectItem(selectingItem) {
@@ -129,7 +135,7 @@ export class LeuRadioGroup extends LitElement {
129
135
  }
130
136
 
131
137
  handleItems() {
132
- this.items = [...this.querySelectorAll(":scope > *:not([slot])")]
138
+ this.items = Array.from(this.querySelectorAll(":scope > *:not([slot])"))
133
139
  this.initializeIndex()
134
140
  this.setTabIndex()
135
141
  }
@@ -1,6 +1,5 @@
1
- import { defineElement } from "../../lib/defineElement.js"
2
1
  import { LeuRadioGroup } from "./RadioGroup.js"
3
2
 
4
3
  export { LeuRadioGroup }
5
4
 
6
- defineElement("radio-group", LeuRadioGroup)
5
+ LeuRadioGroup.define("leu-radio-group")
@@ -1,6 +1,5 @@
1
- import { defineElement } from "../../lib/defineElement.js"
2
1
  import { LeuRadio } from "./Radio.js"
3
2
 
4
3
  export { LeuRadio }
5
4
 
6
- defineElement("radio", LeuRadio)
5
+ LeuRadio.define("leu-radio")
@@ -27,25 +27,11 @@ function Template({ label, orientation }) {
27
27
  orientation=${ifDefined(orientation)}
28
28
  label=${ifDefined(label)}
29
29
  >
30
- <leu-radio
31
- identifier="1"
32
- value="1"
33
- name="radio-button"
34
- label="Kurz"
35
- disabled
36
- ></leu-radio>
37
- <leu-radio
38
- identifier="2"
39
- value="2"
40
- name="radio-button"
41
- label="Etwas Länger"
42
- ></leu-radio>
43
- <leu-radio
44
- identifier="3"
45
- value="3"
46
- name="radio-button"
47
- label="Ein langes Label um sicher ein umbruch zu erzwingen"
48
- ></leu-radio>
30
+ <leu-radio value="1" name="radio-button" disabled>Kurz</leu-radio>
31
+ <leu-radio value="2" name="radio-button">Etwas Länger</leu-radio>
32
+ <leu-radio value="3" name="radio-button"
33
+ >Ein langes Label um sicher ein umbruch zu erzwingen</leu-radio
34
+ >
49
35
  </leu-radio-group>
50
36
  `
51
37
  }
@@ -24,13 +24,8 @@ function Template({
24
24
  disabled = false,
25
25
  }) {
26
26
  return html`
27
- <leu-radio
28
- .value=${value}
29
- ?checked=${checked}
30
- ?disabled=${disabled}
31
- identifier=${"radio-1"}
32
- label=${label}
33
- >
27
+ <leu-radio .value=${value} ?checked=${checked} ?disabled=${disabled}>
28
+ ${label}
34
29
  </leu-radio>
35
30
  `
36
31
  }
@@ -9,27 +9,24 @@ async function defaultFixture(args = {}) {
9
9
  <leu-radio-group>
10
10
  <span slot="legend">Legende</span>
11
11
  <leu-radio
12
- identifier="1"
13
12
  value="1"
14
13
  name="radio-button"
15
14
  disabled
16
- label="Kurz"
17
15
  ?checked=${args.checkedValue === "1"}
18
- ></leu-radio>
16
+ >Kurz</leu-radio
17
+ >
19
18
  <leu-radio
20
- identifier="2"
21
19
  value="2"
22
20
  name="radio-button"
23
- label="Etwas Länger"
24
21
  ?checked=${args.checkedValue === "2"}
25
- ></leu-radio>
22
+ >Etwas Länger</leu-radio
23
+ >
26
24
  <leu-radio
27
- identifier="3"
28
25
  value="3"
29
26
  name="radio-button"
30
- label="Ein langes Label um sicher ein umbruch zu erzwingen"
31
27
  ?checked=${args.checkedValue === "3"}
32
- ></leu-radio>
28
+ >Ein langes Label um sicher ein umbruch zu erzwingen</leu-radio
29
+ >
33
30
  </leu-radio-group>
34
31
  `)
35
32
  }
@@ -6,12 +6,9 @@ import "../leu-radio.js"
6
6
 
7
7
  async function defaultFixture() {
8
8
  return fixture(html`
9
- <leu-radio
10
- identifier="b"
11
- value="3"
12
- name="radio-button"
13
- label="Ein langes Label um sicher ein umbruch zu erzwingen"
14
- ></leu-radio>
9
+ <leu-radio identifier="b" value="3" name="radio-button"
10
+ >Ein langes Label um sicher ein umbruch zu erzwingen</leu-radio
11
+ >
15
12
  `)
16
13
  }
17
14
 
@@ -119,11 +116,4 @@ describe("LeuRadio", () => {
119
116
 
120
117
  expect(event).to.exist
121
118
  })
122
-
123
- it("applies the identifier to the input and the label", async () => {
124
- const el = await defaultFixture()
125
-
126
- expect(el.shadowRoot.querySelector("input").id).to.equal("b")
127
- expect(el.shadowRoot.querySelector("label").htmlFor).to.equal("b")
128
- })
129
119
  })
@@ -1,14 +1,24 @@
1
- import { html, LitElement } from "lit"
1
+ import { html } from "lit"
2
2
  import { classMap } from "lit/directives/class-map.js"
3
3
 
4
- import styles from "./scroll-top.css"
5
- import "../button/leu-button.js"
4
+ import { LeuElement } from "../../lib/LeuElement.js"
5
+ import { LeuButton } from "../button/Button.js"
6
+ import { LeuIcon } from "../icon/Icon.js"
7
+
6
8
  import { throttle } from "../../lib/utils.js"
7
9
 
10
+ // @ts-ignore
11
+ import styles from "./scroll-top.css"
12
+
8
13
  /**
9
14
  * @tagname leu-scroll-top
10
15
  */
11
- export class LeuScrollTop extends LitElement {
16
+ export class LeuScrollTop extends LeuElement {
17
+ static dependencies = {
18
+ "leu-button": LeuButton,
19
+ "leu-icon": LeuIcon,
20
+ }
21
+
12
22
  static styles = styles
13
23
 
14
24
  static properties = {
@@ -75,11 +85,11 @@ export class LeuScrollTop extends LitElement {
75
85
  return html`
76
86
  <div class=${classMap(cssClasses)}>
77
87
  <leu-button
78
- icon="arrowUp"
79
88
  label="Zum Seitenanfang"
80
89
  round
81
90
  @click="${() => LeuScrollTop.scrollToTop()}"
82
91
  >
92
+ <leu-icon name="arrowUp"></leu-icon>
83
93
  </leu-button>
84
94
  </div>
85
95
  `
@@ -1,6 +1,5 @@
1
- import { defineElement } from "../../lib/defineElement.js"
2
1
  import { LeuScrollTop } from "./ScrollTop.js"
3
2
 
4
3
  export { LeuScrollTop }
5
4
 
6
- defineElement("scroll-top", LeuScrollTop)
5
+ LeuScrollTop.define("leu-scroll-top")