@esportsplus/ui 0.17.6 → 0.18.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.
Files changed (143) hide show
  1. package/build/components/accordion/index.d.ts +2 -2
  2. package/build/components/counter/index.d.ts +7 -10
  3. package/build/components/counter/index.js +34 -36
  4. package/build/components/ellipsis/index.d.ts +2 -1
  5. package/build/components/ellipsis/index.js +1 -1
  6. package/build/components/field/checkbox.d.ts +354 -11
  7. package/build/components/field/checkbox.js +45 -40
  8. package/build/components/field/description.d.ts +5 -6
  9. package/build/components/field/description.js +5 -9
  10. package/build/components/field/error.d.ts +1 -1
  11. package/build/components/field/error.js +3 -3
  12. package/build/components/field/index.d.ts +0 -81
  13. package/build/components/field/index.js +0 -8
  14. package/build/components/field/input.d.ts +364 -0
  15. package/build/components/field/input.js +97 -0
  16. package/build/components/field/scss/index.scss +1 -1
  17. package/build/components/field/select.d.ts +245 -24
  18. package/build/components/field/select.js +99 -109
  19. package/build/components/field/title.d.ts +113 -7
  20. package/build/components/field/title.js +7 -10
  21. package/build/components/footer/index.d.ts +5 -9
  22. package/build/components/footer/index.js +7 -6
  23. package/build/components/form/index.d.ts +4 -2
  24. package/build/components/form/input.d.ts +5 -2
  25. package/build/components/form/input.js +4 -1
  26. package/build/components/frame/index.d.ts +115 -0
  27. package/build/components/frame/index.js +8 -0
  28. package/build/components/frame/scss/index.scss +1 -1
  29. package/build/components/highlight/index.d.ts +2 -1
  30. package/build/components/icon/index.d.ts +5 -2
  31. package/build/components/icon/index.js +7 -6
  32. package/build/components/index.d.ts +1 -2
  33. package/build/components/index.js +1 -2
  34. package/build/components/json/download.d.ts +1 -1
  35. package/build/components/json/index.d.ts +1 -1
  36. package/build/components/link/index.d.ts +0 -12
  37. package/build/components/link/index.js +0 -2
  38. package/build/components/link/scss/index.scss +1 -1
  39. package/build/components/loader/index.d.ts +5 -4
  40. package/build/components/loader/index.js +20 -20
  41. package/build/components/loading/index.d.ts +2 -1
  42. package/build/components/overlay/index.d.ts +114 -2
  43. package/build/components/overlay/index.js +7 -8
  44. package/build/components/root/scss/index.scss +1 -1
  45. package/build/components/scrollbar/index.d.ts +115 -4
  46. package/build/components/scrollbar/index.js +26 -25
  47. package/build/components/scrollbar/scss/index.scss +1 -1
  48. package/build/components/sidebar/index.d.ts +114 -2
  49. package/build/components/sidebar/index.js +7 -8
  50. package/build/components/site/index.d.ts +114 -2
  51. package/build/components/site/index.js +9 -10
  52. package/build/components/template/index.d.ts +8 -0
  53. package/build/components/template/index.js +15 -0
  54. package/build/components/tooltip/index.d.ts +355 -8
  55. package/build/components/tooltip/index.js +54 -37
  56. package/build/components/typewriter/index.d.ts +1 -1
  57. package/build/css-utilities/border/scss/index.scss +1 -1
  58. package/build/css-utilities/flex/scss/index.scss +1 -1
  59. package/package.json +7 -7
  60. package/src/components/accordion/scss/index.scss +1 -1
  61. package/src/components/anchor/scss/index.scss +1 -1
  62. package/src/components/banner/scss/index.scss +1 -1
  63. package/src/components/border/scss/index.scss +1 -1
  64. package/src/components/button/scss/index.scss +1 -1
  65. package/src/components/card/scss/index.scss +1 -1
  66. package/src/components/container/scss/index.scss +1 -1
  67. package/src/components/counter/index.ts +42 -46
  68. package/src/components/counter/scss/index.scss +1 -1
  69. package/src/components/ellipsis/index.ts +3 -3
  70. package/src/components/ellipsis/scss/index.scss +1 -1
  71. package/src/components/field/checkbox.ts +68 -53
  72. package/src/components/field/description.ts +8 -11
  73. package/src/components/field/error.ts +3 -3
  74. package/src/components/field/index.ts +5 -6
  75. package/src/components/field/input.ts +125 -0
  76. package/src/components/field/scss/{_check.scss → check.scss} +1 -4
  77. package/src/components/field/scss/index.scss +15 -36
  78. package/src/components/field/scss/normalize.scss +34 -0
  79. package/src/components/field/scss/{_text.scss → text.scss} +31 -17
  80. package/src/components/field/scss/variables.scss +0 -10
  81. package/src/components/field/select.ts +167 -155
  82. package/src/components/field/title.ts +10 -12
  83. package/src/components/footer/index.ts +12 -22
  84. package/src/components/form/input.ts +10 -5
  85. package/src/components/frame/index.ts +14 -1
  86. package/src/components/frame/scss/index.scss +2 -0
  87. package/src/components/grid/scss/index.scss +1 -1
  88. package/src/components/group/scss/index.scss +1 -1
  89. package/src/components/highlight/index.ts +2 -1
  90. package/src/components/highlight/scss/index.scss +1 -1
  91. package/src/components/icon/index.ts +11 -8
  92. package/src/components/icon/scss/index.scss +1 -1
  93. package/src/components/index.ts +1 -2
  94. package/src/components/json/download.ts +1 -1
  95. package/src/components/link/index.ts +1 -5
  96. package/src/components/link/scss/index.scss +1 -20
  97. package/src/components/loader/index.ts +35 -33
  98. package/src/components/loader/scss/index.scss +1 -1
  99. package/src/components/loading/index.ts +2 -2
  100. package/src/components/loading/scss/index.scss +1 -1
  101. package/src/components/modal/scss/index.scss +1 -1
  102. package/src/components/overlay/index.ts +9 -9
  103. package/src/components/page/scss/index.scss +1 -1
  104. package/src/components/root/scss/index.scss +1 -1
  105. package/src/components/scrollbar/index.ts +44 -42
  106. package/src/components/scrollbar/scss/index.scss +1 -1
  107. package/src/components/scrollbar/scss/variables.scss +1 -1
  108. package/src/components/sidebar/index.ts +9 -9
  109. package/src/components/sidebar/scss/index.scss +1 -1
  110. package/src/components/site/index.ts +11 -11
  111. package/src/components/template/index.ts +26 -0
  112. package/src/components/text/scss/index.scss +1 -1
  113. package/src/components/thumbnail/scss/index.scss +1 -1
  114. package/src/components/tooltip/index.ts +116 -86
  115. package/src/components/tooltip/scss/index.scss +1 -1
  116. package/src/css-utilities/border/scss/variables.scss +0 -8
  117. package/src/css-utilities/flex/scss/index.scss +7 -7
  118. package/src/tokens/scss/border-radius.scss +3 -0
  119. package/build/components/field/file.d.ts +0 -19
  120. package/build/components/field/file.js +0 -51
  121. package/build/components/field/optional.d.ts +0 -12
  122. package/build/components/field/optional.js +0 -16
  123. package/build/components/field/switch.d.ts +0 -3
  124. package/build/components/field/switch.js +0 -6
  125. package/build/components/field/text.d.ts +0 -19
  126. package/build/components/field/text.js +0 -64
  127. package/build/components/field/textarea.d.ts +0 -3
  128. package/build/components/field/textarea.js +0 -5
  129. package/build/components/link/hover.d.ts +0 -10
  130. package/build/components/link/hover.js +0 -17
  131. package/build/components/magnet/index.d.ts +0 -11
  132. package/build/components/magnet/index.js +0 -51
  133. package/build/components/magnet/scss/index.scss +0 -2
  134. package/src/components/field/file.ts +0 -77
  135. package/src/components/field/optional.ts +0 -23
  136. package/src/components/field/scss/_normalize.scss +0 -36
  137. package/src/components/field/switch.ts +0 -9
  138. package/src/components/field/text.ts +0 -92
  139. package/src/components/field/textarea.ts +0 -8
  140. package/src/components/link/hover.ts +0 -19
  141. package/src/components/magnet/index.ts +0 -60
  142. package/src/components/magnet/scss/index.scss +0 -17
  143. package/src/components/magnet/scss/variables.scss +0 -5
