@tekkare/auriga 0.1.187 → 0.1.189
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.
- package/dist/module.json +1 -1
- package/dist/runtime/components/argAdvancedSearchBar.vue +280 -71
- package/dist/runtime/components/argAdvancedSearchBar.vue.d.ts +87 -1
- package/dist/runtime/components/argComplexSelect.vue.d.ts +1 -1
- package/dist/runtime/components/argDropdownSelect.vue.d.ts +2 -2
- package/dist/runtime/components/argExportXLSX.vue.d.ts +1 -1
- package/dist/runtime/components/argMapsEurope.vue.d.ts +1 -1
- package/dist/runtime/components/argMapsFrDepartements.vue.d.ts +1 -1
- package/dist/runtime/components/argMapsFrRegions.vue.d.ts +1 -1
- package/dist/runtime/components/argMapsFrRegionsToDepartements.vue.d.ts +1 -1
- package/dist/runtime/components/argMapsUs.vue.d.ts +1 -1
- package/dist/runtime/components/argMultipleChoice.vue.d.ts +1 -1
- package/dist/runtime/components/argMultipleSelect.vue.d.ts +2 -2
- package/dist/runtime/components/argRadioButtons.vue.d.ts +1 -1
- package/dist/runtime/components/argScopeSelect.vue.d.ts +1 -1
- package/dist/runtime/components/argSearchInput.vue +1 -0
- package/dist/runtime/components/argSearchInput.vue.d.ts +2 -2
- package/dist/runtime/components/argSidebar.vue +6 -3
- package/dist/runtime/components/argSidebar.vue.d.ts +3 -2
- package/dist/runtime/components/argSimpleLabel.vue +1 -1
- package/dist/runtime/components/argSteplineChart.vue.d.ts +1 -1
- package/package.json +1 -1
package/dist/module.json
CHANGED
|
@@ -1,61 +1,86 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div>
|
|
3
|
-
<div
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
v-model="value"
|
|
18
|
-
class="filters_input_style"
|
|
19
|
-
:placeholder="placeHolderValue"
|
|
20
|
-
@keydown.enter="addTag"
|
|
21
|
-
@keydown.left="selectTag(closeIndex - 1, 0)"
|
|
22
|
-
@keydown.right="selectTag(closeIndex + 1, 1)"
|
|
23
|
-
@keydown.up="shortcutSelect('asc')"
|
|
24
|
-
@keydown.down="shortcutSelect('desc')"
|
|
25
|
-
autocomplete="off"
|
|
26
|
-
/>
|
|
27
|
-
<div class="research_tags" id="tags">
|
|
2
|
+
<div class="relative">
|
|
3
|
+
<div class="relative">
|
|
4
|
+
<div
|
|
5
|
+
class="filters_input_search"
|
|
6
|
+
:class="[
|
|
7
|
+
{ filters_shortcuts_open: typing },
|
|
8
|
+
suggOpen && suggestions !== null ? 'no_bottom' : '',
|
|
9
|
+
]"
|
|
10
|
+
>
|
|
11
|
+
<arg-icon
|
|
12
|
+
name="MagnifyingGlass"
|
|
13
|
+
color="var(--medium)"
|
|
14
|
+
size="20"
|
|
15
|
+
class="search_icon"
|
|
16
|
+
/>
|
|
28
17
|
<div
|
|
29
|
-
|
|
30
|
-
:
|
|
31
|
-
|
|
32
|
-
:class="{
|
|
33
|
-
selected_tag: selectedTag === searchIndex,
|
|
34
|
-
duplicate_tag: duplicate.includes(search.value),
|
|
35
|
-
}"
|
|
36
|
-
class="input_shortcut_tag"
|
|
37
|
-
@mouseover="hoverTag = searchIndex"
|
|
38
|
-
@mouseleave="hoverTag = null"
|
|
18
|
+
class="select_shortcut"
|
|
19
|
+
:class="typing ? 'open' : ''"
|
|
20
|
+
@click.stop="changeDisplay()"
|
|
39
21
|
>
|
|
40
|
-
<
|
|
41
|
-
|
|
42
|
-
</
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
22
|
+
<p>
|
|
23
|
+
{{ shortcuts.find((a) => a.symbol === selectedShortcut).keyword }} :
|
|
24
|
+
</p>
|
|
25
|
+
</div>
|
|
26
|
+
<input
|
|
27
|
+
id="search_input"
|
|
28
|
+
v-model="value"
|
|
29
|
+
class="filters_input_style"
|
|
30
|
+
:placeholder="placeHolderValue"
|
|
31
|
+
@keydown.enter="
|
|
32
|
+
optionIndex > 0 && showSuggs
|
|
33
|
+
? selectSugg(filterSuggestions[optionIndex - 1])
|
|
34
|
+
: addTag()
|
|
35
|
+
"
|
|
36
|
+
@keydown.up="typing ? shortcutSelect('asc') : selectOption(false)"
|
|
37
|
+
@keydown.down="typing ? shortcutSelect('desc') : selectOption(true)"
|
|
38
|
+
autocomplete="off"
|
|
39
|
+
click.stop
|
|
40
|
+
/>
|
|
41
|
+
|
|
42
|
+
<div
|
|
43
|
+
class="remove_search_section"
|
|
44
|
+
@click="emptySearch()"
|
|
45
|
+
:class="{ 'select-remove': removeSelected }"
|
|
46
|
+
>
|
|
47
|
+
<arg-icon name="XCircleFill" size="20" color="var(--medium)" />
|
|
51
48
|
</div>
|
|
52
49
|
</div>
|
|
50
|
+
|
|
53
51
|
<div
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
:class="
|
|
52
|
+
v-if="suggestions !== null && suggOpen"
|
|
53
|
+
class="search_suggestions"
|
|
54
|
+
:class="suggOpen ? 'sugg_open' : ''"
|
|
55
|
+
@click.stop
|
|
57
56
|
>
|
|
58
|
-
<
|
|
57
|
+
<div v-if="loadingSuggs">
|
|
58
|
+
<p class="loading oip_body">{{ loaderText[lang] }}</p>
|
|
59
|
+
</div>
|
|
60
|
+
<div v-if="filterSuggestions.length > 0" class="sugg_container">
|
|
61
|
+
<p
|
|
62
|
+
v-for="(sugg, index) in filterSuggestions"
|
|
63
|
+
:key="index"
|
|
64
|
+
class="oip_body"
|
|
65
|
+
:class="[
|
|
66
|
+
optionIndex === index + 1 ? 'selected' : '',
|
|
67
|
+
optionIndex > 0 ? 'no_hover' : '',
|
|
68
|
+
]"
|
|
69
|
+
@click="selectSugg(sugg)"
|
|
70
|
+
@mousemove="optionIndex = 0"
|
|
71
|
+
>
|
|
72
|
+
<arg-icon
|
|
73
|
+
v-if="sugg.icon"
|
|
74
|
+
:name="sugg.icon"
|
|
75
|
+
size="14"
|
|
76
|
+
color="var(--medium)"
|
|
77
|
+
/>
|
|
78
|
+
{{ sugg.text }}
|
|
79
|
+
</p>
|
|
80
|
+
</div>
|
|
81
|
+
<div v-else-if="!loadingSuggs" class="sugg_container">
|
|
82
|
+
<p class="not-found oip_body">{{ notFound[lang] }}</p>
|
|
83
|
+
</div>
|
|
59
84
|
</div>
|
|
60
85
|
</div>
|
|
61
86
|
<div v-if="typing" class="sub_input_section">
|
|
@@ -67,7 +92,7 @@
|
|
|
67
92
|
color="var(--darkest)"
|
|
68
93
|
size="16"
|
|
69
94
|
class="align_icon show_shortcuts"
|
|
70
|
-
@click
|
|
95
|
+
@click="showInfo = !showInfo"
|
|
71
96
|
/>
|
|
72
97
|
</div>
|
|
73
98
|
<div class="research_content">
|
|
@@ -114,6 +139,7 @@
|
|
|
114
139
|
</div>
|
|
115
140
|
</div>
|
|
116
141
|
</div>
|
|
142
|
+
|
|
117
143
|
<div v-if="showInfo" class="searchbar_info" id="info" @click.stop>
|
|
118
144
|
<div class="searchbar_shortcuts">
|
|
119
145
|
<p class="searchbar_info_title">Keyboard shortcuts</p>
|
|
@@ -146,6 +172,56 @@
|
|
|
146
172
|
</div>
|
|
147
173
|
</div>
|
|
148
174
|
</div>
|
|
175
|
+
|
|
176
|
+
<div class="research_tags" id="tags">
|
|
177
|
+
<div
|
|
178
|
+
v-for="(search, searchIndex) in searchedWords"
|
|
179
|
+
:key="searchIndex"
|
|
180
|
+
:id="`tag${searchIndex}`"
|
|
181
|
+
:class="{
|
|
182
|
+
selected_tag: selectedTag === searchIndex,
|
|
183
|
+
duplicate_tag: duplicate.includes(search.value),
|
|
184
|
+
}"
|
|
185
|
+
class="input_shortcut_tag"
|
|
186
|
+
@mouseover="hoverTag = searchIndex"
|
|
187
|
+
@mouseleave="hoverTag = null"
|
|
188
|
+
>
|
|
189
|
+
<div v-if="searchIndex === showChangeType" class="tag_change_type">
|
|
190
|
+
<p
|
|
191
|
+
v-for="option in shortcuts.map((a) => a.keyword)"
|
|
192
|
+
:key="option"
|
|
193
|
+
@click.stop="changeSearchType(searchIndex, option)"
|
|
194
|
+
:class="
|
|
195
|
+
search.type.toLowerCase() === option
|
|
196
|
+
? 'current select_type'
|
|
197
|
+
: 'select_type'
|
|
198
|
+
"
|
|
199
|
+
>
|
|
200
|
+
{{ option.toUpperCase() }}
|
|
201
|
+
<arg-icon
|
|
202
|
+
v-if="search.type.toLowerCase() === option"
|
|
203
|
+
name="Check"
|
|
204
|
+
color="var(--primary)"
|
|
205
|
+
size="16"
|
|
206
|
+
/>
|
|
207
|
+
</p>
|
|
208
|
+
</div>
|
|
209
|
+
<span
|
|
210
|
+
v-if="search.type.length > 0"
|
|
211
|
+
class="tag_search_type"
|
|
212
|
+
@click.stop="handleChangeType(searchIndex)"
|
|
213
|
+
>{{ search.type.toLowerCase() }}:
|
|
214
|
+
</span>
|
|
215
|
+
<span class="shortcut_keyword">{{ search.value }}</span>
|
|
216
|
+
<arg-icon
|
|
217
|
+
name="X"
|
|
218
|
+
size="12"
|
|
219
|
+
thickness="36"
|
|
220
|
+
class="remove"
|
|
221
|
+
@click.stop="removeTag(searchIndex)"
|
|
222
|
+
/>
|
|
223
|
+
</div>
|
|
224
|
+
</div>
|
|
149
225
|
</div>
|
|
150
226
|
</template>
|
|
151
227
|
<script>
|
|
@@ -157,6 +233,7 @@ import {
|
|
|
157
233
|
defineComponent
|
|
158
234
|
} from "vue";
|
|
159
235
|
import argIcon from "./argIcon.vue";
|
|
236
|
+
import { useFuse } from "@vueuse/integrations/useFuse";
|
|
160
237
|
export default defineComponent({
|
|
161
238
|
name: "argAdvancedSearchBar",
|
|
162
239
|
components: { argIcon },
|
|
@@ -172,6 +249,25 @@ export default defineComponent({
|
|
|
172
249
|
defaultInputs: {
|
|
173
250
|
type: Array,
|
|
174
251
|
default: () => []
|
|
252
|
+
},
|
|
253
|
+
suggestions: {
|
|
254
|
+
type: Array,
|
|
255
|
+
default: null
|
|
256
|
+
},
|
|
257
|
+
fuzzyThreshold: {
|
|
258
|
+
type: Number,
|
|
259
|
+
default: 0.5
|
|
260
|
+
},
|
|
261
|
+
lang: {
|
|
262
|
+
type: String,
|
|
263
|
+
default: "en",
|
|
264
|
+
validator: (value) => {
|
|
265
|
+
return ["en", "fr", "es"].includes(value);
|
|
266
|
+
}
|
|
267
|
+
},
|
|
268
|
+
loadingSuggs: {
|
|
269
|
+
type: Boolean,
|
|
270
|
+
default: false
|
|
175
271
|
}
|
|
176
272
|
},
|
|
177
273
|
emits: ["update:Value", "onClose"],
|
|
@@ -183,19 +279,22 @@ export default defineComponent({
|
|
|
183
279
|
{ keyword: "not", value: "exclude the word", symbol: "!" }
|
|
184
280
|
]);
|
|
185
281
|
const hoverShortcut = ref("");
|
|
186
|
-
const selectedShortcut = ref("");
|
|
282
|
+
const selectedShortcut = ref("+");
|
|
187
283
|
const searchedWords = ref([]);
|
|
188
284
|
const closeIndex = ref();
|
|
189
285
|
const value = ref("");
|
|
190
286
|
const selectedTag = ref();
|
|
191
|
-
const duplicate = ref(
|
|
287
|
+
const duplicate = ref([]);
|
|
192
288
|
const searchBar = ref();
|
|
193
289
|
const tagsSection = ref();
|
|
194
290
|
const shortcutIndex = ref(-1);
|
|
195
291
|
const removeSelected = ref(false);
|
|
196
292
|
const hoverTag = ref();
|
|
197
293
|
const showInfo = ref(false);
|
|
294
|
+
const showChangeType = ref(null);
|
|
198
295
|
const regexSearch = /^[\s\.\+\/\!]|(?:[\+\/\!\s])[\s{1,}\.{1,}\+{1,}\/{1,}\!{1,}]|[\s{1,}\.1,}\+{1,}\/{1,}\!{1,}]$|\s+[\+\/]|\s+$/g;
|
|
296
|
+
const suggOpen = ref(false);
|
|
297
|
+
const optionIndex = ref(0);
|
|
199
298
|
const iconColor = computed(() => {
|
|
200
299
|
if (typing.value === true) {
|
|
201
300
|
return "var(--primary)";
|
|
@@ -222,10 +321,28 @@ export default defineComponent({
|
|
|
222
321
|
} else
|
|
223
322
|
return false;
|
|
224
323
|
});
|
|
324
|
+
const notFound = {
|
|
325
|
+
fr: "Aucune suggestion n'a \xE9t\xE9 trouv\xE9e",
|
|
326
|
+
en: "No suggestions were found",
|
|
327
|
+
es: "No se encontraron sugerencias"
|
|
328
|
+
};
|
|
329
|
+
const loaderText = {
|
|
330
|
+
fr: "Plus de suggestions en chargement",
|
|
331
|
+
en: "Loading more suggestions",
|
|
332
|
+
es: "cargando m\xE1s sugerencias"
|
|
333
|
+
};
|
|
225
334
|
watch(value, (new_value) => {
|
|
335
|
+
typing.value = false;
|
|
226
336
|
if (new_value === "") {
|
|
227
337
|
hoverShortcut.value = "";
|
|
338
|
+
suggOpen.value = false;
|
|
339
|
+
optionIndex.value = 0;
|
|
340
|
+
document.removeEventListener("click", closeSugg);
|
|
228
341
|
} else {
|
|
342
|
+
suggOpen.value = true;
|
|
343
|
+
setTimeout(() => {
|
|
344
|
+
document.addEventListener("click", closeSugg);
|
|
345
|
+
}, 100);
|
|
229
346
|
for (let i = 0; i < shortcuts.value.length; i++) {
|
|
230
347
|
if (new_value.startsWith(shortcuts.value[i].symbol)) {
|
|
231
348
|
selectedShortcut.value = shortcuts.value[i].symbol;
|
|
@@ -233,9 +350,17 @@ export default defineComponent({
|
|
|
233
350
|
}
|
|
234
351
|
}
|
|
235
352
|
});
|
|
236
|
-
watch(
|
|
237
|
-
|
|
238
|
-
|
|
353
|
+
watch(
|
|
354
|
+
() => typing.value,
|
|
355
|
+
() => {
|
|
356
|
+
if (!typing.value) {
|
|
357
|
+
document.removeEventListener("click", close);
|
|
358
|
+
} else
|
|
359
|
+
setTimeout(() => {
|
|
360
|
+
document.addEventListener("click", close);
|
|
361
|
+
}, 100);
|
|
362
|
+
}
|
|
363
|
+
);
|
|
239
364
|
watch(closeIndex, (new_index) => {
|
|
240
365
|
if (new_index > searchedWords.value.length) {
|
|
241
366
|
removeSelected.value = true;
|
|
@@ -277,6 +402,17 @@ export default defineComponent({
|
|
|
277
402
|
} else
|
|
278
403
|
return "var(--white)";
|
|
279
404
|
}
|
|
405
|
+
function handleChangeType(searchIndex) {
|
|
406
|
+
showChangeType.value = searchIndex;
|
|
407
|
+
setTimeout(() => {
|
|
408
|
+
document.addEventListener("click", close);
|
|
409
|
+
}, 200);
|
|
410
|
+
}
|
|
411
|
+
function changeSearchType(searchIndex, option) {
|
|
412
|
+
searchedWords.value[searchIndex].type = option;
|
|
413
|
+
emit("update:Value", searchedWords.value);
|
|
414
|
+
showChangeType.value = null;
|
|
415
|
+
}
|
|
280
416
|
function shortcutSelect(dir) {
|
|
281
417
|
typing.value = true;
|
|
282
418
|
let index;
|
|
@@ -304,7 +440,6 @@ export default defineComponent({
|
|
|
304
440
|
shortcutIndex.value = shortcuts.value.length - 1;
|
|
305
441
|
}
|
|
306
442
|
}
|
|
307
|
-
searchBar.value.focus();
|
|
308
443
|
}
|
|
309
444
|
function addToSearch(search, textValue, isDefault) {
|
|
310
445
|
searchedWords.value.push({ type: search, value: textValue });
|
|
@@ -316,6 +451,24 @@ export default defineComponent({
|
|
|
316
451
|
searchBar.value.focus();
|
|
317
452
|
resetSearch();
|
|
318
453
|
}
|
|
454
|
+
const options = computed(() => ({
|
|
455
|
+
fuseOptions: {
|
|
456
|
+
includeScore: true,
|
|
457
|
+
threshold: 0.5
|
|
458
|
+
}
|
|
459
|
+
}));
|
|
460
|
+
const filterSuggestions = computed(() => {
|
|
461
|
+
if (value.value.replace(/[+/!]/g, "").length > 0) {
|
|
462
|
+
return props.suggestions.filter(
|
|
463
|
+
(f) => useFuse(
|
|
464
|
+
value.value.replace(/[+/!]/g, ""),
|
|
465
|
+
props.suggestions.map((a) => a.text),
|
|
466
|
+
options.value
|
|
467
|
+
).results.value.map((a) => a.item).includes(f.text)
|
|
468
|
+
).slice(0, 50);
|
|
469
|
+
} else
|
|
470
|
+
return props.suggestions.slice(0, 50);
|
|
471
|
+
});
|
|
319
472
|
function selectTag(index, direction) {
|
|
320
473
|
let nextTag;
|
|
321
474
|
if (direction === 0) {
|
|
@@ -364,11 +517,23 @@ export default defineComponent({
|
|
|
364
517
|
return returnKeyword;
|
|
365
518
|
}
|
|
366
519
|
function addTag() {
|
|
520
|
+
suggOpen.value = false;
|
|
367
521
|
if (removeSelected.value === true) {
|
|
368
522
|
emptySearch();
|
|
369
523
|
} else if (selectedTag.value !== null && selectedTag.value < searchedWords.value.length && selectedTag.value >= 0) {
|
|
370
524
|
removeTag(selectedTag.value);
|
|
371
525
|
} else {
|
|
526
|
+
if (optionIndex.value > 0) {
|
|
527
|
+
value.value = filterSuggestions.value[optionIndex.value - 1].text;
|
|
528
|
+
if (searchedWords.value.filter(
|
|
529
|
+
(f) => f.value === filterSuggestions.value[optionIndex.value - 1].text
|
|
530
|
+
).length > 0) {
|
|
531
|
+
setTimeout(() => {
|
|
532
|
+
suggOpen.value = false;
|
|
533
|
+
value.value = "";
|
|
534
|
+
});
|
|
535
|
+
}
|
|
536
|
+
}
|
|
372
537
|
let search;
|
|
373
538
|
let searchValue = "";
|
|
374
539
|
let arrayValues;
|
|
@@ -395,9 +560,9 @@ export default defineComponent({
|
|
|
395
560
|
if (searchValue.length > 0 && arrayValues.length === 0) {
|
|
396
561
|
if (searchedWords.value.filter((f) => f.value === searchValue).length === 0) {
|
|
397
562
|
addToSearch(search, searchValue, false);
|
|
398
|
-
selectedShortcut.value = "";
|
|
399
563
|
} else {
|
|
400
564
|
handleDuplicate(searchValue);
|
|
565
|
+
value.value = "";
|
|
401
566
|
}
|
|
402
567
|
} else if (arrayValues.length > 0) {
|
|
403
568
|
for (let i = 0; i < arrayValues.length; i++) {
|
|
@@ -407,9 +572,9 @@ export default defineComponent({
|
|
|
407
572
|
(f) => f.value === arraySearchValue
|
|
408
573
|
).length === 0) {
|
|
409
574
|
addToSearch(search, arraySearchValue, false);
|
|
410
|
-
selectedShortcut.value = "";
|
|
411
575
|
} else {
|
|
412
576
|
handleDuplicate(arraySearchValue);
|
|
577
|
+
value.value = "";
|
|
413
578
|
}
|
|
414
579
|
}
|
|
415
580
|
}
|
|
@@ -417,8 +582,8 @@ export default defineComponent({
|
|
|
417
582
|
}
|
|
418
583
|
}
|
|
419
584
|
function handleDuplicate(tag) {
|
|
420
|
-
duplicate.value
|
|
421
|
-
setTimeout(() => duplicate.value =
|
|
585
|
+
duplicate.value.push(tag);
|
|
586
|
+
setTimeout(() => duplicate.value = [], 1e3);
|
|
422
587
|
}
|
|
423
588
|
function emptySearch() {
|
|
424
589
|
searchedWords.value = [];
|
|
@@ -427,6 +592,17 @@ export default defineComponent({
|
|
|
427
592
|
searchBar.value.focus();
|
|
428
593
|
emit("update:Value", searchedWords.value);
|
|
429
594
|
}
|
|
595
|
+
function selectSugg(sugg) {
|
|
596
|
+
if (searchedWords.value.find(
|
|
597
|
+
(a) => a.value === sugg.text
|
|
598
|
+
) === void 0) {
|
|
599
|
+
value.value = sugg.text;
|
|
600
|
+
addTag();
|
|
601
|
+
} else {
|
|
602
|
+
suggOpen.value = false;
|
|
603
|
+
handleDuplicate(sugg.text);
|
|
604
|
+
}
|
|
605
|
+
}
|
|
430
606
|
function selectSearch(item) {
|
|
431
607
|
const searchValue = value.value.replace(regexSearch, "");
|
|
432
608
|
selectedShortcut.value = item.symbol;
|
|
@@ -435,11 +611,11 @@ export default defineComponent({
|
|
|
435
611
|
addToSearch(getKeyword(item.symbol), searchValue, false);
|
|
436
612
|
} else {
|
|
437
613
|
handleDuplicate(searchValue);
|
|
614
|
+
value.value = "";
|
|
438
615
|
}
|
|
439
|
-
} else {
|
|
440
|
-
value.value = `${item.symbol}`;
|
|
441
616
|
}
|
|
442
617
|
searchBar.value.focus();
|
|
618
|
+
typing.value = false;
|
|
443
619
|
}
|
|
444
620
|
function removeTag(tagIndex) {
|
|
445
621
|
searchedWords.value.splice(tagIndex, 1);
|
|
@@ -468,13 +644,36 @@ export default defineComponent({
|
|
|
468
644
|
}
|
|
469
645
|
searchBar.value.focus();
|
|
470
646
|
}
|
|
471
|
-
function
|
|
472
|
-
if (
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
647
|
+
function selectOption(isDown) {
|
|
648
|
+
if (isDown) {
|
|
649
|
+
optionIndex.value = optionIndex.value === filterSuggestions.value.length ? filterSuggestions.value.length : optionIndex.value + 1;
|
|
650
|
+
} else {
|
|
651
|
+
optionIndex.value = optionIndex.value === 0 ? filterSuggestions.value.length : optionIndex.value - 1;
|
|
652
|
+
}
|
|
653
|
+
const suggContainer = document.querySelector(".search_suggestions");
|
|
654
|
+
const selectedOption = suggContainer?.querySelectorAll("p")[optionIndex.value - 1];
|
|
655
|
+
if (selectedOption) {
|
|
656
|
+
const containerHeight = suggContainer?.clientHeight;
|
|
657
|
+
const containerScrollTop = suggContainer?.scrollTop;
|
|
658
|
+
const optionTop = selectedOption?.offsetTop;
|
|
659
|
+
const optionHeight = selectedOption?.offsetHeight * 2;
|
|
660
|
+
if (optionTop < containerScrollTop) {
|
|
661
|
+
suggContainer.scrollTop = optionTop;
|
|
662
|
+
} else if (optionTop + optionHeight > containerHeight + containerScrollTop) {
|
|
663
|
+
suggContainer.scrollTop = optionTop + optionHeight - containerHeight;
|
|
664
|
+
}
|
|
476
665
|
}
|
|
477
666
|
}
|
|
667
|
+
function close() {
|
|
668
|
+
emit("onClose");
|
|
669
|
+
typing.value = false;
|
|
670
|
+
showChangeType.value = null;
|
|
671
|
+
}
|
|
672
|
+
function closeSugg() {
|
|
673
|
+
suggOpen.value = false;
|
|
674
|
+
optionIndex.value = 0;
|
|
675
|
+
document.removeEventListener("click", close);
|
|
676
|
+
}
|
|
478
677
|
return {
|
|
479
678
|
close,
|
|
480
679
|
changeDisplay,
|
|
@@ -508,11 +707,21 @@ export default defineComponent({
|
|
|
508
707
|
regexSearch,
|
|
509
708
|
iconColor,
|
|
510
709
|
hasShortcut,
|
|
511
|
-
infoHeight
|
|
710
|
+
infoHeight,
|
|
711
|
+
suggOpen,
|
|
712
|
+
filterSuggestions,
|
|
713
|
+
selectOption,
|
|
714
|
+
optionIndex,
|
|
715
|
+
selectSugg,
|
|
716
|
+
showChangeType,
|
|
717
|
+
changeSearchType,
|
|
718
|
+
notFound,
|
|
719
|
+
loaderText,
|
|
720
|
+
handleChangeType
|
|
512
721
|
};
|
|
513
722
|
}
|
|
514
723
|
});
|
|
515
724
|
</script>
|
|
516
725
|
<style scoped>
|
|
517
|
-
.research_tags{
|
|
726
|
+
.research_tags{flex-grow:1;flex-wrap:wrap;gap:8px;margin-top:8px}.filters_input_search,.research_tags{align-items:center;display:flex;flex-direction:row}.filters_input_search{background:var(--white);border:1.5px solid var(--light);border-radius:8px;gap:12px;height:40px;padding:0 0 0 12px;width:calc(100% - 12px)}.filters_input_search.no_bottom{border:1.5px solid var(--primary)!important;border-bottom:none!important;border-radius:8px 8px 0 0;filter:drop-shadow(0 0 4px rgba(33,118,255,.3))!important}.filters_shortcuts_open:not(.no_bottom){border-radius:8px 8px 8px 0}.filters_input_style{margin-right:8px;max-width:80%}.research_section{align-items:flex-start;background:var(--white);border:1.5px solid var(--light);border-radius:0 0 8px 8px;box-shadow:2px 2px 3px rgba(33,118,255,.1),-2px 2px 3px rgba(33,118,255,.1);box-sizing:border-box;display:flex;flex-direction:column;flex-shrink:0;padding:0;width:340px}.research_title{align-items:center;align-self:stretch;display:flex;flex:none;flex-direction:row;flex-grow:0;font-size:14px;font-weight:700;gap:8px;line-height:16px;order:0;padding:16px}.align_icon{margin-left:auto}.research_content{align-items:flex-start;align-self:stretch;display:flex;flex:none;flex-direction:column;flex-grow:0;order:1;padding:0 8px;width:90%}.research_item{align-items:center;border-radius:2px;cursor:pointer;display:flex;flex-direction:row;gap:4px;padding:8px;width:100%}.research_item:hover{background:var(--lightest)!important}.research_item_selected{background:var(--lightest)}.research_keyword{font-size:16px;font-weight:500;line-height:19px}.research_value{color:var(--dark);font-size:16px;font-weight:400;line-height:19px}.research_item>svg{margin-left:auto}.research_footer{align-items:flex-start;align-self:stretch;display:flex;flex:none;flex-direction:column;flex-grow:0;order:2;padding:16px 0 0}.research_separator{background:var(--light);height:1px;width:100%}.shortcuts_choice{align-self:stretch;font-size:14px;font-weight:400;gap:4px;line-height:16px;padding:12px 16px}.shortcut_tag,.shortcuts_choice{align-items:center;display:flex;flex:none;flex-direction:row;flex-grow:0;order:1}.shortcut_tag{background:var(--lightest);border-radius:4px;gap:2px;justify-content:center;padding:4px}.shortcut_keyword{font-size:14px;font-weight:400;line-height:16px;white-space:nowrap}.shortcut_symbol{font-size:14px;font-weight:500;line-height:16px}.tag_change_type{background:var(--white);border:1px solid var(--light);border-radius:8px;box-shadow:var(--small-shadow);display:flex;flex-direction:column;font-size:14px;gap:8px;left:-1px;line-height:16px;padding:8px 12px;position:absolute;top:-1px;z-index:99}.select_type{display:flex;flex-direction:row;gap:2px}.select_type:hover{color:var(--primary)!important}.select_type{cursor:pointer}.select_type.current{font-weight:600!important}.tag_search_type{color:var(--dark);cursor:pointer;font-size:14px;font-weight:700;line-height:normal}.tag_search_type:hover{color:var(--primary)}.input_shortcut_tag{align-items:center;background:var(--lightest);border:1px solid var(--light);border-radius:12px;display:flex;flex-direction:row;gap:4px;padding:4px 12px;position:relative;width:auto}.input_shortcut_tag:hover{border:1px solid rgba(33,118,255,.3)!important}.remove_search_section{align-items:center;background:var(--white);border-left:1px solid var(--light);border-radius:0 8px 8px 0;cursor:pointer;display:flex;flex-direction:row;height:100%;margin-left:auto;padding:0 12px}.remove_search_section:hover,.select-remove{background:rgba(33,118,255,.1)!important}.remove_search_section:hover svg,.select-remove svg{color:var(--primary)!important}.remove_search{cursor:pointer}.remove_search:hover svg{color:var(--primary)!important}.search_error{color:var(--system-alert);font-size:14px}.selected_tag{border:1px solid var(--primary)}.input_shortcut_tag.duplicate_tag{animation:shake 1s;background:var(--lightest)!important}@keyframes shake{10%,90%{transform:scale(.9) translate3d(-1px,0,0)}20%,80%{transform:scale(.9) translate3d(2px,0,0)}30%,50%,70%{transform:scale(.9) translate3d(-4px,0,0)}40%,60%{transform:scale(.9) translate3d(4px,0,0)}}.search_icon{flex-shrink:0}.sub_input_section{align-items:flex-start;display:flex;flex-direction:row;position:absolute;z-index:5}@media screen and (max-width:700px){.sub_input_section{align-items:flex-start;display:flex;flex-direction:column-reverse}.searchbar_info{border-radius:0!important;height:100px;opacity:1!important;overflow-y:scroll;width:338px}}.searchbar_info{align-items:flex-start;background:var(--darkest);border:1px solid var(--darkest);border-radius:0 0 8px 8px;color:var(--white);display:flex;filter:drop-shadow(0 0 4px rgba(33,118,255,.3))!important;flex-direction:row;max-width:500px}.searchbar_shortcuts{padding:16px}.searchbar_info_title{font-size:14px;font-weight:700;text-decoration:underline}.searchbar_info_content{font-size:14px;list-style:inside;padding-inline-start:0!important}.close_info{padding:12px 16px 0 0}.close_info,.show_shortcuts{cursor:pointer}.filters_input_search:not(.no_bottom):hover{border:1.5px solid rgba(33,118,255,.2)!important}.filters_input_search:not(.no_bottom):focus-within{border:1.5px solid var(--primary)!important;filter:drop-shadow(0 0 4px rgba(33,118,255,.3))!important}.filters_input_search:focus-within .search_icon,.filters_input_search:hover .search_icon{color:var(--primary)!important}.filters_input_style{width:100%}.filters_input_style,.filters_input_style:focus-visible{border:none;outline:none}.filters_input_style::-moz-placeholder{color:var(--medium)}.filters_input_style::placeholder{color:var(--medium)}.search_suggestions{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff;border:1.5px solid var(--light);border-radius:0 0 8px 8px;left:0;max-height:200px;overflow-y:scroll;position:absolute;width:100%;z-index:4}.search_suggestions::-webkit-scrollbar{height:5px;width:5px}.search_suggestions::-webkit-scrollbar-thumb{background:var(--medium);border-radius:12px!important}.search_suggestions::-webkit-scrollbar-thumb:hover{background:var(--medium)!important}.sugg_open{border-top:1.5px solid var(--primary)!important;border:1.5px solid var(--primary)!important;border-top-color:var(--light)!important;box-shadow:2px 2px 3px rgba(33,118,255,.1),-2px 2px 3px rgba(33,118,255,.1)}.sugg_container{cursor:pointer;display:flex;flex-direction:column}.sugg_container p:not(.loading){align-items:center;display:flex;gap:8px;padding:8px 12px}.sugg_container p.selected,.sugg_container p:not(.not-found,.loading,.no_hover):hover{background:rgba(93,153,250,.2)}.sugg_container p.selected svg,.sugg_container p:not(.not-found,.loading,.no_hover):hover svg{color:var(--primary)!important}.sugg_container p:last-of-type{border-radius:0 0 0 8px}.loading{color:var(--medium);font-style:italic;padding:8px 12px}.loading:after{animation:dots 1.3s step-end infinite;content:"";display:inline-block}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.select_shortcut{align-items:center;animation:shine 3s ease-in-out forwards;background:var(--white);border:1px solid transparent;border:1px solid var(--light);border-radius:6px;box-shadow:var(--medium-shadow);cursor:pointer;display:flex;flex-direction:row;flex-shrink:0;flex-wrap:nowrap;font-size:16px;gap:4px;padding:4px 8px}@keyframes shine{0%{filter:drop-shadow(0 0 0 rgba(0,0,0,0))}25%{filter:drop-shadow(0 0 4px rgba(33,118,255,.5))}50%{filter:drop-shadow(0 0 0 rgba(0,0,0,0))}75%{filter:drop-shadow(0 0 4px rgba(33,118,255,.5))}to{filter:drop-shadow(0 0 0 rgba(0,0,0,0))}}.select_shortcut:hover{border:1px solid rgba(33,118,255,.3)!important}.select_shortcut:hover,.select_shortcut:hover svg,svg.remove:hover{color:var(--primary)!important}.remove{cursor:pointer}.relative{position:relative}
|
|
518
727
|
</style>
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
interface Suggestion {
|
|
2
|
+
icon?: string;
|
|
3
|
+
text: string;
|
|
4
|
+
}
|
|
1
5
|
declare const _default: import("vue").DefineComponent<{
|
|
2
6
|
placeHolderValue: {
|
|
3
7
|
type: StringConstructor;
|
|
@@ -79,6 +83,36 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
79
83
|
};
|
|
80
84
|
default: () => never[];
|
|
81
85
|
};
|
|
86
|
+
suggestions: {
|
|
87
|
+
type: {
|
|
88
|
+
(arrayLength: number): Suggestion[];
|
|
89
|
+
(...items: Suggestion[]): Suggestion[];
|
|
90
|
+
new (arrayLength: number): Suggestion[];
|
|
91
|
+
new (...items: Suggestion[]): Suggestion[];
|
|
92
|
+
isArray(arg: any): arg is any[];
|
|
93
|
+
readonly prototype: any[];
|
|
94
|
+
from<T>(arrayLike: ArrayLike<T>): T[];
|
|
95
|
+
from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
|
|
96
|
+
from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
|
|
97
|
+
from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
|
|
98
|
+
of<T_4>(...items: T_4[]): T_4[];
|
|
99
|
+
readonly [Symbol.species]: ArrayConstructor;
|
|
100
|
+
};
|
|
101
|
+
default: null;
|
|
102
|
+
};
|
|
103
|
+
fuzzyThreshold: {
|
|
104
|
+
type: NumberConstructor;
|
|
105
|
+
default: number;
|
|
106
|
+
};
|
|
107
|
+
lang: {
|
|
108
|
+
type: StringConstructor;
|
|
109
|
+
default: string;
|
|
110
|
+
validator: (value: string) => boolean;
|
|
111
|
+
};
|
|
112
|
+
loadingSuggs: {
|
|
113
|
+
type: BooleanConstructor;
|
|
114
|
+
default: boolean;
|
|
115
|
+
};
|
|
82
116
|
}, {
|
|
83
117
|
close: () => void;
|
|
84
118
|
changeDisplay: () => void;
|
|
@@ -106,7 +140,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
106
140
|
closeIndex: import("vue").Ref<any>;
|
|
107
141
|
value: import("vue").Ref<string>;
|
|
108
142
|
selectedTag: import("vue").Ref<any>;
|
|
109
|
-
duplicate: import("vue").Ref<
|
|
143
|
+
duplicate: import("vue").Ref<never[]>;
|
|
110
144
|
searchBar: import("vue").Ref<any>;
|
|
111
145
|
tagsSection: import("vue").Ref<any>;
|
|
112
146
|
shortcutIndex: import("vue").Ref<number>;
|
|
@@ -117,6 +151,24 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
117
151
|
iconColor: import("vue").ComputedRef<"var(--primary)" | "var(--medium)">;
|
|
118
152
|
hasShortcut: import("vue").ComputedRef<boolean>;
|
|
119
153
|
infoHeight: import("vue").ComputedRef<boolean>;
|
|
154
|
+
suggOpen: import("vue").Ref<boolean>;
|
|
155
|
+
filterSuggestions: import("vue").ComputedRef<Suggestion[]>;
|
|
156
|
+
selectOption: (isDown: boolean) => void;
|
|
157
|
+
optionIndex: import("vue").Ref<number>;
|
|
158
|
+
selectSugg: (sugg: Suggestion) => void;
|
|
159
|
+
showChangeType: import("vue").Ref<any>;
|
|
160
|
+
changeSearchType: (searchIndex: number, option: string) => void;
|
|
161
|
+
notFound: {
|
|
162
|
+
fr: string;
|
|
163
|
+
en: string;
|
|
164
|
+
es: string;
|
|
165
|
+
};
|
|
166
|
+
loaderText: {
|
|
167
|
+
fr: string;
|
|
168
|
+
en: string;
|
|
169
|
+
es: string;
|
|
170
|
+
};
|
|
171
|
+
handleChangeType: (searchIndex: number) => void;
|
|
120
172
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:Value" | "onClose")[], "update:Value" | "onClose", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
121
173
|
placeHolderValue: {
|
|
122
174
|
type: StringConstructor;
|
|
@@ -198,10 +250,41 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
198
250
|
};
|
|
199
251
|
default: () => never[];
|
|
200
252
|
};
|
|
253
|
+
suggestions: {
|
|
254
|
+
type: {
|
|
255
|
+
(arrayLength: number): Suggestion[];
|
|
256
|
+
(...items: Suggestion[]): Suggestion[];
|
|
257
|
+
new (arrayLength: number): Suggestion[];
|
|
258
|
+
new (...items: Suggestion[]): Suggestion[];
|
|
259
|
+
isArray(arg: any): arg is any[];
|
|
260
|
+
readonly prototype: any[];
|
|
261
|
+
from<T>(arrayLike: ArrayLike<T>): T[];
|
|
262
|
+
from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
|
|
263
|
+
from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
|
|
264
|
+
from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
|
|
265
|
+
of<T_4>(...items: T_4[]): T_4[];
|
|
266
|
+
readonly [Symbol.species]: ArrayConstructor;
|
|
267
|
+
};
|
|
268
|
+
default: null;
|
|
269
|
+
};
|
|
270
|
+
fuzzyThreshold: {
|
|
271
|
+
type: NumberConstructor;
|
|
272
|
+
default: number;
|
|
273
|
+
};
|
|
274
|
+
lang: {
|
|
275
|
+
type: StringConstructor;
|
|
276
|
+
default: string;
|
|
277
|
+
validator: (value: string) => boolean;
|
|
278
|
+
};
|
|
279
|
+
loadingSuggs: {
|
|
280
|
+
type: BooleanConstructor;
|
|
281
|
+
default: boolean;
|
|
282
|
+
};
|
|
201
283
|
}>> & {
|
|
202
284
|
"onUpdate:Value"?: ((...args: any[]) => any) | undefined;
|
|
203
285
|
onOnClose?: ((...args: any[]) => any) | undefined;
|
|
204
286
|
}, {
|
|
287
|
+
lang: string;
|
|
205
288
|
placeHolderValue: string;
|
|
206
289
|
customShortcuts: {
|
|
207
290
|
keyword: "";
|
|
@@ -212,5 +295,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
212
295
|
type: "";
|
|
213
296
|
value: "";
|
|
214
297
|
}[];
|
|
298
|
+
suggestions: Suggestion[];
|
|
299
|
+
fuzzyThreshold: number;
|
|
300
|
+
loadingSuggs: boolean;
|
|
215
301
|
}, {}>;
|
|
216
302
|
export default _default;
|
|
@@ -298,6 +298,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
298
298
|
"onUpdate:Selection"?: ((...args: any[]) => any) | undefined;
|
|
299
299
|
}, {
|
|
300
300
|
lang: string;
|
|
301
|
+
fuzzyThreshold: number;
|
|
301
302
|
loading: boolean;
|
|
302
303
|
search_placeholder_add: string;
|
|
303
304
|
search_placeholder_del: string;
|
|
@@ -315,6 +316,5 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
315
316
|
loader_text: string[];
|
|
316
317
|
empty_content_msg: string;
|
|
317
318
|
fuzzySearch: boolean;
|
|
318
|
-
fuzzyThreshold: number;
|
|
319
319
|
}, {}>;
|
|
320
320
|
export default _default;
|
|
@@ -233,6 +233,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
233
233
|
onChangeInputValue?: ((...args: any[]) => any) | undefined;
|
|
234
234
|
}, {
|
|
235
235
|
lang: string;
|
|
236
|
+
fuzzyThreshold: number;
|
|
237
|
+
search: boolean;
|
|
236
238
|
loading: boolean;
|
|
237
239
|
categories: unknown[];
|
|
238
240
|
return_value: boolean;
|
|
@@ -241,8 +243,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
241
243
|
loader_text: string[];
|
|
242
244
|
empty_content_msg: string;
|
|
243
245
|
fuzzySearch: boolean;
|
|
244
|
-
fuzzyThreshold: number;
|
|
245
|
-
search: boolean;
|
|
246
246
|
filter_placeholder: string;
|
|
247
247
|
close_on_click: boolean;
|
|
248
248
|
default_select: number;
|
|
@@ -112,9 +112,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
112
112
|
onChangeElement?: ((...args: any[]) => any) | undefined;
|
|
113
113
|
"onUpdate:Selection"?: ((...args: any[]) => any) | undefined;
|
|
114
114
|
}, {
|
|
115
|
+
dir: string;
|
|
115
116
|
return_value: boolean;
|
|
116
117
|
default_select: number[];
|
|
117
|
-
dir: string;
|
|
118
118
|
must_select: number[];
|
|
119
119
|
nbCols: number;
|
|
120
120
|
}, {}>;
|
|
@@ -275,6 +275,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
275
275
|
onChangeInputValue?: ((...args: any[]) => any) | undefined;
|
|
276
276
|
}, {
|
|
277
277
|
lang: string;
|
|
278
|
+
fuzzyThreshold: number;
|
|
279
|
+
search: boolean;
|
|
278
280
|
loading: boolean;
|
|
279
281
|
disabled: boolean;
|
|
280
282
|
show_amount: boolean;
|
|
@@ -282,8 +284,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
282
284
|
loader_text: string[];
|
|
283
285
|
empty_content_msg: string;
|
|
284
286
|
fuzzySearch: boolean;
|
|
285
|
-
fuzzyThreshold: number;
|
|
286
|
-
search: boolean;
|
|
287
287
|
filter_placeholder: string;
|
|
288
288
|
default_select: String[];
|
|
289
289
|
nested: boolean;
|
|
@@ -67,8 +67,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
67
67
|
onChangeElement?: ((...args: any[]) => any) | undefined;
|
|
68
68
|
"onUpdate:Selection"?: ((...args: any[]) => any) | undefined;
|
|
69
69
|
}, {
|
|
70
|
+
dir: string;
|
|
70
71
|
defaultSelect: string | number;
|
|
71
72
|
returnValue: boolean;
|
|
72
|
-
dir: string;
|
|
73
73
|
}, {}>;
|
|
74
74
|
export default _default;
|
|
@@ -59,7 +59,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
59
59
|
onChangeElement?: ((...args: any[]) => any) | undefined;
|
|
60
60
|
"onUpdate:Selection"?: ((...args: any[]) => any) | undefined;
|
|
61
61
|
}, {
|
|
62
|
-
defaultSelect: number;
|
|
63
62
|
dir: string;
|
|
63
|
+
defaultSelect: number;
|
|
64
64
|
}, {}>;
|
|
65
65
|
export default _default;
|
|
@@ -107,9 +107,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
107
107
|
}, {
|
|
108
108
|
lang: string;
|
|
109
109
|
placeHolderValue: string;
|
|
110
|
-
fuzzyThreshold: number;
|
|
111
|
-
defaultValue: string;
|
|
112
110
|
suggestions: Suggestion[];
|
|
111
|
+
fuzzyThreshold: number;
|
|
113
112
|
loadingSuggs: boolean;
|
|
113
|
+
defaultValue: string;
|
|
114
114
|
}, {}>;
|
|
115
115
|
export default _default;
|
|
@@ -58,8 +58,11 @@
|
|
|
58
58
|
</div>
|
|
59
59
|
|
|
60
60
|
<h1 v-show="sidebarOpen" class="arg_sidebar_title">
|
|
61
|
-
<
|
|
62
|
-
<span
|
|
61
|
+
<slot v-if="name === null" name="Title" />
|
|
62
|
+
<span v-else>
|
|
63
|
+
<span v-if="appIso"><arg-flag :iso="appIso" emoji /></span>
|
|
64
|
+
<span>{{ name }}</span>
|
|
65
|
+
</span>
|
|
63
66
|
</h1>
|
|
64
67
|
<div class="arg_sidebar_body">
|
|
65
68
|
<div class="arg_sidebar_content">
|
|
@@ -87,7 +90,7 @@ export default defineComponent({
|
|
|
87
90
|
name: "argSidebar",
|
|
88
91
|
components: { argIcon, argTooltip, argFlag },
|
|
89
92
|
props: {
|
|
90
|
-
name: { type: String,
|
|
93
|
+
name: { type: String, default: null },
|
|
91
94
|
appIso: {
|
|
92
95
|
type: String,
|
|
93
96
|
default: null
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
declare const _default: import("vue").DefineComponent<{
|
|
2
2
|
name: {
|
|
3
3
|
type: StringConstructor;
|
|
4
|
-
|
|
4
|
+
default: null;
|
|
5
5
|
};
|
|
6
6
|
appIso: {
|
|
7
7
|
type: StringConstructor;
|
|
@@ -22,7 +22,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
22
22
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("onSidebarChange" | "update:Sidebar")[], "onSidebarChange" | "update:Sidebar", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
23
23
|
name: {
|
|
24
24
|
type: StringConstructor;
|
|
25
|
-
|
|
25
|
+
default: null;
|
|
26
26
|
};
|
|
27
27
|
appIso: {
|
|
28
28
|
type: StringConstructor;
|
|
@@ -41,6 +41,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
41
41
|
onOnSidebarChange?: ((...args: any[]) => any) | undefined;
|
|
42
42
|
"onUpdate:Sidebar"?: ((...args: any[]) => any) | undefined;
|
|
43
43
|
}, {
|
|
44
|
+
name: string;
|
|
44
45
|
lang: string;
|
|
45
46
|
appIso: string;
|
|
46
47
|
homeLink: string;
|
|
@@ -52,7 +52,7 @@ const drawSquircle=(ctx,geom,radii,smooth,lineWidth,color)=>{const defaultFill=c
|
|
|
52
52
|
</script>
|
|
53
53
|
|
|
54
54
|
<style>
|
|
55
|
-
.oip_select_dropdown_block{background:var(--demi-fond);border:1.5px solid var(--light);border-radius:12px;box-shadow:var(--overlay-shadow);display:flex;flex-direction:column;margin-top:15px;max-height:500px;min-width:200px;padding:16px;position:absolute;z-index:12}.oip_select_block{align-items:center;background:var(--white);border:1.5px solid var(--light);border-radius:8px;cursor:pointer;display:flex;gap:4px;-webkit-mask-image:paint(squircle);mask-image:paint(squircle);padding:12px;position:relative;width:
|
|
55
|
+
.oip_select_dropdown_block{background:var(--demi-fond);border:1.5px solid var(--light);border-radius:12px;box-shadow:var(--overlay-shadow);display:flex;flex-direction:column;margin-top:15px;max-height:500px;min-width:200px;padding:16px;position:absolute;z-index:12}.oip_select_block{align-items:center;background:var(--white);border:1.5px solid var(--light);border-radius:8px;cursor:pointer;display:flex;gap:4px;-webkit-mask-image:paint(squircle);mask-image:paint(squircle);padding:12px;position:relative;width:196px;--squircle-radius:8px;--squircle-smooth:1}.filter_box:hover,.filter_wrap:hover>.filter_box:not(.open),.oip_select_block:hover,.oip_select_dropdown_block:hover,.prmt_parent_switch:hover{border:1.5px solid var(--primary-primary-20,#d3e4ff)!important}.filter_box.open,.oip_select_dropdown_block.open,.oip_select_wrap.open>.oip_select_block,.prmt_parent_switch.open{border:1.5px solid var(--primary)!important;filter:drop-shadow(0 0 4px rgba(33,118,255,.3))!important}.filter_wrap.open,.oip_select_wrap.open,.switch_wrapper.open{filter:drop-shadow(0 0 4px rgba(33,118,255,.3))!important}.oip_select_block.open>svg{color:var(--primary)!important}.oip_select_block.disabled{background:var(--light)!important;cursor:not-allowed}.oip_select_label .prmt_tooltip{display:flex}.oip_select_label .prmt_tooltip span,.oip_select_label>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:98%}.oip_select_label{color:var(--darkest);font-size:14px;font-weight:700;line-height:16px;max-height:16px;width:90%}.oip_select_block svg{flex-shrink:0!important}.oip_select_label.disabled{color:var(--dark)}.oip_select_caret_down{float:right;margin-left:auto}.oip_select_complex_selection_loop_name{width:-moz-fit-content;width:fit-content}.oip_select_complex_selection_loop.del>svg{color:var(--system-alert)!important;flex-shrink:0}.oip_select_complex_selection_loop.add>svg{color:var(--primary)!important;flex-shrink:0}.oip_select_complex_selection_loop{flex-grow:1;margin:8px 0}.oip_select_complex_selection_container{margin:8px 0;max-height:350px;overflow-y:auto}.oip_select_complex_selection_loop_name{font-size:14px;font-weight:400;line-height:16px}.oip_select_complex_selection_loop{cursor:pointer;display:flex;gap:8px;margin:4px 0}.oip_search_container>svg{color:var(--medium)!important}.oip_search_name:focus-visible{outline:none}.oip_search_name::-moz-placeholder{color:var(--medium);font-size:12px;font-weight:400;line-height:20px}.oip_search_name::placeholder{color:var(--medium);font-size:12px;font-weight:400;line-height:20px}.oip_search_name{border:none;padding-left:8px;width:100%}.oip_search_container{background:var(--white);border:1px solid var(--light);border-radius:10px;display:flex;gap:0;padding:8px 12px}.oip_select_dropdown_title{color:var(--darkest);font-size:14px;font-weight:500;margin-bottom:8px}.oip_select_dropdown_selection_container{display:flex;flex:1 1 auto;flex-direction:column;gap:0;margin-top:16px;min-height:10px;overflow-y:auto}.oip_select_dropdown_selection_container:only-child{margin-top:0}.oip_empty_dropdown{color:var(--dark);font-size:14px;font-style:italic;font-weight:400;line-height:16px;padding-top:16px;text-align:center}.oip_select_complex_selection_loop>svg.add{fill:var(--accent)!important;color:var(--white)!important}.arg-circle-amount{align-items:center;background:#e9f1ff;border-radius:50%;color:var(--primary);display:flex;flex-direction:column;flex-shrink:0;font-size:14px;font-style:normal;font-weight:600;gap:10px;height:20px;justify-content:center;padding:4px;position:absolute;right:34px;width:20px}.oip_empty_select{color:var(--dark);font-size:14px;font-style:italic;font-weight:400;line-height:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oip_select_display{align-items:flex-start;display:flex;flex-direction:column;gap:4px}
|
|
56
56
|
</style>
|
|
57
57
|
<style scoped>
|
|
58
58
|
.oip_select_complex_selection_loop > svg.add {
|
|
@@ -108,6 +108,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
108
108
|
default: null;
|
|
109
109
|
};
|
|
110
110
|
}>>, {
|
|
111
|
+
small: boolean;
|
|
111
112
|
options: Record<string, any>;
|
|
112
113
|
width: string;
|
|
113
114
|
height: string;
|
|
@@ -115,7 +116,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
115
116
|
french: boolean;
|
|
116
117
|
tooltipOptions: Record<string, any>;
|
|
117
118
|
formatDate: boolean;
|
|
118
|
-
small: boolean;
|
|
119
119
|
dataType: string;
|
|
120
120
|
currency: string;
|
|
121
121
|
}, {}>;
|