aa-fleetfinder 0.1.0a12__py3-none-any.whl → 3.0.0b2__py3-none-any.whl
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.
- aa_fleetfinder-3.0.0b2.dist-info/METADATA +820 -0
- aa_fleetfinder-3.0.0b2.dist-info/RECORD +86 -0
- {aa_fleetfinder-0.1.0a12.dist-info → aa_fleetfinder-3.0.0b2.dist-info}/WHEEL +1 -2
- fleetfinder/__init__.py +19 -0
- fleetfinder/app_settings.py +20 -0
- fleetfinder/apps.py +22 -0
- fleetfinder/auth_hooks.py +58 -0
- fleetfinder/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
- fleetfinder/locale/cs_CZ/LC_MESSAGES/django.po +296 -0
- fleetfinder/locale/de/LC_MESSAGES/django.mo +0 -0
- fleetfinder/locale/de/LC_MESSAGES/django.po +306 -0
- fleetfinder/locale/django.pot +303 -0
- fleetfinder/locale/es/LC_MESSAGES/django.mo +0 -0
- fleetfinder/locale/es/LC_MESSAGES/django.po +319 -0
- fleetfinder/locale/fr_FR/LC_MESSAGES/django.mo +0 -0
- fleetfinder/locale/fr_FR/LC_MESSAGES/django.po +314 -0
- fleetfinder/locale/it_IT/LC_MESSAGES/django.mo +0 -0
- fleetfinder/locale/it_IT/LC_MESSAGES/django.po +294 -0
- fleetfinder/locale/ja/LC_MESSAGES/django.mo +0 -0
- fleetfinder/locale/ja/LC_MESSAGES/django.po +303 -0
- fleetfinder/locale/ko_KR/LC_MESSAGES/django.mo +0 -0
- fleetfinder/locale/ko_KR/LC_MESSAGES/django.po +337 -0
- fleetfinder/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
- fleetfinder/locale/nl_NL/LC_MESSAGES/django.po +294 -0
- fleetfinder/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
- fleetfinder/locale/pl_PL/LC_MESSAGES/django.po +298 -0
- fleetfinder/locale/ru/LC_MESSAGES/django.mo +0 -0
- fleetfinder/locale/ru/LC_MESSAGES/django.po +319 -0
- fleetfinder/locale/sk/LC_MESSAGES/django.mo +0 -0
- fleetfinder/locale/sk/LC_MESSAGES/django.po +294 -0
- fleetfinder/locale/uk/LC_MESSAGES/django.mo +0 -0
- fleetfinder/locale/uk/LC_MESSAGES/django.po +310 -0
- fleetfinder/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- fleetfinder/locale/zh_Hans/LC_MESSAGES/django.po +319 -0
- fleetfinder/migrations/0001_initial.py +72 -0
- fleetfinder/migrations/0002_esi_error_handling_and_verbose_names.py +92 -0
- fleetfinder/migrations/0003_alter_fleet_fleet_commander_alter_fleet_groups_and_more.py +46 -0
- fleetfinder/migrations/__init__.py +0 -0
- fleetfinder/models.py +95 -0
- fleetfinder/providers.py +32 -0
- fleetfinder/static/fleetfinder/css/fleetfinder.css +31 -0
- fleetfinder/static/fleetfinder/css/fleetfinder.min.css +2 -0
- fleetfinder/static/fleetfinder/css/fleetfinder.min.css.map +1 -0
- fleetfinder/static/fleetfinder/js/fleetfinder-dashboard.js +86 -0
- fleetfinder/static/fleetfinder/js/fleetfinder-dashboard.min.js +2 -0
- fleetfinder/static/fleetfinder/js/fleetfinder-dashboard.min.js.map +1 -0
- fleetfinder/static/fleetfinder/js/fleetfinder-fleet-details.js +154 -0
- fleetfinder/static/fleetfinder/js/fleetfinder-fleet-details.min.js +2 -0
- fleetfinder/static/fleetfinder/js/fleetfinder-fleet-details.min.js.map +1 -0
- fleetfinder/static/fleetfinder/js/fleetfinder.js +23 -0
- fleetfinder/static/fleetfinder/js/fleetfinder.min.js +2 -0
- fleetfinder/static/fleetfinder/js/fleetfinder.min.js.map +1 -0
- fleetfinder/static/fleetfinder/libs/slim-select/2.6.0/css/slimselect.css +477 -0
- fleetfinder/static/fleetfinder/libs/slim-select/2.6.0/css/slimselect.min.css +2 -0
- fleetfinder/static/fleetfinder/libs/slim-select/2.6.0/css/slimselect.min.css.map +1 -0
- fleetfinder/static/fleetfinder/libs/slim-select/2.6.0/js/slimselect.min.js +1 -0
- fleetfinder/tasks.py +554 -0
- fleetfinder/templates/fleetfinder/base.html +43 -0
- fleetfinder/templates/fleetfinder/bundles/css/fleetfinder-css.html +3 -0
- fleetfinder/templates/fleetfinder/bundles/css/slim-select-css.html +3 -0
- fleetfinder/templates/fleetfinder/bundles/js/fleetfinder-js.html +9 -0
- fleetfinder/templates/fleetfinder/bundles/js/slim-select-js.html +3 -0
- fleetfinder/templates/fleetfinder/create-fleet.html +42 -0
- fleetfinder/templates/fleetfinder/dashboard.html +53 -0
- fleetfinder/templates/fleetfinder/edit-fleet.html +42 -0
- fleetfinder/templates/fleetfinder/fleet-details.html +102 -0
- fleetfinder/templates/fleetfinder/join-fleet.html +68 -0
- fleetfinder/templates/fleetfinder/modals/kick-fleet-member.html +46 -0
- fleetfinder/templates/fleetfinder/partials/body/form-fleet-details.html +50 -0
- fleetfinder/templates/fleetfinder/partials/footer/app-translation-footer.html +11 -0
- fleetfinder/templates/fleetfinder/partials/header/header-nav-left.html +9 -0
- fleetfinder/templates/fleetfinder/partials/header/header-nav-right.html +18 -0
- fleetfinder/templatetags/__init__.py +3 -0
- fleetfinder/templatetags/fleetfinder.py +33 -0
- fleetfinder/tests/__init__.py +41 -0
- fleetfinder/tests/test_access.py +74 -0
- fleetfinder/tests/test_auth_hooks.py +79 -0
- fleetfinder/tests/test_settings.py +38 -0
- fleetfinder/tests/test_tasks.py +1116 -0
- fleetfinder/tests/test_templatetags.py +65 -0
- fleetfinder/tests/test_user_agent.py +88 -0
- fleetfinder/tests/test_views.py +1184 -0
- fleetfinder/tests/utils.py +58 -0
- fleetfinder/urls.py +45 -0
- fleetfinder/views.py +631 -0
- aa_fleetfinder-0.1.0a12.dist-info/METADATA +0 -50
- aa_fleetfinder-0.1.0a12.dist-info/RECORD +0 -5
- aa_fleetfinder-0.1.0a12.dist-info/top_level.txt +0 -1
- {aa_fleetfinder-0.1.0a12.dist-info → aa_fleetfinder-3.0.0b2.dist-info/licenses}/LICENSE +0 -0
|
@@ -0,0 +1,477 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--ss-animation-timing: 0.2s;
|
|
3
|
+
--ss-bg-color: rgb(255 255 255);
|
|
4
|
+
--ss-border-color: rgb(220 222 226);
|
|
5
|
+
--ss-border-radius: 4px;
|
|
6
|
+
--ss-content-height: 300px;
|
|
7
|
+
--ss-disabled-color: rgb(220 222 226);
|
|
8
|
+
--ss-error-color: rgb(220 53 69);
|
|
9
|
+
--ss-font-color: rgb(77 77 77);
|
|
10
|
+
--ss-font-placeholder-color: rgb(141 141 141);
|
|
11
|
+
--ss-highlight-color: rgb(255 251 140);
|
|
12
|
+
--ss-main-height: 30px;
|
|
13
|
+
--ss-primary-color: rgb(88 151 251);
|
|
14
|
+
--ss-spacing-l: 7px;
|
|
15
|
+
--ss-spacing-m: 5px;
|
|
16
|
+
--ss-spacing-s: 3px;
|
|
17
|
+
--ss-success-color: rgb(0 183 85);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@keyframes ss-valueIn {
|
|
21
|
+
0% {
|
|
22
|
+
transform: scale(0);
|
|
23
|
+
opacity: 0;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
100% {
|
|
27
|
+
transform: scale(1);
|
|
28
|
+
opacity: 1;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@keyframes ss-valueOut {
|
|
33
|
+
0% {
|
|
34
|
+
transform: scale(1);
|
|
35
|
+
opacity: 1;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
100% {
|
|
39
|
+
transform: scale(0);
|
|
40
|
+
opacity: 0;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.ss-hide {
|
|
45
|
+
display: none !important;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.ss-main {
|
|
49
|
+
background-color: var(--ss-bg-color);
|
|
50
|
+
border: 1px solid var(--ss-border-color);
|
|
51
|
+
border-radius: var(--ss-border-radius);
|
|
52
|
+
box-sizing: border-box;
|
|
53
|
+
color: var(--ss-font-color);
|
|
54
|
+
cursor: pointer;
|
|
55
|
+
display: flex;
|
|
56
|
+
flex-direction: row;
|
|
57
|
+
min-height: var(--ss-main-height);
|
|
58
|
+
outline: 0;
|
|
59
|
+
overflow: hidden;
|
|
60
|
+
padding: var(--ss-spacing-s);
|
|
61
|
+
position: relative;
|
|
62
|
+
transition: background-color var(--ss-animation-timing);
|
|
63
|
+
user-select: none;
|
|
64
|
+
width: 100%;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.ss-main:focus {
|
|
68
|
+
box-shadow: 0 0 5px var(--ss-primary-color);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.ss-main.ss-disabled {
|
|
72
|
+
background-color: var(--ss-disabled-color);
|
|
73
|
+
cursor: not-allowed
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.ss-main.ss-disabled .ss-values .ss-disabled {
|
|
77
|
+
color: var(--ss-font-color);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.ss-main.ss-disabled .ss-values .ss-value .ss-value-delete {
|
|
81
|
+
cursor: not-allowed;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.ss-main.ss-open-above {
|
|
85
|
+
border-top-left-radius: 0;
|
|
86
|
+
border-top-right-radius: 0;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.ss-main.ss-open-below {
|
|
90
|
+
border-bottom-left-radius: 0;
|
|
91
|
+
border-bottom-right-radius: 0;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.ss-main .ss-values {
|
|
95
|
+
display: inline-flex;
|
|
96
|
+
flex: 1 1 100%;
|
|
97
|
+
flex-wrap: wrap;
|
|
98
|
+
gap: var(--ss-spacing-m);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.ss-main .ss-values .ss-placeholder {
|
|
102
|
+
align-items: center;
|
|
103
|
+
color: var(--ss-font-placeholder-color);
|
|
104
|
+
display: flex;
|
|
105
|
+
line-height: 1em;
|
|
106
|
+
margin: auto 0;
|
|
107
|
+
overflow: hidden;
|
|
108
|
+
padding: var(--ss-spacing-s) var(--ss-spacing-m) var(--ss-spacing-s) var(--ss-spacing-m);
|
|
109
|
+
text-overflow: ellipsis;
|
|
110
|
+
white-space: nowrap;
|
|
111
|
+
width: 100%;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.ss-main .ss-values .ss-max {
|
|
115
|
+
align-items: center;
|
|
116
|
+
background-color: var(--ss-primary-color);
|
|
117
|
+
border-radius: var(--ss-border-radius);
|
|
118
|
+
color: var(--ss-bg-color);
|
|
119
|
+
display: flex;
|
|
120
|
+
font-size: 12px;
|
|
121
|
+
line-height: 1;
|
|
122
|
+
padding: var(--ss-spacing-s) var(--ss-spacing-m);
|
|
123
|
+
user-select: none;
|
|
124
|
+
width: fit-content;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.ss-main .ss-values .ss-single {
|
|
128
|
+
display: flex;
|
|
129
|
+
margin: auto 0 auto var(--ss-spacing-s);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.ss-main .ss-values .ss-value {
|
|
133
|
+
align-items: center;
|
|
134
|
+
animation-duration: var(--ss-animation-timing);
|
|
135
|
+
animation-fill-mode: both;
|
|
136
|
+
animation-name: ss-valueIn;
|
|
137
|
+
animation-timing-function: ease-out;
|
|
138
|
+
background-color: var(--ss-primary-color);
|
|
139
|
+
border-radius: var(--ss-border-radius);
|
|
140
|
+
display: flex;
|
|
141
|
+
user-select: none;
|
|
142
|
+
width: fit-content;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.ss-main .ss-values .ss-value.ss-value-out {
|
|
146
|
+
animation-duration: var(--ss-animation-timing);
|
|
147
|
+
animation-name: ss-valueOut;
|
|
148
|
+
animation-timing-function: ease-out;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.ss-main .ss-values .ss-value .ss-value-text {
|
|
152
|
+
color: var(--ss-bg-color);
|
|
153
|
+
font-size: 12px;
|
|
154
|
+
line-height: 1;
|
|
155
|
+
padding: var(--ss-spacing-s) var(--ss-spacing-m);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.ss-main .ss-values .ss-value .ss-value-delete {
|
|
159
|
+
align-items: center;
|
|
160
|
+
border-left: solid 1px var(--ss-bg-color);
|
|
161
|
+
box-sizing: content-box;
|
|
162
|
+
cursor: pointer;
|
|
163
|
+
display: flex;
|
|
164
|
+
height: var(--ss-spacing-l);
|
|
165
|
+
padding: var(--ss-spacing-s) var(--ss-spacing-m);
|
|
166
|
+
width: var(--ss-spacing-l);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.ss-main .ss-values .ss-value .ss-value-delete svg {
|
|
170
|
+
height: var(--ss-spacing-l);
|
|
171
|
+
width: var(--ss-spacing-l);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.ss-main .ss-values .ss-value .ss-value-delete svg path {
|
|
175
|
+
fill: none;
|
|
176
|
+
stroke: var(--ss-bg-color);
|
|
177
|
+
stroke-linecap: round;
|
|
178
|
+
stroke-linejoin: round;
|
|
179
|
+
stroke-width: 18;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.ss-main .ss-deselect {
|
|
183
|
+
align-self: center;
|
|
184
|
+
display: flex;
|
|
185
|
+
flex: 0 1 auto;
|
|
186
|
+
height: 8px;
|
|
187
|
+
justify-content: flex-end;
|
|
188
|
+
margin: 0 var(--ss-spacing-m) 0 var(--ss-spacing-m);
|
|
189
|
+
width: 8px;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.ss-main .ss-deselect svg {
|
|
193
|
+
height: 8px;
|
|
194
|
+
width: 8px;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.ss-main .ss-deselect svg path {
|
|
198
|
+
fill: none;
|
|
199
|
+
stroke: var(--ss-font-color);
|
|
200
|
+
stroke-linecap: round;
|
|
201
|
+
stroke-linejoin: round;
|
|
202
|
+
stroke-width: 20;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
.ss-main .ss-arrow {
|
|
206
|
+
align-items: center;
|
|
207
|
+
display: flex;
|
|
208
|
+
flex: 0 1 auto;
|
|
209
|
+
height: 12px;
|
|
210
|
+
justify-content: flex-end;
|
|
211
|
+
margin: auto var(--ss-spacing-m) auto var(--ss-spacing-m);
|
|
212
|
+
width: 12px;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.ss-main .ss-arrow path {
|
|
216
|
+
fill: none;
|
|
217
|
+
stroke: var(--ss-font-color);
|
|
218
|
+
stroke-linecap: round;
|
|
219
|
+
stroke-linejoin: round;
|
|
220
|
+
stroke-width: 18;
|
|
221
|
+
transition: var(--ss-animation-timing);
|
|
222
|
+
transition-timing-function: ease-out;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
.ss-content {
|
|
226
|
+
background-color: var(--ss-bg-color);
|
|
227
|
+
border: solid 1px var(--ss-border-color);
|
|
228
|
+
box-sizing: border-box;
|
|
229
|
+
display: flex;
|
|
230
|
+
flex-direction: column;
|
|
231
|
+
height: auto;
|
|
232
|
+
max-height: var(--ss-content-height);
|
|
233
|
+
opacity: 0;
|
|
234
|
+
overflow: hidden;
|
|
235
|
+
position: absolute;
|
|
236
|
+
transform: scaleY(0);
|
|
237
|
+
transform-origin: center top;
|
|
238
|
+
transition: transform var(--ss-animation-timing), opacity var(--ss-animation-timing);
|
|
239
|
+
width: auto;
|
|
240
|
+
z-index: 10000;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
.ss-content.ss-relative {
|
|
244
|
+
height: 100%;
|
|
245
|
+
position: relative;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
.ss-content.ss-open-above {
|
|
249
|
+
border-top-left-radius: var(--ss-border-radius);
|
|
250
|
+
border-top-right-radius: var(--ss-border-radius);
|
|
251
|
+
flex-direction: column-reverse;
|
|
252
|
+
opacity: 1;
|
|
253
|
+
transform: scaleY(1);
|
|
254
|
+
transform-origin: center bottom;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
.ss-content.ss-open-below {
|
|
258
|
+
border-bottom-left-radius: var(--ss-border-radius);
|
|
259
|
+
border-bottom-right-radius: var(--ss-border-radius);
|
|
260
|
+
opacity: 1;
|
|
261
|
+
transform: scaleY(1);
|
|
262
|
+
transform-origin: center top;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
.ss-content .ss-search {
|
|
266
|
+
display: flex;
|
|
267
|
+
flex: 0 1 auto;
|
|
268
|
+
flex-direction: row;
|
|
269
|
+
padding: var(--ss-spacing-l) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
.ss-content .ss-search input {
|
|
273
|
+
background-color: var(--ss-bg-color);
|
|
274
|
+
border: 1px solid var(--ss-border-color);
|
|
275
|
+
border-radius: var(--ss-border-radius);
|
|
276
|
+
box-sizing: border-box;
|
|
277
|
+
display: inline-flex;
|
|
278
|
+
flex: 1 1 auto;
|
|
279
|
+
font-size: inherit;
|
|
280
|
+
line-height: inherit;
|
|
281
|
+
margin: 0;
|
|
282
|
+
min-width: 0;
|
|
283
|
+
outline: 0;
|
|
284
|
+
padding: var(--ss-spacing-m) var(--ss-spacing-l);
|
|
285
|
+
text-align: left;
|
|
286
|
+
width: 100%;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
.ss-content .ss-search input::placeholder {
|
|
290
|
+
color: var(--ss-font-placeholder-color);
|
|
291
|
+
vertical-align: middle;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
.ss-content .ss-search input:focus {
|
|
295
|
+
box-shadow: 0 0 5px var(--ss-primary-color);
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
.ss-content .ss-search .ss-addable {
|
|
299
|
+
align-items: center;
|
|
300
|
+
border: 1px solid var(--ss-border-color);
|
|
301
|
+
border-radius: var(--ss-border-radius);
|
|
302
|
+
cursor: pointer;
|
|
303
|
+
display: inline-flex;
|
|
304
|
+
flex: 0 0 auto;
|
|
305
|
+
height: auto;
|
|
306
|
+
justify-content: center;
|
|
307
|
+
margin: 0 0 0 var(--ss-spacing-m);
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
.ss-content .ss-search .ss-addable svg {
|
|
311
|
+
align-items: center;
|
|
312
|
+
display: flex;
|
|
313
|
+
flex: 0 1 auto;
|
|
314
|
+
height: 12px;
|
|
315
|
+
justify-content: flex-end;
|
|
316
|
+
margin: auto var(--ss-spacing-m) auto var(--ss-spacing-m);
|
|
317
|
+
width: 12px;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
.ss-content .ss-search .ss-addable svg path {
|
|
321
|
+
fill: none;
|
|
322
|
+
stroke: var(--ss-font-color);
|
|
323
|
+
stroke-linecap: round;
|
|
324
|
+
stroke-linejoin: round;
|
|
325
|
+
stroke-width: 18;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
.ss-content .ss-list {
|
|
329
|
+
flex: 1 1 auto;
|
|
330
|
+
height: auto;
|
|
331
|
+
overflow: hidden auto;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
.ss-content .ss-list .ss-error {
|
|
335
|
+
color: var(--ss-error-color);
|
|
336
|
+
padding: var(--ss-spacing-l);
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
.ss-content .ss-list .ss-searching {
|
|
340
|
+
color: var(--ss-font-color);
|
|
341
|
+
padding: var(--ss-spacing-l);
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
.ss-content .ss-list .ss-optgroup.ss-close .ss-option {
|
|
345
|
+
display: none !important
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
.ss-content .ss-list .ss-optgroup .ss-optgroup-label {
|
|
349
|
+
align-items: center;
|
|
350
|
+
display: flex;
|
|
351
|
+
flex-direction: row;
|
|
352
|
+
justify-content: space-between;
|
|
353
|
+
padding: var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-label-text {
|
|
357
|
+
color: var(--ss-font-color);
|
|
358
|
+
flex: 1 1 auto;
|
|
359
|
+
font-weight: bold;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
.ss-content .ss-list .ss-optgroup .ss-optgroup-label:has(.ss-arrow) {
|
|
363
|
+
cursor: pointer;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions {
|
|
367
|
+
align-items: center;
|
|
368
|
+
display: flex;
|
|
369
|
+
flex: 0 1 auto;
|
|
370
|
+
flex-direction: row;
|
|
371
|
+
gap: var(--ss-spacing-m);
|
|
372
|
+
justify-content: center;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall {
|
|
376
|
+
cursor: pointer;
|
|
377
|
+
display: flex;
|
|
378
|
+
flex: 0 0 auto;
|
|
379
|
+
flex-direction: row;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall:hover {
|
|
383
|
+
opacity: .5;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall.ss-selected svg path {
|
|
387
|
+
stroke: var(--ss-error-color);
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall span {
|
|
391
|
+
align-items: center;
|
|
392
|
+
display: flex;
|
|
393
|
+
flex: 0 1 auto;
|
|
394
|
+
font-size: 60%;
|
|
395
|
+
justify-content: center;
|
|
396
|
+
padding: 0 var(--ss-spacing-s) 0 0;
|
|
397
|
+
text-align: center;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg {
|
|
401
|
+
flex: 0 1 auto;
|
|
402
|
+
height: 13px;
|
|
403
|
+
width: 13px;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg path {
|
|
407
|
+
fill: none;
|
|
408
|
+
stroke: var(--ss-success-color);
|
|
409
|
+
stroke-linecap: round;
|
|
410
|
+
stroke-linejoin: round;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:first-child {
|
|
414
|
+
stroke-width: 5;
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:last-child {
|
|
418
|
+
stroke-width: 11;
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable {
|
|
422
|
+
cursor: pointer;
|
|
423
|
+
display: flex;
|
|
424
|
+
flex: 0 1 auto;
|
|
425
|
+
flex-direction: row;
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow {
|
|
429
|
+
flex: 1 1 auto;
|
|
430
|
+
height: 10px;
|
|
431
|
+
width: 10px;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow path {
|
|
435
|
+
fill: none;
|
|
436
|
+
stroke: var(--ss-font-color);
|
|
437
|
+
stroke-linecap: round;
|
|
438
|
+
stroke-linejoin: round;
|
|
439
|
+
stroke-width: 18;
|
|
440
|
+
transition: var(--ss-animation-timing);
|
|
441
|
+
transition-timing-function: ease-out;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
.ss-content .ss-list .ss-optgroup .ss-option {
|
|
445
|
+
padding: var(--ss-spacing-s) var(--ss-spacing-s) var(--ss-spacing-s) calc(var(--ss-spacing-l) * 3)
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
.ss-content .ss-list .ss-option {
|
|
449
|
+
color: var(--ss-font-color);
|
|
450
|
+
cursor: pointer;
|
|
451
|
+
display: flex;
|
|
452
|
+
padding: var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);
|
|
453
|
+
user-select: none;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
.ss-content .ss-list .ss-option:hover {
|
|
457
|
+
background-color: var(--ss-primary-color);
|
|
458
|
+
color: var(--ss-bg-color);
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
.ss-content .ss-list .ss-option.ss-highlighted, .ss-content .ss-list .ss-option:not(.ss-disabled).ss-selected {
|
|
462
|
+
background-color: var(--ss-primary-color);
|
|
463
|
+
color: var(--ss-bg-color);
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
.ss-content .ss-list .ss-option.ss-disabled {
|
|
467
|
+
background-color: var(--ss-disabled-color);
|
|
468
|
+
cursor: not-allowed;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
.ss-content .ss-list .ss-option.ss-disabled:hover {
|
|
472
|
+
color: var(--ss-font-color);
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
.ss-content .ss-list .ss-option .ss-search-highlight {
|
|
476
|
+
background-color: var(--ss-highlight-color);
|
|
477
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
@keyframes ss-valueIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes ss-valueOut{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}:root{--ss-animation-timing:0.2s;--ss-bg-color:rgb(255 255 255);--ss-border-color:rgb(220 222 226);--ss-border-radius:4px;--ss-content-height:300px;--ss-disabled-color:rgb(220 222 226);--ss-error-color:rgb(220 53 69);--ss-font-color:rgb(77 77 77);--ss-font-placeholder-color:rgb(141 141 141);--ss-highlight-color:rgb(255 251 140);--ss-main-height:30px;--ss-primary-color:rgb(88 151 251);--ss-spacing-l:7px;--ss-spacing-m:5px;--ss-spacing-s:3px;--ss-success-color:rgb(0 183 85)}.ss-hide{display:none!important}.ss-main{background-color:var(--ss-bg-color);border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius);box-sizing:border-box;color:var(--ss-font-color);cursor:pointer;display:flex;flex-direction:row;min-height:var(--ss-main-height);outline:0;overflow:hidden;padding:var(--ss-spacing-s);position:relative;transition:background-color var(--ss-animation-timing);user-select:none;width:100%}.ss-content .ss-search input:focus,.ss-main:focus{box-shadow:0 0 5px var(--ss-primary-color)}.ss-main.ss-disabled{background-color:var(--ss-disabled-color);cursor:not-allowed}.ss-main.ss-disabled .ss-values .ss-disabled{color:var(--ss-font-color)}.ss-main.ss-disabled .ss-values .ss-value .ss-value-delete{cursor:not-allowed}.ss-main.ss-open-above{border-top-left-radius:0;border-top-right-radius:0}.ss-main.ss-open-below{border-bottom-left-radius:0;border-bottom-right-radius:0}.ss-main .ss-values{display:inline-flex;flex:1 1 100%;flex-wrap:wrap;gap:var(--ss-spacing-m)}.ss-main .ss-values .ss-placeholder{align-items:center;color:var(--ss-font-placeholder-color);display:flex;line-height:1em;margin:auto 0;overflow:hidden;padding:var(--ss-spacing-s) var(--ss-spacing-m) var(--ss-spacing-s) var(--ss-spacing-m);text-overflow:ellipsis;white-space:nowrap;width:100%}.ss-main .ss-values .ss-max{align-items:center;background-color:var(--ss-primary-color);border-radius:var(--ss-border-radius);color:var(--ss-bg-color);display:flex;font-size:12px;line-height:1;padding:var(--ss-spacing-s) var(--ss-spacing-m);user-select:none;width:fit-content}.ss-main .ss-values .ss-single{display:flex;margin:auto 0 auto var(--ss-spacing-s)}.ss-main .ss-values .ss-value,.ss-main .ss-values .ss-value.ss-value-out{animation-duration:var(--ss-animation-timing);animation-timing-function:ease-out}.ss-main .ss-values .ss-value{align-items:center;animation-fill-mode:both;animation-name:ss-valueIn;background-color:var(--ss-primary-color);border-radius:var(--ss-border-radius);display:flex;user-select:none;width:fit-content}.ss-main .ss-values .ss-value.ss-value-out{animation-name:ss-valueOut}.ss-main .ss-values .ss-value .ss-value-text{color:var(--ss-bg-color);font-size:12px;line-height:1;padding:var(--ss-spacing-s) var(--ss-spacing-m)}.ss-main .ss-values .ss-value .ss-value-delete{align-items:center;border-left:solid 1px var(--ss-bg-color);box-sizing:content-box;cursor:pointer;display:flex;padding:var(--ss-spacing-s) var(--ss-spacing-m)}.ss-main .ss-values .ss-value .ss-value-delete,.ss-main .ss-values .ss-value .ss-value-delete svg{height:var(--ss-spacing-l);width:var(--ss-spacing-l)}.ss-main .ss-deselect svg path,.ss-main .ss-values .ss-value .ss-value-delete svg path{fill:none;stroke:var(--ss-bg-color);stroke-linecap:round;stroke-linejoin:round;stroke-width:18}.ss-main .ss-deselect{align-self:center;display:flex;flex:0 1 auto;height:8px;justify-content:flex-end;margin:0 var(--ss-spacing-m)0 var(--ss-spacing-m);width:8px}.ss-main .ss-deselect svg{height:8px;width:8px}.ss-main .ss-deselect svg path{stroke:var(--ss-font-color);stroke-width:20}.ss-content .ss-search .ss-addable svg,.ss-main .ss-arrow{align-items:center;display:flex;flex:0 1 auto;height:12px;justify-content:flex-end;margin:auto var(--ss-spacing-m) auto var(--ss-spacing-m);width:12px}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow path,.ss-main .ss-arrow path{fill:none;stroke:var(--ss-font-color);stroke-linecap:round;stroke-linejoin:round;stroke-width:18;transition:var(--ss-animation-timing);transition-timing-function:ease-out}.ss-content,.ss-content .ss-search input{background-color:var(--ss-bg-color);box-sizing:border-box}.ss-content{border:solid 1px var(--ss-border-color);display:flex;flex-direction:column;height:auto;max-height:var(--ss-content-height);opacity:0;overflow:hidden;position:absolute;transform:scaleY(0);transform-origin:center top;transition:transform var(--ss-animation-timing),opacity var(--ss-animation-timing);width:auto;z-index:10000}.ss-content.ss-relative{height:100%;position:relative}.ss-content.ss-open-above{border-top-left-radius:var(--ss-border-radius);border-top-right-radius:var(--ss-border-radius);flex-direction:column-reverse;opacity:1;transform:scaleY(1);transform-origin:center bottom}.ss-content.ss-open-below{border-bottom-left-radius:var(--ss-border-radius);border-bottom-right-radius:var(--ss-border-radius);opacity:1;transform:scaleY(1);transform-origin:center top}.ss-content .ss-search{display:flex;flex:0 1 auto;flex-direction:row;padding:var(--ss-spacing-l) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l)}.ss-content .ss-search input{border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius);display:inline-flex;flex:1 1 auto;font-size:inherit;line-height:inherit;margin:0;min-width:0;outline:0;padding:var(--ss-spacing-m) var(--ss-spacing-l);text-align:left;width:100%}.ss-content .ss-search input::placeholder{color:var(--ss-font-placeholder-color);vertical-align:middle}.ss-content .ss-search .ss-addable{align-items:center;border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius);cursor:pointer;display:inline-flex;flex:0 0 auto;height:auto;justify-content:center;margin:0 0 0 var(--ss-spacing-m)}.ss-content .ss-search .ss-addable svg path{fill:none;stroke:var(--ss-font-color);stroke-linecap:round;stroke-linejoin:round;stroke-width:18}.ss-content .ss-list{flex:1 1 auto;height:auto;overflow:hidden auto}.ss-content .ss-list .ss-error{color:var(--ss-error-color);padding:var(--ss-spacing-l)}.ss-content .ss-list .ss-searching{color:var(--ss-font-color);padding:var(--ss-spacing-l)}.ss-content .ss-list .ss-optgroup.ss-close .ss-option{display:none!important}.ss-content .ss-list .ss-optgroup .ss-optgroup-label{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l)}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-label-text{color:var(--ss-font-color);flex:1 1 auto;font-weight:700}.ss-content .ss-list .ss-optgroup .ss-optgroup-label:has(.ss-arrow){cursor:pointer}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions{align-items:center;display:flex;flex:0 1 auto;flex-direction:row;gap:var(--ss-spacing-m);justify-content:center}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall{cursor:pointer;display:flex;flex:0 0 auto;flex-direction:row}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall:hover{opacity:.5}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall.ss-selected svg path{stroke:var(--ss-error-color)}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall span{align-items:center;display:flex;flex:0 1 auto;font-size:60%;justify-content:center;padding:0 var(--ss-spacing-s)0 0;text-align:center}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg{flex:0 1 auto;height:13px;width:13px}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg path{fill:none;stroke:var(--ss-success-color);stroke-linecap:round;stroke-linejoin:round}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:first-child{stroke-width:5}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:last-child{stroke-width:11}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable{cursor:pointer;display:flex;flex:0 1 auto;flex-direction:row}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow{flex:1 1 auto;height:10px;width:10px}.ss-content .ss-list .ss-optgroup .ss-option{padding:var(--ss-spacing-s) var(--ss-spacing-s) var(--ss-spacing-s) calc(var(--ss-spacing-l)*3)}.ss-content .ss-list .ss-option{color:var(--ss-font-color);cursor:pointer;display:flex;padding:var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);user-select:none}.ss-content .ss-list .ss-option:hover{background-color:var(--ss-primary-color);color:var(--ss-bg-color)}.ss-content .ss-list .ss-option.ss-highlighted,.ss-content .ss-list .ss-option:not(.ss-disabled).ss-selected{background-color:var(--ss-primary-color);color:var(--ss-bg-color)}.ss-content .ss-list .ss-option.ss-disabled{background-color:var(--ss-disabled-color);cursor:not-allowed}.ss-content .ss-list .ss-option.ss-disabled:hover{color:var(--ss-font-color)}.ss-content .ss-list .ss-option .ss-search-highlight{background-color:var(--ss-highlight-color)}
|
|
2
|
+
/*# sourceMappingURL=slimselect.min.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["slimselect.css"],"names":[],"mappings":"AAmBA,A,sBACI,E,CACI,kB,CACA,S,CAGJ,E,CACI,kB,CACA,WAIR,A,uBACI,E,CACI,kB,CACA,S,CAGJ,E,CACI,kB,CACA,WAvCR,K,CACI,0B,CACA,8B,CACA,kC,CACA,sB,CACA,yB,CACA,oC,CACA,+B,CACA,6B,CACA,4C,CACA,qC,CACA,qB,CACA,kC,CACA,kB,CACA,kB,CACA,kB,CACA,gC,CA2BJ,Q,CACI,sB,CAGJ,Q,CACI,mC,CACA,uC,CACA,qC,CACA,qB,CACA,0B,CACA,c,CACA,Y,CACA,kB,CACA,gC,CACA,S,CACA,e,CACA,2B,CACA,iB,CACA,sD,CACA,gB,CACA,U,CAsOJ,kC,CAnOA,c,CACI,0C,CAGJ,oB,CACI,yC,CACA,kB,CAGJ,4C,CACI,0B,CAGJ,0D,CACI,kB,CAGJ,sB,CACI,wB,CACA,yB,CAGJ,sB,CACI,2B,CACA,4B,CAGJ,mB,CACI,mB,CACA,a,CACA,c,CACA,uB,CAGJ,mC,CACI,kB,CACA,sC,CACA,Y,CACA,e,CACA,a,CACA,e,CACA,uF,CACA,sB,CACA,kB,CACA,U,CAGJ,2B,CACI,kB,CACA,wC,CACA,qC,CACA,wB,CACA,Y,CACA,c,CACA,a,CACA,+C,CACA,gB,CACA,iB,CAGJ,8B,CACI,Y,CACA,sC,CAGJ,6B,CAaA,0C,CACI,6C,CAEA,kC,CAhBJ,6B,CACI,kB,CAEA,wB,CACA,yB,CAEA,wC,CACA,qC,CACA,Y,CACA,gB,CACA,iB,CAGJ,0C,CAEI,0B,CAIJ,4C,CACI,wB,CACA,c,CACA,a,CACA,+C,CAGJ,8C,CACI,kB,CACA,wC,CACA,sB,CACA,c,CACA,Y,CAEA,+C,CAPJ,8C,CAWA,kD,CACI,0B,CACA,yB,CA0BJ,8B,CAvBA,uD,CACI,S,CACA,yB,CACA,oB,CACA,qB,CACA,e,CAGJ,qB,CACI,iB,CACA,Y,CACA,a,CACA,U,CACA,wB,CACA,iD,CACA,S,CAGJ,yB,CACI,U,CACA,S,CAGJ,8B,CAEI,2B,CAGA,e,CA4GJ,sC,CAzGA,kB,CACI,kB,CACA,Y,CACA,a,CACA,W,CACA,wB,CACA,wD,CACA,U,CA8NJ,qG,CA3NA,uB,CACI,S,CACA,2B,CACA,oB,CACA,qB,CACA,e,CACA,qC,CACA,mC,CAGJ,W,CA+CA,4B,CACI,mC,CAGA,qB,CAnDJ,W,CAEI,uC,CAEA,Y,CACA,qB,CACA,W,CACA,mC,CACA,S,CACA,e,CACA,iB,CACA,mB,CACA,2B,CACA,kF,CACA,U,CACA,a,CAGJ,uB,CACI,W,CACA,iB,CAGJ,yB,CACI,8C,CACA,+C,CACA,6B,CACA,S,CACA,mB,CACA,8B,CAGJ,yB,CACI,iD,CACA,kD,CACA,S,CACA,mB,CACA,2B,CAGJ,sB,CACI,Y,CACA,a,CACA,kB,CACA,uF,CAGJ,4B,CAEI,uC,CACA,qC,CAEA,mB,CACA,a,CACA,iB,CACA,mB,CACA,Q,CACA,W,CACA,S,CACA,+C,CACA,e,CACA,U,CAGJ,yC,CACI,sC,CACA,qB,CAOJ,kC,CACI,kB,CACA,uC,CACA,qC,CACA,c,CACA,mB,CACA,a,CACA,W,CACA,sB,CACA,gC,CAaJ,2C,CACI,S,CACA,2B,CACA,oB,CACA,qB,CACA,e,CAGJ,oB,CACI,a,CACA,W,CACA,oB,CAGJ,8B,CACI,2B,CACA,2B,CAGJ,kC,CACI,0B,CACA,2B,CAGJ,qD,CACI,sB,CAGJ,oD,CACI,kB,CACA,Y,CACA,kB,CACA,6B,CACA,uF,CAGJ,4E,CACI,0B,CACA,a,CACA,e,CAGJ,yDAAyD,U,CACrD,c,CAGJ,yE,CACI,kB,CACA,Y,CACA,a,CACA,kB,CACA,uB,CACA,sB,CAGJ,uF,CACI,c,CACA,Y,CACA,a,CACA,kB,CAGJ,6F,CACI,U,CAGJ,4G,CACI,4B,CAGJ,4F,CACI,kB,CACA,Y,CACA,a,CACA,a,CACA,sB,CACA,gC,CACA,iB,CAGJ,2F,CACI,a,CACA,W,CACA,U,CAGJ,gG,CACI,S,CACA,8B,CACA,oB,CACA,qB,CAGJ,uG,CACI,c,CAGJ,sG,CACI,e,CAGJ,sF,CACI,c,CACA,Y,CACA,a,CACA,kB,CAGJ,gG,CACI,a,CACA,W,CACA,U,CAaJ,4C,CACI,+F,CAGJ,+B,CACI,0B,CACA,c,CACA,Y,CACA,uF,CACA,gB,CAGJ,qC,CACI,wC,CACA,wB,CAGJ,8C,CAAgD,oCAAoC,yB,CAChF,wC,CACA,wB,CAGJ,2C,CACI,yC,CACA,kB,CAGJ,iD,CACI,0B,CAGJ,oD,CACI,0C","file":"slimselect.css","sourcesContent":[":root {\n --ss-animation-timing: 0.2s;\n --ss-bg-color: rgb(255 255 255);\n --ss-border-color: rgb(220 222 226);\n --ss-border-radius: 4px;\n --ss-content-height: 300px;\n --ss-disabled-color: rgb(220 222 226);\n --ss-error-color: rgb(220 53 69);\n --ss-font-color: rgb(77 77 77);\n --ss-font-placeholder-color: rgb(141 141 141);\n --ss-highlight-color: rgb(255 251 140);\n --ss-main-height: 30px;\n --ss-primary-color: rgb(88 151 251);\n --ss-spacing-l: 7px;\n --ss-spacing-m: 5px;\n --ss-spacing-s: 3px;\n --ss-success-color: rgb(0 183 85);\n}\n\n@keyframes ss-valueIn {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n\n@keyframes ss-valueOut {\n 0% {\n transform: scale(1);\n opacity: 1;\n }\n\n 100% {\n transform: scale(0);\n opacity: 0;\n }\n}\n\n.ss-hide {\n display: none !important;\n}\n\n.ss-main {\n background-color: var(--ss-bg-color);\n border: 1px solid var(--ss-border-color);\n border-radius: var(--ss-border-radius);\n box-sizing: border-box;\n color: var(--ss-font-color);\n cursor: pointer;\n display: flex;\n flex-direction: row;\n min-height: var(--ss-main-height);\n outline: 0;\n overflow: hidden;\n padding: var(--ss-spacing-s);\n position: relative;\n transition: background-color var(--ss-animation-timing);\n user-select: none;\n width: 100%;\n}\n\n.ss-main:focus {\n box-shadow: 0 0 5px var(--ss-primary-color);\n}\n\n.ss-main.ss-disabled {\n background-color: var(--ss-disabled-color);\n cursor: not-allowed\n}\n\n.ss-main.ss-disabled .ss-values .ss-disabled {\n color: var(--ss-font-color);\n}\n\n.ss-main.ss-disabled .ss-values .ss-value .ss-value-delete {\n cursor: not-allowed;\n}\n\n.ss-main.ss-open-above {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.ss-main.ss-open-below {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.ss-main .ss-values {\n display: inline-flex;\n flex: 1 1 100%;\n flex-wrap: wrap;\n gap: var(--ss-spacing-m);\n}\n\n.ss-main .ss-values .ss-placeholder {\n align-items: center;\n color: var(--ss-font-placeholder-color);\n display: flex;\n line-height: 1em;\n margin: auto 0;\n overflow: hidden;\n padding: var(--ss-spacing-s) var(--ss-spacing-m) var(--ss-spacing-s) var(--ss-spacing-m);\n text-overflow: ellipsis;\n white-space: nowrap;\n width: 100%;\n}\n\n.ss-main .ss-values .ss-max {\n align-items: center;\n background-color: var(--ss-primary-color);\n border-radius: var(--ss-border-radius);\n color: var(--ss-bg-color);\n display: flex;\n font-size: 12px;\n line-height: 1;\n padding: var(--ss-spacing-s) var(--ss-spacing-m);\n user-select: none;\n width: fit-content;\n}\n\n.ss-main .ss-values .ss-single {\n display: flex;\n margin: auto 0 auto var(--ss-spacing-s);\n}\n\n.ss-main .ss-values .ss-value {\n align-items: center;\n animation-duration: var(--ss-animation-timing);\n animation-fill-mode: both;\n animation-name: ss-valueIn;\n animation-timing-function: ease-out;\n background-color: var(--ss-primary-color);\n border-radius: var(--ss-border-radius);\n display: flex;\n user-select: none;\n width: fit-content;\n}\n\n.ss-main .ss-values .ss-value.ss-value-out {\n animation-duration: var(--ss-animation-timing);\n animation-name: ss-valueOut;\n animation-timing-function: ease-out;\n}\n\n.ss-main .ss-values .ss-value .ss-value-text {\n color: var(--ss-bg-color);\n font-size: 12px;\n line-height: 1;\n padding: var(--ss-spacing-s) var(--ss-spacing-m);\n}\n\n.ss-main .ss-values .ss-value .ss-value-delete {\n align-items: center;\n border-left: solid 1px var(--ss-bg-color);\n box-sizing: content-box;\n cursor: pointer;\n display: flex;\n height: var(--ss-spacing-l);\n padding: var(--ss-spacing-s) var(--ss-spacing-m);\n width: var(--ss-spacing-l);\n}\n\n.ss-main .ss-values .ss-value .ss-value-delete svg {\n height: var(--ss-spacing-l);\n width: var(--ss-spacing-l);\n}\n\n.ss-main .ss-values .ss-value .ss-value-delete svg path {\n fill: none;\n stroke: var(--ss-bg-color);\n stroke-linecap: round;\n stroke-linejoin: round;\n stroke-width: 18;\n}\n\n.ss-main .ss-deselect {\n align-self: center;\n display: flex;\n flex: 0 1 auto;\n height: 8px;\n justify-content: flex-end;\n margin: 0 var(--ss-spacing-m) 0 var(--ss-spacing-m);\n width: 8px;\n}\n\n.ss-main .ss-deselect svg {\n height: 8px;\n width: 8px;\n}\n\n.ss-main .ss-deselect svg path {\n fill: none;\n stroke: var(--ss-font-color);\n stroke-linecap: round;\n stroke-linejoin: round;\n stroke-width: 20;\n}\n\n.ss-main .ss-arrow {\n align-items: center;\n display: flex;\n flex: 0 1 auto;\n height: 12px;\n justify-content: flex-end;\n margin: auto var(--ss-spacing-m) auto var(--ss-spacing-m);\n width: 12px;\n}\n\n.ss-main .ss-arrow path {\n fill: none;\n stroke: var(--ss-font-color);\n stroke-linecap: round;\n stroke-linejoin: round;\n stroke-width: 18;\n transition: var(--ss-animation-timing);\n transition-timing-function: ease-out;\n}\n\n.ss-content {\n background-color: var(--ss-bg-color);\n border: solid 1px var(--ss-border-color);\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n height: auto;\n max-height: var(--ss-content-height);\n opacity: 0;\n overflow: hidden;\n position: absolute;\n transform: scaleY(0);\n transform-origin: center top;\n transition: transform var(--ss-animation-timing), opacity var(--ss-animation-timing);\n width: auto;\n z-index: 10000;\n}\n\n.ss-content.ss-relative {\n height: 100%;\n position: relative;\n}\n\n.ss-content.ss-open-above {\n border-top-left-radius: var(--ss-border-radius);\n border-top-right-radius: var(--ss-border-radius);\n flex-direction: column-reverse;\n opacity: 1;\n transform: scaleY(1);\n transform-origin: center bottom;\n}\n\n.ss-content.ss-open-below {\n border-bottom-left-radius: var(--ss-border-radius);\n border-bottom-right-radius: var(--ss-border-radius);\n opacity: 1;\n transform: scaleY(1);\n transform-origin: center top;\n}\n\n.ss-content .ss-search {\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n padding: var(--ss-spacing-l) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);\n}\n\n.ss-content .ss-search input {\n background-color: var(--ss-bg-color);\n border: 1px solid var(--ss-border-color);\n border-radius: var(--ss-border-radius);\n box-sizing: border-box;\n display: inline-flex;\n flex: 1 1 auto;\n font-size: inherit;\n line-height: inherit;\n margin: 0;\n min-width: 0;\n outline: 0;\n padding: var(--ss-spacing-m) var(--ss-spacing-l);\n text-align: left;\n width: 100%;\n}\n\n.ss-content .ss-search input::placeholder {\n color: var(--ss-font-placeholder-color);\n vertical-align: middle;\n}\n\n.ss-content .ss-search input:focus {\n box-shadow: 0 0 5px var(--ss-primary-color);\n}\n\n.ss-content .ss-search .ss-addable {\n align-items: center;\n border: 1px solid var(--ss-border-color);\n border-radius: var(--ss-border-radius);\n cursor: pointer;\n display: inline-flex;\n flex: 0 0 auto;\n height: auto;\n justify-content: center;\n margin: 0 0 0 var(--ss-spacing-m);\n}\n\n.ss-content .ss-search .ss-addable svg {\n align-items: center;\n display: flex;\n flex: 0 1 auto;\n height: 12px;\n justify-content: flex-end;\n margin: auto var(--ss-spacing-m) auto var(--ss-spacing-m);\n width: 12px;\n}\n\n.ss-content .ss-search .ss-addable svg path {\n fill: none;\n stroke: var(--ss-font-color);\n stroke-linecap: round;\n stroke-linejoin: round;\n stroke-width: 18;\n}\n\n.ss-content .ss-list {\n flex: 1 1 auto;\n height: auto;\n overflow: hidden auto;\n}\n\n.ss-content .ss-list .ss-error {\n color: var(--ss-error-color);\n padding: var(--ss-spacing-l);\n}\n\n.ss-content .ss-list .ss-searching {\n color: var(--ss-font-color);\n padding: var(--ss-spacing-l);\n}\n\n.ss-content .ss-list .ss-optgroup.ss-close .ss-option {\n display: none !important\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label {\n align-items: center;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n padding: var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-label-text {\n color: var(--ss-font-color);\n flex: 1 1 auto;\n font-weight: bold;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label:has(.ss-arrow) {\n cursor: pointer;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions {\n align-items: center;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n gap: var(--ss-spacing-m);\n justify-content: center;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall {\n cursor: pointer;\n display: flex;\n flex: 0 0 auto;\n flex-direction: row;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall:hover {\n opacity: .5;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall.ss-selected svg path {\n stroke: var(--ss-error-color);\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall span {\n align-items: center;\n display: flex;\n flex: 0 1 auto;\n font-size: 60%;\n justify-content: center;\n padding: 0 var(--ss-spacing-s) 0 0;\n text-align: center;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg {\n flex: 0 1 auto;\n height: 13px;\n width: 13px;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg path {\n fill: none;\n stroke: var(--ss-success-color);\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:first-child {\n stroke-width: 5;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:last-child {\n stroke-width: 11;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable {\n cursor: pointer;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow {\n flex: 1 1 auto;\n height: 10px;\n width: 10px;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow path {\n fill: none;\n stroke: var(--ss-font-color);\n stroke-linecap: round;\n stroke-linejoin: round;\n stroke-width: 18;\n transition: var(--ss-animation-timing);\n transition-timing-function: ease-out;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-option {\n padding: var(--ss-spacing-s) var(--ss-spacing-s) var(--ss-spacing-s) calc(var(--ss-spacing-l) * 3)\n}\n\n.ss-content .ss-list .ss-option {\n color: var(--ss-font-color);\n cursor: pointer;\n display: flex;\n padding: var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);\n user-select: none;\n}\n\n.ss-content .ss-list .ss-option:hover {\n background-color: var(--ss-primary-color);\n color: var(--ss-bg-color);\n}\n\n.ss-content .ss-list .ss-option.ss-highlighted, .ss-content .ss-list .ss-option:not(.ss-disabled).ss-selected {\n background-color: var(--ss-primary-color);\n color: var(--ss-bg-color);\n}\n\n.ss-content .ss-list .ss-option.ss-disabled {\n background-color: var(--ss-disabled-color);\n cursor: not-allowed;\n}\n\n.ss-content .ss-list .ss-option.ss-disabled:hover {\n color: var(--ss-font-color);\n}\n\n.ss-content .ss-list .ss-option .ss-search-highlight {\n background-color: var(--ss-highlight-color);\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).SlimSelect=t()}(this,(function(){"use strict";function e(){return Math.random().toString(36).substring(2,10)}function t(e,t=50,s=!1){let i;return function(...n){const a=self,l=s&&!i;clearTimeout(i),i=setTimeout((()=>{i=null,s||e.apply(a,n)}),t),l&&e.apply(a,n)}}function s(e,t){return JSON.stringify(e)===JSON.stringify(t)}class i{constructor(t){this.id="",this.style="",this.class=[],this.isMultiple=!1,this.isOpen=!1,this.isFullOpen=!1,this.intervalMove=null,t||(t={}),this.id="ss-"+e(),this.style=t.style||"",this.class=t.class||[],this.disabled=void 0!==t.disabled&&t.disabled,this.alwaysOpen=void 0!==t.alwaysOpen&&t.alwaysOpen,this.showSearch=void 0===t.showSearch||t.showSearch,this.searchPlaceholder=t.searchPlaceholder||"Search",this.searchText=t.searchText||"No Results",this.searchingText=t.searchingText||"Searching...",this.searchHighlight=void 0!==t.searchHighlight&&t.searchHighlight,this.closeOnSelect=void 0===t.closeOnSelect||t.closeOnSelect,this.contentLocation=t.contentLocation||document.body,this.contentPosition=t.contentPosition||"absolute",this.openPosition=t.openPosition||"auto",this.placeholderText=void 0!==t.placeholderText?t.placeholderText:"Select Value",this.allowDeselect=void 0!==t.allowDeselect&&t.allowDeselect,this.hideSelected=void 0!==t.hideSelected&&t.hideSelected,this.showOptionTooltips=void 0!==t.showOptionTooltips&&t.showOptionTooltips,this.minSelected=t.minSelected||0,this.maxSelected=t.maxSelected||1e3,this.timeoutDelay=t.timeoutDelay||200,this.maxValuesShown=t.maxValuesShown||20,this.maxValuesMessage=t.maxValuesMessage||"{number} selected"}}class n{constructor(t){if(this.id=t.id&&""!==t.id?t.id:e(),this.label=t.label||"",this.selectAll=void 0!==t.selectAll&&t.selectAll,this.selectAllText=t.selectAllText||"Select All",this.closable=t.closable||"off",this.options=[],t.options)for(const e of t.options)this.options.push(new a(e))}}class a{constructor(t){this.id=t.id&&""!==t.id?t.id:e(),this.value=void 0===t.value?t.text:t.value,this.text=t.text||"",this.html=t.html||"",this.selected=void 0!==t.selected&&t.selected,this.display=void 0===t.display||t.display,this.disabled=void 0!==t.disabled&&t.disabled,this.mandatory=void 0!==t.mandatory&&t.mandatory,this.placeholder=void 0!==t.placeholder&&t.placeholder,this.class=t.class||"",this.style=t.style||"",this.data=t.data||{}}}class l{constructor(e,t){this.selectType="single",this.data=[],this.selectType=e,this.setData(t)}validateDataArray(e){if(!Array.isArray(e))return new Error("Data must be an array");for(let t of e){if(!(t instanceof n||"label"in t))return t instanceof a||"text"in t?this.validateOption(t):new Error("Data object must be a valid optgroup or option");if(!("label"in t))return new Error("Optgroup must have a label");if("options"in t&&t.options)for(let e of t.options)return this.validateOption(e)}return null}validateOption(e){return"text"in e?null:new Error("Option must have a text")}partialToFullData(e){let t=[];return e.forEach((e=>{if(e instanceof n||"label"in e){let s=[];"options"in e&&e.options&&e.options.forEach((e=>{s.push(new a(e))})),s.length>0&&t.push(new n(e))}(e instanceof a||"text"in e)&&t.push(new a(e))})),t}setData(e){this.data=this.partialToFullData(e),"single"===this.selectType&&this.setSelectedBy("value",this.getSelected())}getData(){return this.filter(null,!0)}getDataOptions(){return this.filter(null,!1)}addOption(e){this.setData(this.getData().concat(new a(e)))}setSelectedBy(e,t){let s=null,i=!1;for(let l of this.data){if(l instanceof n)for(let n of l.options)s||(s=n),n.selected=!i&&t.includes(n[e]),n.selected&&"single"===this.selectType&&(i=!0);l instanceof a&&(s||(s=l),l.selected=!i&&t.includes(l[e]),l.selected&&"single"===this.selectType&&(i=!0))}"single"===this.selectType&&s&&!i&&(s.selected=!0)}getSelected(){let e=this.getSelectedOptions(),t=[];return e.forEach((e=>{t.push(e.value)})),t}getSelectedOptions(){return this.filter((e=>e.selected),!1)}getSelectedIDs(){let e=this.getSelectedOptions(),t=[];return e.forEach((e=>{t.push(e.id)})),t}getOptgroupByID(e){for(let t of this.data)if(t instanceof n&&t.id===e)return t;return null}getOptionByID(e){let t=this.filter((t=>t.id===e),!1);return t.length?t[0]:null}search(e,t){return""===(e=e.trim())?this.getData():this.filter((s=>t(s,e)),!0)}filter(e,t){const s=[];return this.data.forEach((i=>{if(i instanceof n){let l=[];if(i.options.forEach((i=>{e&&!e(i)||(t?l.push(new a(i)):s.push(new a(i)))})),l.length>0){let e=new n(i);e.options=l,s.push(e)}}i instanceof a&&(e&&!e(i)||s.push(new a(i)))})),s}getSelectType(){return this.selectType}}class o{constructor(e,t,s){this.classes={main:"ss-main",placeholder:"ss-placeholder",values:"ss-values",single:"ss-single",max:"ss-max",value:"ss-value",valueText:"ss-value-text",valueDelete:"ss-value-delete",valueOut:"ss-value-out",deselect:"ss-deselect",deselectPath:"M10,10 L90,90 M10,90 L90,10",arrow:"ss-arrow",arrowClose:"M10,30 L50,70 L90,30",arrowOpen:"M10,70 L50,30 L90,70",content:"ss-content",openAbove:"ss-open-above",openBelow:"ss-open-below",search:"ss-search",searchHighlighter:"ss-search-highlight",searching:"ss-searching",addable:"ss-addable",addablePath:"M50,10 L50,90 M10,50 L90,50",list:"ss-list",optgroup:"ss-optgroup",optgroupLabel:"ss-optgroup-label",optgroupLabelText:"ss-optgroup-label-text",optgroupActions:"ss-optgroup-actions",optgroupSelectAll:"ss-selectall",optgroupSelectAllBox:"M60,10 L10,10 L10,90 L90,90 L90,50",optgroupSelectAllCheck:"M30,45 L50,70 L90,10",optgroupClosable:"ss-closable",option:"ss-option",optionDelete:"M10,10 L90,90 M10,90 L90,10",highlighted:"ss-highlighted",open:"ss-open",close:"ss-close",selected:"ss-selected",error:"ss-error",disabled:"ss-disabled",hide:"ss-hide"},this.store=t,this.settings=e,this.callbacks=s,this.main=this.mainDiv(),this.content=this.contentDiv(),this.updateClassStyles(),this.updateAriaAttributes(),this.settings.contentLocation.appendChild(this.content.main)}enable(){this.main.main.classList.remove(this.classes.disabled),this.content.search.input.disabled=!1}disable(){this.main.main.classList.add(this.classes.disabled),this.content.search.input.disabled=!0}open(){this.main.arrow.path.setAttribute("d",this.classes.arrowOpen),this.main.main.classList.add("up"===this.settings.openPosition?this.classes.openAbove:this.classes.openBelow),this.main.main.setAttribute("aria-expanded","true"),this.moveContent();const e=this.store.getSelectedOptions();if(e.length){const t=e[e.length-1].id,s=this.content.list.querySelector('[data-id="'+t+'"]');s&&this.ensureElementInView(this.content.list,s)}}close(){this.main.main.classList.remove(this.classes.openAbove),this.main.main.classList.remove(this.classes.openBelow),this.main.main.setAttribute("aria-expanded","false"),this.content.main.classList.remove(this.classes.openAbove),this.content.main.classList.remove(this.classes.openBelow),this.main.arrow.path.setAttribute("d",this.classes.arrowClose)}updateClassStyles(){if(this.main.main.className="",this.main.main.removeAttribute("style"),this.content.main.className="",this.content.main.removeAttribute("style"),this.main.main.classList.add(this.classes.main),this.content.main.classList.add(this.classes.content),""!==this.settings.style&&(this.main.main.style.cssText=this.settings.style,this.content.main.style.cssText=this.settings.style),this.settings.class.length)for(const e of this.settings.class)""!==e.trim()&&(this.main.main.classList.add(e.trim()),this.content.main.classList.add(e.trim()));"relative"===this.settings.contentPosition&&this.content.main.classList.add("ss-"+this.settings.contentPosition)}updateAriaAttributes(){this.main.main.role="combobox",this.main.main.setAttribute("aria-haspopup","listbox"),this.main.main.setAttribute("aria-controls",this.content.main.id),this.main.main.setAttribute("aria-expanded","false"),this.content.main.setAttribute("role","listbox")}mainDiv(){var e;const t=document.createElement("div");t.dataset.id=this.settings.id,t.id=this.settings.id,t.tabIndex=0,t.onkeydown=e=>{switch(e.key){case"ArrowUp":case"ArrowDown":return this.callbacks.open(),"ArrowDown"===e.key?this.highlight("down"):this.highlight("up"),!1;case"Tab":return this.callbacks.close(),!0;case"Enter":case" ":this.callbacks.open();const t=this.content.list.querySelector("."+this.classes.highlighted);return t&&t.click(),!1;case"Escape":return this.callbacks.close(),!1}},t.onclick=e=>{this.settings.disabled||(this.settings.isOpen?this.callbacks.close():this.callbacks.open())};const s=document.createElement("div");s.classList.add(this.classes.values),t.appendChild(s);const i=document.createElement("div");i.classList.add(this.classes.deselect);const n=null===(e=this.store)||void 0===e?void 0:e.getSelectedOptions();!this.settings.allowDeselect||this.settings.isMultiple&&n&&n.length<=0?i.classList.add(this.classes.hide):i.classList.remove(this.classes.hide),i.onclick=e=>{if(e.stopPropagation(),this.settings.disabled)return;let t=!0;const s=this.store.getSelectedOptions(),i=[];this.callbacks.beforeChange&&(t=!0===this.callbacks.beforeChange(i,s)),t&&(this.settings.isMultiple?(this.callbacks.setSelected([],!1),this.updateDeselectAll()):this.callbacks.setSelected([""],!1),this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(i))};const a=document.createElementNS("http://www.w3.org/2000/svg","svg");a.setAttribute("viewBox","0 0 100 100");const l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("d",this.classes.deselectPath),a.appendChild(l),i.appendChild(a),t.appendChild(i);const o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.classList.add(this.classes.arrow),o.setAttribute("viewBox","0 0 100 100");const c=document.createElementNS("http://www.w3.org/2000/svg","path");return c.setAttribute("d",this.classes.arrowClose),this.settings.alwaysOpen&&o.classList.add(this.classes.hide),o.appendChild(c),t.appendChild(o),{main:t,values:s,deselect:{main:i,svg:a,path:l},arrow:{main:o,path:c}}}mainFocus(e){"click"!==e&&this.main.main.focus({preventScroll:!0})}placeholder(){const e=this.store.filter((e=>e.placeholder),!1);let t=this.settings.placeholderText;e.length&&(""!==e[0].html?t=e[0].html:""!==e[0].text&&(t=e[0].text));const s=document.createElement("div");return s.classList.add(this.classes.placeholder),s.innerHTML=t,s}renderValues(){this.settings.isMultiple?this.renderMultipleValues():this.renderSingleValue()}renderSingleValue(){const e=this.store.filter((e=>e.selected&&!e.placeholder),!1),t=e.length>0?e[0]:null;if(t){const e=document.createElement("div");e.classList.add(this.classes.single),t.html?e.innerHTML=t.html:e.innerText=t.text,this.main.values.innerHTML=e.outerHTML}else this.main.values.innerHTML=this.placeholder().outerHTML;this.settings.allowDeselect&&e.length?this.main.deselect.main.classList.remove(this.classes.hide):this.main.deselect.main.classList.add(this.classes.hide)}renderMultipleValues(){let e=this.main.values.childNodes,t=this.store.filter((e=>e.selected&&e.display),!1);if(0===t.length)return void(this.main.values.innerHTML=this.placeholder().outerHTML);{const e=this.main.values.querySelector("."+this.classes.placeholder);e&&e.remove()}if(t.length>this.settings.maxValuesShown){const e=document.createElement("div");return e.classList.add(this.classes.max),e.textContent=this.settings.maxValuesMessage.replace("{number}",t.length.toString()),void(this.main.values.innerHTML=e.outerHTML)}{const e=this.main.values.querySelector("."+this.classes.max);e&&e.remove()}let s=[];for(let i=0;i<e.length;i++){const n=e[i],a=n.getAttribute("data-id");if(a){t.filter((e=>e.id===a),!1).length||s.push(n)}}for(const e of s)e.classList.add(this.classes.valueOut),setTimeout((()=>{this.main.values.hasChildNodes()&&this.main.values.contains(e)&&this.main.values.removeChild(e)}),100);e=this.main.values.childNodes;for(let s=0;s<t.length;s++){let i=!0;for(let n=0;n<e.length;n++)t[s].id===String(e[n].dataset.id)&&(i=!1);i&&(0===e.length?this.main.values.appendChild(this.multipleValue(t[s])):0===s?this.main.values.insertBefore(this.multipleValue(t[s]),e[s]):e[s-1].insertAdjacentElement("afterend",this.multipleValue(t[s])))}this.updateDeselectAll()}multipleValue(e){const t=document.createElement("div");t.classList.add(this.classes.value),t.dataset.id=e.id;const s=document.createElement("div");if(s.classList.add(this.classes.valueText),s.innerText=e.text,t.appendChild(s),!e.mandatory){const s=document.createElement("div");s.classList.add(this.classes.valueDelete),s.onclick=t=>{if(t.preventDefault(),t.stopPropagation(),this.settings.disabled)return;let s=!0;const i=this.store.getSelectedOptions(),l=i.filter((t=>t.selected&&t.id!==e.id),!0);if(!(this.settings.minSelected&&l.length<this.settings.minSelected)&&(this.callbacks.beforeChange&&(s=!0===this.callbacks.beforeChange(l,i)),s)){let e=[];for(const t of l){if(t instanceof n)for(const s of t.options)e.push(s.value);t instanceof a&&e.push(t.value)}this.callbacks.setSelected(e,!1),this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(l),this.updateDeselectAll()}};const i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.setAttribute("viewBox","0 0 100 100");const l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("d",this.classes.optionDelete),i.appendChild(l),s.appendChild(i),t.appendChild(s)}return t}contentDiv(){const e=document.createElement("div");e.dataset.id=this.settings.id,e.id=this.settings.id;const t=this.searchDiv();e.appendChild(t.main);const s=this.listDiv();return e.appendChild(s),{main:e,search:t,list:s}}moveContent(){"relative"!==this.settings.contentPosition&&"down"!==this.settings.openPosition?"up"!==this.settings.openPosition?"up"===this.putContent()?this.moveContentAbove():this.moveContentBelow():this.moveContentAbove():this.moveContentBelow()}searchDiv(){const e=document.createElement("div"),s=document.createElement("input"),i=document.createElement("div");e.classList.add(this.classes.search);const n={main:e,input:s};if(this.settings.showSearch||(e.classList.add(this.classes.hide),s.readOnly=!0),s.type="search",s.placeholder=this.settings.searchPlaceholder,s.tabIndex=-1,s.setAttribute("aria-label",this.settings.searchPlaceholder),s.setAttribute("autocapitalize","off"),s.setAttribute("autocomplete","off"),s.setAttribute("autocorrect","off"),s.oninput=t((e=>{this.callbacks.search(e.target.value)}),100),s.onkeydown=e=>{switch(e.key){case"ArrowUp":case"ArrowDown":return"ArrowDown"===e.key?this.highlight("down"):this.highlight("up"),!1;case"Tab":return this.callbacks.close(),!0;case"Escape":return this.callbacks.close(),!1;case"Enter":case" ":if(this.callbacks.addable&&e.ctrlKey)return i.click(),!1;{const e=this.content.list.querySelector("."+this.classes.highlighted);if(e)return e.click(),!1}return!0}},e.appendChild(s),this.callbacks.addable){i.classList.add(this.classes.addable);const t=document.createElementNS("http://www.w3.org/2000/svg","svg");t.setAttribute("viewBox","0 0 100 100");const s=document.createElementNS("http://www.w3.org/2000/svg","path");s.setAttribute("d",this.classes.addablePath),t.appendChild(s),i.appendChild(t),i.onclick=e=>{if(e.preventDefault(),e.stopPropagation(),!this.callbacks.addable)return;const t=this.content.search.input.value.trim();if(""===t)return void this.content.search.input.focus();const s=e=>{let t=new a(e);if(this.callbacks.addOption(t),this.settings.isMultiple){let e=this.store.getSelected();e.push(t.value),this.callbacks.setSelected(e,!0)}else this.callbacks.setSelected([t.value],!0);this.callbacks.search(""),this.settings.closeOnSelect&&setTimeout((()=>{this.callbacks.close()}),100)},i=this.callbacks.addable(t);!1!==i&&null!=i&&(i instanceof Promise?i.then((e=>{s("string"==typeof e?{text:e,value:e}:e)})):s("string"==typeof i?{text:i,value:i}:i))},e.appendChild(i),n.addable={main:i,svg:t,path:s}}return n}searchFocus(){this.content.search.input.focus()}getOptions(e=!1,t=!1,s=!1){let i="."+this.classes.option;return e&&(i+=":not(."+this.classes.placeholder+")"),t&&(i+=":not(."+this.classes.disabled+")"),s&&(i+=":not(."+this.classes.hide+")"),Array.from(this.content.list.querySelectorAll(i))}highlight(e){const t=this.getOptions(!0,!0,!0);if(0!==t.length)if(1!==t.length||t[0].classList.contains(this.classes.highlighted)){for(let s=0;s<t.length;s++)if(t[s].classList.contains(this.classes.highlighted)){const i=t[s];i.classList.remove(this.classes.highlighted);const n=i.parentElement;if(n&&n.classList.contains(this.classes.open)){const e=n.querySelector("."+this.classes.optgroupLabel);e&&e.click()}let a=t["down"===e?s+1<t.length?s+1:0:s-1>=0?s-1:t.length-1];a.classList.add(this.classes.highlighted),this.ensureElementInView(this.content.list,a);const l=a.parentElement;if(l&&l.classList.contains(this.classes.close)){const e=l.querySelector("."+this.classes.optgroupLabel);e&&e.click()}return}t["down"===e?0:t.length-1].classList.add(this.classes.highlighted),this.ensureElementInView(this.content.list,t["down"===e?0:t.length-1])}else t[0].classList.add(this.classes.highlighted)}listDiv(){const e=document.createElement("div");return e.classList.add(this.classes.list),e}renderError(e){this.content.list.innerHTML="";const t=document.createElement("div");t.classList.add(this.classes.error),t.textContent=e,this.content.list.appendChild(t)}renderSearching(){this.content.list.innerHTML="";const e=document.createElement("div");e.classList.add(this.classes.searching),e.textContent=this.settings.searchingText,this.content.list.appendChild(e)}renderOptions(e){if(this.content.list.innerHTML="",0===e.length){const e=document.createElement("div");return e.classList.add(this.classes.search),e.innerHTML=this.settings.searchText,void this.content.list.appendChild(e)}for(const t of e){if(t instanceof n){const e=document.createElement("div");e.classList.add(this.classes.optgroup);const s=document.createElement("div");s.classList.add(this.classes.optgroupLabel),e.appendChild(s);const i=document.createElement("div");i.classList.add(this.classes.optgroupLabelText),i.textContent=t.label,s.appendChild(i);const n=document.createElement("div");if(n.classList.add(this.classes.optgroupActions),s.appendChild(n),this.settings.isMultiple&&t.selectAll){const e=document.createElement("div");e.classList.add(this.classes.optgroupSelectAll);let s=!0;for(const e of t.options)if(!e.selected){s=!1;break}s&&e.classList.add(this.classes.selected);const i=document.createElement("span");i.textContent=t.selectAllText,e.appendChild(i);const a=document.createElementNS("http://www.w3.org/2000/svg","svg");a.setAttribute("viewBox","0 0 100 100"),e.appendChild(a);const l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("d",this.classes.optgroupSelectAllBox),a.appendChild(l);const o=document.createElementNS("http://www.w3.org/2000/svg","path");o.setAttribute("d",this.classes.optgroupSelectAllCheck),a.appendChild(o),e.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation();const i=this.store.getSelected();if(s){const e=i.filter((e=>{for(const s of t.options)if(e===s.value)return!1;return!0}));this.callbacks.setSelected(e,!0)}else{const e=i.concat(t.options.map((e=>e.value)));for(const e of t.options)this.store.getOptionByID(e.id)||this.callbacks.addOption(e);this.callbacks.setSelected(e,!0)}})),n.appendChild(e)}if("off"!==t.closable){const i=document.createElement("div");i.classList.add(this.classes.optgroupClosable);const a=document.createElementNS("http://www.w3.org/2000/svg","svg");a.setAttribute("viewBox","0 0 100 100"),a.classList.add(this.classes.arrow),i.appendChild(a);const l=document.createElementNS("http://www.w3.org/2000/svg","path");a.appendChild(l),t.options.some((e=>e.selected))||""!==this.content.search.input.value.trim()?(i.classList.add(this.classes.open),l.setAttribute("d",this.classes.arrowOpen)):"open"===t.closable?(e.classList.add(this.classes.open),l.setAttribute("d",this.classes.arrowOpen)):"close"===t.closable&&(e.classList.add(this.classes.close),l.setAttribute("d",this.classes.arrowClose)),s.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation(),e.classList.contains(this.classes.close)?(e.classList.remove(this.classes.close),e.classList.add(this.classes.open),l.setAttribute("d",this.classes.arrowOpen)):(e.classList.remove(this.classes.open),e.classList.add(this.classes.close),l.setAttribute("d",this.classes.arrowClose))})),n.appendChild(i)}e.appendChild(s);for(const s of t.options)e.appendChild(this.option(s));this.content.list.appendChild(e)}t instanceof a&&this.content.list.appendChild(this.option(t))}}option(e){if(e.placeholder){const e=document.createElement("div");return e.classList.add(this.classes.option),e.classList.add(this.classes.hide),e}const t=document.createElement("div");return t.dataset.id=e.id,t.id=e.id,t.classList.add(this.classes.option),t.setAttribute("role","option"),e.class&&e.class.split(" ").forEach((e=>{t.classList.add(e)})),e.style&&(t.style.cssText=e.style),this.settings.searchHighlight&&""!==this.content.search.input.value.trim()?t.innerHTML=this.highlightText(""!==e.html?e.html:e.text,this.content.search.input.value,this.classes.searchHighlighter):""!==e.html?t.innerHTML=e.html:t.textContent=e.text,this.settings.showOptionTooltips&&t.textContent&&t.setAttribute("title",t.textContent),e.display||t.classList.add(this.classes.hide),e.disabled&&t.classList.add(this.classes.disabled),e.selected&&this.settings.hideSelected&&t.classList.add(this.classes.hide),e.selected?(t.classList.add(this.classes.selected),t.setAttribute("aria-selected","true"),this.main.main.setAttribute("aria-activedescendant",t.id)):(t.classList.remove(this.classes.selected),t.setAttribute("aria-selected","false")),t.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation();const s=this.store.getSelected(),i=t.currentTarget,n=String(i.dataset.id);if(e.disabled||e.selected&&!this.settings.allowDeselect)return;if(this.settings.isMultiple&&this.settings.maxSelected<=s.length&&!e.selected||this.settings.isMultiple&&this.settings.minSelected>=s.length&&e.selected)return;let a=!1;const l=this.store.getSelectedOptions();let o=[];this.settings.isMultiple&&(o=e.selected?l.filter((e=>e.id!==n)):l.concat(e)),this.settings.isMultiple||(o=e.selected?[]:[e]),this.callbacks.beforeChange||(a=!0),this.callbacks.beforeChange&&(a=!1!==this.callbacks.beforeChange(o,l)),a&&(this.store.getOptionByID(n)||this.callbacks.addOption(e),this.callbacks.setSelected(o.map((e=>e.value)),!1),this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(o))})),t}destroy(){this.main.main.remove(),this.content.main.remove()}highlightText(e,t,s){let i=e;const n=new RegExp("("+t.trim()+")(?![^<]*>[^<>]*</)","i");if(!e.match(n))return e;const a=e.match(n).index,l=a+e.match(n)[0].toString().length,o=e.substring(a,l);return i=i.replace(n,`<mark class="${s}">${o}</mark>`),i}moveContentAbove(){const e=this.main.main.offsetHeight,t=this.content.main.offsetHeight;this.main.main.classList.remove(this.classes.openBelow),this.main.main.classList.add(this.classes.openAbove),this.content.main.classList.remove(this.classes.openBelow),this.content.main.classList.add(this.classes.openAbove);const s=this.main.main.getBoundingClientRect();this.content.main.style.margin="-"+(e+t-1)+"px 0px 0px 0px",this.content.main.style.top=s.top+s.height+window.scrollY+"px",this.content.main.style.left=s.left+window.scrollX+"px",this.content.main.style.width=s.width+"px"}moveContentBelow(){this.main.main.classList.remove(this.classes.openAbove),this.main.main.classList.add(this.classes.openBelow),this.content.main.classList.remove(this.classes.openAbove),this.content.main.classList.add(this.classes.openBelow);const e=this.main.main.getBoundingClientRect();this.content.main.style.margin="-1px 0px 0px 0px","relative"!==this.settings.contentPosition&&(this.content.main.style.top=e.top+e.height+window.scrollY+"px",this.content.main.style.left=e.left+window.scrollX+"px",this.content.main.style.width=e.width+"px")}ensureElementInView(e,t){const s=e.scrollTop+e.offsetTop,i=s+e.clientHeight,n=t.offsetTop,a=n+t.clientHeight;n<s?e.scrollTop-=s-n:a>i&&(e.scrollTop+=a-i)}putContent(){const e=this.main.main.offsetHeight,t=this.main.main.getBoundingClientRect(),s=this.content.main.offsetHeight;return window.innerHeight-(t.top+e)<=s&&t.top>s?"up":"down"}updateDeselectAll(){if(!this.store||!this.settings)return;const e=this.store.getSelectedOptions(),t=e&&e.length>0,s=this.settings.isMultiple,i=this.settings.allowDeselect,n=this.main.deselect.main,a=this.classes.hide;!i||s&&!t?n.classList.add(a):n.classList.remove(a)}}class c{constructor(e){this.listen=!1,this.observer=null,this.select=e,this.select.addEventListener("change",this.valueChange.bind(this),{passive:!0}),this.observer=new MutationObserver(this.observeCall.bind(this)),this.changeListen(!0)}enable(){this.select.disabled=!1}disable(){this.select.disabled=!0}hideUI(){this.select.tabIndex=-1,this.select.style.display="none",this.select.setAttribute("aria-hidden","true")}showUI(){this.select.removeAttribute("tabindex"),this.select.style.display="",this.select.removeAttribute("aria-hidden")}changeListen(e){this.listen=e,e&&this.observer&&this.observer.observe(this.select,{subtree:!0,childList:!0,attributes:!0}),e||this.observer&&this.observer.disconnect()}valueChange(e){return this.listen&&this.onValueChange&&this.onValueChange(this.getSelectedValues()),!0}observeCall(e){if(!this.listen)return;let t=!1,s=!1,i=!1;for(const n of e)n.target===this.select&&("disabled"===n.attributeName&&(s=!0),"class"===n.attributeName&&(t=!0)),"OPTGROUP"!==n.target.nodeName&&"OPTION"!==n.target.nodeName||(i=!0);t&&this.onClassChange&&this.onClassChange(this.select.className.split(" ")),s&&this.onDisabledChange&&(this.changeListen(!1),this.onDisabledChange(this.select.disabled),this.changeListen(!0)),i&&this.onOptionsChange&&(this.changeListen(!1),this.onOptionsChange(this.getData()),this.changeListen(!0))}getData(){let e=[];const t=this.select.childNodes;for(const s of t)"OPTGROUP"===s.nodeName&&e.push(this.getDataFromOptgroup(s)),"OPTION"===s.nodeName&&e.push(this.getDataFromOption(s));return e}getDataFromOptgroup(e){let t={id:e.id,label:e.label,selectAll:!!e.dataset&&"true"===e.dataset.selectall,selectAllText:e.dataset?e.dataset.selectalltext:"Select all",closable:e.dataset?e.dataset.closable:"off",options:[]};const s=e.childNodes;for(const e of s)"OPTION"===e.nodeName&&t.options.push(this.getDataFromOption(e));return t}getDataFromOption(e){return{id:e.id,value:e.value,text:e.text,html:e.dataset&&e.dataset.html?e.dataset.html:"",selected:e.selected,display:"none"!==e.style.display,disabled:e.disabled,mandatory:!!e.dataset&&"true"===e.dataset.mandatory,placeholder:"true"===e.dataset.placeholder,class:e.className,style:e.style.cssText,data:e.dataset}}getSelectedValues(){let e=[];const t=this.select.childNodes;for(const s of t){if("OPTGROUP"===s.nodeName){const t=s.childNodes;for(const s of t)if("OPTION"===s.nodeName){const t=s;t.selected&&e.push(t.value)}}if("OPTION"===s.nodeName){const t=s;t.selected&&e.push(t.value)}}return e}setSelected(e){this.changeListen(!1);const t=this.select.childNodes;for(const s of t){if("OPTGROUP"===s.nodeName){const t=s.childNodes;for(const s of t)if("OPTION"===s.nodeName){const t=s;t.selected=e.includes(t.value)}}if("OPTION"===s.nodeName){const t=s;t.selected=e.includes(t.value)}}this.changeListen(!0)}updateSelect(e,t,s){this.changeListen(!1),e&&(this.select.dataset.id=e),t&&(this.select.style.cssText=t),s&&(this.select.className="",s.forEach((e=>{""!==e.trim()&&this.select.classList.add(e.trim())}))),this.changeListen(!0)}updateOptions(e){this.changeListen(!1),this.select.innerHTML="";for(const t of e)t instanceof n&&this.select.appendChild(this.createOptgroup(t)),t instanceof a&&this.select.appendChild(this.createOption(t));this.select.dispatchEvent(new Event("change")),this.changeListen(!0)}createOptgroup(e){const t=document.createElement("optgroup");if(t.id=e.id,t.label=e.label,e.selectAll&&(t.dataset.selectAll="true"),"off"!==e.closable&&(t.dataset.closable=e.closable),e.options)for(const s of e.options)t.appendChild(this.createOption(s));return t}createOption(e){const t=document.createElement("option");return t.id=e.id,t.value=e.value,t.innerHTML=e.text,""!==e.html&&t.setAttribute("data-html",e.html),e.selected&&(t.selected=e.selected),e.disabled&&(t.disabled=!0),!1===e.display&&(t.style.display="none"),e.placeholder&&t.setAttribute("data-placeholder","true"),e.mandatory&&t.setAttribute("data-mandatory","true"),e.class&&e.class.split(" ").forEach((e=>{t.classList.add(e)})),e.data&&"object"==typeof e.data&&Object.keys(e.data).forEach((s=>{t.setAttribute("data-"+function(e){const t=e.replace(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g,(e=>"-"+e.toLowerCase()));return e[0]===e[0].toUpperCase()?t.substring(1):t}(s),e.data[s])})),t}destroy(){this.changeListen(!1),this.select.removeEventListener("change",this.valueChange.bind(this)),this.observer&&(this.observer.disconnect(),this.observer=null),delete this.select.dataset.id,this.showUI()}}return class{constructor(e){var s;if(this.events={search:void 0,searchFilter:(e,t)=>-1!==e.text.toLowerCase().indexOf(t.toLowerCase()),addable:void 0,beforeChange:void 0,afterChange:void 0,beforeOpen:void 0,afterOpen:void 0,beforeClose:void 0,afterClose:void 0},this.windowResize=t((()=>{(this.settings.isOpen||this.settings.isFullOpen)&&this.render.moveContent()})),this.windowScroll=t((()=>{(this.settings.isOpen||this.settings.isFullOpen)&&this.render.moveContent()})),this.documentClick=e=>{this.settings.isOpen&&e.target&&!function(e,t){function s(e,s){return s&&e&&e.classList&&e.classList.contains(s)||s&&e&&e.dataset&&e.dataset.id&&e.dataset.id===t?e:null}return s(e,t)||function e(t,i){return t&&t!==document?s(t,i)?t:e(t.parentNode,i):null}(e,t)}(e.target,this.settings.id)&&this.close(e.type)},this.windowVisibilityChange=()=>{document.hidden&&this.close()},this.selectEl="string"==typeof e.select?document.querySelector(e.select):e.select,!this.selectEl)return void(e.events&&e.events.error&&e.events.error(new Error("Could not find select element")));if("SELECT"!==this.selectEl.tagName)return void(e.events&&e.events.error&&e.events.error(new Error("Element isnt of type select")));this.selectEl.dataset.ssid&&this.destroy(),this.settings=new i(e.settings);const n=["afterChange","beforeOpen","afterOpen","beforeClose","afterClose"];for(const s in e.events)e.events.hasOwnProperty(s)&&(-1!==n.indexOf(s)?this.events[s]=t(e.events[s],100):this.events[s]=e.events[s]);this.settings.disabled=(null===(s=e.settings)||void 0===s?void 0:s.disabled)?e.settings.disabled:this.selectEl.disabled,this.settings.isMultiple=this.selectEl.multiple,this.settings.style=this.selectEl.style.cssText,this.settings.class=this.selectEl.className.split(" "),this.select=new c(this.selectEl),this.select.updateSelect(this.settings.id,this.settings.style,this.settings.class),this.select.hideUI(),this.select.onValueChange=e=>{this.setSelected(e)},this.select.onClassChange=e=>{this.settings.class=e,this.render.updateClassStyles()},this.select.onDisabledChange=e=>{e?this.disable():this.enable()},this.select.onOptionsChange=e=>{this.setData(e)},this.store=new l(this.settings.isMultiple?"multiple":"single",e.data?e.data:this.select.getData()),e.data&&this.select.updateOptions(this.store.getData());const a={open:this.open.bind(this),close:this.close.bind(this),addable:this.events.addable?this.events.addable:void 0,setSelected:this.setSelected.bind(this),addOption:this.addOption.bind(this),search:this.search.bind(this),beforeChange:this.events.beforeChange,afterChange:this.events.afterChange};this.render=new o(this.settings,this.store,a),this.render.renderValues(),this.render.renderOptions(this.store.getData());const h=this.selectEl.getAttribute("aria-label"),r=this.selectEl.getAttribute("aria-labelledby");h?this.render.main.main.setAttribute("aria-label",h):r&&this.render.main.main.setAttribute("aria-labelledby",r),this.selectEl.parentNode&&this.selectEl.parentNode.insertBefore(this.render.main.main,this.selectEl.nextSibling),document.addEventListener("click",this.documentClick),window.addEventListener("resize",this.windowResize,!1),"auto"===this.settings.openPosition&&window.addEventListener("scroll",this.windowScroll,!1),document.addEventListener("visibilitychange",this.windowVisibilityChange),this.settings.disabled&&this.disable(),this.settings.alwaysOpen&&this.open(),this.selectEl.slim=this}enable(){this.settings.disabled=!1,this.select.enable(),this.render.enable()}disable(){this.settings.disabled=!0,this.select.disable(),this.render.disable()}getData(){return this.store.getData()}setData(e){const t=this.store.getSelected(),i=this.store.validateDataArray(e);if(i)return void(this.events.error&&this.events.error(i));this.store.setData(e);const n=this.store.getData();this.select.updateOptions(n),this.render.renderValues(),this.render.renderOptions(n),this.events.afterChange&&!s(t,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}getSelected(){return this.store.getSelected()}setSelected(e,t=!0){const i=this.store.getSelected();this.store.setSelectedBy("value",Array.isArray(e)?e:[e]);const n=this.store.getData();this.select.updateOptions(n),this.render.renderValues(),""!==this.render.content.search.input.value?this.search(this.render.content.search.input.value):this.render.renderOptions(n),t&&this.events.afterChange&&!s(i,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}addOption(e){const t=this.store.getSelected();this.store.getDataOptions().some((t=>{var s;return t.value===(null!==(s=e.value)&&void 0!==s?s:e.text)}))||this.store.addOption(e);const i=this.store.getData();this.select.updateOptions(i),this.render.renderValues(),this.render.renderOptions(i),this.events.afterChange&&!s(t,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}open(){this.settings.disabled||this.settings.isOpen||(this.events.beforeOpen&&this.events.beforeOpen(),this.render.open(),this.settings.showSearch&&this.render.searchFocus(),this.settings.isOpen=!0,setTimeout((()=>{this.events.afterOpen&&this.events.afterOpen(),this.settings.isOpen&&(this.settings.isFullOpen=!0)}),this.settings.timeoutDelay),"absolute"===this.settings.contentPosition&&(this.settings.intervalMove&&clearInterval(this.settings.intervalMove),this.settings.intervalMove=setInterval(this.render.moveContent.bind(this.render),500)))}close(e=null){this.settings.isOpen&&!this.settings.alwaysOpen&&(this.events.beforeClose&&this.events.beforeClose(),this.render.close(),""!==this.render.content.search.input.value&&this.search(""),this.render.mainFocus(e),this.settings.isOpen=!1,this.settings.isFullOpen=!1,setTimeout((()=>{this.events.afterClose&&this.events.afterClose()}),this.settings.timeoutDelay),this.settings.intervalMove&&clearInterval(this.settings.intervalMove))}search(e){if(this.render.content.search.input.value!==e&&(this.render.content.search.input.value=e),!this.events.search)return void this.render.renderOptions(""===e?this.store.getData():this.store.search(e,this.events.searchFilter));this.render.renderSearching();const t=this.events.search(e,this.store.getSelectedOptions());t instanceof Promise?t.then((e=>{this.render.renderOptions(this.store.partialToFullData(e))})).catch((e=>{this.render.renderError("string"==typeof e?e:e.message)})):Array.isArray(t)?this.render.renderOptions(this.store.partialToFullData(t)):this.render.renderError("Search event must return a promise or an array of data")}destroy(){document.removeEventListener("click",this.documentClick),window.removeEventListener("resize",this.windowResize,!1),"auto"===this.settings.openPosition&&window.removeEventListener("scroll",this.windowScroll,!1),document.removeEventListener("visibilitychange",this.windowVisibilityChange),this.store.setData([]),this.render.destroy(),this.select.destroy()}}}));
|