@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.
- package/.husky/commit-msg +0 -3
- package/.husky/pre-commit +0 -3
- package/CHANGELOG.md +54 -0
- package/dist/Accordion.d.ts +10 -9
- package/dist/Accordion.d.ts.map +1 -1
- package/dist/Accordion.js +12 -11
- package/dist/Breadcrumb.d.ts +4 -4
- package/dist/Breadcrumb.d.ts.map +1 -1
- package/dist/Breadcrumb.js +28 -24
- package/dist/{Button-5326c982.d.ts → Button-7370f901.d.ts} +10 -11
- package/dist/Button-7370f901.d.ts.map +1 -0
- package/dist/{Button-5326c982.js → Button-7370f901.js} +57 -67
- package/dist/Button.d.ts +1 -1
- package/dist/Button.js +3 -3
- package/dist/ButtonGroup.d.ts +2 -2
- package/dist/ButtonGroup.d.ts.map +1 -1
- package/dist/ButtonGroup.js +3 -3
- package/dist/Checkbox.d.ts +4 -3
- package/dist/Checkbox.d.ts.map +1 -1
- package/dist/Checkbox.js +14 -17
- package/dist/CheckboxGroup.d.ts +2 -2
- package/dist/CheckboxGroup.d.ts.map +1 -1
- package/dist/CheckboxGroup.js +4 -4
- package/dist/Chip.d.ts +2 -2
- package/dist/Chip.d.ts.map +1 -1
- package/dist/Chip.js +23 -28
- package/dist/ChipGroup.d.ts +16 -8
- package/dist/ChipGroup.d.ts.map +1 -1
- package/dist/ChipGroup.js +39 -9
- package/dist/ChipLink.d.ts +2 -1
- package/dist/ChipLink.d.ts.map +1 -1
- package/dist/ChipLink.js +4 -7
- package/dist/ChipRemovable.d.ts +0 -2
- package/dist/ChipRemovable.d.ts.map +1 -1
- package/dist/ChipRemovable.js +8 -11
- package/dist/ChipSelectable.d.ts +12 -2
- package/dist/ChipSelectable.d.ts.map +1 -1
- package/dist/ChipSelectable.js +24 -26
- package/dist/Dropdown.d.ts +9 -5
- package/dist/Dropdown.d.ts.map +1 -1
- package/dist/Dropdown.js +68 -32
- package/dist/Icon.d.ts +116 -0
- package/dist/Icon.d.ts.map +1 -0
- package/dist/{icon-03e86700.js → Icon.js} +61 -32
- package/dist/Input.d.ts +13 -17
- package/dist/Input.d.ts.map +1 -1
- package/dist/Input.js +33 -24
- package/dist/LeuElement-ba5ea33d.d.ts +7 -0
- package/dist/LeuElement-ba5ea33d.d.ts.map +1 -0
- package/dist/{_rollupPluginBabelHelpers-20f659f4.js → LeuElement-ba5ea33d.js} +20 -1
- package/dist/Menu.d.ts +24 -2
- package/dist/Menu.d.ts.map +1 -1
- package/dist/Menu.js +120 -3
- package/dist/MenuItem.d.ts +28 -11
- package/dist/MenuItem.d.ts.map +1 -1
- package/dist/MenuItem.js +110 -63
- package/dist/Pagination.d.ts +10 -3
- package/dist/Pagination.d.ts.map +1 -1
- package/dist/Pagination.js +24 -21
- package/dist/Popup.d.ts +21 -3
- package/dist/Popup.d.ts.map +1 -1
- package/dist/Popup.js +44 -17
- package/dist/Radio.d.ts +4 -2
- package/dist/Radio.d.ts.map +1 -1
- package/dist/Radio.js +9 -14
- package/dist/RadioGroup.d.ts +2 -2
- package/dist/RadioGroup.d.ts.map +1 -1
- package/dist/RadioGroup.js +20 -11
- package/dist/ScrollTop.d.ts +2 -2
- package/dist/ScrollTop.d.ts.map +1 -1
- package/dist/ScrollTop.js +10 -8
- package/dist/Select.d.ts +75 -37
- package/dist/Select.d.ts.map +1 -1
- package/dist/Select.js +279 -181
- package/dist/Table.d.ts +2 -6
- package/dist/Table.d.ts.map +1 -1
- package/dist/Table.js +16 -16
- package/dist/VisuallyHidden.d.ts +2 -2
- package/dist/VisuallyHidden.d.ts.map +1 -1
- package/dist/VisuallyHidden.js +3 -3
- package/dist/index.d.ts +2 -2
- package/dist/index.js +5 -14
- package/dist/leu-accordion.d.ts.map +1 -1
- package/dist/leu-accordion.js +2 -3
- package/dist/leu-breadcrumb.d.ts.map +1 -1
- package/dist/leu-breadcrumb.js +4 -10
- package/dist/leu-button-group.d.ts.map +1 -1
- package/dist/leu-button-group.js +2 -3
- package/dist/leu-button.d.ts +1 -1
- package/dist/leu-button.d.ts.map +1 -1
- package/dist/leu-button.js +4 -5
- package/dist/leu-checkbox-group.d.ts.map +1 -1
- package/dist/leu-checkbox-group.js +2 -3
- package/dist/leu-checkbox.d.ts.map +1 -1
- package/dist/leu-checkbox.js +3 -4
- package/dist/leu-chip-group.d.ts.map +1 -1
- package/dist/leu-chip-group.js +2 -3
- package/dist/leu-chip-link.d.ts.map +1 -1
- package/dist/leu-chip-link.js +2 -3
- package/dist/leu-chip-removable.d.ts.map +1 -1
- package/dist/leu-chip-removable.js +3 -4
- package/dist/leu-chip-selectable.d.ts.map +1 -1
- package/dist/leu-chip-selectable.js +2 -3
- package/dist/leu-dropdown.d.ts.map +1 -1
- package/dist/leu-dropdown.js +5 -10
- package/dist/leu-icon.d.ts +3 -0
- package/dist/leu-icon.d.ts.map +1 -0
- package/dist/leu-icon.js +7 -0
- package/dist/leu-input.d.ts.map +1 -1
- package/dist/leu-input.js +3 -4
- package/dist/leu-menu-item.d.ts.map +1 -1
- package/dist/leu-menu-item.js +3 -5
- package/dist/leu-menu.d.ts.map +1 -1
- package/dist/leu-menu.js +5 -3
- package/dist/leu-pagination.d.ts.map +1 -1
- package/dist/leu-pagination.js +4 -7
- package/dist/leu-popup.d.ts.map +1 -1
- package/dist/leu-popup.js +2 -3
- package/dist/leu-radio-group.d.ts.map +1 -1
- package/dist/leu-radio-group.js +2 -3
- package/dist/leu-radio.d.ts.map +1 -1
- package/dist/leu-radio.js +2 -3
- package/dist/leu-scroll-top.d.ts.map +1 -1
- package/dist/leu-scroll-top.js +4 -6
- package/dist/leu-select.d.ts.map +1 -1
- package/dist/leu-select.js +5 -13
- package/dist/leu-table.d.ts.map +1 -1
- package/dist/leu-table.js +4 -8
- package/dist/leu-visually-hidden.d.ts.map +1 -1
- package/dist/leu-visually-hidden.js +2 -3
- package/dist/theme.css +2 -0
- package/dist/vscode.html-custom-data.json +124 -74
- package/dist/vue/index.d.ts +83 -67
- package/dist/web-types.json +256 -142
- package/package.json +9 -12
- package/scripts/generate-component/templates/[Name].js +6 -3
- package/scripts/generate-component/templates/test/[name].test.js +1 -1
- package/src/components/accordion/Accordion.js +13 -10
- package/src/components/accordion/leu-accordion.js +1 -2
- package/src/components/breadcrumb/Breadcrumb.js +31 -18
- package/src/components/breadcrumb/leu-breadcrumb.js +1 -2
- package/src/components/button/Button.js +45 -71
- package/src/components/button/button.css +11 -9
- package/src/components/button/leu-button.js +1 -2
- package/src/components/button/stories/button.stories.js +60 -19
- package/src/components/button/test/button.test.js +26 -63
- package/src/components/button-group/ButtonGroup.js +4 -2
- package/src/components/button-group/leu-button-group.js +1 -2
- package/src/components/checkbox/Checkbox.js +17 -11
- package/src/components/checkbox/CheckboxGroup.js +6 -3
- package/src/components/checkbox/leu-checkbox-group.js +1 -2
- package/src/components/checkbox/leu-checkbox.js +1 -2
- package/src/components/checkbox/stories/checkbox-group.stories.js +10 -26
- package/src/components/checkbox/stories/checkbox.stories.js +2 -7
- package/src/components/checkbox/test/checkbox-group.test.js +6 -21
- package/src/components/checkbox/test/checkbox.test.js +1 -12
- package/src/components/chip/Chip.js +5 -4
- package/src/components/chip/ChipGroup.js +38 -8
- package/src/components/chip/ChipLink.js +3 -7
- package/src/components/chip/ChipRemovable.js +8 -11
- package/src/components/chip/ChipSelectable.js +23 -27
- package/src/components/chip/chip.css +19 -20
- package/src/components/chip/leu-chip-group.js +1 -2
- package/src/components/chip/leu-chip-link.js +1 -2
- package/src/components/chip/leu-chip-removable.js +1 -2
- package/src/components/chip/leu-chip-selectable.js +1 -2
- package/src/components/chip/stories/chip-group.stories.js +6 -9
- package/src/components/chip/stories/chip-link.stories.js +3 -5
- package/src/components/chip/stories/chip-removable.stories.js +3 -4
- package/src/components/chip/stories/chip-selectable.stories.js +3 -3
- package/src/components/chip/test/chip-group.test.js +82 -30
- package/src/components/chip/test/chip-link.test.js +2 -6
- package/src/components/chip/test/chip-removable.test.js +4 -10
- package/src/components/chip/test/chip-selectable.test.js +10 -12
- package/src/components/dropdown/Dropdown.js +79 -26
- package/src/components/dropdown/leu-dropdown.js +1 -2
- package/src/components/dropdown/stories/dropdown.stories.js +30 -7
- package/src/components/dropdown/test/dropdown.test.js +5 -5
- package/src/components/icon/Icon.js +55 -0
- package/src/components/icon/icon.css +6 -0
- package/src/components/icon/leu-icon.js +5 -0
- package/src/components/icon/{icon.js → paths.js} +4 -37
- package/src/components/icon/stories/icon.stories.js +47 -0
- package/src/components/icon/test/icon.test.js +23 -40
- package/src/components/input/Input.js +31 -20
- package/src/components/input/input.css +4 -2
- package/src/components/input/leu-input.js +1 -2
- package/src/components/input/stories/input.stories.js +5 -5
- package/src/components/input/test/input.test.js +22 -0
- package/src/components/menu/Menu.js +143 -2
- package/src/components/menu/MenuItem.js +104 -52
- package/src/components/menu/leu-menu-item.js +1 -2
- package/src/components/menu/leu-menu.js +1 -2
- package/src/components/menu/menu-item.css +11 -4
- package/src/components/menu/stories/menu-item.stories.js +15 -4
- package/src/components/menu/stories/menu.stories.js +34 -7
- package/src/components/menu/test/menu-item.test.js +88 -82
- package/src/components/menu/test/menu.test.js +101 -8
- package/src/components/pagination/Pagination.js +27 -18
- package/src/components/pagination/leu-pagination.js +1 -2
- package/src/components/popup/Popup.js +39 -16
- package/src/components/popup/leu-popup.js +1 -2
- package/src/components/popup/popup.css +1 -0
- package/src/components/radio/Radio.js +12 -7
- package/src/components/radio/RadioGroup.js +18 -12
- package/src/components/radio/leu-radio-group.js +1 -2
- package/src/components/radio/leu-radio.js +1 -2
- package/src/components/radio/stories/radio-group.stories.js +5 -19
- package/src/components/radio/stories/radio.stories.js +2 -7
- package/src/components/radio/test/radio-group.test.js +6 -9
- package/src/components/radio/test/radio.test.js +3 -13
- package/src/components/scroll-top/ScrollTop.js +15 -5
- package/src/components/scroll-top/leu-scroll-top.js +1 -2
- package/src/components/select/Select.js +279 -175
- package/src/components/select/leu-select.js +1 -2
- package/src/components/select/select.css +20 -12
- package/src/components/select/stories/select.stories.js +16 -2
- package/src/components/select/test/select.test.js +191 -37
- package/src/components/table/Table.js +15 -9
- package/src/components/table/leu-table.js +1 -2
- package/src/components/table/table.css +3 -1
- package/src/components/visually-hidden/VisuallyHidden.js +6 -2
- package/src/components/visually-hidden/leu-visually-hidden.js +1 -2
- package/src/lib/LeuElement.js +23 -0
- package/src/lib/a11y.js +26 -0
- package/src/styles/custom-properties.css +2 -0
- package/web-test-runner.config.mjs +2 -0
- package/dist/Button-5326c982.d.ts.map +0 -1
- package/dist/_rollupPluginBabelHelpers-20f659f4.d.ts +0 -3
- package/dist/_rollupPluginBabelHelpers-20f659f4.d.ts.map +0 -1
- package/dist/defineElement-40372b4b.d.ts +0 -9
- package/dist/defineElement-40372b4b.d.ts.map +0 -1
- package/dist/defineElement-40372b4b.js +0 -15
- package/dist/icon-03e86700.d.ts +0 -11
- package/dist/icon-03e86700.d.ts.map +0 -1
- package/src/lib/defineElement.js +0 -13
|
@@ -1,30 +1,35 @@
|
|
|
1
|
-
import { html
|
|
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
|
|
11
|
+
export class LeuRadio extends LeuElement {
|
|
8
12
|
static styles = styles
|
|
9
13
|
|
|
14
|
+
/** @internal */
|
|
10
15
|
static shadowRootOptions = {
|
|
11
|
-
...
|
|
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.
|
|
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.
|
|
59
|
+
<label for=${`radio-${this.name}`} class="label"><slot></slot></label>
|
|
55
60
|
`
|
|
56
61
|
}
|
|
57
62
|
}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import { html
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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 =
|
|
138
|
+
this.items = Array.from(this.querySelectorAll(":scope > *:not([slot])"))
|
|
133
139
|
this.initializeIndex()
|
|
134
140
|
this.setTabIndex()
|
|
135
141
|
}
|
|
@@ -27,25 +27,11 @@ function Template({ label, orientation }) {
|
|
|
27
27
|
orientation=${ifDefined(orientation)}
|
|
28
28
|
label=${ifDefined(label)}
|
|
29
29
|
>
|
|
30
|
-
<leu-radio
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
11
|
-
|
|
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
|
|
1
|
+
import { html } from "lit"
|
|
2
2
|
import { classMap } from "lit/directives/class-map.js"
|
|
3
3
|
|
|
4
|
-
import
|
|
5
|
-
import "../button/
|
|
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
|
|
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
|
`
|