@esportsplus/ui 0.8.3 → 0.9.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/.editorconfig +9 -9
- package/.gitattributes +2 -2
- package/.github/dependabot.yml +23 -0
- package/.github/workflows/bump.yml +7 -0
- package/.github/workflows/publish.yml +14 -0
- package/package.json +9 -22
- package/src/components/accordion/index.ts +35 -34
- package/src/components/accordion/scss/index.scss +17 -16
- package/src/components/accordion/scss/variables.scss +9 -9
- package/src/components/anchor/index.ts +1 -0
- package/src/components/anchor/scss/index.scss +42 -41
- package/src/components/anchor/scss/variables.scss +4 -4
- package/src/components/banner/index.ts +1 -0
- package/src/components/banner/scss/index.scss +41 -40
- package/src/components/banner/scss/variables.scss +9 -9
- package/src/components/border/index.ts +1 -0
- package/src/components/border/scss/index.scss +12 -0
- package/src/components/border/scss/variables.scss +6 -0
- package/src/components/bubble/index.ts +1 -0
- package/src/components/bubble/scss/index.scss +32 -0
- package/src/components/bubble/scss/variables.scss +19 -0
- package/src/components/button/index.ts +1 -0
- package/src/components/button/scss/index.scss +115 -114
- package/src/components/button/scss/variables.scss +66 -66
- package/src/components/card/index.ts +1 -0
- package/src/components/card/scss/index.scss +36 -35
- package/src/components/card/scss/variables.scss +41 -41
- package/src/components/clipboard/index.ts +3 -4
- package/src/components/clipboard/write.ts +8 -8
- package/src/components/container/index.ts +1 -0
- package/src/components/container/scss/index.scss +10 -8
- package/src/components/container/scss/variables.scss +5 -5
- package/src/components/counter/index.ts +99 -93
- package/src/components/counter/scss/index.scss +63 -61
- package/src/components/counter/scss/variables.scss +26 -26
- package/src/components/ellipsis/index.ts +10 -9
- package/src/components/ellipsis/scss/index.scss +29 -27
- package/src/components/ellipsis/scss/variables.scss +4 -4
- package/src/components/field/checkbox.ts +71 -0
- package/src/components/field/description.ts +14 -0
- package/src/components/field/error.ts +16 -0
- package/src/components/field/file.ts +77 -0
- package/src/components/field/index.ts +11 -0
- package/src/components/field/optional.ts +23 -0
- package/src/components/field/scss/_check.scss +225 -0
- package/src/components/field/scss/_normalize.scss +36 -0
- package/src/components/field/scss/_text.scss +106 -0
- package/src/components/field/scss/index.scss +161 -0
- package/src/components/field/scss/variables.scss +139 -0
- package/src/components/field/select.ts +182 -0
- package/src/components/field/switch.ts +9 -0
- package/src/components/field/text.ts +92 -0
- package/src/components/field/textarea.ts +8 -0
- package/src/components/field/title.ts +24 -0
- package/src/components/footer/index.ts +83 -78
- package/src/components/footer/scss/index.scss +25 -25
- package/src/components/form/action.ts +79 -80
- package/src/components/form/index.ts +5 -6
- package/src/components/form/input.ts +17 -15
- package/src/components/form/types.ts +13 -15
- package/src/components/frame/index.ts +1 -0
- package/src/components/frame/scss/index.scss +11 -11
- package/src/components/grid/index.ts +1 -0
- package/src/components/grid/scss/index.scss +11 -9
- package/src/components/grid/scss/variables.scss +5 -5
- package/src/components/group/index.ts +1 -0
- package/src/components/group/scss/index.scss +38 -36
- package/src/components/group/scss/variables.scss +17 -17
- package/src/components/highlight/index.ts +51 -47
- package/src/components/highlight/scss/index.scss +6 -4
- package/src/components/highlight/scss/variables.scss +3 -3
- package/src/components/icon/index.ts +1 -0
- package/src/components/icon/scss/index.scss +18 -16
- package/src/components/icon/scss/variables.scss +7 -7
- package/src/components/index.ts +38 -19
- package/src/components/json/download.ts +14 -14
- package/src/components/json/index.ts +3 -3
- package/src/components/link/hover.ts +18 -18
- package/src/components/link/index.ts +4 -3
- package/src/components/link/scss/index.scss +66 -65
- package/src/components/link/scss/variables.scss +46 -46
- package/src/components/loader/index.ts +42 -34
- package/src/components/loader/scss/index.scss +70 -68
- package/src/components/loader/scss/variables.scss +5 -5
- package/src/components/loading/index.ts +13 -7
- package/src/components/loading/scss/index.scss +18 -16
- package/src/components/loading/scss/variables.scss +5 -5
- package/src/components/magnet/index.ts +55 -54
- package/src/components/magnet/scss/index.scss +17 -16
- package/src/components/magnet/scss/variables.scss +4 -4
- package/src/components/modal/index.ts +1 -0
- package/src/components/modal/scss/index.scss +35 -34
- package/src/components/modal/scss/variables.scss +6 -6
- package/src/components/normalize/index.ts +1 -0
- package/src/components/number/index.ts +4 -24
- package/src/components/page/index.ts +17 -15
- package/src/components/page/scss/index.scss +33 -31
- package/src/components/page/scss/variables.scss +15 -15
- package/src/components/root/index.ts +4 -4
- package/src/components/root/onclick.ts +20 -20
- package/src/components/root/scss/index.scss +94 -94
- package/src/components/root/scss/variables.scss +100 -100
- package/src/components/row/index.ts +1 -0
- package/src/components/row/scss/index.scss +7 -7
- package/src/components/scrollbar/index.ts +49 -43
- package/src/components/scrollbar/scss/index.scss +72 -70
- package/src/components/scrollbar/scss/variables.scss +6 -6
- package/src/components/sidebar/index.ts +1 -0
- package/src/components/sidebar/scss/index.scss +50 -49
- package/src/components/sidebar/scss/variables.scss +20 -20
- package/src/components/site/index.ts +27 -26
- package/src/components/site/scss/index.scss +3 -3
- package/src/components/text/index.ts +1 -0
- package/src/components/text/scss/index.scss +11 -9
- package/src/components/text/scss/variables.scss +8 -8
- package/src/components/thumbnail/index.ts +1 -0
- package/src/components/thumbnail/scss/index.scss +9 -7
- package/src/components/thumbnail/scss/variables.scss +7 -7
- package/src/components/tooltip/index.ts +85 -84
- package/src/components/tooltip/scss/_center.scss +13 -13
- package/src/components/tooltip/scss/_east.scss +34 -34
- package/src/components/tooltip/scss/_north.scss +34 -34
- package/src/components/tooltip/scss/_south.scss +35 -35
- package/src/components/tooltip/scss/_west.scss +34 -34
- package/src/components/tooltip/scss/index.scss +94 -93
- package/src/components/tooltip/scss/variables.scss +24 -24
- package/src/components/truncate/index.ts +4 -14
- package/src/components/typewriter/index.ts +54 -53
- package/src/components/typewriter/scss/index.scss +14 -14
- package/src/css-utilities/[margin,padding]/scss/index.scss +43 -41
- package/src/css-utilities/[margin,padding]/scss/variables.scss +54 -54
- package/src/css-utilities/absolute/scss/index.scss +36 -36
- package/src/css-utilities/background/scss/index.scss +1 -0
- package/src/css-utilities/background/scss/variables.scss +26 -27
- package/src/css-utilities/border/scss/index.scss +23 -21
- package/src/css-utilities/border/scss/variables.scss +64 -66
- package/src/css-utilities/color/scss/index.scss +1 -0
- package/src/css-utilities/color/scss/variables.scss +29 -31
- package/src/css-utilities/disabled/scss/index.scss +4 -4
- package/src/css-utilities/flex/scss/index.scss +65 -65
- package/src/css-utilities/glass/scss/index.scss +4 -2
- package/src/css-utilities/glass/scss/variables.scss +2 -2
- package/src/css-utilities/hidden/scss/index.scss +28 -28
- package/src/css-utilities/index.ts +18 -0
- package/src/css-utilities/inline/scss/index.scss +7 -7
- package/src/css-utilities/line-height/scss/index.scss +1 -0
- package/src/css-utilities/line-height/scss/variables.scss +10 -10
- package/src/css-utilities/not-allowed/scss/index.scss +7 -7
- package/src/css-utilities/pointer/scss/index.scss +5 -5
- package/src/css-utilities/size/scss/index.scss +1 -0
- package/src/css-utilities/size/scss/variables.scss +12 -12
- package/src/css-utilities/squircle/scss/index.scss +4 -4
- package/src/css-utilities/text/scss/index.scss +90 -89
- package/src/css-utilities/text/scss/variables.scss +31 -31
- package/src/css-utilities/viewport/scss/index.scss +4 -4
- package/src/css-utilities/width/scss/index.scss +5 -3
- package/src/css-utilities/width/scss/variables.scss +9 -9
- package/src/lib/index.scss +7 -7
- package/src/lib/scss/breakpoint.scss +41 -41
- package/src/lib/scss/color.scss +1 -1
- package/src/lib/scss/css-variables.scss +16 -16
- package/src/lib/scss/list.scss +77 -77
- package/src/lib/scss/map.scss +1 -1
- package/src/lib/scss/position.scss +55 -55
- package/src/lib/scss/string.scss +34 -34
- package/src/tokens/index.scss +11 -11
- package/src/tokens/scss/border-radius.scss +12 -12
- package/src/tokens/scss/border-width.scss +6 -6
- package/src/tokens/scss/box-shadow.scss +39 -39
- package/src/tokens/scss/color.scss +68 -64
- package/src/tokens/scss/font-size.scss +16 -16
- package/src/tokens/scss/font-weight.scss +6 -6
- package/src/tokens/scss/line-height.scss +6 -6
- package/src/tokens/scss/size.scss +13 -13
- package/src/tokens/scss/spacer.scss +10 -10
- package/src/tokens/scss/state.scss +85 -87
- package/src/tokens/scss/transition-duration.scss +1 -1
- package/tsconfig.json +5 -2
- package/assets/0af89c10df9bc2f8d646.woff2 +0 -0
- package/assets/109e3207d9afea8524be.woff2 +0 -0
- package/assets/16663c3f6ab1da2d6c86.woff +0 -0
- package/assets/16e8721ef5837bc6375e.woff +0 -0
- package/assets/2a3e005f58bfca9c117e.woff +0 -0
- package/assets/58a8d7ebc386843b62c5.woff2 +0 -0
- package/assets/593de7c561e5ffe80c3e.woff2 +0 -0
- package/assets/68b7982c2b30b51bf932.woff2 +0 -0
- package/assets/a04b5e24af93da353f0e.woff +0 -0
- package/assets/bf331673b91821715c08.woff +0 -0
- package/assets/c54b0f4340f2914802d1.woff +0 -0
- package/assets/dd8646a41e4397b77fc4.woff2 +0 -0
- package/assets/e06c107cc50506570954.woff2 +0 -0
- package/assets/ecdfe4c05425592708aa.woff2 +0 -0
- package/assets/f0032576ac7462ccbd0c.woff +0 -0
- package/assets/f872e621917a45943fbc.woff +0 -0
- package/build/components/accordion/index.d.ts +0 -17
- package/build/components/accordion/index.js +0 -25
- package/build/components/clipboard/index.d.ts +0 -5
- package/build/components/clipboard/index.js +0 -3
- package/build/components/clipboard/write.d.ts +0 -2
- package/build/components/clipboard/write.js +0 -9
- package/build/components/counter/index.d.ts +0 -13
- package/build/components/counter/index.js +0 -72
- package/build/components/ellipsis/index.d.ts +0 -2
- package/build/components/ellipsis/index.js +0 -8
- package/build/components/footer/index.d.ts +0 -25
- package/build/components/footer/index.js +0 -55
- package/build/components/form/action.d.ts +0 -5
- package/build/components/form/action.js +0 -54
- package/build/components/form/index.d.ts +0 -23
- package/build/components/form/index.js +0 -4
- package/build/components/form/input.d.ts +0 -9
- package/build/components/form/input.js +0 -10
- package/build/components/form/layout.d.ts +0 -12
- package/build/components/form/layout.js +0 -12
- package/build/components/form/types.d.ts +0 -11
- package/build/components/form/types.js +0 -1
- package/build/components/highlight/index.d.ts +0 -8
- package/build/components/highlight/index.js +0 -36
- package/build/components/index.d.ts +0 -19
- package/build/components/index.js +0 -19
- package/build/components/json/download.d.ts +0 -2
- package/build/components/json/download.js +0 -8
- package/build/components/json/index.d.ts +0 -4
- package/build/components/json/index.js +0 -2
- package/build/components/link/hover.d.ts +0 -10
- package/build/components/link/hover.js +0 -17
- package/build/components/link/index.d.ts +0 -12
- package/build/components/link/index.js +0 -2
- package/build/components/loader/index.d.ts +0 -5
- package/build/components/loader/index.js +0 -31
- package/build/components/loading/index.d.ts +0 -2
- package/build/components/loading/index.js +0 -6
- package/build/components/magnet/index.d.ts +0 -10
- package/build/components/magnet/index.js +0 -46
- package/build/components/number/index.d.ts +0 -8
- package/build/components/number/index.js +0 -16
- package/build/components/page/index.d.ts +0 -22
- package/build/components/page/index.js +0 -11
- package/build/components/root/index.d.ts +0 -9
- package/build/components/root/index.js +0 -3
- package/build/components/root/onclick.d.ts +0 -5
- package/build/components/root/onclick.js +0 -14
- package/build/components/scrollbar/index.d.ts +0 -13
- package/build/components/scrollbar/index.js +0 -36
- package/build/components/site/index.d.ts +0 -8
- package/build/components/site/index.js +0 -16
- package/build/components/tooltip/index.d.ts +0 -23
- package/build/components/tooltip/index.js +0 -63
- package/build/components/truncate/index.d.ts +0 -9
- package/build/components/truncate/index.js +0 -10
- package/build/components/typewriter/index.d.ts +0 -8
- package/build/components/typewriter/index.js +0 -41
- package/build/index.d.ts +0 -19
- package/build/index.js +0 -19
- package/components/styles.css +0 -30
- package/components/variables.css +0 -24
- package/fonts/montserrat.css +0 -1
- package/lib.scss +0 -2
- package/normalize.css +0 -1
- package/src/components/clipboard/scss/index.scss +0 -3
- package/src/components/form/layout.ts +0 -26
- package/src/css-utilities/index.scss +0 -14
- package/src/css-utilities/overflow/scss/index.scss +0 -5
- package/src/index.ts +0 -19
- package/storage/fonts/montserrat/Montserrat-Bold.woff +0 -0
- package/storage/fonts/montserrat/Montserrat-Bold.woff2 +0 -0
- package/storage/fonts/montserrat/Montserrat-BoldItalic.woff +0 -0
- package/storage/fonts/montserrat/Montserrat-BoldItalic.woff2 +0 -0
- package/storage/fonts/montserrat/Montserrat-Italic.woff +0 -0
- package/storage/fonts/montserrat/Montserrat-Italic.woff2 +0 -0
- package/storage/fonts/montserrat/Montserrat-Medium.woff +0 -0
- package/storage/fonts/montserrat/Montserrat-Medium.woff2 +0 -0
- package/storage/fonts/montserrat/Montserrat-MediumItalic.woff +0 -0
- package/storage/fonts/montserrat/Montserrat-MediumItalic.woff2 +0 -0
- package/storage/fonts/montserrat/Montserrat-Regular.woff +0 -0
- package/storage/fonts/montserrat/Montserrat-Regular.woff2 +0 -0
- package/storage/fonts/montserrat/Montserrat-SemiBold.woff +0 -0
- package/storage/fonts/montserrat/Montserrat-SemiBold.woff2 +0 -0
- package/storage/fonts/montserrat/Montserrat-SemiBoldItalic.woff +0 -0
- package/storage/fonts/montserrat/Montserrat-SemiBoldItalic.woff2 +0 -0
- package/storage/fonts/montserrat/index.css +0 -79
- package/tokens.scss +0 -2
- package/utilities/styles.css +0 -16
- package/utilities/variables.css +0 -9
- package/webpack.config.ts +0 -26
|
@@ -1,81 +1,80 @@
|
|
|
1
|
-
import response from '@esportsplus/action';
|
|
2
|
-
import { Action } from './types';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
bucket
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
let { errors } = await action({
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
};
|
|
1
|
+
import response from '@esportsplus/action';
|
|
2
|
+
import { Action } from './types';
|
|
3
|
+
import input from './input';
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
function parse(input: ReturnType<FormData['entries']>) {
|
|
7
|
+
let data: Record<string, any> = {};
|
|
8
|
+
|
|
9
|
+
for (let [path, value] of input) {
|
|
10
|
+
let bucket = data,
|
|
11
|
+
segments = path.indexOf('.') !== -1 ? path.split('.') : [path];
|
|
12
|
+
|
|
13
|
+
for (let i = 0; i < segments.length - 1; i++) {
|
|
14
|
+
bucket = bucket[ segments[i] ] = bucket[ segments[i] ] || {};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
let key = segments.at(-1)!;
|
|
18
|
+
|
|
19
|
+
if (path.endsWith('[]')) {
|
|
20
|
+
if (typeof value === 'string' && value.trim() === '') {
|
|
21
|
+
continue;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
bucket = bucket[ key.substring(0, key.length - 2) ] ??= [];
|
|
25
|
+
bucket.push(value);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
bucket[key] = value;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return data;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
export default function(action: Action, s?: { processing: boolean }) {
|
|
37
|
+
return {
|
|
38
|
+
onclick: function(this: HTMLFormElement, event: Event) {
|
|
39
|
+
let trigger = event.target as HTMLButtonElement;
|
|
40
|
+
|
|
41
|
+
if (trigger?.type !== 'submit') {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// On initial page load both events will be dispatched without preventDefault
|
|
46
|
+
event.preventDefault();
|
|
47
|
+
|
|
48
|
+
this.dispatchEvent(
|
|
49
|
+
new SubmitEvent('submit', { cancelable: true, bubbles:true, submitter: trigger })
|
|
50
|
+
);
|
|
51
|
+
},
|
|
52
|
+
onsubmit: async function(this: HTMLFormElement, event: SubmitEvent) {
|
|
53
|
+
event.preventDefault();
|
|
54
|
+
|
|
55
|
+
if (s) {
|
|
56
|
+
s.processing = true;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
let { errors } = await action({
|
|
60
|
+
input: parse( new FormData( this ).entries() ),
|
|
61
|
+
response
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
for (let i = 0, n = errors.length; i < n; i++) {
|
|
65
|
+
let { message, path } = errors[i],
|
|
66
|
+
reactive = input.get( this[path!] );
|
|
67
|
+
|
|
68
|
+
if (!reactive) {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
reactive.error = `${message[0].toUpperCase()}${message.substring(1)}`;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if (s) {
|
|
76
|
+
s.processing = false;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
};
|
|
81
80
|
};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import action from './action';
|
|
2
|
-
import input from './input';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export default { action, input, layout };
|
|
1
|
+
import action from './action';
|
|
2
|
+
import input from './input';
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
export default { action, input };
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
let
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
let key = Symbol();
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
const get = (element?: HTMLInputElement | HTMLSelectElement) => {
|
|
5
|
+
// @ts-ignore
|
|
6
|
+
return element ? element[key] : undefined;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
const onrender = (reactive: { error: string }) => {
|
|
10
|
+
return (element: HTMLInputElement | HTMLSelectElement) => {
|
|
11
|
+
// @ts-ignore
|
|
12
|
+
element[key] = reactive;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
export default { get, onrender };
|
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
import response, { Response } from '@esportsplus/action';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
import response, { Response } from '@esportsplus/action';
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
type Action = (data: Payload) => Promise<Errors> | Errors;
|
|
5
|
+
|
|
6
|
+
type Errors = { errors: Response<unknown>['errors'] };
|
|
7
|
+
|
|
8
|
+
type Payload = {
|
|
9
|
+
input: Record<string, any>;
|
|
10
|
+
response: typeof response;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
|
|
16
14
|
export type { Action, Errors, Payload };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './scss/index.scss';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
.frame {
|
|
2
|
-
display: none;
|
|
3
|
-
flex-wrap: wrap;
|
|
4
|
-
justify-content: flex-start;
|
|
5
|
-
position: relative;
|
|
6
|
-
width: 100%;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
&.--active {
|
|
10
|
-
display: flex;
|
|
11
|
-
}
|
|
1
|
+
.frame {
|
|
2
|
+
display: none;
|
|
3
|
+
flex-wrap: wrap;
|
|
4
|
+
justify-content: flex-start;
|
|
5
|
+
position: relative;
|
|
6
|
+
width: 100%;
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
&.--active {
|
|
10
|
+
display: flex;
|
|
11
|
+
}
|
|
12
12
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './scss/index.scss';
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
.
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
@use './variables.scss';
|
|
2
|
+
|
|
3
|
+
.grid {
|
|
4
|
+
display: grid;
|
|
5
|
+
grid-gap: var(--margin-horizontal) var(--margin-vertical);
|
|
6
|
+
grid-template-columns: repeat(auto-fit, minmax(var(--min-width), var(--max-width)));
|
|
7
|
+
position: relative;
|
|
8
|
+
|
|
9
|
+
.grid-item {
|
|
10
|
+
width: 100%;
|
|
11
|
+
}
|
|
10
12
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.grid {
|
|
2
|
-
--margin-horizontal: var(--size-400);
|
|
3
|
-
--margin-vertical: var(--size-400);
|
|
4
|
-
--max-width: 1fr;
|
|
5
|
-
--min-width: 200px;
|
|
1
|
+
.grid {
|
|
2
|
+
--margin-horizontal: var(--size-400);
|
|
3
|
+
--margin-vertical: var(--size-400);
|
|
4
|
+
--max-width: 1fr;
|
|
5
|
+
--min-width: 200px;
|
|
6
6
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './scss/index.scss';
|
|
@@ -1,36 +1,38 @@
|
|
|
1
|
-
.
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
1
|
+
@use './variables.scss';
|
|
2
|
+
|
|
3
|
+
.group {
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-wrap: wrap;
|
|
6
|
+
justify-content: flex-start;
|
|
7
|
+
margin: 0 calc(var(--margin-horizontal) / -2);
|
|
8
|
+
position: relative;
|
|
9
|
+
width: calc(100% + var(--margin-horizontal));
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
&--offset {
|
|
13
|
+
@each $direction in 'bottom' 'top' {
|
|
14
|
+
&-#{$direction} {
|
|
15
|
+
margin-#{$direction}: calc(var(--margin-vertical) * -1);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&--scroller {
|
|
21
|
+
flex-flow: row;
|
|
22
|
+
margin-bottom: calc(var(--scrollbar-width) * -1);
|
|
23
|
+
overflow-y: hidden;
|
|
24
|
+
padding-bottom: var(--scrollbar-width);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
&-item {
|
|
29
|
+
display: flex;
|
|
30
|
+
margin: var(--margin-vertical) calc(var(--margin-horizontal) / 2) 0;
|
|
31
|
+
position: relative;
|
|
32
|
+
width: var(--width);
|
|
33
|
+
|
|
34
|
+
&[class*='--width'] {
|
|
35
|
+
width: calc(var(--width) - var(--margin-horizontal));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
.group {
|
|
2
|
-
--margin-horizontal: var(--size-400);
|
|
3
|
-
--width: auto;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
&.--flex-column {
|
|
7
|
-
.group-item {
|
|
8
|
-
--width: 100%;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
&--scroller {
|
|
13
|
-
.group-item {
|
|
14
|
-
--margin-vertical: 0px;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}
|
|
1
|
+
.group {
|
|
2
|
+
--margin-horizontal: var(--size-400);
|
|
3
|
+
--width: auto;
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
&.--flex-column {
|
|
7
|
+
.group-item {
|
|
8
|
+
--width: 100%;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
&--scroller {
|
|
13
|
+
.group-item {
|
|
14
|
+
--margin-vertical: 0px;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -1,48 +1,52 @@
|
|
|
1
|
-
import { reactive } from '@esportsplus/reactivity'
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
observer
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
1
|
+
import { reactive } from '@esportsplus/reactivity'
|
|
2
|
+
import './scss/index.scss';
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
let key = Symbol(),
|
|
6
|
+
observer: IntersectionObserver | null = null;
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
export default (background: string) => {
|
|
10
|
+
if (observer === null) {
|
|
11
|
+
observer = new IntersectionObserver((entries) => {
|
|
12
|
+
let disconnected = 0,
|
|
13
|
+
n = entries.length;
|
|
14
|
+
|
|
15
|
+
for (let i = 0; i < n; i++) {
|
|
16
|
+
let { isIntersecting, target } = entries[i];
|
|
17
|
+
|
|
18
|
+
if (target.isConnected) {
|
|
19
|
+
// @ts-ignore
|
|
20
|
+
target[key].highlight = +isIntersecting;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
disconnected++;
|
|
24
|
+
observer!.unobserve(target);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (n - disconnected === 0) {
|
|
29
|
+
observer!.disconnect();
|
|
30
|
+
observer = null;
|
|
31
|
+
}
|
|
32
|
+
}, { threshold: 1 });
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
let state = reactive({
|
|
36
|
+
highlight: 0
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
return {
|
|
40
|
+
attributes: {
|
|
41
|
+
class: 'highlight',
|
|
42
|
+
onrender: function(element: HTMLElement & Record<PropertyKey, unknown>) {
|
|
43
|
+
element[key] = state;
|
|
44
|
+
observer!.observe(element);
|
|
45
|
+
},
|
|
46
|
+
style: [
|
|
47
|
+
() => `--highlight: ${state.highlight}`,
|
|
48
|
+
`--background: ${background}`,
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
};
|
|
48
52
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
.
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
@use './variables.scss';
|
|
2
|
+
|
|
3
|
+
.highlight {
|
|
4
|
+
background: linear-gradient(90deg, var(--background) 50%, transparent 50%) 110% 0 / 200% 100% no-repeat;
|
|
5
|
+
background-position: calc((1 - var(--highlight)) * 110%) 0;
|
|
6
|
+
transition: background-position 0.32s;
|
|
5
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.highlight {
|
|
2
|
-
--background: transparent;
|
|
3
|
-
--highlight: 1;
|
|
1
|
+
.highlight {
|
|
2
|
+
--background: transparent;
|
|
3
|
+
--highlight: 1;
|
|
4
4
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './scss/index.scss';
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
.
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
@use './variables.scss';
|
|
2
|
+
|
|
3
|
+
.icon {
|
|
4
|
+
color: var(--color);
|
|
5
|
+
display: flex;
|
|
6
|
+
flex: 0 0 var(--width);
|
|
7
|
+
height: var(--height);
|
|
8
|
+
position: relative;
|
|
9
|
+
width: var(--width);
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
svg {
|
|
13
|
+
color: currentColor;
|
|
14
|
+
fill: currentColor;
|
|
15
|
+
height: 100%;
|
|
16
|
+
width: 100%;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
.icon {
|
|
2
|
-
--color: inherit;
|
|
3
|
-
--height: var(--size);
|
|
4
|
-
--margin-horizontal: var(--size-300);
|
|
5
|
-
--size: var(--size-400);
|
|
6
|
-
--width: var(--size);
|
|
7
|
-
}
|
|
1
|
+
.icon {
|
|
2
|
+
--color: inherit;
|
|
3
|
+
--height: var(--size);
|
|
4
|
+
--margin-horizontal: var(--size-300);
|
|
5
|
+
--size: var(--size-400);
|
|
6
|
+
--width: var(--size);
|
|
7
|
+
}
|