@esportsplus/ui 0.1.8 → 0.2.2

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 (195) hide show
  1. package/.editorconfig +9 -9
  2. package/.gitattributes +2 -2
  3. package/.github/dependabot.yml +23 -0
  4. package/.github/workflows/bump.yml +7 -0
  5. package/.github/workflows/publish.yml +14 -0
  6. package/build/components/alert/index.d.ts +1 -1
  7. package/build/components/alert/index.js +34 -36
  8. package/build/components/export/clipboard.js +1 -3
  9. package/build/components/export/index.js +3 -8
  10. package/build/components/export/json.js +1 -3
  11. package/build/components/field/checkbox.d.ts +1 -1
  12. package/build/components/field/checkbox.js +32 -37
  13. package/build/components/field/description.d.ts +1 -1
  14. package/build/components/field/description.js +4 -6
  15. package/build/components/field/error.d.ts +1 -1
  16. package/build/components/field/error.js +4 -6
  17. package/build/components/field/file.d.ts +1 -1
  18. package/build/components/field/file.js +36 -41
  19. package/build/components/field/index.d.ts +8 -8
  20. package/build/components/field/index.js +8 -13
  21. package/build/components/field/optional.d.ts +2 -2
  22. package/build/components/field/optional.js +8 -13
  23. package/build/components/field/select.d.ts +1 -1
  24. package/build/components/field/select.js +65 -70
  25. package/build/components/field/switch.d.ts +1 -1
  26. package/build/components/field/switch.js +3 -8
  27. package/build/components/field/text.d.ts +1 -1
  28. package/build/components/field/text.js +37 -42
  29. package/build/components/field/textarea.d.ts +1 -1
  30. package/build/components/field/textarea.js +3 -8
  31. package/build/components/field/title.d.ts +1 -1
  32. package/build/components/field/title.js +14 -19
  33. package/build/components/form/action.js +7 -13
  34. package/build/components/form/index.d.ts +1 -1
  35. package/build/components/form/index.js +4 -9
  36. package/build/components/form/input.js +1 -3
  37. package/build/components/form/layout.d.ts +1 -1
  38. package/build/components/form/layout.js +11 -13
  39. package/build/components/form/types.d.ts +1 -1
  40. package/build/components/form/types.js +1 -2
  41. package/build/components/number/index.js +2 -6
  42. package/build/components/page/index.js +2 -7
  43. package/build/components/root/index.js +3 -9
  44. package/build/components/root/onclick.js +1 -3
  45. package/build/components/scrollbar/index.d.ts +3 -3
  46. package/build/components/scrollbar/index.js +13 -15
  47. package/build/components/site/index.d.ts +1 -1
  48. package/build/components/site/index.js +10 -15
  49. package/build/components/tooltip/index.d.ts +5 -5
  50. package/build/components/tooltip/index.js +8 -13
  51. package/build/components/tooltip/menu.d.ts +1 -1
  52. package/build/components/tooltip/menu.js +34 -36
  53. package/build/index.js +11 -27
  54. package/lib.scss +1 -1
  55. package/package.json +25 -25
  56. package/src/components/accordion/scss/index.scss +16 -16
  57. package/src/components/accordion/scss/variables.scss +4 -4
  58. package/src/components/alert/index.ts +156 -156
  59. package/src/components/alert/scss/index.scss +54 -54
  60. package/src/components/alert/scss/variables.scss +8 -8
  61. package/src/components/anchor/scss/index.scss +41 -41
  62. package/src/components/anchor/scss/variables.scss +5 -5
  63. package/src/components/banner/scss/index.scss +40 -40
  64. package/src/components/banner/scss/variables.scss +5 -5
  65. package/src/components/border/scss/index.scss +10 -10
  66. package/src/components/border/scss/variables.scss +6 -6
  67. package/src/components/bubble/scss/index.scss +30 -30
  68. package/src/components/bubble/scss/variables.scss +19 -19
  69. package/src/components/button/scss/index.scss +92 -92
  70. package/src/components/button/scss/variables.scss +69 -69
  71. package/src/components/card/scss/index.scss +35 -35
  72. package/src/components/card/scss/variables.scss +42 -42
  73. package/src/components/container/scss/index.scss +10 -10
  74. package/src/components/container/scss/variables.scss +5 -5
  75. package/src/components/ellipsis/scss/index.scss +71 -71
  76. package/src/components/ellipsis/scss/variables.scss +2 -2
  77. package/src/components/export/clipboard.ts +11 -11
  78. package/src/components/export/index.ts +4 -4
  79. package/src/components/export/json.ts +14 -14
  80. package/src/components/field/checkbox.ts +60 -60
  81. package/src/components/field/description.ts +11 -11
  82. package/src/components/field/error.ts +13 -13
  83. package/src/components/field/file.ts +64 -64
  84. package/src/components/field/index.ts +9 -9
  85. package/src/components/field/optional.ts +26 -26
  86. package/src/components/field/scss/_check.scss +225 -225
  87. package/src/components/field/scss/_normalize.scss +36 -36
  88. package/src/components/field/scss/_text.scss +106 -106
  89. package/src/components/field/scss/index.scss +158 -158
  90. package/src/components/field/scss/variables.scss +138 -138
  91. package/src/components/field/select.ts +150 -150
  92. package/src/components/field/switch.ts +8 -8
  93. package/src/components/field/text.ts +68 -68
  94. package/src/components/field/textarea.ts +7 -7
  95. package/src/components/field/title.ts +22 -22
  96. package/src/components/form/action.ts +67 -67
  97. package/src/components/form/index.ts +5 -5
  98. package/src/components/form/input.ts +14 -14
  99. package/src/components/form/layout.ts +25 -25
  100. package/src/components/form/types.ts +15 -15
  101. package/src/components/group/scss/index.scss +36 -36
  102. package/src/components/group/scss/variables.scss +17 -17
  103. package/src/components/icon/scss/index.scss +17 -17
  104. package/src/components/icon/scss/variables.scss +7 -7
  105. package/src/components/link/scss/index.scss +28 -28
  106. package/src/components/link/scss/variables.scss +47 -47
  107. package/src/components/loading/scss/index.scss +24 -24
  108. package/src/components/loading/scss/variables.scss +31 -31
  109. package/src/components/modal/scss/index.scss +31 -31
  110. package/src/components/modal/scss/variables.scss +10 -10
  111. package/src/components/number/index.ts +23 -23
  112. package/src/components/page/index.ts +14 -14
  113. package/src/components/page/scss/index.scss +27 -27
  114. package/src/components/page/scss/variables.scss +27 -27
  115. package/src/components/processing/scss/index.scss +46 -46
  116. package/src/components/processing/scss/variables.scss +11 -11
  117. package/src/components/root/index.ts +4 -4
  118. package/src/components/root/onclick.ts +20 -20
  119. package/src/components/root/scss/index.scss +93 -93
  120. package/src/components/root/scss/variables.scss +55 -55
  121. package/src/components/row/scss/index.scss +7 -7
  122. package/src/components/scrollbar/index.ts +43 -43
  123. package/src/components/scrollbar/scss/index.scss +59 -59
  124. package/src/components/scrollbar/scss/variables.scss +6 -6
  125. package/src/components/sidebar/scss/index.scss +50 -50
  126. package/src/components/sidebar/scss/variables.scss +21 -21
  127. package/src/components/site/index.ts +26 -26
  128. package/src/components/site/scss/index.scss +3 -3
  129. package/src/components/text/scss/index.scss +12 -12
  130. package/src/components/text/scss/variables.scss +9 -9
  131. package/src/components/thumbnail/scss/index.scss +7 -7
  132. package/src/components/thumbnail/scss/variables.scss +7 -7
  133. package/src/components/tooltip/index.ts +93 -93
  134. package/src/components/tooltip/menu.ts +70 -70
  135. package/src/components/tooltip/scss/_center.scss +13 -13
  136. package/src/components/tooltip/scss/_east.scss +34 -34
  137. package/src/components/tooltip/scss/_north.scss +34 -34
  138. package/src/components/tooltip/scss/_south.scss +35 -35
  139. package/src/components/tooltip/scss/_west.scss +34 -34
  140. package/src/components/tooltip/scss/index.scss +93 -93
  141. package/src/components/tooltip/scss/variables.scss +25 -25
  142. package/src/css-utilities/[margin,padding]/scss/index.scss +41 -41
  143. package/src/css-utilities/[margin,padding]/scss/variables.scss +54 -54
  144. package/src/css-utilities/absolute/scss/index.scss +59 -59
  145. package/src/css-utilities/background/scss/variables.scss +27 -27
  146. package/src/css-utilities/border/scss/index.scss +21 -21
  147. package/src/css-utilities/border/scss/variables.scss +66 -66
  148. package/src/css-utilities/color/scss/variables.scss +31 -31
  149. package/src/css-utilities/disabled/scss/index.scss +4 -4
  150. package/src/css-utilities/flex/scss/index.scss +65 -65
  151. package/src/css-utilities/glass/scss/index.scss +2 -2
  152. package/src/css-utilities/glass/scss/variables.scss +2 -2
  153. package/src/css-utilities/hidden/scss/index.scss +28 -28
  154. package/src/css-utilities/index.scss +14 -14
  155. package/src/css-utilities/inline/scss/index.scss +7 -7
  156. package/src/css-utilities/line-height/scss/variables.scss +10 -10
  157. package/src/css-utilities/not-allowed/scss/index.scss +7 -7
  158. package/src/css-utilities/overflow/scss/index.scss +4 -4
  159. package/src/css-utilities/pointer/scss/index.scss +5 -5
  160. package/src/css-utilities/size/scss/variables.scss +12 -12
  161. package/src/css-utilities/slide/scss/index.scss +21 -21
  162. package/src/css-utilities/slide/scss/variables.scss +10 -10
  163. package/src/css-utilities/text/scss/index.scss +93 -93
  164. package/src/css-utilities/text/scss/variables.scss +31 -31
  165. package/src/css-utilities/transition/scss/variables.scss +14 -14
  166. package/src/css-utilities/viewport/scss/index.scss +4 -4
  167. package/src/css-utilities/width/scss/index.scss +3 -3
  168. package/src/css-utilities/width/scss/variables.scss +9 -9
  169. package/src/index.ts +11 -11
  170. package/src/lib/index.scss +7 -7
  171. package/src/lib/scss/breakpoint.scss +41 -41
  172. package/src/lib/scss/color.scss +1 -1
  173. package/src/lib/scss/css-variables.scss +13 -13
  174. package/src/lib/scss/list.scss +76 -76
  175. package/src/lib/scss/map.scss +1 -1
  176. package/src/lib/scss/position.scss +77 -77
  177. package/src/lib/scss/string.scss +33 -33
  178. package/src/tokens/index.scss +11 -11
  179. package/src/tokens/scss/border-radius.scss +12 -12
  180. package/src/tokens/scss/border-width.scss +6 -6
  181. package/src/tokens/scss/box-shadow.scss +13 -13
  182. package/src/tokens/scss/color.scss +64 -64
  183. package/src/tokens/scss/font-size.scss +12 -12
  184. package/src/tokens/scss/font-weight.scss +6 -6
  185. package/src/tokens/scss/line-height.scss +6 -6
  186. package/src/tokens/scss/size.scss +13 -13
  187. package/src/tokens/scss/spacer.scss +8 -8
  188. package/src/tokens/scss/state.scss +86 -86
  189. package/src/tokens/scss/transition-duration.scss +5 -5
  190. package/storage/fonts/montserrat/index.css +79 -79
  191. package/tokens.scss +1 -1
  192. package/tsconfig.json +10 -10
  193. package/utilities/styles.css +1 -1
  194. package/utilities/variables.css +1 -1
  195. package/webpack.config.ts +25 -25