@@ -1,77 +0,0 @@
1
- import { reactive } from '@esportsplus/reactivity';
2
- import { html } from '@esportsplus/template';
3
- import { omit, pick } from '@esportsplus/utilities';
4
- import form from '~/components/form';
5
- import description from './description';
6
- import error from './error';
7
- import title from './title';
8
-
9
-
10
- type Data = {
11
- accept?: string;
12
- class?: string;
13
- description?: Parameters<typeof description>[0]['description'];
14
- mask?: {
15
- content?: unknown;
16
- } & Record<string, unknown>;
17
- name?: string;
18
- placeholder?: string;
19
- required?: boolean;
20
- style?: string;
21
- tag?: Record<string, unknown>;
22
- title?: Parameters<typeof title>[0]['title'];
23
- value?: unknown;
24
- } & Record<string, unknown>;
25
-
26
-
27
- const FIELD_OMIT: (keyof Data)[] = ['accept', 'mask', 'name', 'placeholder', 'value'];
28
-
29
- const MASK_OMIT: (keyof NonNullable<Data['mask']>)[] = ['content'];
30
-
31
- const TAG_PICK: (keyof Data)[] = ['accept', 'name', 'required', 'value'];
32
-
33
-
34
- export default (data: Data) => {
35
- let state = reactive({
36
- active: false,
37
- error: ''
38
- });
39
-
40
- data.mask ??= {};
41
-
42
- data.tag ??= {};
43
- data.tag.type = 'file';
44
- data.tag.onrender = form.input.onrender(state);
45
-
46
- return html`
47
- <div
48
- class='${() => state.active && '--active'} field --flex-column'
49
- onfocusin='${() => {
50
- state.active = true;
51
- }}'
52
- onfocusout='${() => {
53
- state.active = false;
54
- }}'
55
- ${omit(data, FIELD_OMIT)}
56
- >
57
- ${title(data)}
58
-
59
- <label
60
- class='field-mask field-mask--input --flex-row'
61
- style='cursor:pointer;'
62
- ${omit(data.mask, MASK_OMIT)}
63
- >
64
- <input
65
- class='field-tag field-tag--hidden'
66
- ${pick(data, TAG_PICK)}
67
- ${data.tag}
68
- >
69
-
70
- ${data.mask?.content || ''}
71
- </label>
72
-
73
- ${description(data)}
74
- ${error(state)}
75
- </div>
76
- `;
77
- };
@@ -1,23 +0,0 @@
1
- import s from './select';
2
- import sw from './switch';
3
- import t from './text';
4
-
5
-
6
- const select = (data: Parameters<typeof sw>[0] & { field: Parameters<typeof s>[0] }) => {
7
- data.field ??= {} as typeof data.field;
8
- data.field.class = `field--optional ${data.field?.class || ''}`;
9
- data.field.content = s(data.field);
10
-
11
- return sw(data);
12
- };
13
-
14
- const text = (data: Parameters<typeof sw>[0] & { field: Parameters<typeof t>[0] }) => {
15
- data.field ??= {} as typeof data.field;
16
- data.field.class = `field--optional ${data.field?.class || ''}`;
17
- data.field.content = t(data.field);
18
-
19
- return sw(data);
20
- };
21
-
22
-
23
- export default { select, text };
@@ -1,36 +0,0 @@
1
- @mixin normalize() {
2
- button,
3
- input,
4
- select,
5
- textarea {
6
- background: transparent;
7
- border-radius: 0;
8
- border: 0;
9
- font-family: inherit;
10
- font-size: inherit;
11
- line-height: inherit;
12
- margin: 0;
13
- padding: 0;
14
-
15
- &,
16
- &:active,
17
- &:focus,
18
- &:hover {
19
- outline: none;
20
- }
21
-
22
- &:invalid {
23
- box-shadow: none;
24
- }
25
- }
26
-
27
- form {
28
- margin: 0;
29
- padding: 0;
30
- width: 100%;
31
- }
32
-
33
- label {
34
- cursor: pointer;
35
- }
36
- }
@@ -1,9 +0,0 @@
1
- import checkbox from './checkbox';
2
-
3
-
4
- export default (data: Parameters<typeof checkbox>[0]) => {
5
- data.mask = data.mask || {};
6
- data.mask.class = `field-mask--switch ${data.mask?.class || ''}`;
7
-
8
- return checkbox(data);
9
- };
@@ -1,92 +0,0 @@
1
- import { reactive } from '@esportsplus/reactivity';
2
- import { html } from '@esportsplus/template';
3
- import { omit, pick } from '@esportsplus/utilities';
4
- import form from '~/components/form';
5
- import description from './description';
6
- import error from './error';
7
- import title from './title';
8
-
9
-
10
- type Data = {
11
- class?: string;
12
- content?: unknown;
13
- description?: Parameters<typeof description>[0]['description'];
14
- mask?: Record<string, unknown>;
15
- name?: string;
16
- placeholder?: string;
17
- required?: boolean;
18
- style?: string;
19
- tag?: Record<string, unknown>;
20
- textarea?: boolean;
21
- title?: Parameters<typeof title>[0]['title'];
22
- type?: string;
23
- value?: unknown;
24
- } & Record<string, unknown>;
25
-
26
-
27
- const FIELD_OMIT: (keyof Data)[] = [
28
- 'content',
29
- 'description',
30
- 'mask',
31
- 'name',
32
- 'placeholder',
33
- 'required',
34
- 'tag', 'textarea', 'title', 'type',
35
- 'value'
36
- ];
37
-
38
- const INPUT_PICK: (keyof Data)[] = ['name', 'placeholder', 'required', 'type', 'value'];
39
-
40
- const TEXTAREA_PICK: (keyof Data)[] = ['name', 'placeholder'];
41
-
42
-
43
- export default (data: Data) => {
44
- let state = reactive({
45
- active: false,
46
- error: ''
47
- });
48
-
49
- data.onfocusin = () => {
50
- state.active = true;
51
- };
52
- data.onfocusout = () => {
53
- state.active = false;
54
- };
55
-
56
- data.tag ??= {};
57
- data.tag.class = `field-tag --padding-400 ${data.tag.class || ''}`;
58
- data.tag.onrender = form.input.onrender(state);
59
-
60
- data.type ??= 'string';
61
- data.value ??= '';
62
-
63
- return html`
64
- <div
65
- class='
66
- ${() => state.active && '--active'}
67
- field
68
- --flex-column
69
- '
70
- ${omit(data, FIELD_OMIT)}
71
- >
72
- ${title(data)}
73
-
74
- <label class='field-mask field-mask--input --flex-row' ${data.mask}>
75
- ${data.textarea
76
- ? html`
77
- <textarea ${data.tag} ${pick(data, TEXTAREA_PICK)}>
78
- ${data.value}
79
- </textarea>
80
- `
81
- : html`
82
- <input ${data.tag} ${pick(data, INPUT_PICK)}>
83
- `
84
- }
85
- ${data.content || ''}
86
- </label>
87
-
88
- ${description(data)}
89
- ${error(state)}
90
- </div>
91
- `;
92
- };
@@ -1,8 +0,0 @@
1
- import text from './text';
2
-
3
-
4
- export default (data: Parameters<typeof text>[0]) => {
5
- data.textarea = true;
6
-
7
- return text(data);
8
- };
@@ -1,19 +0,0 @@
1
- import { html } from '@esportsplus/template';
2
-
3
-
4
- export default ({ attributes, content }: { attributes?: Record<string, any>, content: any }) => {
5
- return {
6
- attributes: {
7
- class: 'link--hover'
8
- },
9
- html: html`
10
- <span class='link-hover link-hover--one' ${attributes}>
11
- ${content}
12
- </span>
13
-
14
- <span class='link-hover link-hover--two' ${attributes}>
15
- ${content}
16
- </span>
17
- `
18
- };
19
- };
@@ -1,60 +0,0 @@
1
- import { reactive } from '@esportsplus/reactivity';
2
- import { html } from '@esportsplus/template';
3
- import './scss/index.scss';
4
-
5
-
6
- export default ({ attributes, hide }: { attributes?: Record<string, unknown>, hide?: boolean }) => {
7
- let active = false,
8
- events: Record<string, Function> = {
9
- onmouseover: function (this: HTMLElement) {
10
- let { offsetHeight, offsetLeft, offsetTop, offsetWidth } = this;
11
-
12
- active = true;
13
-
14
- state.height = offsetHeight;
15
- state.left = offsetLeft;
16
- state.opacity = 1;
17
- state.top = offsetTop;
18
- state.width = offsetWidth;
19
- }
20
- },
21
- state = reactive({
22
- height: null as number | null,
23
- hide: true,
24
- left: 0,
25
- opacity: 0,
26
- top: 0,
27
- width: 0
28
- });
29
-
30
- if (hide === true) {
31
- events.onmouseout = () => {
32
- active = false;
33
- setTimeout(() => {
34
- if (active === true) {
35
- return;
36
- }
37
-
38
- state.opacity = 0;
39
- }, 50);
40
- };
41
- }
42
-
43
- return {
44
- html: html`
45
- <div
46
- class='magnet'
47
- style='${() => `
48
- height: ${state.height ? `${state.height}px` : '100%'};
49
- opacity: ${state.opacity};
50
- transform: translate(${state.left}px, ${state.top}px);
51
- width: ${state.width}px;
52
- `}'
53
- ${attributes}
54
- ></div>
55
- `,
56
- sibling: {
57
- attributes: events
58
- }
59
- };
60
- };
@@ -1,17 +0,0 @@
1
- @use '/lib';
2
- @use './variables.scss';
3
-
4
- .magnet {
5
- @include lib.position(absolute, 0 null null 0);
6
- background: var(--background);
7
- border-radius: var(--border-radius);
8
- height: 0;
9
- opacity: 0;
10
- transition:
11
- height var(--transition-duration) var(--timing-function),
12
- opacity var(--transition-duration) var(--timing-function),
13
- transform var(--transition-duration) var(--timing-function),
14
- width var(--transition-duration) var(--timing-function);
15
- width: 0;
16
- z-index: -1;
17
- }
@@ -1,5 +0,0 @@
1
- .magnet {
2
- --background: transparent;
3
- --border-radius: var(--border-radius-400);
4
- --timing-function: var(--timing-circ);
5
- }