@statistikzh/leu 0.14.3 → 0.15.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/.eslintrc.json +23 -4
- package/.github/workflows/release-please.yml +0 -1
- package/.prettierignore +1 -1
- package/.release-please-manifest.json +3 -0
- package/.storybook/{main.js → main.ts} +18 -2
- package/.storybook/{theme.js → theme.ts} +1 -0
- package/CHANGELOG.md +15 -0
- package/custom-elements-manifest.config.js +2 -2
- package/dist/Accordion.d.ts +32 -11
- package/dist/Accordion.js +68 -68
- package/dist/Button.d.ts +71 -32
- package/dist/Button.js +157 -155
- package/dist/ButtonGroup.d.ts +19 -14
- package/dist/ButtonGroup.js +77 -74
- package/dist/ChartWrapper.d.ts +38 -0
- package/dist/ChartWrapper.js +153 -0
- package/dist/Checkbox.d.ts +25 -7
- package/dist/Checkbox.js +41 -45
- package/dist/CheckboxGroup.d.ts +21 -9
- package/dist/CheckboxGroup.js +38 -35
- package/dist/Chip.d.ts +23 -4
- package/dist/Chip.js +13 -17
- package/dist/ChipGroup.d.ts +43 -17
- package/dist/ChipGroup.js +87 -113
- package/dist/ChipLink.d.ts +28 -10
- package/dist/ChipLink.js +17 -24
- package/dist/ChipRemovable.d.ts +25 -6
- package/dist/ChipRemovable.js +32 -36
- package/dist/ChipSelectable.d.ts +41 -23
- package/dist/ChipSelectable.js +55 -69
- package/dist/Dialog.d.ts +39 -11
- package/dist/Dialog.js +48 -55
- package/dist/Dropdown.d.ts +44 -9
- package/dist/Dropdown.js +91 -96
- package/dist/Icon.d.ts +16 -9
- package/dist/Icon.js +117 -122
- package/dist/Input.d.ts +122 -34
- package/dist/Input.js +262 -342
- package/dist/LeuElement-BhAmogDy.js +42 -0
- package/dist/LeuElement.d-BevHqLUu.d.ts +10 -0
- package/dist/Menu.d.ts +29 -10
- package/dist/Menu.js +111 -110
- package/dist/MenuItem.d.ts +69 -19
- package/dist/MenuItem.js +93 -109
- package/dist/Pagination.d.ts +59 -17
- package/dist/Pagination.js +124 -114
- package/dist/Placeholder.d.ts +27 -0
- package/dist/Placeholder.js +90 -0
- package/dist/Popup.d.ts +55 -21
- package/dist/Popup.js +149 -178
- package/dist/Radio.d.ts +21 -7
- package/dist/Radio.js +38 -42
- package/dist/RadioGroup.d.ts +39 -16
- package/dist/RadioGroup.js +136 -128
- package/dist/Range.d.ts +62 -23
- package/dist/Range.js +154 -180
- package/dist/ScrollTop.d.ts +24 -14
- package/dist/ScrollTop.js +73 -75
- package/dist/Select.d.ts +48 -38
- package/dist/Select.js +311 -336
- package/dist/Spinner.d.ts +9 -4
- package/dist/Spinner.js +5 -5
- package/dist/Table.d.ts +60 -31
- package/dist/Table.js +162 -179
- package/dist/VisuallyHidden.d.ts +9 -4
- package/dist/VisuallyHidden.js +5 -5
- package/dist/_tslib-CNEFicEt.js +30 -0
- package/dist/components/accordion/Accordion.d.ts +49 -0
- package/dist/components/accordion/Accordion.d.ts.map +1 -0
- package/dist/components/accordion/leu-accordion.d.ts +8 -0
- package/dist/components/accordion/leu-accordion.d.ts.map +1 -0
- package/dist/components/accordion/stories/accordion.stories.d.ts +26 -0
- package/dist/components/accordion/stories/accordion.stories.d.ts.map +1 -0
- package/dist/components/accordion/test/accordion.test.d.ts +2 -0
- package/dist/components/accordion/test/accordion.test.d.ts.map +1 -0
- package/dist/components/button/Button.d.ts +81 -0
- package/dist/components/button/Button.d.ts.map +1 -0
- package/dist/components/button/leu-button.d.ts +8 -0
- package/dist/components/button/leu-button.d.ts.map +1 -0
- package/dist/components/button/stories/button.stories.d.ts +19 -0
- package/dist/components/button/stories/button.stories.d.ts.map +1 -0
- package/dist/components/button/test/button.test.d.ts +3 -0
- package/dist/components/button/test/button.test.d.ts.map +1 -0
- package/dist/components/button-group/ButtonGroup.d.ts +25 -0
- package/dist/components/button-group/ButtonGroup.d.ts.map +1 -0
- package/dist/components/button-group/leu-button-group.d.ts +8 -0
- package/dist/components/button-group/leu-button-group.d.ts.map +1 -0
- package/dist/components/button-group/stories/button-group.stories.d.ts +15 -0
- package/dist/components/button-group/stories/button-group.stories.d.ts.map +1 -0
- package/dist/components/button-group/test/button-group.test.d.ts +3 -0
- package/dist/components/button-group/test/button-group.test.d.ts.map +1 -0
- package/dist/components/checkbox/Checkbox.d.ts +28 -0
- package/dist/components/checkbox/Checkbox.d.ts.map +1 -0
- package/dist/components/checkbox/CheckboxGroup.d.ts +22 -0
- package/dist/components/checkbox/CheckboxGroup.d.ts.map +1 -0
- package/dist/components/checkbox/leu-checkbox-group.d.ts +8 -0
- package/dist/components/checkbox/leu-checkbox-group.d.ts.map +1 -0
- package/dist/components/checkbox/leu-checkbox.d.ts +8 -0
- package/dist/components/checkbox/leu-checkbox.d.ts.map +1 -0
- package/dist/components/checkbox/stories/checkbox-group.stories.d.ts +29 -0
- package/dist/components/checkbox/stories/checkbox-group.stories.d.ts.map +1 -0
- package/dist/components/checkbox/stories/checkbox.stories.d.ts +22 -0
- package/dist/components/checkbox/stories/checkbox.stories.d.ts.map +1 -0
- package/dist/components/checkbox/test/checkbox-group.test.d.ts +3 -0
- package/dist/components/checkbox/test/checkbox-group.test.d.ts.map +1 -0
- package/dist/components/checkbox/test/checkbox.test.d.ts +2 -0
- package/dist/components/checkbox/test/checkbox.test.d.ts.map +1 -0
- package/dist/components/chip/Chip.d.ts +21 -0
- package/dist/components/chip/Chip.d.ts.map +1 -0
- package/dist/components/chip/ChipGroup.d.ts +58 -0
- package/dist/components/chip/ChipGroup.d.ts.map +1 -0
- package/dist/components/chip/ChipLink.d.ts +29 -0
- package/dist/components/chip/ChipLink.d.ts.map +1 -0
- package/dist/components/chip/ChipRemovable.d.ts +32 -0
- package/dist/components/chip/ChipRemovable.d.ts.map +1 -0
- package/dist/components/chip/ChipSelectable.d.ts +51 -0
- package/dist/components/chip/ChipSelectable.d.ts.map +1 -0
- package/dist/components/chip/exports.d.ts +5 -0
- package/dist/components/chip/exports.d.ts.map +1 -0
- package/dist/components/chip/leu-chip-group.d.ts +8 -0
- package/dist/components/chip/leu-chip-group.d.ts.map +1 -0
- package/dist/components/chip/leu-chip-link.d.ts +8 -0
- package/dist/components/chip/leu-chip-link.d.ts.map +1 -0
- package/dist/components/chip/leu-chip-removable.d.ts +8 -0
- package/dist/components/chip/leu-chip-removable.d.ts.map +1 -0
- package/dist/components/chip/leu-chip-selectable.d.ts +8 -0
- package/dist/components/chip/leu-chip-selectable.d.ts.map +1 -0
- package/dist/components/chip/stories/chip-group.stories.d.ts +40 -0
- package/dist/components/chip/stories/chip-group.stories.d.ts.map +1 -0
- package/dist/components/chip/stories/chip-link.stories.d.ts +27 -0
- package/dist/components/chip/stories/chip-link.stories.d.ts.map +1 -0
- package/dist/components/chip/stories/chip-removable.stories.d.ts +21 -0
- package/dist/components/chip/stories/chip-removable.stories.d.ts.map +1 -0
- package/dist/components/chip/stories/chip-selectable.stories.d.ts +35 -0
- package/dist/components/chip/stories/chip-selectable.stories.d.ts.map +1 -0
- package/dist/components/chip/test/chip-group.test.d.ts +4 -0
- package/dist/components/chip/test/chip-group.test.d.ts.map +1 -0
- package/dist/components/chip/test/chip-link.test.d.ts +2 -0
- package/dist/components/chip/test/chip-link.test.d.ts.map +1 -0
- package/dist/components/chip/test/chip-removable.test.d.ts +2 -0
- package/dist/components/chip/test/chip-removable.test.d.ts.map +1 -0
- package/dist/components/chip/test/chip-selectable.test.d.ts +2 -0
- package/dist/components/chip/test/chip-selectable.test.d.ts.map +1 -0
- package/dist/components/chip/test/chip.test.d.ts +2 -0
- package/dist/components/chip/test/chip.test.d.ts.map +1 -0
- package/dist/components/dialog/Dialog.d.ts +41 -0
- package/dist/components/dialog/Dialog.d.ts.map +1 -0
- package/dist/components/dialog/leu-dialog.d.ts +8 -0
- package/dist/components/dialog/leu-dialog.d.ts.map +1 -0
- package/dist/components/dialog/stories/dialog.stories.d.ts +19 -0
- package/dist/components/dialog/stories/dialog.stories.d.ts.map +1 -0
- package/dist/components/dialog/test/dialog.test.d.ts +2 -0
- package/dist/components/dialog/test/dialog.test.d.ts.map +1 -0
- package/dist/components/dropdown/Dropdown.d.ts +49 -0
- package/dist/components/dropdown/Dropdown.d.ts.map +1 -0
- package/dist/components/dropdown/leu-dropdown.d.ts +8 -0
- package/dist/components/dropdown/leu-dropdown.d.ts.map +1 -0
- package/dist/components/dropdown/stories/dropdown.stories.d.ts +25 -0
- package/dist/components/dropdown/stories/dropdown.stories.d.ts.map +1 -0
- package/dist/components/dropdown/test/dropdown.test.d.ts +2 -0
- package/dist/components/dropdown/test/dropdown.test.d.ts.map +1 -0
- package/dist/components/icon/Icon.d.ts +23 -0
- package/dist/components/icon/Icon.d.ts.map +1 -0
- package/dist/components/icon/leu-icon.d.ts +8 -0
- package/dist/components/icon/leu-icon.d.ts.map +1 -0
- package/dist/components/icon/paths.d.ts +101 -0
- package/dist/components/icon/paths.d.ts.map +1 -0
- package/dist/components/icon/stories/icon.stories.d.ts +32 -0
- package/dist/components/icon/stories/icon.stories.d.ts.map +1 -0
- package/dist/components/icon/test/icon.test.d.ts +2 -0
- package/dist/components/icon/test/icon.test.d.ts.map +1 -0
- package/dist/components/input/Input.d.ts +239 -0
- package/dist/components/input/Input.d.ts.map +1 -0
- package/dist/components/input/leu-input.d.ts +8 -0
- package/dist/components/input/leu-input.d.ts.map +1 -0
- package/dist/components/input/stories/input.stories.d.ts +35 -0
- package/dist/components/input/stories/input.stories.d.ts.map +1 -0
- package/dist/components/input/test/input.test.d.ts +2 -0
- package/dist/components/input/test/input.test.d.ts.map +1 -0
- package/dist/components/menu/Menu.d.ts +44 -0
- package/dist/components/menu/Menu.d.ts.map +1 -0
- package/dist/components/menu/MenuItem.d.ts +88 -0
- package/dist/components/menu/MenuItem.d.ts.map +1 -0
- package/dist/components/menu/leu-menu-item.d.ts +8 -0
- package/dist/components/menu/leu-menu-item.d.ts.map +1 -0
- package/dist/components/menu/leu-menu.d.ts +8 -0
- package/dist/components/menu/leu-menu.d.ts.map +1 -0
- package/dist/components/menu/stories/menu-item.stories.d.ts +24 -0
- package/dist/components/menu/stories/menu-item.stories.d.ts.map +1 -0
- package/dist/components/menu/stories/menu.stories.d.ts +26 -0
- package/dist/components/menu/stories/menu.stories.d.ts.map +1 -0
- package/dist/components/menu/test/menu-item.test.d.ts +3 -0
- package/dist/components/menu/test/menu-item.test.d.ts.map +1 -0
- package/dist/components/menu/test/menu.test.d.ts +4 -0
- package/dist/components/menu/test/menu.test.d.ts.map +1 -0
- package/dist/components/pagination/Pagination.d.ts +72 -0
- package/dist/components/pagination/Pagination.d.ts.map +1 -0
- package/dist/components/pagination/leu-pagination.d.ts +8 -0
- package/dist/components/pagination/leu-pagination.d.ts.map +1 -0
- package/dist/components/pagination/stories/pagination.stories.d.ts +25 -0
- package/dist/components/pagination/stories/pagination.stories.d.ts.map +1 -0
- package/dist/components/pagination/test/pagination.test.d.ts +2 -0
- package/dist/components/pagination/test/pagination.test.d.ts.map +1 -0
- package/dist/components/placeholder/Placeholder.d.ts +23 -0
- package/dist/components/placeholder/Placeholder.d.ts.map +1 -0
- package/dist/components/placeholder/leu-placeholder.d.ts +3 -0
- package/dist/components/placeholder/leu-placeholder.d.ts.map +1 -0
- package/dist/components/placeholder/stories/placeholder.stories.d.ts +27 -0
- package/dist/components/placeholder/stories/placeholder.stories.d.ts.map +1 -0
- package/dist/components/placeholder/test/placeholder.test.d.ts +2 -0
- package/dist/components/placeholder/test/placeholder.test.d.ts.map +1 -0
- package/dist/components/popup/Popup.d.ts +66 -0
- package/dist/components/popup/Popup.d.ts.map +1 -0
- package/dist/components/popup/leu-popup.d.ts +8 -0
- package/dist/components/popup/leu-popup.d.ts.map +1 -0
- package/dist/components/popup/stories/popup.stories.d.ts +17 -0
- package/dist/components/popup/stories/popup.stories.d.ts.map +1 -0
- package/dist/components/popup/test/popup.test.d.ts +2 -0
- package/dist/components/popup/test/popup.test.d.ts.map +1 -0
- package/dist/components/radio/Radio.d.ts +24 -0
- package/dist/components/radio/Radio.d.ts.map +1 -0
- package/dist/components/radio/RadioGroup.d.ts +39 -0
- package/dist/components/radio/RadioGroup.d.ts.map +1 -0
- package/dist/components/radio/leu-radio-group.d.ts +8 -0
- package/dist/components/radio/leu-radio-group.d.ts.map +1 -0
- package/dist/components/radio/leu-radio.d.ts +8 -0
- package/dist/components/radio/leu-radio.d.ts.map +1 -0
- package/dist/components/radio/stories/radio-group.stories.d.ts +29 -0
- package/dist/components/radio/stories/radio-group.stories.d.ts.map +1 -0
- package/dist/components/radio/stories/radio.stories.d.ts +22 -0
- package/dist/components/radio/stories/radio.stories.d.ts.map +1 -0
- package/dist/components/radio/test/radio-group.test.d.ts +3 -0
- package/dist/components/radio/test/radio-group.test.d.ts.map +1 -0
- package/dist/components/radio/test/radio.test.d.ts +2 -0
- package/dist/components/radio/test/radio.test.d.ts.map +1 -0
- package/dist/components/range/Range.d.ts +95 -0
- package/dist/components/range/Range.d.ts.map +1 -0
- package/dist/components/range/leu-range.d.ts +8 -0
- package/dist/components/range/leu-range.d.ts.map +1 -0
- package/dist/components/range/stories/range-slider.stories.d.ts +26 -0
- package/dist/components/range/stories/range-slider.stories.d.ts.map +1 -0
- package/dist/components/range/test/range.test.d.ts +2 -0
- package/dist/components/range/test/range.test.d.ts.map +1 -0
- package/dist/components/scroll-top/ScrollTop.d.ts +25 -0
- package/dist/components/scroll-top/ScrollTop.d.ts.map +1 -0
- package/dist/components/scroll-top/leu-scroll-top.d.ts +8 -0
- package/dist/components/scroll-top/leu-scroll-top.d.ts.map +1 -0
- package/dist/components/scroll-top/stories/scroll-top.stories.d.ts +8 -0
- package/dist/components/scroll-top/stories/scroll-top.stories.d.ts.map +1 -0
- package/dist/components/scroll-top/test/scroll-top.test.d.ts +2 -0
- package/dist/components/scroll-top/test/scroll-top.test.d.ts.map +1 -0
- package/dist/components/select/Select.d.ts +145 -0
- package/dist/components/select/Select.d.ts.map +1 -0
- package/dist/components/select/leu-select.d.ts +8 -0
- package/dist/components/select/leu-select.d.ts.map +1 -0
- package/dist/components/select/stories/select.stories.d.ts +23 -0
- package/dist/components/select/stories/select.stories.d.ts.map +1 -0
- package/dist/components/select/test/fixtures.d.ts +2 -0
- package/dist/components/select/test/fixtures.d.ts.map +1 -0
- package/dist/components/select/test/select.test.d.ts +3 -0
- package/dist/components/select/test/select.test.d.ts.map +1 -0
- package/dist/components/spinner/Spinner.d.ts +10 -0
- package/dist/components/spinner/Spinner.d.ts.map +1 -0
- package/dist/components/spinner/leu-spinner.d.ts +8 -0
- package/dist/components/spinner/leu-spinner.d.ts.map +1 -0
- package/dist/components/spinner/stories/spinner.stories.d.ts +16 -0
- package/dist/components/spinner/stories/spinner.stories.d.ts.map +1 -0
- package/dist/components/spinner/test/spinner.test.d.ts +2 -0
- package/dist/components/spinner/test/spinner.test.d.ts.map +1 -0
- package/dist/components/table/Table.d.ts +65 -0
- package/dist/components/table/Table.d.ts.map +1 -0
- package/dist/components/table/leu-table.d.ts +8 -0
- package/dist/components/table/leu-table.d.ts.map +1 -0
- package/dist/components/table/stories/table.stories.d.ts +15 -0
- package/dist/components/table/stories/table.stories.d.ts.map +1 -0
- package/dist/components/table/test/table.test.d.ts +2 -0
- package/dist/components/table/test/table.test.d.ts.map +1 -0
- package/dist/components/visualization/ChartWrapper.d.ts +34 -0
- package/dist/components/visualization/ChartWrapper.d.ts.map +1 -0
- package/dist/components/visualization/leu-chart-wrapper.d.ts +3 -0
- package/dist/components/visualization/leu-chart-wrapper.d.ts.map +1 -0
- package/dist/components/visualization/stories/chart-wrapper.stories.d.ts +28 -0
- package/dist/components/visualization/stories/chart-wrapper.stories.d.ts.map +1 -0
- package/dist/components/visualization/test/chart-wrapper.test.d.ts +2 -0
- package/dist/components/visualization/test/chart-wrapper.test.d.ts.map +1 -0
- package/dist/components/visually-hidden/VisuallyHidden.d.ts +9 -0
- package/dist/components/visually-hidden/VisuallyHidden.d.ts.map +1 -0
- package/dist/components/visually-hidden/leu-visually-hidden.d.ts +8 -0
- package/dist/components/visually-hidden/leu-visually-hidden.d.ts.map +1 -0
- package/dist/components/visually-hidden/stories/visually-hidden.stories.d.ts +13 -0
- package/dist/components/visually-hidden/stories/visually-hidden.stories.d.ts.map +1 -0
- package/dist/components/visually-hidden/test/visually-hidden.test.d.ts +2 -0
- package/dist/components/visually-hidden/test/visually-hidden.test.d.ts.map +1 -0
- package/dist/hasSlotController-Bm2tipvG.js +53 -0
- package/dist/hasSlotController.d-emXwVXWF.d.ts +23 -0
- package/dist/index.d.ts +17 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/leu-accordion.d.ts +12 -2
- package/dist/leu-accordion.js +3 -1
- package/dist/leu-button-group.d.ts +12 -2
- package/dist/leu-button-group.js +8 -1
- package/dist/leu-button.d.ts +13 -2
- package/dist/leu-button.js +4 -2
- package/dist/leu-chart-wrapper.d.ts +6 -0
- package/dist/leu-chart-wrapper.js +11 -0
- package/dist/leu-checkbox-group.d.ts +12 -2
- package/dist/leu-checkbox-group.js +5 -1
- package/dist/leu-checkbox.d.ts +13 -2
- package/dist/leu-checkbox.js +3 -1
- package/dist/leu-chip-group.d.ts +12 -2
- package/dist/leu-chip-group.js +2 -2
- package/dist/leu-chip-link.d.ts +13 -2
- package/dist/leu-chip-link.js +1 -1
- package/dist/leu-chip-removable.d.ts +14 -2
- package/dist/leu-chip-removable.js +1 -1
- package/dist/leu-chip-selectable.d.ts +13 -2
- package/dist/leu-chip-selectable.js +1 -1
- package/dist/leu-dialog.d.ts +14 -2
- package/dist/leu-dialog.js +2 -2
- package/dist/leu-dropdown.d.ts +18 -2
- package/dist/leu-dropdown.js +4 -2
- package/dist/leu-icon.d.ts +12 -2
- package/dist/leu-icon.js +1 -1
- package/dist/leu-input.d.ts +13 -2
- package/dist/leu-input.js +1 -1
- package/dist/leu-menu-item.d.ts +13 -2
- package/dist/leu-menu-item.js +1 -1
- package/dist/leu-menu.d.ts +14 -2
- package/dist/leu-menu.js +1 -1
- package/dist/leu-pagination.d.ts +15 -2
- package/dist/leu-pagination.js +4 -2
- package/dist/leu-placeholder.d.ts +4 -0
- package/dist/leu-placeholder.js +7 -0
- package/dist/leu-popup.d.ts +12 -2
- package/dist/leu-popup.js +1 -1
- package/dist/leu-radio-group.d.ts +12 -2
- package/dist/leu-radio-group.js +4 -1
- package/dist/leu-radio.d.ts +12 -2
- package/dist/leu-radio.js +3 -1
- package/dist/leu-range.d.ts +12 -2
- package/dist/leu-range.js +1 -1
- package/dist/leu-scroll-top.d.ts +14 -2
- package/dist/leu-scroll-top.js +4 -2
- package/dist/leu-select.d.ts +19 -2
- package/dist/leu-select.js +4 -2
- package/dist/leu-spinner.d.ts +12 -2
- package/dist/leu-spinner.js +1 -1
- package/dist/leu-table.d.ts +16 -2
- package/dist/leu-table.js +4 -2
- package/dist/leu-visually-hidden.d.ts +12 -2
- package/dist/leu-visually-hidden.js +1 -1
- package/dist/lib/LeuElement.d.ts +8 -0
- package/dist/lib/LeuElement.d.ts.map +1 -0
- package/dist/lib/a11y.d.ts +11 -0
- package/dist/lib/a11y.d.ts.map +1 -0
- package/dist/lib/hasSlotController.d.ts +20 -0
- package/dist/lib/hasSlotController.d.ts.map +1 -0
- package/dist/lib/utils.d.ts +16 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/styles/style.stories.d.ts +6 -0
- package/dist/styles/style.stories.d.ts.map +1 -0
- package/dist/vscode.html-custom-data.json +93 -23
- package/dist/vue/index.d.ts +79 -41
- package/dist/web-types.json +211 -70
- package/package.json +18 -11
- package/release-please-config.json +8 -0
- package/rollup.config.js +55 -25
- package/scripts/generate-component/generate.js +1 -1
- package/scripts/generate-component/templates/{[Name].js → [Name].ts} +3 -3
- package/scripts/generate-component/templates/stories/[name].stories.ts +26 -0
- package/src/components/accordion/{Accordion.js → Accordion.ts} +26 -21
- package/src/components/accordion/{leu-accordion.js → leu-accordion.ts} +6 -0
- package/src/components/accordion/stories/{accordion.stories.js → accordion.stories.ts} +10 -8
- package/src/components/button/{Button.js → Button.ts} +95 -80
- package/src/components/button/{leu-button.js → leu-button.ts} +6 -0
- package/src/components/button/stories/{button.stories.js → button.stories.ts} +5 -6
- package/src/components/button-group/{ButtonGroup.js → ButtonGroup.ts} +19 -18
- package/src/components/button-group/{leu-button-group.js → leu-button-group.ts} +6 -0
- package/src/components/checkbox/{Checkbox.js → Checkbox.ts} +13 -16
- package/src/components/checkbox/{CheckboxGroup.js → CheckboxGroup.ts} +20 -17
- package/src/components/checkbox/{leu-checkbox-group.js → leu-checkbox-group.ts} +6 -0
- package/src/components/checkbox/{leu-checkbox.js → leu-checkbox.ts} +6 -0
- package/src/components/chip/{Chip.js → Chip.ts} +0 -1
- package/src/components/chip/{ChipGroup.js → ChipGroup.ts} +0 -1
- package/src/components/chip/{leu-chip-group.js → leu-chip-group.ts} +6 -0
- package/src/components/chip/{leu-chip-link.js → leu-chip-link.ts} +6 -0
- package/src/components/chip/{leu-chip-removable.js → leu-chip-removable.ts} +6 -0
- package/src/components/chip/{leu-chip-selectable.js → leu-chip-selectable.ts} +6 -0
- package/src/components/dialog/{Dialog.js → Dialog.ts} +0 -1
- package/src/components/dialog/{leu-dialog.js → leu-dialog.ts} +6 -0
- package/src/components/dropdown/{Dropdown.js → Dropdown.ts} +0 -1
- package/src/components/dropdown/{leu-dropdown.js → leu-dropdown.ts} +6 -0
- package/src/components/icon/{Icon.js → Icon.ts} +0 -1
- package/src/components/icon/{leu-icon.js → leu-icon.ts} +6 -0
- package/src/components/icon/stories/{icon.stories.js → icon.stories.ts} +27 -0
- package/src/components/input/{Input.js → Input.ts} +0 -1
- package/src/components/input/{leu-input.js → leu-input.ts} +6 -0
- package/src/components/menu/{Menu.js → Menu.ts} +0 -1
- package/src/components/menu/{MenuItem.js → MenuItem.ts} +0 -1
- package/src/components/menu/{leu-menu-item.js → leu-menu-item.ts} +6 -0
- package/src/components/menu/{leu-menu.js → leu-menu.ts} +6 -0
- package/src/components/pagination/{Pagination.js → Pagination.ts} +45 -33
- package/src/components/pagination/{leu-pagination.js → leu-pagination.ts} +6 -0
- package/src/components/pagination/stories/{pagination.stories.js → pagination.stories.ts} +28 -17
- package/src/components/placeholder/Placeholder.ts +33 -0
- package/src/components/placeholder/leu-placeholder.ts +5 -0
- package/src/components/placeholder/placeholder.css +59 -0
- package/src/components/placeholder/stories/placeholder.stories.ts +34 -0
- package/src/components/placeholder/test/placeholder.test.ts +31 -0
- package/src/components/popup/{Popup.js → Popup.ts} +0 -1
- package/src/components/popup/{leu-popup.js → leu-popup.ts} +6 -0
- package/src/components/radio/{Radio.js → Radio.ts} +13 -16
- package/src/components/radio/{RadioGroup.js → RadioGroup.ts} +42 -29
- package/src/components/radio/{leu-radio-group.js → leu-radio-group.ts} +6 -0
- package/src/components/radio/{leu-radio.js → leu-radio.ts} +6 -0
- package/src/components/range/{leu-range.js → leu-range.ts} +6 -0
- package/src/components/scroll-top/{ScrollTop.js → ScrollTop.ts} +0 -1
- package/src/components/scroll-top/{leu-scroll-top.js → leu-scroll-top.ts} +6 -0
- package/src/components/select/{Select.js → Select.ts} +0 -1
- package/src/components/select/{leu-select.js → leu-select.ts} +6 -0
- package/src/components/select/test/{fixtures.js → fixtures.ts} +1 -1
- package/src/components/spinner/{leu-spinner.js → leu-spinner.ts} +6 -0
- package/src/components/table/{Table.js → Table.ts} +0 -1
- package/src/components/table/{leu-table.js → leu-table.ts} +6 -0
- package/src/components/visualization/ChartWrapper.ts +75 -0
- package/src/components/visualization/chart-wrapper.css +78 -0
- package/src/components/visualization/leu-chart-wrapper.ts +5 -0
- package/src/components/visualization/stories/chart-wrapper.stories.ts +52 -0
- package/src/components/visualization/test/chart-wrapper.test.ts +74 -0
- package/src/components/visually-hidden/{VisuallyHidden.js → VisuallyHidden.ts} +0 -1
- package/src/components/visually-hidden/{leu-visually-hidden.js → leu-visually-hidden.ts} +6 -0
- package/src/docs/theme.mdx +14 -10
- package/src/global.d.ts +11 -0
- package/src/index.ts +17 -0
- package/src/lib/{LeuElement.js → LeuElement.ts} +15 -6
- package/src/lib/{a11y.js → a11y.ts} +4 -4
- package/src/lib/{hasSlotController.js → hasSlotController.ts} +12 -25
- package/stylelint.config.mjs +1 -1
- package/tsconfig.build.json +6 -4
- package/tsconfig.json +7 -10
- package/web-dev-server.config.mjs +11 -1
- package/web-test-runner.config.mjs +11 -2
- package/babel.config.json +0 -3
- package/dist/Accordion.d.ts.map +0 -1
- package/dist/Button.d.ts.map +0 -1
- package/dist/ButtonGroup.d.ts.map +0 -1
- package/dist/Checkbox.d.ts.map +0 -1
- package/dist/CheckboxGroup.d.ts.map +0 -1
- package/dist/Chip.d.ts.map +0 -1
- package/dist/ChipGroup.d.ts.map +0 -1
- package/dist/ChipLink.d.ts.map +0 -1
- package/dist/ChipRemovable.d.ts.map +0 -1
- package/dist/ChipSelectable.d.ts.map +0 -1
- package/dist/Dialog.d.ts.map +0 -1
- package/dist/Dropdown.d.ts.map +0 -1
- package/dist/Icon.d.ts.map +0 -1
- package/dist/Input.d.ts.map +0 -1
- package/dist/LeuElement-Dd6zm9XF.d.ts +0 -7
- package/dist/LeuElement-Dd6zm9XF.d.ts.map +0 -1
- package/dist/LeuElement-Dd6zm9XF.js +0 -70
- package/dist/Menu.d.ts.map +0 -1
- package/dist/MenuItem.d.ts.map +0 -1
- package/dist/Pagination.d.ts.map +0 -1
- package/dist/Popup.d.ts.map +0 -1
- package/dist/Radio.d.ts.map +0 -1
- package/dist/RadioGroup.d.ts.map +0 -1
- package/dist/Range.d.ts.map +0 -1
- package/dist/ScrollTop.d.ts.map +0 -1
- package/dist/Select.d.ts.map +0 -1
- package/dist/Spinner.d.ts.map +0 -1
- package/dist/Table.d.ts.map +0 -1
- package/dist/VisuallyHidden.d.ts.map +0 -1
- package/dist/hasSlotController-dQsSUUpb.d.ts +0 -38
- package/dist/hasSlotController-dQsSUUpb.d.ts.map +0 -1
- package/dist/hasSlotController-dQsSUUpb.js +0 -75
- package/dist/leu-accordion.d.ts.map +0 -1
- package/dist/leu-button-group.d.ts.map +0 -1
- package/dist/leu-button.d.ts.map +0 -1
- package/dist/leu-checkbox-group.d.ts.map +0 -1
- package/dist/leu-checkbox.d.ts.map +0 -1
- package/dist/leu-chip-group.d.ts.map +0 -1
- package/dist/leu-chip-link.d.ts.map +0 -1
- package/dist/leu-chip-removable.d.ts.map +0 -1
- package/dist/leu-chip-selectable.d.ts.map +0 -1
- package/dist/leu-dialog.d.ts.map +0 -1
- package/dist/leu-dropdown.d.ts.map +0 -1
- package/dist/leu-icon.d.ts.map +0 -1
- package/dist/leu-input.d.ts.map +0 -1
- package/dist/leu-menu-item.d.ts.map +0 -1
- package/dist/leu-menu.d.ts.map +0 -1
- package/dist/leu-pagination.d.ts.map +0 -1
- package/dist/leu-popup.d.ts.map +0 -1
- package/dist/leu-radio-group.d.ts.map +0 -1
- package/dist/leu-radio.d.ts.map +0 -1
- package/dist/leu-range.d.ts.map +0 -1
- package/dist/leu-scroll-top.d.ts.map +0 -1
- package/dist/leu-select.d.ts.map +0 -1
- package/dist/leu-spinner.d.ts.map +0 -1
- package/dist/leu-table.d.ts.map +0 -1
- package/dist/leu-visually-hidden.d.ts.map +0 -1
- package/index.js +0 -17
- package/scripts/generate-component/templates/stories/[name].stories.js +0 -13
- /package/.storybook/{manager.js → manager.ts} +0 -0
- /package/.storybook/{preview.js → preview.ts} +0 -0
- /package/scripts/generate-component/templates/{[namespace]-[name].js → [namespace]-[name].ts} +0 -0
- /package/scripts/generate-component/templates/test/{[name].test.js → [name].test.ts} +0 -0
- /package/src/components/accordion/test/{accordion.test.js → accordion.test.ts} +0 -0
- /package/src/components/button/test/{button.test.js → button.test.ts} +0 -0
- /package/src/components/button-group/stories/{button-group.stories.js → button-group.stories.ts} +0 -0
- /package/src/components/button-group/test/{button-group.test.js → button-group.test.ts} +0 -0
- /package/src/components/checkbox/stories/{checkbox-group.stories.js → checkbox-group.stories.ts} +0 -0
- /package/src/components/checkbox/stories/{checkbox.stories.js → checkbox.stories.ts} +0 -0
- /package/src/components/checkbox/test/{checkbox-group.test.js → checkbox-group.test.ts} +0 -0
- /package/src/components/checkbox/test/{checkbox.test.js → checkbox.test.ts} +0 -0
- /package/src/components/chip/{ChipLink.js → ChipLink.ts} +0 -0
- /package/src/components/chip/{ChipRemovable.js → ChipRemovable.ts} +0 -0
- /package/src/components/chip/{ChipSelectable.js → ChipSelectable.ts} +0 -0
- /package/src/components/chip/{exports.js → exports.ts} +0 -0
- /package/src/components/chip/stories/{chip-group.stories.js → chip-group.stories.ts} +0 -0
- /package/src/components/chip/stories/{chip-link.stories.js → chip-link.stories.ts} +0 -0
- /package/src/components/chip/stories/{chip-removable.stories.js → chip-removable.stories.ts} +0 -0
- /package/src/components/chip/stories/{chip-selectable.stories.js → chip-selectable.stories.ts} +0 -0
- /package/src/components/chip/test/{chip-group.test.js → chip-group.test.ts} +0 -0
- /package/src/components/chip/test/{chip-link.test.js → chip-link.test.ts} +0 -0
- /package/src/components/chip/test/{chip-removable.test.js → chip-removable.test.ts} +0 -0
- /package/src/components/chip/test/{chip-selectable.test.js → chip-selectable.test.ts} +0 -0
- /package/src/components/chip/test/{chip.test.js → chip.test.ts} +0 -0
- /package/src/components/dialog/stories/{dialog.stories.js → dialog.stories.ts} +0 -0
- /package/src/components/dialog/test/{dialog.test.js → dialog.test.ts} +0 -0
- /package/src/components/dropdown/stories/{dropdown.stories.js → dropdown.stories.ts} +0 -0
- /package/src/components/dropdown/test/{dropdown.test.js → dropdown.test.ts} +0 -0
- /package/src/components/icon/{paths.js → paths.ts} +0 -0
- /package/src/components/icon/test/{icon.test.js → icon.test.ts} +0 -0
- /package/src/components/input/stories/{input.stories.js → input.stories.ts} +0 -0
- /package/src/components/input/test/{input.test.js → input.test.ts} +0 -0
- /package/src/components/menu/stories/{menu-item.stories.js → menu-item.stories.ts} +0 -0
- /package/src/components/menu/stories/{menu.stories.js → menu.stories.ts} +0 -0
- /package/src/components/menu/test/{menu-item.test.js → menu-item.test.ts} +0 -0
- /package/src/components/menu/test/{menu.test.js → menu.test.ts} +0 -0
- /package/src/components/pagination/test/{pagination.test.js → pagination.test.ts} +0 -0
- /package/src/components/popup/stories/{popup.stories.js → popup.stories.ts} +0 -0
- /package/src/components/popup/test/{popup.test.js → popup.test.ts} +0 -0
- /package/src/components/radio/stories/{radio-group.stories.js → radio-group.stories.ts} +0 -0
- /package/src/components/radio/stories/{radio.stories.js → radio.stories.ts} +0 -0
- /package/src/components/radio/test/{radio-group.test.js → radio-group.test.ts} +0 -0
- /package/src/components/radio/test/{radio.test.js → radio.test.ts} +0 -0
- /package/src/components/range/{Range.js → Range.ts} +0 -0
- /package/src/components/range/stories/{range-slider.stories.js → range-slider.stories.ts} +0 -0
- /package/src/components/range/test/{range-test.js → range.test.ts} +0 -0
- /package/src/components/scroll-top/stories/{scroll-top.stories.js → scroll-top.stories.ts} +0 -0
- /package/src/components/scroll-top/test/{scroll-top.test.js → scroll-top.test.ts} +0 -0
- /package/src/components/select/stories/{select.stories.js → select.stories.ts} +0 -0
- /package/src/components/select/test/{select.test.js → select.test.ts} +0 -0
- /package/src/components/spinner/{Spinner.js → Spinner.ts} +0 -0
- /package/src/components/spinner/stories/{spinner.stories.js → spinner.stories.ts} +0 -0
- /package/src/components/spinner/test/{spinner.test.js → spinner.test.ts} +0 -0
- /package/src/components/table/stories/{table.stories.js → table.stories.ts} +0 -0
- /package/src/components/table/test/{table.test.js → table.test.ts} +0 -0
- /package/src/components/visually-hidden/stories/{visually-hidden.stories.js → visually-hidden.stories.ts} +0 -0
- /package/src/components/visually-hidden/test/{visually-hidden.test.js → visually-hidden.test.ts} +0 -0
- /package/src/lib/{utils.js → utils.ts} +0 -0
- /package/src/styles/{style.stories.js → style.stories.ts} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { html } from "lit"
|
|
2
|
+
import { property } from "lit/decorators.js"
|
|
2
3
|
|
|
3
4
|
import { LeuElement } from "../../lib/LeuElement.js"
|
|
4
5
|
import { LeuIcon } from "../icon/Icon.js"
|
|
5
6
|
|
|
6
|
-
// @ts-ignore
|
|
7
7
|
import styles from "./checkbox.css"
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -22,29 +22,26 @@ export class LeuCheckbox extends LeuElement {
|
|
|
22
22
|
delegatesFocus: true,
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
disabled: { type: Boolean, reflect: true },
|
|
28
|
-
value: { type: String, reflect: true },
|
|
29
|
-
name: { type: String, reflect: true },
|
|
30
|
-
}
|
|
25
|
+
@property({ type: Boolean, reflect: true })
|
|
26
|
+
checked: boolean = false
|
|
31
27
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
28
|
+
@property({ type: Boolean, reflect: true })
|
|
29
|
+
disabled: boolean = false
|
|
30
|
+
|
|
31
|
+
@property({ type: String, reflect: true })
|
|
32
|
+
value: string = ""
|
|
33
|
+
|
|
34
|
+
@property({ type: String, reflect: true })
|
|
35
|
+
name: string = ""
|
|
39
36
|
|
|
40
|
-
handleChange(event) {
|
|
37
|
+
private handleChange(event: Event & { target: HTMLInputElement }) {
|
|
41
38
|
this.checked = event.target.checked
|
|
42
39
|
|
|
43
40
|
const customEvent = new CustomEvent(event.type, event)
|
|
44
41
|
this.dispatchEvent(customEvent)
|
|
45
42
|
}
|
|
46
43
|
|
|
47
|
-
handleInput(event) {
|
|
44
|
+
private handleInput(event: InputEvent & { target: HTMLInputElement }) {
|
|
48
45
|
this.checked = event.target.checked
|
|
49
46
|
}
|
|
50
47
|
|
|
@@ -1,39 +1,42 @@
|
|
|
1
1
|
import { html } from "lit"
|
|
2
2
|
import { classMap } from "lit/directives/class-map.js"
|
|
3
|
+
import { property } from "lit/decorators.js"
|
|
3
4
|
|
|
4
5
|
import { LeuElement } from "../../lib/LeuElement.js"
|
|
5
6
|
|
|
6
|
-
// @ts-ignore
|
|
7
7
|
import styles from "./checkbox-group.css"
|
|
8
|
+
import { LeuCheckbox } from "./Checkbox.js"
|
|
8
9
|
|
|
9
10
|
/**
|
|
11
|
+
*
|
|
12
|
+
* @slot - Place the checkboxes inside the default slot.
|
|
10
13
|
* @tagname leu-checkbox-group
|
|
11
14
|
*/
|
|
12
15
|
export class LeuCheckboxGroup extends LeuElement {
|
|
13
16
|
static styles = [LeuElement.styles, styles]
|
|
14
17
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
18
|
+
/**
|
|
19
|
+
* Defines how the checkboxes should be aligned.
|
|
20
|
+
*/
|
|
21
|
+
@property({ type: String, reflect: true })
|
|
22
|
+
orientation: "horizontal" | "vertical" = "horizontal"
|
|
19
23
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
/**
|
|
25
|
+
* The label of the checkbox group
|
|
26
|
+
*/
|
|
27
|
+
@property({ type: String, reflect: true })
|
|
28
|
+
label?: string
|
|
29
|
+
|
|
30
|
+
private items: LeuCheckbox[] = []
|
|
26
31
|
|
|
27
32
|
get value() {
|
|
28
33
|
return this.items.filter((i) => i.checked).map((i) => i.value)
|
|
29
34
|
}
|
|
30
35
|
|
|
31
|
-
handleSlotChange() {
|
|
32
|
-
this.
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
handleItems() {
|
|
36
|
-
this.items = Array.from(this.querySelectorAll(":scope > *:not([slot])"))
|
|
36
|
+
private handleSlotChange() {
|
|
37
|
+
this.items = Array.from(
|
|
38
|
+
this.querySelectorAll(":scope > *:not([slot])"),
|
|
39
|
+
).filter((el) => el instanceof LeuCheckbox)
|
|
37
40
|
}
|
|
38
41
|
|
|
39
42
|
render() {
|
|
@@ -2,7 +2,6 @@ import { html, unsafeStatic } from "lit/static-html.js"
|
|
|
2
2
|
|
|
3
3
|
import { LeuElement } from "../../lib/LeuElement.js"
|
|
4
4
|
|
|
5
|
-
// @ts-ignore
|
|
6
5
|
import styles from "./chip-group.css"
|
|
7
6
|
|
|
8
7
|
/* Figma https://www.figma.com/file/d6Pv21UVUbnBs3AdcZijHmbN/KTZH-Design-System?type=design&node-id=131766-248643&mode=design&t=Kjo5VDiqivihn8dh-11 */
|
|
@@ -45,3 +45,30 @@ Colored.args = {
|
|
|
45
45
|
size: 24,
|
|
46
46
|
color: "#d93c1a",
|
|
47
47
|
}
|
|
48
|
+
|
|
49
|
+
export const Overview = {
|
|
50
|
+
render: ({ color, size }) => html`
|
|
51
|
+
<ul
|
|
52
|
+
style="font-family: var(--leu-font-family-regular); color: var(--leu-color-black-60); list-style: none; margin: 0; padding: 0;"
|
|
53
|
+
>
|
|
54
|
+
${Object.keys(paths).map(
|
|
55
|
+
(name) =>
|
|
56
|
+
html`<li
|
|
57
|
+
style="display: flex; align-items: center; margin-bottom: 1rem; gap: 1rem;"
|
|
58
|
+
>
|
|
59
|
+
<leu-icon
|
|
60
|
+
style="color: ${color}; ${size
|
|
61
|
+
? `--leu-icon-size: ${size}px`
|
|
62
|
+
: ""};"
|
|
63
|
+
name=${ifDefined(name)}
|
|
64
|
+
></leu-icon>
|
|
65
|
+
${name}
|
|
66
|
+
</li>`,
|
|
67
|
+
)}
|
|
68
|
+
</ul>
|
|
69
|
+
`,
|
|
70
|
+
args: {
|
|
71
|
+
size: 24,
|
|
72
|
+
color: "#000000",
|
|
73
|
+
},
|
|
74
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { html } from "lit"
|
|
2
2
|
import { live } from "lit/directives/live.js"
|
|
3
|
+
import { property, state } from "lit/decorators.js"
|
|
3
4
|
|
|
4
5
|
import { LeuElement } from "../../lib/LeuElement.js"
|
|
5
6
|
import { LeuButton } from "../button/Button.js"
|
|
6
7
|
import { LeuVisuallyHidden } from "../visually-hidden/VisuallyHidden.js"
|
|
7
8
|
import { LeuIcon } from "../icon/Icon.js"
|
|
8
9
|
|
|
9
|
-
// @ts-ignore
|
|
10
10
|
import styles from "./pagination.css"
|
|
11
11
|
|
|
12
12
|
const MIN_PAGE = 1
|
|
@@ -31,32 +31,30 @@ export class LeuPagination extends LeuElement {
|
|
|
31
31
|
delegatesFocus: true,
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
itemsPerPage: { type: Number, reflect: true },
|
|
37
|
-
numOfItems: { type: Number, reflect: true },
|
|
38
|
-
_page: { state: true },
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
constructor() {
|
|
42
|
-
super()
|
|
34
|
+
@property({ type: Number, reflect: true })
|
|
35
|
+
defaultPage?: number
|
|
43
36
|
|
|
44
|
-
|
|
45
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Number of items per page.
|
|
39
|
+
*/
|
|
40
|
+
@property({ type: Number, reflect: true })
|
|
41
|
+
itemsPerPage: number = 1
|
|
46
42
|
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
/**
|
|
44
|
+
* Total number of items to paginate.
|
|
45
|
+
*/
|
|
46
|
+
@property({ type: Number, reflect: true })
|
|
47
|
+
numOfItems: number = 1
|
|
49
48
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
49
|
+
/**
|
|
50
|
+
* Internal page state that contains an
|
|
51
|
+
* already clamped page number. Should only
|
|
52
|
+
* be accessed through the `page` getter and
|
|
53
|
+
* setter.
|
|
54
|
+
* @internal
|
|
55
|
+
*/
|
|
56
|
+
@state()
|
|
57
|
+
private _page: number = 1
|
|
60
58
|
|
|
61
59
|
attributeChangedCallback(name, oldVal, newVal) {
|
|
62
60
|
super.attributeChangedCallback(name, oldVal, newVal)
|
|
@@ -66,6 +64,11 @@ export class LeuPagination extends LeuElement {
|
|
|
66
64
|
}
|
|
67
65
|
}
|
|
68
66
|
|
|
67
|
+
/**
|
|
68
|
+
* The current page number. This is a 1-based index.
|
|
69
|
+
* When setting this value, it will be clamped
|
|
70
|
+
* to the range of valid pages.
|
|
71
|
+
*/
|
|
69
72
|
get page() {
|
|
70
73
|
return this._page
|
|
71
74
|
}
|
|
@@ -74,10 +77,19 @@ export class LeuPagination extends LeuElement {
|
|
|
74
77
|
this._page = this._clampPage(page)
|
|
75
78
|
}
|
|
76
79
|
|
|
80
|
+
/**
|
|
81
|
+
* The index of the first item on the current page.
|
|
82
|
+
*/
|
|
77
83
|
get startIndex() {
|
|
78
84
|
return (this.page - 1) * this.itemsPerPage
|
|
79
85
|
}
|
|
80
86
|
|
|
87
|
+
/**
|
|
88
|
+
* The index of the last item on the current page.
|
|
89
|
+
* This is exclusive, meaning it is one past the last item.
|
|
90
|
+
*
|
|
91
|
+
* @todo This value should be inclusive, meaning it should be the index of the last item on the page.
|
|
92
|
+
*/
|
|
81
93
|
get endIndex() {
|
|
82
94
|
return Math.min(this.startIndex + this.itemsPerPage, this.numOfItems)
|
|
83
95
|
}
|
|
@@ -86,19 +98,19 @@ export class LeuPagination extends LeuElement {
|
|
|
86
98
|
return Math.ceil(this.numOfItems / this.itemsPerPage)
|
|
87
99
|
}
|
|
88
100
|
|
|
89
|
-
_isFirstPage() {
|
|
101
|
+
private _isFirstPage() {
|
|
90
102
|
return this.page === MIN_PAGE
|
|
91
103
|
}
|
|
92
104
|
|
|
93
|
-
_isLastPage() {
|
|
105
|
+
private _isLastPage() {
|
|
94
106
|
return this.page === this._maxPage
|
|
95
107
|
}
|
|
96
108
|
|
|
97
|
-
_clampPage(page) {
|
|
109
|
+
private _clampPage(page: number) {
|
|
98
110
|
return Math.min(Math.max(page, MIN_PAGE), this._maxPage)
|
|
99
111
|
}
|
|
100
112
|
|
|
101
|
-
_updatePage(page) {
|
|
113
|
+
private _updatePage(page) {
|
|
102
114
|
const prevPage = this.page
|
|
103
115
|
this.page = this._clampPage(page)
|
|
104
116
|
|
|
@@ -116,18 +128,18 @@ export class LeuPagination extends LeuElement {
|
|
|
116
128
|
}
|
|
117
129
|
}
|
|
118
130
|
|
|
119
|
-
_handleChange(event) {
|
|
131
|
+
private _handleChange(event: Event & { target: HTMLInputElement }) {
|
|
120
132
|
this._updatePage(parseInt(event.target.value, 10) || 0)
|
|
121
133
|
}
|
|
122
134
|
|
|
123
|
-
_handleInput(event) {
|
|
135
|
+
private _handleInput(event: InputEvent & { target: HTMLInputElement }) {
|
|
124
136
|
if (event.target.value !== "") {
|
|
125
137
|
event.preventDefault()
|
|
126
138
|
this._handleChange(event)
|
|
127
139
|
}
|
|
128
140
|
}
|
|
129
141
|
|
|
130
|
-
_handleKeyDown(event) {
|
|
142
|
+
private _handleKeyDown(event: KeyboardEvent & { target: HTMLInputElement }) {
|
|
131
143
|
if (event.key === "ArrowUp") {
|
|
132
144
|
event.preventDefault()
|
|
133
145
|
this._updatePage(this.page + 1)
|
|
@@ -159,7 +171,7 @@ export class LeuPagination extends LeuElement {
|
|
|
159
171
|
<leu-button
|
|
160
172
|
variant="secondary"
|
|
161
173
|
label="Vorherige Seite"
|
|
162
|
-
@click=${(
|
|
174
|
+
@click=${() => {
|
|
163
175
|
this._updatePage(this.page - 1)
|
|
164
176
|
}}
|
|
165
177
|
?disabled=${this._isFirstPage()}
|
|
@@ -168,7 +180,7 @@ export class LeuPagination extends LeuElement {
|
|
|
168
180
|
<leu-button
|
|
169
181
|
variant="secondary"
|
|
170
182
|
label="Nächste Seite"
|
|
171
|
-
@click=${(
|
|
183
|
+
@click=${() => {
|
|
172
184
|
this._updatePage(this.page + 1)
|
|
173
185
|
}}
|
|
174
186
|
?disabled=${this._isLastPage()}
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import { html } from "lit"
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import "../leu-pagination.js"
|
|
2
|
+
import { ifDefined } from "lit/directives/if-defined.js"
|
|
5
3
|
|
|
6
4
|
// https://stackoverflow.com/questions/72566428/storybook-angular-how-to-dynamically-update-args-from-the-template
|
|
7
5
|
import { UPDATE_STORY_ARGS } from "@storybook/core-events" // eslint-disable-line
|
|
8
|
-
import {
|
|
6
|
+
import { action, HandlerFunction } from "@storybook/addon-actions"
|
|
7
|
+
import { Meta, StoryObj } from "@storybook/web-components"
|
|
8
|
+
|
|
9
|
+
import "../leu-pagination.js"
|
|
10
|
+
import { LeuPagination } from "../Pagination.js"
|
|
11
|
+
|
|
12
|
+
interface ExtraArgs {
|
|
13
|
+
onPageChange: HandlerFunction
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
type StoryArgs = LeuPagination & ExtraArgs
|
|
17
|
+
type Story = StoryObj<StoryArgs>
|
|
9
18
|
|
|
10
19
|
function updateStorybookArgss(id, args) {
|
|
11
20
|
const channel = window.__STORYBOOK_ADDONS_CHANNEL__
|
|
@@ -69,13 +78,13 @@ export default {
|
|
|
69
78
|
url: "https://www.figma.com/file/d6Pv21UVUbnBs3AdcZijHmbN/KTZH-Design-System?type=design&node-id=17341-82468&mode=design&t=lzVrtq8lxYVJU5TB-11",
|
|
70
79
|
},
|
|
71
80
|
},
|
|
72
|
-
}
|
|
81
|
+
} satisfies Meta<StoryArgs>
|
|
73
82
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
83
|
+
const Template: Story = {
|
|
84
|
+
render: (
|
|
85
|
+
{ startIndex, endIndex, onPageChange, itemsPerPage, defaultPage },
|
|
86
|
+
{ id },
|
|
87
|
+
) => html`
|
|
79
88
|
${items
|
|
80
89
|
.slice(startIndex, endIndex)
|
|
81
90
|
.map((item) => html`<div>${item.label}</div>`)}
|
|
@@ -92,13 +101,15 @@ function Template(
|
|
|
92
101
|
}}
|
|
93
102
|
>
|
|
94
103
|
</leu-pagination>
|
|
95
|
-
|
|
104
|
+
`,
|
|
96
105
|
}
|
|
97
106
|
|
|
98
|
-
export const Regular =
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
107
|
+
export const Regular: Story = {
|
|
108
|
+
...Template,
|
|
109
|
+
args: {
|
|
110
|
+
startIndex: 0,
|
|
111
|
+
endIndex: 5,
|
|
112
|
+
itemsPerPage: 5,
|
|
113
|
+
// defaultPage: 2,
|
|
114
|
+
},
|
|
104
115
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { html } from "lit"
|
|
2
|
+
|
|
3
|
+
import { LeuElement } from "../../lib/LeuElement.js"
|
|
4
|
+
|
|
5
|
+
import styles from "./placeholder.css"
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @summary * A placeholder to display when no content is available.
|
|
9
|
+
* @tagname leu-placeholder
|
|
10
|
+
* @slot title - The placeholders title. Use a heading tag (h1-6) depeneding on your context.
|
|
11
|
+
* @slot description - A description of the placeholder. Content is wrapped in a `<p>` tag by the component.
|
|
12
|
+
* @slot cta - A call to action button like "Reload" or "Create". Add a single `<leu-button>`.
|
|
13
|
+
*
|
|
14
|
+
* @todo Add pending state with a skeleton.
|
|
15
|
+
*/
|
|
16
|
+
export class LeuPlaceholder extends LeuElement {
|
|
17
|
+
static styles = [LeuElement.styles, styles]
|
|
18
|
+
|
|
19
|
+
static shadowRootOptions = {
|
|
20
|
+
...LeuElement.shadowRootOptions,
|
|
21
|
+
delegatesFocus: true,
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
render() {
|
|
25
|
+
return html`
|
|
26
|
+
<div class="placeholder">
|
|
27
|
+
<slot class="placeholder__title" name="title"></slot>
|
|
28
|
+
<p><slot class="placeholder__description" name="description"></slot></p>
|
|
29
|
+
<slot name="cta"></slot>
|
|
30
|
+
</div>
|
|
31
|
+
`
|
|
32
|
+
}
|
|
33
|
+
}
|