@esportsplus/ui 0.9.2 → 0.9.3

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.
Files changed (128) hide show
  1. package/package.json +1 -1
  2. package/dist/components/accordion/index.js +0 -26
  3. package/dist/components/accordion/scss/index.scss +0 -2
  4. package/dist/components/anchor/index.js +0 -1
  5. package/dist/components/anchor/scss/index.scss +0 -2
  6. package/dist/components/banner/index.js +0 -1
  7. package/dist/components/banner/scss/index.scss +0 -2
  8. package/dist/components/border/index.js +0 -1
  9. package/dist/components/border/scss/index.scss +0 -2
  10. package/dist/components/bubble/index.js +0 -1
  11. package/dist/components/bubble/scss/index.scss +0 -2
  12. package/dist/components/button/index.js +0 -1
  13. package/dist/components/button/scss/index.scss +0 -2
  14. package/dist/components/card/index.js +0 -1
  15. package/dist/components/card/scss/index.scss +0 -2
  16. package/dist/components/clipboard/index.js +0 -2
  17. package/dist/components/clipboard/write.js +0 -9
  18. package/dist/components/container/index.js +0 -1
  19. package/dist/components/container/scss/index.scss +0 -2
  20. package/dist/components/counter/index.js +0 -78
  21. package/dist/components/counter/scss/index.scss +0 -2
  22. package/dist/components/ellipsis/index.js +0 -9
  23. package/dist/components/ellipsis/scss/index.scss +0 -2
  24. package/dist/components/field/checkbox.js +0 -52
  25. package/dist/components/field/description.js +0 -11
  26. package/dist/components/field/error.js +0 -13
  27. package/dist/components/field/file.js +0 -51
  28. package/dist/components/field/index.js +0 -9
  29. package/dist/components/field/optional.js +0 -16
  30. package/dist/components/field/scss/index.scss +0 -2
  31. package/dist/components/field/select.js +0 -135
  32. package/dist/components/field/switch.js +0 -6
  33. package/dist/components/field/text.js +0 -64
  34. package/dist/components/field/textarea.js +0 -5
  35. package/dist/components/field/title.js +0 -21
  36. package/dist/components/footer/index.js +0 -60
  37. package/dist/components/footer/scss/index.scss +0 -2
  38. package/dist/components/form/action.js +0 -57
  39. package/dist/components/form/index.js +0 -3
  40. package/dist/components/form/input.js +0 -10
  41. package/dist/components/form/types.js +0 -1
  42. package/dist/components/frame/index.js +0 -1
  43. package/dist/components/frame/scss/index.scss +0 -2
  44. package/dist/components/grid/index.js +0 -1
  45. package/dist/components/grid/scss/index.scss +0 -2
  46. package/dist/components/group/index.js +0 -1
  47. package/dist/components/group/scss/index.scss +0 -2
  48. package/dist/components/highlight/index.js +0 -40
  49. package/dist/components/highlight/scss/index.scss +0 -2
  50. package/dist/components/icon/index.js +0 -1
  51. package/dist/components/icon/scss/index.scss +0 -2
  52. package/dist/components/index.js +0 -38
  53. package/dist/components/json/download.js +0 -8
  54. package/dist/components/json/index.js +0 -2
  55. package/dist/components/link/hover.js +0 -17
  56. package/dist/components/link/index.js +0 -3
  57. package/dist/components/link/scss/index.scss +0 -2
  58. package/dist/components/loader/index.js +0 -39
  59. package/dist/components/loader/scss/index.scss +0 -2
  60. package/dist/components/loading/index.js +0 -12
  61. package/dist/components/loading/scss/index.scss +0 -2
  62. package/dist/components/magnet/index.js +0 -47
  63. package/dist/components/magnet/scss/index.scss +0 -2
  64. package/dist/components/modal/index.js +0 -1
  65. package/dist/components/modal/scss/index.scss +0 -2
  66. package/dist/components/normalize/index.js +0 -1
  67. package/dist/components/normalize/scss/index.scss +0 -3
  68. package/dist/components/number/index.js +0 -2
  69. package/dist/components/page/index.js +0 -11
  70. package/dist/components/page/scss/index.scss +0 -2
  71. package/dist/components/root/index.js +0 -3
  72. package/dist/components/root/onclick.js +0 -14
  73. package/dist/components/root/scss/index.scss +0 -2
  74. package/dist/components/row/index.js +0 -1
  75. package/dist/components/row/scss/index.scss +0 -2
  76. package/dist/components/scrollbar/index.js +0 -42
  77. package/dist/components/scrollbar/scss/index.scss +0 -2
  78. package/dist/components/sidebar/index.js +0 -1
  79. package/dist/components/sidebar/scss/index.scss +0 -2
  80. package/dist/components/site/index.js +0 -17
  81. package/dist/components/site/scss/index.scss +0 -2
  82. package/dist/components/text/index.js +0 -1
  83. package/dist/components/text/scss/index.scss +0 -2
  84. package/dist/components/thumbnail/index.js +0 -1
  85. package/dist/components/thumbnail/scss/index.scss +0 -2
  86. package/dist/components/tooltip/index.js +0 -64
  87. package/dist/components/tooltip/scss/index.scss +0 -2
  88. package/dist/components/truncate/index.js +0 -2
  89. package/dist/components/typewriter/index.js +0 -42
  90. package/dist/components/typewriter/scss/index.scss +0 -2
  91. package/dist/css-utilities/[margin,padding]/scss/index.scss +0 -2
  92. package/dist/css-utilities/absolute/scss/index.scss +0 -2
  93. package/dist/css-utilities/background/scss/index.scss +0 -2
  94. package/dist/css-utilities/border/scss/index.scss +0 -2
  95. package/dist/css-utilities/color/scss/index.scss +0 -2
  96. package/dist/css-utilities/disabled/scss/index.scss +0 -2
  97. package/dist/css-utilities/flex/scss/index.scss +0 -2
  98. package/dist/css-utilities/glass/scss/index.scss +0 -2
  99. package/dist/css-utilities/hidden/scss/index.scss +0 -2
  100. package/dist/css-utilities/index.js +0 -18
  101. package/dist/css-utilities/inline/scss/index.scss +0 -2
  102. package/dist/css-utilities/line-height/scss/index.scss +0 -2
  103. package/dist/css-utilities/not-allowed/scss/index.scss +0 -2
  104. package/dist/css-utilities/pointer/scss/index.scss +0 -2
  105. package/dist/css-utilities/size/scss/index.scss +0 -2
  106. package/dist/css-utilities/squircle/scss/index.scss +0 -2
  107. package/dist/css-utilities/text/scss/index.scss +0 -2
  108. package/dist/css-utilities/viewport/scss/index.scss +0 -2
  109. package/dist/css-utilities/width/scss/index.scss +0 -2
  110. package/dist/fonts/index.js +0 -1
  111. package/dist/fonts/montserrat/index.js +0 -1
  112. package/dist/fonts/montserrat/scss/Montserrat-Bold.woff +0 -0
  113. package/dist/fonts/montserrat/scss/Montserrat-Bold.woff2 +0 -0
  114. package/dist/fonts/montserrat/scss/Montserrat-BoldItalic.woff +0 -0
  115. package/dist/fonts/montserrat/scss/Montserrat-BoldItalic.woff2 +0 -0
  116. package/dist/fonts/montserrat/scss/Montserrat-Italic.woff +0 -0
  117. package/dist/fonts/montserrat/scss/Montserrat-Italic.woff2 +0 -0
  118. package/dist/fonts/montserrat/scss/Montserrat-Medium.woff +0 -0
  119. package/dist/fonts/montserrat/scss/Montserrat-Medium.woff2 +0 -0
  120. package/dist/fonts/montserrat/scss/Montserrat-MediumItalic.woff +0 -0
  121. package/dist/fonts/montserrat/scss/Montserrat-MediumItalic.woff2 +0 -0
  122. package/dist/fonts/montserrat/scss/Montserrat-Regular.woff +0 -0
  123. package/dist/fonts/montserrat/scss/Montserrat-Regular.woff2 +0 -0
  124. package/dist/fonts/montserrat/scss/Montserrat-SemiBold.woff +0 -0
  125. package/dist/fonts/montserrat/scss/Montserrat-SemiBold.woff2 +0 -0
  126. package/dist/fonts/montserrat/scss/Montserrat-SemiBoldItalic.woff +0 -0
  127. package/dist/fonts/montserrat/scss/Montserrat-SemiBoldItalic.woff2 +0 -0
  128. package/dist/fonts/montserrat/scss/index.scss +0 -2
