@esportsplus/ui 0.0.1 → 0.0.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 (88) hide show
  1. package/.gitattributes +2 -2
  2. package/components/accordion/scss/accordion.scss +16 -16
  3. package/components/accordion/scss/variables.scss +4 -4
  4. package/components/anchor/scss/anchor.scss +41 -41
  5. package/components/anchor/scss/anchors.scss +9 -9
  6. package/components/anchor/scss/variables.scss +5 -5
  7. package/components/banner/scss/banner.scss +13 -13
  8. package/components/border/scss/border.scss +10 -10
  9. package/components/border/scss/variables.scss +6 -6
  10. package/components/bubble/scss/bubble.scss +30 -30
  11. package/components/bubble/scss/variables.scss +19 -19
  12. package/components/button/scss/button.scss +93 -93
  13. package/components/button/scss/variables.scss +70 -70
  14. package/components/card/scss/card.scss +36 -36
  15. package/components/card/scss/variables.scss +42 -42
  16. package/components/container/scss/container.scss +10 -10
  17. package/components/container/scss/variables.scss +5 -5
  18. package/components/field/scss/_check.scss +225 -225
  19. package/components/field/scss/_normalize.scss +36 -36
  20. package/components/field/scss/_text.scss +103 -103
  21. package/components/field/scss/field.scss +137 -132
  22. package/components/field/scss/variables.scss +138 -133
  23. package/components/group/scss/group.scss +41 -41
  24. package/components/group/scss/variables.scss +25 -25
  25. package/components/icon/scss/icon.scss +18 -18
  26. package/components/icon/scss/variables.scss +8 -8
  27. package/components/link/scss/link.scss +29 -29
  28. package/components/link/scss/variables.scss +48 -48
  29. package/components/loading/scss/loading.scss +24 -24
  30. package/components/loading/scss/variables.scss +31 -31
  31. package/components/page/scss/page.scss +22 -22
  32. package/components/page/scss/variables.scss +19 -19
  33. package/components/root/scss/root.scss +93 -93
  34. package/components/root/scss/variables.scss +54 -54
  35. package/components/row/scss/row.scss +8 -8
  36. package/components/scrollbar/scss/scrollbar.scss +51 -51
  37. package/components/scrollbar/scss/variables.scss +8 -8
  38. package/components/sidebar/scss/sidebar.scss +50 -50
  39. package/components/sidebar/scss/sidebars.scss +13 -13
  40. package/components/sidebar/scss/variables.scss +25 -25
  41. package/components/text/scss/text.scss +12 -12
  42. package/components/text/scss/variables.scss +9 -9
  43. package/components/thumbnail/scss/thumbnail.scss +7 -7
  44. package/components/thumbnail/scss/variables.scss +7 -7
  45. package/components/tooltip/scss/_center.scss +13 -13
  46. package/components/tooltip/scss/_east.scss +34 -34
  47. package/components/tooltip/scss/_north.scss +34 -34
  48. package/components/tooltip/scss/_south.scss +35 -35
  49. package/components/tooltip/scss/_west.scss +34 -34
  50. package/components/tooltip/scss/tooltip.scss +107 -107
  51. package/components/tooltip/scss/variables.scss +25 -25
  52. package/css-utilities/[margin,padding]/scss/styles.scss +41 -41
  53. package/css-utilities/[margin,padding]/scss/variables.scss +52 -52
  54. package/css-utilities/[max,min]/scss/variables.scss +23 -23
  55. package/css-utilities/absolute/scss/absolute.scss +59 -59
  56. package/css-utilities/background/scss/variables.scss +28 -28
  57. package/css-utilities/border/scss/border.scss +21 -21
  58. package/css-utilities/border/scss/variables.scss +66 -66
  59. package/css-utilities/color/scss/variables.scss +32 -32
  60. package/css-utilities/flex/scss/flex.scss +67 -67
  61. package/css-utilities/hidden/scss/hidden.scss +28 -28
  62. package/css-utilities/index.scss +14 -14
  63. package/css-utilities/pointer/scss/pointer.scss +5 -5
  64. package/css-utilities/size/scss/variables.scss +12 -12
  65. package/css-utilities/slide/scss/slide.scss +20 -20
  66. package/css-utilities/slide/scss/variables.scss +6 -6
  67. package/css-utilities/text/scss/text.scss +93 -93
  68. package/css-utilities/text/scss/variables.scss +31 -31
  69. package/css-utilities/width/scss/variables.scss +12 -12
  70. package/lib/index.scss +7 -7
  71. package/lib/scss/color.scss +8 -8
  72. package/lib/scss/list.scss +112 -112
  73. package/lib/scss/string.scss +54 -54
  74. package/package.json +22 -22
  75. package/storage/fonts/Montserrat/montserrat.css +79 -79
  76. package/tokens/index.scss +11 -11
  77. package/tokens/scss/border-radius.scss +12 -12
  78. package/tokens/scss/border-width.scss +6 -6
  79. package/tokens/scss/box-shadow.scss +13 -13
  80. package/tokens/scss/breakpoints.scss +13 -13
  81. package/tokens/scss/color.scss +71 -71
  82. package/tokens/scss/font-size.scss +12 -12
  83. package/tokens/scss/font-weight.scss +6 -6
  84. package/tokens/scss/line-height.scss +6 -6
  85. package/tokens/scss/size.scss +13 -13
  86. package/tokens/scss/state.scss +93 -93
  87. package/tokens/scss/transition-duration.scss +5 -5
  88. package/webpack.sass.config.js +59 -59
