qc-trousse-sdg 1.4.6 → 1.4.7
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/README.md +10 -0
- package/dist/css/qc-sdg-no-grid.min.css +1 -1
- package/dist/css/qc-sdg.min.css +1 -1
- package/dist/js/qc-sdg.min.js +1 -1
- package/package-lock.json +4689 -0
- package/package.json +1 -1
- package/public/css/qc-doc-sdg.css +38 -6
- package/public/css/qc-sdg-no-grid.css +47 -20
- package/public/css/qc-sdg.css +47 -20
- package/public/index.html +58 -20
- package/public/js/qc-doc-sdg.js +294 -204
- package/public/js/qc-sdg.js +663 -315
- package/src/doc/qc-doc-sdg.js +6 -1
- package/src/doc/scss/components/_exemple.scss +5 -1
- package/src/doc/scss/qc-doc-sdg.scss +22 -4
- package/src/sdg/bases/Icon/Icon.svelte +2 -0
- package/src/sdg/bases/links/_links.scss +18 -12
- package/src/sdg/components/Alert/Alert.svelte +28 -9
- package/src/sdg/components/Alert/AlertWC.svelte +20 -5
- package/src/sdg/components/Alert/Test/AlertSvelteTest.svelte +25 -0
- package/src/sdg/components/Alert/Test/alertBaselineTest.html +13 -0
- package/src/sdg/components/Alert/Test/alertSvelteTest.html +1 -0
- package/src/sdg/components/Alert/_alert.html +23 -11
- package/src/sdg/components/Checkbox/Checkbox.svelte +6 -5
- package/src/sdg/components/DropdownList/DropdownList.svelte +65 -14
- package/src/sdg/components/DropdownList/DropdownListButton/DropdownListButton.svelte +2 -6
- package/src/sdg/components/DropdownList/DropdownListItems/DropdownListItems.svelte +4 -22
- package/src/sdg/components/DropdownList/DropdownListItems/DropdownListItemsMultiple/DropdownListItemsMultiple.svelte +2 -1
- package/src/sdg/components/DropdownList/DropdownListItems/DropdownListItemsSingle/DropdownListItemsSingle.svelte +2 -1
- package/src/sdg/components/DropdownList/SelectWC.svelte +39 -13
- package/src/sdg/components/DropdownList/Test/DropdownListSvelteTest.svelte +2 -2
- package/src/sdg/components/DropdownList/Test/dropdownListBaselineTest.html +7 -0
- package/src/sdg/components/DropdownList/_dropdownList.scss +7 -5
- package/src/sdg/components/DropdownList/_select.html +31 -5
- package/src/sdg/components/ExternalLink/ExternalLink.svelte +36 -74
- package/src/sdg/components/ExternalLink/ExternalLinkWC.svelte +44 -1
- package/src/sdg/components/ExternalLink/externalLinkBaselineTest.html +45 -0
- package/src/sdg/components/Fieldset/_fieldset.scss +1 -1
- package/src/sdg/components/Label/LabelText.svelte +2 -1
- package/src/sdg/components/Label/_label.scss +10 -2
- package/src/sdg/components/PivFooter/_pivFooter.html +4 -4
- package/src/sdg/components/TextField/Test/TextFieldEmbededTest.svelte +19 -3
- package/src/sdg/components/TextField/Test/textFieldBaselineTest.html +5 -2
- package/src/sdg/components/TextField/TextField.svelte +12 -6
- package/src/sdg/components/TextField/TextFieldWC.svelte +18 -6
- package/src/sdg/components/TextField/textFieldUtils.js +3 -2
- package/src/sdg/components/utils.js +23 -0
- package/src/sdg/qc-sdg-test.js +2 -1
- package/src/sdg/scss/lib/_mixins.scss +6 -0
- package/src/sdg/scss/utilities/_states.scss +1 -1
- package/tests/alert-baseline.spec.ts +23 -0
- package/tests/alert-svelte.spec.ts +23 -0
- package/tests/buildSvelteTestsIgnore.json +2 -1
- package/tests/dropdown-list-baseline.spec.ts +8 -0
- package/tests/external-link-baseline.spec.ts +30 -0
- package/tests/textfield-baseline.spec.ts +5 -5
- package/tests/textfield-svelte.spec.ts +5 -5
package/public/js/qc-doc-sdg.js
CHANGED
|
@@ -77903,6 +77903,29 @@
|
|
|
77903
77903
|
// Convertit le mot en minuscules.
|
|
77904
77904
|
return word.toLowerCase();
|
|
77905
77905
|
}
|
|
77906
|
+
|
|
77907
|
+
static now() {
|
|
77908
|
+
return (new Date()).getTime();
|
|
77909
|
+
}
|
|
77910
|
+
|
|
77911
|
+
/**
|
|
77912
|
+
* Creates a MutationObserver instance with selector nesting check
|
|
77913
|
+
* @param rootElement
|
|
77914
|
+
* @param callback
|
|
77915
|
+
* @param selector
|
|
77916
|
+
* @returns {MutationObserver | null}
|
|
77917
|
+
*/
|
|
77918
|
+
static createMutationObserver(rootElement, callback, selector) {
|
|
77919
|
+
if (!selector) {
|
|
77920
|
+
selector = rootElement.tagName.toLowerCase();
|
|
77921
|
+
}
|
|
77922
|
+
if (rootElement.querySelector(selector)) {
|
|
77923
|
+
console.warn(`Imbrication d'éléments "${selector}" détectée. Le MutationObserver n'est pas créé`);
|
|
77924
|
+
return null;
|
|
77925
|
+
}
|
|
77926
|
+
|
|
77927
|
+
return new MutationObserver(callback);
|
|
77928
|
+
}
|
|
77906
77929
|
}
|
|
77907
77930
|
|
|
77908
77931
|
function getCacheBustingParam(cssPath, currentScriptSrc) {
|
|
@@ -77949,8 +77972,8 @@
|
|
|
77949
77972
|
|
|
77950
77973
|
LabelText[FILENAME] = 'src/sdg/components/Label/LabelText.svelte';
|
|
77951
77974
|
|
|
77952
|
-
var root_1$6 = add_locations(from_html(`<span class="qc-required" aria-hidden="true">*</span>`), LabelText[FILENAME], [[
|
|
77953
|
-
var root$9 = add_locations(from_html(
|
|
77975
|
+
var root_1$6 = add_locations(from_html(`<span class="qc-required" aria-hidden="true">*</span>`), LabelText[FILENAME], [[5, 61]]);
|
|
77976
|
+
var root$9 = add_locations(from_html(`<span class="qc-label-text"><!></span><!>`, 1), LabelText[FILENAME], [[5, 0]]);
|
|
77954
77977
|
|
|
77955
77978
|
function LabelText($$anchor, $$props) {
|
|
77956
77979
|
check_target(new.target);
|
|
@@ -77982,17 +78005,19 @@
|
|
|
77982
78005
|
};
|
|
77983
78006
|
|
|
77984
78007
|
var fragment = root$9();
|
|
77985
|
-
var
|
|
78008
|
+
var span = first_child(fragment);
|
|
78009
|
+
var node = child(span);
|
|
77986
78010
|
|
|
77987
78011
|
html$1(node, text);
|
|
78012
|
+
reset(span);
|
|
77988
78013
|
|
|
77989
|
-
var node_1 = sibling(
|
|
78014
|
+
var node_1 = sibling(span);
|
|
77990
78015
|
|
|
77991
78016
|
{
|
|
77992
78017
|
var consequent = ($$anchor) => {
|
|
77993
|
-
var
|
|
78018
|
+
var span_1 = root_1$6();
|
|
77994
78019
|
|
|
77995
|
-
append($$anchor,
|
|
78020
|
+
append($$anchor, span_1);
|
|
77996
78021
|
};
|
|
77997
78022
|
|
|
77998
78023
|
add_svelte_meta(
|
|
@@ -78001,8 +78026,8 @@
|
|
|
78001
78026
|
}),
|
|
78002
78027
|
'if',
|
|
78003
78028
|
LabelText,
|
|
78004
|
-
|
|
78005
|
-
|
|
78029
|
+
5,
|
|
78030
|
+
47
|
|
78006
78031
|
);
|
|
78007
78032
|
}
|
|
78008
78033
|
|
|
@@ -78170,7 +78195,7 @@
|
|
|
78170
78195
|
|
|
78171
78196
|
Icon[FILENAME] = 'src/sdg/bases/Icon/Icon.svelte';
|
|
78172
78197
|
|
|
78173
|
-
var root$7 = add_locations(from_html(`<div></div>`), Icon[FILENAME], [[
|
|
78198
|
+
var root$7 = add_locations(from_html(`<div></div>`), Icon[FILENAME], [[17, 0]]);
|
|
78174
78199
|
|
|
78175
78200
|
function Icon($$anchor, $$props) {
|
|
78176
78201
|
check_target(new.target);
|
|
@@ -78184,6 +78209,7 @@
|
|
|
78184
78209
|
height = prop($$props, 'height', 7, 'auto'),
|
|
78185
78210
|
src = prop($$props, 'src', 7, ''),
|
|
78186
78211
|
rotate = prop($$props, 'rotate', 7, 0),
|
|
78212
|
+
rootElement = prop($$props, 'rootElement', 15),
|
|
78187
78213
|
rest = rest_props(
|
|
78188
78214
|
$$props,
|
|
78189
78215
|
[
|
|
@@ -78198,7 +78224,8 @@
|
|
|
78198
78224
|
'width',
|
|
78199
78225
|
'height',
|
|
78200
78226
|
'src',
|
|
78201
|
-
'rotate'
|
|
78227
|
+
'rotate',
|
|
78228
|
+
'rootElement'
|
|
78202
78229
|
]);
|
|
78203
78230
|
|
|
78204
78231
|
let attributes = tag(user_derived(() => strict_equals(width(), 'auto') ? { 'data-img-size': size() } : {}), 'attributes');
|
|
@@ -78276,6 +78303,15 @@
|
|
|
78276
78303
|
flushSync();
|
|
78277
78304
|
},
|
|
78278
78305
|
|
|
78306
|
+
get rootElement() {
|
|
78307
|
+
return rootElement();
|
|
78308
|
+
},
|
|
78309
|
+
|
|
78310
|
+
set rootElement($$value) {
|
|
78311
|
+
rootElement($$value);
|
|
78312
|
+
flushSync();
|
|
78313
|
+
},
|
|
78314
|
+
|
|
78279
78315
|
...legacy_api()
|
|
78280
78316
|
};
|
|
78281
78317
|
|
|
@@ -78299,6 +78335,7 @@
|
|
|
78299
78335
|
[STYLE]: { '--img-rotate': rotate() && rotate() + "deg" }
|
|
78300
78336
|
}));
|
|
78301
78337
|
|
|
78338
|
+
bind_this(div, ($$value) => rootElement($$value), () => rootElement());
|
|
78302
78339
|
append($$anchor, div);
|
|
78303
78340
|
|
|
78304
78341
|
return pop($$exports);
|
|
@@ -78314,7 +78351,8 @@
|
|
|
78314
78351
|
width: {},
|
|
78315
78352
|
height: {},
|
|
78316
78353
|
src: {},
|
|
78317
|
-
rotate: {}
|
|
78354
|
+
rotate: {},
|
|
78355
|
+
rootElement: {}
|
|
78318
78356
|
},
|
|
78319
78357
|
[],
|
|
78320
78358
|
[],
|
|
@@ -78500,7 +78538,7 @@
|
|
|
78500
78538
|
true
|
|
78501
78539
|
);
|
|
78502
78540
|
|
|
78503
|
-
function onMountInput(input, setTextFieldRow, setValue, setInvalid) {
|
|
78541
|
+
function onMountInput(input, setTextFieldRow, setValue, setInvalid, setRequired) {
|
|
78504
78542
|
if (!input) return;
|
|
78505
78543
|
if (!input.autocomplete) {
|
|
78506
78544
|
input.autocomplete = "off";
|
|
@@ -78509,6 +78547,7 @@
|
|
|
78509
78547
|
input.id = Utils.generateId(input.type);
|
|
78510
78548
|
}
|
|
78511
78549
|
setValue(input.value);
|
|
78550
|
+
setRequired(input.required);
|
|
78512
78551
|
input.addEventListener(
|
|
78513
78552
|
'input',
|
|
78514
78553
|
() => {
|
|
@@ -78520,10 +78559,10 @@
|
|
|
78520
78559
|
|
|
78521
78560
|
TextField[FILENAME] = 'src/sdg/components/TextField/TextField.svelte';
|
|
78522
78561
|
|
|
78523
|
-
var root_3$2 = add_locations(from_html(`<div class="qc-description"><!></div>`), TextField[FILENAME], [[
|
|
78524
|
-
var root_4$3 = add_locations(from_html(`<div aria-live="polite"><!></div>`), TextField[FILENAME], [[
|
|
78562
|
+
var root_3$2 = add_locations(from_html(`<div class="qc-description"><!></div>`), TextField[FILENAME], [[141, 8]]);
|
|
78563
|
+
var root_4$3 = add_locations(from_html(`<div aria-live="polite"><!></div>`), TextField[FILENAME], [[152, 8]]);
|
|
78525
78564
|
var root_1$4 = add_locations(from_html(`<!> <!> <!> <!> <!>`, 1), TextField[FILENAME], []);
|
|
78526
|
-
var root_6$1 = add_locations(from_html(`<div class="qc-textfield"><!></div>`), TextField[FILENAME], [[
|
|
78565
|
+
var root_6$1 = add_locations(from_html(`<div class="qc-textfield"><!></div>`), TextField[FILENAME], [[176, 4]]);
|
|
78527
78566
|
|
|
78528
78567
|
function TextField($$anchor, $$props) {
|
|
78529
78568
|
check_target(new.target);
|
|
@@ -78573,7 +78612,7 @@
|
|
|
78573
78612
|
}),
|
|
78574
78613
|
'component',
|
|
78575
78614
|
TextField,
|
|
78576
|
-
|
|
78615
|
+
131,
|
|
78577
78616
|
8,
|
|
78578
78617
|
{ componentTag: 'Label' }
|
|
78579
78618
|
);
|
|
@@ -78586,7 +78625,7 @@
|
|
|
78586
78625
|
}),
|
|
78587
78626
|
'if',
|
|
78588
78627
|
TextField,
|
|
78589
|
-
|
|
78628
|
+
130,
|
|
78590
78629
|
4
|
|
78591
78630
|
);
|
|
78592
78631
|
}
|
|
@@ -78611,14 +78650,14 @@
|
|
|
78611
78650
|
}),
|
|
78612
78651
|
'if',
|
|
78613
78652
|
TextField,
|
|
78614
|
-
|
|
78653
|
+
140,
|
|
78615
78654
|
4
|
|
78616
78655
|
);
|
|
78617
78656
|
}
|
|
78618
78657
|
|
|
78619
78658
|
var node_3 = sibling(node_1, 2);
|
|
78620
78659
|
|
|
78621
|
-
add_svelte_meta(() => snippet(node_3, children), 'render', TextField,
|
|
78660
|
+
add_svelte_meta(() => snippet(node_3, () => children() ?? noop), 'render', TextField, 149, 4);
|
|
78622
78661
|
|
|
78623
78662
|
var node_4 = sibling(node_3, 2);
|
|
78624
78663
|
|
|
@@ -78649,7 +78688,7 @@
|
|
|
78649
78688
|
}),
|
|
78650
78689
|
'if',
|
|
78651
78690
|
TextField,
|
|
78652
|
-
|
|
78691
|
+
151,
|
|
78653
78692
|
4
|
|
78654
78693
|
);
|
|
78655
78694
|
}
|
|
@@ -78696,7 +78735,7 @@
|
|
|
78696
78735
|
}),
|
|
78697
78736
|
'component',
|
|
78698
78737
|
TextField,
|
|
78699
|
-
|
|
78738
|
+
165,
|
|
78700
78739
|
4,
|
|
78701
78740
|
{ componentTag: 'FormError' }
|
|
78702
78741
|
);
|
|
@@ -78733,7 +78772,9 @@
|
|
|
78733
78772
|
textFieldRow = tag(state(void 0), 'textFieldRow'),
|
|
78734
78773
|
defaultInvalidText = tag(
|
|
78735
78774
|
user_derived(() => {
|
|
78736
|
-
if (!maxlengthReached())
|
|
78775
|
+
if (!maxlengthReached()) {
|
|
78776
|
+
return undefined;
|
|
78777
|
+
}
|
|
78737
78778
|
|
|
78738
78779
|
return strict_equals(lang, 'fr')
|
|
78739
78780
|
? `La limite de caractères du champ ${label()} est dépassée.`
|
|
@@ -78746,10 +78787,14 @@
|
|
|
78746
78787
|
if (webComponentMode) return;
|
|
78747
78788
|
|
|
78748
78789
|
if (!input()) {
|
|
78749
|
-
input(get(rootElement)
|
|
78790
|
+
input(get(rootElement)?.querySelector('input,textarea'));
|
|
78750
78791
|
}
|
|
78751
78792
|
|
|
78752
|
-
onMountInput(input(), (textFieldRowParam) => set(textFieldRow, textFieldRowParam, true), (valueParam) => value(valueParam), (invalidParam) => invalid(invalidParam))
|
|
78793
|
+
onMountInput(input(), (textFieldRowParam) => set(textFieldRow, textFieldRowParam, true), (valueParam) => value(valueParam), (invalidParam) => invalid(invalidParam), (requiredParam) => {
|
|
78794
|
+
if (requiredParam) {
|
|
78795
|
+
required(requiredParam);
|
|
78796
|
+
}
|
|
78797
|
+
});
|
|
78753
78798
|
});
|
|
78754
78799
|
|
|
78755
78800
|
user_effect(() => {
|
|
@@ -78982,14 +79027,14 @@
|
|
|
78982
79027
|
|
|
78983
79028
|
{
|
|
78984
79029
|
var consequent_3 = ($$anchor) => {
|
|
78985
|
-
add_svelte_meta(() => textfield($$anchor), 'render', TextField,
|
|
79030
|
+
add_svelte_meta(() => textfield($$anchor), 'render', TextField, 174, 4);
|
|
78986
79031
|
};
|
|
78987
79032
|
|
|
78988
79033
|
var alternate = ($$anchor) => {
|
|
78989
79034
|
var div_2 = root_6$1();
|
|
78990
79035
|
var node_8 = child(div_2);
|
|
78991
79036
|
|
|
78992
|
-
add_svelte_meta(() => textfield(node_8), 'render', TextField,
|
|
79037
|
+
add_svelte_meta(() => textfield(node_8), 'render', TextField, 181, 8);
|
|
78993
79038
|
reset(div_2);
|
|
78994
79039
|
bind_this(div_2, ($$value) => set(rootElement, $$value), () => get(rootElement));
|
|
78995
79040
|
|
|
@@ -79007,7 +79052,7 @@
|
|
|
79007
79052
|
}),
|
|
79008
79053
|
'if',
|
|
79009
79054
|
TextField,
|
|
79010
|
-
|
|
79055
|
+
173,
|
|
79011
79056
|
0
|
|
79012
79057
|
);
|
|
79013
79058
|
}
|
|
@@ -79086,8 +79131,8 @@
|
|
|
79086
79131
|
|
|
79087
79132
|
Checkbox[FILENAME] = 'src/sdg/components/Checkbox/Checkbox.svelte';
|
|
79088
79133
|
|
|
79089
|
-
var root_2$6 = add_locations(from_html(`<span class="qc-required" aria-hidden="true">*</span>`), Checkbox[FILENAME], [[
|
|
79090
|
-
var root$6 = add_locations(from_html(`<div><!> <!> <!></div>`), Checkbox[FILENAME], [[
|
|
79134
|
+
var root_2$6 = add_locations(from_html(`<span class="qc-required" aria-hidden="true">*</span>`), Checkbox[FILENAME], [[57, 4]]);
|
|
79135
|
+
var root$6 = add_locations(from_html(`<div><!> <!> <!></div>`), Checkbox[FILENAME], [[65, 4]]);
|
|
79091
79136
|
|
|
79092
79137
|
function Checkbox($$anchor, $$props) {
|
|
79093
79138
|
check_target(new.target);
|
|
@@ -79113,7 +79158,7 @@
|
|
|
79113
79158
|
}),
|
|
79114
79159
|
'if',
|
|
79115
79160
|
Checkbox,
|
|
79116
|
-
|
|
79161
|
+
56,
|
|
79117
79162
|
4
|
|
79118
79163
|
);
|
|
79119
79164
|
}
|
|
@@ -79159,10 +79204,11 @@
|
|
|
79159
79204
|
user_effect((_) => updateChoiceInput(input(), required(), invalid(), compact(), false, false));
|
|
79160
79205
|
|
|
79161
79206
|
user_effect(() => {
|
|
79162
|
-
if (
|
|
79163
|
-
|
|
79207
|
+
if (required() && get(label) && requiredSpan()) {
|
|
79208
|
+
const textSpan = labelElement().querySelector('span');
|
|
79164
79209
|
|
|
79165
|
-
|
|
79210
|
+
textSpan.appendChild(requiredSpan());
|
|
79211
|
+
}
|
|
79166
79212
|
});
|
|
79167
79213
|
|
|
79168
79214
|
var $$exports = {
|
|
@@ -79298,11 +79344,11 @@
|
|
|
79298
79344
|
var div = root$6();
|
|
79299
79345
|
var node_1 = child(div);
|
|
79300
79346
|
|
|
79301
|
-
add_svelte_meta(() => requiredSpanSnippet(node_1), 'render', Checkbox,
|
|
79347
|
+
add_svelte_meta(() => requiredSpanSnippet(node_1), 'render', Checkbox, 72, 8);
|
|
79302
79348
|
|
|
79303
79349
|
var node_2 = sibling(node_1, 2);
|
|
79304
79350
|
|
|
79305
|
-
add_svelte_meta(() => snippet(node_2, () => children() ?? noop), 'render', Checkbox,
|
|
79351
|
+
add_svelte_meta(() => snippet(node_2, () => children() ?? noop), 'render', Checkbox, 73, 8);
|
|
79306
79352
|
|
|
79307
79353
|
var node_3 = sibling(node_2, 2);
|
|
79308
79354
|
|
|
@@ -79322,7 +79368,7 @@
|
|
|
79322
79368
|
}),
|
|
79323
79369
|
'component',
|
|
79324
79370
|
Checkbox,
|
|
79325
|
-
|
|
79371
|
+
74,
|
|
79326
79372
|
8,
|
|
79327
79373
|
{ componentTag: 'FormError' }
|
|
79328
79374
|
);
|
|
@@ -79747,9 +79793,9 @@
|
|
|
79747
79793
|
|
|
79748
79794
|
DropdownListItemsSingle[FILENAME] = 'src/sdg/components/DropdownList/DropdownListItems/DropdownListItemsSingle/DropdownListItemsSingle.svelte';
|
|
79749
79795
|
|
|
79750
|
-
var root_3$1 = add_locations(from_html(`<span class="qc-sr-only"><!></span>`), DropdownListItemsSingle[FILENAME], [[
|
|
79751
|
-
var root_2$5 = add_locations(from_html(`<li tabindex="0" role="option"><!></li>`), DropdownListItemsSingle[FILENAME], [[
|
|
79752
|
-
var root_1$3 = add_locations(from_html(`<ul></ul>`), DropdownListItemsSingle[FILENAME], [[
|
|
79796
|
+
var root_3$1 = add_locations(from_html(`<span class="qc-sr-only"><!></span>`), DropdownListItemsSingle[FILENAME], [[130, 20]]);
|
|
79797
|
+
var root_2$5 = add_locations(from_html(`<li tabindex="0" role="option"><!></li>`), DropdownListItemsSingle[FILENAME], [[114, 12]]);
|
|
79798
|
+
var root_1$3 = add_locations(from_html(`<ul></ul>`), DropdownListItemsSingle[FILENAME], [[112, 4]]);
|
|
79753
79799
|
|
|
79754
79800
|
function DropdownListItemsSingle($$anchor, $$props) {
|
|
79755
79801
|
check_target(new.target);
|
|
@@ -79793,7 +79839,7 @@
|
|
|
79793
79839
|
event.preventDefault();
|
|
79794
79840
|
|
|
79795
79841
|
if (!item.disabled) {
|
|
79796
|
-
items().forEach((item) => assign(item, 'checked', false, 'src/sdg/components/DropdownList/DropdownListItems/DropdownListItemsSingle/DropdownListItemsSingle.svelte:
|
|
79842
|
+
items().forEach((item) => assign(item, 'checked', false, 'src/sdg/components/DropdownList/DropdownListItems/DropdownListItemsSingle/DropdownListItemsSingle.svelte:46:34'));
|
|
79797
79843
|
items().find((option) => strict_equals(option.value, item.value)).checked = true;
|
|
79798
79844
|
selectionCallback()();
|
|
79799
79845
|
}
|
|
@@ -79828,7 +79874,7 @@
|
|
|
79828
79874
|
handleSelection(event, item);
|
|
79829
79875
|
}
|
|
79830
79876
|
|
|
79831
|
-
|
|
79877
|
+
tick().then(() => {
|
|
79832
79878
|
if (canExit(event, index)) {
|
|
79833
79879
|
handleExit()(event.key);
|
|
79834
79880
|
}
|
|
@@ -79980,13 +80026,13 @@
|
|
|
79980
80026
|
}),
|
|
79981
80027
|
'if',
|
|
79982
80028
|
DropdownListItemsSingle,
|
|
79983
|
-
|
|
80029
|
+
129,
|
|
79984
80030
|
16
|
|
79985
80031
|
);
|
|
79986
80032
|
}
|
|
79987
80033
|
|
|
79988
80034
|
reset(li);
|
|
79989
|
-
validate_binding('bind:this={displayedItemsElements[index]}', [], () => get(displayedItemsElements), () => get(index),
|
|
80035
|
+
validate_binding('bind:this={displayedItemsElements[index]}', [], () => get(displayedItemsElements), () => get(index), 115, 16);
|
|
79990
80036
|
bind_this(li, ($$value, index) => get(displayedItemsElements)[index] = $$value, (index) => get(displayedItemsElements)?.[index], () => [get(index)]);
|
|
79991
80037
|
|
|
79992
80038
|
template_effect(() => {
|
|
@@ -80006,7 +80052,7 @@
|
|
|
80006
80052
|
}),
|
|
80007
80053
|
'each',
|
|
80008
80054
|
DropdownListItemsSingle,
|
|
80009
|
-
|
|
80055
|
+
113,
|
|
80010
80056
|
8
|
|
80011
80057
|
);
|
|
80012
80058
|
|
|
@@ -80020,7 +80066,7 @@
|
|
|
80020
80066
|
}),
|
|
80021
80067
|
'if',
|
|
80022
80068
|
DropdownListItemsSingle,
|
|
80023
|
-
|
|
80069
|
+
111,
|
|
80024
80070
|
0
|
|
80025
80071
|
);
|
|
80026
80072
|
}
|
|
@@ -80054,8 +80100,8 @@
|
|
|
80054
80100
|
|
|
80055
80101
|
DropdownListItemsMultiple[FILENAME] = 'src/sdg/components/DropdownList/DropdownListItems/DropdownListItemsMultiple/DropdownListItemsMultiple.svelte';
|
|
80056
80102
|
|
|
80057
|
-
var root_2$4 = add_locations(from_html(`<li><label class="qc-choicefield-label" compact=""><input type="checkbox" class="qc-choicefield qc-compact"/> <span> </span></label></li>`), DropdownListItemsMultiple[FILENAME], [[
|
|
80058
|
-
var root_1$2 = add_locations(from_html(`<ul></ul>`), DropdownListItemsMultiple[FILENAME], [[
|
|
80103
|
+
var root_2$4 = add_locations(from_html(`<li><label class="qc-choicefield-label" compact=""><input type="checkbox" class="qc-choicefield qc-compact"/> <span> </span></label></li>`), DropdownListItemsMultiple[FILENAME], [[154, 12, [[164, 16, [[169, 20], [181, 20]]]]]]);
|
|
80104
|
+
var root_1$2 = add_locations(from_html(`<ul></ul>`), DropdownListItemsMultiple[FILENAME], [[148, 4]]);
|
|
80059
80105
|
|
|
80060
80106
|
function DropdownListItemsMultiple($$anchor, $$props) {
|
|
80061
80107
|
check_target(new.target);
|
|
@@ -80141,11 +80187,11 @@
|
|
|
80141
80187
|
|
|
80142
80188
|
if (displayedItems().length > 0 && !displayedItems()[index].disabled) {
|
|
80143
80189
|
event.target.checked = !event.target.checked;
|
|
80144
|
-
$$ownership_validator.mutation('displayedItems', ['displayedItems', index, 'checked'], displayedItems()[index].checked = event.target.checked,
|
|
80190
|
+
$$ownership_validator.mutation('displayedItems', ['displayedItems', index, 'checked'], displayedItems()[index].checked = event.target.checked, 87, 16);
|
|
80145
80191
|
}
|
|
80146
80192
|
}
|
|
80147
80193
|
|
|
80148
|
-
|
|
80194
|
+
tick().then(() => {
|
|
80149
80195
|
if (canExit(event, index)) {
|
|
80150
80196
|
handleExit()(event.key);
|
|
80151
80197
|
}
|
|
@@ -80285,8 +80331,8 @@
|
|
|
80285
80331
|
remove_input_defaults(input);
|
|
80286
80332
|
input.__change = handleChange;
|
|
80287
80333
|
input.__keydown = (e) => handleKeyDown(e, get(index));
|
|
80288
|
-
validate_binding('bind:checked={item.checked}', [], () => get(item), () => 'checked',
|
|
80289
|
-
validate_binding('bind:this={displayedItemsElements[index]}', [], () => get(displayedItemsElements), () => get(index),
|
|
80334
|
+
validate_binding('bind:checked={item.checked}', [], () => get(item), () => 'checked', 176, 28);
|
|
80335
|
+
validate_binding('bind:this={displayedItemsElements[index]}', [], () => get(displayedItemsElements), () => get(index), 177, 28);
|
|
80290
80336
|
bind_this(input, ($$value, index) => get(displayedItemsElements)[index] = $$value, (index) => get(displayedItemsElements)?.[index], () => [get(index)]);
|
|
80291
80337
|
|
|
80292
80338
|
var input_value;
|
|
@@ -80321,7 +80367,7 @@
|
|
|
80321
80367
|
}),
|
|
80322
80368
|
'each',
|
|
80323
80369
|
DropdownListItemsMultiple,
|
|
80324
|
-
|
|
80370
|
+
149,
|
|
80325
80371
|
8
|
|
80326
80372
|
);
|
|
80327
80373
|
|
|
@@ -80335,7 +80381,7 @@
|
|
|
80335
80381
|
}),
|
|
80336
80382
|
'if',
|
|
80337
80383
|
DropdownListItemsMultiple,
|
|
80338
|
-
|
|
80384
|
+
147,
|
|
80339
80385
|
0
|
|
80340
80386
|
);
|
|
80341
80387
|
}
|
|
@@ -80367,15 +80413,14 @@
|
|
|
80367
80413
|
|
|
80368
80414
|
DropdownListItems[FILENAME] = 'src/sdg/components/DropdownList/DropdownListItems/DropdownListItems.svelte';
|
|
80369
80415
|
|
|
80370
|
-
var root_4$2 = add_locations(from_html(`<span class="qc-dropdown-list-no-options"><!></span>`), DropdownListItems[FILENAME], [[
|
|
80371
|
-
var root$3 = add_locations(from_html(`<div class="qc-dropdown-list-items" tabindex="-1"><!> <div class="qc-dropdown-list-no-options-container" role="status"><!></div></div>`), DropdownListItems[FILENAME], [[
|
|
80416
|
+
var root_4$2 = add_locations(from_html(`<span class="qc-dropdown-list-no-options"><!></span>`), DropdownListItems[FILENAME], [[82, 16]]);
|
|
80417
|
+
var root$3 = add_locations(from_html(`<div class="qc-dropdown-list-items" tabindex="-1"><!> <div class="qc-dropdown-list-no-options-container" role="status"><!></div></div>`), DropdownListItems[FILENAME], [[45, 0, [[79, 4]]]]);
|
|
80372
80418
|
|
|
80373
80419
|
function DropdownListItems($$anchor, $$props) {
|
|
80374
80420
|
check_target(new.target);
|
|
80375
80421
|
push($$props, true);
|
|
80376
80422
|
|
|
80377
80423
|
let id = prop($$props, 'id', 7),
|
|
80378
|
-
enableSearch = prop($$props, 'enableSearch', 7),
|
|
80379
80424
|
multiple = prop($$props, 'multiple', 7),
|
|
80380
80425
|
items = prop($$props, 'items', 7),
|
|
80381
80426
|
displayedItems = prop($$props, 'displayedItems', 7),
|
|
@@ -80390,43 +80435,21 @@
|
|
|
80390
80435
|
|
|
80391
80436
|
let itemsComponent = tag(state(void 0), 'itemsComponent');
|
|
80392
80437
|
|
|
80393
|
-
let usedHeight = tag(
|
|
80394
|
-
user_derived(() => {
|
|
80395
|
-
const maxItemsHeight = 336;
|
|
80396
|
-
const searchInputTotalHeight = 56;
|
|
80397
|
-
|
|
80398
|
-
if (enableSearch()) {
|
|
80399
|
-
if (displayedItems().length > 7) {
|
|
80400
|
-
return maxItemsHeight - searchInputTotalHeight - 17;
|
|
80401
|
-
}
|
|
80402
|
-
|
|
80403
|
-
return maxItemsHeight - searchInputTotalHeight;
|
|
80404
|
-
} else {
|
|
80405
|
-
if (displayedItems().length > 8) {
|
|
80406
|
-
return maxItemsHeight - 33;
|
|
80407
|
-
}
|
|
80408
|
-
|
|
80409
|
-
return maxItemsHeight;
|
|
80410
|
-
}
|
|
80411
|
-
}),
|
|
80412
|
-
'usedHeight'
|
|
80413
|
-
);
|
|
80414
|
-
|
|
80415
80438
|
function focus() {
|
|
80416
|
-
|
|
80439
|
+
tick().then(() => {
|
|
80417
80440
|
get(itemsComponent)?.focusOnFirstElement();
|
|
80418
80441
|
}).catch(console.error);
|
|
80419
80442
|
}
|
|
80420
80443
|
|
|
80421
80444
|
function focusOnLastElement() {
|
|
80422
|
-
|
|
80445
|
+
tick().then(() => {
|
|
80423
80446
|
get(itemsComponent)?.focusOnLastElement();
|
|
80424
80447
|
}).catch(console.error);
|
|
80425
80448
|
}
|
|
80426
80449
|
|
|
80427
80450
|
function focusOnFirstMatchingElement(value) {
|
|
80428
80451
|
if (get(itemsComponent) && value && value.length > 0) {
|
|
80429
|
-
|
|
80452
|
+
tick().then(() => {
|
|
80430
80453
|
get(itemsComponent)?.focusOnFirstMatchingElement(value);
|
|
80431
80454
|
}).catch(console.error);
|
|
80432
80455
|
}
|
|
@@ -80454,15 +80477,6 @@
|
|
|
80454
80477
|
flushSync();
|
|
80455
80478
|
},
|
|
80456
80479
|
|
|
80457
|
-
get enableSearch() {
|
|
80458
|
-
return enableSearch();
|
|
80459
|
-
},
|
|
80460
|
-
|
|
80461
|
-
set enableSearch($$value) {
|
|
80462
|
-
enableSearch($$value);
|
|
80463
|
-
flushSync();
|
|
80464
|
-
},
|
|
80465
|
-
|
|
80466
80480
|
get multiple() {
|
|
80467
80481
|
return multiple();
|
|
80468
80482
|
},
|
|
@@ -80604,7 +80618,7 @@
|
|
|
80604
80618
|
),
|
|
80605
80619
|
'component',
|
|
80606
80620
|
DropdownListItems,
|
|
80607
|
-
|
|
80621
|
+
51,
|
|
80608
80622
|
8,
|
|
80609
80623
|
{ componentTag: 'DropdownListItemsMultiple' }
|
|
80610
80624
|
);
|
|
@@ -80649,7 +80663,7 @@
|
|
|
80649
80663
|
),
|
|
80650
80664
|
'component',
|
|
80651
80665
|
DropdownListItems,
|
|
80652
|
-
|
|
80666
|
+
64,
|
|
80653
80667
|
8,
|
|
80654
80668
|
{ componentTag: 'DropdownListItemsSingle' }
|
|
80655
80669
|
);
|
|
@@ -80661,7 +80675,7 @@
|
|
|
80661
80675
|
}),
|
|
80662
80676
|
'if',
|
|
80663
80677
|
DropdownListItems,
|
|
80664
|
-
|
|
80678
|
+
50,
|
|
80665
80679
|
4
|
|
80666
80680
|
);
|
|
80667
80681
|
}
|
|
@@ -80685,7 +80699,7 @@
|
|
|
80685
80699
|
}),
|
|
80686
80700
|
'await',
|
|
80687
80701
|
DropdownListItems,
|
|
80688
|
-
|
|
80702
|
+
81,
|
|
80689
80703
|
12
|
|
80690
80704
|
);
|
|
80691
80705
|
|
|
@@ -80698,19 +80712,14 @@
|
|
|
80698
80712
|
}),
|
|
80699
80713
|
'if',
|
|
80700
80714
|
DropdownListItems,
|
|
80701
|
-
|
|
80715
|
+
80,
|
|
80702
80716
|
8
|
|
80703
80717
|
);
|
|
80704
80718
|
}
|
|
80705
80719
|
|
|
80706
80720
|
reset(div_1);
|
|
80707
80721
|
reset(div);
|
|
80708
|
-
|
|
80709
|
-
template_effect(() => {
|
|
80710
|
-
set_attribute(div, 'id', id());
|
|
80711
|
-
set_style(div, `--dropdown-items-height: ${get(usedHeight) ?? ''};`);
|
|
80712
|
-
});
|
|
80713
|
-
|
|
80722
|
+
template_effect(() => set_attribute(div, 'id', id()));
|
|
80714
80723
|
append($$anchor, div);
|
|
80715
80724
|
|
|
80716
80725
|
return pop($$exports);
|
|
@@ -80720,7 +80729,6 @@
|
|
|
80720
80729
|
DropdownListItems,
|
|
80721
80730
|
{
|
|
80722
80731
|
id: {},
|
|
80723
|
-
enableSearch: {},
|
|
80724
80732
|
multiple: {},
|
|
80725
80733
|
items: {},
|
|
80726
80734
|
displayedItems: {},
|
|
@@ -80740,9 +80748,9 @@
|
|
|
80740
80748
|
|
|
80741
80749
|
DropdownListButton[FILENAME] = 'src/sdg/components/DropdownList/DropdownListButton/DropdownListButton.svelte';
|
|
80742
80750
|
|
|
80743
|
-
var root_1$1 = add_locations(from_html(`<span class="qc-dropdown-choice"><!></span>`), DropdownListButton[FILENAME], [[
|
|
80744
|
-
var root_2$3 = add_locations(from_html(`<span class="qc-dropdown-placeholder"><!></span>`), DropdownListButton[FILENAME], [[
|
|
80745
|
-
var root$2 = add_locations(from_html(`<button><!> <span><!></span></button>`), DropdownListButton[FILENAME], [[
|
|
80751
|
+
var root_1$1 = add_locations(from_html(`<span class="qc-dropdown-choice"><!></span>`), DropdownListButton[FILENAME], [[25, 8]]);
|
|
80752
|
+
var root_2$3 = add_locations(from_html(`<span class="qc-dropdown-placeholder"><!></span>`), DropdownListButton[FILENAME], [[27, 8]]);
|
|
80753
|
+
var root$2 = add_locations(from_html(`<button><!> <span><!></span></button>`), DropdownListButton[FILENAME], [[15, 0, [[30, 4]]]]);
|
|
80746
80754
|
|
|
80747
80755
|
function DropdownListButton($$anchor, $$props) {
|
|
80748
80756
|
check_target(new.target);
|
|
@@ -80753,6 +80761,7 @@
|
|
|
80753
80761
|
disabled = prop($$props, 'disabled', 7),
|
|
80754
80762
|
selectedOptionsText = prop($$props, 'selectedOptionsText', 7, ""),
|
|
80755
80763
|
placeholder = prop($$props, 'placeholder', 7),
|
|
80764
|
+
buttonElement = prop($$props, 'buttonElement', 15),
|
|
80756
80765
|
rest = rest_props(
|
|
80757
80766
|
$$props,
|
|
80758
80767
|
[
|
|
@@ -80764,20 +80773,11 @@
|
|
|
80764
80773
|
'expanded',
|
|
80765
80774
|
'disabled',
|
|
80766
80775
|
'selectedOptionsText',
|
|
80767
|
-
'placeholder'
|
|
80776
|
+
'placeholder',
|
|
80777
|
+
'buttonElement'
|
|
80768
80778
|
]);
|
|
80769
80779
|
|
|
80770
|
-
let button;
|
|
80771
|
-
|
|
80772
|
-
function focus() {
|
|
80773
|
-
button?.focus();
|
|
80774
|
-
}
|
|
80775
|
-
|
|
80776
80780
|
var $$exports = {
|
|
80777
|
-
get focus() {
|
|
80778
|
-
return focus;
|
|
80779
|
-
},
|
|
80780
|
-
|
|
80781
80781
|
get inputId() {
|
|
80782
80782
|
return inputId();
|
|
80783
80783
|
},
|
|
@@ -80823,12 +80823,21 @@
|
|
|
80823
80823
|
flushSync();
|
|
80824
80824
|
},
|
|
80825
80825
|
|
|
80826
|
+
get buttonElement() {
|
|
80827
|
+
return buttonElement();
|
|
80828
|
+
},
|
|
80829
|
+
|
|
80830
|
+
set buttonElement($$value) {
|
|
80831
|
+
buttonElement($$value);
|
|
80832
|
+
flushSync();
|
|
80833
|
+
},
|
|
80834
|
+
|
|
80826
80835
|
...legacy_api()
|
|
80827
80836
|
};
|
|
80828
80837
|
|
|
80829
|
-
var
|
|
80838
|
+
var button = root$2();
|
|
80830
80839
|
|
|
80831
|
-
attribute_effect(
|
|
80840
|
+
attribute_effect(button, () => ({
|
|
80832
80841
|
type: 'button',
|
|
80833
80842
|
id: inputId(),
|
|
80834
80843
|
disabled: disabled(),
|
|
@@ -80837,7 +80846,7 @@
|
|
|
80837
80846
|
...rest
|
|
80838
80847
|
}));
|
|
80839
80848
|
|
|
80840
|
-
var node = child(
|
|
80849
|
+
var node = child(button);
|
|
80841
80850
|
|
|
80842
80851
|
{
|
|
80843
80852
|
var consequent = ($$anchor) => {
|
|
@@ -80864,7 +80873,7 @@
|
|
|
80864
80873
|
}),
|
|
80865
80874
|
'if',
|
|
80866
80875
|
DropdownListButton,
|
|
80867
|
-
|
|
80876
|
+
24,
|
|
80868
80877
|
4
|
|
80869
80878
|
);
|
|
80870
80879
|
}
|
|
@@ -80895,16 +80904,16 @@
|
|
|
80895
80904
|
}),
|
|
80896
80905
|
'component',
|
|
80897
80906
|
DropdownListButton,
|
|
80898
|
-
|
|
80907
|
+
31,
|
|
80899
80908
|
8,
|
|
80900
80909
|
{ componentTag: 'Icon' }
|
|
80901
80910
|
);
|
|
80902
80911
|
}
|
|
80903
80912
|
|
|
80904
80913
|
reset(span_2);
|
|
80905
|
-
reset(
|
|
80906
|
-
bind_this(
|
|
80907
|
-
append($$anchor,
|
|
80914
|
+
reset(button);
|
|
80915
|
+
bind_this(button, ($$value) => buttonElement($$value), () => buttonElement());
|
|
80916
|
+
append($$anchor, button);
|
|
80908
80917
|
|
|
80909
80918
|
return pop($$exports);
|
|
80910
80919
|
}
|
|
@@ -80916,18 +80925,19 @@
|
|
|
80916
80925
|
expanded: {},
|
|
80917
80926
|
disabled: {},
|
|
80918
80927
|
selectedOptionsText: {},
|
|
80919
|
-
placeholder: {}
|
|
80928
|
+
placeholder: {},
|
|
80929
|
+
buttonElement: {}
|
|
80920
80930
|
},
|
|
80921
80931
|
[],
|
|
80922
|
-
[
|
|
80932
|
+
[],
|
|
80923
80933
|
true
|
|
80924
80934
|
);
|
|
80925
80935
|
|
|
80926
80936
|
DropdownList[FILENAME] = 'src/sdg/components/DropdownList/DropdownList.svelte';
|
|
80927
80937
|
|
|
80928
|
-
var root_2$2 = add_locations(from_html(`<div class="qc-dropdown-list-search"><!></div>`), DropdownList[FILENAME], [[
|
|
80929
|
-
var root_3 = add_locations(from_html(`<span> </span>`), DropdownList[FILENAME], [[
|
|
80930
|
-
var root$1 = add_locations(from_html(`<div><div><!> <div tabindex="-1"><!> <div class="qc-dropdown-list-expanded" tabindex="-1" role="listbox"><!> <!> <div role="status" class="qc-sr-only"><!></div></div></div></div> <!></div>`), DropdownList[FILENAME], [[
|
|
80938
|
+
var root_2$2 = add_locations(from_html(`<div class="qc-dropdown-list-search"><!></div>`), DropdownList[FILENAME], [[386, 20]]);
|
|
80939
|
+
var root_3 = add_locations(from_html(`<span> </span>`), DropdownList[FILENAME], [[427, 24]]);
|
|
80940
|
+
var root$1 = add_locations(from_html(`<div><div><!> <div tabindex="-1"><!> <div class="qc-dropdown-list-expanded" tabindex="-1" role="listbox"><!> <!> <div role="status" class="qc-sr-only"><!></div></div></div></div> <!></div>`), DropdownList[FILENAME], [[316, 0, [[321, 4, [[340, 8, [[369, 12, [[425, 16]]]]]]]]]]);
|
|
80931
80941
|
|
|
80932
80942
|
function DropdownList($$anchor, $$props) {
|
|
80933
80943
|
check_target(new.target);
|
|
@@ -80953,7 +80963,8 @@
|
|
|
80953
80963
|
multiple = prop($$props, 'multiple', 7, false),
|
|
80954
80964
|
rootElement = prop($$props, 'rootElement', 15),
|
|
80955
80965
|
errorElement = prop($$props, 'errorElement', 15),
|
|
80956
|
-
webComponentMode = prop($$props, 'webComponentMode', 7, false)
|
|
80966
|
+
webComponentMode = prop($$props, 'webComponentMode', 7, false),
|
|
80967
|
+
expanded = prop($$props, 'expanded', 15, false);
|
|
80957
80968
|
|
|
80958
80969
|
const defaultPlaceholder = strict_equals(lang, "fr") ? "Faire une sélection" : "Select an option",
|
|
80959
80970
|
inputId = `${id()}-input`,
|
|
@@ -80961,12 +80972,14 @@
|
|
|
80961
80972
|
itemsId = `${id()}-items`,
|
|
80962
80973
|
labelId = `${id()}-label`,
|
|
80963
80974
|
errorId = `${id()}-error`,
|
|
80964
|
-
availableWidths = ["xs", "sm", "md", "lg", "xl"]
|
|
80975
|
+
availableWidths = ["xs", "sm", "md", "lg", "xl"],
|
|
80976
|
+
buttonHeight = 40;
|
|
80965
80977
|
|
|
80966
80978
|
let instance = tag(state(void 0), 'instance'),
|
|
80967
80979
|
parentRow = tag(user_derived(() => get(instance)?.closest(".qc-formfield-row")), 'parentRow'),
|
|
80968
80980
|
button = tag(state(void 0), 'button'),
|
|
80969
80981
|
searchInput = tag(state(void 0), 'searchInput'),
|
|
80982
|
+
popup = tag(state(void 0), 'popup'),
|
|
80970
80983
|
dropdownItems = tag(state(void 0), 'dropdownItems'),
|
|
80971
80984
|
selectedItems = tag(user_derived(() => items().filter((item) => item.checked) ?? []), 'selectedItems'),
|
|
80972
80985
|
selectedOptionsText = tag(
|
|
@@ -80992,7 +81005,6 @@
|
|
|
80992
81005
|
'selectedOptionsText'
|
|
80993
81006
|
),
|
|
80994
81007
|
previousValue = tag(state(proxy(value())), 'previousValue'),
|
|
80995
|
-
expanded = tag(state(false), 'expanded'),
|
|
80996
81008
|
searchText = tag(state(""), 'searchText'),
|
|
80997
81009
|
hiddenSearchText = tag(state(""), 'hiddenSearchText'),
|
|
80998
81010
|
displayedItems = tag(state(proxy(items())), 'displayedItems'),
|
|
@@ -81009,8 +81021,6 @@
|
|
|
81009
81021
|
),
|
|
81010
81022
|
widthClass = tag(
|
|
81011
81023
|
user_derived(() => {
|
|
81012
|
-
webComponentMode() ? "container" : "root";
|
|
81013
|
-
|
|
81014
81024
|
if (availableWidths.includes(width())) {
|
|
81015
81025
|
return `qc-dropdown-list-${width()}`;
|
|
81016
81026
|
}
|
|
@@ -81032,7 +81042,32 @@
|
|
|
81032
81042
|
return "";
|
|
81033
81043
|
}),
|
|
81034
81044
|
'srItemsCountText'
|
|
81035
|
-
)
|
|
81045
|
+
),
|
|
81046
|
+
buttonElementYPosition = tag(state(0), 'buttonElementYPosition'),
|
|
81047
|
+
usedHeight = tag(
|
|
81048
|
+
user_derived(() => {
|
|
81049
|
+
const maxItemsHeight = 336;
|
|
81050
|
+
const searchInputTotalHeight = 56;
|
|
81051
|
+
|
|
81052
|
+
if (enableSearch()) {
|
|
81053
|
+
if (get(displayedItems).length > 7) {
|
|
81054
|
+
return maxItemsHeight - searchInputTotalHeight - 17;
|
|
81055
|
+
}
|
|
81056
|
+
|
|
81057
|
+
return maxItemsHeight - searchInputTotalHeight;
|
|
81058
|
+
} else {
|
|
81059
|
+
if (get(displayedItems).length > 8) {
|
|
81060
|
+
return maxItemsHeight - 33;
|
|
81061
|
+
}
|
|
81062
|
+
|
|
81063
|
+
return maxItemsHeight;
|
|
81064
|
+
}
|
|
81065
|
+
}),
|
|
81066
|
+
'usedHeight'
|
|
81067
|
+
),
|
|
81068
|
+
topOffset = tag(state(0), 'topOffset'),
|
|
81069
|
+
popupTopBorderThickness = tag(user_derived(() => get(topOffset) && get(topOffset) < 0 ? 1 : 0), 'popupTopBorderThickness'),
|
|
81070
|
+
popupBottomBorderThickness = tag(user_derived(() => get(topOffset) && get(topOffset) >= 0 ? 1 : 0), 'popupBottomBorderThickness');
|
|
81036
81071
|
|
|
81037
81072
|
function focusOnSelectedOption(value) {
|
|
81038
81073
|
if (get(displayedItems).length > 0) {
|
|
@@ -81046,28 +81081,28 @@
|
|
|
81046
81081
|
|
|
81047
81082
|
function handleDropdownButtonClick(event) {
|
|
81048
81083
|
event.preventDefault();
|
|
81049
|
-
|
|
81084
|
+
expanded(!expanded());
|
|
81050
81085
|
}
|
|
81051
81086
|
|
|
81052
81087
|
function handleOuterEvent() {
|
|
81053
81088
|
if (!Utils.componentIsActive(get(instance))) {
|
|
81054
|
-
|
|
81089
|
+
expanded(false);
|
|
81055
81090
|
}
|
|
81056
81091
|
}
|
|
81057
81092
|
|
|
81058
81093
|
function handleTab(event) {
|
|
81059
81094
|
// Le changement de focus a lieu après le lancement de l'événement clavier.
|
|
81060
81095
|
// Il faut donc faire un court sleep pour avoir le nouvel élément en focus.
|
|
81061
|
-
|
|
81096
|
+
tick().then(() => {
|
|
81062
81097
|
if (strict_equals(event.key, "Tab") && !Utils.componentIsActive(get(instance))) {
|
|
81063
|
-
|
|
81098
|
+
expanded(false);
|
|
81064
81099
|
}
|
|
81065
81100
|
}).catch(console.error);
|
|
81066
81101
|
}
|
|
81067
81102
|
|
|
81068
81103
|
function handleEscape(event) {
|
|
81069
81104
|
if (strict_equals(event.key, "Escape")) {
|
|
81070
|
-
|
|
81105
|
+
expanded(false);
|
|
81071
81106
|
}
|
|
81072
81107
|
}
|
|
81073
81108
|
|
|
@@ -81081,7 +81116,7 @@
|
|
|
81081
81116
|
function handleArrowDown(event, targetComponent) {
|
|
81082
81117
|
if (strict_equals(event.key, "ArrowDown") && targetComponent) {
|
|
81083
81118
|
event.preventDefault();
|
|
81084
|
-
|
|
81119
|
+
expanded(true);
|
|
81085
81120
|
targetComponent.focus();
|
|
81086
81121
|
}
|
|
81087
81122
|
}
|
|
@@ -81093,10 +81128,10 @@
|
|
|
81093
81128
|
if (strict_equals(event.key, "ArrowDown")) {
|
|
81094
81129
|
event.preventDefault();
|
|
81095
81130
|
|
|
81096
|
-
if (
|
|
81131
|
+
if (expanded()) {
|
|
81097
81132
|
targetComponent.focus();
|
|
81098
81133
|
} else {
|
|
81099
|
-
|
|
81134
|
+
expanded(true);
|
|
81100
81135
|
focusOnSelectedOption(value());
|
|
81101
81136
|
}
|
|
81102
81137
|
}
|
|
@@ -81104,7 +81139,7 @@
|
|
|
81104
81139
|
if (strict_equals(event.key, "ArrowUp")) {
|
|
81105
81140
|
event.preventDefault();
|
|
81106
81141
|
|
|
81107
|
-
if (
|
|
81142
|
+
if (expanded()) {
|
|
81108
81143
|
get(dropdownItems)?.focusOnLastElement();
|
|
81109
81144
|
}
|
|
81110
81145
|
}
|
|
@@ -81116,7 +81151,7 @@
|
|
|
81116
81151
|
} else {
|
|
81117
81152
|
set(hiddenSearchText, get(hiddenSearchText) + event.key);
|
|
81118
81153
|
|
|
81119
|
-
if (get(hiddenSearchText).length > 0 &&
|
|
81154
|
+
if (get(hiddenSearchText).length > 0 && expanded()) {
|
|
81120
81155
|
get(dropdownItems)?.focusOnFirstMatchingElement(get(hiddenSearchText));
|
|
81121
81156
|
}
|
|
81122
81157
|
}
|
|
@@ -81131,7 +81166,7 @@
|
|
|
81131
81166
|
}
|
|
81132
81167
|
|
|
81133
81168
|
function closeDropdown(key) {
|
|
81134
|
-
|
|
81169
|
+
expanded(false);
|
|
81135
81170
|
set(hiddenSearchText, "");
|
|
81136
81171
|
|
|
81137
81172
|
if (strict_equals(key, "Escape") && get(button)) {
|
|
@@ -81157,12 +81192,13 @@
|
|
|
81157
81192
|
|
|
81158
81193
|
user_effect(() => {
|
|
81159
81194
|
if (strict_equals(get(previousValue)?.toString(), value()?.toString(), false)) {
|
|
81195
|
+
set(previousValue, value(), true);
|
|
81160
81196
|
invalid(false);
|
|
81161
81197
|
}
|
|
81162
81198
|
});
|
|
81163
81199
|
|
|
81164
81200
|
user_effect(() => {
|
|
81165
|
-
if (!
|
|
81201
|
+
if (!expanded()) {
|
|
81166
81202
|
set(hiddenSearchText, "");
|
|
81167
81203
|
set(searchText, "");
|
|
81168
81204
|
}
|
|
@@ -81202,10 +81238,34 @@
|
|
|
81202
81238
|
placeholder(strict_equals(optionWithEmptyValue.label, "", false) ? optionWithEmptyValue.label : defaultPlaceholder);
|
|
81203
81239
|
});
|
|
81204
81240
|
|
|
81241
|
+
user_effect(() => {
|
|
81242
|
+
if (expanded()) {
|
|
81243
|
+
const borderThickness = 2 * (invalid() ? 2 : 1);
|
|
81244
|
+
|
|
81245
|
+
const popupHeight = get(popup)
|
|
81246
|
+
? get(popup).getBoundingClientRect().height
|
|
81247
|
+
: get(usedHeight);
|
|
81248
|
+
|
|
81249
|
+
set(topOffset, get(buttonElementYPosition) + buttonHeight > innerHeight - popupHeight ? -popupHeight : buttonHeight - borderThickness, true);
|
|
81250
|
+
}
|
|
81251
|
+
});
|
|
81252
|
+
|
|
81205
81253
|
function findOptionWithEmptyValue() {
|
|
81206
81254
|
return items()?.find((item) => strict_equals(item.value, "") || strict_equals(item.value, null) || strict_equals(item.value, undefined));
|
|
81207
81255
|
}
|
|
81208
81256
|
|
|
81257
|
+
function setRemainingBottomHeight() {
|
|
81258
|
+
if (!get(button)) {
|
|
81259
|
+
return;
|
|
81260
|
+
}
|
|
81261
|
+
|
|
81262
|
+
set(buttonElementYPosition, get(button).getBoundingClientRect().y, true);
|
|
81263
|
+
}
|
|
81264
|
+
|
|
81265
|
+
onMount(() => {
|
|
81266
|
+
setRemainingBottomHeight();
|
|
81267
|
+
});
|
|
81268
|
+
|
|
81209
81269
|
var $$exports = {
|
|
81210
81270
|
get id() {
|
|
81211
81271
|
return id();
|
|
@@ -81369,6 +81429,15 @@
|
|
|
81369
81429
|
flushSync();
|
|
81370
81430
|
},
|
|
81371
81431
|
|
|
81432
|
+
get expanded() {
|
|
81433
|
+
return expanded();
|
|
81434
|
+
},
|
|
81435
|
+
|
|
81436
|
+
set expanded($$value = false) {
|
|
81437
|
+
expanded($$value);
|
|
81438
|
+
flushSync();
|
|
81439
|
+
},
|
|
81440
|
+
|
|
81372
81441
|
...legacy_api()
|
|
81373
81442
|
};
|
|
81374
81443
|
|
|
@@ -81376,6 +81445,7 @@
|
|
|
81376
81445
|
|
|
81377
81446
|
event('click', $document.body, handleOuterEvent);
|
|
81378
81447
|
event('keydown', $document.body, handleTab);
|
|
81448
|
+
event('scroll', $window, setRemainingBottomHeight);
|
|
81379
81449
|
|
|
81380
81450
|
var div_1 = child(div);
|
|
81381
81451
|
|
|
@@ -81416,7 +81486,7 @@
|
|
|
81416
81486
|
}),
|
|
81417
81487
|
'component',
|
|
81418
81488
|
DropdownList,
|
|
81419
|
-
|
|
81489
|
+
327,
|
|
81420
81490
|
12,
|
|
81421
81491
|
{ componentTag: 'Label' }
|
|
81422
81492
|
);
|
|
@@ -81428,7 +81498,7 @@
|
|
|
81428
81498
|
}),
|
|
81429
81499
|
'if',
|
|
81430
81500
|
DropdownList,
|
|
81431
|
-
|
|
81501
|
+
326,
|
|
81432
81502
|
8
|
|
81433
81503
|
);
|
|
81434
81504
|
}
|
|
@@ -81437,62 +81507,70 @@
|
|
|
81437
81507
|
var node_1 = child(div_2);
|
|
81438
81508
|
|
|
81439
81509
|
add_svelte_meta(
|
|
81440
|
-
() =>
|
|
81441
|
-
|
|
81442
|
-
|
|
81443
|
-
|
|
81444
|
-
},
|
|
81510
|
+
() => DropdownListButton(node_1, {
|
|
81511
|
+
get inputId() {
|
|
81512
|
+
return inputId;
|
|
81513
|
+
},
|
|
81445
81514
|
|
|
81446
|
-
|
|
81447
|
-
|
|
81448
|
-
|
|
81515
|
+
get disabled() {
|
|
81516
|
+
return disabled();
|
|
81517
|
+
},
|
|
81449
81518
|
|
|
81450
|
-
|
|
81451
|
-
|
|
81452
|
-
|
|
81519
|
+
get expanded() {
|
|
81520
|
+
return expanded();
|
|
81521
|
+
},
|
|
81453
81522
|
|
|
81454
|
-
|
|
81455
|
-
|
|
81456
|
-
|
|
81523
|
+
get 'aria-labelledby'() {
|
|
81524
|
+
return labelId;
|
|
81525
|
+
},
|
|
81457
81526
|
|
|
81458
|
-
|
|
81459
|
-
|
|
81460
|
-
|
|
81527
|
+
get 'aria-required'() {
|
|
81528
|
+
return required();
|
|
81529
|
+
},
|
|
81461
81530
|
|
|
81462
|
-
|
|
81463
|
-
|
|
81464
|
-
|
|
81531
|
+
get 'aria-expanded'() {
|
|
81532
|
+
return expanded();
|
|
81533
|
+
},
|
|
81465
81534
|
|
|
81466
|
-
|
|
81535
|
+
'aria-haspopup': 'listbox',
|
|
81467
81536
|
|
|
81468
|
-
|
|
81469
|
-
|
|
81470
|
-
|
|
81537
|
+
get 'aria-controls'() {
|
|
81538
|
+
return itemsId;
|
|
81539
|
+
},
|
|
81471
81540
|
|
|
81472
|
-
|
|
81473
|
-
|
|
81474
|
-
|
|
81541
|
+
get 'aria-invalid'() {
|
|
81542
|
+
return invalid();
|
|
81543
|
+
},
|
|
81475
81544
|
|
|
81476
|
-
|
|
81477
|
-
|
|
81478
|
-
|
|
81545
|
+
get selectedOptionsText() {
|
|
81546
|
+
return get(selectedOptionsText);
|
|
81547
|
+
},
|
|
81479
81548
|
|
|
81480
|
-
|
|
81481
|
-
|
|
81482
|
-
|
|
81549
|
+
get placeholder() {
|
|
81550
|
+
return placeholder();
|
|
81551
|
+
},
|
|
81483
81552
|
|
|
81484
|
-
|
|
81553
|
+
get usedHeight() {
|
|
81554
|
+
return get(usedHeight);
|
|
81555
|
+
},
|
|
81485
81556
|
|
|
81486
|
-
|
|
81487
|
-
|
|
81488
|
-
|
|
81489
|
-
|
|
81490
|
-
|
|
81491
|
-
|
|
81492
|
-
|
|
81557
|
+
onclick: handleDropdownButtonClick,
|
|
81558
|
+
|
|
81559
|
+
onkeydown: (e) => {
|
|
81560
|
+
handleButtonKeyDown(e, enableSearch() ? get(searchInput) : get(dropdownItems));
|
|
81561
|
+
},
|
|
81562
|
+
|
|
81563
|
+
get buttonElement() {
|
|
81564
|
+
return get(button);
|
|
81565
|
+
},
|
|
81566
|
+
|
|
81567
|
+
set buttonElement($$value) {
|
|
81568
|
+
set(button, $$value, true);
|
|
81569
|
+
}
|
|
81570
|
+
}),
|
|
81493
81571
|
'component',
|
|
81494
81572
|
DropdownList,
|
|
81495
|
-
|
|
81573
|
+
349,
|
|
81496
81574
|
12,
|
|
81497
81575
|
{ componentTag: 'DropdownListButton' }
|
|
81498
81576
|
);
|
|
@@ -81547,7 +81625,7 @@
|
|
|
81547
81625
|
),
|
|
81548
81626
|
'component',
|
|
81549
81627
|
DropdownList,
|
|
81550
|
-
|
|
81628
|
+
387,
|
|
81551
81629
|
24,
|
|
81552
81630
|
{ componentTag: 'SearchInput' }
|
|
81553
81631
|
);
|
|
@@ -81563,7 +81641,7 @@
|
|
|
81563
81641
|
}),
|
|
81564
81642
|
'if',
|
|
81565
81643
|
DropdownList,
|
|
81566
|
-
|
|
81644
|
+
385,
|
|
81567
81645
|
16
|
|
81568
81646
|
);
|
|
81569
81647
|
}
|
|
@@ -81580,10 +81658,6 @@
|
|
|
81580
81658
|
return itemsId;
|
|
81581
81659
|
},
|
|
81582
81660
|
|
|
81583
|
-
get enableSearch() {
|
|
81584
|
-
return enableSearch();
|
|
81585
|
-
},
|
|
81586
|
-
|
|
81587
81661
|
get placeholder() {
|
|
81588
81662
|
return placeholder();
|
|
81589
81663
|
},
|
|
@@ -81627,7 +81701,7 @@
|
|
|
81627
81701
|
),
|
|
81628
81702
|
'component',
|
|
81629
81703
|
DropdownList,
|
|
81630
|
-
|
|
81704
|
+
405,
|
|
81631
81705
|
16,
|
|
81632
81706
|
{ componentTag: 'DropdownListItems' }
|
|
81633
81707
|
);
|
|
@@ -81647,12 +81721,13 @@
|
|
|
81647
81721
|
}),
|
|
81648
81722
|
'key',
|
|
81649
81723
|
DropdownList,
|
|
81650
|
-
|
|
81724
|
+
426,
|
|
81651
81725
|
20
|
|
81652
81726
|
);
|
|
81653
81727
|
|
|
81654
81728
|
reset(div_5);
|
|
81655
81729
|
reset(div_3);
|
|
81730
|
+
bind_this(div_3, ($$value) => set(popup, $$value), () => get(popup));
|
|
81656
81731
|
reset(div_2);
|
|
81657
81732
|
bind_this(div_2, ($$value) => set(instance, $$value), () => get(instance));
|
|
81658
81733
|
reset(div_1);
|
|
@@ -81694,7 +81769,7 @@
|
|
|
81694
81769
|
}),
|
|
81695
81770
|
'component',
|
|
81696
81771
|
DropdownList,
|
|
81697
|
-
|
|
81772
|
+
435,
|
|
81698
81773
|
4,
|
|
81699
81774
|
{ componentTag: 'FormError' }
|
|
81700
81775
|
);
|
|
@@ -81713,7 +81788,16 @@
|
|
|
81713
81788
|
]));
|
|
81714
81789
|
|
|
81715
81790
|
set_attribute(div_3, 'id', popupId);
|
|
81716
|
-
|
|
81791
|
+
|
|
81792
|
+
set_style(div_3, `
|
|
81793
|
+
--dropdown-items-top-offset: ${get(topOffset)};
|
|
81794
|
+
--dropdown-items-height: ${get(usedHeight)};
|
|
81795
|
+
--dropdown-items-bottom-border: ${get(popupBottomBorderThickness)};
|
|
81796
|
+
--dropdown-items-top-border: ${get(popupTopBorderThickness)};
|
|
81797
|
+
--dropdown-button-border: ${invalid() ? 2 : 1};
|
|
81798
|
+
`);
|
|
81799
|
+
|
|
81800
|
+
set_attribute(div_3, 'hidden', !expanded());
|
|
81717
81801
|
});
|
|
81718
81802
|
|
|
81719
81803
|
append($$anchor, div);
|
|
@@ -81741,7 +81825,8 @@
|
|
|
81741
81825
|
multiple: {},
|
|
81742
81826
|
rootElement: {},
|
|
81743
81827
|
errorElement: {},
|
|
81744
|
-
webComponentMode: {}
|
|
81828
|
+
webComponentMode: {},
|
|
81829
|
+
expanded: {}
|
|
81745
81830
|
},
|
|
81746
81831
|
[],
|
|
81747
81832
|
[],
|
|
@@ -82849,7 +82934,7 @@
|
|
|
82849
82934
|
));
|
|
82850
82935
|
|
|
82851
82936
|
if (document.getElementById("version")) {
|
|
82852
|
-
document.getElementById("version").textContent = `v1.4.
|
|
82937
|
+
document.getElementById("version").textContent = `v1.4.7`;
|
|
82853
82938
|
}
|
|
82854
82939
|
|
|
82855
82940
|
// Show maskable "general alert" component
|
|
@@ -82858,7 +82943,8 @@
|
|
|
82858
82943
|
if (displayAlertLink) {
|
|
82859
82944
|
displayAlertLink.addEventListener(
|
|
82860
82945
|
'click',
|
|
82861
|
-
() => {
|
|
82946
|
+
(evt) => {
|
|
82947
|
+
evt.preventDefault();
|
|
82862
82948
|
maskableAlert.setAttribute('hide', 'false');
|
|
82863
82949
|
displayAlertLink.hidden = true;
|
|
82864
82950
|
}
|
|
@@ -82871,6 +82957,10 @@
|
|
|
82871
82957
|
}
|
|
82872
82958
|
);
|
|
82873
82959
|
}
|
|
82960
|
+
|
|
82961
|
+
if (maskableAlert && displayAlertLink && !maskableAlert.querySelector('.qc-general-alert')) {
|
|
82962
|
+
displayAlertLink.removeAttribute('hidden');
|
|
82963
|
+
}
|
|
82874
82964
|
// add version
|
|
82875
82965
|
|
|
82876
82966
|
})();
|