@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,165 +0,0 @@
|
|
|
1
|
-
import '@esportsplus/vite/global.d.ts';
|
|
2
|
-
import { Response } from '@esportsplus/action';
|
|
3
|
-
import { html, Attributes, Renderable } from '@esportsplus/template';
|
|
4
|
-
import { reactive } from '@esportsplus/reactivity';
|
|
5
|
-
import { omit } from '@esportsplus/utilities';
|
|
6
|
-
import icon from '~/components/icon';
|
|
7
|
-
import check from './svg/check.svg';
|
|
8
|
-
import close from './svg/close.svg';
|
|
9
|
-
import e from './svg/error.svg';
|
|
10
|
-
import './scss/index.scss';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
type Type = 'error' | 'info' | 'success';
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const OMIT = ['alert-close', 'alert-messages', 'alert-message'];
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
let modifiers: Record<Type, string> = {
|
|
20
|
-
error: 'red',
|
|
21
|
-
info: 'black',
|
|
22
|
-
success: 'green'
|
|
23
|
-
},
|
|
24
|
-
timeout = 250;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
function activate(key: Type, messages: Renderable<any>, seconds: number, state: { active: boolean, messages: Set<Renderable<any>>, rerender: number, type: Type }) {
|
|
28
|
-
if (!Array.isArray(messages)) {
|
|
29
|
-
messages = [messages];
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
if (!messages.length) {
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
if (state.type !== key) {
|
|
37
|
-
state.active = false;
|
|
38
|
-
state.messages.clear();
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
state.type = key;
|
|
42
|
-
|
|
43
|
-
for (let message of messages) {
|
|
44
|
-
state.messages.add(message);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
if (state.active) {
|
|
48
|
-
state.rerender++;
|
|
49
|
-
|
|
50
|
-
if (!seconds) {
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
setTimeout(deactivate, timeout + (500 * seconds));
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
setTimeout(() => {
|
|
58
|
-
state.active = true;
|
|
59
|
-
state.rerender++;
|
|
60
|
-
state.type = key;
|
|
61
|
-
|
|
62
|
-
if (seconds) {
|
|
63
|
-
setTimeout(deactivate, 500 * seconds);
|
|
64
|
-
}
|
|
65
|
-
}, timeout);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
function deactivate(state: { active: boolean, messages: Set<Renderable<any>>, type: Type }) {
|
|
70
|
-
state.active = false;
|
|
71
|
-
|
|
72
|
-
setTimeout(() => {
|
|
73
|
-
state.messages.clear();
|
|
74
|
-
}, timeout);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
export default (attributes: Attributes & { 'alert-close'?: Attributes, 'alert-messages'?: Attributes, 'alert-message'?: Attributes }) => {
|
|
79
|
-
let state = reactive({
|
|
80
|
-
active: false,
|
|
81
|
-
messages: new Set() as Set<Renderable<any>>,
|
|
82
|
-
rerender: 0,
|
|
83
|
-
type: '' as Type
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
const error = (messages: Renderable<any>, seconds: number = 0) => activate('error', messages, seconds, state);
|
|
88
|
-
|
|
89
|
-
error.response = (response: Response<any>) => {
|
|
90
|
-
if (response.ok) {
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
error(
|
|
95
|
-
response.errors.map(({ message, path }) => {
|
|
96
|
-
if (!path) {
|
|
97
|
-
return message;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
return `${String(path).split('.').join(' ')} ${message}`;
|
|
101
|
-
}),
|
|
102
|
-
5
|
|
103
|
-
);
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
return {
|
|
108
|
-
content: html`
|
|
109
|
-
<div
|
|
110
|
-
class='alert anchor anchor--n ${() => state.active && '--active'} --flex-row'
|
|
111
|
-
${omit(attributes, OMIT)}
|
|
112
|
-
>
|
|
113
|
-
${() => {
|
|
114
|
-
let type = state.type;
|
|
115
|
-
|
|
116
|
-
return html`
|
|
117
|
-
<div class='--flex-vertical' style='${`--color: var(--color-${modifiers[type]}-400);`}'>
|
|
118
|
-
${icon({ class: '--size-500' }, type === 'error' ? e : check)}
|
|
119
|
-
</div>
|
|
120
|
-
`;
|
|
121
|
-
}}
|
|
122
|
-
|
|
123
|
-
<div
|
|
124
|
-
class='alert-messages --flex-column --flex-fill'
|
|
125
|
-
${attributes['alert-messages']}
|
|
126
|
-
>
|
|
127
|
-
${() => {
|
|
128
|
-
let message = attributes['alert-message'];
|
|
129
|
-
|
|
130
|
-
return state.rerender && [...state.messages].map((content) => {
|
|
131
|
-
if (typeof content === 'string') {
|
|
132
|
-
return html`
|
|
133
|
-
<p ${message}>
|
|
134
|
-
${content}
|
|
135
|
-
</p>
|
|
136
|
-
`;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
return html`
|
|
140
|
-
<div class='--flex-start'>
|
|
141
|
-
${content}
|
|
142
|
-
</div>
|
|
143
|
-
`;
|
|
144
|
-
});
|
|
145
|
-
}}
|
|
146
|
-
</div>
|
|
147
|
-
|
|
148
|
-
<div class="--flex-vertical">
|
|
149
|
-
<div
|
|
150
|
-
class='alert-close button --padding-300'
|
|
151
|
-
onclick='${() => deactivate(state)}'
|
|
152
|
-
${attributes['alert-close']}
|
|
153
|
-
>
|
|
154
|
-
${icon({ style: '--size: 14px;' }, close)}
|
|
155
|
-
</div>
|
|
156
|
-
</div>
|
|
157
|
-
</div>
|
|
158
|
-
`,
|
|
159
|
-
deactivate: () => deactivate(state),
|
|
160
|
-
error,
|
|
161
|
-
info: (messages: Renderable<any>, seconds: number = 0) => activate('info', messages, seconds, state),
|
|
162
|
-
success: (messages: Renderable<any>, seconds: number = 0) => activate('success', messages, seconds, state)
|
|
163
|
-
|
|
164
|
-
};
|
|
165
|
-
};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
@use '../../anchor/scss';
|
|
2
|
-
@use '/lib';
|
|
3
|
-
@use '/tokens';
|
|
4
|
-
@use 'variables';
|
|
5
|
-
|
|
6
|
-
.alert {
|
|
7
|
-
max-width: var(--max-width);
|
|
8
|
-
padding: var(--padding-vertical) var(--padding-horizontal);
|
|
9
|
-
position: fixed;
|
|
10
|
-
width: calc(100% - (var(--margin-horizontal) * 2));
|
|
11
|
-
z-index: 9999;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
&.anchor--n {
|
|
15
|
-
@include tokens.state(inactive) {
|
|
16
|
-
transform: translate(50%, -100%);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
&.anchor--ne {
|
|
21
|
-
@include tokens.state(inactive) {
|
|
22
|
-
transform: translateY(-100%);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
-
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
-
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
|
-
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
5
|
-
width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
|
|
6
|
-
<g>
|
|
7
|
-
<path d="M9,19.5c-0.397,0-0.779-0.158-1.061-0.439l-5-5c-0.586-0.586-0.586-1.535,0-2.121s1.535-0.586,2.121,0l3.893,3.893
|
|
8
|
-
l9.941-10.846c0.561-0.611,1.509-0.651,2.119-0.092c0.61,0.56,0.651,1.509,0.092,2.12l-11,12c-0.277,0.302-0.665,0.478-1.073,0.486
|
|
9
|
-
C9.022,19.5,9.011,19.5,9,19.5z"/>
|
|
10
|
-
</g>
|
|
11
|
-
</svg>
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
-
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
-
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
|
-
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
5
|
-
width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
|
|
6
|
-
<g>
|
|
7
|
-
<path d="M18,19.5c-0.384,0-0.768-0.146-1.061-0.439L12,14.121l-4.939,4.939c-0.586,0.586-1.535,0.586-2.121,0s-0.586-1.535,0-2.121
|
|
8
|
-
L9.879,12L4.939,7.061c-0.586-0.585-0.586-1.536,0-2.121c0.586-0.586,1.535-0.586,2.121,0L12,9.879l4.939-4.939
|
|
9
|
-
c0.586-0.586,1.535-0.586,2.121,0c0.586,0.585,0.586,1.536,0,2.121L14.121,12l4.939,4.939c0.586,0.586,0.586,1.535,0,2.121
|
|
10
|
-
C18.768,19.354,18.384,19.5,18,19.5z"/>
|
|
11
|
-
</g>
|
|
12
|
-
</svg>
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
-
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
-
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
|
-
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
5
|
-
width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
|
|
6
|
-
<g>
|
|
7
|
-
<path d="M12.351,23h-0.702c-4.697,0-7.055,0-8.626-1.132c-1.368-0.986-2.262-2.512-2.454-4.186
|
|
8
|
-
c-0.22-1.925,0.932-3.981,3.227-8.079l0.352-0.628c2.386-4.26,3.583-6.398,5.383-7.211c1.57-0.708,3.369-0.708,4.939,0
|
|
9
|
-
c1.8,0.813,2.997,2.95,5.383,7.209l0.352,0.629l-0.873,0.488l0.881-0.474c2.29,4.09,3.439,6.143,3.219,8.064
|
|
10
|
-
c-0.191,1.675-1.086,3.201-2.453,4.187C19.405,23,17.048,23,12.351,23z M12,3.233c-0.562,0-1.123,0.118-1.646,0.354
|
|
11
|
-
c-1.2,0.542-2.358,2.61-4.46,6.364L5.542,10.58c-2.02,3.606-3.132,5.592-2.985,6.875c0.128,1.116,0.724,2.133,1.636,2.79
|
|
12
|
-
C5.24,21,7.516,21,11.649,21h0.702c4.132,0,6.41,0,7.457-0.755c0.912-0.657,1.509-1.674,1.637-2.791
|
|
13
|
-
c0.146-1.28-0.963-3.262-2.978-6.86l-0.009-0.015l-0.351-0.627c-2.103-3.755-3.261-5.823-4.461-6.365
|
|
14
|
-
C13.123,3.352,12.562,3.233,12,3.233z M12,18c-0.827,0-1.499-0.672-1.5-1.498c0-0.002,0-0.002,0-0.004
|
|
15
|
-
C10.501,15.672,11.173,15,12,15c0.826,0,1.499,0.672,1.5,1.498c0,0.002,0,0.002,0,0.004C13.499,17.328,12.826,18,12,18z M12,14
|
|
16
|
-
c-0.552,0-1-0.447-1-1V9c0-0.552,0.448-1,1-1c0.553,0,1,0.448,1,1v4C13,13.553,12.553,14,12,14z"/>
|
|
17
|
-
</g>
|
|
18
|
-
</svg>
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { html, Attributes } from '@esportsplus/template';
|
|
2
|
-
import icon from '~/components/icon';
|
|
3
|
-
import template from '~/components/template';
|
|
4
|
-
import arrow from './svg/arrow.svg';
|
|
5
|
-
import './scss/index.scss';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export default template.factory(
|
|
9
|
-
function (this: { attributes?: Attributes }, attributes, content) {
|
|
10
|
-
return html`
|
|
11
|
-
<a
|
|
12
|
-
class='back link --padding-0px --flex-vertical'
|
|
13
|
-
${this.attributes}
|
|
14
|
-
${attributes}
|
|
15
|
-
>
|
|
16
|
-
${icon({ class: 'back-arrow --margin-right --margin-200' }, arrow)}
|
|
17
|
-
${content}
|
|
18
|
-
</a>
|
|
19
|
-
`;
|
|
20
|
-
}
|
|
21
|
-
);
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
@use '@esportsplus/ui/tokens.scss';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
.back {
|
|
5
|
-
&-arrow {
|
|
6
|
-
transform: rotate(-90deg);
|
|
7
|
-
transition:
|
|
8
|
-
color var(--transition-duration) ease-in-out,
|
|
9
|
-
transform var(--transition-duration) ease-in-out;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
@include tokens.state(hover) {
|
|
13
|
-
.back-arrow {
|
|
14
|
-
transform: rotate(-90deg) translateY(-2px);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
-
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
-
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
|
-
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
5
|
-
width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
|
|
6
|
-
<g opacity="0.4" enable-background="new ">
|
|
7
|
-
<path d="M12,22c-0.552,0-1-0.447-1-1v-6c0-0.553,0.448-1,1-1c0.553,0,1,0.447,1,1v6C13,21.553,12.553,22,12,22z"/>
|
|
8
|
-
</g>
|
|
9
|
-
<g>
|
|
10
|
-
<path d="M12,16c-0.552,0-1-0.447-1-1V5.414l-5.293,5.293c-0.391,0.391-1.023,0.391-1.414,0s-0.391-1.023,0-1.414l7-7
|
|
11
|
-
c0.096-0.096,0.208-0.169,0.326-0.218C11.735,2.027,11.863,2,11.997,2l0,0c0.002,0,0.004,0,0.006,0l0,0
|
|
12
|
-
c0.134,0,0.262,0.027,0.378,0.075c0.119,0.049,0.229,0.122,0.326,0.218l7,7c0.391,0.391,0.391,1.023,0,1.414s-1.023,0.391-1.414,0
|
|
13
|
-
L13,5.414V15C13,15.553,12.553,16,12,16z"/>
|
|
14
|
-
</g>
|
|
15
|
-
</svg>
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
@use './variables';
|
|
2
|
-
|
|
3
|
-
.bubble {
|
|
4
|
-
background: var(--background);
|
|
5
|
-
border-radius: var(--border-radius);
|
|
6
|
-
height: var(--height);
|
|
7
|
-
width: var(--width);
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
&--bottom,
|
|
11
|
-
&--top {
|
|
12
|
-
&-left,
|
|
13
|
-
&-right {
|
|
14
|
-
position: absolute;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
@each $direction in 'left' 'right' {
|
|
18
|
-
&-#{$direction} {
|
|
19
|
-
#{$direction}: var(--position-horizontal);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
@each $direction in 'bottom' 'top' {
|
|
25
|
-
&--#{$direction} {
|
|
26
|
-
&-left,
|
|
27
|
-
&-right {
|
|
28
|
-
#{$direction}: var(--position-vertical);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
.bubble {
|
|
2
|
-
--background: var(--background-default);
|
|
3
|
-
--background-default: var(--color-border-400);
|
|
4
|
-
--border-radius: 100%;
|
|
5
|
-
--height: var(--size);
|
|
6
|
-
--margin-horizontal: var(--size-100);
|
|
7
|
-
--size: 6px;
|
|
8
|
-
--width: var(--size);
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
&--bottom,
|
|
12
|
-
&--top {
|
|
13
|
-
|
|
14
|
-
&-left,
|
|
15
|
-
&-right {
|
|
16
|
-
--position-horizontal: calc(var(--size) / -2);
|
|
17
|
-
--position-vertical: calc(var(--size) / -2);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { html, type Renderable } from '@esportsplus/template';
|
|
2
|
-
import { reactive } from '@esportsplus/reactivity';
|
|
3
|
-
import template from '../template';
|
|
4
|
-
import './scss/index.scss';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const hold = template.factory(
|
|
8
|
-
function(attributes, content: (state: { holding: boolean, complete: boolean }) => Renderable<any>) {
|
|
9
|
-
let end = () => {
|
|
10
|
-
if (!state.complete) {
|
|
11
|
-
state.holding = false;
|
|
12
|
-
}
|
|
13
|
-
},
|
|
14
|
-
state = reactive({
|
|
15
|
-
complete: false,
|
|
16
|
-
holding: false
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
return html`
|
|
20
|
-
<div
|
|
21
|
-
class='button ${() => state.holding && 'button--holding'}'
|
|
22
|
-
onmousedown='${(e) => {
|
|
23
|
-
e.preventDefault();
|
|
24
|
-
state.holding = true;
|
|
25
|
-
}}'
|
|
26
|
-
${attributes}
|
|
27
|
-
${{
|
|
28
|
-
onanimationend: (e: AnimationEvent) => {
|
|
29
|
-
if (e.animationName === 'buttonHolding') {
|
|
30
|
-
state.complete = true;
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
onclick: () => {},
|
|
34
|
-
onmousedown: (e) => {
|
|
35
|
-
e.preventDefault();
|
|
36
|
-
state.holding = true;
|
|
37
|
-
},
|
|
38
|
-
onmouseup: end,
|
|
39
|
-
ontouchend: end,
|
|
40
|
-
ontouchstart: (e) => {
|
|
41
|
-
e.preventDefault();
|
|
42
|
-
state.holding = true;
|
|
43
|
-
}
|
|
44
|
-
}}
|
|
45
|
-
>
|
|
46
|
-
${() => content(state)}
|
|
47
|
-
</div>
|
|
48
|
-
`;
|
|
49
|
-
}
|
|
50
|
-
);
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
export default { hold };
|
|
54
|
-
export { hold };
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
@use 'variables';
|
|
2
|
-
|
|
3
|
-
.ellipsis {
|
|
4
|
-
span {
|
|
5
|
-
animation: ellipsis var(--animation-duration) infinite linear;
|
|
6
|
-
background-color: var(--color);
|
|
7
|
-
border-radius: 100%;
|
|
8
|
-
display: inline-block;
|
|
9
|
-
height: var(--size);
|
|
10
|
-
margin: 0 var(--margin-horizontal);
|
|
11
|
-
width: var(--size);
|
|
12
|
-
|
|
13
|
-
:nth-child(2) {
|
|
14
|
-
animation-delay: 0.24s;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
:nth-child(3) {
|
|
18
|
-
animation-delay: 0.48s;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
@keyframes ellipsis {
|
|
23
|
-
0%, 100% {
|
|
24
|
-
opacity: 0.16;
|
|
25
|
-
}
|
|
26
|
-
20% {
|
|
27
|
-
opacity: 1;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
@use '/tokens';
|
|
2
|
-
@use 'variables';
|
|
3
|
-
|
|
4
|
-
.frames {
|
|
5
|
-
display: flex;
|
|
6
|
-
gap: var(--gap);
|
|
7
|
-
transform: translateX(calc(var(--i) * (100% + var(--gap))));
|
|
8
|
-
transition: transform 0.3s ease;
|
|
9
|
-
|
|
10
|
-
.frame {
|
|
11
|
-
flex-shrink: 0;
|
|
12
|
-
min-width: 100%;
|
|
13
|
-
width: 100%;
|
|
14
|
-
|
|
15
|
-
@include tokens.state(inactive) {
|
|
16
|
-
display: flex;
|
|
17
|
-
opacity: var(--opacity);
|
|
18
|
-
|
|
19
|
-
> * {
|
|
20
|
-
pointer-events: none;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.frame {
|
|
27
|
-
cursor: default;
|
|
28
|
-
display: none;
|
|
29
|
-
flex-wrap: wrap;
|
|
30
|
-
justify-content: flex-start;
|
|
31
|
-
max-width: 100%;
|
|
32
|
-
position: relative;
|
|
33
|
-
width: 100%;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
@include tokens.state(active) {
|
|
37
|
-
display: flex;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { html, Attributes } from '@esportsplus/template';
|
|
2
|
-
import { reactive } from '@esportsplus/reactivity';
|
|
3
|
-
import { omit } from '@esportsplus/utilities';
|
|
4
|
-
import template from '~/components/template';
|
|
5
|
-
import './scss/index.scss';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
type A = Attributes & { background?: string };
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const OMIT = ['background'];
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
let key = Symbol(),
|
|
15
|
-
observer: IntersectionObserver | null = null;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
export default template.factory(
|
|
19
|
-
(attributes: A, content) => {
|
|
20
|
-
if (observer === null) {
|
|
21
|
-
observer = new IntersectionObserver((entries) => {
|
|
22
|
-
let disconnected = 0,
|
|
23
|
-
n = entries.length;
|
|
24
|
-
|
|
25
|
-
for (let i = 0; i < n; i++) {
|
|
26
|
-
let { isIntersecting, target } = entries[i];
|
|
27
|
-
|
|
28
|
-
if (target.isConnected) {
|
|
29
|
-
// @ts-ignore
|
|
30
|
-
target[key].highlight = +isIntersecting;
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
disconnected++;
|
|
34
|
-
observer!.unobserve(target);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if (n - disconnected === 0) {
|
|
39
|
-
observer!.disconnect();
|
|
40
|
-
observer = null;
|
|
41
|
-
}
|
|
42
|
-
}, { threshold: 1 });
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
let state = reactive({
|
|
46
|
-
highlight: 0
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
return html`
|
|
50
|
-
<div class='highlight'
|
|
51
|
-
${omit(attributes, OMIT)}
|
|
52
|
-
${{
|
|
53
|
-
onrender: (element) => {
|
|
54
|
-
element[key] = state;
|
|
55
|
-
observer!.observe(element);
|
|
56
|
-
},
|
|
57
|
-
style: [
|
|
58
|
-
() => `--highlight: ${state.highlight}`,
|
|
59
|
-
`--background: ${attributes.background}`,
|
|
60
|
-
]
|
|
61
|
-
}}
|
|
62
|
-
>
|
|
63
|
-
${content}
|
|
64
|
-
</div>
|
|
65
|
-
`;
|
|
66
|
-
}
|
|
67
|
-
);
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { html, type Attributes } from '@esportsplus/template';
|
|
2
|
-
import { reactive } from '@esportsplus/reactivity';
|
|
3
|
-
import { omit } from '@esportsplus/utilities'
|
|
4
|
-
import template from '~/components/template';
|
|
5
|
-
import './scss/index.scss';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
type A = Attributes & {
|
|
9
|
-
'loader'?: Attributes,
|
|
10
|
-
'loader-content'?: Attributes,
|
|
11
|
-
'loader-logo'?: Attributes
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const OMIT = ['loader-content', 'loader-logo'];
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
export default template.factory(
|
|
19
|
-
(attributes: A, content) => {
|
|
20
|
-
let state = reactive({
|
|
21
|
-
load: false,
|
|
22
|
-
remove: false,
|
|
23
|
-
scale: false
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
return () => {
|
|
27
|
-
if (state.remove) {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
let i = 0;
|
|
32
|
-
|
|
33
|
-
return html`
|
|
34
|
-
<div
|
|
35
|
-
class='loader ${() => state.load && 'loader--load'}'
|
|
36
|
-
onanimationend=${(e: AnimationEvent) => {
|
|
37
|
-
i++;
|
|
38
|
-
|
|
39
|
-
if (e.animationName === 'move' && i > 1) {
|
|
40
|
-
state.remove = true;
|
|
41
|
-
}
|
|
42
|
-
}}
|
|
43
|
-
${omit(attributes, OMIT)}
|
|
44
|
-
>
|
|
45
|
-
<div
|
|
46
|
-
class='loader ${() => state.load && 'loader--load'}'
|
|
47
|
-
${!content && {
|
|
48
|
-
onconnect: () => {
|
|
49
|
-
state.load = true;
|
|
50
|
-
}
|
|
51
|
-
}}
|
|
52
|
-
${attributes.loader}
|
|
53
|
-
>
|
|
54
|
-
${content && html`
|
|
55
|
-
<div class='loader-content' ${attributes['loader-content']}>
|
|
56
|
-
<div
|
|
57
|
-
class='loader-logo text --flex-center --text-uppercase --text-600'
|
|
58
|
-
style='color: var(--color-grey-500);'
|
|
59
|
-
${attributes['loader-logo']}
|
|
60
|
-
${{
|
|
61
|
-
class: () => state.scale && 'loader-logo--scale',
|
|
62
|
-
onanimationend: ({ animationName: name }) => {
|
|
63
|
-
if (name === 'scale') {
|
|
64
|
-
state.load = true;
|
|
65
|
-
}
|
|
66
|
-
},
|
|
67
|
-
onconnect: () => {
|
|
68
|
-
state.scale = true;
|
|
69
|
-
}
|
|
70
|
-
}}
|
|
71
|
-
>
|
|
72
|
-
${content}
|
|
73
|
-
</div>
|
|
74
|
-
</div>
|
|
75
|
-
`}
|
|
76
|
-
</div>
|
|
77
|
-
</div>
|
|
78
|
-
`;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
);
|