@golstats/gsc-lineups-reports 1.0.9 → 1.1.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 (48) hide show
  1. package/README.md +2 -2
  2. package/dist/css/fonts.css +91 -91
  3. package/dist/gsc-lineups-reports.css +1 -1
  4. package/dist/gsc-lineups-reports.es.js +2946 -2675
  5. package/dist/gsc-lineups-reports.umd.js +10 -7
  6. package/dist/images/canchaRPH.svg +30 -30
  7. package/dist/images/events/atajada.svg +56 -56
  8. package/dist/images/events/fin-del-partido.svg +43 -43
  9. package/dist/images/events/fuera-de-lugar.svg +57 -57
  10. package/dist/images/events/gol.svg +48 -48
  11. package/dist/images/events/icn-cambio.svg +6 -6
  12. package/dist/images/events/icn-falta.svg +4 -4
  13. package/dist/images/events/icn-play.svg +3 -3
  14. package/dist/images/events/icn-tarjeta-amarilla.svg +3 -3
  15. package/dist/images/events/icn-tarjeta-roja.svg +3 -3
  16. package/dist/images/events/icn-tiro-a-porteria.svg +36 -36
  17. package/dist/images/events/icn-tiros-de-esquina.svg +18 -18
  18. package/dist/images/events/inicia-el-partido.svg +45 -45
  19. package/dist/images/events/jugada-peligrosa.svg +90 -90
  20. package/dist/images/events/penal-fallado.svg +194 -194
  21. package/dist/images/events/penal-marcado.svg +189 -189
  22. package/dist/images/events/tiempo-agregado.svg +74 -74
  23. package/dist/images/events/tiro-a-porteria.svg +80 -80
  24. package/dist/images/events/var.svg +30 -30
  25. package/package.json +7 -3
  26. package/src/components/Lineup2D/CheckBox.vue +42 -42
  27. package/src/components/Lineup2D/FilterEmpty.vue +48 -48
  28. package/src/components/Lineup2D/Icons.vue +29 -29
  29. package/src/components/Lineup2D/LineupField.vue +274 -274
  30. package/src/components/Lineup2D/LineupFilter.vue +285 -285
  31. package/src/components/Lineup2D/LineupMainHeader.vue +222 -222
  32. package/src/components/Lineup2D/LineupRecentItem.vue +110 -110
  33. package/src/components/Lineup2D/MatchDetails.vue +66 -66
  34. package/src/components/gsc-filter.vue +286 -286
  35. package/src/components/gsc-header-historico-lineup.vue +1064 -1064
  36. package/src/components/gsc-header-postmatch-lineup.vue +1017 -1017
  37. package/src/components/gsc-header-probables-lineup.vue +1044 -1044
  38. package/src/components/gsc-header-recientes-lineup.vue +2337 -2337
  39. package/src/components/gsc-lineup-dosd.vue +3777 -3752
  40. package/src/components/gsc-lineup-main.vue +81 -65
  41. package/src/components/gsc-lineups-reports.vue +10 -0
  42. package/src/components/gsc-lineups.vue +46 -12
  43. package/src/components/gsc-player-card.vue +166 -166
  44. package/src/index.js +4 -4
  45. package/src/main-test.js +42 -0
  46. package/src/types.d.ts +45 -45
  47. package/src/utils/apiUrl.js +33 -0
  48. package/src/utils/socketConnection.js +29 -29
