@statistikzh/leu 0.28.1 → 0.28.2
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/dist/{Accordion-CwkI7sfx.js → Accordion-CaDTUDJG.js} +1 -1
- package/dist/Accordion.js +2 -2
- package/dist/{Button-D1aYnunQ.js → Button-BF3_6xgs.js} +3 -3
- package/dist/Button.js +4 -4
- package/dist/{ButtonGroup-CqThYjzX.js → ButtonGroup-grJiWGHI.js} +2 -2
- package/dist/ButtonGroup.js +5 -5
- package/dist/{ChartWrapper-BjVT4x-H.js → ChartWrapper-CeolXijF.js} +2 -2
- package/dist/ChartWrapper.js +3 -3
- package/dist/{Checkbox-HxYqp2w4.js → Checkbox-DGUZ1XtB.js} +2 -2
- package/dist/Checkbox.js +3 -3
- package/dist/{CheckboxGroup-DYws2rwt.js → CheckboxGroup-CGdyk_RP.js} +2 -2
- package/dist/CheckboxGroup.js +4 -4
- package/dist/{Chip-gKxD6IaZ.js → Chip-BpKH3_Nk.js} +1 -1
- package/dist/Chip.js +2 -2
- package/dist/{ChipGroup-ZvBzX_wd.js → ChipGroup-dSAMpfy1.js} +1 -1
- package/dist/ChipGroup.js +3 -3
- package/dist/ChipLink.js +2 -2
- package/dist/ChipRemovable.js +3 -3
- package/dist/ChipSelectable.js +2 -2
- package/dist/{Dialog-BYpzTprV.js → Dialog-CC674l80.js} +2 -2
- package/dist/Dialog.js +3 -3
- package/dist/{Dropdown-C4CgE4E-.js → Dropdown-B9YTM5N_.js} +5 -5
- package/dist/Dropdown.d.ts +2 -2
- package/dist/Dropdown.js +8 -8
- package/dist/{FileInput-nsnSQCaU.js → FileInput-D4kyWFkL.js} +4 -4
- package/dist/FileInput.js +6 -6
- package/dist/{Icon-D8HTPEFH.js → Icon-DOcb_NlX.js} +1 -1
- package/dist/Icon.js +2 -2
- package/dist/{Input-OrILqlax.js → Input-6Xu1N2sA.js} +2 -2
- package/dist/Input.js +3 -3
- package/dist/{LeuElement-C_lcHzQI.js → LeuElement-C3HedxlQ.js} +1 -1
- package/dist/{Menu-CFLCnI34.js → Menu-CJtyuUvP.js} +2 -2
- package/dist/{Menu-Z2b7dsB5.d.ts → Menu-txbYINTW.d.ts} +1 -1
- package/dist/Menu.d.ts +1 -1
- package/dist/Menu.js +4 -4
- package/dist/{MenuItem-LY4TRIho.d.ts → MenuItem-9TTOrL0Z.d.ts} +1 -1
- package/dist/{MenuItem-ICjLCGim.js → MenuItem-ClSE3auh.js} +2 -2
- package/dist/MenuItem.d.ts +1 -1
- package/dist/MenuItem.js +3 -3
- package/dist/{Message-Dw5D_0i1.js → Message-C55ydBaU.js} +2 -2
- package/dist/Message.js +3 -3
- package/dist/{Pagination-D1tP5FrM.js → Pagination-BVwKLcd5.js} +4 -4
- package/dist/Pagination.js +6 -6
- package/dist/{Placeholder-CnGzCZ5-.js → Placeholder-DFNppiVf.js} +1 -1
- package/dist/Placeholder.js +2 -2
- package/dist/{Popup-BiN_tZDN.js → Popup-D91ZiFWh.js} +1 -1
- package/dist/Popup.js +2 -2
- package/dist/{ProgressBar-BfJo_KyU.js → ProgressBar-DQGO2we8.js} +1 -1
- package/dist/ProgressBar.js +2 -2
- package/dist/{Radio-CV7vuQUj.js → Radio-BetZNoUQ.js} +1 -1
- package/dist/Radio.js +2 -2
- package/dist/{RadioGroup-C3XWSScc.js → RadioGroup-DzW5z_SD.js} +2 -2
- package/dist/RadioGroup.js +3 -3
- package/dist/{Range-C8RVrIM9.js → Range-9ijUzrty.js} +1 -1
- package/dist/Range.js +2 -2
- package/dist/{ScrollTop-B_TJ_k4m.js → ScrollTop-uDL4K_C6.js} +3 -3
- package/dist/ScrollTop.js +5 -5
- package/dist/{Select-CbPTrL3G.js → Select-ClGNTYfp.js} +7 -7
- package/dist/Select.d.ts +2 -2
- package/dist/Select.js +9 -9
- package/dist/{Spinner-ChKJQJTN.js → Spinner-B7ikVfUZ.js} +1 -1
- package/dist/Spinner.js +2 -2
- package/dist/{Tab-BJbzY1xd.js → Tab-CSHR71IX.js} +1 -1
- package/dist/Tab.js +2 -2
- package/dist/{TabGroup-BIaCHrKR.js → TabGroup-D7YbKXm8.js} +3 -3
- package/dist/TabGroup.js +4 -4
- package/dist/{TabPanel-CTyw410b.js → TabPanel-D_RHF3lv.js} +1 -1
- package/dist/TabPanel.js +2 -2
- package/dist/{Table-D3QmePJd.js → Table-CdosaNFb.js} +3 -3
- package/dist/Table.js +7 -7
- package/dist/{Tag-nUnWtHYy.js → Tag-BQBgkkAs.js} +1 -1
- package/dist/Tag.js +2 -2
- package/dist/{VisuallyHidden-DF2q9pTa.js → VisuallyHidden-CEBTA6hv.js} +1 -1
- package/dist/VisuallyHidden.js +2 -2
- package/dist/custom-elements.json +6445 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +30 -30
- package/dist/leu-accordion.js +2 -2
- package/dist/leu-button-group.js +5 -5
- package/dist/leu-button.js +4 -4
- package/dist/leu-chart-wrapper.js +3 -3
- package/dist/leu-checkbox-group.js +4 -4
- package/dist/leu-checkbox.js +3 -3
- package/dist/leu-chip-group.js +3 -3
- package/dist/leu-chip-link.js +2 -2
- package/dist/leu-chip-removable.js +3 -3
- package/dist/leu-chip-selectable.js +2 -2
- package/dist/leu-dialog.js +3 -3
- package/dist/leu-dropdown.js +8 -8
- package/dist/leu-file-input.js +6 -6
- package/dist/leu-icon.js +2 -2
- package/dist/leu-input.js +3 -3
- package/dist/leu-menu-item.d.ts +1 -1
- package/dist/leu-menu-item.js +3 -3
- package/dist/leu-menu.d.ts +1 -1
- package/dist/leu-menu.js +4 -4
- package/dist/leu-message.js +3 -3
- package/dist/leu-pagination.js +6 -6
- package/dist/leu-placeholder.js +2 -2
- package/dist/leu-popup.js +2 -2
- package/dist/leu-progress-bar.js +2 -2
- package/dist/leu-radio-group.js +3 -3
- package/dist/leu-radio.js +2 -2
- package/dist/leu-range.js +2 -2
- package/dist/leu-scroll-top.js +5 -5
- package/dist/leu-select.js +9 -9
- package/dist/leu-spinner.js +2 -2
- package/dist/leu-tab-group.js +4 -4
- package/dist/leu-tab-panel.js +2 -2
- package/dist/leu-tab.js +2 -2
- package/dist/leu-table.js +7 -7
- package/dist/leu-tag.js +2 -2
- package/dist/leu-visually-hidden.js +2 -2
- package/dist/vscode.html-custom-data.json +11 -11
- package/dist/vue/index.d.ts +20 -20
- package/dist/web-types.json +28 -28
- package/package.json +4 -1
- package/.editorconfig +0 -29
- package/.github/workflows/ci.yml +0 -81
- package/.github/workflows/deploy-github-pages.yaml +0 -34
- package/.github/workflows/publish.yml +0 -28
- package/.github/workflows/release-please.yml +0 -19
- package/.husky/commit-msg +0 -1
- package/.husky/pre-commit +0 -1
- package/.nvmrc +0 -1
- package/.prettierignore +0 -2
- package/.release-please-manifest.json +0 -3
- package/.storybook/main.ts +0 -34
- package/.storybook/manager-head.html +0 -1
- package/.storybook/manager.ts +0 -6
- package/.storybook/preview.ts +0 -96
- package/.storybook/static/fonts/Inter-Black.woff2 +0 -0
- package/.storybook/static/fonts/Inter-Regular.woff2 +0 -0
- package/.storybook/static/fonts.css +0 -11
- package/.storybook/static/global.css +0 -5
- package/.storybook/static/logo.svg +0 -19
- package/.storybook/theme.ts +0 -8
- package/AGENTS.md +0 -162
- package/CHANGELOG.md +0 -601
- package/CODE_OF_CONDUCT.md +0 -128
- package/CONTRIBUTING.md +0 -42
- package/commitlint.config.cjs +0 -1
- package/custom-elements-manifest.config.js +0 -46
- package/eslint.config.mjs +0 -79
- package/postcss.config.cjs +0 -16
- package/release-please-config.json +0 -9
- package/scripts/generate-component/generate.js +0 -167
- package/scripts/generate-component/templates/[Name].ts +0 -31
- package/scripts/generate-component/templates/[name].css +0 -6
- package/scripts/generate-component/templates/[namespace]-[name].ts +0 -11
- package/scripts/generate-component/templates/stories/[name].stories.ts +0 -26
- package/scripts/generate-component/templates/test/[name].test.ts +0 -23
- package/scripts/postcss-leu-font-styles.cjs +0 -154
- package/src/components/accordion/Accordion.ts +0 -108
- package/src/components/accordion/accordion.css +0 -150
- package/src/components/accordion/leu-accordion.ts +0 -11
- package/src/components/accordion/stories/accordion.stories.ts +0 -62
- package/src/components/accordion/test/accordion.test.ts +0 -118
- package/src/components/button/Button.ts +0 -286
- package/src/components/button/button.css +0 -317
- package/src/components/button/leu-button.ts +0 -11
- package/src/components/button/stories/button.stories.ts +0 -366
- package/src/components/button/test/button.test.ts +0 -417
- package/src/components/button-group/ButtonGroup.ts +0 -97
- package/src/components/button-group/button-group.css +0 -5
- package/src/components/button-group/leu-button-group.ts +0 -11
- package/src/components/button-group/stories/button-group.stories.ts +0 -54
- package/src/components/button-group/test/button-group.test.ts +0 -105
- package/src/components/chart-wrapper/ChartWrapper.ts +0 -78
- package/src/components/chart-wrapper/chart-wrapper.css +0 -87
- package/src/components/chart-wrapper/leu-chart-wrapper.ts +0 -11
- package/src/components/chart-wrapper/stories/chart-wrapper.stories.ts +0 -58
- package/src/components/chart-wrapper/test/chart-wrapper.test.ts +0 -77
- package/src/components/checkbox/Checkbox.ts +0 -129
- package/src/components/checkbox/CheckboxGroup.ts +0 -57
- package/src/components/checkbox/checkbox-group.css +0 -29
- package/src/components/checkbox/checkbox.css +0 -81
- package/src/components/checkbox/leu-checkbox-group.ts +0 -11
- package/src/components/checkbox/leu-checkbox.ts +0 -11
- package/src/components/checkbox/stories/checkbox-group.stories.ts +0 -59
- package/src/components/checkbox/stories/checkbox.stories.ts +0 -72
- package/src/components/checkbox/test/checkbox-group.test.ts +0 -109
- package/src/components/checkbox/test/checkbox.test.ts +0 -247
- package/src/components/chip/Chip.ts +0 -19
- package/src/components/chip/ChipGroup.ts +0 -122
- package/src/components/chip/ChipLink.ts +0 -24
- package/src/components/chip/ChipRemovable.ts +0 -45
- package/src/components/chip/ChipSelectable.ts +0 -80
- package/src/components/chip/chip-group.css +0 -15
- package/src/components/chip/chip.css +0 -139
- package/src/components/chip/exports.ts +0 -4
- package/src/components/chip/leu-chip-group.ts +0 -11
- package/src/components/chip/leu-chip-link.ts +0 -11
- package/src/components/chip/leu-chip-removable.ts +0 -11
- package/src/components/chip/leu-chip-selectable.ts +0 -11
- package/src/components/chip/stories/chip-group.stories.ts +0 -159
- package/src/components/chip/stories/chip-link.stories.ts +0 -45
- package/src/components/chip/stories/chip-removable.stories.ts +0 -42
- package/src/components/chip/stories/chip-selectable.stories.ts +0 -54
- package/src/components/chip/test/chip-group.test.ts +0 -171
- package/src/components/chip/test/chip-link.test.ts +0 -54
- package/src/components/chip/test/chip-removable.test.ts +0 -105
- package/src/components/chip/test/chip-selectable.test.ts +0 -101
- package/src/components/chip/test/chip.test.ts +0 -22
- package/src/components/dialog/Dialog.ts +0 -86
- package/src/components/dialog/dialog.css +0 -157
- package/src/components/dialog/leu-dialog.ts +0 -11
- package/src/components/dialog/stories/dialog.stories.ts +0 -142
- package/src/components/dialog/test/dialog.test.ts +0 -85
- package/src/components/dropdown/Dropdown.ts +0 -152
- package/src/components/dropdown/dropdown.css +0 -16
- package/src/components/dropdown/leu-dropdown.ts +0 -11
- package/src/components/dropdown/stories/dropdown.stories.ts +0 -58
- package/src/components/dropdown/test/dropdown.test.ts +0 -59
- package/src/components/file-input/FileInput.ts +0 -324
- package/src/components/file-input/file-input.css +0 -118
- package/src/components/file-input/leu-file-input.ts +0 -11
- package/src/components/file-input/stories/file-input.stories.ts +0 -45
- package/src/components/file-input/test/file-input.test.ts +0 -62
- package/src/components/icon/Icon.ts +0 -47
- package/src/components/icon/icon.css +0 -10
- package/src/components/icon/leu-icon.ts +0 -11
- package/src/components/icon/paths.ts +0 -219
- package/src/components/icon/stories/icon.stories.ts +0 -79
- package/src/components/icon/test/icon.test.ts +0 -50
- package/src/components/input/Input.ts +0 -469
- package/src/components/input/input.css +0 -238
- package/src/components/input/leu-input.ts +0 -11
- package/src/components/input/stories/input.stories.ts +0 -204
- package/src/components/input/test/input.test.ts +0 -603
- package/src/components/menu/Menu.ts +0 -149
- package/src/components/menu/MenuItem.ts +0 -168
- package/src/components/menu/leu-menu-item.ts +0 -11
- package/src/components/menu/leu-menu.ts +0 -11
- package/src/components/menu/menu-item.css +0 -77
- package/src/components/menu/menu.css +0 -19
- package/src/components/menu/stories/menu-item.stories.ts +0 -81
- package/src/components/menu/stories/menu.stories.ts +0 -54
- package/src/components/menu/test/menu-item.test.ts +0 -210
- package/src/components/menu/test/menu.test.ts +0 -125
- package/src/components/message/Message.ts +0 -118
- package/src/components/message/leu-message.ts +0 -11
- package/src/components/message/message.css +0 -163
- package/src/components/message/stories/message.mdx +0 -76
- package/src/components/message/stories/message.stories.ts +0 -149
- package/src/components/message/test/message.test.ts +0 -96
- package/src/components/pagination/Pagination.ts +0 -192
- package/src/components/pagination/leu-pagination.ts +0 -11
- package/src/components/pagination/pagination.css +0 -54
- package/src/components/pagination/stories/pagination.stories.ts +0 -115
- package/src/components/pagination/test/pagination.test.ts +0 -210
- package/src/components/placeholder/Placeholder.ts +0 -33
- package/src/components/placeholder/leu-placeholder.ts +0 -11
- package/src/components/placeholder/placeholder.css +0 -59
- package/src/components/placeholder/stories/placeholder.stories.ts +0 -34
- package/src/components/placeholder/test/placeholder.test.ts +0 -31
- package/src/components/popup/Popup.ts +0 -264
- package/src/components/popup/leu-popup.ts +0 -11
- package/src/components/popup/popup.css +0 -24
- package/src/components/popup/stories/popup.stories.ts +0 -117
- package/src/components/popup/test/popup.test.ts +0 -90
- package/src/components/progress-bar/ProgressBar.ts +0 -52
- package/src/components/progress-bar/leu-progress-bar.ts +0 -11
- package/src/components/progress-bar/progress-bar.css +0 -97
- package/src/components/progress-bar/stories/progress-bar.stories.ts +0 -39
- package/src/components/progress-bar/test/progress-bar.test.ts +0 -61
- package/src/components/radio/Radio.ts +0 -59
- package/src/components/radio/RadioGroup.ts +0 -181
- package/src/components/radio/leu-radio-group.ts +0 -11
- package/src/components/radio/leu-radio.ts +0 -11
- package/src/components/radio/radio-group.css +0 -29
- package/src/components/radio/radio.css +0 -76
- package/src/components/radio/stories/radio-group.stories.ts +0 -54
- package/src/components/radio/stories/radio.stories.ts +0 -55
- package/src/components/radio/test/radio-group.test.ts +0 -83
- package/src/components/radio/test/radio.test.ts +0 -119
- package/src/components/range/Range.ts +0 -400
- package/src/components/range/leu-range.ts +0 -11
- package/src/components/range/range.css +0 -227
- package/src/components/range/stories/range.stories.ts +0 -185
- package/src/components/range/test/range.test.ts +0 -228
- package/src/components/scroll-top/ScrollTop.ts +0 -91
- package/src/components/scroll-top/leu-scroll-top.ts +0 -11
- package/src/components/scroll-top/scroll-top.css +0 -50
- package/src/components/scroll-top/stories/scroll-top.stories.ts +0 -217
- package/src/components/scroll-top/test/scroll-top.test.ts +0 -22
- package/src/components/select/Select.ts +0 -570
- package/src/components/select/leu-select.ts +0 -11
- package/src/components/select/select.css +0 -222
- package/src/components/select/stories/select.stories.ts +0 -173
- package/src/components/select/test/fixtures.ts +0 -162
- package/src/components/select/test/select.test.ts +0 -937
- package/src/components/spinner/Spinner.ts +0 -31
- package/src/components/spinner/leu-spinner.ts +0 -11
- package/src/components/spinner/spinner.css +0 -20
- package/src/components/spinner/stories/spinner.stories.ts +0 -29
- package/src/components/spinner/test/spinner.test.ts +0 -30
- package/src/components/tab/Tab.ts +0 -72
- package/src/components/tab/TabGroup.ts +0 -267
- package/src/components/tab/TabPanel.ts +0 -59
- package/src/components/tab/leu-tab-group.ts +0 -11
- package/src/components/tab/leu-tab-panel.ts +0 -11
- package/src/components/tab/leu-tab.ts +0 -11
- package/src/components/tab/stories/tab.stories.ts +0 -97
- package/src/components/tab/tab-group.css +0 -63
- package/src/components/tab/tab-panel.css +0 -10
- package/src/components/tab/tab.css +0 -54
- package/src/components/tab/test/tab-group.test.ts +0 -426
- package/src/components/tab/test/tab-panel.test.ts +0 -102
- package/src/components/tab/test/tab.test.ts +0 -139
- package/src/components/table/Table.ts +0 -253
- package/src/components/table/leu-table.ts +0 -11
- package/src/components/table/stories/table.stories.ts +0 -131
- package/src/components/table/table.css +0 -112
- package/src/components/table/test/table.test.ts +0 -37
- package/src/components/tag/Tag.ts +0 -28
- package/src/components/tag/leu-tag.ts +0 -11
- package/src/components/tag/stories/tag.stories.ts +0 -107
- package/src/components/tag/tag.css +0 -42
- package/src/components/tag/test/tag.test.ts +0 -28
- package/src/components/visually-hidden/VisuallyHidden.ts +0 -16
- package/src/components/visually-hidden/leu-visually-hidden.ts +0 -11
- package/src/components/visually-hidden/stories/visually-hidden.stories.ts +0 -22
- package/src/components/visually-hidden/test/visually-hidden.test.ts +0 -34
- package/src/components/visually-hidden/visually-hidden.css +0 -10
- package/src/docs/contributing.mdx +0 -154
- package/src/docs/installation.mdx +0 -35
- package/src/docs/theme.mdx +0 -400
- package/src/docs/usage.mdx +0 -73
- package/src/global.d.ts +0 -11
- package/src/index.ts +0 -29
- package/src/lib/LeuElement.ts +0 -43
- package/src/lib/a11y.ts +0 -26
- package/src/lib/hasSlotController.ts +0 -74
- package/src/lib/mixins/FormAssociatedMixin.ts +0 -115
- package/src/lib/styleMap.ts +0 -139
- package/src/lib/utils.ts +0 -45
- package/src/styles/common-styles.css +0 -14
- package/src/styles/custom-media.css +0 -6
- package/src/styles/font-definitions.json +0 -210
- package/src/styles/style.stories.ts +0 -64
- package/src/styles/theme.css +0 -90
- package/stat_zh.png +0 -0
- package/stylelint.config.mjs +0 -23
- package/tsconfig.build.json +0 -24
- package/tsconfig.json +0 -14
- package/tsdown.config.ts +0 -35
- package/web-test-runner.config.mjs +0 -102
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
/* eslint-disable max-classes-per-file */
|
|
2
|
-
import { property } from "lit/decorators.js"
|
|
3
|
-
import { LeuElement } from "../LeuElement.js"
|
|
4
|
-
|
|
5
|
-
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
6
|
-
type AbstractConstructor<T = object> = abstract new (...args: any[]) => T
|
|
7
|
-
|
|
8
|
-
// @todo define sensible eslint settings for classes
|
|
9
|
-
/* eslint-disable max-classes-per-file */
|
|
10
|
-
export declare abstract class FormAssociatedMixinType {
|
|
11
|
-
static formAssociated: boolean
|
|
12
|
-
|
|
13
|
-
protected readonly internals: ElementInternals
|
|
14
|
-
|
|
15
|
-
name: string | null
|
|
16
|
-
|
|
17
|
-
disabled: boolean
|
|
18
|
-
|
|
19
|
-
required: boolean
|
|
20
|
-
|
|
21
|
-
protected hasInteracted: boolean
|
|
22
|
-
|
|
23
|
-
form: HTMLFormElement | null
|
|
24
|
-
|
|
25
|
-
validity: ValidityState
|
|
26
|
-
|
|
27
|
-
validationMessage: string
|
|
28
|
-
|
|
29
|
-
willValidate: boolean
|
|
30
|
-
|
|
31
|
-
checkValidity(): boolean
|
|
32
|
-
|
|
33
|
-
reportValidity(): boolean
|
|
34
|
-
|
|
35
|
-
resetValidity(): void
|
|
36
|
-
|
|
37
|
-
formDisabledCallback(isDisabled: boolean): void
|
|
38
|
-
|
|
39
|
-
formResetCallback(): void
|
|
40
|
-
|
|
41
|
-
formStateRestoreCallback(_state: string | FormData | null): void
|
|
42
|
-
|
|
43
|
-
protected abstract setFormValue(): void
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export const FormAssociatedMixin = <T extends AbstractConstructor<LeuElement>>(
|
|
47
|
-
superClass: T,
|
|
48
|
-
) => {
|
|
49
|
-
abstract class FormAssociatedMixinClass extends superClass {
|
|
50
|
-
static formAssociated = true
|
|
51
|
-
|
|
52
|
-
protected readonly internals: ElementInternals = this.attachInternals()
|
|
53
|
-
|
|
54
|
-
get form() {
|
|
55
|
-
return this.internals.form
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/** The name of the form control. Is submitted with the `value` as key-value pair. */
|
|
59
|
-
@property({ reflect: true })
|
|
60
|
-
name: string | null = null
|
|
61
|
-
|
|
62
|
-
/** Disables the form control. */
|
|
63
|
-
@property({ type: Boolean })
|
|
64
|
-
disabled: boolean = false
|
|
65
|
-
|
|
66
|
-
// Treat every form control that doesn't implement its own `required` property as "not required"
|
|
67
|
-
required: boolean = false
|
|
68
|
-
|
|
69
|
-
/** Whether the user has interacted with the form control. */
|
|
70
|
-
@property({ state: true, attribute: false })
|
|
71
|
-
protected hasInteracted: boolean = false
|
|
72
|
-
|
|
73
|
-
get validity() {
|
|
74
|
-
return this.internals.validity
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
get validationMessage() {
|
|
78
|
-
return this.internals.validationMessage
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
get willValidate() {
|
|
82
|
-
return this.internals.willValidate
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
checkValidity() {
|
|
86
|
-
return this.internals.checkValidity()
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
reportValidity() {
|
|
90
|
-
return this.internals.reportValidity()
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
resetValidity() {
|
|
94
|
-
this.internals.setValidity({})
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
public formDisabledCallback(isDisabled: boolean) {
|
|
98
|
-
this.disabled = isDisabled
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
public formResetCallback() {
|
|
102
|
-
this.hasInteracted = false
|
|
103
|
-
this.resetValidity()
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
public formStateRestoreCallback(_state: string | FormData | null) {
|
|
107
|
-
this.resetValidity()
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
protected abstract setFormValue(): void
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
return FormAssociatedMixinClass as unknown as AbstractConstructor<FormAssociatedMixinType> &
|
|
114
|
-
T
|
|
115
|
-
}
|
package/src/lib/styleMap.ts
DELETED
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-restricted-syntax */
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* The original lit styleMap directive is not compatible with a strict style-src content security policy.
|
|
5
|
-
* There is an an open issue about this in the lit repository:
|
|
6
|
-
* https://github.com/lit/lit/issues/4719
|
|
7
|
-
*
|
|
8
|
-
* This file contains a custom implementation of the styleMap directive that bypasses
|
|
9
|
-
* the render method and directly updates the styles using the .style.setProperty and
|
|
10
|
-
* .style.removeProperty methods.
|
|
11
|
-
*
|
|
12
|
-
* In the original implementation, the render method returns a string that is set as the
|
|
13
|
-
* value of the style attribute. This approach is blocked by strict CSPs that disallow
|
|
14
|
-
* inline styles.
|
|
15
|
-
*
|
|
16
|
-
* As we don't support SSR in this library, we can safely skip the render method.
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
import { AttributePart, noChange, nothing } from "lit"
|
|
20
|
-
import {
|
|
21
|
-
directive,
|
|
22
|
-
Directive,
|
|
23
|
-
DirectiveParameters,
|
|
24
|
-
PartInfo,
|
|
25
|
-
PartType,
|
|
26
|
-
} from "lit/directive.js"
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* A key-value set of CSS properties and values.
|
|
30
|
-
*
|
|
31
|
-
* The key should be either a valid CSS property name string, like
|
|
32
|
-
* `'background-color'`, or a valid JavaScript camel case property name
|
|
33
|
-
* for CSSStyleDeclaration like `backgroundColor`.
|
|
34
|
-
*/
|
|
35
|
-
export interface StyleInfo {
|
|
36
|
-
[name: string]: string | number | undefined | null
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
const important = "important"
|
|
40
|
-
// The leading space is important
|
|
41
|
-
const importantFlag = " !" + important
|
|
42
|
-
// How many characters to remove from a value, as a negative number
|
|
43
|
-
const flagTrim = 0 - importantFlag.length
|
|
44
|
-
|
|
45
|
-
class StyleMapDirective extends Directive {
|
|
46
|
-
private _previousStyleProperties?: Set<string>
|
|
47
|
-
|
|
48
|
-
constructor(partInfo: PartInfo) {
|
|
49
|
-
super(partInfo)
|
|
50
|
-
if (
|
|
51
|
-
partInfo.type !== PartType.ATTRIBUTE ||
|
|
52
|
-
partInfo.name !== "style" ||
|
|
53
|
-
(partInfo.strings?.length as number) > 2
|
|
54
|
-
) {
|
|
55
|
-
throw new Error(
|
|
56
|
-
"The `styleMap` directive must be used in the `style` attribute " +
|
|
57
|
-
"and must be the only part in the attribute.",
|
|
58
|
-
)
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
render(_styleInfo: Readonly<StyleInfo>) {
|
|
63
|
-
return nothing
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
override update(part: AttributePart, [styleInfo]: DirectiveParameters<this>) {
|
|
67
|
-
const { style } = part.element as HTMLElement
|
|
68
|
-
|
|
69
|
-
if (this._previousStyleProperties === undefined) {
|
|
70
|
-
this._previousStyleProperties = new Set(Object.keys(styleInfo))
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
// Remove old properties that no longer exist in styleInfo
|
|
74
|
-
for (const name of this._previousStyleProperties) {
|
|
75
|
-
// If the name isn't in styleInfo or it's null/undefined
|
|
76
|
-
if (styleInfo[name] == null) {
|
|
77
|
-
this._previousStyleProperties!.delete(name)
|
|
78
|
-
if (name.includes("-")) {
|
|
79
|
-
style.removeProperty(name)
|
|
80
|
-
} else {
|
|
81
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
82
|
-
;(style as any)[name] = null
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
// Add or update properties
|
|
88
|
-
for (const name in styleInfo) {
|
|
89
|
-
const value = styleInfo[name]
|
|
90
|
-
if (value != null) {
|
|
91
|
-
this._previousStyleProperties.add(name)
|
|
92
|
-
const isImportant =
|
|
93
|
-
typeof value === "string" && value.endsWith(importantFlag)
|
|
94
|
-
if (name.includes("-") || isImportant) {
|
|
95
|
-
style.setProperty(
|
|
96
|
-
name,
|
|
97
|
-
isImportant
|
|
98
|
-
? (value as string).slice(0, flagTrim)
|
|
99
|
-
: (value as string),
|
|
100
|
-
isImportant ? important : "",
|
|
101
|
-
)
|
|
102
|
-
} else {
|
|
103
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
104
|
-
;(style as any)[name] = value
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
return noChange
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* !A custom implementation of lit's `styleMap` directive!
|
|
114
|
-
* A directive that applies CSS properties to an element.
|
|
115
|
-
*
|
|
116
|
-
* `styleMap` can only be used in the `style` attribute and must be the only
|
|
117
|
-
* expression in the attribute. It takes the property names in the
|
|
118
|
-
* {@link StyleInfo styleInfo} object and adds the properties to the inline
|
|
119
|
-
* style of the element.
|
|
120
|
-
*
|
|
121
|
-
* Property names with dashes (`-`) are assumed to be valid CSS
|
|
122
|
-
* property names and set on the element's style object using `setProperty()`.
|
|
123
|
-
* Names without dashes are assumed to be camelCased JavaScript property names
|
|
124
|
-
* and set on the element's style object using property assignment, allowing the
|
|
125
|
-
* style object to translate JavaScript-style names to CSS property names.
|
|
126
|
-
*
|
|
127
|
-
* For example `styleMap({backgroundColor: 'red', 'border-top': '5px', '--size':
|
|
128
|
-
* '0'})` sets the `background-color`, `border-top` and `--size` properties.
|
|
129
|
-
*
|
|
130
|
-
* @param styleInfo
|
|
131
|
-
* @see {@link https://lit.dev/docs/templates/directives/#stylemap styleMap code samples on Lit.dev}
|
|
132
|
-
*/
|
|
133
|
-
export const styleMap = directive(StyleMapDirective)
|
|
134
|
-
|
|
135
|
-
/**
|
|
136
|
-
* The type of the class that powers this directive. Necessary for naming the
|
|
137
|
-
* directive's return type.
|
|
138
|
-
*/
|
|
139
|
-
export type { StyleMapDirective }
|
package/src/lib/utils.ts
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
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
|
-
* @param {Function} func - Your function
|
|
4
|
-
* @param {Number} timeout - Default is 500 ms
|
|
5
|
-
* @returns {Function} - Your function wrapped in a timeout function
|
|
6
|
-
*/
|
|
7
|
-
export const debounce = function debounce(func, timeout = 500) {
|
|
8
|
-
let timer = null
|
|
9
|
-
return (...args) => {
|
|
10
|
-
clearTimeout(timer)
|
|
11
|
-
timer = setTimeout(() => {
|
|
12
|
-
func.apply(this, args)
|
|
13
|
-
}, timeout)
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
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
|
-
export 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
|
-
/**
|
|
36
|
-
* Clamp a number between a minimum and maximum value.
|
|
37
|
-
*/
|
|
38
|
-
export const clamp = (value: number, min: number, max: number) =>
|
|
39
|
-
Math.min(Math.max(value, min), max)
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Check if a value is a finite number.
|
|
43
|
-
*/
|
|
44
|
-
export const isNumber = (value: unknown): value is number =>
|
|
45
|
-
typeof value === "number" && Number.isFinite(value)
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
:host,
|
|
2
|
-
:host * {
|
|
3
|
-
box-sizing: border-box;
|
|
4
|
-
font-feature-settings: var(--leu-t-font-feature-settings);
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* If a custom element sets the display property to any value
|
|
9
|
-
* it will not be hidden by the [hidden] attribute.
|
|
10
|
-
* That's why we need to specify this rule.
|
|
11
|
-
*/
|
|
12
|
-
:host([hidden]) {
|
|
13
|
-
display: none;
|
|
14
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
@custom-media --viewport-small (min-width: 400px);
|
|
2
|
-
@custom-media --viewport-small-max (max-width: 599px);
|
|
3
|
-
@custom-media --viewport-regular (min-width: 600px);
|
|
4
|
-
@custom-media --viewport-medium (min-width: 840px);
|
|
5
|
-
@custom-media --viewport-large (min-width: 1024px);
|
|
6
|
-
@custom-media --viewport-xlarge (min-width: 1280px);
|
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"definitions": [
|
|
3
|
-
{
|
|
4
|
-
"fontSize": "12px",
|
|
5
|
-
"fontWeight": "regular",
|
|
6
|
-
"lineHeight": 1.5,
|
|
7
|
-
"spacing": "9px",
|
|
8
|
-
"name": "tiny"
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
"fontSize": "12px",
|
|
12
|
-
"fontWeight": "black",
|
|
13
|
-
"lineHeight": 1.5,
|
|
14
|
-
"spacing": "9px",
|
|
15
|
-
"name": "tiny"
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"fontSize": "14px",
|
|
19
|
-
"fontWeight": "regular",
|
|
20
|
-
"lineHeight": 1.4,
|
|
21
|
-
"spacing": "10px",
|
|
22
|
-
"name": "small"
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
"fontSize": "14px",
|
|
26
|
-
"fontWeight": "black",
|
|
27
|
-
"lineHeight": 1.4,
|
|
28
|
-
"spacing": "10px",
|
|
29
|
-
"name": "small"
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"fontSize": "16px",
|
|
33
|
-
"fontWeight": "regular",
|
|
34
|
-
"lineHeight": 1.5,
|
|
35
|
-
"spacing": "12px",
|
|
36
|
-
"name": "regular"
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"fontSize": "16px",
|
|
40
|
-
"fontWeight": "black",
|
|
41
|
-
"lineHeight": 1.5,
|
|
42
|
-
"spacing": "12px",
|
|
43
|
-
"name": "regular"
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
"fontSize": "18px",
|
|
47
|
-
"fontWeight": "regular",
|
|
48
|
-
"lineHeight": 1.5,
|
|
49
|
-
"spacing": "13px",
|
|
50
|
-
"name": "bigger-regular"
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
"fontSize": "18px",
|
|
54
|
-
"fontWeight": "black",
|
|
55
|
-
"lineHeight": 1.3,
|
|
56
|
-
"spacing": "12px",
|
|
57
|
-
"name": "bigger-regular"
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"fontSize": "20px",
|
|
61
|
-
"fontWeight": "regular",
|
|
62
|
-
"lineHeight": 1.5,
|
|
63
|
-
"spacing": "15px",
|
|
64
|
-
"name": "medium"
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
"fontSize": "20px",
|
|
68
|
-
"fontWeight": "black",
|
|
69
|
-
"lineHeight": 1.3,
|
|
70
|
-
"spacing": "13px",
|
|
71
|
-
"name": "medium"
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
"fontSize": "24px",
|
|
75
|
-
"fontWeight": "regular",
|
|
76
|
-
"lineHeight": 1.5,
|
|
77
|
-
"spacing": "18px",
|
|
78
|
-
"name": "large"
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
"fontSize": "24px",
|
|
82
|
-
"fontWeight": "black",
|
|
83
|
-
"lineHeight": 1.3,
|
|
84
|
-
"spacing": "15px",
|
|
85
|
-
"name": "large"
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"fontSize": "28px",
|
|
89
|
-
"fontWeight": "black",
|
|
90
|
-
"lineHeight": 1.2,
|
|
91
|
-
"spacing": "17px",
|
|
92
|
-
"name": "small-big"
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
"fontSize": "32px",
|
|
96
|
-
"fontWeight": "black",
|
|
97
|
-
"lineHeight": 1.2,
|
|
98
|
-
"spacing": "19px",
|
|
99
|
-
"name": "big"
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
"fontSize": "40px",
|
|
103
|
-
"fontWeight": "black",
|
|
104
|
-
"lineHeight": 1.2,
|
|
105
|
-
"spacing": "24px",
|
|
106
|
-
"name": "bigger-big"
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
"fontSize": "48px",
|
|
110
|
-
"fontWeight": "black",
|
|
111
|
-
"lineHeight": 1,
|
|
112
|
-
"spacing": "24px",
|
|
113
|
-
"name": "small-huge"
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
"fontSize": "56px",
|
|
117
|
-
"fontWeight": "black",
|
|
118
|
-
"lineHeight": 1,
|
|
119
|
-
"spacing": "28px",
|
|
120
|
-
"name": "huge"
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
"fontSize": "72px",
|
|
124
|
-
"fontWeight": "black",
|
|
125
|
-
"lineHeight": 1,
|
|
126
|
-
"spacing": "36px",
|
|
127
|
-
"name": "giant"
|
|
128
|
-
}
|
|
129
|
-
],
|
|
130
|
-
"curves": [
|
|
131
|
-
{
|
|
132
|
-
"name": "tiny",
|
|
133
|
-
"weights": ["regular", "black"],
|
|
134
|
-
"steps": [
|
|
135
|
-
[null, "tiny"],
|
|
136
|
-
["--viewport-regular", "small"]
|
|
137
|
-
]
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
"name": "small",
|
|
141
|
-
"weights": ["regular", "black"],
|
|
142
|
-
"steps": [
|
|
143
|
-
[null, "small"],
|
|
144
|
-
["--viewport-regular", "regular"],
|
|
145
|
-
["--viewport-large", "bigger-regular"]
|
|
146
|
-
]
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
"name": "regular",
|
|
150
|
-
"weights": ["regular", "black"],
|
|
151
|
-
"steps": [
|
|
152
|
-
[null, "regular"],
|
|
153
|
-
["--viewport-small", "bigger-regular"],
|
|
154
|
-
["--viewport-xlarge", "medium"]
|
|
155
|
-
]
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
"name": "bigger-regular",
|
|
159
|
-
"weights": ["regular", "black"],
|
|
160
|
-
"steps": [
|
|
161
|
-
[null, "bigger-regular"],
|
|
162
|
-
["--viewport-regular", "medium"],
|
|
163
|
-
["--viewport-xlarge", "large"]
|
|
164
|
-
]
|
|
165
|
-
},
|
|
166
|
-
{
|
|
167
|
-
"name": "medium",
|
|
168
|
-
"weights": ["black"],
|
|
169
|
-
"steps": [
|
|
170
|
-
[null, "bigger-regular"],
|
|
171
|
-
["--viewport-small", "medium"],
|
|
172
|
-
["--viewport-large", "large"],
|
|
173
|
-
["--viewport-xlarge", "small-big"]
|
|
174
|
-
]
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
"name": "large",
|
|
178
|
-
"weights": ["black"],
|
|
179
|
-
"steps": [
|
|
180
|
-
[null, "bigger-regular"],
|
|
181
|
-
["--viewport-regular", "large"],
|
|
182
|
-
["--viewport-large", "small-big"],
|
|
183
|
-
["--viewport-xlarge", "big"]
|
|
184
|
-
]
|
|
185
|
-
},
|
|
186
|
-
{
|
|
187
|
-
"name": "big",
|
|
188
|
-
"weights": ["black"],
|
|
189
|
-
"steps": [
|
|
190
|
-
[null, "large"],
|
|
191
|
-
["--viewport-regular", "small-big"],
|
|
192
|
-
["--viewport-medium", "big"],
|
|
193
|
-
["--viewport-large", "bigger-big"],
|
|
194
|
-
["--viewport-xlarge", "small-huge"]
|
|
195
|
-
]
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
"name": "huge",
|
|
199
|
-
"weights": ["black"],
|
|
200
|
-
"steps": [
|
|
201
|
-
[null, "small-big"],
|
|
202
|
-
["--viewport-small", "big"],
|
|
203
|
-
["--viewport-regular", "bigger-big"],
|
|
204
|
-
["--viewport-medium", "small-huge"],
|
|
205
|
-
["--viewport-large", "huge"],
|
|
206
|
-
["--viewport-xlarge", "giant"]
|
|
207
|
-
]
|
|
208
|
-
}
|
|
209
|
-
]
|
|
210
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { html } from "lit"
|
|
2
|
-
|
|
3
|
-
export default {
|
|
4
|
-
title: "Components/Layout",
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
function Template() {
|
|
8
|
-
return html` <style>
|
|
9
|
-
.container {
|
|
10
|
-
display: grid;
|
|
11
|
-
grid-template-columns: var(--leu-grid-template-columns);
|
|
12
|
-
gap: var(--leu-grid-gap);
|
|
13
|
-
max-width: var(--leu-grid-max-width);
|
|
14
|
-
|
|
15
|
-
margin: 0 auto;
|
|
16
|
-
padding: 1rem;
|
|
17
|
-
|
|
18
|
-
background-color: var(--leu-color-black-5);
|
|
19
|
-
font-family: var(--leu-font-family-regular);
|
|
20
|
-
font-feature-settings: var(--leu-t-font-feature-settings);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.container div {
|
|
24
|
-
background-color: var(--leu-color-black-transp-5);
|
|
25
|
-
padding: 1rem;
|
|
26
|
-
}
|
|
27
|
-
</style>
|
|
28
|
-
<div class="container">
|
|
29
|
-
<div style="grid-column-end: span 12;">
|
|
30
|
-
<p>
|
|
31
|
-
This story demonstrates the use of the predefined grid custom
|
|
32
|
-
properties. It is not a component that can be reused.
|
|
33
|
-
</p>
|
|
34
|
-
</div>
|
|
35
|
-
<div style="grid-column: var(--leu-grid-columns-full)">
|
|
36
|
-
<pre>--leu-grid-columns-full</pre>
|
|
37
|
-
<p>A preset to use the full width of the grid</p>
|
|
38
|
-
</div>
|
|
39
|
-
<div style="grid-column: var(--leu-grid-columns-offset)">
|
|
40
|
-
<pre>--leu-grid-columns-offset</pre>
|
|
41
|
-
<p>
|
|
42
|
-
A preset that indents the content by two columns starting at the
|
|
43
|
-
regular breakpoint. On smaller breakpoints it will use the full width.
|
|
44
|
-
</p>
|
|
45
|
-
</div>
|
|
46
|
-
|
|
47
|
-
${[
|
|
48
|
-
[2, 2, 2, 2, 2, 2],
|
|
49
|
-
[3, 3, 3, 3],
|
|
50
|
-
[4, 4, 4],
|
|
51
|
-
[6, 6],
|
|
52
|
-
]
|
|
53
|
-
.flat()
|
|
54
|
-
.map(
|
|
55
|
-
(columns) =>
|
|
56
|
-
html`<div style="grid-column-end: span ${columns}">
|
|
57
|
-
${columns}
|
|
58
|
-
</div>`,
|
|
59
|
-
)}
|
|
60
|
-
</div>`
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export const Regular = Template.bind({})
|
|
64
|
-
Regular.args = {}
|
package/src/styles/theme.css
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
@import url("./custom-media.css");
|
|
2
|
-
|
|
3
|
-
:root,
|
|
4
|
-
:host {
|
|
5
|
-
--leu-color-black-100: #000;
|
|
6
|
-
--leu-color-black-80: #333;
|
|
7
|
-
--leu-color-black-60: #666;
|
|
8
|
-
--leu-color-black-40: #949494;
|
|
9
|
-
--leu-color-black-20: #ccc;
|
|
10
|
-
--leu-color-black-10: #f0f0f0;
|
|
11
|
-
--leu-color-black-5: #f7f7f7;
|
|
12
|
-
--leu-color-black-0: #fffffe;
|
|
13
|
-
|
|
14
|
-
--leu-color-black-transp-80: rgb(0 0 0 / 80%);
|
|
15
|
-
--leu-color-black-transp-60: rgb(0 0 0 / 60%);
|
|
16
|
-
--leu-color-black-transp-40: rgb(0 0 0 / 40%);
|
|
17
|
-
--leu-color-black-transp-20: rgb(0 0 0 / 20%);
|
|
18
|
-
--leu-color-black-transp-10: rgb(0 0 0 / 10%);
|
|
19
|
-
--leu-color-black-transp-5: rgb(0 0 0 / 5%);
|
|
20
|
-
|
|
21
|
-
--leu-color-white-transp-90: rgb(255 255 255 / 90%);
|
|
22
|
-
--leu-color-white-transp-70: rgb(255 255 255 / 70%);
|
|
23
|
-
--leu-color-white-transp-40: rgb(255 255 255 / 40%);
|
|
24
|
-
--leu-color-white-transp-10: rgb(255 255 255 / 10%);
|
|
25
|
-
|
|
26
|
-
--leu-color-accent-blue: #0076bd;
|
|
27
|
-
--leu-color-accent-darkblue: #00407c;
|
|
28
|
-
--leu-color-accent-turquoise: #00797b;
|
|
29
|
-
--leu-color-accent-green: #1a7f1f;
|
|
30
|
-
--leu-color-accent-bordeaux: #b01657;
|
|
31
|
-
--leu-color-accent-magenta: #d40053;
|
|
32
|
-
--leu-color-accent-violet: #7f3da7;
|
|
33
|
-
--leu-color-accent-gray: var(--leu-color-black-60);
|
|
34
|
-
|
|
35
|
-
--leu-color-accent-blue-soft: #edf5fa;
|
|
36
|
-
--leu-color-accent-darkblue-soft: #e0e8ee;
|
|
37
|
-
--leu-color-accent-turquoise-soft: #e8f3f2;
|
|
38
|
-
--leu-color-accent-green-soft: #ebf6eb;
|
|
39
|
-
--leu-color-accent-bordeaux-soft: #f6e3ea;
|
|
40
|
-
--leu-color-accent-magenta-soft: #fcedf3;
|
|
41
|
-
--leu-color-accent-violet-soft: #ece2f1;
|
|
42
|
-
--leu-color-accent-gray-soft: var(--leu-color-black-10);
|
|
43
|
-
|
|
44
|
-
--leu-color-func-cyan: #009ee0;
|
|
45
|
-
--leu-color-func-red: #d93c1a;
|
|
46
|
-
--leu-color-func-green: #1a7f1f;
|
|
47
|
-
|
|
48
|
-
/* stylelint-disable value-keyword-case */
|
|
49
|
-
--leu-font-family-regular:
|
|
50
|
-
"InterRegular", "HelveticaNowRegular", "Helvetica", sans-serif;
|
|
51
|
-
--leu-font-family-black:
|
|
52
|
-
"InterBlack", "HelveticaNowBlack", "Arial Black", "Helvetica", sans-serif;
|
|
53
|
-
/* stylelint-enable value-keyword-case */
|
|
54
|
-
|
|
55
|
-
--leu-box-shadow-short: 0px 0px 2px var(--leu-color-black-transp-40);
|
|
56
|
-
--leu-box-shadow-regular: 0px 0px 16px var(--leu-color-black-transp-20);
|
|
57
|
-
--leu-box-shadow-long: 0px 0px 80px var(--leu-color-black-transp-20);
|
|
58
|
-
|
|
59
|
-
--leu-z-index-popup: 100;
|
|
60
|
-
--leu-z-index-scroll-top: 1099;
|
|
61
|
-
|
|
62
|
-
@leu-font-styles './font-definitions.json';
|
|
63
|
-
--leu-t-font-feature-settings: "ss07", "ss08", "cv03", "cv04", "cv10";
|
|
64
|
-
|
|
65
|
-
/*
|
|
66
|
-
* Grid system
|
|
67
|
-
*
|
|
68
|
-
* The design system uses a 6 columns system on smaller screens.
|
|
69
|
-
* For simplicity we use a 12 column grid for all breakpoints (zh web implementation does the same).
|
|
70
|
-
*
|
|
71
|
-
* The goal is to keep the css footprint small
|
|
72
|
-
* by not generating all classes for every cell width for every breakpoint.
|
|
73
|
-
* Most components don't need a grid and those who do probably have a very simple configuration.
|
|
74
|
-
* If we have enough use cases for a more complex grid system we can add it later.
|
|
75
|
-
*/
|
|
76
|
-
--leu-grid-gap: 1rem;
|
|
77
|
-
--leu-grid-template-columns: repeat(12, minmax(0, 4.25rem));
|
|
78
|
-
--leu-grid-max-width: 73rem;
|
|
79
|
-
|
|
80
|
-
--leu-grid-columns-full: 1 / -1;
|
|
81
|
-
--leu-grid-columns-offset: 1 / -1;
|
|
82
|
-
|
|
83
|
-
@media (--viewport-regular) {
|
|
84
|
-
--leu-grid-columns-offset: 3 / -1;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
@media (--viewport-medium) {
|
|
88
|
-
--leu-grid-gap: 2rem;
|
|
89
|
-
}
|
|
90
|
-
}
|
package/stat_zh.png
DELETED
|
Binary file
|