@esportsplus/ui 0.51.7 → 0.54.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/README.md +53 -9
- package/build/components/accordion/index.d.ts +6 -18
- package/build/components/accordion/index.js +10 -36
- package/build/components/accordion/scss/index.scss +1 -1
- package/build/components/anchor/scss/index.scss +1 -1
- package/build/components/button/scss/index.scss +1 -1
- package/build/components/card/scss/index.scss +1 -1
- package/build/components/checkbox/index.d.ts +12 -12
- package/build/components/checkbox/index.js +63 -31
- package/build/components/checkbox/scss/index.scss +1 -1
- package/build/components/checkbox/svg/check.svg +1 -0
- package/build/components/clipboard/copy.d.ts +11 -0
- package/build/components/clipboard/copy.js +49 -0
- package/build/components/clipboard/index.d.ts +1437 -1228
- package/build/components/clipboard/index.js +3 -1
- package/build/components/clipboard/onclick.d.ts +4 -38
- package/build/components/clipboard/onclick.js +10 -10
- package/build/components/counter/index.js +58 -66
- package/build/components/counter/scss/index.scss +1 -1
- package/build/components/form/action.js +8 -8
- package/build/components/form/index.d.ts +4 -4
- package/build/components/form/input.d.ts +4 -4
- package/build/components/form/input.js +3 -3
- package/build/components/grid/scss/index.scss +1 -1
- package/build/components/icon/index.d.ts +2 -19
- package/build/components/icon/index.js +8 -8
- package/build/components/icon/scss/index.scss +1 -1
- package/build/components/index.d.ts +1 -11
- package/build/components/index.js +1 -11
- package/build/components/input/index.d.ts +1 -1
- package/build/components/input/index.js +11 -11
- package/build/components/input/scss/index.scss +1 -1
- package/build/components/link/scss/index.scss +1 -1
- package/build/components/loading/index.js +5 -5
- package/build/components/modal/scss/index.scss +1 -1
- package/build/components/normalize/scss/index.scss +1 -1
- package/build/components/overlay/index.d.ts +2 -18
- package/build/components/overlay/index.js +11 -5
- package/build/components/overlay/scss/index.scss +1 -1
- package/build/components/page/scss/index.scss +1 -1
- package/build/components/radio/index.d.ts +1436 -4
- package/build/components/radio/index.js +0 -1
- package/build/components/range/index.d.ts +1 -1
- package/build/components/range/index.js +13 -13
- package/build/components/range/scss/index.scss +1 -1
- package/build/components/root/scss/index.scss +1 -1
- package/build/components/select/index.d.ts +7 -53
- package/build/components/select/index.js +82 -100
- package/build/components/select/scss/index.scss +1 -1
- package/build/components/sidebar/index.d.ts +2 -18
- package/build/components/sidebar/index.js +11 -5
- package/build/components/sidebar/scss/index.scss +1 -1
- package/build/components/switch/index.d.ts +1436 -4
- package/build/components/switch/index.js +0 -1
- package/build/components/tabs/scss/index.scss +2 -0
- package/build/components/text/scss/index.scss +1 -1
- package/build/components/textarea/index.d.ts +719 -6
- package/build/components/textarea/index.js +37 -15
- package/build/components/textarea/scss/index.scss +1 -1
- package/build/components/toast/index.d.ts +9 -0
- package/build/components/toast/index.js +157 -0
- package/build/components/toast/manager.d.ts +60 -0
- package/build/components/toast/manager.js +203 -0
- package/build/components/toast/scss/index.scss +2 -0
- package/build/components/toast/svg/check.svg +1 -0
- package/build/components/toast/svg/chevron.svg +1 -0
- package/build/components/toast/svg/close.svg +1 -0
- package/build/components/toast/svg/copy.svg +1 -0
- package/build/components/toast/svg/error.svg +1 -0
- package/build/components/toast/svg/info.svg +1 -0
- package/build/components/toast/svg/loading.svg +1 -0
- package/build/components/toast/svg/success.svg +1 -0
- package/build/components/toast/svg/warning.svg +1 -0
- package/build/components/tooltip/index.d.ts +2151 -2544
- package/build/components/tooltip/menu.d.ts +2 -18
- package/build/components/tooltip/menu.js +38 -24
- package/build/components/tooltip/onclick.d.ts +717 -1229
- package/build/components/tooltip/onclick.js +18 -54
- package/build/components/tooltip/onhover.d.ts +713 -20
- package/build/components/tooltip/onhover.js +11 -11
- package/build/components/tooltip/scss/index.scss +1 -1
- package/build/components/typewriter/index.d.ts +2 -19
- package/build/components/typewriter/index.js +10 -10
- package/build/css-utilities/background/scss/index.scss +1 -1
- package/build/css-utilities/border/scss/index.scss +1 -1
- package/build/css-utilities/color/scss/index.scss +1 -1
- package/build/css-utilities/font/geist/scss/Geist-Italic-Variable.woff2 +0 -0
- package/build/css-utilities/font/geist/scss/Geist-Variable.woff2 +0 -0
- package/build/css-utilities/font/geist/scss/GeistMono-Italic-Variable.woff2 +0 -0
- package/build/css-utilities/font/geist/scss/GeistMono-Variable.woff2 +0 -0
- package/build/css-utilities/font/geist/scss/index.scss +2 -0
- package/build/css-utilities/font/montserrat/index.d.ts +1 -0
- package/build/css-utilities/font/montserrat/index.js +1 -0
- package/build/css-utilities/font/montserrat/scss/index.scss +2 -0
- package/build/css-utilities/index.scss +1 -1
- package/build/css-utilities/inline/scss/index.scss +1 -1
- package/build/css-utilities/scrollbar/scss/index.scss +2 -0
- package/build/css-utilities/tabular/scss/index.scss +2 -0
- package/build/css-utilities/text/scss/index.scss +1 -1
- package/build/themes/dark/index.d.ts +0 -2
- package/build/themes/dark/index.js +0 -2
- package/build/themes/dark/input.d.ts +708 -114
- package/build/themes/dark/select.d.ts +732 -1456
- package/build/themes/dark/select.js +7 -5
- package/build/themes/dark/textarea.d.ts +716 -119
- package/package.json +20 -20
- package/pnpm-workspace.yaml +12 -8
- package/scripts/css-variables.test.mjs +50 -0
- package/scripts/sort-scss.md +57 -0
- package/scripts/sort-scss.mjs +233 -0
- package/scripts/sort-scss.test.mjs +217 -0
- package/src/components/accordion/index.ts +7 -30
- package/src/components/accordion/scss/index.scss +9 -12
- package/src/components/anchor/scss/index.scss +2 -2
- package/src/components/button/scss/index.scss +23 -57
- package/src/components/button/scss/variables.scss +1 -19
- package/src/components/card/scss/index.scss +11 -46
- package/src/components/card/scss/variables.scss +1 -2
- package/src/components/checkbox/index.ts +27 -26
- package/src/components/checkbox/scss/index.scss +86 -28
- package/src/components/checkbox/scss/variables.scss +71 -30
- package/src/components/checkbox/svg/check.svg +1 -0
- package/src/components/clipboard/copy.ts +60 -0
- package/src/components/clipboard/index.ts +3 -1
- package/src/components/clipboard/onclick.ts +3 -4
- package/src/components/counter/index.ts +57 -57
- package/src/components/counter/scss/index.scss +4 -5
- package/src/components/counter/scss/variables.scss +0 -1
- package/src/components/form/input.ts +6 -5
- package/src/components/grid/scss/index.scss +1 -1
- package/src/components/icon/index.ts +2 -3
- package/src/components/icon/scss/variables.scss +0 -1
- package/src/components/index.ts +2 -12
- package/src/components/input/index.ts +1 -1
- package/src/components/input/scss/index.scss +8 -7
- package/src/components/input/scss/variables.scss +0 -1
- package/src/components/link/scss/index.scss +9 -34
- package/src/components/link/scss/variables.scss +0 -12
- package/src/components/modal/scss/index.scss +4 -4
- package/src/components/normalize/scss/index.scss +0 -1
- package/src/components/overlay/index.ts +9 -5
- package/src/components/overlay/scss/index.scss +0 -1
- package/src/components/page/scss/index.scss +1 -7
- package/src/components/page/scss/variables.scss +0 -2
- package/src/components/radio/index.ts +0 -1
- package/src/components/range/index.ts +1 -1
- package/src/components/range/scss/index.scss +5 -5
- package/src/components/root/scss/index.scss +44 -39
- package/src/components/root/scss/variables.scss +38 -69
- package/src/components/select/index.ts +80 -109
- package/src/components/select/scss/index.scss +10 -7
- package/src/components/select/scss/variables.scss +0 -1
- package/src/components/sidebar/index.ts +9 -5
- package/src/components/sidebar/scss/index.scss +3 -4
- package/src/components/switch/index.ts +1 -2
- package/src/components/tabs/scss/index.scss +62 -0
- package/src/components/tabs/scss/variables.scss +4 -0
- package/src/components/text/scss/index.scss +8 -1
- package/src/components/text/scss/variables.scss +5 -3
- package/src/components/textarea/index.ts +38 -5
- package/src/components/textarea/scss/index.scss +24 -13
- package/src/components/textarea/scss/variables.scss +0 -1
- package/src/components/toast/index.ts +188 -0
- package/src/components/toast/manager.ts +312 -0
- package/src/components/toast/scss/index.scss +276 -0
- package/src/components/toast/scss/variables.scss +19 -0
- package/src/components/toast/svg/check.svg +1 -0
- package/src/components/toast/svg/chevron.svg +1 -0
- package/src/components/toast/svg/close.svg +1 -0
- package/src/components/toast/svg/copy.svg +1 -0
- package/src/components/toast/svg/error.svg +1 -0
- package/src/components/toast/svg/info.svg +1 -0
- package/src/components/toast/svg/loading.svg +1 -0
- package/src/components/toast/svg/success.svg +1 -0
- package/src/components/toast/svg/warning.svg +1 -0
- package/src/components/tooltip/menu.ts +8 -4
- package/src/components/tooltip/onclick.ts +13 -70
- package/src/components/tooltip/onhover.ts +2 -3
- package/src/components/tooltip/scss/index.scss +2 -3
- package/src/components/typewriter/index.ts +2 -3
- package/src/css-utilities/background/scss/variables.scss +2 -2
- package/src/css-utilities/border/scss/index.scss +1 -27
- package/src/css-utilities/border/scss/variables.scss +3 -34
- package/src/css-utilities/color/scss/variables.scss +2 -6
- package/src/css-utilities/font/geist/scss/Geist-Italic-Variable.woff2 +0 -0
- package/src/css-utilities/font/geist/scss/Geist-Variable.woff2 +0 -0
- package/src/css-utilities/font/geist/scss/GeistMono-Italic-Variable.woff2 +0 -0
- package/src/css-utilities/font/geist/scss/GeistMono-Variable.woff2 +0 -0
- package/src/css-utilities/font/geist/scss/index.scss +55 -0
- package/src/css-utilities/font/montserrat/index.ts +1 -0
- package/src/{fonts → css-utilities/font}/montserrat/scss/index.scss +15 -0
- package/src/css-utilities/index.scss +7 -12
- package/src/css-utilities/inline/scss/index.scss +0 -1
- package/src/css-utilities/scrollbar/scss/index.scss +95 -0
- package/src/css-utilities/scrollbar/scss/variables.scss +5 -0
- package/src/css-utilities/tabular/scss/index.scss +3 -0
- package/src/css-utilities/text/scss/index.scss +30 -71
- package/src/lib/scss/css-variables.scss +29 -5
- package/src/themes/dark/index.ts +0 -2
- package/src/themes/dark/select.ts +7 -5
- package/src/tokens/index.scss +1 -3
- package/src/tokens/scss/border-radius.scss +1 -6
- package/src/tokens/scss/color.scss +14 -14
- package/src/tokens/scss/font-size.scss +12 -11
- package/src/tokens/scss/scale.scss +22 -0
- package/src/tokens/scss/size.scss +19 -9
- package/src/tokens/scss/spacer.scss +9 -9
- package/src/tokens/scss/transition.scss +4 -0
- package/storage/svg/arrow-left.svg +1 -0
- package/storage/svg/arrow-right.svg +1 -0
- package/storage/svg/bolt.svg +1 -0
- package/storage/svg/book.svg +1 -0
- package/storage/svg/cube.svg +1 -0
- package/storage/svg/github.svg +1 -0
- package/storage/svg/info.svg +1 -0
- package/storage/svg/palette.svg +1 -0
- package/storage/svg/search.svg +2 -0
- package/storage/svg/star.svg +1 -0
- package/storage/svg/type.svg +1 -0
- package/tsconfig.json +6 -2
- package/vite-env.d.ts +1 -0
- package/vite.config.ts +78 -72
- package/build/components/alert/index.d.ts +0 -19
- package/build/components/alert/index.js +0 -151
- package/build/components/alert/scss/index.scss +0 -2
- package/build/components/alert/svg/check.svg +0 -11
- package/build/components/alert/svg/close.svg +0 -12
- package/build/components/alert/svg/error.svg +0 -18
- package/build/components/back/index.d.ts +0 -18
- package/build/components/back/index.js +0 -16
- package/build/components/back/scss/index.scss +0 -2
- package/build/components/back/svg/arrow.svg +0 -15
- package/build/components/bubble/scss/index.scss +0 -2
- package/build/components/button/index.d.ts +0 -103
- package/build/components/button/index.js +0 -60
- package/build/components/ellipsis/index.d.ts +0 -4
- package/build/components/ellipsis/index.js +0 -8
- package/build/components/ellipsis/scss/index.scss +0 -2
- package/build/components/frame/index.d.ts +0 -20
- package/build/components/frame/index.js +0 -7
- package/build/components/frame/scss/index.scss +0 -2
- package/build/components/highlight/index.d.ts +0 -22
- package/build/components/highlight/index.js +0 -56
- package/build/components/highlight/scss/index.scss +0 -2
- package/build/components/loader/index.d.ts +0 -22
- package/build/components/loader/index.js +0 -78
- package/build/components/loader/scss/index.scss +0 -2
- package/build/components/radio/scss/index.scss +0 -2
- package/build/components/root/index.d.ts +0 -7
- package/build/components/root/index.js +0 -4
- package/build/components/root/onclick.d.ts +0 -5
- package/build/components/root/onclick.js +0 -12
- package/build/components/scrollbar/index.d.ts +0 -27
- package/build/components/scrollbar/index.js +0 -56
- package/build/components/scrollbar/scss/index.scss +0 -2
- package/build/components/site/index.d.ts +0 -20
- package/build/components/site/index.js +0 -9
- package/build/components/site/scss/index.scss +0 -2
- package/build/components/switch/scss/index.scss +0 -2
- package/build/components/template/index.d.ts +0 -14
- package/build/components/template/index.js +0 -21
- package/build/css-utilities/[margin,padding]/scss/index.scss +0 -2
- package/build/css-utilities/error/scss/index.scss +0 -2
- package/build/css-utilities/flicker/scss/index.scss +0 -2
- package/build/css-utilities/focus/scss/index.scss +0 -2
- package/build/css-utilities/gap/scss/index.scss +0 -2
- package/build/css-utilities/line-height/scss/index.scss +0 -2
- package/build/css-utilities/pointer/scss/index.scss +0 -2
- package/build/css-utilities/scroller/scss/index.scss +0 -2
- package/build/css-utilities/size/scss/index.scss +0 -2
- package/build/css-utilities/viewport/scss/index.scss +0 -2
- package/build/css-utilities/width/scss/index.scss +0 -2
- package/build/fonts/index.d.ts +0 -1
- package/build/fonts/index.js +0 -1
- package/build/fonts/montserrat/scss/index.scss +0 -2
- package/build/themes/dark/alert.d.ts +0 -11
- package/build/themes/dark/alert.js +0 -20
- package/build/themes/dark/back.d.ts +0 -15
- package/build/themes/dark/back.js +0 -7
- package/build/themes/dark/button/scss/index.scss +0 -2
- package/build/themes/dark/link/scss/index.scss +0 -2
- package/src/components/accordion/scss/variables.scss +0 -9
- package/src/components/alert/index.ts +0 -165
- package/src/components/alert/scss/index.scss +0 -25
- package/src/components/alert/scss/variables.scss +0 -3
- package/src/components/alert/svg/check.svg +0 -11
- package/src/components/alert/svg/close.svg +0 -12
- package/src/components/alert/svg/error.svg +0 -18
- package/src/components/back/index.ts +0 -21
- package/src/components/back/scss/index.scss +0 -17
- package/src/components/back/svg/arrow.svg +0 -15
- package/src/components/bubble/scss/index.scss +0 -32
- package/src/components/bubble/scss/variables.scss +0 -20
- package/src/components/button/index.ts +0 -54
- package/src/components/ellipsis/index.ts +0 -11
- package/src/components/ellipsis/scss/index.scss +0 -30
- package/src/components/ellipsis/scss/variables.scss +0 -5
- package/src/components/frame/index.ts +0 -9
- package/src/components/frame/scss/index.scss +0 -39
- package/src/components/frame/scss/variables.scss +0 -4
- package/src/components/highlight/index.ts +0 -67
- package/src/components/highlight/scss/index.scss +0 -7
- package/src/components/highlight/scss/variables.scss +0 -4
- package/src/components/loader/index.ts +0 -81
- package/src/components/loader/scss/index.scss +0 -71
- package/src/components/loader/scss/variables.scss +0 -6
- package/src/components/radio/scss/index.scss +0 -50
- package/src/components/radio/scss/variables.scss +0 -67
- package/src/components/root/index.ts +0 -6
- package/src/components/root/onclick.ts +0 -20
- package/src/components/scrollbar/index.ts +0 -70
- package/src/components/scrollbar/scss/index.scss +0 -82
- package/src/components/scrollbar/scss/variables.scss +0 -6
- package/src/components/site/index.ts +0 -11
- package/src/components/site/scss/index.scss +0 -3
- package/src/components/switch/scss/index.scss +0 -48
- package/src/components/switch/scss/variables.scss +0 -74
- package/src/components/template/index.ts +0 -40
- package/src/css-utilities/[margin,padding]/scss/index.scss +0 -43
- package/src/css-utilities/[margin,padding]/scss/variables.scss +0 -54
- package/src/css-utilities/error/scss/index.scss +0 -24
- package/src/css-utilities/error/scss/variables.scss +0 -3
- package/src/css-utilities/flicker/scss/index.scss +0 -15
- package/src/css-utilities/flicker/scss/variables.scss +0 -5
- package/src/css-utilities/focus/scss/index.scss +0 -7
- package/src/css-utilities/focus/scss/variables.scss +0 -5
- package/src/css-utilities/gap/scss/index.scss +0 -13
- package/src/css-utilities/gap/scss/variables.scss +0 -39
- package/src/css-utilities/line-height/scss/index.scss +0 -1
- package/src/css-utilities/line-height/scss/variables.scss +0 -10
- package/src/css-utilities/pointer/scss/index.scss +0 -5
- package/src/css-utilities/scroller/scss/index.scss +0 -8
- package/src/css-utilities/scroller/scss/variables.scss +0 -4
- package/src/css-utilities/size/scss/index.scss +0 -1
- package/src/css-utilities/size/scss/variables.scss +0 -12
- package/src/css-utilities/text/scss/variables.scss +0 -31
- package/src/css-utilities/viewport/scss/index.scss +0 -5
- package/src/css-utilities/width/scss/index.scss +0 -5
- package/src/css-utilities/width/scss/variables.scss +0 -9
- package/src/fonts/index.ts +0 -1
- package/src/themes/dark/alert.ts +0 -23
- package/src/themes/dark/back.ts +0 -9
- package/src/themes/dark/button/scss/index.scss +0 -46
- package/src/themes/dark/link/scss/index.scss +0 -26
- package/src/tokens/scss/font-weight.scss +0 -6
- package/src/tokens/scss/line-height.scss +0 -6
- package/src/tokens/scss/transition-duration.scss +0 -1
- /package/build/{fonts/montserrat → css-utilities/font/geist}/index.d.ts +0 -0
- /package/build/{fonts/montserrat → css-utilities/font/geist}/index.js +0 -0
- /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Bold.woff +0 -0
- /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Bold.woff2 +0 -0
- /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-BoldItalic.woff +0 -0
- /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-BoldItalic.woff2 +0 -0
- /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Italic.woff +0 -0
- /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Italic.woff2 +0 -0
- /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Medium.woff +0 -0
- /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Medium.woff2 +0 -0
- /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-MediumItalic.woff +0 -0
- /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-MediumItalic.woff2 +0 -0
- /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Regular.woff +0 -0
- /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Regular.woff2 +0 -0
- /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-SemiBold.woff +0 -0
- /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-SemiBold.woff2 +0 -0
- /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-SemiBoldItalic.woff +0 -0
- /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-SemiBoldItalic.woff2 +0 -0
- /package/src/{fonts/montserrat → css-utilities/font/geist}/index.ts +0 -0
- /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Bold.woff +0 -0
- /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Bold.woff2 +0 -0
- /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-BoldItalic.woff +0 -0
- /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-BoldItalic.woff2 +0 -0
- /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Italic.woff +0 -0
- /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Italic.woff2 +0 -0
- /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Medium.woff +0 -0
- /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Medium.woff2 +0 -0
- /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-MediumItalic.woff +0 -0
- /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-MediumItalic.woff2 +0 -0
- /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Regular.woff +0 -0
- /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Regular.woff2 +0 -0
- /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-SemiBold.woff +0 -0
- /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-SemiBold.woff2 +0 -0
- /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-SemiBoldItalic.woff +0 -0
- /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-SemiBoldItalic.woff2 +0 -0
|
@@ -1,50 +1,27 @@
|
|
|
1
|
-
import { html, Attributes } from '@esportsplus/template';
|
|
2
|
-
import { reactive } from '@esportsplus/reactivity';
|
|
1
|
+
import { html, Attributes, component } from '@esportsplus/template';
|
|
3
2
|
import { omit } from '@esportsplus/utilities';
|
|
4
|
-
import template from '~/components/template';
|
|
5
3
|
import './scss/index.scss';
|
|
6
4
|
|
|
7
5
|
|
|
8
|
-
type A = Attributes & { state
|
|
9
|
-
|
|
10
|
-
type Accordion = HTMLElement & { [key: symbol]: { active: boolean | number } };
|
|
6
|
+
type A = Attributes & { state: { active: boolean | number } };
|
|
11
7
|
|
|
12
8
|
|
|
13
9
|
const OMIT = ['state'];
|
|
14
10
|
|
|
15
11
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
export default template.factory(
|
|
12
|
+
export default component<A>(
|
|
20
13
|
function(attributes: A, content) {
|
|
21
|
-
let
|
|
22
|
-
state = attributes.state || reactive({
|
|
23
|
-
active: 0
|
|
24
|
-
});
|
|
14
|
+
let state = attributes.state;
|
|
25
15
|
|
|
26
16
|
return html`
|
|
27
17
|
<div
|
|
18
|
+
class='accordion'
|
|
28
19
|
${omit(attributes, OMIT)}
|
|
29
20
|
${{
|
|
30
|
-
|
|
31
|
-
return state.active && '--active';
|
|
32
|
-
},
|
|
33
|
-
onrender: (element) => {
|
|
34
|
-
( ref = element as Accordion )[key] = state;
|
|
35
|
-
},
|
|
36
|
-
style: () => {
|
|
37
|
-
let parent = ref.closest<Accordion>('accordion');
|
|
38
|
-
|
|
39
|
-
if (parent && key in parent) {
|
|
40
|
-
parent[key].active = (+parent[key].active) + 1;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return state.active && `--max-height: ${ref.scrollHeight}`;
|
|
44
|
-
}
|
|
21
|
+
inert: () => !state.active
|
|
45
22
|
}}
|
|
46
23
|
>
|
|
47
|
-
|
|
24
|
+
<div class='accordion-content'>${content}</div>
|
|
48
25
|
</div>
|
|
49
26
|
`;
|
|
50
27
|
}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
@use '/tokens';
|
|
2
|
-
@use 'variables';
|
|
3
|
-
|
|
4
1
|
.accordion {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
transition:
|
|
9
|
-
max-height var(--transition-duration) ease-in-out,
|
|
10
|
-
opacity var(--transition-duration) ease-in-out;
|
|
2
|
+
display: grid;
|
|
3
|
+
grid-template-rows: 1fr;
|
|
4
|
+
transition: grid-template-rows .3s;
|
|
11
5
|
|
|
6
|
+
&[inert] {
|
|
7
|
+
grid-template-rows: 0fr;
|
|
8
|
+
}
|
|
12
9
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
&-content {
|
|
11
|
+
min-height: 0;
|
|
12
|
+
overflow: hidden;
|
|
16
13
|
}
|
|
17
14
|
}
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
max-width: calc(var(--max-width, 100%) - (var(--margin-horizontal) * 2));
|
|
7
7
|
position: absolute;
|
|
8
8
|
transition:
|
|
9
|
-
opacity var(--transition-duration)
|
|
10
|
-
transform var(--transition-duration)
|
|
9
|
+
opacity var(--transition-duration) var(--transition-timing-function),
|
|
10
|
+
transform var(--transition-duration) var(--transition-timing-function);
|
|
11
11
|
z-index: 9;
|
|
12
12
|
|
|
13
13
|
|
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
@use '/lib';
|
|
2
2
|
@use '/tokens';
|
|
3
3
|
@use 'variables';
|
|
4
|
+
@use '../../text/scss/index';
|
|
4
5
|
|
|
5
6
|
.button {
|
|
7
|
+
@extend .text;
|
|
6
8
|
align-content: center;
|
|
7
9
|
align-items: center;
|
|
8
10
|
background: var(--background);
|
|
9
11
|
border-radius: var(--border-radius);
|
|
10
|
-
color: var(--color);
|
|
11
12
|
cursor: pointer;
|
|
12
|
-
|
|
13
|
-
flex-wrap: wrap;
|
|
14
|
-
font-size: var(--font-size);
|
|
15
|
-
font-weight: var(--font-weight);
|
|
13
|
+
flex-wrap: nowrap;
|
|
16
14
|
justify-content: center;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
transition: all var(--transition-duration)
|
|
21
|
-
|
|
15
|
+
padding:
|
|
16
|
+
max(0px, calc(var(--padding-vertical) - var(--border-width)))
|
|
17
|
+
max(0px, calc(var(--padding-horizontal) - var(--border-width)));
|
|
18
|
+
transition: all var(--transition-duration) var(--transition-timing-function);
|
|
19
|
+
white-space: nowrap;
|
|
20
|
+
translate: 0;
|
|
22
21
|
|
|
23
22
|
|
|
24
23
|
// Pseudo Element Box Shadow
|
|
@@ -29,8 +28,8 @@
|
|
|
29
28
|
content: '';
|
|
30
29
|
pointer-events: none;
|
|
31
30
|
transition:
|
|
32
|
-
box-shadow var(--transition-duration)
|
|
33
|
-
opacity var(--transition-duration)
|
|
31
|
+
box-shadow var(--transition-duration) var(--transition-timing-function),
|
|
32
|
+
opacity var(--transition-duration) var(--transition-timing-function);
|
|
34
33
|
z-index: -1;
|
|
35
34
|
}
|
|
36
35
|
|
|
@@ -41,52 +40,13 @@
|
|
|
41
40
|
}
|
|
42
41
|
}
|
|
43
42
|
|
|
44
|
-
&--holding {
|
|
45
|
-
overflow: hidden;
|
|
46
|
-
user-select: none;
|
|
47
|
-
|
|
48
|
-
&::after {
|
|
49
|
-
animation: buttonHolding var(--animation-duration) ease-in-out forwards;
|
|
50
|
-
border-radius: 0;
|
|
51
|
-
box-shadow: unset;
|
|
52
|
-
display: block;
|
|
53
|
-
width: 110%;
|
|
54
|
-
height: 100%;
|
|
55
|
-
background: var(--background-hold);
|
|
56
|
-
transform: translateX(-100%);
|
|
57
|
-
z-index: 1;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
@keyframes buttonHolding {
|
|
61
|
-
100% {
|
|
62
|
-
transform: translateX(0%);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
> * {
|
|
67
|
-
animation: buttonHoldingContentPulse calc(var(--animation-duration) / 3) infinite ease-in-out;
|
|
68
|
-
z-index: 2;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
@keyframes buttonHoldingContentPulse {
|
|
72
|
-
0%,
|
|
73
|
-
100% {
|
|
74
|
-
opacity: 1;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
50% {
|
|
78
|
-
opacity: 0.4;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
43
|
&--processing {
|
|
84
44
|
color: transparent;
|
|
85
45
|
pointer-events: none;
|
|
86
46
|
|
|
87
47
|
&::before {
|
|
88
48
|
@include lib.position(absolute, center);
|
|
89
|
-
animation:
|
|
49
|
+
animation: button--processing var(--animation-duration) infinite linear;
|
|
90
50
|
border: var(--border-width) solid color-mix(in srgb, var(--processing-color), transparent 90%);
|
|
91
51
|
border-left-color: var(--processing-color);
|
|
92
52
|
border-radius: 100%;
|
|
@@ -101,7 +61,7 @@
|
|
|
101
61
|
opacity: 0;
|
|
102
62
|
}
|
|
103
63
|
|
|
104
|
-
@keyframes
|
|
64
|
+
@keyframes button--processing {
|
|
105
65
|
0% {
|
|
106
66
|
transform: translate(50%, 50%) rotate(0deg);
|
|
107
67
|
}
|
|
@@ -112,7 +72,7 @@
|
|
|
112
72
|
}
|
|
113
73
|
|
|
114
74
|
&--skeleton {
|
|
115
|
-
animation: var(--animation-duration)
|
|
75
|
+
animation: var(--animation-duration) var(--transition-timing-function) infinite button--skeleton;
|
|
116
76
|
background-image: linear-gradient(270deg, var(--background-pressed), var(--background-default), var(--background-default), var(--background-pressed));
|
|
117
77
|
background-size: 400% 100%;
|
|
118
78
|
color: transparent;
|
|
@@ -122,7 +82,7 @@
|
|
|
122
82
|
opacity: 0;
|
|
123
83
|
}
|
|
124
84
|
|
|
125
|
-
@keyframes
|
|
85
|
+
@keyframes button--skeleton {
|
|
126
86
|
0% {
|
|
127
87
|
background-position: 200% 0;
|
|
128
88
|
}
|
|
@@ -132,16 +92,22 @@
|
|
|
132
92
|
}
|
|
133
93
|
}
|
|
134
94
|
|
|
95
|
+
&--tactile {
|
|
96
|
+
@include tokens.state('pressed') {
|
|
97
|
+
translate: 0 1px;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
135
101
|
&--top {
|
|
136
102
|
&-left,
|
|
137
103
|
&-right {
|
|
138
104
|
position: absolute;
|
|
139
|
-
top: calc((#{var(--padding-vertical)} +
|
|
105
|
+
top: calc((#{var(--padding-vertical)} + 0.5lh) * -1);
|
|
140
106
|
}
|
|
141
107
|
|
|
142
108
|
@each $direction in 'left' 'right' {
|
|
143
109
|
&-#{$direction} {
|
|
144
|
-
#{$direction}: calc((#{var(--padding-horizontal)} +
|
|
110
|
+
#{$direction}: calc((#{var(--padding-horizontal)} + 0.5lh) * -1);
|
|
145
111
|
}
|
|
146
112
|
}
|
|
147
113
|
}
|
|
@@ -12,21 +12,8 @@
|
|
|
12
12
|
--border-color-default: var(--background);
|
|
13
13
|
--border-color-hover: var(--border-color-default);
|
|
14
14
|
--border-color-pressed: var(--border-color-default);
|
|
15
|
-
--border-radius: var(--border-radius-400);
|
|
16
|
-
--border-width: 0px;
|
|
17
15
|
--box-shadow: var(--box-shadow-default);
|
|
18
16
|
--box-shadow-default: none;
|
|
19
|
-
--color: var(--color-default);
|
|
20
|
-
--color-active: var(--color-default);
|
|
21
|
-
--color-default: var(--color-text-400);
|
|
22
|
-
--color-hover: var(--color-default);
|
|
23
|
-
--color-pressed: var(--color-default);
|
|
24
|
-
--font-size: var(--font-size-400);
|
|
25
|
-
--font-weight: var(--font-weight-400);
|
|
26
|
-
--line-height: var(--line-height-400);
|
|
27
|
-
--padding-horizontal: var(--size-400);
|
|
28
|
-
--padding-vertical: var(--size-400);
|
|
29
|
-
--width: auto;
|
|
30
17
|
|
|
31
18
|
@include tokens.state(active) {
|
|
32
19
|
--background: var(--background-active);
|
|
@@ -47,11 +34,6 @@
|
|
|
47
34
|
}
|
|
48
35
|
|
|
49
36
|
|
|
50
|
-
&--holding {
|
|
51
|
-
--animation-duration: 2.4s;
|
|
52
|
-
--background-hold: var(--background-active);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
37
|
&--processing {
|
|
56
38
|
--animation-duration: 0.64s;
|
|
57
39
|
--border-width: var(--border-width-400);
|
|
@@ -62,4 +44,4 @@
|
|
|
62
44
|
&--skeleton {
|
|
63
45
|
--animation-duration: 6.4s;
|
|
64
46
|
}
|
|
65
|
-
}
|
|
47
|
+
}
|
|
@@ -5,15 +5,17 @@
|
|
|
5
5
|
.card {
|
|
6
6
|
background: var(--background);
|
|
7
7
|
border-radius: var(--border-radius);
|
|
8
|
-
padding:
|
|
8
|
+
padding:
|
|
9
|
+
max(0px, calc(var(--padding-vertical) - var(--border-width)))
|
|
10
|
+
max(0px, calc(var(--padding-horizontal) - var(--border-width)));
|
|
9
11
|
position: relative;
|
|
10
12
|
transition:
|
|
11
|
-
background var(--transition-duration)
|
|
12
|
-
border-color var(--transition-duration)
|
|
13
|
-
box-shadow var(--transition-duration)
|
|
14
|
-
max-height var(--transition-duration)
|
|
15
|
-
opacity var(--transition-duration)
|
|
16
|
-
transform var(--transition-duration)
|
|
13
|
+
background var(--transition-duration) var(--transition-timing-function),
|
|
14
|
+
border-color var(--transition-duration) var(--transition-timing-function),
|
|
15
|
+
box-shadow var(--transition-duration) var(--transition-timing-function),
|
|
16
|
+
max-height var(--transition-duration) var(--transition-timing-function),
|
|
17
|
+
opacity var(--transition-duration) var(--transition-timing-function),
|
|
18
|
+
transform var(--transition-duration) var(--transition-timing-function);
|
|
17
19
|
width: var(--width);
|
|
18
20
|
|
|
19
21
|
|
|
@@ -25,45 +27,8 @@
|
|
|
25
27
|
content: '';
|
|
26
28
|
pointer-events: none;
|
|
27
29
|
transition:
|
|
28
|
-
box-shadow var(--transition-duration)
|
|
29
|
-
opacity var(--transition-duration)
|
|
30
|
+
box-shadow var(--transition-duration) var(--transition-timing-function),
|
|
31
|
+
opacity var(--transition-duration) var(--transition-timing-function);
|
|
30
32
|
z-index: -1;
|
|
31
33
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
&--flat {
|
|
35
|
-
&::after {
|
|
36
|
-
display: none;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
&--option {
|
|
41
|
-
border-radius: 0;
|
|
42
|
-
|
|
43
|
-
@include tokens.state(active) {
|
|
44
|
-
z-index: 2;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
@include tokens.state(hover) {
|
|
48
|
-
z-index: 1;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
&:only-child {
|
|
52
|
-
border-radius: var(--border-radius);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
&:not(:only-child) {
|
|
56
|
-
&:not(:first-child) {
|
|
57
|
-
margin-top: calc(var(--border-width) * -1);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
&:first-child {
|
|
61
|
-
border-radius: var(--border-radius) var(--border-radius) 0 0;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
&:not(:has(~ .card--option)) {
|
|
65
|
-
border-radius: 0 0 var(--border-radius) var(--border-radius);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
34
|
}
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
--border-color-default: var(--background);
|
|
12
12
|
--border-color-hover: var(--border-color-default);
|
|
13
13
|
--border-color-pressed: var(--border-color-default);
|
|
14
|
-
--border-radius: var(--border-radius-400);
|
|
15
14
|
--box-shadow: var(--box-shadow-default);
|
|
16
15
|
--box-shadow-default: none;
|
|
17
16
|
--padding-horizontal: 0px;
|
|
@@ -33,4 +32,4 @@
|
|
|
33
32
|
--background: var(--background-pressed);
|
|
34
33
|
--border-color: var(--border-color-pressed);
|
|
35
34
|
}
|
|
36
|
-
}
|
|
35
|
+
}
|
|
@@ -1,45 +1,46 @@
|
|
|
1
1
|
import { html, type Attributes } from '@esportsplus/template';
|
|
2
|
-
import { reactive
|
|
2
|
+
import { reactive } from '@esportsplus/reactivity';
|
|
3
3
|
import { omit } from '@esportsplus/utilities';
|
|
4
4
|
import form from '~/components/form';
|
|
5
|
+
import icon from '~/components/icon';
|
|
6
|
+
import check from './svg/check.svg';
|
|
5
7
|
import './scss/index.scss';
|
|
6
8
|
|
|
7
9
|
|
|
8
|
-
|
|
10
|
+
type A = Attributes & {
|
|
11
|
+
'aria-label'?: string;
|
|
12
|
+
checked?: boolean;
|
|
13
|
+
id?: string;
|
|
14
|
+
name?: string;
|
|
15
|
+
state?: { error: string };
|
|
16
|
+
value?: number | string;
|
|
17
|
+
};
|
|
18
|
+
|
|
9
19
|
|
|
20
|
+
const OMIT = ['aria-label', 'checked', 'id', 'name', 'state', 'value'];
|
|
10
21
|
|
|
11
|
-
const factory = (type: string) => {
|
|
12
|
-
function template(
|
|
13
|
-
this: { attributes?: Attributes } | any,
|
|
14
|
-
attributes?: Attributes & { state?: { active: boolean, error: string } }
|
|
15
|
-
) {
|
|
16
|
-
let state = attributes?.state || reactive({
|
|
17
|
-
active: false,
|
|
18
|
-
error: ''
|
|
19
|
-
});
|
|
20
22
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
23
|
+
const factory = (type: 'checkbox' | 'radio' | 'switch') => {
|
|
24
|
+
function template(this: { attributes?: Exclude<A, 'state'> } | void, attributes?: A) {
|
|
25
|
+
let state = attributes?.state || reactive({ error: '' });
|
|
24
26
|
|
|
25
27
|
return html`
|
|
26
28
|
<div
|
|
27
|
-
class='
|
|
29
|
+
class='checkbox ${(type === 'radio' || type === 'switch') && `checkbox--${type}`}'
|
|
28
30
|
${this?.attributes && omit(this.attributes, OMIT)}
|
|
29
31
|
${attributes && omit(attributes, OMIT)}
|
|
30
32
|
>
|
|
31
33
|
<input
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
value: attributes?.value || 1
|
|
41
|
-
}}
|
|
34
|
+
aria-label=${attributes?.['aria-label'] ?? this?.attributes?.['aria-label']}
|
|
35
|
+
checked=${attributes?.checked}
|
|
36
|
+
class='checkbox-tag'
|
|
37
|
+
id=${attributes?.id ?? this?.attributes?.id}
|
|
38
|
+
name=${attributes?.name ?? this?.attributes?.name}
|
|
39
|
+
onrender=${form.input.onrender(state)}
|
|
40
|
+
type=${type === 'radio' ? 'radio' : 'checkbox'}
|
|
41
|
+
value=${attributes?.value ?? 1}
|
|
42
42
|
>
|
|
43
|
+
${type === 'checkbox' && icon({ 'aria-hidden': true, class: 'checkbox-check' }, check)}
|
|
43
44
|
</div>
|
|
44
45
|
`;
|
|
45
46
|
}
|
|
@@ -49,4 +50,4 @@ const factory = (type: string) => {
|
|
|
49
50
|
|
|
50
51
|
|
|
51
52
|
export default factory('checkbox');
|
|
52
|
-
export { factory };
|
|
53
|
+
export { factory };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
@use '/lib';
|
|
2
|
+
@use '/tokens';
|
|
2
3
|
@use 'variables';
|
|
3
4
|
|
|
4
5
|
.checkbox {
|
|
@@ -6,45 +7,102 @@
|
|
|
6
7
|
border-color: var(--border-color);
|
|
7
8
|
border-radius: var(--border-radius);
|
|
8
9
|
border-style: var(--border-style);
|
|
9
|
-
border-width: var(--border-width);
|
|
10
|
+
border-width: calc(var(--border-width) + var(--border-width-offset));
|
|
11
|
+
box-shadow: var(--box-shadow);
|
|
12
|
+
cursor: pointer;
|
|
10
13
|
flex: 0 0 var(--width);
|
|
11
14
|
height: var(--height);
|
|
15
|
+
pointer-events: none;
|
|
12
16
|
position: relative;
|
|
13
17
|
transition:
|
|
14
|
-
background var(--transition-duration)
|
|
15
|
-
border-color var(--transition-duration)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
transform var(--transition-duration) ease-in-out;
|
|
18
|
+
background var(--transition-duration) var(--transition-timing-function),
|
|
19
|
+
border-color var(--transition-duration) var(--transition-timing-function),
|
|
20
|
+
border-width var(--transition-duration) var(--transition-timing-function),
|
|
21
|
+
box-shadow var(--transition-duration) var(--transition-timing-function);
|
|
19
22
|
width: var(--width);
|
|
20
23
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
|
|
25
|
+
&--radio,
|
|
26
|
+
&--switch {
|
|
27
|
+
&::before {
|
|
28
|
+
background: var(--indicator-color);
|
|
29
|
+
box-shadow: var(--box-shadow);
|
|
30
|
+
content: '';
|
|
31
|
+
pointer-events: none;
|
|
32
|
+
transform-origin: center;
|
|
33
|
+
transition: transform var(--transition-duration) var(--transition-timing-function);
|
|
34
|
+
width: var(--width);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&--radio {
|
|
39
|
+
&::before {
|
|
40
|
+
border-radius: calc(var(--border-radius) - (var(--height) / 2));
|
|
41
|
+
height: var(--height);
|
|
42
|
+
inset: 0;
|
|
43
|
+
margin: auto;
|
|
44
|
+
position: absolute;
|
|
45
|
+
transform: scale(var(--scale));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&--switch {
|
|
50
|
+
&::before {
|
|
51
|
+
@include lib.position(absolute, var(--padding-vertical) null null var(--padding-horizontal));
|
|
52
|
+
border-radius: calc(var(--border-radius) - var(--padding-vertical) / 1.5);
|
|
53
|
+
height: calc(var(--height) - (var(--border-width) * 2) - (var(--padding-vertical) * 2));
|
|
54
|
+
transform: translateX(var(--translateX)) scale(var(--scale));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
&:has(input:checked) .checkbox-check svg {
|
|
60
|
+
stroke-dashoffset: 0;
|
|
24
61
|
}
|
|
25
62
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
height: var(--
|
|
33
|
-
|
|
63
|
+
&:has(> .checkbox-tag:focus-visible, > .radio-tag:focus-visible, > .switch-tag:focus-visible) {
|
|
64
|
+
outline: var(--focus-width) solid var(--focus-color);
|
|
65
|
+
outline-offset: var(--focus-offset);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.checkbox-check {
|
|
69
|
+
height: var(--check-size);
|
|
70
|
+
inset: 0 0 0 1px;
|
|
71
|
+
margin: auto;
|
|
72
|
+
pointer-events: none;
|
|
34
73
|
position: absolute;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
74
|
+
width: var(--check-size);
|
|
75
|
+
|
|
76
|
+
svg {
|
|
77
|
+
fill: none;
|
|
78
|
+
stroke: var(--indicator-color);
|
|
79
|
+
stroke-width: var(--check-stroke-width);
|
|
80
|
+
stroke-linecap: var(--check-linecap);
|
|
81
|
+
stroke-linejoin: var(--check-linejoin);
|
|
82
|
+
stroke-dasharray: 1;
|
|
83
|
+
stroke-dashoffset: 1;
|
|
84
|
+
transition: stroke-dashoffset var(--transition-duration) var(--check-timing-function);
|
|
85
|
+
}
|
|
39
86
|
}
|
|
40
87
|
|
|
41
|
-
//
|
|
88
|
+
// Keep the native input interactive while the SVG supplies its appearance.
|
|
89
|
+
// TODO: Pointer events none on parent and default here?
|
|
42
90
|
&-tag {
|
|
43
|
-
@include lib.position(absolute,
|
|
44
|
-
|
|
91
|
+
@include lib.position(absolute, full);
|
|
92
|
+
cursor: inherit;
|
|
93
|
+
height: 100%;
|
|
94
|
+
margin: 0;
|
|
45
95
|
opacity: 0;
|
|
46
|
-
pointer-events:
|
|
47
|
-
width:
|
|
48
|
-
z-index:
|
|
96
|
+
pointer-events: all;
|
|
97
|
+
width: 100%;
|
|
98
|
+
z-index: 1;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
@media (prefers-reduced-motion: reduce) {
|
|
102
|
+
&,
|
|
103
|
+
&::before,
|
|
104
|
+
.checkbox-check svg {
|
|
105
|
+
transition: none;
|
|
106
|
+
}
|
|
49
107
|
}
|
|
50
|
-
}
|
|
108
|
+
}
|