package/.gitattributes CHANGED
@@ -1,2 +1,2 @@
1
- # Auto detect text files and perform LF normalization
2
- * text=auto
1
+ # Auto detect text files and perform LF normalization
2
+ * text=auto
@@ -1,16 +1,16 @@
1
- @use 'ui/tokens';
2
-
3
- .accordion {
4
- max-height: var(--max-height);
5
- opacity: 0;
6
- pointer-events: none;
7
- transition:
8
- max-height var(--transition-duration) ease-in-out,
9
- opacity var(--transition-duration) ease-in-out;
10
-
11
-
12
- @include tokens.state(active) {
13
- opacity: 1;
14
- pointer-events: auto;
15
- }
16
- }
1
+ @use 'ui/tokens';
2
+
3
+ .accordion {
4
+ max-height: var(--max-height);
5
+ opacity: 0;
6
+ pointer-events: none;
7
+ transition:
8
+ max-height var(--transition-duration) ease-in-out,
9
+ opacity var(--transition-duration) ease-in-out;
10
+
11
+
12
+ @include tokens.state(active) {
13
+ opacity: 1;
14
+ pointer-events: auto;
15
+ }
16
+ }
@@ -1,4 +1,4 @@
1
- .accordion {
2
- --max-height: 0;
3
- --transition-duration: var(--transition-duration-400);
4
- }
1
+ .accordion {
2
+ --max-height: 0;
3
+ --transition-duration: var(--transition-duration-400);
4
+ }
@@ -1,41 +1,41 @@
1
- @use 'ui/lib';
2
- @use 'ui/tokens';
3
-
4
- .anchor {
5
- max-height: calc(100% - (var(--margin-vertical) * 2));
6
- max-width: calc(100% - (var(--margin-horizontal) * 2));
7
- pointer-events: auto;
8
- position: absolute;
9
- transition:
10
- opacity var(--transition-duration) ease-in-out,
11
- transform var(--transition-duration) ease-in-out;
12
-
13
- @include tokens.state(inactive) {
14
- opacity: 0;
15
-
16
- &, * {
17
- pointer-events: none;
18
- }
19
- }
20
-
21
-
22
- &--ne,
23
- &--nw {
24
- top: var(--margin-vertical);
25
- }
26
-
27
- &--se,
28
- &--sw {
29
- bottom: var(--margin-vertical);
30
- }
31
-
32
- &--ne,
33
- &--se {
34
- right: var(--margin-horizontal);
35
- }
36
-
37
- &--nw,
38
- &--sw {
39
- left: var(--margin-horizontal);
40
- }
41
- }
1
+ @use 'ui/lib';
2
+ @use 'ui/tokens';
3
+
4
+ .anchor {
5
+ max-height: calc(100% - (var(--margin-vertical) * 2));
6
+ max-width: calc(100% - (var(--margin-horizontal) * 2));
7
+ pointer-events: auto;
8
+ position: absolute;
9
+ transition:
10
+ opacity var(--transition-duration) ease-in-out,
11
+ transform var(--transition-duration) ease-in-out;
12
+
13
+ @include tokens.state(inactive) {
14
+ opacity: 0;
15
+
16
+ &, * {
17
+ pointer-events: none;
18
+ }
19
+ }
20
+
21
+
22
+ &--ne,
23
+ &--nw {
24
+ top: var(--margin-vertical);
25
+ }
26
+
27
+ &--se,
28
+ &--sw {
29
+ bottom: var(--margin-vertical);
30
+ }
31
+
32
+ &--ne,
33
+ &--se {
34
+ right: var(--margin-horizontal);
35
+ }
36
+
37
+ &--nw,
38
+ &--sw {
39
+ left: var(--margin-horizontal);
40
+ }
41
+ }
@@ -1,9 +1,9 @@
1
- @use 'ui/lib';
2
-
3
- .anchors {
4
- @include lib.position(fixed, full);
5
- height: 100vh;
6
- pointer-events: none;
7
- width: 100vw;
8
- z-index: 9;
9
- }
1
+ @use 'ui/lib';
2
+
3
+ .anchors {
4
+ @include lib.position(fixed, full);
5
+ height: 100vh;
6
+ pointer-events: none;
7
+ width: 100vw;
8
+ z-index: 9;
9
+ }
@@ -1,5 +1,5 @@
1
- .anchor {
2
- --margin-horizontal: var(--size-400);
3
- --margin-vertical: var(--size-400);
4
- --transition-duration: var(--transition-duration-400);
5
- }
1
+ .anchor {
2
+ --margin-horizontal: var(--size-400);
3
+ --margin-vertical: var(--size-400);
4
+ --transition-duration: var(--transition-duration-400);
5
+ }
@@ -1,13 +1,13 @@
1
- @use 'ui/lib';
2
-
3
- .banner {
4
- @include lib.position(absolute, full);
5
- background-position: center;
6
- background-size: cover;
7
- z-index: -1;
8
-
9
-
10
- &--fixed {
11
- position: fixed;
12
- }
13
- }
1
+ @use 'ui/lib';
2
+
3
+ .banner {
4
+ @include lib.position(absolute, full);
5
+ background-position: center;
6
+ background-size: cover;
7
+ z-index: -1;
8
+
9
+
10
+ &--fixed {
11
+ position: fixed;
12
+ }
13
+ }
@@ -1,10 +1,10 @@
1
- .border {
2
- border-top: var(--border-width) var(--border-style) var(--border-color);
3
- position: relative;
4
- width: 100%;
5
-
6
-
7
- & + & {
8
- display: none;
9
- }
10
- }
1
+ .border {
2
+ border-top: var(--border-width) var(--border-style) var(--border-color);
3
+ position: relative;
4
+ width: 100%;
5
+
6
+
7
+ & + & {
8
+ display: none;
9
+ }
10
+ }
@@ -1,6 +1,6 @@
1
- .border {
2
- --border-color: var(--border-color-default);
3
- --border-color-default: var(--color-border-400);
4
- --border-style: solid;
5
- --border-width: var(--border-width-400);
6
- }
1
+ .border {
2
+ --border-color: var(--border-color-default);
3
+ --border-color-default: var(--color-border-400);
4
+ --border-style: solid;
5
+ --border-width: var(--border-width-400);
6
+ }
@@ -1,30 +1,30 @@
1
- .bubble {
2
- background: var(--background);
3
- border-radius: var(--border-radius);
4
- height: var(--height);
5
- width: var(--width);
6
-
7
-
8
- &--bottom,
9
- &--top {
10
- &-left,
11
- &-right {
12
- position: absolute;
13
- }
14
-
15
- @each $direction in 'left' 'right' {
16
- &-#{$direction} {
17
- #{$direction}: var(--position-horizontal);
18
- }
19
- }
20
- }
21
-
22
- @each $direction in 'bottom' 'top' {
23
- &--#{$direction} {
24
- &-left,
25
- &-right {
26
- #{$direction}: var(--position-vertical);
27
- }
28
- }
29
- }
30
- }
1
+ .bubble {
2
+ background: var(--background);
3
+ border-radius: var(--border-radius);
4
+ height: var(--height);
5
+ width: var(--width);
6
+
7
+
8
+ &--bottom,
9
+ &--top {
10
+ &-left,
11
+ &-right {
12
+ position: absolute;
13
+ }
14
+
15
+ @each $direction in 'left' 'right' {
16
+ &-#{$direction} {
17
+ #{$direction}: var(--position-horizontal);
18
+ }
19
+ }
20
+ }
21
+
22
+ @each $direction in 'bottom' 'top' {
23
+ &--#{$direction} {
24
+ &-left,
25
+ &-right {
26
+ #{$direction}: var(--position-vertical);
27
+ }
28
+ }
29
+ }
30
+ }
@@ -1,19 +1,19 @@
1
- .bubble {
2
- --background: var(--background-default);
3
- --background-default: var(--color-border-400);
4
- --border-radius: var(--border-radius-circle);
5
- --height: var(--size);
6
- --margin-horizontal: var(--size-100);
7
- --width: var(--size);
8
- --size: 6px;
9
-
10
-
11
- &--bottom,
12
- &--top {
13
- &-left,
14
- &-right {
15
- --position-horizontal: calc(var(--size) / -2);
16
- --position-vertical: calc(var(--size) / -2);
17
- }
18
- }
19
- }
1
+ .bubble {
2
+ --background: var(--background-default);
3
+ --background-default: var(--color-border-400);
4
+ --border-radius: var(--border-radius-circle);
5
+ --height: var(--size);
6
+ --margin-horizontal: var(--size-100);
7
+ --width: var(--size);
8
+ --size: 6px;
9
+
10
+
11
+ &--bottom,
12
+ &--top {
13
+ &-left,
14
+ &-right {
15
+ --position-horizontal: calc(var(--size) / -2);
16
+ --position-vertical: calc(var(--size) / -2);
17
+ }
18
+ }
19
+ }
@@ -1,93 +1,93 @@
1
- @use 'ui/lib';
2
- @use 'ui/tokens';
3
-
4
- .button {
5
- align-content: center;
6
- align-items: center;
7
- background: var(--background);
8
- border-radius: var(--border-radius);
9
- color: var(--color);
10
- cursor: pointer;
11
- display: flex;
12
- flex-wrap: wrap;
13
- font-size: var(--font-size);
14
- font-weight: var(--font-weight);
15
- justify-content: center;
16
- line-height: var(--line-height);
17
- min-width: var(--min-width);
18
- padding: calc(var(--padding-vertical) - var(--border-width)) calc(var(--padding-horizontal) - var(--border-width));
19
- position: relative;
20
- transition: all var(--transition-duration) ease-in-out;
21
- width: var(--width);
22
-
23
-
24
- // Pseudo Element Box Shadow
25
- &::after {
26
- @include lib.position(absolute, full);
27
- border-radius: inherit;
28
- box-shadow: var(--box-shadow);
29
- content: '';
30
- pointer-events: none;
31
- transition:
32
- box-shadow var(--transition-duration) ease-in-out,
33
- opacity var(--transition-duration) ease-in-out;
34
- z-index: 0;
35
- }
36
-
37
-
38
- &--flat {
39
- &::after {
40
- display: none;
41
- }
42
- }
43
-
44
- &--processing {
45
- color: transparent;
46
- pointer-events: none;
47
-
48
- &::before {
49
- @include lib.position(absolute, center);
50
- animation: button--processing var(--animation-duration) infinite linear;
51
- border: var(--border-width) solid var(--border-color);
52
- border-radius: 100%;
53
- border-right-color: transparent;
54
- border-top-color: transparent;
55
- content: '';
56
- height: var(--size);
57
- width: var(--size);
58
- }
59
-
60
- * {
61
- opacity: 0;
62
- }
63
-
64
- @keyframes button--processing {
65
- 0% {
66
- transform: translate(50%, 50%) rotate(0deg);
67
- }
68
- 100% {
69
- transform: translate(50%, 50%) rotate(359deg);
70
- }
71
- }
72
- }
73
-
74
- &--top {
75
- &-left,
76
- &-right {
77
- position: absolute;
78
- top: calc((#{var(--padding-vertical)} + #{var(--line-height) / 2}) * -1);
79
- }
80
-
81
- @each $direction in 'left' 'right' {
82
- &-#{$direction} {
83
- #{$direction}: calc((#{var(--padding-horizontal)} + #{var(--line-height) / 2}) * -1);
84
- }
85
- }
86
- }
87
-
88
- &--underline {
89
- @include tokens.state(active hover) {
90
- text-decoration: underline;
91
- }
92
- }
93
- }
1
+ @use 'ui/lib';
2
+ @use 'ui/tokens';
3
+
4
+ .button {
5
+ align-content: center;
6
+ align-items: center;
7
+ background: var(--background);
8
+ border-radius: var(--border-radius);
9
+ color: var(--color);
10
+ cursor: pointer;
11
+ display: flex;
12
+ flex-wrap: wrap;
13
+ font-size: var(--font-size);
14
+ font-weight: var(--font-weight);
15
+ justify-content: center;
16
+ line-height: var(--line-height);
17
+ min-width: var(--min-width);
18
+ padding: calc(var(--padding-vertical) - var(--border-width)) calc(var(--padding-horizontal) - var(--border-width));
19
+ position: relative;
20
+ transition: all var(--transition-duration) ease-in-out;
21
+ width: var(--width);
22
+
23
+
24
+ // Pseudo Element Box Shadow
25
+ &::after {
26
+ @include lib.position(absolute, full);
27
+ border-radius: inherit;
28
+ box-shadow: var(--box-shadow);
29
+ content: '';
30
+ pointer-events: none;
31
+ transition:
32
+ box-shadow var(--transition-duration) ease-in-out,
33
+ opacity var(--transition-duration) ease-in-out;
34
+ z-index: 0;
35
+ }
36
+
37
+
38
+ &--flat {
39
+ &::after {
40
+ display: none;
41
+ }
42
+ }
43
+
44
+ &--processing {
45
+ color: transparent;
46
+ pointer-events: none;
47
+
48
+ &::before {
49
+ @include lib.position(absolute, center);
50
+ animation: button--processing var(--animation-duration) infinite linear;
51
+ border: var(--border-width) solid var(--border-color);
52
+ border-radius: 100%;
53
+ border-right-color: transparent;
54
+ border-top-color: transparent;
55
+ content: '';
56
+ height: var(--size);
57
+ width: var(--size);
58
+ }
59
+
60
+ * {
61
+ opacity: 0;
62
+ }
63
+
64
+ @keyframes button--processing {
65
+ 0% {
66
+ transform: translate(50%, 50%) rotate(0deg);
67
+ }
68
+ 100% {
69
+ transform: translate(50%, 50%) rotate(359deg);
70
+ }
71
+ }
72
+ }
73
+
74
+ &--top {
75
+ &-left,
76
+ &-right {
77
+ position: absolute;
78
+ top: calc((#{var(--padding-vertical)} + #{var(--line-height) / 2}) * -1);
79
+ }
80
+
81
+ @each $direction in 'left' 'right' {
82
+ &-#{$direction} {
83
+ #{$direction}: calc((#{var(--padding-horizontal)} + #{var(--line-height) / 2}) * -1);
84
+ }
85
+ }
86
+ }
87
+
88
+ &--underline {
89
+ @include tokens.state(active hover) {
90
+ text-decoration: underline;
91
+ }
92
+ }
93
+ }
@@ -1,70 +1,70 @@
1
- @use 'ui/lib';
2
- @use 'ui/tokens';
3
-
4
- .button {
5
- --background: var(--background-default);
6
- --background-active: var(--background-default);
7
- --background-default: transparent;
8
- --background-hover: var(--background-default);
9
- --background-pressed: var(--background-default);
10
- --border-color: var(--border-color-default);
11
- --border-color-active: var(--border-color-default);
12
- --border-color-default: var(--background);
13
- --border-color-hover: var(--border-color-default);
14
- --border-color-pressed: var(--border-color-default);
15
- --border-radius: var(--border-radius-400);
16
- --border-width: 0px;
17
- --box-shadow: var(--box-shadow-default);
18
- --box-shadow-active: var(--box-shadow-300);
19
- --box-shadow-default: none;
20
- --box-shadow-hover: var(--box-shadow-400);
21
- --box-shadow-pressed: none;
22
- --color: var(--color-default);
23
- --color-active: var(--color-default);
24
- --color-default: var(--color-text-400);
25
- --color-hover: var(--color-default);
26
- --color-pressed: var(--color-default);
27
- --font-size: var(--font-size-400);
28
- --font-weight: var(--font-weight-400);
29
- --line-height: var(--line-height-400);
30
- --min-width: auto;
31
- --padding-horizontal: var(--size-400);
32
- --padding-vertical: var(--size-400);
33
- --transition-duration: var(--transition-duration-400);
34
- --width: auto;
35
-
36
- @include tokens.state(active) {
37
- --background: var(--background-active);
38
- --border-color: var(--border-color-active);
39
- --box-shadow: var(--box-shadow-active);
40
- --color: var(--color-active);
41
- }
42
-
43
- @include tokens.state(hover) {
44
- --background: var(--background-hover);
45
- --border-color: var(--border-color-hover);
46
- --box-shadow: var(--box-shadow-hover);
47
- --color: var(--color-hover);
48
- }
49
-
50
- @include tokens.state(pressed) {
51
- --background: var(--background-pressed);
52
- --border-color: var(--border-color-pressed);
53
- --box-shadow: var(--box-shadow-pressed);
54
- --color: var(--color-pressed);
55
- }
56
-
57
-
58
- &--processing {
59
- --animation-duration: 0.64s;
60
- --border-color: var(--color);
61
- --border-width: var(--border-width-400);
62
- --size: var(--size-400);
63
-
64
- @each $key in lib.map-keys(tokens.$border-width) {
65
- &-#{$key} {
66
- --border-width: var(--border-width-#{$key});
67
- }
68
- }
69
- }
70
- }
1
+ @use 'ui/lib';
2
+ @use 'ui/tokens';
3
+
4
+ .button {
5
+ --background: var(--background-default);
6
+ --background-active: var(--background-default);
7
+ --background-default: transparent;
8
+ --background-hover: var(--background-default);
9
+ --background-pressed: var(--background-default);
10
+ --border-color: var(--border-color-default);
11
+ --border-color-active: var(--border-color-default);
12
+ --border-color-default: var(--background);
13
+ --border-color-hover: var(--border-color-default);
14
+ --border-color-pressed: var(--border-color-default);
15
+ --border-radius: var(--border-radius-400);
16
+ --border-width: 0px;
17
+ --box-shadow: var(--box-shadow-default);
18
+ --box-shadow-active: var(--box-shadow-300);
19
+ --box-shadow-default: none;
20
+ --box-shadow-hover: var(--box-shadow-400);
21
+ --box-shadow-pressed: none;
22
+ --color: var(--color-default);
23
+ --color-active: var(--color-default);
24
+ --color-default: var(--color-text-400);
25
+ --color-hover: var(--color-default);
26
+ --color-pressed: var(--color-default);
27
+ --font-size: var(--font-size-400);
28
+ --font-weight: var(--font-weight-400);
29
+ --line-height: var(--line-height-400);
30
+ --min-width: auto;
31
+ --padding-horizontal: var(--size-400);
32
+ --padding-vertical: var(--size-400);
33
+ --transition-duration: var(--transition-duration-400);
34
+ --width: auto;
35
+
36
+ @include tokens.state(active) {
37
+ --background: var(--background-active);
38
+ --border-color: var(--border-color-active);
39
+ --box-shadow: var(--box-shadow-active);
40
+ --color: var(--color-active);
41
+ }
42
+
43
+ @include tokens.state(hover) {
44
+ --background: var(--background-hover);
45
+ --border-color: var(--border-color-hover);
46
+ --box-shadow: var(--box-shadow-hover);
47
+ --color: var(--color-hover);
48
+ }
49
+
50
+ @include tokens.state(pressed) {
51
+ --background: var(--background-pressed);
52
+ --border-color: var(--border-color-pressed);
53
+ --box-shadow: var(--box-shadow-pressed);
54
+ --color: var(--color-pressed);
55
+ }
56
+
57
+
58
+ &--processing {
59
+ --animation-duration: 0.64s;
60
+ --border-color: var(--color);
61
+ --border-width: var(--border-width-400);
62
+ --size: var(--size-400);
63
+
64
+ @each $key in lib.map-keys(tokens.$border-width) {
65
+ &-#{$key} {
66
+ --border-width: var(--border-width-#{$key});
67
+ }
68
+ }
69
+ }
70
+ }