@statistikzh/leu 0.4.0 → 0.5.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.
- package/.storybook/preview.js +1 -2
- package/CHANGELOG.md +32 -0
- package/custom-elements-manifest.config.js +46 -0
- package/dist/Accordion.d.ts +31 -0
- package/dist/Accordion.d.ts.map +1 -0
- package/dist/Accordion.js +257 -0
- package/dist/Breadcrumb.d.ts +69 -0
- package/dist/Breadcrumb.d.ts.map +1 -0
- package/dist/Breadcrumb.js +392 -0
- package/dist/Button-5326c982.d.ts +84 -0
- package/dist/Button-5326c982.d.ts.map +1 -0
- package/dist/Button-5326c982.js +555 -0
- package/dist/Button.d.ts +2 -0
- package/dist/Button.d.ts.map +1 -0
- package/dist/Button.js +6 -420
- package/dist/ButtonGroup.d.ts +24 -0
- package/dist/ButtonGroup.d.ts.map +1 -0
- package/dist/ButtonGroup.js +70 -39
- package/dist/Checkbox.d.ts +13 -0
- package/dist/Checkbox.d.ts.map +1 -0
- package/dist/Checkbox.js +2 -2
- package/dist/CheckboxGroup.d.ts +13 -0
- package/dist/CheckboxGroup.d.ts.map +1 -0
- package/dist/CheckboxGroup.js +3 -3
- package/dist/Chip.d.ts +5 -0
- package/dist/Chip.d.ts.map +1 -0
- package/dist/{Chip-dac7337d.js → Chip.js} +16 -5
- package/dist/ChipGroup.d.ts +28 -0
- package/dist/ChipGroup.d.ts.map +1 -0
- package/dist/ChipGroup.js +62 -5
- package/dist/ChipLink.d.ts +15 -0
- package/dist/ChipLink.d.ts.map +1 -0
- package/dist/ChipLink.js +1 -1
- package/dist/ChipRemovable.d.ts +13 -0
- package/dist/ChipRemovable.d.ts.map +1 -0
- package/dist/ChipRemovable.js +2 -2
- package/dist/ChipSelectable.d.ts +22 -0
- package/dist/ChipSelectable.d.ts.map +1 -0
- package/dist/ChipSelectable.js +5 -5
- package/dist/Dropdown.d.ts +15 -0
- package/dist/Dropdown.d.ts.map +1 -0
- package/dist/Dropdown.js +30 -7
- package/dist/Input.d.ts +154 -0
- package/dist/Input.d.ts.map +1 -0
- package/dist/Input.js +13 -7
- package/dist/Menu.d.ts +8 -0
- package/dist/Menu.d.ts.map +1 -0
- package/dist/MenuItem.d.ts +21 -0
- package/dist/MenuItem.d.ts.map +1 -0
- package/dist/MenuItem.js +3 -3
- package/dist/Pagination.d.ts +27 -0
- package/dist/Pagination.d.ts.map +1 -0
- package/dist/Pagination.js +93 -61
- package/dist/Popup.d.ts +18 -0
- package/dist/Popup.d.ts.map +1 -0
- package/dist/{leu-popup-4bf6f1f4.js → Popup.js} +4 -5
- package/dist/Radio.d.ts +12 -0
- package/dist/Radio.d.ts.map +1 -0
- package/dist/Radio.js +2 -2
- package/dist/RadioGroup.d.ts +20 -0
- package/dist/RadioGroup.d.ts.map +1 -0
- package/dist/RadioGroup.js +3 -3
- package/dist/ScrollTop.d.ts +19 -0
- package/dist/ScrollTop.d.ts.map +1 -0
- package/dist/ScrollTop.js +122 -0
- package/dist/Select.d.ts +98 -0
- package/dist/Select.d.ts.map +1 -0
- package/dist/Select.js +27 -82
- package/dist/Table.d.ts +48 -0
- package/dist/Table.d.ts.map +1 -0
- package/dist/Table.js +7 -4
- package/dist/VisuallyHidden.d.ts +8 -0
- package/dist/VisuallyHidden.d.ts.map +1 -0
- package/dist/VisuallyHidden.js +28 -0
- package/dist/_rollupPluginBabelHelpers-20f659f4.d.ts +3 -0
- package/dist/_rollupPluginBabelHelpers-20f659f4.d.ts.map +1 -0
- package/dist/defineElement-40372b4b.d.ts +9 -0
- package/dist/defineElement-40372b4b.d.ts.map +1 -0
- package/dist/{defineElement-47d4f665.js → defineElement-40372b4b.js} +1 -1
- package/dist/icon-03e86700.d.ts +11 -0
- package/dist/icon-03e86700.d.ts.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -8
- package/dist/leu-accordion.d.ts +3 -0
- package/dist/leu-accordion.d.ts.map +1 -0
- package/dist/leu-accordion.js +9 -0
- package/dist/leu-breadcrumb.d.ts +3 -0
- package/dist/leu-breadcrumb.d.ts.map +1 -0
- package/dist/leu-breadcrumb.js +23 -0
- package/dist/leu-button-group.d.ts +3 -0
- package/dist/leu-button-group.d.ts.map +1 -0
- package/dist/leu-button-group.js +1 -5
- package/dist/leu-button.d.ts +3 -0
- package/dist/leu-button.d.ts.map +1 -0
- package/dist/leu-button.js +3 -2
- package/dist/leu-checkbox-group.d.ts +3 -0
- package/dist/leu-checkbox-group.d.ts.map +1 -0
- package/dist/leu-checkbox-group.js +1 -1
- package/dist/leu-checkbox.d.ts +3 -0
- package/dist/leu-checkbox.d.ts.map +1 -0
- package/dist/leu-checkbox.js +1 -1
- package/dist/leu-chip-group.d.ts +3 -0
- package/dist/leu-chip-group.d.ts.map +1 -0
- package/dist/leu-chip-group.js +2 -1
- package/dist/leu-chip-link.d.ts +3 -0
- package/dist/leu-chip-link.d.ts.map +1 -0
- package/dist/leu-chip-link.js +2 -2
- package/dist/leu-chip-removable.d.ts +3 -0
- package/dist/leu-chip-removable.d.ts.map +1 -0
- package/dist/leu-chip-removable.js +2 -2
- package/dist/leu-chip-selectable.d.ts +3 -0
- package/dist/leu-chip-selectable.d.ts.map +1 -0
- package/dist/leu-chip-selectable.js +2 -2
- package/dist/leu-dropdown.d.ts +3 -0
- package/dist/leu-dropdown.d.ts.map +1 -0
- package/dist/leu-dropdown.js +5 -4
- package/dist/leu-input.d.ts +3 -0
- package/dist/leu-input.d.ts.map +1 -0
- package/dist/leu-input.js +1 -1
- package/dist/leu-menu-item.d.ts +3 -0
- package/dist/leu-menu-item.d.ts.map +1 -0
- package/dist/leu-menu-item.js +1 -1
- package/dist/leu-menu.d.ts +3 -0
- package/dist/leu-menu.d.ts.map +1 -0
- package/dist/leu-menu.js +1 -1
- package/dist/leu-pagination.d.ts +3 -0
- package/dist/leu-pagination.d.ts.map +1 -0
- package/dist/leu-pagination.js +5 -2
- package/dist/leu-popup.d.ts +3 -0
- package/dist/leu-popup.d.ts.map +1 -0
- package/dist/leu-popup.js +9 -0
- package/dist/leu-radio-group.d.ts +3 -0
- package/dist/leu-radio-group.d.ts.map +1 -0
- package/dist/leu-radio-group.js +1 -1
- package/dist/leu-radio.d.ts +3 -0
- package/dist/leu-radio.d.ts.map +1 -0
- package/dist/leu-radio.js +1 -1
- package/dist/leu-scroll-top.d.ts +3 -0
- package/dist/leu-scroll-top.d.ts.map +1 -0
- package/dist/leu-scroll-top.js +14 -0
- package/dist/leu-select.d.ts +3 -0
- package/dist/leu-select.d.ts.map +1 -0
- package/dist/leu-select.js +4 -3
- package/dist/leu-table.d.ts +3 -0
- package/dist/leu-table.d.ts.map +1 -0
- package/dist/leu-table.js +5 -2
- package/dist/leu-visually-hidden.d.ts +3 -0
- package/dist/leu-visually-hidden.d.ts.map +1 -0
- package/dist/leu-visually-hidden.js +8 -0
- package/dist/theme.css +386 -2
- package/dist/utils-65469421.d.ts +16 -0
- package/dist/utils-65469421.d.ts.map +1 -0
- package/dist/utils-65469421.js +35 -0
- package/dist/vscode.html-custom-data.json +579 -0
- package/dist/vue/index.d.ts +678 -0
- package/dist/web-types.json +1076 -0
- package/index.js +3 -0
- package/package.json +30 -12
- package/postcss.config.cjs +2 -0
- package/rollup.config.js +21 -40
- package/scripts/generate-component/templates/[name].css +2 -2
- package/scripts/postcss-leu-font-styles.cjs +160 -0
- package/src/components/accordion/accordion.css +2 -2
- package/src/components/accordion/stories/accordion.stories.js +2 -1
- package/src/components/accordion/test/accordion.test.js +4 -2
- package/src/components/breadcrumb/Breadcrumb.js +2 -1
- package/src/components/breadcrumb/breadcrumb.css +2 -13
- package/src/components/button/Button.js +69 -8
- package/src/components/button/button.css +23 -2
- package/src/components/button/stories/button.stories.js +43 -90
- package/src/components/button/test/button.test.js +90 -19
- package/src/components/button-group/ButtonGroup.js +76 -34
- package/src/components/button-group/stories/button-group.stories.js +13 -6
- package/src/components/button-group/test/button-group.test.js +38 -31
- package/src/components/checkbox/checkbox-group.css +2 -2
- package/src/components/checkbox/checkbox.css +1 -1
- package/src/components/chip/ChipGroup.js +42 -2
- package/src/components/chip/ChipRemovable.js +1 -1
- package/src/components/chip/ChipSelectable.js +4 -4
- package/src/components/chip/chip-group.css +12 -2
- package/src/components/chip/chip.css +14 -3
- package/src/components/chip/stories/chip-group.stories.js +100 -46
- package/src/components/chip/test/chip-removable.test.js +3 -3
- package/src/components/dropdown/Dropdown.js +24 -3
- package/src/components/dropdown/dropdown.css +4 -0
- package/src/components/input/Input.js +7 -4
- package/src/components/input/input.css +2 -2
- package/src/components/input/stories/input.stories.js +13 -0
- package/src/components/input/test/input.test.js +1 -0
- package/src/components/menu/menu-item.css +3 -3
- package/src/components/pagination/Pagination.js +91 -60
- package/src/components/pagination/pagination.css +6 -1
- package/src/components/pagination/stories/pagination.stories.js +15 -2
- package/src/components/pagination/test/pagination.test.js +15 -15
- package/src/components/popup/popup.css +2 -2
- package/src/components/popup/stories/popup.stories.js +1 -1
- package/src/components/radio/radio-group.css +2 -2
- package/src/components/radio/radio.css +1 -1
- package/src/components/scroll-top/ScrollTop.js +87 -0
- package/src/components/scroll-top/leu-scroll-top.js +6 -0
- package/src/components/scroll-top/scroll-top.css +34 -0
- package/src/components/scroll-top/stories/scroll-top.stories.js +217 -0
- package/src/components/scroll-top/test/scroll-top.test.js +22 -0
- package/src/components/select/Select.js +24 -6
- package/src/components/select/select.css +2 -2
- package/src/components/table/table.css +2 -2
- package/src/components/visually-hidden/VisuallyHidden.js +13 -0
- package/src/components/visually-hidden/leu-visually-hidden.js +6 -0
- package/src/components/visually-hidden/stories/visually-hidden.stories.js +22 -0
- package/src/components/visually-hidden/test/visually-hidden.test.js +36 -0
- package/src/components/visually-hidden/visually-hidden.css +10 -0
- package/src/lib/defineElement.js +1 -1
- package/src/lib/hasSlotController.js +5 -3
- package/src/lib/utils.js +21 -3
- package/src/styles/custom-properties.css +6 -2
- package/src/styles/font-definitions.json +202 -0
- package/stylelint.config.mjs +2 -0
- package/tsconfig.build.json +21 -0
- package/tsconfig.json +16 -0
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { html } from "lit"
|
|
2
|
+
import "../leu-scroll-top.js"
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
title: "ScrollTop",
|
|
6
|
+
component: "leu-scroll-top",
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function Template() {
|
|
10
|
+
return html`
|
|
11
|
+
<p>
|
|
12
|
+
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
|
|
13
|
+
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
|
|
14
|
+
voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
|
|
15
|
+
clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
|
|
16
|
+
amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
|
|
17
|
+
nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed
|
|
18
|
+
diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
|
|
19
|
+
Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor
|
|
20
|
+
sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
|
|
21
|
+
diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
|
|
22
|
+
erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea
|
|
23
|
+
rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum
|
|
24
|
+
dolor sit amet.
|
|
25
|
+
</p>
|
|
26
|
+
<p>
|
|
27
|
+
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse
|
|
28
|
+
molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero
|
|
29
|
+
eros et accumsan et iusto odio dignissim qui blandit praesent luptatum
|
|
30
|
+
zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum
|
|
31
|
+
dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh
|
|
32
|
+
euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
|
|
33
|
+
</p>
|
|
34
|
+
<p>
|
|
35
|
+
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper
|
|
36
|
+
suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel
|
|
37
|
+
eum iriure dolor in hendrerit in vulputate velit esse molestie consequat,
|
|
38
|
+
vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et
|
|
39
|
+
iusto odio dignissim qui blandit praesent luptatum zzril delenit augue
|
|
40
|
+
duis dolore te feugait nulla facilisi.
|
|
41
|
+
</p>
|
|
42
|
+
<p>
|
|
43
|
+
Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet
|
|
44
|
+
doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit
|
|
45
|
+
amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod
|
|
46
|
+
tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad
|
|
47
|
+
minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis
|
|
48
|
+
nisl ut aliquip ex ea commodo consequat.
|
|
49
|
+
</p>
|
|
50
|
+
<p>
|
|
51
|
+
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse
|
|
52
|
+
molestie consequat, vel illum dolore eu feugiat nulla facilisis.
|
|
53
|
+
</p>
|
|
54
|
+
<p>
|
|
55
|
+
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd
|
|
56
|
+
gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem
|
|
57
|
+
ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
|
|
58
|
+
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
|
|
59
|
+
voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
|
|
60
|
+
clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
|
|
61
|
+
amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, At accusam
|
|
62
|
+
aliquyam diam diam dolore dolores duo eirmod eos erat, et nonumy sed
|
|
63
|
+
tempor et et invidunt justo labore Stet clita ea et gubergren, kasd magna
|
|
64
|
+
no rebum. sanctus sea sed takimata ut vero voluptua. est Lorem ipsum dolor
|
|
65
|
+
sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
|
|
66
|
+
diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
|
|
67
|
+
erat.
|
|
68
|
+
</p>
|
|
69
|
+
<p>
|
|
70
|
+
Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut
|
|
71
|
+
labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et
|
|
72
|
+
accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no
|
|
73
|
+
sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit
|
|
74
|
+
amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
|
|
75
|
+
ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et
|
|
76
|
+
accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no
|
|
77
|
+
sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit
|
|
78
|
+
amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
|
|
79
|
+
ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et
|
|
80
|
+
accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no
|
|
81
|
+
sea takimata sanctus.
|
|
82
|
+
</p>
|
|
83
|
+
<p>
|
|
84
|
+
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
|
|
85
|
+
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
|
|
86
|
+
voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
|
|
87
|
+
clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
|
|
88
|
+
amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
|
|
89
|
+
nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed
|
|
90
|
+
diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
|
|
91
|
+
Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor
|
|
92
|
+
sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
|
|
93
|
+
diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
|
|
94
|
+
erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea
|
|
95
|
+
rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum
|
|
96
|
+
dolor sit amet.
|
|
97
|
+
</p>
|
|
98
|
+
<p>
|
|
99
|
+
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse
|
|
100
|
+
molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero
|
|
101
|
+
eros et accumsan et iusto odio dignissim qui blandit praesent luptatum
|
|
102
|
+
zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum
|
|
103
|
+
dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh
|
|
104
|
+
euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
|
|
105
|
+
</p>
|
|
106
|
+
<p>
|
|
107
|
+
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper
|
|
108
|
+
suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel
|
|
109
|
+
eum iriure dolor in hendrerit in vulputate velit esse molestie consequat,
|
|
110
|
+
vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et
|
|
111
|
+
iusto odio dignissim qui blandit praesent luptatum zzril delenit augue
|
|
112
|
+
duis dolore te feugait nulla facilisi.
|
|
113
|
+
</p>
|
|
114
|
+
<p>
|
|
115
|
+
Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet
|
|
116
|
+
doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit
|
|
117
|
+
amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod
|
|
118
|
+
tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad
|
|
119
|
+
minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis
|
|
120
|
+
nisl ut aliquip ex ea commodo consequat.
|
|
121
|
+
</p>
|
|
122
|
+
<p>
|
|
123
|
+
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse
|
|
124
|
+
molestie consequat, vel illum dolore eu feugiat nulla facilisis.
|
|
125
|
+
</p>
|
|
126
|
+
<p>
|
|
127
|
+
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd
|
|
128
|
+
gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem
|
|
129
|
+
ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
|
|
130
|
+
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
|
|
131
|
+
voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
|
|
132
|
+
clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
|
|
133
|
+
amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, At accusam
|
|
134
|
+
aliquyam diam diam dolore dolores duo eirmod eos erat, et nonumy sed
|
|
135
|
+
tempor et et invidunt justo labore Stet clita ea et gubergren, kasd magna
|
|
136
|
+
no rebum. sanctus sea sed takimata ut vero voluptua. est Lorem ipsum dolor
|
|
137
|
+
sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
|
|
138
|
+
diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
|
|
139
|
+
erat.
|
|
140
|
+
</p>
|
|
141
|
+
<p>
|
|
142
|
+
Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut
|
|
143
|
+
labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et
|
|
144
|
+
accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no
|
|
145
|
+
sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit
|
|
146
|
+
amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
|
|
147
|
+
ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et
|
|
148
|
+
accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no
|
|
149
|
+
sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit
|
|
150
|
+
amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
|
|
151
|
+
ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et
|
|
152
|
+
accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no
|
|
153
|
+
sea takimata sanctus.
|
|
154
|
+
</p>
|
|
155
|
+
<p>
|
|
156
|
+
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
|
|
157
|
+
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
|
|
158
|
+
voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
|
|
159
|
+
clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
|
|
160
|
+
amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
|
|
161
|
+
nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed
|
|
162
|
+
diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
|
|
163
|
+
Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor
|
|
164
|
+
sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
|
|
165
|
+
diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
|
|
166
|
+
erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea
|
|
167
|
+
rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum
|
|
168
|
+
dolor sit amet.
|
|
169
|
+
</p>
|
|
170
|
+
<p>
|
|
171
|
+
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse
|
|
172
|
+
molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero
|
|
173
|
+
eros et accumsan et iusto odio dignissim qui blandit praesent luptatum
|
|
174
|
+
zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum
|
|
175
|
+
dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh
|
|
176
|
+
euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
|
|
177
|
+
</p>
|
|
178
|
+
<p>
|
|
179
|
+
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper
|
|
180
|
+
suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel
|
|
181
|
+
eum iriure dolor in hendrerit in vulputate velit esse molestie consequat,
|
|
182
|
+
vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et
|
|
183
|
+
iusto odio dignissim qui blandit praesent luptatum zzril delenit augue
|
|
184
|
+
duis dolore te feugait nulla facilisi.
|
|
185
|
+
</p>
|
|
186
|
+
<p>
|
|
187
|
+
Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet
|
|
188
|
+
doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit
|
|
189
|
+
amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod
|
|
190
|
+
tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad
|
|
191
|
+
minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis
|
|
192
|
+
nisl ut aliquip ex ea commodo consequat.
|
|
193
|
+
</p>
|
|
194
|
+
<p>
|
|
195
|
+
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse
|
|
196
|
+
molestie consequat, vel illum dolore eu feugiat nulla facilisis.
|
|
197
|
+
</p>
|
|
198
|
+
<p>
|
|
199
|
+
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd
|
|
200
|
+
gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem
|
|
201
|
+
ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
|
|
202
|
+
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
|
|
203
|
+
voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
|
|
204
|
+
clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
|
|
205
|
+
amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, At accusam
|
|
206
|
+
aliquyam diam diam dolore dolores duo eirmod eos erat, et nonumy sed
|
|
207
|
+
tempor et et invidunt justo labore Stet clita ea et gubergren, kasd magna
|
|
208
|
+
no rebum. sanctus sea sed takimata ut vero voluptua. est Lorem ipsum dolor
|
|
209
|
+
sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
|
|
210
|
+
diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
|
|
211
|
+
erat.
|
|
212
|
+
</p>
|
|
213
|
+
<leu-scroll-top />
|
|
214
|
+
`
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
export const Regular = Template.bind({})
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { html } from "lit"
|
|
2
|
+
import { fixture, expect } from "@open-wc/testing"
|
|
3
|
+
|
|
4
|
+
import "../leu-scroll-top.js"
|
|
5
|
+
|
|
6
|
+
async function defaultFixture() {
|
|
7
|
+
return fixture(html` <leu-scroll-top /> `)
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
describe("LeuScrollTop", () => {
|
|
11
|
+
it("is a defined element", async () => {
|
|
12
|
+
const el = await customElements.get("leu-scroll-top")
|
|
13
|
+
|
|
14
|
+
await expect(el).not.to.be.undefined
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
it("passes the a11y audit", async () => {
|
|
18
|
+
const el = await defaultFixture()
|
|
19
|
+
|
|
20
|
+
await expect(el).shadowDom.to.be.accessible()
|
|
21
|
+
})
|
|
22
|
+
})
|
|
@@ -13,6 +13,7 @@ import "../menu/leu-menu-item.js"
|
|
|
13
13
|
import "../input/leu-input.js"
|
|
14
14
|
import "../popup/leu-popup.js"
|
|
15
15
|
|
|
16
|
+
// @ts-ignore
|
|
16
17
|
import styles from "./select.css"
|
|
17
18
|
|
|
18
19
|
/**
|
|
@@ -25,8 +26,7 @@ export class LeuSelect extends LitElement {
|
|
|
25
26
|
|
|
26
27
|
static get properties() {
|
|
27
28
|
return {
|
|
28
|
-
open: { type: Boolean,
|
|
29
|
-
|
|
29
|
+
open: { type: Boolean, reflect: true },
|
|
30
30
|
label: { type: String, reflect: true },
|
|
31
31
|
options: { type: Array },
|
|
32
32
|
value: { type: Array },
|
|
@@ -53,9 +53,14 @@ export class LeuSelect extends LitElement {
|
|
|
53
53
|
constructor() {
|
|
54
54
|
super()
|
|
55
55
|
this.open = false
|
|
56
|
+
this.disabled = false
|
|
57
|
+
this.open = false
|
|
58
|
+
this.multiple = false
|
|
56
59
|
this.clearable = false
|
|
60
|
+
this.filterable = false
|
|
57
61
|
this.value = []
|
|
58
62
|
this.options = []
|
|
63
|
+
this.label = ""
|
|
59
64
|
|
|
60
65
|
/** @internal */
|
|
61
66
|
this._arrowIcon = Icon("angleDropDown")
|
|
@@ -69,8 +74,17 @@ export class LeuSelect extends LitElement {
|
|
|
69
74
|
/** @internal */
|
|
70
75
|
this.deferedChangeEvent = false
|
|
71
76
|
|
|
77
|
+
/**
|
|
78
|
+
* @type {import("lit/directives/ref").Ref<import("../menu/Menu").LeuMenu>}
|
|
79
|
+
*/
|
|
72
80
|
this.menuRef = createRef()
|
|
81
|
+
/**
|
|
82
|
+
* @type {import("lit/directives/ref").Ref<import("../input/Input").LeuInput>}
|
|
83
|
+
*/
|
|
73
84
|
this.optionFilterRef = createRef()
|
|
85
|
+
/**
|
|
86
|
+
* @type {import("lit/directives/ref").Ref<HTMLButtonElement>}
|
|
87
|
+
*/
|
|
74
88
|
this.toggleButtonRef = createRef()
|
|
75
89
|
}
|
|
76
90
|
|
|
@@ -102,7 +116,11 @@ export class LeuSelect extends LitElement {
|
|
|
102
116
|
* @param {MouseEvent} event
|
|
103
117
|
*/
|
|
104
118
|
handleDocumentClick = (event) => {
|
|
105
|
-
if (
|
|
119
|
+
if (
|
|
120
|
+
event.target instanceof Node &&
|
|
121
|
+
!this.contains(event.target) &&
|
|
122
|
+
this.open
|
|
123
|
+
) {
|
|
106
124
|
this.closeDropdown()
|
|
107
125
|
}
|
|
108
126
|
}
|
|
@@ -289,9 +307,9 @@ export class LeuSelect extends LitElement {
|
|
|
289
307
|
type="button"
|
|
290
308
|
class="apply-button"
|
|
291
309
|
@click=${this.handleApplyClick}
|
|
292
|
-
label="Anwenden"
|
|
293
310
|
fluid
|
|
294
|
-
|
|
311
|
+
>Anwenden</leu-button
|
|
312
|
+
>
|
|
295
313
|
`
|
|
296
314
|
}
|
|
297
315
|
|
|
@@ -320,7 +338,7 @@ export class LeuSelect extends LitElement {
|
|
|
320
338
|
<span class="label" id="select-label">${this.label}</span>
|
|
321
339
|
<span class="value"> ${this.getDisplayValue(this.value)} </span>
|
|
322
340
|
<span class="arrow-icon"> ${this._arrowIcon} </span>
|
|
323
|
-
${this.clearable && this.value
|
|
341
|
+
${this.clearable && this.value.length !== 0
|
|
324
342
|
? html`<button
|
|
325
343
|
type="button"
|
|
326
344
|
class="clear-button"
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
|
|
27
27
|
--select-clear-color: var(--leu-color-black-60);
|
|
28
28
|
|
|
29
|
-
--select-font-regular: var(--leu-font-regular);
|
|
30
|
-
--select-font-black: var(--leu-font-black);
|
|
29
|
+
--select-font-regular: var(--leu-font-family-regular);
|
|
30
|
+
--select-font-black: var(--leu-font-family-black);
|
|
31
31
|
|
|
32
32
|
--select-apply-button-color: var(--leu-color-black-100);
|
|
33
33
|
--select-apply-button-color-focus: var(--leu-color-black-80);
|
|
@@ -28,7 +28,7 @@ table {
|
|
|
28
28
|
border-spacing: 0;
|
|
29
29
|
color: rgb(0 0 0 / 60%);
|
|
30
30
|
font-size: 16px;
|
|
31
|
-
font-family: var(--leu-font-regular);
|
|
31
|
+
font-family: var(--leu-font-family-regular);
|
|
32
32
|
line-height: 1.5;
|
|
33
33
|
}
|
|
34
34
|
|
|
@@ -41,7 +41,7 @@ th {
|
|
|
41
41
|
text-align: left;
|
|
42
42
|
font-size: 12px;
|
|
43
43
|
font-weight: normal;
|
|
44
|
-
font-family: var(--leu-font-black);
|
|
44
|
+
font-family: var(--leu-font-family-black);
|
|
45
45
|
background: var(--table-even-row-bg);
|
|
46
46
|
}
|
|
47
47
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { html, LitElement } from "lit"
|
|
2
|
+
import styles from "./visually-hidden.css"
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @tagname leu-visually-hidden
|
|
6
|
+
*/
|
|
7
|
+
export class LeuVisuallyHidden extends LitElement {
|
|
8
|
+
static styles = styles
|
|
9
|
+
|
|
10
|
+
render() {
|
|
11
|
+
return html`<slot></slot>`
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { html } from "lit"
|
|
2
|
+
import "../leu-visually-hidden.js"
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
title: "VisuallyHidden",
|
|
6
|
+
component: "leu-visually-hidden",
|
|
7
|
+
argTypes: {
|
|
8
|
+
content: {
|
|
9
|
+
control: "text",
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function Template({ content }) {
|
|
15
|
+
return html` <leu-visually-hidden>${content}</leu-visually-hidden>`
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export const Regular = Template.bind({})
|
|
19
|
+
Regular.args = {
|
|
20
|
+
content:
|
|
21
|
+
"This is a text that isn't visible but still accessible for screenreaders.",
|
|
22
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { html } from "lit"
|
|
2
|
+
import { fixture, expect } from "@open-wc/testing"
|
|
3
|
+
|
|
4
|
+
import "../leu-visually-hidden.js"
|
|
5
|
+
|
|
6
|
+
async function defaultFixture() {
|
|
7
|
+
return fixture(
|
|
8
|
+
html`
|
|
9
|
+
<leu-visually-hidden>
|
|
10
|
+
This is a text that shouldn't be visible but still accessible.
|
|
11
|
+
</leu-visually-hidden>
|
|
12
|
+
`
|
|
13
|
+
)
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
describe("LeuVisuallyHidden", () => {
|
|
17
|
+
it("is a defined element", async () => {
|
|
18
|
+
const el = await customElements.get("leu-visually-hidden")
|
|
19
|
+
|
|
20
|
+
await expect(el).not.to.be.undefined
|
|
21
|
+
})
|
|
22
|
+
|
|
23
|
+
it("passes the a11y audit", async () => {
|
|
24
|
+
const el = await defaultFixture()
|
|
25
|
+
|
|
26
|
+
await expect(el).to.be.accessible()
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
it("renders the default slot content", async () => {
|
|
30
|
+
const el = await defaultFixture()
|
|
31
|
+
|
|
32
|
+
expect(el).dom.to.equal(
|
|
33
|
+
"<leu-visually-hidden>This is a text that shouldn't be visible but still accessible.</leu-visually-hidden>"
|
|
34
|
+
)
|
|
35
|
+
})
|
|
36
|
+
})
|
package/src/lib/defineElement.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Adds a definition for a custom element to the custom element
|
|
3
3
|
* registry if it isn't defined before. Prefixes the name with `leu-`.
|
|
4
4
|
* @param {string} name
|
|
5
|
-
* @param {
|
|
5
|
+
* @param {CustomElementConstructor} constructor
|
|
6
6
|
*/
|
|
7
7
|
export function defineElement(name, constructor) {
|
|
8
8
|
if (!customElements.get(`leu-${name}`)) {
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* A reactive controller that determines when slots exist.
|
|
8
|
-
* @
|
|
8
|
+
* @typedef {import("lit").ReactiveController} ReactiveController
|
|
9
|
+
* @implements {ReactiveController}
|
|
9
10
|
*/
|
|
10
11
|
export class HasSlotController {
|
|
11
12
|
constructor(host, slotNames) {
|
|
@@ -76,8 +77,9 @@ export class HasSlotController {
|
|
|
76
77
|
const slot = event.target
|
|
77
78
|
|
|
78
79
|
if (
|
|
79
|
-
|
|
80
|
-
(
|
|
80
|
+
slot instanceof HTMLSlotElement &&
|
|
81
|
+
((this.slotNames.includes("[default]") && !slot.name) ||
|
|
82
|
+
(slot.name && this.slotNames.includes(slot.name)))
|
|
81
83
|
) {
|
|
82
84
|
this.host.requestUpdate()
|
|
83
85
|
}
|
package/src/lib/utils.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Return a debounced function that delays invoking func until after wait milliseconds have elapsed since the last time the debounced function was invoked.
|
|
3
3
|
* @param {Function} func - Your function
|
|
4
4
|
* @param {Number} timeout - Default is 500 ms
|
|
5
5
|
* @returns {Function} - Your function wrapped in a timeout function
|
|
6
6
|
*/
|
|
7
|
-
const debounce = function (func, timeout = 500) {
|
|
7
|
+
const debounce = function debounce(func, timeout = 500) {
|
|
8
8
|
let timer = null
|
|
9
9
|
return (...args) => {
|
|
10
10
|
clearTimeout(timer)
|
|
@@ -14,4 +14,22 @@ const debounce = function (func, timeout = 500) {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Return a throttled function that only invokes func at most once per every wait milliseconds.
|
|
19
|
+
* @param {Function} func - Your function
|
|
20
|
+
* @param {Number} timeout - Default is 500 ms
|
|
21
|
+
* @returns {Function} - Your function wrapped in a timeout function
|
|
22
|
+
*/
|
|
23
|
+
const throttle = function throttle(func, timeout = 500) {
|
|
24
|
+
let timer = null
|
|
25
|
+
return (...args) => {
|
|
26
|
+
if (timer === null) {
|
|
27
|
+
func(...args)
|
|
28
|
+
timer = setTimeout(() => {
|
|
29
|
+
timer = null
|
|
30
|
+
}, timeout)
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export { debounce, throttle }
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@import url("./custom-media.css");
|
|
2
|
+
|
|
1
3
|
:root {
|
|
2
4
|
--leu-color-black-100: #000;
|
|
3
5
|
--leu-color-black-80: #333;
|
|
@@ -42,10 +44,12 @@
|
|
|
42
44
|
--leu-color-func-red: #d93c1a;
|
|
43
45
|
--leu-color-func-green: #1a7f1f;
|
|
44
46
|
|
|
45
|
-
--leu-font-regular: HelveticaNowRegular, Helvetica, sans-serif; /* stylelint-disable-line value-keyword-case */
|
|
46
|
-
--leu-font-black: HelveticaNowBlack, Arial Black, Helvetica, sans-serif; /* stylelint-disable-line value-keyword-case */
|
|
47
|
+
--leu-font-family-regular: HelveticaNowRegular, Helvetica, sans-serif; /* stylelint-disable-line value-keyword-case */
|
|
48
|
+
--leu-font-family-black: HelveticaNowBlack, Arial Black, Helvetica, sans-serif; /* stylelint-disable-line value-keyword-case */
|
|
47
49
|
|
|
48
50
|
--leu-box-shadow-short: 0px 0px 2px var(--leu-color-black-transp-40);
|
|
49
51
|
--leu-box-shadow-regular: 0px 0px 16px var(--leu-color-black-transp-20);
|
|
50
52
|
--leu-box-shadow-long: 0px 0px 80px var(--leu-color-black-transp-20);
|
|
53
|
+
|
|
54
|
+
@leu-font-styles './font-definitions.json';
|
|
51
55
|
}
|