@@ -1,72 +1,72 @@
1
- .ellipsis {
2
- &-dot {
3
- &:nth-child(1) {
4
- animation: ellipsis-dot-one var(--animation-duration) linear infinite;
5
- }
6
-
7
- &:nth-child(2) {
8
- animation: ellipsis-dot-two var(--animation-duration) linear infinite;
9
- }
10
-
11
- &:nth-child(3) {
12
- animation: ellipsis-dot-three var(--animation-duration) linear infinite;
13
- }
14
- }
15
- }
16
-
17
- @keyframes ellipsis-dot-one {
18
- 0% {
19
- opacity: 1;
20
- }
21
- 65% {
22
- opacity: 1;
23
- }
24
- 66% {
25
- opacity: 0;
26
- }
27
- 100% {
28
- opacity: 0;
29
- }
30
- }
31
-
32
- @keyframes ellipsis-dot-two {
33
- 0% {
34
- opacity: 0;
35
- }
36
- 21% {
37
- opacity: 0;
38
- }
39
- 22% {
40
- opacity: 1;
41
- }
42
- 65% {
43
- opacity: 1;
44
- }
45
- 66% {
46
- opacity: 0;
47
- }
48
- 100% {
49
- opacity: 0;
50
- }
51
- }
52
-
53
- @keyframes ellipsis-dot-three {
54
- 0% {
55
- opacity: 0;
56
- }
57
- 43% {
58
- opacity: 0;
59
- }
60
- 44% {
61
- opacity: 1;
62
- }
63
- 65% {
64
- opacity: 1;
65
- }
66
- 66% {
67
- opacity: 0;
68
- }
69
- 100% {
70
- opacity: 0;
71
- }
1
+ .ellipsis {
2
+ &-dot {
3
+ &:nth-child(1) {
4
+ animation: ellipsis-dot-one var(--animation-duration) linear infinite;
5
+ }
6
+
7
+ &:nth-child(2) {
8
+ animation: ellipsis-dot-two var(--animation-duration) linear infinite;
9
+ }
10
+
11
+ &:nth-child(3) {
12
+ animation: ellipsis-dot-three var(--animation-duration) linear infinite;
13
+ }
14
+ }
15
+ }
16
+
17
+ @keyframes ellipsis-dot-one {
18
+ 0% {
19
+ opacity: 1;
20
+ }
21
+ 65% {
22
+ opacity: 1;
23
+ }
24
+ 66% {
25
+ opacity: 0;
26
+ }
27
+ 100% {
28
+ opacity: 0;
29
+ }
30
+ }
31
+
32
+ @keyframes ellipsis-dot-two {
33
+ 0% {
34
+ opacity: 0;
35
+ }
36
+ 21% {
37
+ opacity: 0;
38
+ }
39
+ 22% {
40
+ opacity: 1;
41
+ }
42
+ 65% {
43
+ opacity: 1;
44
+ }
45
+ 66% {
46
+ opacity: 0;
47
+ }
48
+ 100% {
49
+ opacity: 0;
50
+ }
51
+ }
52
+
53
+ @keyframes ellipsis-dot-three {
54
+ 0% {
55
+ opacity: 0;
56
+ }
57
+ 43% {
58
+ opacity: 0;
59
+ }
60
+ 44% {
61
+ opacity: 1;
62
+ }
63
+ 65% {
64
+ opacity: 1;
65
+ }
66
+ 66% {
67
+ opacity: 0;
68
+ }
69
+ 100% {
70
+ opacity: 0;
71
+ }
72
72
  }
@@ -1,3 +1,3 @@
1
- .ellipsis {
2
- --animation-duration: 2s;
1
+ .ellipsis {
2
+ --animation-duration: 2s;
3
3
  }
@@ -1,12 +1,12 @@
1
- export default (value: string) => {
2
- let input = document.createElement('INPUT') as HTMLInputElement;
3
-
4
- document.body.appendChild(input);
5
-
6
- input.setAttribute('value', value);
7
- input.select();
8
-
9
- document.execCommand('copy');
10
-
11
- document.body.removeChild(input);
1
+ export default (value: string) => {
2
+ let input = document.createElement('INPUT') as HTMLInputElement;
3
+
4
+ document.body.appendChild(input);
5
+
6
+ input.setAttribute('value', value);
7
+ input.select();
8
+
9
+ document.execCommand('copy');
10
+
11
+ document.body.removeChild(input);
12
12
  };
@@ -1,5 +1,5 @@
1
- import clipboard from './clipboard';
2
- import json from './json';
3
-
4
-
1
+ import clipboard from './clipboard';
2
+ import json from './json';
3
+
4
+
5
5
  export default { clipboard, json };
@@ -1,15 +1,15 @@
1
- export default (content: any[] | Record<string, any>, name: string) => {
2
- let link = document.createElement('a');
3
-
4
- link.download = name + '.json';
5
- link.href = window.URL.createObjectURL(new Blob(
6
- [ JSON.stringify(content) ],
7
- { type: 'application/json' }
8
- ));
9
-
10
- document.body.appendChild(link);
11
-
12
- link.click();
13
-
14
- document.body.removeChild(link);
1
+ export default (content: any[] | Record<string, any>, name: string) => {
2
+ let link = document.createElement('a');
3
+
4
+ link.download = name + '.json';
5
+ link.href = window.URL.createObjectURL(new Blob(
6
+ [ JSON.stringify(content) ],
7
+ { type: 'application/json' }
8
+ ));
9
+
10
+ document.body.appendChild(link);
11
+
12
+ link.click();
13
+
14
+ document.body.removeChild(link);
15
15
  };
@@ -1,61 +1,61 @@
1
- import { reactive } from '@esportsplus/reactivity';
2
- import { html } from '@esportsplus/template';
3
- import description from './description';
4
-
5
-
6
- type Data = {
7
- class?: string;
8
- field?: {
9
- content?: any;
10
- };
11
- mask?: {
12
- class?: string;
13
- style?: string;
14
- };
15
- name?: string;
16
- style?: string;
17
- title: string;
18
- value?: any;
19
- } & Parameters<typeof description>[0];
20
-
21
-
22
- export default (data: Data) => {
23
- let state = reactive({
24
- active: false
25
- });
26
-
27
- return html`
28
- <div
29
- class="field --flex-column ${data?.class || ''} ${() => state.active ? '--active' : ''}"
30
- onchange='${(e: Event) => {
31
- if ((e.target as HTMLInputElement).type !== 'checkbox') {
32
- return;
33
- }
34
-
35
- state.active = (e.target as HTMLInputElement)?.checked;
36
- }}'
37
- style='${data?.style || ''}'
38
- >
39
- <div class="field-title --flex-horizontal-space-between --flex-vertical">
40
- ${data.title}
41
-
42
- <label
43
- class="field-mask ${(data?.mask?.class || '').indexOf('field-mask--switch') === -1 ? 'field-mask--checkbox' : ''} --margin-left --margin-400 ${data?.mask?.class || ''}"
44
- style='${data?.mask?.style || ''}'
45
- >
46
- <input
47
- class='field-tag field-tag--hidden'
48
- ${data.name ? `name='${data.name}'` : ''}
49
- type='checkbox'
50
- value='1'
51
- ${(data?.class || '').indexOf('--active') !== -1 || data?.value ? 'checked' : ''}
52
- >
53
- </label>
54
- </div>
55
-
56
- ${data?.field?.content || ''}
57
-
58
- ${description(data)}
59
- </div>
60
- `
1
+ import { reactive } from '@esportsplus/reactivity';
2
+ import { html } from '@esportsplus/template';
3
+ import description from './description';
4
+
5
+
6
+ type Data = {
7
+ class?: string;
8
+ field?: {
9
+ content?: any;
10
+ };
11
+ mask?: {
12
+ class?: string;
13
+ style?: string;
14
+ };
15
+ name?: string;
16
+ style?: string;
17
+ title: string;
18
+ value?: any;
19
+ } & Parameters<typeof description>[0];
20
+
21
+
22
+ export default (data: Data) => {
23
+ let state = reactive({
24
+ active: false
25
+ });
26
+
27
+ return html`
28
+ <div
29
+ class="field --flex-column ${data?.class || ''} ${() => state.active ? '--active' : ''}"
30
+ onchange='${(e: Event) => {
31
+ if ((e.target as HTMLInputElement).type !== 'checkbox') {
32
+ return;
33
+ }
34
+
35
+ state.active = (e.target as HTMLInputElement)?.checked;
36
+ }}'
37
+ style='${data?.style || ''}'
38
+ >
39
+ <div class="field-title --flex-horizontal-space-between --flex-vertical">
40
+ ${data.title}
41
+
42
+ <label
43
+ class="field-mask ${(data?.mask?.class || '').indexOf('field-mask--switch') === -1 ? 'field-mask--checkbox' : ''} --margin-left --margin-400 ${data?.mask?.class || ''}"
44
+ style='${data?.mask?.style || ''}'
45
+ >
46
+ <input
47
+ class='field-tag field-tag--hidden'
48
+ ${data.name ? `name='${data.name}'` : ''}
49
+ type='checkbox'
50
+ value='1'
51
+ ${(data?.class || '').indexOf('--active') !== -1 || data?.value ? 'checked' : ''}
52
+ >
53
+ </label>
54
+ </div>
55
+
56
+ ${data?.field?.content || ''}
57
+
58
+ ${description(data)}
59
+ </div>
60
+ `
61
61
  };
@@ -1,12 +1,12 @@
1
- import { html } from '@esportsplus/template';
2
-
3
-
4
- export default (data: { description?: string }) => {
5
- if (!data?.description) {
6
- return '';
7
- }
8
-
9
- return html`
10
- <div class='field-description --margin-top --margin-300'>${data.description}</div>
11
- `;
1
+ import { html } from '@esportsplus/template';
2
+
3
+
4
+ export default (data: { description?: string }) => {
5
+ if (!data?.description) {
6
+ return '';
7
+ }
8
+
9
+ return html`
10
+ <div class='field-description --margin-top --margin-300'>${data.description}</div>
11
+ `;
12
12
  }
@@ -1,14 +1,14 @@
1
- import { html } from '@esportsplus/template';
2
-
3
-
4
- export default (data: { error: string }) => {
5
- return () => {
6
- if (!data.error) {
7
- return '';
8
- }
9
-
10
- return html`
11
- <div class='field-error --margin-top --margin-300 --text-bold'>${data.error}</div>
12
- `;
13
- };
1
+ import { html } from '@esportsplus/template';
2
+
3
+
4
+ export default (data: { error: string }) => {
5
+ return () => {
6
+ if (!data.error) {
7
+ return '';
8
+ }
9
+
10
+ return html`
11
+ <div class='field-error --margin-top --margin-300 --text-bold'>${data.error}</div>
12
+ `;
13
+ };
14
14
  }
@@ -1,64 +1,64 @@
1
- import { reactive } from '@esportsplus/reactivity';
2
- import { html } from '@esportsplus/template';
3
- import form from '~/components/form';
4
- import description from './description';
5
- import error from './error';
6
- import title from './title';
7
-
8
-
9
- type Data = {
10
- accept?: string;
11
- class?: string;
12
- mask?: {
13
- class?: string;
14
- content?: any;
15
- style?: string;
16
- };
17
- name?: string;
18
- placeholder?: string;
19
- style?: string;
20
- type?: string;
21
- value?: unknown;
22
- } & Parameters<typeof description>[0] & Parameters<typeof title>[0];
23
-
24
-
25
- export default (data: Data) => {
26
- let state = reactive({
27
- active: false,
28
- error: ''
29
- });
30
-
31
- return html`
32
- <div
33
- class="field ${data?.class || ''} ${() => state.active ? '--active' : ''} --flex-column"
34
- onfocusin='${() => {
35
- state.active = true;
36
- }}'
37
- onfocusout='${() => {
38
- state.active = false;
39
- }}'
40
- style='${data?.style || ''}'
41
- >
42
- ${title(data)}
43
-
44
- <label
45
- class='field-mask field-mask--input --flex-row ${data?.mask?.class || ''} ${(data?.title || (data?.class || '').indexOf('field--optional') !== -1) && '--margin-top'} --margin-300'
46
- style='${data?.mask?.style || ''} cursor:pointer;'
47
- >
48
- <input
49
- ${data?.accept ? `accept='${data.accept}'` : ''}
50
- class='field-tag field-tag--hidden'
51
- name='${data.name}'
52
- onrender='${form.input.attributes(state)}'
53
- type='file'
54
- ${data?.value !== undefined ? `value='${data.value}'` : ''}
55
- >
56
-
57
- ${data?.mask?.content || ''}
58
- </label>
59
-
60
- ${description(data)}
61
- ${error(state)}
62
- </div>
63
- `;
64
- };
1
+ import { reactive } from '@esportsplus/reactivity';
2
+ import { html } from '@esportsplus/template';
3
+ import form from '~/components/form';
4
+ import description from './description';
5
+ import error from './error';
6
+ import title from './title';
7
+
8
+
9
+ type Data = {
10
+ accept?: string;
11
+ class?: string;
12
+ mask?: {
13
+ class?: string;
14
+ content?: any;
15
+ style?: string;
16
+ };
17
+ name?: string;
18
+ placeholder?: string;
19
+ style?: string;
20
+ type?: string;
21
+ value?: unknown;
22
+ } & Parameters<typeof description>[0] & Parameters<typeof title>[0];
23
+
24
+
25
+ export default (data: Data) => {
26
+ let state = reactive({
27
+ active: false,
28
+ error: ''
29
+ });
30
+
31
+ return html`
32
+ <div
33
+ class="field ${data?.class || ''} ${() => state.active ? '--active' : ''} --flex-column"
34
+ onfocusin='${() => {
35
+ state.active = true;
36
+ }}'
37
+ onfocusout='${() => {
38
+ state.active = false;
39
+ }}'
40
+ style='${data?.style || ''}'
41
+ >
42
+ ${title(data)}
43
+
44
+ <label
45
+ class='field-mask field-mask--input --flex-row ${data?.mask?.class || ''} ${(data?.title || (data?.class || '').indexOf('field--optional') !== -1) && '--margin-top'} --margin-300'
46
+ style='${data?.mask?.style || ''} cursor:pointer;'
47
+ >
48
+ <input
49
+ ${data?.accept ? `accept='${data.accept}'` : ''}
50
+ class='field-tag field-tag--hidden'
51
+ name='${data.name}'
52
+ onrender='${form.input.attributes(state)}'
53
+ type='file'
54
+ ${data?.value !== undefined ? `value='${data.value}'` : ''}
55
+ >
56
+
57
+ ${data?.mask?.content || ''}
58
+ </label>
59
+
60
+ ${description(data)}
61
+ ${error(state)}
62
+ </div>
63
+ `;
64
+ };
@@ -1,10 +1,10 @@
1
- import checkbox from './checkbox';
2
- import file from './file';
3
- import optional from './optional';
4
- import select from './select';
5
- import s from './switch';
6
- import textarea from './textarea';
7
- import text from './text';
8
-
9
-
1
+ import checkbox from './checkbox';
2
+ import file from './file';
3
+ import optional from './optional';
4
+ import select from './select';
5
+ import s from './switch';
6
+ import textarea from './textarea';
7
+ import text from './text';
8
+
9
+
10
10
  export default { checkbox, file, optional, select, switch: s, textarea, text };
@@ -1,27 +1,27 @@
1
- import sel from './select';
2
- import s from './switch';
3
- import tex from './text';
4
-
5
-
6
- const select = (data: Parameters<typeof s>[0] & { field: Parameters<typeof sel>[0] }) => {
7
- data.field.content = sel(
8
- Object.assign(data.field || {}, {
9
- class: `field--optional ${data?.field?.class || ''}`
10
- })
11
- );
12
-
13
- return s(data);
14
- };
15
-
16
- const text = (data: Parameters<typeof s>[0] & { field: Parameters<typeof tex>[0] }) => {
17
- data.field.content = tex(
18
- Object.assign(data.field || {}, {
19
- class: `field--optional ${data?.field?.class || ''}`
20
- })
21
- );
22
-
23
- return s(data);
24
- };
25
-
26
-
1
+ import sel from './select';
2
+ import s from './switch';
3
+ import tex from './text';
4
+
5
+
6
+ const select = (data: Parameters<typeof s>[0] & { field: Parameters<typeof sel>[0] }) => {
7
+ data.field.content = sel(
8
+ Object.assign(data.field || {}, {
9
+ class: `field--optional ${data?.field?.class || ''}`
10
+ })
11
+ );
12
+
13
+ return s(data);
14
+ };
15
+
16
+ const text = (data: Parameters<typeof s>[0] & { field: Parameters<typeof tex>[0] }) => {
17
+ data.field.content = tex(
18
+ Object.assign(data.field || {}, {
19
+ class: `field--optional ${data?.field?.class || ''}`
20
+ })
21
+ );
22
+
23
+ return s(data);
24
+ };
25
+
26
+
27
27
  export default { select, text };