@@ -1,286 +1,286 @@
1
- <template>
2
- <div class="filter-modal" :style="{ zIndex }">
3
- <div class="filter-modal__input" @click="openSelect">
4
- <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
5
- <g id="vuesax/outline/sort">
6
- <g id="sort">
7
- <path id="Vector" opacity="0.7" d="M15.75 5.8125H2.25C1.9425 5.8125 1.6875 5.5575 1.6875 5.25C1.6875 4.9425 1.9425 4.6875 2.25 4.6875H15.75C16.0575 4.6875 16.3125 4.9425 16.3125 5.25C16.3125 5.5575 16.0575 5.8125 15.75 5.8125Z" fill="white"/>
8
- <path id="Vector_2" opacity="0.7" d="M13.5 9.5625H4.5C4.1925 9.5625 3.9375 9.3075 3.9375 9C3.9375 8.6925 4.1925 8.4375 4.5 8.4375H13.5C13.8075 8.4375 14.0625 8.6925 14.0625 9C14.0625 9.3075 13.8075 9.5625 13.5 9.5625Z" fill="white"/>
9
- <path id="Vector_3" opacity="0.7" d="M10.5 13.3125H7.5C7.1925 13.3125 6.9375 13.0575 6.9375 12.75C6.9375 12.4425 7.1925 12.1875 7.5 12.1875H10.5C10.8075 12.1875 11.0625 12.4425 11.0625 12.75C11.0625 13.0575 10.8075 13.3125 10.5 13.3125Z" fill="white"/>
10
- </g>
11
- </g>
12
- </svg>
13
- <input class="filter-modal__filter-text" type="text" :value="name" readonly>
14
- <svg width="8" height="4" viewBox="0 0 8 4" fill="none" xmlns="http://www.w3.org/2000/svg">
15
- <path fill-rule="evenodd" clip-rule="evenodd" d="M4 2.62045L6.86193 0.167368C7.12228 -0.0557892 7.54439 -0.0557892 7.80474 0.167368C8.06509 0.390524 8.06509 0.752333 7.80474 0.97549L4.4714 3.83263C4.21105 4.05579 3.78895 4.05579 3.5286 3.83263L0.195262 0.97549C-0.0650874 0.752333 -0.0650874 0.390524 0.195262 0.167368C0.455612 -0.0557892 0.877722 -0.0557892 1.13807 0.167368L4 2.62045Z" fill="#92929D"/>
16
- </svg>
17
- </div>
18
- <div class="filter-modal__content" tabindex="0" ref="filterElement" @focusout="isOpen = false; goBack()" :class="isOpen ? 'open' : 'close'">
19
- <div class="filter-modal__padding">
20
- <div class="filter-modal__content-header">
21
- <h3>Jugando como:</h3>
22
- <CheckBox v-model="selectedAllTeams" label="Todos" @update:model-value="(value)=> ( value && (selectedFilterTeam = ['local', 'visit']))" />
23
- </div>
24
- <ul class="filter-modal__content-options">
25
- <li v-for="item in teamOtp" @click="onSelect(item.id, 'team')" :class="{ active: selectedFilterTeam.includes(item.id)}" >{{ item.name }}</li>
26
- </ul>
27
- <div class="filter-modal__content-header">
28
- <h3>Resultados:</h3>
29
- <CheckBox v-model="selectedAllResults" label="Todos" @update:model-value="(value)=> ( value && (selectedFilterResults = ['win','lose','draw']))" />
30
- </div>
31
- <ul class="filter-modal__content-options">
32
- <li v-for="item in resultOtp" @click="onSelect(item.id, 'player')" :class="{ active: selectedFilterResults.includes(item.id)}" >{{ item.name }}</li>
33
- </ul>
34
- </div>
35
- <hr style="border-color: #FFFFFF33;">
36
- <div class="filter-modal__buttons">
37
- <div class="button filter-modal__text-btn" @click="removeFilter">Quitar filtros</div>
38
- <div class="button filter-modal__outline-btn" @click="emitChanges">Listo</div>
39
- </div>
40
- </div>
41
- </div>
42
- </template>
43
- <script setup>
44
- import { ref, watch } from 'vue';
45
- import CheckBox from '@/components/Lineup2D/CheckBox.vue'
46
- const props = defineProps({
47
- name: {
48
- type: String,
49
- default: '',
50
- },
51
- reset: {
52
- type: Boolean,
53
- default: false,
54
- },
55
- zIndex: {
56
- type: Number,
57
- default: 1
58
- },
59
- componentWidth: {
60
- type: Number,
61
- default: 768,
62
- validator(value) {
63
- return value > 0
64
- }
65
- },
66
- })
67
- const teamOtp = [{ id: "local", name: 'Local' }, { id: "visit", name: 'Visitante'}]
68
- const resultOtp = [{ id: "win", name: 'Ganado' }, { id: "draw", name: 'Empatados' }, { id: "lose", name: 'Perdidos' }]
69
-
70
- const isOpen = ref(false)
71
-
72
- const filterElement = ref(null)
73
- const emit = defineEmits(['update:model-value', 'change'])
74
- const backUpFilterTeam = ref(["local", "visit"])
75
- const backUpFilterResults = ref(["win","draw", "lose" ])
76
- const backUpAllTeams = ref(true)
77
- const backUpAllResults = ref(true)
78
- const selectedAllTeams = ref(true)
79
- const selectedAllResults = ref(true)
80
- const selectedFilterTeam = ref(["local", "visit"])
81
- const selectedFilterResults = ref(["win","draw", "lose" ])
82
-
83
- const openSelect = () => {
84
- isOpen.value = !isOpen.value
85
- filterElement.value.focus()
86
- backUpFilterTeam.value = JSON.parse(JSON.stringify(selectedFilterTeam.value))
87
- backUpFilterResults.value = JSON.parse(JSON.stringify(selectedFilterResults.value))
88
- backUpAllTeams.value = selectedAllTeams.value
89
- backUpAllResults.value = selectedAllResults.value
90
- }
91
-
92
- watch(() => props.itemSelect, (newValue) => {
93
- if (newValue) {
94
- selectedFilterTeam.value = newValue.selectedFilterTeam
95
- selectedFilterResults.value = newValue.selectedFilterResults
96
- }
97
- })
98
-
99
- watch(() => props.reset, (newValue) => {
100
- if (newValue) {
101
- removeFilter();
102
- }
103
- })
104
-
105
- const onSelect = (filter, type) => {
106
- let filterArr
107
- if(type === "team") {
108
- filterArr = selectedFilterTeam.value
109
- } else {
110
- filterArr = selectedFilterResults.value
111
- }
112
- const foundInd = filterArr.findIndex(item => item === filter)
113
- if(foundInd == -1) {
114
- filterArr.push(filter)
115
- } else {
116
- if(type == 'team' && selectedFilterTeam.value.length > 1){
117
- filterArr.splice(foundInd,1)
118
- }else{
119
- if(type == 'team'){
120
- filterArr.push(filter);
121
- }
122
- if(selectedFilterResults.value.length > 1){
123
- filterArr.splice(foundInd,1)
124
- }
125
- }
126
- }
127
- selectedAllTeams.value = selectedFilterTeam.value.length == 2 ? true : false
128
- selectedAllResults.value = selectedFilterResults.value.length == 3 ? true : false
129
- }
130
-
131
- const removeFilter = ()=> {
132
- selectedFilterTeam.value = ["local", "visit"]
133
- selectedFilterResults.value = ["win","draw", "lose" ]
134
- selectedAllTeams.value = true
135
- selectedAllResults.value = true
136
- emit('change', { selectedFilterTeam: selectedFilterTeam.value, selectedFilterResults: selectedFilterResults.value })
137
- }
138
- const emitChanges = () => {
139
- emit('change', { selectedFilterTeam: selectedFilterTeam.value, selectedFilterResults: selectedFilterResults.value })
140
- isOpen.value = !isOpen.value
141
- }
142
- const goBack = () => {
143
- emit('change', { selectedFilterTeam: selectedFilterTeam.value, selectedFilterResults: selectedFilterResults.value })
144
- }
145
- </script>
146
- <style lang="scss" scoped>
147
-
148
-
149
- .filter-modal {
150
- max-width: 103px;
151
- width: 100%;
152
- border-radius: 8px;
153
- border: 1px solid rgba(255, 255, 255, 0.20);
154
- background: #25333E;
155
- position: relative;
156
- height: 28px;
157
- cursor: pointer;
158
- @media only screen and (max-width : 500px) {
159
- width: 55px;
160
- }
161
- &__filter-text {
162
- @media only screen and (max-width : 500px) {
163
- display: none;
164
- }
165
- }
166
- &__input {
167
- display: flex;
168
- align-items: center;
169
- padding: 0 8px 0 12px;
170
- font-size: 14px;
171
- height: 23px;
172
- @media only screen and (max-width : 500px) {
173
- justify-content: space-between;
174
- }
175
- }
176
- input {
177
- padding: 8px;
178
- cursor: pointer;
179
- width: 100%;
180
- border: none;
181
- background: transparent;
182
- outline: none;
183
- color: #FFF;
184
- font-family: Poppins-Regular, sans-serif;
185
- font-size: 14px;
186
- font-weight: 400;
187
- line-height: 24px;
188
- }
189
- &__content {
190
- position: absolute;
191
- top: calc(100% + 15px);
192
- left: 0;
193
- font-size: 12px;
194
- min-width: 100%;
195
- padding: 0;
196
- border-radius: 12px;
197
- background: #2E3B46;
198
- width: 305px;
199
- font-family: Poppins, sans-serif;
200
- color: #FFF;
201
- overflow: hidden;
202
- // overflow-y: auto;
203
- &.close {
204
- max-height: 0;
205
- }
206
- &.open {
207
- max-height: 600px;
208
- // max-height: 400px;
209
- }
210
- }
211
- &__padding {
212
- padding: 20px 16.5px;
213
- }
214
- &__content-header {
215
- display: flex;
216
- width: 100%;
217
- justify-content: space-between;
218
- align-items: center;
219
- margin-bottom: 17px;
220
- h3 {
221
- margin: 0;
222
- color: #FFF;
223
- font-family: Poppins, sans-serif;
224
- font-size: 14px;
225
- font-style: normal;
226
- font-weight: 500;
227
- line-height: 150%; /* 21px */
228
- }
229
- }
230
- &__content-options {
231
- list-style: none;
232
- margin: 0;
233
- padding: 0;
234
- display: flex;
235
- margin-bottom: 27px;
236
- li:first-child {
237
- border-radius: 4px 0 0 4px;
238
- }
239
- li:last-child {
240
- border-radius: 0 4px 4px 0;
241
- }
242
- li.active {
243
- border-color: #CBEE6B;
244
- }
245
- li {
246
- border: 0.8px solid #8EA2AB;
247
- height: 38px;
248
- line-height: 38px;
249
- text-align: center;
250
- flex: 1 1 0%;
251
- }
252
- }
253
- &__buttons {
254
- height: 60px;
255
- border-radius: 0 0 12px 12px;
256
- display: flex;
257
- justify-content: center;
258
- align-items: center;
259
- }
260
- .button {
261
- outline: none;
262
- background: transparent;
263
- color: #FFF;
264
- text-align: center;
265
- font-family: Poppins, sans-serif;
266
- font-size: 12px;
267
- font-style: normal;
268
- font-weight: 500;
269
- line-height: 120%; /* 14.4px */
270
- letter-spacing: -0.36px;
271
- cursor: pointer;
272
- }
273
- &__text-btn {
274
- border: none;
275
- color: rgba(255, 255, 255, 0.75);
276
- margin-right: 16px;
277
- text-decoration-line: underline;
278
- }
279
- &__outline-btn {
280
- color: #FFF;
281
- border-radius: 64px;
282
- border: 0.8px solid #CBEE6B;
283
- padding: 6px 24px;
284
- }
285
- }
1
+ <template>
2
+ <div class="filter-modal" :style="{ zIndex }">
3
+ <div class="filter-modal__input" @click="openSelect">
4
+ <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
5
+ <g id="vuesax/outline/sort">
6
+ <g id="sort">
7
+ <path id="Vector" opacity="0.7" d="M15.75 5.8125H2.25C1.9425 5.8125 1.6875 5.5575 1.6875 5.25C1.6875 4.9425 1.9425 4.6875 2.25 4.6875H15.75C16.0575 4.6875 16.3125 4.9425 16.3125 5.25C16.3125 5.5575 16.0575 5.8125 15.75 5.8125Z" fill="white"/>
8
+ <path id="Vector_2" opacity="0.7" d="M13.5 9.5625H4.5C4.1925 9.5625 3.9375 9.3075 3.9375 9C3.9375 8.6925 4.1925 8.4375 4.5 8.4375H13.5C13.8075 8.4375 14.0625 8.6925 14.0625 9C14.0625 9.3075 13.8075 9.5625 13.5 9.5625Z" fill="white"/>
9
+ <path id="Vector_3" opacity="0.7" d="M10.5 13.3125H7.5C7.1925 13.3125 6.9375 13.0575 6.9375 12.75C6.9375 12.4425 7.1925 12.1875 7.5 12.1875H10.5C10.8075 12.1875 11.0625 12.4425 11.0625 12.75C11.0625 13.0575 10.8075 13.3125 10.5 13.3125Z" fill="white"/>
10
+ </g>
11
+ </g>
12
+ </svg>
13
+ <input class="filter-modal__filter-text" type="text" :value="name" readonly>
14
+ <svg width="8" height="4" viewBox="0 0 8 4" fill="none" xmlns="http://www.w3.org/2000/svg">
15
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M4 2.62045L6.86193 0.167368C7.12228 -0.0557892 7.54439 -0.0557892 7.80474 0.167368C8.06509 0.390524 8.06509 0.752333 7.80474 0.97549L4.4714 3.83263C4.21105 4.05579 3.78895 4.05579 3.5286 3.83263L0.195262 0.97549C-0.0650874 0.752333 -0.0650874 0.390524 0.195262 0.167368C0.455612 -0.0557892 0.877722 -0.0557892 1.13807 0.167368L4 2.62045Z" fill="#92929D"/>
16
+ </svg>
17
+ </div>
18
+ <div class="filter-modal__content" tabindex="0" ref="filterElement" @focusout="isOpen = false; goBack()" :class="isOpen ? 'open' : 'close'">
19
+ <div class="filter-modal__padding">
20
+ <div class="filter-modal__content-header">
21
+ <h3>Jugando como:</h3>
22
+ <CheckBox v-model="selectedAllTeams" label="Todos" @update:model-value="(value)=> ( value && (selectedFilterTeam = ['local', 'visit']))" />
23
+ </div>
24
+ <ul class="filter-modal__content-options">
25
+ <li v-for="item in teamOtp" @click="onSelect(item.id, 'team')" :class="{ active: selectedFilterTeam.includes(item.id)}" >{{ item.name }}</li>
26
+ </ul>
27
+ <div class="filter-modal__content-header">
28
+ <h3>Resultados:</h3>
29
+ <CheckBox v-model="selectedAllResults" label="Todos" @update:model-value="(value)=> ( value && (selectedFilterResults = ['win','lose','draw']))" />
30
+ </div>
31
+ <ul class="filter-modal__content-options">
32
+ <li v-for="item in resultOtp" @click="onSelect(item.id, 'player')" :class="{ active: selectedFilterResults.includes(item.id)}" >{{ item.name }}</li>
33
+ </ul>
34
+ </div>
35
+ <hr style="border-color: #FFFFFF33;">
36
+ <div class="filter-modal__buttons">
37
+ <div class="button filter-modal__text-btn" @click="removeFilter">Quitar filtros</div>
38
+ <div class="button filter-modal__outline-btn" @click="emitChanges">Listo</div>
39
+ </div>
40
+ </div>
41
+ </div>
42
+ </template>
43
+ <script setup>
44
+ import { ref, watch } from 'vue';
45
+ import CheckBox from '@/components/Lineup2D/CheckBox.vue'
46
+ const props = defineProps({
47
+ name: {
48
+ type: String,
49
+ default: '',
50
+ },
51
+ reset: {
52
+ type: Boolean,
53
+ default: false,
54
+ },
55
+ zIndex: {
56
+ type: Number,
57
+ default: 1
58
+ },
59
+ componentWidth: {
60
+ type: Number,
61
+ default: 768,
62
+ validator(value) {
63
+ return value > 0
64
+ }
65
+ },
66
+ })
67
+ const teamOtp = [{ id: "local", name: 'Local' }, { id: "visit", name: 'Visitante'}]
68
+ const resultOtp = [{ id: "win", name: 'Ganado' }, { id: "draw", name: 'Empatados' }, { id: "lose", name: 'Perdidos' }]
69
+
70
+ const isOpen = ref(false)
71
+
72
+ const filterElement = ref(null)
73
+ const emit = defineEmits(['update:model-value', 'change'])
74
+ const backUpFilterTeam = ref(["local", "visit"])
75
+ const backUpFilterResults = ref(["win","draw", "lose" ])
76
+ const backUpAllTeams = ref(true)
77
+ const backUpAllResults = ref(true)
78
+ const selectedAllTeams = ref(true)
79
+ const selectedAllResults = ref(true)
80
+ const selectedFilterTeam = ref(["local", "visit"])
81
+ const selectedFilterResults = ref(["win","draw", "lose" ])
82
+
83
+ const openSelect = () => {
84
+ isOpen.value = !isOpen.value
85
+ filterElement.value.focus()
86
+ backUpFilterTeam.value = JSON.parse(JSON.stringify(selectedFilterTeam.value))
87
+ backUpFilterResults.value = JSON.parse(JSON.stringify(selectedFilterResults.value))
88
+ backUpAllTeams.value = selectedAllTeams.value
89
+ backUpAllResults.value = selectedAllResults.value
90
+ }
91
+
92
+ watch(() => props.itemSelect, (newValue) => {
93
+ if (newValue) {
94
+ selectedFilterTeam.value = newValue.selectedFilterTeam
95
+ selectedFilterResults.value = newValue.selectedFilterResults
96
+ }
97
+ })
98
+
99
+ watch(() => props.reset, (newValue) => {
100
+ if (newValue) {
101
+ removeFilter();
102
+ }
103
+ })
104
+
105
+ const onSelect = (filter, type) => {
106
+ let filterArr
107
+ if(type === "team") {
108
+ filterArr = selectedFilterTeam.value
109
+ } else {
110
+ filterArr = selectedFilterResults.value
111
+ }
112
+ const foundInd = filterArr.findIndex(item => item === filter)
113
+ if(foundInd == -1) {
114
+ filterArr.push(filter)
115
+ } else {
116
+ if(type == 'team' && selectedFilterTeam.value.length > 1){
117
+ filterArr.splice(foundInd,1)
118
+ }else{
119
+ if(type == 'team'){
120
+ filterArr.push(filter);
121
+ }
122
+ if(selectedFilterResults.value.length > 1){
123
+ filterArr.splice(foundInd,1)
124
+ }
125
+ }
126
+ }
127
+ selectedAllTeams.value = selectedFilterTeam.value.length == 2 ? true : false
128
+ selectedAllResults.value = selectedFilterResults.value.length == 3 ? true : false
129
+ }
130
+
131
+ const removeFilter = ()=> {
132
+ selectedFilterTeam.value = ["local", "visit"]
133
+ selectedFilterResults.value = ["win","draw", "lose" ]
134
+ selectedAllTeams.value = true
135
+ selectedAllResults.value = true
136
+ emit('change', { selectedFilterTeam: selectedFilterTeam.value, selectedFilterResults: selectedFilterResults.value })
137
+ }
138
+ const emitChanges = () => {
139
+ emit('change', { selectedFilterTeam: selectedFilterTeam.value, selectedFilterResults: selectedFilterResults.value })
140
+ isOpen.value = !isOpen.value
141
+ }
142
+ const goBack = () => {
143
+ emit('change', { selectedFilterTeam: selectedFilterTeam.value, selectedFilterResults: selectedFilterResults.value })
144
+ }
145
+ </script>
146
+ <style lang="scss" scoped>
147
+
148
+
149
+ .filter-modal {
150
+ max-width: 103px;
151
+ width: 100%;
152
+ border-radius: 8px;
153
+ border: 1px solid rgba(255, 255, 255, 0.20);
154
+ background: #25333E;
155
+ position: relative;
156
+ height: 28px;
157
+ cursor: pointer;
158
+ @media only screen and (max-width : 500px) {
159
+ width: 55px;
160
+ }
161
+ &__filter-text {
162
+ @media only screen and (max-width : 500px) {
163
+ display: none;
164
+ }
165
+ }
166
+ &__input {
167
+ display: flex;
168
+ align-items: center;
169
+ padding: 0 8px 0 12px;
170
+ font-size: 14px;
171
+ height: 23px;
172
+ @media only screen and (max-width : 500px) {
173
+ justify-content: space-between;
174
+ }
175
+ }
176
+ input {
177
+ padding: 8px;
178
+ cursor: pointer;
179
+ width: 100%;
180
+ border: none;
181
+ background: transparent;
182
+ outline: none;
183
+ color: #FFF;
184
+ font-family: Poppins-Regular, sans-serif;
185
+ font-size: 14px;
186
+ font-weight: 400;
187
+ line-height: 24px;
188
+ }
189
+ &__content {
190
+ position: absolute;
191
+ top: calc(100% + 15px);
192
+ left: 0;
193
+ font-size: 12px;
194
+ min-width: 100%;
195
+ padding: 0;
196
+ border-radius: 12px;
197
+ background: #2E3B46;
198
+ width: 305px;
199
+ font-family: Poppins, sans-serif;
200
+ color: #FFF;
201
+ overflow: hidden;
202
+ // overflow-y: auto;
203
+ &.close {
204
+ max-height: 0;
205
+ }
206
+ &.open {
207
+ max-height: 600px;
208
+ // max-height: 400px;
209
+ }
210
+ }
211
+ &__padding {
212
+ padding: 20px 16.5px;
213
+ }
214
+ &__content-header {
215
+ display: flex;
216
+ width: 100%;
217
+ justify-content: space-between;
218
+ align-items: center;
219
+ margin-bottom: 17px;
220
+ h3 {
221
+ margin: 0;
222
+ color: #FFF;
223
+ font-family: Poppins, sans-serif;
224
+ font-size: 14px;
225
+ font-style: normal;
226
+ font-weight: 500;
227
+ line-height: 150%; /* 21px */
228
+ }
229
+ }
230
+ &__content-options {
231
+ list-style: none;
232
+ margin: 0;
233
+ padding: 0;
234
+ display: flex;
235
+ margin-bottom: 27px;
236
+ li:first-child {
237
+ border-radius: 4px 0 0 4px;
238
+ }
239
+ li:last-child {
240
+ border-radius: 0 4px 4px 0;
241
+ }
242
+ li.active {
243
+ border-color: #CBEE6B;
244
+ }
245
+ li {
246
+ border: 0.8px solid #8EA2AB;
247
+ height: 38px;
248
+ line-height: 38px;
249
+ text-align: center;
250
+ flex: 1 1 0%;
251
+ }
252
+ }
253
+ &__buttons {
254
+ height: 60px;
255
+ border-radius: 0 0 12px 12px;
256
+ display: flex;
257
+ justify-content: center;
258
+ align-items: center;
259
+ }
260
+ .button {
261
+ outline: none;
262
+ background: transparent;
263
+ color: #FFF;
264
+ text-align: center;
265
+ font-family: Poppins, sans-serif;
266
+ font-size: 12px;
267
+ font-style: normal;
268
+ font-weight: 500;
269
+ line-height: 120%; /* 14.4px */
270
+ letter-spacing: -0.36px;
271
+ cursor: pointer;
272
+ }
273
+ &__text-btn {
274
+ border: none;
275
+ color: rgba(255, 255, 255, 0.75);
276
+ margin-right: 16px;
277
+ text-decoration-line: underline;
278
+ }
279
+ &__outline-btn {
280
+ color: #FFF;
281
+ border-radius: 64px;
282
+ border: 0.8px solid #CBEE6B;
283
+ padding: 6px 24px;
284
+ }
285
+ }
286
286
  </style>