@@ -1,21 +0,0 @@
1
- import { html } from '@esportsplus/template';
2
- import tooltip from '../../components/tooltip/index.js';
3
- export default (data) => {
4
- if (!data?.title) {
5
- return '';
6
- }
7
- return html `
8
- <div class='field-title --flex-horizontal-space-between --flex-vertical'>
9
- ${data.title}
10
-
11
- ${data?.required && html `
12
- <div
13
- class='bubble --background-primary --margin-left'
14
- ${tooltip.onhover().attributes}
15
- >
16
- <span class='tooltip-message tooltip-message--w'>Required</span>
17
- </div>
18
- `}
19
- </div>
20
- `;
21
- };
@@ -1,60 +0,0 @@
1
- import { html, svg } from '@esportsplus/template';
2
- import './scss/index.scss';
3
- function copy({ attributes, brand }) {
4
- return html `
5
- <div class='footer-copyright group-item --flex-center'>
6
- <div
7
- class='text --padding-vertical --padding-300 --text-300'
8
- style='--color-default: var(--color-grey-500);'
9
- ${attributes}
10
- >
11
- &copy; ${`${new Date().getFullYear()} ${brand}, All rights reserved`}
12
- </div>
13
- </div>
14
- `;
15
- }
16
- export default ({ copyright, footer, nav, social }) => {
17
- return html `
18
- <footer class='footer' ${footer?.attributes}>
19
- <div class='container'>
20
- <div class='group group--offset-top --flex-center --margin-400'>
21
-
22
- ${nav
23
- ? nav.links.map(({ text, url }) => html `
24
- <div class='group-item'>
25
- <a
26
- class='link --color-white --padding-vertical-300 --text-300'
27
- href='${url}'
28
- style='--color-default: var(--color-grey-500);'
29
- ${nav.attributes}
30
- >
31
- ${text}
32
- </a>
33
- </div>
34
- `)
35
- : copy(copyright)}
36
-
37
- <div class='footer-break'></div>
38
-
39
- ${social?.links && social.links.map(({ icon, url }) => html `
40
- <div class='group-item'>
41
- <a
42
- class='link --color-white --padding-0px'
43
- href='${url}'
44
- style='--color-default: var(--color-grey-500);'
45
- ${social.attributes}
46
- >
47
- <div class='icon --size-500'>
48
- ${svg.sprite(icon)}
49
- </div>
50
- </a>
51
- </div>
52
- `)}
53
-
54
- ${nav && copy(copyright)}
55
-
56
- </div>
57
- </div>
58
- </footer>
59
- `;
60
- };
@@ -1,2 +0,0 @@
1
- .footer,.footer-break{width:100%}@media (max-width:640px){.footer-copyright:first-child{--width:100%}}@media (min-width:640px){.footer-copyright:first-child{margin-right:auto}}.footer-copyright:first-child+.footer-break{display:none}.footer-copyright:last-child{--width:100%}
2
- /*$vite$:1*/
@@ -1,57 +0,0 @@
1
- import response from '@esportsplus/action';
2
- import input from './input.js';
3
- function parse(input) {
4
- let data = {};
5
- for (let [path, value] of input) {
6
- let bucket = data, segments = path.indexOf('.') !== -1 ? path.split('.') : [path];
7
- for (let i = 0; i < segments.length - 1; i++) {
8
- bucket = bucket[segments[i]] = bucket[segments[i]] || {};
9
- }
10
- let key = segments.at(-1);
11
- if (path.endsWith('[]')) {
12
- if (typeof value === 'string' && value.trim() === '') {
13
- continue;
14
- }
15
- bucket = bucket[key.substring(0, key.length - 2)] ??= [];
16
- bucket.push(value);
17
- }
18
- else {
19
- bucket[key] = value;
20
- }
21
- }
22
- return data;
23
- }
24
- ;
25
- export default function (action, s) {
26
- return {
27
- onclick: function (event) {
28
- let trigger = event.target;
29
- if (trigger?.type !== 'submit') {
30
- return;
31
- }
32
- event.preventDefault();
33
- this.dispatchEvent(new SubmitEvent('submit', { cancelable: true, bubbles: true, submitter: trigger }));
34
- },
35
- onsubmit: async function (event) {
36
- event.preventDefault();
37
- if (s) {
38
- s.processing = true;
39
- }
40
- let { errors } = await action({
41
- input: parse(new FormData(this).entries()),
42
- response
43
- });
44
- for (let i = 0, n = errors.length; i < n; i++) {
45
- let { message, path } = errors[i], reactive = input.get(this[path]);
46
- if (!reactive) {
47
- continue;
48
- }
49
- reactive.error = `${message[0].toUpperCase()}${message.substring(1)}`;
50
- }
51
- if (s) {
52
- s.processing = false;
53
- }
54
- }
55
- };
56
- }
57
- ;
@@ -1,3 +0,0 @@
1
- import action from './action.js';
2
- import input from './input.js';
3
- export default { action, input };
@@ -1,10 +0,0 @@
1
- let key = Symbol();
2
- const get = (element) => {
3
- return element ? element[key] : undefined;
4
- };
5
- const onrender = (reactive) => {
6
- return (element) => {
7
- element[key] = reactive;
8
- };
9
- };
10
- export default { get, onrender };
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- import './scss/index.scss';
@@ -1,2 +0,0 @@
1
- .frame{flex-wrap:wrap;justify-content:flex-start;width:100%;display:none;position:relative}.frame.--active{display:flex}
2
- /*$vite$:1*/
@@ -1 +0,0 @@
1
- import './scss/index.scss';
@@ -1,2 +0,0 @@
1
- .grid{--margin-horizontal:var(--size-400);--margin-vertical:var(--size-400);--max-width:1fr;--min-width:200px;grid-gap:var(--margin-horizontal)var(--margin-vertical);grid-template-columns:repeat(auto-fit,minmax(var(--min-width),var(--max-width)));display:grid;position:relative}.grid .grid-item{width:100%}
2
- /*$vite$:1*/
@@ -1 +0,0 @@
1
- import './scss/index.scss';
@@ -1,2 +0,0 @@
1
- .group{--margin-horizontal:var(--size-400);--width:auto}.group.--flex-column .group-item{--width:100%}.group--scroller .group-item{--margin-vertical:0px}.group{margin:0 calc(var(--margin-horizontal)/-2);width:calc(100% + var(--margin-horizontal));flex-wrap:wrap;justify-content:flex-start;display:flex;position:relative}.group--offset-bottom{margin-bottom:calc(var(--margin-vertical)*-1)}.group--offset-top{margin-top:calc(var(--margin-vertical)*-1)}.group--scroller{margin-bottom:calc(var(--scrollbar-width)*-1);padding-bottom:var(--scrollbar-width);flex-flow:row;overflow-y:hidden}.group-item{margin:var(--margin-vertical)calc(var(--margin-horizontal)/2)0;width:var(--width);display:flex;position:relative}.group-item[class*=--width]{width:calc(var(--width) - var(--margin-horizontal))}
2
- /*$vite$:1*/
@@ -1,40 +0,0 @@
1
- import { reactive } from '@esportsplus/reactivity';
2
- import './scss/index.scss';
3
- let key = Symbol(), observer = null;
4
- export default (background) => {
5
- if (observer === null) {
6
- observer = new IntersectionObserver((entries) => {
7
- let disconnected = 0, n = entries.length;
8
- for (let i = 0; i < n; i++) {
9
- let { isIntersecting, target } = entries[i];
10
- if (target.isConnected) {
11
- target[key].highlight = +isIntersecting;
12
- }
13
- else {
14
- disconnected++;
15
- observer.unobserve(target);
16
- }
17
- }
18
- if (n - disconnected === 0) {
19
- observer.disconnect();
20
- observer = null;
21
- }
22
- }, { threshold: 1 });
23
- }
24
- let state = reactive({
25
- highlight: 0
26
- });
27
- return {
28
- attributes: {
29
- class: 'highlight',
30
- onrender: function (element) {
31
- element[key] = state;
32
- observer.observe(element);
33
- },
34
- style: [
35
- () => `--highlight: ${state.highlight}`,
36
- `--background: ${background}`,
37
- ]
38
- }
39
- };
40
- };
@@ -1,2 +0,0 @@
1
- .highlight{--background:transparent;--highlight:1;background:linear-gradient(90deg,var(--background)50%,transparent 50%)110% 0/200% 100% no-repeat;background-position:calc((1 - var(--highlight))*110%)0;transition:background-position .32s}
2
- /*$vite$:1*/
@@ -1 +0,0 @@
1
- import './scss/index.scss';
@@ -1,2 +0,0 @@
1
- .icon{--color:inherit;--height:var(--size);--margin-horizontal:var(--size-300);--size:var(--size-400);--width:var(--size);color:var(--color);flex:0 0 var(--width);height:var(--height);width:var(--width);display:flex;position:relative}.icon svg{color:currentColor;fill:currentColor;width:100%;height:100%}
2
- /*$vite$:1*/
@@ -1,38 +0,0 @@
1
- export * as accordion from './accordion/index.js';
2
- export * as anchor from './anchor/index.js';
3
- export * as banner from './banner/index.js';
4
- export * as border from './border/index.js';
5
- export * as bubble from './bubble/index.js';
6
- export * as button from './button/index.js';
7
- export * as card from './card/index.js';
8
- export * as clipboard from './clipboard/index.js';
9
- export * as container from './container/index.js';
10
- export * as counter from './counter/index.js';
11
- export * as ellipsis from './ellipsis/index.js';
12
- export * as field from './field/index.js';
13
- export * as footer from './footer/index.js';
14
- export * as form from './form/index.js';
15
- export * as frame from './frame/index.js';
16
- export * as grid from './grid/index.js';
17
- export * as group from './group/index.js';
18
- export * as highlight from './highlight/index.js';
19
- export * as icon from './icon/index.js';
20
- export * as json from './json/index.js';
21
- export * as link from './link/index.js';
22
- export * as loader from './loader/index.js';
23
- export * as loading from './loading/index.js';
24
- export * as magnet from './magnet/index.js';
25
- export * as modal from './modal/index.js';
26
- export * as normalize from './normalize/index.js';
27
- export * as number from './number/index.js';
28
- export * as page from './page/index.js';
29
- export * as root from './root/index.js';
30
- export * as row from './row/index.js';
31
- export * as scrollbar from './scrollbar/index.js';
32
- export * as sidebar from './sidebar/index.js';
33
- export * as site from './site/index.js';
34
- export * as text from './text/index.js';
35
- export * as thumbnail from './thumbnail/index.js';
36
- export * as tooltip from './tooltip/index.js';
37
- export * as truncate from './truncate/index.js';
38
- export * as typewriter from './typewriter/index.js';
@@ -1,8 +0,0 @@
1
- export default (content, name) => {
2
- let link = document.createElement('a');
3
- link.download = name + '.json';
4
- link.href = window.URL.createObjectURL(new Blob([JSON.stringify(content)], { type: 'application/json' }));
5
- document.body.appendChild(link);
6
- link.click();
7
- document.body.removeChild(link);
8
- };
@@ -1,2 +0,0 @@
1
- import download from './download.js';
2
- export default { download };
@@ -1,17 +0,0 @@
1
- import { html } from '@esportsplus/template';
2
- export default ({ attributes, content }) => {
3
- return {
4
- attributes: {
5
- class: 'link--hover'
6
- },
7
- html: html `
8
- <span class='link-hover link-hover--one' ${attributes}>
9
- ${content}
10
- </span>
11
-
12
- <span class='link-hover link-hover--two' ${attributes}>
13
- ${content}
14
- </span>
15
- `
16
- };
17
- };
@@ -1,3 +0,0 @@
1
- import hover from './hover.js';
2
- import './scss/index.scss';
3
- export default { hover };
@@ -1,2 +0,0 @@
1
- .link{--background:var(--background-default);--background-active:var(--background-default);--background-default:transparent;--background-hover:var(--background-default);--background-pressed:var(--background-default);--border-color:var(--border-color-default);--border-color-active:var(--border-color-default);--border-color-default:var(--background);--border-color-hover:var(--border-color-default);--border-color-pressed:var(--border-color-default);--border-radius:var(--border-radius-400);--border-width:0px;--color:var(--color-default);--color-active:var(--color-default);--color-default:var(--color-text-400);--color-hover:var(--color-default);--color-pressed:var(--color-default);--font-size:var(--font-size-400);--font-weight:var(--font-weight-500);--line-height:var(--line-height-400);--padding-horizontal:0px;--padding-vertical:var(--size-400);--width:auto}.link.--active{--background:var(--background-active);--border-color:var(--border-color-active);--color:var(--color-active)}.link:not(.--active):hover{--background:var(--background-hover);--border-color:var(--border-color-hover);--color:var(--color-hover)}.link:not(.--active):active{--background:var(--background-pressed);--border-color:var(--border-color-pressed);--color:var(--color-pressed)}.link{background:var(--background);color:var(--color);cursor:pointer;font-size:var(--font-size);line-height:var(--line-height);padding:calc(var(--padding-vertical) - var(--border-width))calc(var(--padding-horizontal) - var(--border-width));transition:background var(--transition-duration)ease-in-out,border-color var(--transition-duration)ease-in-out,color var(--transition-duration)ease-in-out,opacity var(--transition-duration)ease-in-out;width:var(--width);flex-wrap:wrap;place-content:center flex-start;display:flex;position:relative}.link--hover.tooltip:hover .link-hover--one,.link--hover:not(.--active):hover .link-hover--one{opacity:0;transform:translateY(-75%)}.link--hover.tooltip:hover .link-hover--two,.link--hover:not(.--active):hover .link-hover--two{opacity:1;transform:translate(50%,50%)}.link--underline.--active,.link--underline:not(.--active):hover{text-decoration:underline}.link-hover{transition:opacity .3s ease-in-out,all .3s cubic-bezier(.23,.65,.74,1.09)}.link-hover--one{transform:translateY(0)}.link-hover--two{opacity:0;padding:0 var(--padding-horizontal);white-space:nowrap;position:absolute;bottom:50%;right:50%;transform:translate(50%,125%)}
2
- /*$vite$:1*/
@@ -1,39 +0,0 @@
1
- import { html } from '@esportsplus/template';
2
- import { reactive } from '@esportsplus/reactivity';
3
- import './scss/index.scss';
4
- export default ({ attributes, content }) => {
5
- let state = reactive({
6
- load: false,
7
- scale: false
8
- });
9
- setTimeout(() => {
10
- state.scale = true;
11
- }, 300);
12
- return html `
13
- <div class='loader ${() => state.load && 'loader--load'}'>
14
- <div class='loader ${() => state.load && 'loader--load'}'>
15
- <div class='loader-content'>
16
- <div
17
- class='
18
- ${() => state.scale && 'loader-logo--scale'}
19
- loader-logo
20
- text
21
- --flex-center
22
- --text-uppercase
23
- --text-600
24
- '
25
- style='color: var(--color-grey-500);'
26
- onanimationend='${({ animationName: name }) => {
27
- if (name === 'scale') {
28
- state.load = true;
29
- }
30
- }}'
31
- ${attributes}
32
- >
33
- ${content}
34
- </div>
35
- </div>
36
- </div>
37
- </div>
38
- `;
39
- };
@@ -1,2 +0,0 @@
1
- .loader-logo{--size:10svh;--translateY:8px}.loader{background-color:var(--color-black-500);opacity:1;pointer-events:none;visibility:visible;z-index:9999;transition:all .3s ease-in-out;position:fixed;inset:0}.loader--load{animation:.6s ease-in-out .2s both move}.loader--load .loader--load{animation:.6s ease-in-out both move}@keyframes move{0%{transform:translateY(0)}80%{transform:translateY(-102%)}to{transform:translateY(-102%)}}.loader .loader{background-color:var(--color-black-400)}.loader-content{position:absolute;inset:50% auto auto 50%;transform:translate(-50%)translateY(-50%)}.loader-logo{color:#fff}.loader-logo--scale{animation:.32s both scale}@keyframes scale{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale3d(1.8,1.8,1.8)}}
2
- /*$vite$:1*/
@@ -1,12 +0,0 @@
1
- import { html } from '@esportsplus/template';
2
- import './scss/index.scss';
3
- export default (attributes) => {
4
- return html `
5
- <div
6
- class='loading --border-width-700 --size-800'
7
- style='--border-color: var(--color-border-500);'
8
- ${attributes}
9
- >
10
- </div>
11
- `;
12
- };
@@ -1,2 +0,0 @@
1
- .loading{--animation-duration:.64s;--border-color:var(--color);--border-width:var(--border-width-400);--size:var(--size-400);animation:loading var(--animation-duration)linear infinite;border:var(--border-width)solid color-mix(in srgb,var(--border-color),transparent 90%);border-left-color:var(--border-color);height:var(--size);width:var(--size);border-radius:100%}@keyframes loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
2
- /*$vite$:1*/
@@ -1,47 +0,0 @@
1
- import { reactive } from '@esportsplus/reactivity';
2
- import { html } from '@esportsplus/template';
3
- import './scss/index.scss';
4
- export default ({ attributes, hide }) => {
5
- let active = false, events = {
6
- onmouseover: function () {
7
- let { offsetHeight, offsetLeft, offsetTop, offsetWidth } = this;
8
- active = true;
9
- state.height = offsetHeight;
10
- state.left = offsetLeft;
11
- state.opacity = 1;
12
- state.top = offsetTop;
13
- state.width = offsetWidth;
14
- }
15
- }, state = reactive({
16
- height: null,
17
- hide: true,
18
- left: 0,
19
- opacity: 0,
20
- top: 0,
21
- width: 0
22
- });
23
- if (hide === true) {
24
- events.onmouseout = () => {
25
- active = false;
26
- setTimeout(() => {
27
- if (active === true) {
28
- return;
29
- }
30
- state.opacity = 0;
31
- }, 50);
32
- };
33
- }
34
- return {
35
- html: html `
36
- <div class='magnet' style='${() => `
37
- height: ${state.height ? `${state.height}px` : '100%'};
38
- opacity: ${state.opacity};
39
- transform: translate(${state.left}px, ${state.top}px);
40
- width: ${state.width}px;
41
- `}' ${attributes}></div>
42
- `,
43
- sibling: {
44
- attributes: events
45
- }
46
- };
47
- };
@@ -1,2 +0,0 @@
1
- .magnet{--background:transparent;--border-radius:var(--border-radius-400);--timing-function:var(--timing-circ);background:var(--background);border-radius:var(--border-radius);opacity:0;height:0;transition:height var(--transition-duration)var(--timing-function),opacity var(--transition-duration)var(--timing-function),transform var(--transition-duration)var(--timing-function),width var(--transition-duration)var(--timing-function);z-index:-1;width:0;position:absolute;top:0;left:0}
2
- /*$vite$:1*/
@@ -1 +0,0 @@
1
- import './scss/index.scss';
@@ -1,2 +0,0 @@
1
- .modal{--margin-horizontal:0px;--margin-vertical:0px;--max-height:calc(100svh - (var(--margin-vertical)*2));--max-width:320px;max-height:var(--max-height);transition:opacity var(--transition-duration)ease-in-out,transform var(--transition-duration)ease-in-out;transform-origin:50%;width:min(var(--max-width),100svw - var(--margin-horizontal)*2);z-index:2;position:fixed;bottom:50%;right:50%;overflow:hidden;transform:translate(50%,50%)}.modal:not(.--active){opacity:0;pointer-events:none;transform:translate(50%,50%)scale(.8)}.modal:not(.--active) input[type=password]{display:none}.modal-frame{transition:opacity var(--transition-duration)ease-in-out,transform var(--transition-duration)ease-in-out;transform-origin:50%}.modal-frame:not(.--active){display:none}
2
- /*$vite$:1*/
@@ -1 +0,0 @@
1
- import './scss/index.scss';
@@ -1,3 +0,0 @@
1
- /*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */
2
- *,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;tab-size:4;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;line-height:1.15}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentColor}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}
3
- /*$vite$:1*/
@@ -1,2 +0,0 @@
1
- import { number } from '@esportsplus/utilities';
2
- export default number;
@@ -1,11 +0,0 @@
1
- import './scss/index.scss';
2
- const subtitle = {
3
- class: 'page-subtitle --margin-200 --text-crop-bottom'
4
- };
5
- const suptitle = {
6
- class: 'page-suptitle --text-bold-600 --text-crop --text-uppercase --text-300'
7
- };
8
- const title = {
9
- class: 'page-title --line-height-200 --margin-400 --text-crop'
10
- };
11
- export default { subtitle, suptitle, title };
@@ -1,2 +0,0 @@
1
- .page-subtitle,.page-suptitle{--color:var(--color-default);--color-default:var(--color-text-400);--font-size:var(--font-size-400);--line-height:var(--line-height-400)}.page-title{--color:var(--color-default);--color-default:var(--color-text-500);--line-height:var(--line-height-400)}.page{width:100vw;min-height:100svh;position:relative}.page-subtitle,.page-suptitle,.page-title{color:var(--color);line-height:var(--line-height);z-index:1;width:100%;display:block;position:relative}.page-subtitle,.page-suptitle{font-size:var(--font-size)}.page-suptitle+.page-title,.page-title+.page-subtitle{margin-top:var(--margin-vertical)}.page-title{text-wrap:balance}
2
- /*$vite$:1*/
@@ -1,3 +0,0 @@
1
- import onclick from './onclick.js';
2
- export default { onclick };
3
- export { onclick };
@@ -1,14 +0,0 @@
1
- let queue = [];
2
- const onclick = async () => {
3
- if (queue.length === 0) {
4
- return;
5
- }
6
- let item;
7
- while (item = queue.pop()) {
8
- await item();
9
- }
10
- };
11
- onclick.push = (fn) => {
12
- queue.push(fn);
13
- };
14
- export default onclick;
@@ -1,2 +0,0 @@
1
- body,html{width:100%;height:100%;overflow-x:hidden}body{background-color:var(--background);color:var(--color);font-family:var(--font-family);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height);min-width:var(--min-width);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:after,:before{box-sizing:border-box;transition:inherit}section{width:var(--width);flex-wrap:wrap;place-content:flex-start;display:flex;position:relative}h1,h2,h3,h4,h5{color:var(--color);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height);text-wrap:balance;word-wrap:break-word;width:100%;margin:0;padding:0;position:relative}h1 sub,h1 sup,h2 sub,h2 sup,h3 sub,h3 sup,h4 sub,h4 sup,h5 sub,h5 sup{font-size:.64em}a{color:var(--color,inherit);cursor:pointer;outline:none;text-decoration:none}b,strong{color:var(--color,inherit);font-weight:var(--font-weight)}p{word-wrap:break-word;width:100%;margin:0;padding:0}pre{overflow-wrap:break-word;white-space:break-spaces;width:100%;margin:0;padding:0}sub,sup{font-size:.8em}sub{bottom:-.48em}sup{top:-.48em}
2
- /*$vite$:1*/
@@ -1 +0,0 @@
1
- import './scss/index.scss';
@@ -1,2 +0,0 @@
1
- .row{flex-wrap:wrap;justify-content:flex-start;width:100%;display:flex;position:relative}
2
- /*$vite$:1*/
@@ -1,42 +0,0 @@
1
- import { reactive } from '@esportsplus/reactivity';
2
- import { html } from '@esportsplus/template';
3
- import './scss/index.scss';
4
- let root = document.body, width;
5
- export default ({ attributes, fixed } = {}) => {
6
- let state = reactive({
7
- height: 100,
8
- translate: 0
9
- });
10
- return {
11
- html: html `
12
- <div
13
- class='
14
- ${fixed && 'scrollbar--fixed'}
15
- ${() => state.height >= 100 && 'scrollbar--hidden'}
16
- scrollbar
17
- '
18
- style='${() => `
19
- --translate: translate3d(0, ${state.translate}%, 0);
20
- --height: ${state.height}%;
21
- `}'
22
- ${attributes}
23
- >
24
- </div>
25
- `,
26
- parent: {
27
- attributes: {
28
- class: 'scrollbar-content',
29
- onscroll: function () {
30
- if (width === undefined) {
31
- width = this.offsetWidth - this.clientWidth;
32
- if (width && width !== 17) {
33
- root.style.setProperty('--scrollbar-width', `${width}px`);
34
- }
35
- }
36
- state.height = (this.clientHeight / this.scrollHeight) * 100;
37
- state.translate = (this.scrollTop / this.clientHeight) * 100;
38
- }
39
- }
40
- }
41
- };
42
- };
@@ -1,2 +0,0 @@
1
- .scrollbar{--background-default:transparent;--height:0;--translate:translate3d(0,0,0);--width:4px}::-webkit-scrollbar{box-shadow:unset;background:0 0}::-webkit-scrollbar-track{box-shadow:unset;background:0 0}::-webkit-scrollbar-thumb{box-shadow:unset;background:0 0}::-webkit-scrollbar-thumb:window-inactive{box-shadow:unset;background:0 0}.scrollbar{z-index:9;height:100%}.scrollbar,.scrollbar:before{transition:opacity var(--transition-duration)ease-in-out;width:var(--width);position:absolute;top:0;right:0}.scrollbar:before{background:var(--background-default);content:"";height:var(--height);transform:var(--translate);transform-origin:top;border-radius:1px 0 0 1px}.scrollbar--fixed{position:fixed}.scrollbar--hidden{opacity:0}.scrollbar-container{flex-flow:column;display:flex;position:relative;overflow:hidden}.scrollbar-content{height:100%;margin-right:calc(var(--scrollbar-width)*-1);scrollbar-gutter:stable;scroll-behavior:smooth;width:calc(100% + var(--scrollbar-width));overflow:hidden scroll}.scrollbar-content--snap{scroll-snap-type:both mandatory;overscroll-behavior-x:contain;overflow:auto}.scrollbar-content--snap>*{scroll-snap-stop:normal;scroll-snap-align:center}
2
- /*$vite$:1*/
@@ -1 +0,0 @@
1
- import './scss/index.scss';
@@ -1,2 +0,0 @@
1
- .sidebar{--margin-horizontal:0px;--margin-vertical:0px;--width:var(--width-default);--width-closed:var(--width-default);--width-default:320px}.sidebar:not(.--active):not(:hover){--width:var(--width-closed)}.sidebar--floating{--margin-horizontal:var(--size-100);--margin-vertical:var(--size-100)}.sidebar{top:var(--margin-vertical);bottom:var(--margin-vertical);cursor:default;height:calc(100% - var(--margin-vertical)*2);transition:max-width var(--transition-duration)ease-in-out,opacity var(--transition-duration)ease-in-out,transform var(--transition-duration)ease-in-out;width:min(var(--width),100% - var(--margin-horizontal)*2);z-index:1;position:absolute;overflow:hidden}.sidebar:not(.--active) input[type=password]{display:none}.sidebar--e{right:var(--margin-horizontal)}.sidebar--e.sidebar--offscreen:not(.--active){transform:translateX(var(--width))}.sidebar--w{left:var(--margin-horizontal)}.sidebar--w.sidebar--offscreen:not(.--active){transform:translateX(calc(var(--width)*-1))}.sidebar-content{flex:0 0 var(--width-default);width:var(--width-default)}
2
- /*$vite$:1*/
@@ -1,17 +0,0 @@
1
- import { html } from '@esportsplus/template';
2
- import { onclick } from '../../components/root/index.js';
3
- import scrollbar from '../../components/scrollbar/index.js';
4
- import './scss/index.scss';
5
- export default ({ attributes, content, scrollbar: sb }) => {
6
- sb ??= {};
7
- sb.attributes ??= {};
8
- sb.attributes.style ??= '--background-default: var(--color-black-400);';
9
- sb.fixed ??= true;
10
- let { html: h, parent } = scrollbar(sb);
11
- return html `
12
- <section class='site' ${attributes} ${{ onclick }} ${parent.attributes}>
13
- ${content || ''}
14
- ${h}
15
- </section>
16
- `;
17
- };
@@ -1,2 +0,0 @@
1
- .site{z-index:0}
2
- /*$vite$:1*/
@@ -1 +0,0 @@
1
- import './scss/index.scss';
@@ -1,2 +0,0 @@
1
- .text{--color:var(--color-default);--color-default:inherit;--font-size:var(--font-size-400);--font-weight:var(--font-weight-400);--line-height:var(--line-height-400);--width:auto;color:var(--color);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height);transition:color var(--transition-duration)ease-in-out;width:var(--width);position:relative}
2
- /*$vite$:1*/
@@ -1 +0,0 @@
1
- import './scss/index.scss';
@@ -1,2 +0,0 @@
1
- .thumbnail{--background:transparent;--border-radius:var(--border-radius-300);--height:var(--size);--size:var(--size-700);--width:var(--size);background:var(--background);border-radius:var(--border-radius);height:var(--height);width:var(--width);position:relative}
2
- /*$vite$:1*/