qc-trousse-sdg 1.4.0 → 1.4.1

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.
@@ -33,6 +33,9 @@
33
33
 
34
34
  const UNINITIALIZED = Symbol();
35
35
 
36
+ // Dev-time component properties
37
+ const FILENAME = Symbol('filename');
38
+
36
39
  const NAMESPACE_HTML = 'http://www.w3.org/1999/xhtml';
37
40
  const NAMESPACE_SVG = 'http://www.w3.org/2000/svg';
38
41
 
@@ -41,6 +44,16 @@
41
44
  /* This file is generated by scripts/process-messages/index.js. Do not edit! */
42
45
 
43
46
 
47
+ /**
48
+ * A snippet function was passed invalid arguments. Snippets should only be instantiated via `{@render ...}`
49
+ * @returns {never}
50
+ */
51
+ function invalid_snippet_arguments() {
52
+ {
53
+ throw new Error(`https://svelte.dev/e/invalid_snippet_arguments`);
54
+ }
55
+ }
56
+
44
57
  /**
45
58
  * `%name%(...)` can only be used during component initialisation
46
59
  * @param {string} name
@@ -52,6 +65,26 @@
52
65
  }
53
66
  }
54
67
 
68
+ /**
69
+ * Attempted to render a snippet without a `{@render}` block. This would cause the snippet code to be stringified instead of its content being rendered to the DOM. To fix this, change `{snippet}` to `{@render snippet()}`.
70
+ * @returns {never}
71
+ */
72
+ function snippet_without_render_tag() {
73
+ {
74
+ throw new Error(`https://svelte.dev/e/snippet_without_render_tag`);
75
+ }
76
+ }
77
+
78
+ /**
79
+ * The `this` prop on `<svelte:element>` must be a string, if defined
80
+ * @returns {never}
81
+ */
82
+ function svelte_element_invalid_this_value() {
83
+ {
84
+ throw new Error(`https://svelte.dev/e/svelte_element_invalid_this_value`);
85
+ }
86
+ }
87
+
55
88
  // Store the references to globals in case someone tries to monkey patch these, causing the below
56
89
  // to de-opt (this occurs often when using popular extensions).
57
90
  var is_array = Array.isArray;
@@ -123,6 +156,43 @@
123
156
  /* This file is generated by scripts/process-messages/index.js. Do not edit! */
124
157
 
125
158
 
159
+ /**
160
+ * Calling `%method%` on a component instance (of %component%) is no longer valid in Svelte 5
161
+ * @param {string} method
162
+ * @param {string} component
163
+ * @returns {never}
164
+ */
165
+ function component_api_changed(method, component) {
166
+ {
167
+ throw new Error(`https://svelte.dev/e/component_api_changed`);
168
+ }
169
+ }
170
+
171
+ /**
172
+ * Attempted to instantiate %component% with `new %name%`, which is no longer valid in Svelte 5. If this component is not under your control, set the `compatibility.componentApi` compiler option to `4` to keep it working.
173
+ * @param {string} component
174
+ * @param {string} name
175
+ * @returns {never}
176
+ */
177
+ function component_api_invalid_new(component, name) {
178
+ {
179
+ throw new Error(`https://svelte.dev/e/component_api_invalid_new`);
180
+ }
181
+ }
182
+
183
+ /**
184
+ * Keyed each block has duplicate key `%value%` at indexes %a% and %b%
185
+ * @param {string} a
186
+ * @param {string} b
187
+ * @param {string | undefined | null} [value]
188
+ * @returns {never}
189
+ */
190
+ function each_key_duplicate(a, b, value) {
191
+ {
192
+ throw new Error(`https://svelte.dev/e/each_key_duplicate`);
193
+ }
194
+ }
195
+
126
196
  /**
127
197
  * `%rune%` cannot be used inside an effect cleanup function
128
198
  * @param {string} rune
@@ -219,6 +289,39 @@
219
289
  /* This file is generated by scripts/process-messages/index.js. Do not edit! */
220
290
 
221
291
 
292
+ /**
293
+ * Assignment to `%property%` property (%location%) will evaluate to the right-hand side, not the value of `%property%` following the assignment. This may result in unexpected behaviour.
294
+ * @param {string} property
295
+ * @param {string} location
296
+ */
297
+ function assignment_value_stale(property, location) {
298
+ {
299
+ console.warn(`https://svelte.dev/e/assignment_value_stale`);
300
+ }
301
+ }
302
+
303
+ /**
304
+ * `%binding%` (%location%) is binding to a non-reactive property
305
+ * @param {string} binding
306
+ * @param {string | undefined | null} [location]
307
+ */
308
+ function binding_property_non_reactive(binding, location) {
309
+ {
310
+ console.warn(`https://svelte.dev/e/binding_property_non_reactive`);
311
+ }
312
+ }
313
+
314
+ /**
315
+ * %handler% should be a function. Did you mean to %suggestion%?
316
+ * @param {string} handler
317
+ * @param {string} suggestion
318
+ */
319
+ function event_handler_invalid(handler, suggestion) {
320
+ {
321
+ console.warn(`https://svelte.dev/e/event_handler_invalid`);
322
+ }
323
+ }
324
+
222
325
  /**
223
326
  * Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near %location%
224
327
  * @param {string | undefined | null} [location]
@@ -229,6 +332,42 @@
229
332
  }
230
333
  }
231
334
 
335
+ /**
336
+ * %parent% passed property `%prop%` to %child% with `bind:`, but its parent component %owner% did not declare `%prop%` as a binding. Consider creating a binding between %owner% and %parent% (e.g. `bind:%prop%={...}` instead of `%prop%={...}`)
337
+ * @param {string} parent
338
+ * @param {string} prop
339
+ * @param {string} child
340
+ * @param {string} owner
341
+ */
342
+ function ownership_invalid_binding(parent, prop, child, owner) {
343
+ {
344
+ console.warn(`https://svelte.dev/e/ownership_invalid_binding`);
345
+ }
346
+ }
347
+
348
+ /**
349
+ * Mutating unbound props (`%name%`, at %location%) is strongly discouraged. Consider using `bind:%prop%={...}` in %parent% (or using a callback) instead
350
+ * @param {string} name
351
+ * @param {string} location
352
+ * @param {string} prop
353
+ * @param {string} parent
354
+ */
355
+ function ownership_invalid_mutation(name, location, prop, parent) {
356
+ {
357
+ console.warn(`https://svelte.dev/e/ownership_invalid_mutation`);
358
+ }
359
+ }
360
+
361
+ /**
362
+ * Reactive `$state(...)` proxies and the values they proxy have different identities. Because of this, comparisons with `%operator%` will produce unexpected results
363
+ * @param {string} operator
364
+ */
365
+ function state_proxy_equality_mismatch(operator) {
366
+ {
367
+ console.warn(`https://svelte.dev/e/state_proxy_equality_mismatch`);
368
+ }
369
+ }
370
+
232
371
  /** @import { TemplateNode } from '#client' */
233
372
 
234
373
 
@@ -317,6 +456,19 @@
317
456
  }
318
457
  }
319
458
 
459
+ /* This file is generated by scripts/process-messages/index.js. Do not edit! */
460
+
461
+
462
+ /**
463
+ * `<svelte:element this="%tag%">` is a void element — it cannot have content
464
+ * @param {string} tag
465
+ */
466
+ function dynamic_void_element_content(tag) {
467
+ {
468
+ console.warn(`https://svelte.dev/e/dynamic_void_element_content`);
469
+ }
470
+ }
471
+
320
472
  /** @import { Snapshot } from './types' */
321
473
 
322
474
  /**
@@ -696,6 +848,45 @@
696
848
  set(signal, signal.v + d);
697
849
  }
698
850
 
851
+ /**
852
+ * @param {any} value
853
+ */
854
+ function get_proxied_value(value) {
855
+ try {
856
+ if (value !== null && typeof value === 'object' && STATE_SYMBOL in value) {
857
+ return value[STATE_SYMBOL];
858
+ }
859
+ } catch {
860
+ // the above if check can throw an error if the value in question
861
+ // is the contentWindow of an iframe on another domain, in which
862
+ // case we want to just return the value (because it's definitely
863
+ // not a proxied value) so we don't break any JavaScript interacting
864
+ // with that iframe (such as various payment companies client side
865
+ // JavaScript libraries interacting with their iframes on the same
866
+ // domain)
867
+ }
868
+
869
+ return value;
870
+ }
871
+
872
+ /**
873
+ * @param {any} a
874
+ * @param {any} b
875
+ * @param {boolean} equal
876
+ * @returns {boolean}
877
+ */
878
+ function strict_equals(a, b, equal = true) {
879
+ // try-catch needed because this tries to read properties of `a` and `b`,
880
+ // which could be disallowed for example in a secure context
881
+ try {
882
+ if ((a === b) !== (get_proxied_value(a) === get_proxied_value(b))) {
883
+ state_proxy_equality_mismatch(equal ? '===' : '!==');
884
+ }
885
+ } catch {}
886
+
887
+ return (a === b) === equal;
888
+ }
889
+
699
890
  /** @import { TemplateNode } from '#client' */
700
891
 
701
892
  // export these for reference in the compiled code, making global name deduplication unnecessary
@@ -2536,6 +2727,23 @@
2536
2727
  component_context = context;
2537
2728
  }
2538
2729
 
2730
+ /**
2731
+ * The current component function. Different from current component context:
2732
+ * ```html
2733
+ * <!-- App.svelte -->
2734
+ * <Foo>
2735
+ * <Bar /> <!-- context == Foo.svelte, function == App.svelte -->
2736
+ * </Foo>
2737
+ * ```
2738
+ * @type {ComponentContext['function']}
2739
+ */
2740
+ let dev_current_component_function = null;
2741
+
2742
+ /** @param {ComponentContext['function']} fn */
2743
+ function set_dev_current_component_function(fn) {
2744
+ dev_current_component_function = fn;
2745
+ }
2746
+
2539
2747
  /**
2540
2748
  * Retrieves the context that belongs to the closest parent component with the specified `key`.
2541
2749
  * Must be called during component initialisation.
@@ -2660,6 +2868,33 @@
2660
2868
  return null;
2661
2869
  }
2662
2870
 
2871
+ const VOID_ELEMENT_NAMES = [
2872
+ 'area',
2873
+ 'base',
2874
+ 'br',
2875
+ 'col',
2876
+ 'command',
2877
+ 'embed',
2878
+ 'hr',
2879
+ 'img',
2880
+ 'input',
2881
+ 'keygen',
2882
+ 'link',
2883
+ 'meta',
2884
+ 'param',
2885
+ 'source',
2886
+ 'track',
2887
+ 'wbr'
2888
+ ];
2889
+
2890
+ /**
2891
+ * Returns `true` if `name` is of a void element
2892
+ * @param {string} name
2893
+ */
2894
+ function is_void(name) {
2895
+ return VOID_ELEMENT_NAMES.includes(name) || name.toLowerCase() === '!doctype';
2896
+ }
2897
+
2663
2898
  /**
2664
2899
  * @param {string} name
2665
2900
  */
@@ -2759,6 +2994,105 @@
2759
2994
  return RAW_TEXT_ELEMENTS.includes(/** @type {RAW_TEXT_ELEMENTS[number]} */ (name));
2760
2995
  }
2761
2996
 
2997
+ /**
2998
+ * Prevent devtools trying to make `location` a clickable link by inserting a zero-width space
2999
+ * @template {string | undefined} T
3000
+ * @param {T} location
3001
+ * @returns {T};
3002
+ */
3003
+ function sanitize_location(location) {
3004
+ return /** @type {T} */ (location?.replace(/\//g, '/\u200b'));
3005
+ }
3006
+
3007
+ /**
3008
+ *
3009
+ * @param {any} a
3010
+ * @param {any} b
3011
+ * @param {string} property
3012
+ * @param {string} location
3013
+ */
3014
+ function compare(a, b, property, location) {
3015
+ if (a !== b) {
3016
+ assignment_value_stale(property, /** @type {string} */ (sanitize_location(location)));
3017
+ }
3018
+
3019
+ return a;
3020
+ }
3021
+
3022
+ /**
3023
+ * @param {any} object
3024
+ * @param {string} property
3025
+ * @param {any} value
3026
+ * @param {string} location
3027
+ */
3028
+ function assign(object, property, value, location) {
3029
+ return compare(
3030
+ (object[property] = value),
3031
+ untrack(() => object[property]),
3032
+ property,
3033
+ location
3034
+ );
3035
+ }
3036
+
3037
+ /** @import { SourceLocation } from '#shared' */
3038
+
3039
+ /**
3040
+ * @param {any} fn
3041
+ * @param {string} filename
3042
+ * @param {SourceLocation[]} locations
3043
+ * @returns {any}
3044
+ */
3045
+ function add_locations(fn, filename, locations) {
3046
+ return (/** @type {any[]} */ ...args) => {
3047
+ const dom = fn(...args);
3048
+
3049
+ var node = hydrating ? dom : dom.nodeType === 11 ? dom.firstChild : dom;
3050
+ assign_locations(node, filename, locations);
3051
+
3052
+ return dom;
3053
+ };
3054
+ }
3055
+
3056
+ /**
3057
+ * @param {Element} element
3058
+ * @param {string} filename
3059
+ * @param {SourceLocation} location
3060
+ */
3061
+ function assign_location(element, filename, location) {
3062
+ // @ts-expect-error
3063
+ element.__svelte_meta = {
3064
+ loc: { file: filename, line: location[0], column: location[1] }
3065
+ };
3066
+
3067
+ if (location[2]) {
3068
+ assign_locations(element.firstChild, filename, location[2]);
3069
+ }
3070
+ }
3071
+
3072
+ /**
3073
+ * @param {Node | null} node
3074
+ * @param {string} filename
3075
+ * @param {SourceLocation[]} locations
3076
+ */
3077
+ function assign_locations(node, filename, locations) {
3078
+ var i = 0;
3079
+ var depth = 0;
3080
+
3081
+ while (node && i < locations.length) {
3082
+ if (hydrating && node.nodeType === 8) {
3083
+ var comment = /** @type {Comment} */ (node);
3084
+ if (comment.data === HYDRATION_START || comment.data === HYDRATION_START_ELSE) depth += 1;
3085
+ else if (comment.data[0] === HYDRATION_END) depth -= 1;
3086
+ }
3087
+
3088
+ if (depth === 0 && node.nodeType === 1) {
3089
+ assign_location(/** @type {Element} */ (node), filename, locations[i++]);
3090
+ }
3091
+
3092
+ node = node.nextSibling;
3093
+ }
3094
+ }
3095
+
2762
3096
  /**
2763
3097
  * @param {HTMLElement} dom
2764
3098
  * @param {boolean} value
@@ -3071,6 +3405,48 @@
3071
3405
  }
3072
3406
  }
3073
3407
 
3408
+ /**
3409
+ * In dev, warn if an event handler is not a function, as it means the
3410
+ * user probably called the handler or forgot to add a `() =>`
3411
+ * @param {() => (event: Event, ...args: any) => void} thunk
3412
+ * @param {EventTarget} element
3413
+ * @param {[Event, ...any]} args
3414
+ * @param {any} component
3415
+ * @param {[number, number]} [loc]
3416
+ * @param {boolean} [remove_parens]
3417
+ */
3418
+ function apply(
3419
+ thunk,
3420
+ element,
3421
+ args,
3422
+ component,
3423
+ loc,
3424
+ has_side_effects = false,
3425
+ remove_parens = false
3426
+ ) {
3427
+ let handler;
3428
+ let error;
3429
+
3430
+ try {
3431
+ handler = thunk();
3432
+ } catch (e) {
3433
+ error = e;
3434
+ }
3435
+
3436
+ if (typeof handler !== 'function' && (has_side_effects || handler != null || error)) {
3437
+ component?.[FILENAME];
3438
+ const phase = args[0]?.eventPhase < Event.BUBBLING_PHASE ? 'capture' : '';
3439
+ args[0]?.type + phase;
3440
+
3441
+ event_handler_invalid();
3442
+
3443
+ if (error) {
3444
+ throw error;
3445
+ }
3446
+ }
3447
+ handler?.apply(element, args);
3448
+ }
3449
+
3074
3450
  /** @param {string} html */
3075
3451
  function create_fragment_from_html(html) {
3076
3452
  var elem = document.createElement('template');
@@ -3434,6 +3810,119 @@
3434
3810
  return Promise.resolve();
3435
3811
  }
3436
3812
 
3813
+ /** @typedef {{ file: string, line: number, column: number }} Location */
3814
+
3815
+
3816
+ /**
3817
+ * Sets up a validator that
3818
+ * - traverses the path of a prop to find out if it is allowed to be mutated
3819
+ * - checks that the binding chain is not interrupted
3820
+ * @param {Record<string, any>} props
3821
+ */
3822
+ function create_ownership_validator(props) {
3823
+ const component = component_context?.function;
3824
+ const parent = component_context?.p?.function;
3825
+
3826
+ return {
3827
+ /**
3828
+ * @param {string} prop
3829
+ * @param {any[]} path
3830
+ * @param {any} result
3831
+ * @param {number} line
3832
+ * @param {number} column
3833
+ */
3834
+ mutation: (prop, path, result, line, column) => {
3835
+ const name = path[0];
3836
+ if (is_bound_or_unset(props, name) || !parent) {
3837
+ return result;
3838
+ }
3839
+
3840
+ /** @type {any} */
3841
+ let value = props;
3842
+
3843
+ for (let i = 0; i < path.length - 1; i++) {
3844
+ value = value[path[i]];
3845
+ if (!value?.[STATE_SYMBOL]) {
3846
+ return result;
3847
+ }
3848
+ }
3849
+
3850
+ const location = sanitize_location(`${component[FILENAME]}:${line}:${column}`);
3851
+
3852
+ ownership_invalid_mutation(name, location, prop, parent[FILENAME]);
3853
+
3854
+ return result;
3855
+ },
3856
+ /**
3857
+ * @param {any} key
3858
+ * @param {any} child_component
3859
+ * @param {() => any} value
3860
+ */
3861
+ binding: (key, child_component, value) => {
3862
+ if (!is_bound_or_unset(props, key) && parent && value()?.[STATE_SYMBOL]) {
3863
+ ownership_invalid_binding(
3864
+ component[FILENAME],
3865
+ key,
3866
+ child_component[FILENAME],
3867
+ parent[FILENAME]
3868
+ );
3869
+ }
3870
+ }
3871
+ };
3872
+ }
3873
+
3874
+ /**
3875
+ * @param {Record<string, any>} props
3876
+ * @param {string} prop_name
3877
+ */
3878
+ function is_bound_or_unset(props, prop_name) {
3879
+ // Can be the case when someone does `mount(Component, props)` with `let props = $state({...})`
3880
+ // or `createClassComponent(Component, props)`
3881
+ const is_entry_props = STATE_SYMBOL in props || LEGACY_PROPS in props;
3882
+ return (
3883
+ !!get_descriptor(props, prop_name)?.set ||
3884
+ (is_entry_props && prop_name in props) ||
3885
+ !(prop_name in props)
3886
+ );
3887
+ }
3888
+
3889
+ /** @param {Function & { [FILENAME]: string }} target */
3890
+ function check_target(target) {
3891
+ if (target) {
3892
+ component_api_invalid_new(target[FILENAME] ?? 'a component', target.name);
3893
+ }
3894
+ }
3895
+
3896
+ function legacy_api() {
3897
+ const component = component_context?.function;
3898
+
3899
+ /** @param {string} method */
3900
+ function error(method) {
3901
+ component_api_changed(method, component[FILENAME]);
3902
+ }
3903
+
3904
+ return {
3905
+ $destroy: () => error('$destroy()'),
3906
+ $on: () => error('$on(...)'),
3907
+ $set: () => error('$set(...)')
3908
+ };
3909
+ }
3910
+
3911
+ /**
3912
+ * @param {Node} anchor
3913
+ * @param {...(()=>any)[]} args
3914
+ */
3915
+ function validate_snippet_args(anchor, ...args) {
3916
+ if (typeof anchor !== 'object' || !(anchor instanceof Node)) {
3917
+ invalid_snippet_arguments();
3918
+ }
3919
+ for (let arg of args) {
3920
+ if (typeof arg !== 'function') {
3921
+ invalid_snippet_arguments();
3922
+ }
3923
+ }
3924
+ }
3925
+
3437
3926
  /** @import { Effect, Source, TemplateNode } from '#client' */
3438
3927
 
3439
3928
  const PENDING = 0;
@@ -4418,6 +4907,41 @@
4418
4907
  return sanitized;
4419
4908
  }
4420
4909
 
4910
+ /** @import { TemplateNode } from '#client' */
4911
+ /** @import { Getters } from '#shared' */
4912
+
4913
+ /**
4914
+ * @param {() => string} tag_fn
4915
+ * @returns {void}
4916
+ */
4917
+ function validate_void_dynamic_element(tag_fn) {
4918
+ const tag = tag_fn();
4919
+ if (tag && is_void(tag)) {
4920
+ dynamic_void_element_content();
4921
+ }
4922
+ }
4923
+
4924
+ /** @param {() => unknown} tag_fn */
4925
+ function validate_dynamic_element_tag(tag_fn) {
4926
+ const tag = tag_fn();
4927
+ const is_string = typeof tag === 'string';
4928
+ if (tag && !is_string) {
4929
+ svelte_element_invalid_this_value();
4930
+ }
4931
+ }
4932
+
4933
+ /**
4934
+ * @template {() => unknown} T
4935
+ * @param {T} fn
4936
+ */
4937
+ function prevent_snippet_stringification(fn) {
4938
+ fn.toString = () => {
4939
+ snippet_without_render_tag();
4940
+ return '';
4941
+ };
4942
+ return fn;
4943
+ }
4944
+
4421
4945
  /** @import { Snippet } from 'svelte' */
4422
4946
  /** @import { Effect, TemplateNode } from '#client' */
4423
4947
  /** @import { Getters } from '#shared' */
@@ -4455,8 +4979,31 @@
4455
4979
  }
4456
4980
  }
4457
4981
 
4458
- /** @import { Effect, TemplateNode } from '#client' */
4459
-
4982
+ /**
4983
+ * In development, wrap the snippet function so that it passes validation, and so that the
4984
+ * correct component context is set for ownership checks
4985
+ * @param {any} component
4986
+ * @param {(node: TemplateNode, ...args: any[]) => void} fn
4987
+ */
4988
+ function wrap_snippet(component, fn) {
4989
+ const snippet = (/** @type {TemplateNode} */ node, /** @type {any[]} */ ...args) => {
4990
+ var previous_component_function = dev_current_component_function;
4991
+ set_dev_current_component_function(component);
4992
+
4993
+ try {
4994
+ return fn(node, ...args);
4995
+ } finally {
4996
+ set_dev_current_component_function(previous_component_function);
4997
+ }
4998
+ };
4999
+
5000
+ prevent_snippet_stringification(snippet);
5001
+
5002
+ return snippet;
5003
+ }
5004
+
5005
+ /** @import { Effect, TemplateNode } from '#client' */
5006
+
4460
5007
  /**
4461
5008
  * @param {Comment | Element} node
4462
5009
  * @param {() => string} get_tag
@@ -5746,6 +6293,80 @@
5746
6293
  };
5747
6294
  }
5748
6295
 
6296
+ /**
6297
+ * @param {() => any} collection
6298
+ * @param {(item: any, index: number) => string} key_fn
6299
+ * @returns {void}
6300
+ */
6301
+ function validate_each_keys(collection, key_fn) {
6302
+ render_effect(() => {
6303
+ const keys = new Map();
6304
+ const maybe_array = collection();
6305
+ const array = is_array(maybe_array)
6306
+ ? maybe_array
6307
+ : maybe_array == null
6308
+ ? []
6309
+ : Array.from(maybe_array);
6310
+ const length = array.length;
6311
+ for (let i = 0; i < length; i++) {
6312
+ const key = key_fn(array[i], i);
6313
+ if (keys.has(key)) {
6314
+ String(keys.get(key));
6315
+
6316
+ /** @type {string | null} */
6317
+ let k = String(key);
6318
+ if (k.startsWith('[object ')) k = null;
6319
+
6320
+ each_key_duplicate();
6321
+ }
6322
+ keys.set(key, i);
6323
+ }
6324
+ });
6325
+ }
6326
+
6327
+ /**
6328
+ * @param {string} binding
6329
+ * @param {() => Record<string, any>} get_object
6330
+ * @param {() => string} get_property
6331
+ * @param {number} line
6332
+ * @param {number} column
6333
+ */
6334
+ function validate_binding(binding, get_object, get_property, line, column) {
6335
+ var warned = false;
6336
+
6337
+ dev_current_component_function?.[FILENAME];
6338
+
6339
+ render_effect(() => {
6340
+ if (warned) return;
6341
+
6342
+ var [object, is_store_sub] = capture_store_binding(get_object);
6343
+
6344
+ if (is_store_sub) return;
6345
+
6346
+ var property = get_property();
6347
+
6348
+ var ran = false;
6349
+
6350
+ // by making the (possibly false, but it would be an extreme edge case) assumption
6351
+ // that a getter has a corresponding setter, we can determine if a property is
6352
+ // reactive by seeing if this effect has dependencies
6353
+ var effect = render_effect(() => {
6354
+ if (ran) return;
6355
+
6356
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions
6357
+ object[property];
6358
+ });
6359
+
6360
+ ran = true;
6361
+
6362
+ if (effect.deps === null) {
6363
+ binding_property_non_reactive();
6364
+
6365
+ warned = true;
6366
+ }
6367
+ });
6368
+ }
6369
+
5749
6370
  /** @import { ComponentConstructorOptions, ComponentType, SvelteComponent, Component } from 'svelte' */
5750
6371
 
5751
6372
  /**
@@ -6359,9 +6980,12 @@
6359
6980
  }
6360
6981
  }
6361
6982
 
6362
- var root$o = template(`<div></div>`);
6983
+ Icon[FILENAME] = 'src/sdg/bases/Icon/Icon.svelte';
6984
+
6985
+ var root$o = add_locations(template(`<div></div>`), Icon[FILENAME], [[16, 0]]);
6363
6986
 
6364
6987
  function Icon($$anchor, $$props) {
6988
+ check_target(new.target);
6365
6989
  push($$props, true);
6366
6990
 
6367
6991
  let type = prop($$props, 'type', 7),
@@ -6372,22 +6996,24 @@
6372
6996
  height = prop($$props, 'height', 7, 'auto'),
6373
6997
  src = prop($$props, 'src', 7, ''),
6374
6998
  rotate = prop($$props, 'rotate', 7, 0),
6375
- rest = rest_props($$props, [
6376
- '$$slots',
6377
- '$$events',
6378
- '$$legacy',
6379
- '$$host',
6380
- 'type',
6381
- 'label',
6382
- 'size',
6383
- 'color',
6384
- 'width',
6385
- 'height',
6386
- 'src',
6387
- 'rotate'
6388
- ]);
6389
-
6390
- let attributes = user_derived(() => width() === 'auto' ? { 'data-img-size': size() } : {});
6999
+ rest = rest_props(
7000
+ $$props,
7001
+ [
7002
+ '$$slots',
7003
+ '$$events',
7004
+ '$$legacy',
7005
+ '$$host',
7006
+ 'type',
7007
+ 'label',
7008
+ 'size',
7009
+ 'color',
7010
+ 'width',
7011
+ 'height',
7012
+ 'src',
7013
+ 'rotate'
7014
+ ]);
7015
+
7016
+ let attributes = user_derived(() => strict_equals(width(), 'auto') ? { 'data-img-size': size() } : {});
6391
7017
  var div = root$o();
6392
7018
  let attributes_1;
6393
7019
 
@@ -6466,7 +7092,8 @@
6466
7092
  set rotate($$value = 0) {
6467
7093
  rotate($$value);
6468
7094
  flushSync();
6469
- }
7095
+ },
7096
+ ...legacy_api()
6470
7097
  });
6471
7098
  }
6472
7099
 
@@ -6487,12 +7114,24 @@
6487
7114
  true
6488
7115
  );
6489
7116
 
6490
- var root$n = template(`<div tabindex="0"><div class="icon-container"><div class="qc-icon"><!></div></div> <div class="content-container"><div class="content"><!> <!> <!></div></div></div>`);
7117
+ Notice[FILENAME] = 'src/sdg/components/Notice/Notice.svelte';
7118
+
7119
+ var root$n = add_locations(template(`<div tabindex="0"><div class="icon-container"><div class="qc-icon"><!></div></div> <div class="content-container"><div class="content"><!> <!> <!></div></div></div>`), Notice[FILENAME], [
7120
+ [
7121
+ 57,
7122
+ 0,
7123
+ [
7124
+ [60, 2, [[61, 4]]],
7125
+ [69, 2, [[70, 4]]]
7126
+ ]
7127
+ ]
7128
+ ]);
6491
7129
 
6492
7130
  function Notice($$anchor, $$props) {
7131
+ check_target(new.target);
6493
7132
  push($$props, true);
6494
7133
 
6495
- const isFr = Utils.getPageLanguage() === 'fr';
7134
+ const isFr = strict_equals(Utils.getPageLanguage(), 'fr');
6496
7135
  const defaultHeader = 'h2';
6497
7136
  const defaultType = 'information';
6498
7137
 
@@ -6515,7 +7154,7 @@
6515
7154
  const types = Object.keys(typesDescriptions);
6516
7155
  const usedType = types.includes(type()) ? type() : defaultType;
6517
7156
  const usedHeader = header().match(/h[1-6]/) ? header() : defaultHeader;
6518
- const role = usedType === "success" ? "status" : usedType === "error" ? "alert" : null;
7157
+ const role = strict_equals(usedType, "success") ? "status" : strict_equals(usedType, "error") ? "alert" : null;
6519
7158
  let noticeElement = state(null);
6520
7159
 
6521
7160
  user_effect(() => {
@@ -6528,7 +7167,7 @@
6528
7167
  }
6529
7168
  });
6530
7169
 
6531
- const shouldUseIcon = usedType === "advice" || usedType === "note";
7170
+ const shouldUseIcon = strict_equals(usedType, "advice") || strict_equals(usedType, "note");
6532
7171
  // Si le type est "advice" ou "note", on force "neutral" (le gris), sinon on garde le type normal
6533
7172
  const computedType = shouldUseIcon ? "neutral" : usedType;
6534
7173
  const iconType = shouldUseIcon ? icon() ?? "note" : usedType;
@@ -6557,19 +7196,26 @@
6557
7196
  var fragment = comment();
6558
7197
  var node_3 = first_child(fragment);
6559
7198
 
6560
- element(node_3, () => usedHeader, false, ($$element, $$anchor) => {
6561
- var fragment_1 = comment();
6562
- var node_4 = first_child(fragment_1);
7199
+ validate_void_dynamic_element(() => usedHeader);
7200
+ validate_dynamic_element_tag(() => usedHeader);
6563
7201
 
6564
- html(node_4, title);
6565
- append($$anchor, fragment_1);
6566
- });
7202
+ element(
7203
+ node_3,
7204
+ () => usedHeader,
7205
+ false,
7206
+ ($$element, $$anchor) => {
7207
+ var fragment_1 = comment();
7208
+ var node_4 = first_child(fragment_1);
7209
+
7210
+ html(node_4, title);
7211
+ append($$anchor, fragment_1);
7212
+ });
6567
7213
 
6568
7214
  append($$anchor, fragment);
6569
7215
  };
6570
7216
 
6571
7217
  if_block(node_2, ($$render) => {
6572
- if (title() && title() !== "") $$render(consequent);
7218
+ if (title() && strict_equals(title(), "", false)) $$render(consequent);
6573
7219
  });
6574
7220
  }
6575
7221
 
@@ -6628,7 +7274,8 @@
6628
7274
  set slotContent($$value) {
6629
7275
  slotContent($$value);
6630
7276
  flushSync();
6631
- }
7277
+ },
7278
+ ...legacy_api()
6632
7279
  });
6633
7280
  }
6634
7281
 
@@ -6647,9 +7294,12 @@
6647
7294
  true
6648
7295
  );
6649
7296
 
6650
- var root$m = template(`<!> <link rel="stylesheet">`, 1);
7297
+ NoticeWC[FILENAME] = 'src/sdg/components/Notice/NoticeWC.svelte';
7298
+
7299
+ var root$m = add_locations(template(`<!> <link rel="stylesheet">`, 1), NoticeWC[FILENAME], [[27, 0]]);
6651
7300
 
6652
7301
  function NoticeWC($$anchor, $$props) {
7302
+ check_target(new.target);
6653
7303
  push($$props, true);
6654
7304
 
6655
7305
  const props = rest_props($$props, ['$$slots', '$$events', '$$legacy', '$$host']);
@@ -6657,13 +7307,15 @@
6657
7307
  var node = first_child(fragment);
6658
7308
 
6659
7309
  {
6660
- const slotContent = ($$anchor) => {
7310
+ const slotContent = wrap_snippet(NoticeWC, function ($$anchor) {
7311
+ validate_snippet_args(...arguments);
7312
+
6661
7313
  var fragment_1 = comment();
6662
7314
  var node_1 = first_child(fragment_1);
6663
7315
 
6664
- slot(node_1, $$props, 'default', {});
7316
+ slot(node_1, $$props, 'default', {}, null);
6665
7317
  append($$anchor, fragment_1);
6666
- };
7318
+ });
6667
7319
 
6668
7320
  Notice(node, spread_props(() => props, { slotContent, $$slots: { slotContent: true } }));
6669
7321
  }
@@ -6672,7 +7324,7 @@
6672
7324
 
6673
7325
  template_effect(() => set_attribute(link, 'href', Utils.cssPath));
6674
7326
  append($$anchor, fragment);
6675
- pop();
7327
+ return pop({ ...legacy_api() });
6676
7328
  }
6677
7329
 
6678
7330
  customElements.define('qc-notice', create_custom_element(
@@ -6689,8 +7341,10 @@
6689
7341
  true
6690
7342
  ));
6691
7343
 
6692
- var root_2$8 = template(`<div class="title"><a> </a></div>`);
6693
- var root_3$3 = template(`<div class="go-to-content"><a> </a></div>`);
7344
+ PivHeader[FILENAME] = 'src/sdg/components/PivHeader/PivHeader.svelte';
7345
+
7346
+ var root_2$8 = add_locations(template(`<div class="title"><a> </a></div>`), PivHeader[FILENAME], [[71, 10, [[72, 14]]]]);
7347
+ var root_3$3 = add_locations(template(`<div class="go-to-content"><a> </a></div>`), PivHeader[FILENAME], [[63, 6, [[64, 8]]]]);
6694
7348
 
6695
7349
  var on_click$3 = (evt, displaySearchForm, focusOnSearchInput) => {
6696
7350
  evt.preventDefault();
@@ -6701,14 +7355,38 @@
6701
7355
  });
6702
7356
  };
6703
7357
 
6704
- var root_4$4 = template(`<a class="qc-search" href="/" role="button"><span> </span></a>`);
6705
- var root_8 = template(`<li><a> </a></li>`);
6706
- var root_9 = template(`<li><a> </a></li>`);
6707
- var root_7 = template(`<nav><ul><!> <!></ul></nav>`);
6708
- var root_10 = template(`<div class="search-zone"><!></div>`);
6709
- var root$l = template(`<div role="banner" class="qc-piv-header qc-component"><div><!> <div class="piv-top"><a class="logo" rel="noreferrer"><div role="img"></div></a> <!> <div class="right-section"><!> <div class="links"><!></div></div></div> <!> <div class="piv-bottom"><!></div></div></div>`);
7358
+ var root_4$4 = add_locations(template(`<a class="qc-search" href="/" role="button"><span> </span></a>`), PivHeader[FILENAME], [[91, 10, [[102, 12]]]]);
7359
+ var root_8 = add_locations(template(`<li><a> </a></li>`), PivHeader[FILENAME], [[114, 32, [[114, 36]]]]);
7360
+ var root_9 = add_locations(template(`<li><a> </a></li>`), PivHeader[FILENAME], [[117, 32, [[117, 36]]]]);
7361
+ var root_7 = add_locations(template(`<nav><ul><!> <!></ul></nav>`), PivHeader[FILENAME], [[111, 20, [[112, 24]]]]);
7362
+ var root_10 = add_locations(template(`<div class="search-zone"><!></div>`), PivHeader[FILENAME], [[130, 10]]);
7363
+
7364
+ var root$l = add_locations(template(`<div role="banner" class="qc-piv-header qc-component"><div><!> <div class="piv-top"><a class="logo" rel="noreferrer"><div role="img"></div></a> <!> <div class="right-section"><!> <div class="links"><!></div></div></div> <!> <div class="piv-bottom"><!></div></div></div>`), PivHeader[FILENAME], [
7365
+ [
7366
+ 57,
7367
+ 0,
7368
+ [
7369
+ [
7370
+ 61,
7371
+ 2,
7372
+ [
7373
+ [
7374
+ 78,
7375
+ 6,
7376
+ [
7377
+ [80, 8, [[85, 16]]],
7378
+ [89, 6, [[105, 8]]]
7379
+ ]
7380
+ ],
7381
+ [128, 6]
7382
+ ]
7383
+ ]
7384
+ ]
7385
+ ]
7386
+ ]);
6710
7387
 
6711
7388
  function PivHeader($$anchor, $$props) {
7389
+ check_target(new.target);
6712
7390
  push($$props, true);
6713
7391
 
6714
7392
  const lang = Utils.getPageLanguage();
@@ -6717,19 +7395,19 @@
6717
7395
  logoUrl = prop($$props, 'logoUrl', 7, '/'),
6718
7396
  fullWidth = prop($$props, 'fullWidth', 7, 'false'),
6719
7397
  logoSrc = prop($$props, 'logoSrc', 23, () => Utils.imagesRelativePath + 'QUEBEC_blanc.svg'),
6720
- logoAlt = prop($$props, 'logoAlt', 7, lang === 'fr' ? 'Logo du gouvernement du Québec' : 'Logo of government of Québec'),
7398
+ logoAlt = prop($$props, 'logoAlt', 23, () => strict_equals(lang, 'fr') ? 'Logo du gouvernement du Québec' : 'Logo of government of Québec'),
6721
7399
  titleUrl = prop($$props, 'titleUrl', 7, '/'),
6722
7400
  titleText = prop($$props, 'titleText', 7, ''),
6723
- joinUsText = prop($$props, 'joinUsText', 7, lang === 'fr' ? 'Nous joindre' : 'Contact us'),
7401
+ joinUsText = prop($$props, 'joinUsText', 23, () => strict_equals(lang, 'fr') ? 'Nous joindre' : 'Contact us'),
6724
7402
  joinUsUrl = prop($$props, 'joinUsUrl', 7, ''),
6725
- altLanguageText = prop($$props, 'altLanguageText', 7, lang === 'fr' ? 'English' : 'Français'),
7403
+ altLanguageText = prop($$props, 'altLanguageText', 23, () => strict_equals(lang, 'fr') ? 'English' : 'Français'),
6726
7404
  altLanguageUrl = prop($$props, 'altLanguageUrl', 7, ''),
6727
- linksLabel = prop($$props, 'linksLabel', 7, lang === 'fr' ? 'Navigation PIV' : 'PIV navigation'),
7405
+ linksLabel = prop($$props, 'linksLabel', 23, () => strict_equals(lang, 'fr') ? 'Navigation PIV' : 'PIV navigation'),
6728
7406
  goToContent = prop($$props, 'goToContent', 7, 'true'),
6729
7407
  goToContentAnchor = prop($$props, 'goToContentAnchor', 7, '#main'),
6730
- goToContentText = prop($$props, 'goToContentText', 7, lang === 'fr' ? 'Passer au contenu' : 'Skip to content'),
6731
- displaySearchText = prop($$props, 'displaySearchText', 7, lang === 'fr' ? 'Cliquer pour faire une recherche' : 'Click to search'),
6732
- hideSearchText = prop($$props, 'hideSearchText', 7, lang === 'fr' ? 'Masquer la barre de recherche' : 'Hide search bar'),
7408
+ goToContentText = prop($$props, 'goToContentText', 23, () => strict_equals(lang, 'fr') ? 'Passer au contenu' : 'Skip to content'),
7409
+ displaySearchText = prop($$props, 'displaySearchText', 23, () => strict_equals(lang, 'fr') ? 'Cliquer pour faire une recherche' : 'Click to search'),
7410
+ hideSearchText = prop($$props, 'hideSearchText', 23, () => strict_equals(lang, 'fr') ? 'Masquer la barre de recherche' : 'Hide search bar'),
6733
7411
  enableSearch = prop($$props, 'enableSearch', 7, 'false'),
6734
7412
  showSearch = prop($$props, 'showSearch', 7, 'false'),
6735
7413
  linksSlot = prop($$props, 'linksSlot', 7),
@@ -6749,9 +7427,9 @@
6749
7427
  }
6750
7428
 
6751
7429
  onMount(() => {
6752
- set(containerClass, get(containerClass) + (fullWidth() === 'true' ? '-fluid' : ''));
7430
+ set(containerClass, get(containerClass) + (strict_equals(fullWidth(), 'true') ? '-fluid' : ''));
6753
7431
 
6754
- if (showSearch() === 'true') {
7432
+ if (strict_equals(showSearch(), 'true')) {
6755
7433
  enableSearch('true');
6756
7434
  set(displaySearchForm, true);
6757
7435
  }
@@ -6761,7 +7439,9 @@
6761
7439
  var div_1 = child(div);
6762
7440
 
6763
7441
  {
6764
- const title = ($$anchor) => {
7442
+ const title = wrap_snippet(PivHeader, function ($$anchor) {
7443
+ validate_snippet_args(...arguments);
7444
+
6765
7445
  var fragment = comment();
6766
7446
  var node = first_child(fragment);
6767
7447
 
@@ -6788,7 +7468,7 @@
6788
7468
  }
6789
7469
 
6790
7470
  append($$anchor, fragment);
6791
- };
7471
+ });
6792
7472
 
6793
7473
  var node_1 = child(div_1);
6794
7474
 
@@ -6810,7 +7490,7 @@
6810
7490
  };
6811
7491
 
6812
7492
  if_block(node_1, ($$render) => {
6813
- if (goToContent() === 'true') $$render(consequent_1);
7493
+ if (strict_equals(goToContent(), 'true')) $$render(consequent_1);
6814
7494
  });
6815
7495
  }
6816
7496
 
@@ -7162,7 +7842,8 @@
7162
7842
  set slots($$value = false) {
7163
7843
  slots($$value);
7164
7844
  flushSync();
7165
- }
7845
+ },
7846
+ ...legacy_api()
7166
7847
  });
7167
7848
  }
7168
7849
 
@@ -7199,41 +7880,51 @@
7199
7880
  true
7200
7881
  );
7201
7882
 
7202
- var root$k = template(`<!> <link rel="stylesheet">`, 1);
7883
+ PivHeaderWC[FILENAME] = 'src/sdg/components/PivHeader/PivHeaderWC.svelte';
7884
+
7885
+ var root$k = add_locations(template(`<!> <link rel="stylesheet">`, 1), PivHeaderWC[FILENAME], [[56, 0]]);
7203
7886
 
7204
7887
  function PivHeaderWC($$anchor, $$props) {
7888
+ check_target(new.target);
7889
+
7205
7890
  const $$slots = sanitize_slots($$props);
7206
7891
 
7207
7892
  push($$props, true);
7208
7893
 
7209
7894
  let self = prop($$props, 'self', 7),
7210
- props = rest_props($$props, [
7211
- '$$slots',
7212
- '$$events',
7213
- '$$legacy',
7214
- '$$host',
7215
- 'self'
7216
- ]);
7895
+ props = rest_props(
7896
+ $$props,
7897
+ [
7898
+ '$$slots',
7899
+ '$$events',
7900
+ '$$legacy',
7901
+ '$$host',
7902
+ 'self'
7903
+ ]);
7217
7904
 
7218
7905
  var fragment = root$k();
7219
7906
  var node = first_child(fragment);
7220
7907
 
7221
7908
  {
7222
- const linksSlot = ($$anchor) => {
7909
+ const linksSlot = wrap_snippet(PivHeaderWC, function ($$anchor) {
7910
+ validate_snippet_args(...arguments);
7911
+
7223
7912
  var fragment_1 = comment();
7224
7913
  var node_1 = first_child(fragment_1);
7225
7914
 
7226
- slot(node_1, $$props, 'links', {});
7915
+ slot(node_1, $$props, 'links', {}, null);
7227
7916
  append($$anchor, fragment_1);
7228
- };
7917
+ });
7918
+
7919
+ const searchZoneSlot = wrap_snippet(PivHeaderWC, function ($$anchor) {
7920
+ validate_snippet_args(...arguments);
7229
7921
 
7230
- const searchZoneSlot = ($$anchor) => {
7231
7922
  var fragment_2 = comment();
7232
7923
  var node_2 = first_child(fragment_2);
7233
7924
 
7234
- slot(node_2, $$props, 'search-zone', {});
7925
+ slot(node_2, $$props, 'search-zone', {}, null);
7235
7926
  append($$anchor, fragment_2);
7236
- };
7927
+ });
7237
7928
 
7238
7929
  PivHeader(node, spread_props(
7239
7930
  {
@@ -7263,7 +7954,8 @@
7263
7954
  set self($$value) {
7264
7955
  self($$value);
7265
7956
  flushSync();
7266
- }
7957
+ },
7958
+ ...legacy_api()
7267
7959
  });
7268
7960
  }
7269
7961
 
@@ -7305,11 +7997,14 @@
7305
7997
  }
7306
7998
  ));
7307
7999
 
7308
- var root_2$7 = template(`<img>`);
7309
- var root_4$3 = template(`<a> </a>`);
7310
- var root$j = template(`<div class="qc-piv-footer qc-container-fluid"><!> <a class="logo"></a> <span class="copyright"><!></span></div>`);
8000
+ PivFooter[FILENAME] = 'src/sdg/components/PivFooter/PivFooter.svelte';
8001
+
8002
+ var root_2$7 = add_locations(template(`<img>`), PivFooter[FILENAME], [[34, 12]]);
8003
+ var root_4$3 = add_locations(template(`<a> </a>`), PivFooter[FILENAME], [[45, 12]]);
8004
+ var root$j = add_locations(template(`<div class="qc-piv-footer qc-container-fluid"><!> <a class="logo"></a> <span class="copyright"><!></span></div>`), PivFooter[FILENAME], [[20, 0, [[25, 4], [41, 4]]]]);
7311
8005
 
7312
8006
  function PivFooter($$anchor, $$props) {
8007
+ check_target(new.target);
7313
8008
  push($$props, true);
7314
8009
 
7315
8010
  const lang = Utils.getPageLanguage();
@@ -7317,10 +8012,10 @@
7317
8012
  let logoUrl = prop($$props, 'logoUrl', 7, '/'),
7318
8013
  logoSrc = prop($$props, 'logoSrc', 23, () => Utils.imagesRelativePath + '/QUEBEC_couleur.svg'),
7319
8014
  logoSrcDarkTheme = prop($$props, 'logoSrcDarkTheme', 23, () => Utils.imagesRelativePath + '/QUEBEC_blanc.svg'),
7320
- logoAlt = prop($$props, 'logoAlt', 7, lang === 'fr' ? 'Logo du gouvernement du Québec' : 'Logo of the Quebec government'),
8015
+ logoAlt = prop($$props, 'logoAlt', 23, () => strict_equals(lang, 'fr') ? 'Logo du gouvernement du Québec' : 'Logo of the Quebec government'),
7321
8016
  logoWidth = prop($$props, 'logoWidth', 7, 139),
7322
8017
  logoHeight = prop($$props, 'logoHeight', 7, 50),
7323
- copyrightUrl = prop($$props, 'copyrightUrl', 7, lang === 'fr' ? 'https://www.quebec.ca/droit-auteur' : 'https://www.quebec.ca/en/copyright'),
8018
+ copyrightUrl = prop($$props, 'copyrightUrl', 23, () => strict_equals(lang, 'fr') ? 'https://www.quebec.ca/droit-auteur' : 'https://www.quebec.ca/en/copyright'),
7324
8019
  copyrightText = prop($$props, 'copyrightText', 23, () => '© Gouvernement du Québec, ' + new Date().getFullYear()),
7325
8020
  mainSlot = prop($$props, 'mainSlot', 7),
7326
8021
  copyrightSlot = prop($$props, 'copyrightSlot', 7),
@@ -7356,7 +8051,13 @@
7356
8051
  index,
7357
8052
  ($$anchor, $$item) => {
7358
8053
  let theme = () => get($$item)[0];
8054
+
8055
+ theme();
8056
+
7359
8057
  let src = () => get($$item)[1];
8058
+
8059
+ src();
8060
+
7360
8061
  var img = root_2$7();
7361
8062
 
7362
8063
  template_effect(() => {
@@ -7503,7 +8204,8 @@
7503
8204
  set slots($$value = {}) {
7504
8205
  slots($$value);
7505
8206
  flushSync();
7506
- }
8207
+ },
8208
+ ...legacy_api()
7507
8209
  });
7508
8210
  }
7509
8211
 
@@ -7527,41 +8229,51 @@
7527
8229
  true
7528
8230
  );
7529
8231
 
7530
- var root$i = template(`<!> <link rel="stylesheet">`, 1);
8232
+ PivFooterWC[FILENAME] = 'src/sdg/components/PivFooter/PivFooterWC.svelte';
8233
+
8234
+ var root$i = add_locations(template(`<!> <link rel="stylesheet">`, 1), PivFooterWC[FILENAME], [[44, 0]]);
7531
8235
 
7532
8236
  function PivFooterWC($$anchor, $$props) {
8237
+ check_target(new.target);
8238
+
7533
8239
  const $$slots = sanitize_slots($$props);
7534
8240
 
7535
8241
  push($$props, true);
7536
8242
 
7537
8243
  let self = prop($$props, 'self', 7),
7538
- props = rest_props($$props, [
7539
- '$$slots',
7540
- '$$events',
7541
- '$$legacy',
7542
- '$$host',
7543
- 'self'
7544
- ]);
8244
+ props = rest_props(
8245
+ $$props,
8246
+ [
8247
+ '$$slots',
8248
+ '$$events',
8249
+ '$$legacy',
8250
+ '$$host',
8251
+ 'self'
8252
+ ]);
7545
8253
 
7546
8254
  var fragment = root$i();
7547
8255
  var node = first_child(fragment);
7548
8256
 
7549
8257
  {
7550
- const mainSlot = ($$anchor) => {
8258
+ const mainSlot = wrap_snippet(PivFooterWC, function ($$anchor) {
8259
+ validate_snippet_args(...arguments);
8260
+
7551
8261
  var fragment_1 = comment();
7552
8262
  var node_1 = first_child(fragment_1);
7553
8263
 
7554
- slot(node_1, $$props, 'default', {});
8264
+ slot(node_1, $$props, 'default', {}, null);
7555
8265
  append($$anchor, fragment_1);
7556
- };
8266
+ });
8267
+
8268
+ const copyrightSlot = wrap_snippet(PivFooterWC, function ($$anchor) {
8269
+ validate_snippet_args(...arguments);
7557
8270
 
7558
- const copyrightSlot = ($$anchor) => {
7559
8271
  var fragment_2 = comment();
7560
8272
  var node_2 = first_child(fragment_2);
7561
8273
 
7562
- slot(node_2, $$props, 'copyright', {});
8274
+ slot(node_2, $$props, 'copyright', {}, null);
7563
8275
  append($$anchor, fragment_2);
7564
- };
8276
+ });
7565
8277
 
7566
8278
  PivFooter(node, spread_props(() => props, {
7567
8279
  slots: $$slots,
@@ -7583,7 +8295,8 @@
7583
8295
  set self($$value) {
7584
8296
  self($$value);
7585
8297
  flushSync();
7586
- }
8298
+ },
8299
+ ...legacy_api()
7587
8300
  });
7588
8301
  }
7589
8302
 
@@ -7615,9 +8328,12 @@
7615
8328
  }
7616
8329
  ));
7617
8330
 
7618
- var root$h = template(`<button><!></button>`);
8331
+ IconButton[FILENAME] = 'src/sdg/components/IconButton/IconButton.svelte';
8332
+
8333
+ var root$h = add_locations(template(`<button><!></button>`), IconButton[FILENAME], [[16, 0]]);
7619
8334
 
7620
8335
  function IconButton($$anchor, $$props) {
8336
+ check_target(new.target);
7621
8337
  push($$props, true);
7622
8338
 
7623
8339
  const size = prop($$props, 'size', 7, 'xl'),
@@ -7626,18 +8342,20 @@
7626
8342
  iconSize = prop($$props, 'iconSize', 7),
7627
8343
  iconColor = prop($$props, 'iconColor', 7),
7628
8344
  className = prop($$props, 'class', 7, ''),
7629
- rest = rest_props($$props, [
7630
- '$$slots',
7631
- '$$events',
7632
- '$$legacy',
7633
- '$$host',
7634
- 'size',
7635
- 'label',
7636
- 'icon',
7637
- 'iconSize',
7638
- 'iconColor',
7639
- 'class'
7640
- ]);
8345
+ rest = rest_props(
8346
+ $$props,
8347
+ [
8348
+ '$$slots',
8349
+ '$$events',
8350
+ '$$legacy',
8351
+ '$$host',
8352
+ 'size',
8353
+ 'label',
8354
+ 'icon',
8355
+ 'iconSize',
8356
+ 'iconColor',
8357
+ 'class'
8358
+ ]);
7641
8359
 
7642
8360
  var button = root$h();
7643
8361
  let attributes;
@@ -7719,7 +8437,8 @@
7719
8437
  set class($$value = '') {
7720
8438
  className($$value);
7721
8439
  flushSync();
7722
- }
8440
+ },
8441
+ ...legacy_api()
7723
8442
  });
7724
8443
  }
7725
8444
 
@@ -7738,9 +8457,24 @@
7738
8457
  true
7739
8458
  );
7740
8459
 
7741
- var root_1$7 = template(`<div role="alert"><div><div class="qc-general-alert-elements"><!> <div class="qc-alert-content"><!> <!></div> <!></div></div></div>`);
8460
+ Alert[FILENAME] = 'src/sdg/components/Alert/Alert.svelte';
8461
+
8462
+ var root_1$7 = add_locations(template(`<div role="alert"><div><div class="qc-general-alert-elements"><!> <div class="qc-alert-content"><!> <!></div> <!></div></div></div>`), Alert[FILENAME], [
8463
+ [
8464
+ 40,
8465
+ 4,
8466
+ [
8467
+ [
8468
+ 43,
8469
+ 8,
8470
+ [[44, 12, [[50, 16]]]]
8471
+ ]
8472
+ ]
8473
+ ]
8474
+ ]);
7742
8475
 
7743
8476
  function Alert($$anchor, $$props) {
8477
+ check_target(new.target);
7744
8478
  push($$props, true);
7745
8479
 
7746
8480
  let type = prop($$props, 'type', 7, "general"),
@@ -7751,13 +8485,13 @@
7751
8485
  slotContent = prop($$props, 'slotContent', 7);
7752
8486
 
7753
8487
  const language = Utils.getPageLanguage();
7754
- const typeClass = type() !== "" ? type() : 'general';
7755
- const closeLabel = language === 'fr' ? "Fermer l’alerte" : "Close l’alerte";
7756
- const warningLabel = language === 'fr' ? "Information d'importance élevée" : "Information of high importance";
7757
- const generalLabel = language === 'fr' ? "Information importante" : "Important information";
7758
- const label = type() === 'general' ? generalLabel : warningLabel;
8488
+ const typeClass = strict_equals(type(), "", false) ? type() : 'general';
8489
+ const closeLabel = strict_equals(language, 'fr') ? "Fermer l’alerte" : "Close l’alerte";
8490
+ const warningLabel = strict_equals(language, 'fr') ? "Information d'importance élevée" : "Information of high importance";
8491
+ const generalLabel = strict_equals(language, 'fr') ? "Information importante" : "Important information";
8492
+ const label = strict_equals(type(), 'general') ? generalLabel : warningLabel;
7759
8493
  let rootElement = state(null);
7760
- let containerClass = "qc-container" + (fullWidth() === 'true' ? '-fluid' : '');
8494
+ let containerClass = "qc-container" + (strict_equals(fullWidth(), 'true') ? '-fluid' : '');
7761
8495
 
7762
8496
  function hideAlert() {
7763
8497
  hide("true");
@@ -7779,8 +8513,8 @@
7779
8513
 
7780
8514
  var div_2 = child(div_1);
7781
8515
  var node_1 = child(div_2);
7782
- const expression = user_derived(() => type() === 'warning' ? 'warning' : 'information');
7783
- const expression_1 = user_derived(() => type() === 'general' ? 'blue-piv' : 'yellow-dark');
8516
+ const expression = user_derived(() => strict_equals(type(), 'warning') ? 'warning' : 'information');
8517
+ const expression_1 = user_derived(() => strict_equals(type(), 'general') ? 'blue-piv' : 'yellow-dark');
7784
8518
 
7785
8519
  Icon(node_1, {
7786
8520
  get type() {
@@ -7878,7 +8612,8 @@
7878
8612
  set slotContent($$value) {
7879
8613
  slotContent($$value);
7880
8614
  flushSync();
7881
- }
8615
+ },
8616
+ ...legacy_api()
7882
8617
  });
7883
8618
  }
7884
8619
 
@@ -7897,9 +8632,12 @@
7897
8632
  true
7898
8633
  );
7899
8634
 
7900
- var root$g = template(`<!> <link rel="stylesheet">`, 1);
8635
+ AlertWC[FILENAME] = 'src/sdg/components/Alert/AlertWC.svelte';
8636
+
8637
+ var root$g = add_locations(template(`<!> <link rel="stylesheet">`, 1), AlertWC[FILENAME], [[25, 0]]);
7901
8638
 
7902
8639
  function AlertWC($$anchor, $$props) {
8640
+ check_target(new.target);
7903
8641
  push($$props, true);
7904
8642
 
7905
8643
  const props = rest_props($$props, ['$$slots', '$$events', '$$legacy', '$$host']);
@@ -7912,7 +8650,7 @@
7912
8650
 
7913
8651
  template_effect(() => set_attribute(link, 'href', Utils.cssPath));
7914
8652
  append($$anchor, fragment);
7915
- pop();
8653
+ return pop({ ...legacy_api() });
7916
8654
  }
7917
8655
 
7918
8656
  customElements.define('qc-alert', create_custom_element(
@@ -7929,6 +8667,8 @@
7929
8667
  true
7930
8668
  ));
7931
8669
 
8670
+ ToTop[FILENAME] = 'src/sdg/components/ToTop/ToTop.svelte';
8671
+
7932
8672
  function handleEnterAndSpace(e, scrollToTop) {
7933
8673
  switch (e.code) {
7934
8674
  case 'Enter':
@@ -7940,17 +8680,18 @@
7940
8680
  }
7941
8681
 
7942
8682
  var on_click$2 = (e, scrollToTop) => scrollToTop(e);
7943
- var root$f = template(`<a href="#top"><!> <span> </span></a>`);
8683
+ var root$f = add_locations(template(`<a href="#top"><!> <span> </span></a>`), ToTop[FILENAME], [[67, 0, [[77, 3]]]]);
7944
8684
 
7945
8685
  function ToTop($$anchor, $$props) {
8686
+ check_target(new.target);
7946
8687
  push($$props, true);
7947
8688
 
7948
8689
  const lang = Utils.getPageLanguage();
7949
8690
 
7950
- const text = prop($$props, 'text', 7, lang === 'fr' ? "Retour en haut" : "Back to top"),
8691
+ const text = prop($$props, 'text', 23, () => strict_equals(lang, 'fr') ? "Retour en haut" : "Back to top"),
7951
8692
  demo = prop($$props, 'demo', 7, 'false');
7952
8693
 
7953
- let visible = state(demo() === 'true');
8694
+ let visible = state(proxy(strict_equals(demo(), 'true')));
7954
8695
  let lastVisible = setContext('visible', () => get(visible));
7955
8696
  let lastScrollY = 0;
7956
8697
  let minimumScrollHeight = 0;
@@ -8031,17 +8772,24 @@
8031
8772
  set demo($$value = 'false') {
8032
8773
  demo($$value);
8033
8774
  flushSync();
8034
- }
8775
+ },
8776
+ ...legacy_api()
8035
8777
  });
8036
8778
  }
8037
8779
 
8038
8780
  delegate(['click', 'keydown']);
8039
8781
  create_custom_element(ToTop, { text: {}, demo: {} }, [], [], true);
8040
8782
 
8783
+ ToTopWC[FILENAME] = 'src/sdg/components/ToTop/toTopWC.svelte';
8784
+
8041
8785
  function ToTopWC($$anchor, $$props) {
8786
+ check_target(new.target);
8787
+ push($$props, true);
8788
+
8042
8789
  const props = rest_props($$props, ['$$slots', '$$events', '$$legacy', '$$host']);
8043
8790
 
8044
8791
  ToTop($$anchor, spread_props(() => props));
8792
+ return pop({ ...legacy_api() });
8045
8793
  }
8046
8794
 
8047
8795
  customElements.define('qc-to-top', create_custom_element(
@@ -8055,12 +8803,15 @@
8055
8803
  false
8056
8804
  ));
8057
8805
 
8058
- var root$e = template(`<span role="img" class="qc-ext-link-img"></span>`);
8806
+ ExternalLink[FILENAME] = 'src/sdg/components/ExternalLink/ExternalLink.svelte';
8807
+
8808
+ var root$e = add_locations(template(`<span role="img" class="qc-ext-link-img"></span>`), ExternalLink[FILENAME], [[89, 0]]);
8059
8809
 
8060
8810
  function ExternalLink($$anchor, $$props) {
8811
+ check_target(new.target);
8061
8812
  push($$props, true);
8062
8813
 
8063
- const externalIconAlt = prop($$props, 'externalIconAlt', 23, () => Utils.getPageLanguage() === 'fr' ? "Ce lien dirige vers un autre site." : "This link directs to another site.");
8814
+ const externalIconAlt = prop($$props, 'externalIconAlt', 23, () => strict_equals(Utils.getPageLanguage(), 'fr') ? "Ce lien dirige vers un autre site." : "This link directs to another site.");
8064
8815
  let imgElement = state(void 0);
8065
8816
 
8066
8817
  function createVisibleNodesTreeWalker() {
@@ -8074,7 +8825,7 @@
8074
8825
  const style = window.getComputedStyle(node);
8075
8826
 
8076
8827
  // Si l'élément est masqué par CSS (display ou visibility), on l'ignore
8077
- if (style.display === 'none' || style.visibility === 'hidden' || style.position === 'absolute') {
8828
+ if (strict_equals(style.display, 'none') || strict_equals(style.visibility, 'hidden') || strict_equals(style.position, 'absolute')) {
8078
8829
  return NodeFilter.FILTER_REJECT;
8079
8830
  }
8080
8831
  }
@@ -8151,47 +8902,59 @@
8151
8902
  ) {
8152
8903
  externalIconAlt($$value);
8153
8904
  flushSync();
8154
- }
8905
+ },
8906
+ ...legacy_api()
8155
8907
  });
8156
8908
  }
8157
8909
 
8158
8910
  create_custom_element(ExternalLink, { externalIconAlt: {} }, [], [], true);
8159
8911
 
8912
+ ExternalLinkWC[FILENAME] = 'src/sdg/components/ExternalLink/ExternalLinkWC.svelte';
8913
+
8160
8914
  function ExternalLinkWC($$anchor, $$props) {
8915
+ check_target(new.target);
8916
+ push($$props, true);
8917
+
8161
8918
  const props = rest_props($$props, ['$$slots', '$$events', '$$legacy', '$$host']);
8162
8919
 
8163
8920
  ExternalLink($$anchor, spread_props(() => props));
8921
+ return pop({ ...legacy_api() });
8164
8922
  }
8165
8923
 
8166
8924
  customElements.define('qc-external-link', create_custom_element(ExternalLinkWC, { externalIconAlt: { attribute: 'img-alt' } }, [], [], false));
8167
8925
 
8168
- var root$d = template(`<div><!> <input> <!></div>`);
8926
+ SearchInput[FILENAME] = 'src/sdg/components/SearchInput/SearchInput.svelte';
8927
+
8928
+ var root$d = add_locations(template(`<div><!> <input> <!></div>`), SearchInput[FILENAME], [[28, 0, [[39, 4]]]]);
8169
8929
 
8170
8930
  function SearchInput($$anchor, $$props) {
8931
+ check_target(new.target);
8171
8932
  push($$props, true);
8172
8933
 
8173
8934
  const lang = Utils.getPageLanguage();
8174
8935
 
8175
8936
  let value = prop($$props, 'value', 15, ''),
8176
- ariaLabel = prop($$props, 'ariaLabel', 7, lang === "fr" ? "Rechercher..." : "Search..."),
8177
- clearAriaLabel = prop($$props, 'clearAriaLabel', 7, lang === "fr" ? "Effacer le texte" : "Clear text"),
8937
+ ariaLabel = prop($$props, 'ariaLabel', 23, () => strict_equals(lang, "fr") ? "Rechercher..." : "Search..."),
8938
+ clearAriaLabel = prop($$props, 'clearAriaLabel', 23, () => strict_equals(lang, "fr") ? "Effacer le texte" : "Clear text"),
8178
8939
  leftIcon = prop($$props, 'leftIcon', 7, false),
8179
8940
  id = prop($$props, 'id', 23, () => `qc-search-input-${Math.random().toString(36).slice(2, 11)}`),
8180
- rest = rest_props($$props, [
8181
- '$$slots',
8182
- '$$events',
8183
- '$$legacy',
8184
- '$$host',
8185
- 'value',
8186
- 'ariaLabel',
8187
- 'clearAriaLabel',
8188
- 'leftIcon',
8189
- 'id'
8190
- ]);
8191
-
8192
- leftIcon(leftIcon() === true || leftIcon() === "true" || leftIcon() === "");
8193
-
8194
- const isDisabled = $$props.disabled === true || $$props.disabled === "true" || $$props.disabled === "";
8941
+ rest = rest_props(
8942
+ $$props,
8943
+ [
8944
+ '$$slots',
8945
+ '$$events',
8946
+ '$$legacy',
8947
+ '$$host',
8948
+ 'value',
8949
+ 'ariaLabel',
8950
+ 'clearAriaLabel',
8951
+ 'leftIcon',
8952
+ 'id'
8953
+ ]);
8954
+
8955
+ leftIcon(strict_equals(leftIcon(), true) || strict_equals(leftIcon(), "true") || strict_equals(leftIcon(), ""));
8956
+
8957
+ const isDisabled = strict_equals($$props.disabled, true) || strict_equals($$props.disabled, "true") || strict_equals($$props.disabled, "");
8195
8958
  let searchInput;
8196
8959
 
8197
8960
  function focus() {
@@ -8271,7 +9034,9 @@
8271
9034
  append($$anchor, div);
8272
9035
 
8273
9036
  return pop({
8274
- focus,
9037
+ get focus() {
9038
+ return focus;
9039
+ },
8275
9040
  get value() {
8276
9041
  return value();
8277
9042
  },
@@ -8312,7 +9077,8 @@
8312
9077
  ) {
8313
9078
  id($$value);
8314
9079
  flushSync();
8315
- }
9080
+ },
9081
+ ...legacy_api()
8316
9082
  });
8317
9083
  }
8318
9084
 
@@ -8330,31 +9096,41 @@
8330
9096
  true
8331
9097
  );
8332
9098
 
8333
- var root$c = template(`<div><!> <!></div>`);
9099
+ SearchBar[FILENAME] = 'src/sdg/components/SearchBar/SearchBar.svelte';
9100
+
9101
+ var root$c = add_locations(template(`<div><!> <!></div>`), SearchBar[FILENAME], [[37, 0]]);
8334
9102
 
8335
9103
  function SearchBar($$anchor, $$props) {
9104
+ check_target(new.target);
8336
9105
  push($$props, true);
8337
9106
 
9107
+ var $$ownership_validator = create_ownership_validator($$props);
8338
9108
  const lang = Utils.getPageLanguage();
8339
9109
 
8340
9110
  let value = prop($$props, 'value', 15, ''),
8341
9111
  name = prop($$props, 'name', 7, 'q'),
8342
9112
  pivBackground = prop($$props, 'pivBackground', 7, false),
8343
- rest = rest_props($$props, [
8344
- '$$slots',
8345
- '$$events',
8346
- '$$legacy',
8347
- '$$host',
8348
- 'value',
8349
- 'name',
8350
- 'pivBackground'
8351
- ]);
9113
+ rest = rest_props(
9114
+ $$props,
9115
+ [
9116
+ '$$slots',
9117
+ '$$events',
9118
+ '$$legacy',
9119
+ '$$host',
9120
+ 'value',
9121
+ 'name',
9122
+ 'pivBackground'
9123
+ ]);
8352
9124
 
8353
9125
  let defaultsAttributes = {
8354
9126
  input: {
8355
- "placeholder": lang === "fr" ? "Rechercher…" : "Search",
8356
- "aria-label": lang === "fr" ? "Rechercher…" : "Search"
8357
- }};
9127
+ "placeholder": strict_equals(lang, "fr") ? "Rechercher…" : "Search",
9128
+ "aria-label": strict_equals(lang, "fr") ? "Rechercher…" : "Search"
9129
+ },
9130
+ submit: {
9131
+ "aria-label": strict_equals(lang, "fr") ? "Lancer la recherche" : "Submit search"
9132
+ }
9133
+ };
8358
9134
 
8359
9135
  let inputProps = user_derived(() => ({
8360
9136
  ...defaultsAttributes.input,
@@ -8370,14 +9146,18 @@
8370
9146
  let classes;
8371
9147
  var node = child(div);
8372
9148
 
8373
- SearchInput(node, spread_props(() => get(inputProps), {
8374
- get value() {
8375
- return value();
8376
- },
8377
- set value($$value) {
8378
- value($$value);
8379
- }
8380
- }));
9149
+ {
9150
+ $$ownership_validator.binding('value', SearchInput, value);
9151
+
9152
+ SearchInput(node, spread_props(() => get(inputProps), {
9153
+ get value() {
9154
+ return value();
9155
+ },
9156
+ set value($$value) {
9157
+ value($$value);
9158
+ }
9159
+ }));
9160
+ }
8381
9161
 
8382
9162
  var node_1 = sibling(node, 2);
8383
9163
  const expression = user_derived(() => pivBackground() ? 'blue-piv' : 'background');
@@ -8423,16 +9203,23 @@
8423
9203
  set pivBackground($$value = false) {
8424
9204
  pivBackground($$value);
8425
9205
  flushSync();
8426
- }
9206
+ },
9207
+ ...legacy_api()
8427
9208
  });
8428
9209
  }
8429
9210
 
8430
9211
  create_custom_element(SearchBar, { value: {}, name: {}, pivBackground: {} }, [], [], true);
8431
9212
 
9213
+ SearchBarWC[FILENAME] = 'src/sdg/components/SearchBar/SearchBarWC.svelte';
9214
+
8432
9215
  function SearchBarWC($$anchor, $$props) {
9216
+ check_target(new.target);
9217
+ push($$props, true);
9218
+
8433
9219
  const props = rest_props($$props, ['$$slots', '$$events', '$$legacy', '$$host']);
8434
9220
 
8435
9221
  SearchBar($$anchor, spread_props(() => props));
9222
+ return pop({ ...legacy_api() });
8436
9223
  }
8437
9224
 
8438
9225
  customElements.define('qc-search-bar', create_custom_element(
@@ -8447,10 +9234,16 @@
8447
9234
  false
8448
9235
  ));
8449
9236
 
9237
+ SearchInputWC[FILENAME] = 'src/sdg/components/SearchInput/SearchInputWC.svelte';
9238
+
8450
9239
  function SearchInputWC($$anchor, $$props) {
9240
+ check_target(new.target);
9241
+ push($$props, true);
9242
+
8451
9243
  const props = rest_props($$props, ['$$slots', '$$events', '$$legacy', '$$host']);
8452
9244
 
8453
9245
  SearchInput($$anchor, spread_props(() => props));
9246
+ return pop({ ...legacy_api() });
8454
9247
  }
8455
9248
 
8456
9249
  customElements.define('qc-search-input', create_custom_element(
@@ -8466,10 +9259,16 @@
8466
9259
  false
8467
9260
  ));
8468
9261
 
9262
+ IconWC[FILENAME] = 'src/sdg/bases/Icon/IconWC.svelte';
9263
+
8469
9264
  function IconWC($$anchor, $$props) {
9265
+ check_target(new.target);
9266
+ push($$props, true);
9267
+
8470
9268
  const props = rest_props($$props, ['$$slots', '$$events', '$$legacy', '$$host']);
8471
9269
 
8472
9270
  Icon($$anchor, spread_props(() => props));
9271
+ return pop({ ...legacy_api() });
8473
9272
  }
8474
9273
 
8475
9274
  customElements.define('qc-icon', create_custom_element(
@@ -8489,10 +9288,16 @@
8489
9288
  false
8490
9289
  ));
8491
9290
 
9291
+ IconButtonWC[FILENAME] = 'src/sdg/components/IconButton/IconButtonWC.svelte';
9292
+
8492
9293
  function IconButtonWC($$anchor, $$props) {
9294
+ check_target(new.target);
9295
+ push($$props, true);
9296
+
8493
9297
  const props = rest_props($$props, ['$$slots', '$$events', '$$legacy', '$$host']);
8494
9298
 
8495
9299
  IconButton($$anchor, spread_props(() => props));
9300
+ return pop({ ...legacy_api() });
8496
9301
  }
8497
9302
 
8498
9303
  customElements.define('qc-icon-button', create_custom_element(
@@ -8509,10 +9314,13 @@
8509
9314
  false
8510
9315
  ));
8511
9316
 
8512
- var root_2$6 = template(`<!> <span><!></span>`, 1);
8513
- var root_1$6 = template(`<div role="alert"><!></div>`);
9317
+ FormError[FILENAME] = 'src/sdg/components/FormError/FormError.svelte';
9318
+
9319
+ var root_2$6 = add_locations(template(`<!> <span><!></span>`, 1), FormError[FILENAME], [[48, 8]]);
9320
+ var root_1$6 = add_locations(template(`<div role="alert"><!></div>`), FormError[FILENAME], [[35, 0]]);
8514
9321
 
8515
9322
  function FormError($$anchor, $$props) {
9323
+ check_target(new.target);
8516
9324
  push($$props, true);
8517
9325
 
8518
9326
  const lang = Utils.getPageLanguage();
@@ -8525,7 +9333,7 @@
8525
9333
  rootElement = prop($$props, 'rootElement', 15);
8526
9334
 
8527
9335
  let cleanLabel = user_derived(() => label().replace(/:\s*$/, '')),
8528
- defaultInvalidText = user_derived(() => label() ? lang === 'fr' ? `Le champ ${get(cleanLabel)} est obligatoire.` : `${get(cleanLabel)} field is required.` : lang === 'fr' ? `Ce champ est obligatoire.` : `This field is required.`);
9336
+ defaultInvalidText = user_derived(() => label() ? strict_equals(lang, 'fr') ? `Le champ ${get(cleanLabel)} est obligatoire.` : `${get(cleanLabel)} field is required.` : strict_equals(lang, 'fr') ? `Ce champ est obligatoire.` : `This field is required.`);
8529
9337
 
8530
9338
  onMount(() => {
8531
9339
  if (id()) return;
@@ -8624,7 +9432,8 @@
8624
9432
  set rootElement($$value) {
8625
9433
  rootElement($$value);
8626
9434
  flushSync();
8627
- }
9435
+ },
9436
+ ...legacy_api()
8628
9437
  });
8629
9438
  }
8630
9439
 
@@ -8643,10 +9452,13 @@
8643
9452
  true
8644
9453
  );
8645
9454
 
8646
- var root_1$5 = template(`<span class="qc-required" aria-hidden="true">*</span>`);
8647
- var root$b = template(`<!><!>`, 1);
9455
+ LabelText[FILENAME] = 'src/sdg/components/Label/LabelText.svelte';
9456
+
9457
+ var root_1$5 = add_locations(template(`<span class="qc-required" aria-hidden="true">*</span>`), LabelText[FILENAME], [[4, 26]]);
9458
+ var root$b = add_locations(template(`<!><!>`, 1), LabelText[FILENAME], []);
8648
9459
 
8649
9460
  function LabelText($$anchor, $$props) {
9461
+ check_target(new.target);
8650
9462
  push($$props, true);
8651
9463
 
8652
9464
  let text = prop($$props, 'text', 7),
@@ -8687,26 +9499,32 @@
8687
9499
  set required($$value) {
8688
9500
  required($$value);
8689
9501
  flushSync();
8690
- }
9502
+ },
9503
+ ...legacy_api()
8691
9504
  });
8692
9505
  }
8693
9506
 
8694
9507
  create_custom_element(LabelText, { text: {}, required: {} }, [], [], true);
8695
9508
 
8696
- var root_2$5 = template(`<legend><!></legend>`);
8697
- var root_1$4 = template(`<fieldset><!> <div><!></div> <!></fieldset>`);
8698
- var root_4$2 = template(`<div class="qc-fieldset-invalid"><!></div>`);
9509
+ Fieldset[FILENAME] = 'src/sdg/components/Fieldset/Fieldset.svelte';
9510
+
9511
+ var root_2$5 = add_locations(template(`<legend><!></legend>`), Fieldset[FILENAME], [[43, 4]]);
9512
+ var root_1$4 = add_locations(template(`<fieldset><!> <div><!></div> <!></fieldset>`), Fieldset[FILENAME], [[31, 0, [[47, 4]]]]);
9513
+ var root_4$2 = add_locations(template(`<div class="qc-fieldset-invalid"><!></div>`), Fieldset[FILENAME], [[70, 4]]);
8699
9514
 
8700
9515
  function Fieldset($$anchor, $$props) {
9516
+ check_target(new.target);
8701
9517
  push($$props, true);
8702
9518
 
8703
- const fieldset = ($$anchor) => {
9519
+ const fieldset = wrap_snippet(Fieldset, function ($$anchor) {
9520
+ validate_snippet_args(...arguments);
9521
+
8704
9522
  var fieldset_1 = root_1$4();
8705
9523
 
8706
9524
  set_attribute(fieldset_1, 'aria-describedby', legendId);
8707
9525
 
8708
9526
  fieldset_1.__change = function (...$$args) {
8709
- onchange()?.apply(this, $$args);
9527
+ apply(onchange, this, $$args, Fieldset, [38, 11]);
8710
9528
  };
8711
9529
 
8712
9530
  var node = child(fieldset_1);
@@ -8786,7 +9604,7 @@
8786
9604
  });
8787
9605
 
8788
9606
  append($$anchor, fieldset_1);
8789
- };
9607
+ });
8790
9608
 
8791
9609
  let legend = prop($$props, 'legend', 7),
8792
9610
  name = prop($$props, 'name', 7),
@@ -8936,7 +9754,8 @@
8936
9754
  set rootElement($$value) {
8937
9755
  rootElement($$value);
8938
9756
  flushSync();
8939
- }
9757
+ },
9758
+ ...legacy_api()
8940
9759
  });
8941
9760
  }
8942
9761
 
@@ -8978,7 +9797,7 @@
8978
9797
  name
8979
9798
  ) {
8980
9799
  if (!input) return;
8981
- if (input.role === "switch") return;
9800
+ if (strict_equals(input.role, "switch")) return;
8982
9801
 
8983
9802
  let label = input.closest('label');
8984
9803
 
@@ -9000,9 +9819,14 @@
9000
9819
  input.addEventListener('change', () => setInvalid(false));
9001
9820
  }
9002
9821
 
9822
+ ChoiceGroup[FILENAME] = 'src/sdg/components/ChoiceGroup/ChoiceGroup.svelte';
9823
+
9003
9824
  function ChoiceGroup($$anchor, $$props) {
9825
+ check_target(new.target);
9004
9826
  push($$props, true);
9005
9827
 
9828
+ var $$ownership_validator = create_ownership_validator($$props);
9829
+
9006
9830
  let invalid = prop($$props, 'invalid', 15, false),
9007
9831
  invalidText = prop($$props, 'invalidText', 7),
9008
9832
  children = prop($$props, 'children', 7),
@@ -9012,21 +9836,23 @@
9012
9836
  host = prop($$props, 'host', 7),
9013
9837
  name = prop($$props, 'name', 7),
9014
9838
  required = prop($$props, 'required', 7),
9015
- restProps = rest_props($$props, [
9016
- '$$slots',
9017
- '$$events',
9018
- '$$legacy',
9019
- '$$host',
9020
- 'invalid',
9021
- 'invalidText',
9022
- 'children',
9023
- 'compact',
9024
- 'selectionButton',
9025
- 'inline',
9026
- 'host',
9027
- 'name',
9028
- 'required'
9029
- ]);
9839
+ restProps = rest_props(
9840
+ $$props,
9841
+ [
9842
+ '$$slots',
9843
+ '$$events',
9844
+ '$$legacy',
9845
+ '$$host',
9846
+ 'invalid',
9847
+ 'invalidText',
9848
+ 'children',
9849
+ 'compact',
9850
+ 'selectionButton',
9851
+ 'inline',
9852
+ 'host',
9853
+ 'name',
9854
+ 'required'
9855
+ ]);
9030
9856
 
9031
9857
  let fieldsetElement = state(void 0);
9032
9858
 
@@ -9040,49 +9866,53 @@
9040
9866
  (host() ? host() : get(fieldsetElement)).querySelectorAll('input, .qc-choicefield').forEach((input) => updateInput(input, required(), invalid(), compact(), selectionButton(), inline(), name()));
9041
9867
  });
9042
9868
 
9043
- Fieldset($$anchor, spread_props(
9044
- {
9045
- get required() {
9046
- return required();
9047
- },
9048
- get compact() {
9049
- return compact();
9050
- },
9051
- get selectionButton() {
9052
- return selectionButton();
9053
- },
9054
- get inline() {
9055
- return inline();
9056
- },
9057
- get invalidText() {
9058
- return invalidText();
9059
- },
9060
- onchange
9061
- },
9062
- () => restProps,
9063
- {
9064
- get invalid() {
9065
- return invalid();
9066
- },
9067
- set invalid($$value) {
9068
- invalid($$value);
9069
- },
9070
- get rootElement() {
9071
- return get(fieldsetElement);
9072
- },
9073
- set rootElement($$value) {
9074
- set(fieldsetElement, $$value, true);
9075
- },
9076
- children: ($$anchor, $$slotProps) => {
9077
- var fragment_1 = comment();
9078
- var node = first_child(fragment_1);
9869
+ {
9870
+ $$ownership_validator.binding('invalid', Fieldset, invalid);
9079
9871
 
9080
- snippet(node, children);
9081
- append($$anchor, fragment_1);
9872
+ Fieldset($$anchor, spread_props(
9873
+ {
9874
+ get required() {
9875
+ return required();
9876
+ },
9877
+ get compact() {
9878
+ return compact();
9879
+ },
9880
+ get selectionButton() {
9881
+ return selectionButton();
9882
+ },
9883
+ get inline() {
9884
+ return inline();
9885
+ },
9886
+ get invalidText() {
9887
+ return invalidText();
9888
+ },
9889
+ onchange
9082
9890
  },
9083
- $$slots: { default: true }
9084
- }
9085
- ));
9891
+ () => restProps,
9892
+ {
9893
+ get invalid() {
9894
+ return invalid();
9895
+ },
9896
+ set invalid($$value) {
9897
+ invalid($$value);
9898
+ },
9899
+ get rootElement() {
9900
+ return get(fieldsetElement);
9901
+ },
9902
+ set rootElement($$value) {
9903
+ set(fieldsetElement, $$value, true);
9904
+ },
9905
+ children: wrap_snippet(ChoiceGroup, ($$anchor, $$slotProps) => {
9906
+ var fragment_1 = comment();
9907
+ var node = first_child(fragment_1);
9908
+
9909
+ snippet(node, children);
9910
+ append($$anchor, fragment_1);
9911
+ }),
9912
+ $$slots: { default: true }
9913
+ }
9914
+ ));
9915
+ }
9086
9916
 
9087
9917
  return pop({
9088
9918
  get invalid() {
@@ -9147,7 +9977,8 @@
9147
9977
  set required($$value) {
9148
9978
  required($$value);
9149
9979
  flushSync();
9150
- }
9980
+ },
9981
+ ...legacy_api()
9151
9982
  });
9152
9983
  }
9153
9984
 
@@ -9169,11 +10000,16 @@
9169
10000
  true
9170
10001
  );
9171
10002
 
9172
- var root$a = template(`<!> <link rel="stylesheet">`, 1);
10003
+ ChoiceGroupWC[FILENAME] = 'src/sdg/components/ChoiceGroup/ChoiceGroupWC.svelte';
10004
+
10005
+ var root$a = add_locations(template(`<!> <link rel="stylesheet">`, 1), ChoiceGroupWC[FILENAME], [[47, 0]]);
9173
10006
 
9174
10007
  function ChoiceGroupWC($$anchor, $$props) {
10008
+ check_target(new.target);
9175
10009
  push($$props, true);
9176
10010
 
10011
+ var $$ownership_validator = create_ownership_validator($$props);
10012
+
9177
10013
  let name = prop($$props, 'name', 7),
9178
10014
  legend = prop($$props, 'legend', 7),
9179
10015
  compact = prop($$props, 'compact', 7),
@@ -9187,47 +10023,51 @@
9187
10023
  var fragment = root$a();
9188
10024
  var node = first_child(fragment);
9189
10025
 
9190
- ChoiceGroup(node, {
9191
- get name() {
9192
- return name();
9193
- },
9194
- get legend() {
9195
- return legend();
9196
- },
9197
- get compact() {
9198
- return compact();
9199
- },
9200
- get required() {
9201
- return required();
9202
- },
9203
- get invalidText() {
9204
- return invalidText();
9205
- },
9206
- get selectionButton() {
9207
- return selectionButton();
9208
- },
9209
- get columnCount() {
9210
- return columnCount();
9211
- },
9212
- get inline() {
9213
- return inline();
9214
- },
9215
- host: $$props.$$host,
9216
- get invalid() {
9217
- return invalid();
9218
- },
9219
- set invalid($$value) {
9220
- invalid($$value);
9221
- },
9222
- children: ($$anchor, $$slotProps) => {
9223
- var fragment_1 = comment();
9224
- var node_1 = first_child(fragment_1);
10026
+ {
10027
+ $$ownership_validator.binding('invalid', ChoiceGroup, invalid);
9225
10028
 
9226
- slot(node_1, $$props, 'default', {});
9227
- append($$anchor, fragment_1);
9228
- },
9229
- $$slots: { default: true }
9230
- });
10029
+ ChoiceGroup(node, {
10030
+ get name() {
10031
+ return name();
10032
+ },
10033
+ get legend() {
10034
+ return legend();
10035
+ },
10036
+ get compact() {
10037
+ return compact();
10038
+ },
10039
+ get required() {
10040
+ return required();
10041
+ },
10042
+ get invalidText() {
10043
+ return invalidText();
10044
+ },
10045
+ get selectionButton() {
10046
+ return selectionButton();
10047
+ },
10048
+ get columnCount() {
10049
+ return columnCount();
10050
+ },
10051
+ get inline() {
10052
+ return inline();
10053
+ },
10054
+ host: $$props.$$host,
10055
+ get invalid() {
10056
+ return invalid();
10057
+ },
10058
+ set invalid($$value) {
10059
+ invalid($$value);
10060
+ },
10061
+ children: wrap_snippet(ChoiceGroupWC, ($$anchor, $$slotProps) => {
10062
+ var fragment_1 = comment();
10063
+ var node_1 = first_child(fragment_1);
10064
+
10065
+ slot(node_1, $$props, 'default', {}, null);
10066
+ append($$anchor, fragment_1);
10067
+ }),
10068
+ $$slots: { default: true }
10069
+ });
10070
+ }
9231
10071
 
9232
10072
  var link = sibling(node, 2);
9233
10073
 
@@ -9297,7 +10137,8 @@
9297
10137
  set inline($$value) {
9298
10138
  inline($$value);
9299
10139
  flushSync();
9300
- }
10140
+ },
10141
+ ...legacy_api()
9301
10142
  });
9302
10143
  }
9303
10144
 
@@ -9322,13 +10163,18 @@
9322
10163
  true
9323
10164
  ));
9324
10165
 
9325
- var root_2$4 = template(`<span class="qc-required" aria-hidden="true">*</span>`);
9326
- var root$9 = template(`<div><!> <!> <!></div>`);
10166
+ Checkbox[FILENAME] = 'src/sdg/components/Checkbox/Checkbox.svelte';
10167
+
10168
+ var root_2$4 = add_locations(template(`<span class="qc-required" aria-hidden="true">*</span>`), Checkbox[FILENAME], [[56, 4]]);
10169
+ var root$9 = add_locations(template(`<div><!> <!> <!></div>`), Checkbox[FILENAME], [[64, 4]]);
9327
10170
 
9328
10171
  function Checkbox($$anchor, $$props) {
10172
+ check_target(new.target);
9329
10173
  push($$props, true);
9330
10174
 
9331
- const requiredSpanSnippet = ($$anchor) => {
10175
+ const requiredSpanSnippet = wrap_snippet(Checkbox, function ($$anchor) {
10176
+ validate_snippet_args(...arguments);
10177
+
9332
10178
  var fragment = comment();
9333
10179
  var node = first_child(fragment);
9334
10180
 
@@ -9346,7 +10192,7 @@
9346
10192
  }
9347
10193
 
9348
10194
  append($$anchor, fragment);
9349
- };
10195
+ });
9350
10196
 
9351
10197
  Utils.getPageLanguage();
9352
10198
  const qcCheckoxContext = getContext("qc-checkbox");
@@ -9525,7 +10371,8 @@
9525
10371
  set input($$value) {
9526
10372
  input($$value);
9527
10373
  flushSync();
9528
- }
10374
+ },
10375
+ ...legacy_api()
9529
10376
  });
9530
10377
  }
9531
10378
 
@@ -9552,10 +10399,16 @@
9552
10399
  true
9553
10400
  );
9554
10401
 
9555
- var root$8 = template(`<!> <link rel="stylesheet">`, 1);
10402
+ CheckboxWC[FILENAME] = 'src/sdg/components/Checkbox/CheckboxWC.svelte';
10403
+
10404
+ var root$8 = add_locations(template(`<!> <link rel="stylesheet">`, 1), CheckboxWC[FILENAME], [[49, 0]]);
9556
10405
 
9557
10406
  function CheckboxWC($$anchor, $$props) {
10407
+ check_target(new.target);
9558
10408
  push($$props, true);
10409
+
10410
+ var $$ownership_validator = create_ownership_validator($$props);
10411
+
9559
10412
  setContext('qc-checkbox', true);
9560
10413
 
9561
10414
  let required = prop($$props, 'required', 15, false),
@@ -9576,43 +10429,47 @@
9576
10429
  var fragment = root$8();
9577
10430
  var node = first_child(fragment);
9578
10431
 
9579
- Checkbox(node, {
9580
- get compact() {
9581
- return compact();
9582
- },
9583
- get required() {
9584
- return required();
9585
- },
9586
- get invalidText() {
9587
- return invalidText();
9588
- },
9589
- get labelElement() {
9590
- return get(labelElement);
9591
- },
9592
- get input() {
9593
- return get(input);
9594
- },
9595
- get invalid() {
9596
- return invalid();
9597
- },
9598
- set invalid($$value) {
9599
- invalid($$value);
9600
- },
9601
- get requiredSpan() {
9602
- return get(requiredSpan);
9603
- },
9604
- set requiredSpan($$value) {
9605
- set(requiredSpan, $$value, true);
9606
- },
9607
- children: ($$anchor, $$slotProps) => {
9608
- var fragment_1 = comment();
9609
- var node_1 = first_child(fragment_1);
10432
+ {
10433
+ $$ownership_validator.binding('invalid', Checkbox, invalid);
9610
10434
 
9611
- slot(node_1, $$props, 'default', {});
9612
- append($$anchor, fragment_1);
9613
- },
9614
- $$slots: { default: true }
9615
- });
10435
+ Checkbox(node, {
10436
+ get compact() {
10437
+ return compact();
10438
+ },
10439
+ get required() {
10440
+ return required();
10441
+ },
10442
+ get invalidText() {
10443
+ return invalidText();
10444
+ },
10445
+ get labelElement() {
10446
+ return get(labelElement);
10447
+ },
10448
+ get input() {
10449
+ return get(input);
10450
+ },
10451
+ get invalid() {
10452
+ return invalid();
10453
+ },
10454
+ set invalid($$value) {
10455
+ invalid($$value);
10456
+ },
10457
+ get requiredSpan() {
10458
+ return get(requiredSpan);
10459
+ },
10460
+ set requiredSpan($$value) {
10461
+ set(requiredSpan, $$value, true);
10462
+ },
10463
+ children: wrap_snippet(CheckboxWC, ($$anchor, $$slotProps) => {
10464
+ var fragment_1 = comment();
10465
+ var node_1 = first_child(fragment_1);
10466
+
10467
+ slot(node_1, $$props, 'default', {}, null);
10468
+ append($$anchor, fragment_1);
10469
+ }),
10470
+ $$slots: { default: true }
10471
+ });
10472
+ }
9616
10473
 
9617
10474
  var link = sibling(node, 2);
9618
10475
 
@@ -9647,7 +10504,8 @@
9647
10504
  set invalidText($$value) {
9648
10505
  invalidText($$value);
9649
10506
  flushSync();
9650
- }
10507
+ },
10508
+ ...legacy_api()
9651
10509
  });
9652
10510
  }
9653
10511
 
@@ -9664,9 +10522,12 @@
9664
10522
  true
9665
10523
  ));
9666
10524
 
9667
- var root$7 = template(`<label><!></label>`);
10525
+ Label[FILENAME] = 'src/sdg/components/Label/Label.svelte';
10526
+
10527
+ var root$7 = add_locations(template(`<label><!></label>`), Label[FILENAME], [[16, 0]]);
9668
10528
 
9669
10529
  function Label($$anchor, $$props) {
10530
+ check_target(new.target);
9670
10531
  push($$props, true);
9671
10532
 
9672
10533
  let forId = prop($$props, 'forId', 7),
@@ -9676,19 +10537,21 @@
9676
10537
  bold = prop($$props, 'bold', 7, false),
9677
10538
  disabled = prop($$props, 'disabled', 7, false),
9678
10539
  rootElement = prop($$props, 'rootElement', 15),
9679
- rest = rest_props($$props, [
9680
- '$$slots',
9681
- '$$events',
9682
- '$$legacy',
9683
- '$$host',
9684
- 'forId',
9685
- 'text',
9686
- 'required',
9687
- 'compact',
9688
- 'bold',
9689
- 'disabled',
9690
- 'rootElement'
9691
- ]);
10540
+ rest = rest_props(
10541
+ $$props,
10542
+ [
10543
+ '$$slots',
10544
+ '$$events',
10545
+ '$$legacy',
10546
+ '$$host',
10547
+ 'forId',
10548
+ 'text',
10549
+ 'required',
10550
+ 'compact',
10551
+ 'bold',
10552
+ 'disabled',
10553
+ 'rootElement'
10554
+ ]);
9692
10555
 
9693
10556
  var label = root$7();
9694
10557
  let attributes;
@@ -9768,7 +10631,8 @@
9768
10631
  set rootElement($$value) {
9769
10632
  rootElement($$value);
9770
10633
  flushSync();
9771
- }
10634
+ },
10635
+ ...legacy_api()
9772
10636
  });
9773
10637
  }
9774
10638
 
@@ -9806,15 +10670,22 @@
9806
10670
  setTextFieldRow(input.closest('.qc-formfield-row'));
9807
10671
  }
9808
10672
 
9809
- var root_3$2 = template(`<div class="qc-description"><!></div>`);
9810
- var root_4$1 = template(`<div aria-live="polite"><!></div>`);
9811
- var root_1$3 = template(`<!> <!> <!> <!> <!>`, 1);
9812
- var root_6 = template(`<div class="qc-textfield"><!></div>`);
10673
+ TextField[FILENAME] = 'src/sdg/components/TextField/TextField.svelte';
10674
+
10675
+ var root_3$2 = add_locations(template(`<div class="qc-description"><!></div>`), TextField[FILENAME], [[131, 8]]);
10676
+ var root_4$1 = add_locations(template(`<div aria-live="polite"><!></div>`), TextField[FILENAME], [[142, 8]]);
10677
+ var root_1$3 = add_locations(template(`<!> <!> <!> <!> <!>`, 1), TextField[FILENAME], []);
10678
+ var root_6 = add_locations(template(`<div class="qc-textfield"><!></div>`), TextField[FILENAME], [[166, 4]]);
9813
10679
 
9814
10680
  function TextField($$anchor, $$props) {
10681
+ check_target(new.target);
9815
10682
  push($$props, true);
9816
10683
 
9817
- const textfield = ($$anchor) => {
10684
+ var $$ownership_validator = create_ownership_validator($$props);
10685
+
10686
+ const textfield = wrap_snippet(TextField, function ($$anchor) {
10687
+ validate_snippet_args(...arguments);
10688
+
9818
10689
  var fragment = root_1$3();
9819
10690
  var node = first_child(fragment);
9820
10691
 
@@ -9823,26 +10694,30 @@
9823
10694
  const expression = user_derived(() => input()?.disabled);
9824
10695
  const expression_1 = user_derived(() => input()?.id);
9825
10696
 
9826
- Label($$anchor, {
9827
- get required() {
9828
- return required();
9829
- },
9830
- get disabled() {
9831
- return get(expression);
9832
- },
9833
- get text() {
9834
- return label();
9835
- },
9836
- get forId() {
9837
- return get(expression_1);
9838
- },
9839
- get rootElement() {
9840
- return labelElement();
9841
- },
9842
- set rootElement($$value) {
9843
- labelElement($$value);
9844
- }
9845
- });
10697
+ {
10698
+ $$ownership_validator.binding('labelElement', Label, labelElement);
10699
+
10700
+ Label($$anchor, {
10701
+ get required() {
10702
+ return required();
10703
+ },
10704
+ get disabled() {
10705
+ return get(expression);
10706
+ },
10707
+ get text() {
10708
+ return label();
10709
+ },
10710
+ get forId() {
10711
+ return get(expression_1);
10712
+ },
10713
+ get rootElement() {
10714
+ return labelElement();
10715
+ },
10716
+ set rootElement($$value) {
10717
+ labelElement($$value);
10718
+ }
10719
+ });
10720
+ }
9846
10721
  };
9847
10722
 
9848
10723
  if_block(node, ($$render) => {
@@ -9898,7 +10773,7 @@
9898
10773
  };
9899
10774
 
9900
10775
  if_block(node_4, ($$render) => {
9901
- if (maxlength() !== null) $$render(consequent_2);
10776
+ if (strict_equals(maxlength(), null, false)) $$render(consequent_2);
9902
10777
  });
9903
10778
  }
9904
10779
 
@@ -9906,45 +10781,49 @@
9906
10781
  const expression_2 = user_derived(() => invalidText() ? invalidText() : get(defaultInvalidText));
9907
10782
  const expression_3 = user_derived(() => label() ? label() : input()?.getAttribute("aria-label"));
9908
10783
 
9909
- FormError(node_6, {
9910
- get invalid() {
9911
- return invalid();
9912
- },
9913
- get invalidText() {
9914
- return get(expression_2);
9915
- },
9916
- get label() {
9917
- return get(expression_3);
9918
- },
9919
- extraClasses: ['qc-xs-mt'],
9920
- get id() {
9921
- return get(errorId);
9922
- },
9923
- set id($$value) {
9924
- set(errorId, $$value, true);
9925
- },
9926
- get rootElement() {
9927
- return formErrorElement();
9928
- },
9929
- set rootElement($$value) {
9930
- formErrorElement($$value);
9931
- }
9932
- });
10784
+ {
10785
+ $$ownership_validator.binding('formErrorElement', FormError, formErrorElement);
10786
+
10787
+ FormError(node_6, {
10788
+ get invalid() {
10789
+ return invalid();
10790
+ },
10791
+ get invalidText() {
10792
+ return get(expression_2);
10793
+ },
10794
+ get label() {
10795
+ return get(expression_3);
10796
+ },
10797
+ extraClasses: ['qc-xs-mt'],
10798
+ get id() {
10799
+ return get(errorId);
10800
+ },
10801
+ set id($$value) {
10802
+ set(errorId, $$value, true);
10803
+ },
10804
+ get rootElement() {
10805
+ return formErrorElement();
10806
+ },
10807
+ set rootElement($$value) {
10808
+ formErrorElement($$value);
10809
+ }
10810
+ });
10811
+ }
9933
10812
 
9934
10813
  append($$anchor, fragment);
9935
- };
10814
+ });
9936
10815
 
9937
10816
  const lang = Utils.getPageLanguage();
9938
10817
 
9939
10818
  let label = prop($$props, 'label', 7, ''),
9940
- required = prop($$props, 'required', 15),
10819
+ required = prop($$props, 'required', 15, false),
9941
10820
  description = prop($$props, 'description', 7),
9942
10821
  size = prop($$props, 'size', 7),
9943
10822
  maxlength = prop($$props, 'maxlength', 7),
9944
10823
  maxlengthReached = prop($$props, 'maxlengthReached', 15, false),
9945
10824
  invalidAtSubmit = prop($$props, 'invalidAtSubmit', 15, false),
9946
- value = prop($$props, 'value', 7, ""),
9947
- invalid = prop($$props, 'invalid', 15),
10825
+ value = prop($$props, 'value', 15, ""),
10826
+ invalid = prop($$props, 'invalid', 15, false),
9948
10827
  invalidText = prop($$props, 'invalidText', 7),
9949
10828
  describedBy = prop($$props, 'describedBy', 31, () => proxy([])),
9950
10829
  labelElement = prop($$props, 'labelElement', 15),
@@ -9962,7 +10841,7 @@
9962
10841
  textFieldRow = state(void 0),
9963
10842
  defaultInvalidText = user_derived(() => {
9964
10843
  if (!maxlengthReached()) return '';
9965
- return lang === 'fr' ? `La limite de caractères du champ ${label()} est dépassée.` : `The character limit for the ${label()} field has been exceeded.`;
10844
+ return strict_equals(lang, 'fr') ? `La limite de caractères du champ ${label()} est dépassée.` : `The character limit for the ${label()} field has been exceeded.`;
9966
10845
  });
9967
10846
 
9968
10847
  onMount(() => {
@@ -10005,7 +10884,7 @@
10005
10884
 
10006
10885
  const s = over > 1 ? 's' : '';
10007
10886
 
10008
- set(charCountText, remaining >= 0 ? lang === 'fr' ? `${remaining} caractère${s} restant${s}` : `${remaining} character${s} remaining` : lang === 'fr' ? `${over} caractère${s} en trop` : `${over} character${s} over the limit`, true);
10887
+ set(charCountText, remaining >= 0 ? strict_equals(lang, 'fr') ? `${remaining} caractère${s} restant${s}` : `${remaining} character${s} remaining` : strict_equals(lang, 'fr') ? `${over} caractère${s} en trop` : `${over} character${s} over the limit`, true);
10009
10888
  });
10010
10889
 
10011
10890
  // Génération des ID pour le aria-describedby
@@ -10021,8 +10900,8 @@
10021
10900
  maxlength() && charCountId
10022
10901
  ].filter(Boolean).join(' '));
10023
10902
 
10024
- if (invalid()) input().setAttribute('aria-invalid', invalid());
10025
- if (required()) input().setAttribute('aria-required', required());
10903
+ input().setAttribute('aria-invalid', invalid());
10904
+ input().setAttribute('aria-required', required());
10026
10905
  });
10027
10906
 
10028
10907
  var fragment_2 = comment();
@@ -10067,7 +10946,7 @@
10067
10946
  get required() {
10068
10947
  return required();
10069
10948
  },
10070
- set required($$value) {
10949
+ set required($$value = false) {
10071
10950
  required($$value);
10072
10951
  flushSync();
10073
10952
  },
@@ -10116,7 +10995,7 @@
10116
10995
  get invalid() {
10117
10996
  return invalid();
10118
10997
  },
10119
- set invalid($$value) {
10998
+ set invalid($$value = false) {
10120
10999
  invalid($$value);
10121
11000
  flushSync();
10122
11001
  },
@@ -10175,7 +11054,8 @@
10175
11054
  set children($$value) {
10176
11055
  children($$value);
10177
11056
  flushSync();
10178
- }
11057
+ },
11058
+ ...legacy_api()
10179
11059
  });
10180
11060
  }
10181
11061
 
@@ -10205,13 +11085,19 @@
10205
11085
  true
10206
11086
  );
10207
11087
 
10208
- var root$6 = template(`<!> <link rel="stylesheet">`, 1);
11088
+ TextFieldWC[FILENAME] = 'src/sdg/components/TextField/TextFieldWC.svelte';
11089
+
11090
+ var root$6 = add_locations(template(`<!> <link rel="stylesheet">`, 1), TextFieldWC[FILENAME], [[90, 0]]);
10209
11091
 
10210
11092
  function TextFieldWC($$anchor, $$props) {
11093
+ check_target(new.target);
10211
11094
  push($$props, true);
11095
+
11096
+ var $$ownership_validator = create_ownership_validator($$props);
11097
+
10212
11098
  setContext('webComponentMode', true);
10213
11099
 
10214
- let invalid = prop($$props, 'invalid', 7),
11100
+ let invalid = prop($$props, 'invalid', 15, false),
10215
11101
  invalidText = prop($$props, 'invalidText', 7),
10216
11102
  label = prop($$props, 'label', 7),
10217
11103
  description = prop($$props, 'description', 7),
@@ -10260,82 +11146,89 @@
10260
11146
  var fragment = root$6();
10261
11147
  var node = first_child(fragment);
10262
11148
 
10263
- TextField(node, {
10264
- get label() {
10265
- return label();
10266
- },
10267
- get description() {
10268
- return description();
10269
- },
10270
- get input() {
10271
- return get(input);
10272
- },
10273
- get required() {
10274
- return required();
10275
- },
10276
- get maxlength() {
10277
- return maxlength();
10278
- },
10279
- get value() {
10280
- return get(value);
10281
- },
10282
- get invalid() {
10283
- return invalid();
10284
- },
10285
- set invalid($$value) {
10286
- invalid($$value);
10287
- },
10288
- get invalidText() {
10289
- return invalidText();
10290
- },
10291
- set invalidText($$value) {
10292
- invalidText($$value);
10293
- },
10294
- get maxlengthReached() {
10295
- return maxlengthReached();
10296
- },
10297
- set maxlengthReached($$value) {
10298
- maxlengthReached($$value);
10299
- },
10300
- get invalidAtSubmit() {
10301
- return invalidAtSubmit();
10302
- },
10303
- set invalidAtSubmit($$value) {
10304
- invalidAtSubmit($$value);
10305
- },
10306
- get labelElement() {
10307
- return get(labelElement);
10308
- },
10309
- set labelElement($$value) {
10310
- set(labelElement, $$value, true);
10311
- },
10312
- get formErrorElement() {
10313
- return get(formErrorElement);
10314
- },
10315
- set formErrorElement($$value) {
10316
- set(formErrorElement, $$value, true);
10317
- },
10318
- get descriptionElement() {
10319
- return get(descriptionElement);
10320
- },
10321
- set descriptionElement($$value) {
10322
- set(descriptionElement, $$value, true);
10323
- },
10324
- get maxlengthElement() {
10325
- return get(maxlengthElement);
10326
- },
10327
- set maxlengthElement($$value) {
10328
- set(maxlengthElement, $$value, true);
10329
- },
10330
- children: ($$anchor, $$slotProps) => {
10331
- var fragment_1 = comment();
10332
- var node_1 = first_child(fragment_1);
11149
+ {
11150
+ $$ownership_validator.binding('invalid', TextField, invalid);
11151
+ $$ownership_validator.binding('invalidText', TextField, invalidText);
11152
+ $$ownership_validator.binding('maxlengthReached', TextField, maxlengthReached);
11153
+ $$ownership_validator.binding('invalidAtSubmit', TextField, invalidAtSubmit);
11154
+
11155
+ TextField(node, {
11156
+ get label() {
11157
+ return label();
11158
+ },
11159
+ get description() {
11160
+ return description();
11161
+ },
11162
+ get input() {
11163
+ return get(input);
11164
+ },
11165
+ get required() {
11166
+ return required();
11167
+ },
11168
+ get maxlength() {
11169
+ return maxlength();
11170
+ },
11171
+ get value() {
11172
+ return get(value);
11173
+ },
11174
+ get invalid() {
11175
+ return invalid();
11176
+ },
11177
+ set invalid($$value) {
11178
+ invalid($$value);
11179
+ },
11180
+ get invalidText() {
11181
+ return invalidText();
11182
+ },
11183
+ set invalidText($$value) {
11184
+ invalidText($$value);
11185
+ },
11186
+ get maxlengthReached() {
11187
+ return maxlengthReached();
11188
+ },
11189
+ set maxlengthReached($$value) {
11190
+ maxlengthReached($$value);
11191
+ },
11192
+ get invalidAtSubmit() {
11193
+ return invalidAtSubmit();
11194
+ },
11195
+ set invalidAtSubmit($$value) {
11196
+ invalidAtSubmit($$value);
11197
+ },
11198
+ get labelElement() {
11199
+ return get(labelElement);
11200
+ },
11201
+ set labelElement($$value) {
11202
+ set(labelElement, $$value, true);
11203
+ },
11204
+ get formErrorElement() {
11205
+ return get(formErrorElement);
11206
+ },
11207
+ set formErrorElement($$value) {
11208
+ set(formErrorElement, $$value, true);
11209
+ },
11210
+ get descriptionElement() {
11211
+ return get(descriptionElement);
11212
+ },
11213
+ set descriptionElement($$value) {
11214
+ set(descriptionElement, $$value, true);
11215
+ },
11216
+ get maxlengthElement() {
11217
+ return get(maxlengthElement);
11218
+ },
11219
+ set maxlengthElement($$value) {
11220
+ set(maxlengthElement, $$value, true);
11221
+ },
11222
+ children: wrap_snippet(TextFieldWC, ($$anchor, $$slotProps) => {
11223
+ var fragment_1 = comment();
11224
+ var node_1 = first_child(fragment_1);
10333
11225
 
10334
- slot(node_1, $$props, 'default', {});
10335
- append($$anchor, fragment_1);
10336
- },
10337
- $$slots: { default: true }
10338
- });
11226
+ slot(node_1, $$props, 'default', {}, null);
11227
+ append($$anchor, fragment_1);
11228
+ }),
11229
+ $$slots: { default: true }
11230
+ });
11231
+ }
10339
11232
 
10340
11233
  var link = sibling(node, 2);
10341
11234
 
@@ -10346,7 +11239,7 @@
10346
11239
  get invalid() {
10347
11240
  return invalid();
10348
11241
  },
10349
- set invalid($$value) {
11242
+ set invalid($$value = false) {
10350
11243
  invalid($$value);
10351
11244
  flushSync();
10352
11245
  },
@@ -10398,7 +11291,8 @@
10398
11291
  set invalidAtSubmit($$value = false) {
10399
11292
  invalidAtSubmit($$value);
10400
11293
  flushSync();
10401
- }
11294
+ },
11295
+ ...legacy_api()
10402
11296
  });
10403
11297
  }
10404
11298
 
@@ -10424,9 +11318,12 @@
10424
11318
  true
10425
11319
  ));
10426
11320
 
10427
- var root$5 = template(`<button><!> <!></button>`);
11321
+ Button[FILENAME] = 'src/sdg/components/Button/Button.svelte';
11322
+
11323
+ var root$5 = add_locations(template(`<button><!> <!></button>`), Button[FILENAME], [[28, 0]]);
10428
11324
 
10429
11325
  function Button($$anchor, $$props) {
11326
+ check_target(new.target);
10430
11327
  push($$props, true);
10431
11328
 
10432
11329
  let variant = prop($$props, 'variant', 7, "primary"),
@@ -10437,20 +11334,22 @@
10437
11334
  icon = prop($$props, 'icon', 7, ""),
10438
11335
  iconPosition = prop($$props, 'iconPosition', 7, "left"),
10439
11336
  iconSrc = prop($$props, 'iconSrc', 7, ""),
10440
- rest = rest_props($$props, [
10441
- '$$slots',
10442
- '$$events',
10443
- '$$legacy',
10444
- '$$host',
10445
- 'variant',
10446
- 'disabled',
10447
- 'compact',
10448
- 'rounded',
10449
- 'label',
10450
- 'icon',
10451
- 'iconPosition',
10452
- 'iconSrc'
10453
- ]);
11337
+ rest = rest_props(
11338
+ $$props,
11339
+ [
11340
+ '$$slots',
11341
+ '$$events',
11342
+ '$$legacy',
11343
+ '$$host',
11344
+ 'variant',
11345
+ 'disabled',
11346
+ 'compact',
11347
+ 'rounded',
11348
+ 'label',
11349
+ 'icon',
11350
+ 'iconPosition',
11351
+ 'iconSrc'
11352
+ ]);
10454
11353
 
10455
11354
  let className = state(void 0);
10456
11355
 
@@ -10514,7 +11413,7 @@
10514
11413
  };
10515
11414
 
10516
11415
  if_block(node, ($$render) => {
10517
- if (iconPosition() === "left") $$render(consequent_2);
11416
+ if (strict_equals(iconPosition(), "left")) $$render(consequent_2);
10518
11417
  });
10519
11418
  }
10520
11419
 
@@ -10564,7 +11463,7 @@
10564
11463
  };
10565
11464
 
10566
11465
  if_block(node_2, ($$render) => {
10567
- if (icon() && iconPosition() === "right") $$render(consequent_5);
11466
+ if (icon() && strict_equals(iconPosition(), "right")) $$render(consequent_5);
10568
11467
  });
10569
11468
  }
10570
11469
 
@@ -10638,7 +11537,8 @@
10638
11537
  set iconSrc($$value = "") {
10639
11538
  iconSrc($$value);
10640
11539
  flushSync();
10641
- }
11540
+ },
11541
+ ...legacy_api()
10642
11542
  });
10643
11543
  }
10644
11544
 
@@ -10659,7 +11559,10 @@
10659
11559
  true
10660
11560
  );
10661
11561
 
11562
+ ButtonWC[FILENAME] = 'src/sdg/components/Button/ButtonWC.svelte';
11563
+
10662
11564
  function ButtonWC($$anchor, $$props) {
11565
+ check_target(new.target);
10663
11566
  push($$props, true);
10664
11567
 
10665
11568
  let variant = prop($$props, 'variant', 7, "primary"),
@@ -10667,17 +11570,19 @@
10667
11570
  compact = prop($$props, 'compact', 7, false),
10668
11571
  rounded = prop($$props, 'rounded', 7, false),
10669
11572
  label = prop($$props, 'label', 7, ""),
10670
- rest = rest_props($$props, [
10671
- '$$slots',
10672
- '$$events',
10673
- '$$legacy',
10674
- '$$host',
10675
- 'variant',
10676
- 'disabled',
10677
- 'compact',
10678
- 'rounded',
10679
- 'label'
10680
- ]);
11573
+ rest = rest_props(
11574
+ $$props,
11575
+ [
11576
+ '$$slots',
11577
+ '$$events',
11578
+ '$$legacy',
11579
+ '$$host',
11580
+ 'variant',
11581
+ 'disabled',
11582
+ 'compact',
11583
+ 'rounded',
11584
+ 'label'
11585
+ ]);
10681
11586
 
10682
11587
  Button($$anchor, spread_props(
10683
11588
  {
@@ -10735,7 +11640,8 @@
10735
11640
  set label($$value = "") {
10736
11641
  label($$value);
10737
11642
  flushSync();
10738
- }
11643
+ },
11644
+ ...legacy_api()
10739
11645
  });
10740
11646
  }
10741
11647
 
@@ -10756,9 +11662,18 @@
10756
11662
  false
10757
11663
  ));
10758
11664
 
10759
- var root$4 = template(`<label><input type="checkbox" role="switch"> <span><!></span> <span class="qc-switch-slider"></span></label>`);
11665
+ ToggleSwitch[FILENAME] = 'src/sdg/components/ToggleSwitch/ToggleSwitch.svelte';
11666
+
11667
+ var root$4 = add_locations(template(`<label><input type="checkbox" role="switch"> <span><!></span> <span class="qc-switch-slider"></span></label>`), ToggleSwitch[FILENAME], [
11668
+ [
11669
+ 17,
11670
+ 0,
11671
+ [[20, 4], [28, 4], [33, 4]]
11672
+ ]
11673
+ ]);
10760
11674
 
10761
11675
  function ToggleSwitch($$anchor, $$props) {
11676
+ check_target(new.target);
10762
11677
  push($$props, true);
10763
11678
 
10764
11679
  let label = prop($$props, 'label', 7),
@@ -10769,7 +11684,7 @@
10769
11684
  textAlign = prop($$props, 'textAlign', 7);
10770
11685
 
10771
11686
  const usedId = "toggle-switch-" + (id() ? id() : Math.random().toString(36));
10772
- let usedLabelTextAlignment = textAlign()?.toLowerCase() === "end" ? "end" : "start";
11687
+ let usedLabelTextAlignment = strict_equals(textAlign()?.toLowerCase(), "end") ? "end" : "start";
10773
11688
  var label_1 = root$4();
10774
11689
 
10775
11690
  set_attribute(label_1, 'for', usedId);
@@ -10783,7 +11698,7 @@
10783
11698
 
10784
11699
  set_class(span, 1, clsx([
10785
11700
  "qc-switch-label",
10786
- usedLabelTextAlignment === "end" && "qc-switch-label-end"
11701
+ strict_equals(usedLabelTextAlignment, "end") && "qc-switch-label-end"
10787
11702
  ]));
10788
11703
 
10789
11704
  var node = child(span);
@@ -10847,7 +11762,8 @@
10847
11762
  set textAlign($$value) {
10848
11763
  textAlign($$value);
10849
11764
  flushSync();
10850
- }
11765
+ },
11766
+ ...legacy_api()
10851
11767
  });
10852
11768
  }
10853
11769
 
@@ -10866,27 +11782,34 @@
10866
11782
  true
10867
11783
  );
10868
11784
 
11785
+ ToggleSwitchWC[FILENAME] = 'src/sdg/components/ToggleSwitch/ToggleSwitchWC.svelte';
11786
+
10869
11787
  function ToggleSwitchWC($$anchor, $$props) {
11788
+ check_target(new.target);
10870
11789
  push($$props, true);
10871
11790
 
11791
+ var $$ownership_validator = create_ownership_validator($$props);
11792
+
10872
11793
  let id = prop($$props, 'id', 7),
10873
11794
  label = prop($$props, 'label', 7),
10874
11795
  checked = prop($$props, 'checked', 15, false),
10875
11796
  disabled = prop($$props, 'disabled', 7, false),
10876
11797
  justified = prop($$props, 'justified', 7, false),
10877
11798
  textAlign = prop($$props, 'textAlign', 7),
10878
- rest = rest_props($$props, [
10879
- '$$slots',
10880
- '$$events',
10881
- '$$legacy',
10882
- '$$host',
10883
- 'id',
10884
- 'label',
10885
- 'checked',
10886
- 'disabled',
10887
- 'justified',
10888
- 'textAlign'
10889
- ]);
11799
+ rest = rest_props(
11800
+ $$props,
11801
+ [
11802
+ '$$slots',
11803
+ '$$events',
11804
+ '$$legacy',
11805
+ '$$host',
11806
+ 'id',
11807
+ 'label',
11808
+ 'checked',
11809
+ 'disabled',
11810
+ 'justified',
11811
+ 'textAlign'
11812
+ ]);
10890
11813
 
10891
11814
  let parent = state(void 0);
10892
11815
  let index;
@@ -10924,31 +11847,35 @@
10924
11847
 
10925
11848
  {
10926
11849
  var consequent = ($$anchor) => {
10927
- ToggleSwitch($$anchor, spread_props(
10928
- {
10929
- get label() {
10930
- return label();
10931
- },
10932
- get disabled() {
10933
- return disabled();
10934
- },
10935
- get justified() {
10936
- return justified();
10937
- },
10938
- get textAlign() {
10939
- return textAlign();
10940
- }
10941
- },
10942
- () => rest,
10943
- {
10944
- get checked() {
10945
- return checked();
11850
+ {
11851
+ $$ownership_validator.binding('checked', ToggleSwitch, checked);
11852
+
11853
+ ToggleSwitch($$anchor, spread_props(
11854
+ {
11855
+ get label() {
11856
+ return label();
11857
+ },
11858
+ get disabled() {
11859
+ return disabled();
11860
+ },
11861
+ get justified() {
11862
+ return justified();
11863
+ },
11864
+ get textAlign() {
11865
+ return textAlign();
11866
+ }
10946
11867
  },
10947
- set checked($$value) {
10948
- checked($$value);
11868
+ () => rest,
11869
+ {
11870
+ get checked() {
11871
+ return checked();
11872
+ },
11873
+ set checked($$value) {
11874
+ checked($$value);
11875
+ }
10949
11876
  }
10950
- }
10951
- ));
11877
+ ));
11878
+ }
10952
11879
  };
10953
11880
 
10954
11881
  if_block(node, ($$render) => {
@@ -11000,7 +11927,8 @@
11000
11927
  set textAlign($$value) {
11001
11928
  textAlign($$value);
11002
11929
  flushSync();
11003
- }
11930
+ },
11931
+ ...legacy_api()
11004
11932
  });
11005
11933
  }
11006
11934
 
@@ -11031,7 +11959,10 @@
11031
11959
  false
11032
11960
  ));
11033
11961
 
11962
+ ToggleSwitchGroupWC[FILENAME] = 'src/sdg/components/ChoiceGroup/ToggleSwitchGroupWC.svelte';
11963
+
11034
11964
  function ToggleSwitchGroupWC($$anchor, $$props) {
11965
+ check_target(new.target);
11035
11966
  push($$props, true);
11036
11967
 
11037
11968
  let disabled = prop($$props, 'disabled', 15, false),
@@ -11039,17 +11970,19 @@
11039
11970
  justified = prop($$props, 'justified', 7, false),
11040
11971
  textAlign = prop($$props, 'textAlign', 7),
11041
11972
  maxWidth = prop($$props, 'maxWidth', 7, "fit-content"),
11042
- rest = rest_props($$props, [
11043
- '$$slots',
11044
- '$$events',
11045
- '$$legacy',
11046
- '$$host',
11047
- 'disabled',
11048
- 'items',
11049
- 'justified',
11050
- 'textAlign',
11051
- 'maxWidth'
11052
- ]);
11973
+ rest = rest_props(
11974
+ $$props,
11975
+ [
11976
+ '$$slots',
11977
+ '$$events',
11978
+ '$$legacy',
11979
+ '$$host',
11980
+ 'disabled',
11981
+ 'items',
11982
+ 'justified',
11983
+ 'textAlign',
11984
+ 'maxWidth'
11985
+ ]);
11053
11986
 
11054
11987
  let usedWidth = user_derived(() => {
11055
11988
  if (maxWidth().match(/^\d+px$/) || maxWidth().match(/^\d*\.?\d*rem$/) || maxWidth().match(/^\d*\.?\d*em$/) || maxWidth().match(/^\d*\.?\d*%$/)) {
@@ -11068,11 +12001,13 @@
11068
12001
  },
11069
12002
  () => rest,
11070
12003
  {
11071
- children: ($$anchor, $$slotProps) => {
12004
+ children: wrap_snippet(ToggleSwitchGroupWC, ($$anchor, $$slotProps) => {
11072
12005
  var fragment_1 = comment();
11073
12006
  var node = first_child(fragment_1);
11074
12007
 
11075
12008
  each(node, 17, items, index, ($$anchor, item, $$index) => {
12009
+ validate_binding('bind:checked={item.checked}', () => get(item), () => 'checked', 49, 12);
12010
+
11076
12011
  const expression = user_derived(() => get(item).disabled ?? disabled());
11077
12012
  const expression_1 = user_derived(() => justified() ?? get(item).justified);
11078
12013
  const expression_2 = user_derived(() => textAlign() ?? get(item).textAlign);
@@ -11103,7 +12038,7 @@
11103
12038
  });
11104
12039
 
11105
12040
  append($$anchor, fragment_1);
11106
- },
12041
+ }),
11107
12042
  $$slots: { default: true }
11108
12043
  }
11109
12044
  ));
@@ -11143,7 +12078,8 @@
11143
12078
  set maxWidth($$value = "fit-content") {
11144
12079
  maxWidth($$value);
11145
12080
  flushSync();
11146
- }
12081
+ },
12082
+ ...legacy_api()
11147
12083
  });
11148
12084
  }
11149
12085
 
@@ -11162,12 +12098,15 @@
11162
12098
  false
11163
12099
  ));
11164
12100
 
12101
+ DropdownListItemsSingle[FILENAME] = 'src/sdg/components/DropdownList/DropdownListItems/DropdownListItemsSingle/DropdownListItemsSingle.svelte';
12102
+
11165
12103
  var on_click$1 = (event, handleMouseUp, item) => handleMouseUp(event, get(item));
11166
- var root_3$1 = template(`<span class="qc-sr-only"><!></span>`);
11167
- var root_2$3 = template(`<li tabindex="0" role="option"><!></li>`);
11168
- var root_1$2 = template(`<ul></ul>`);
12104
+ var root_3$1 = add_locations(template(`<span class="qc-sr-only"><!></span>`), DropdownListItemsSingle[FILENAME], [[129, 20]]);
12105
+ var root_2$3 = add_locations(template(`<li tabindex="0" role="option"><!></li>`), DropdownListItemsSingle[FILENAME], [[113, 12]]);
12106
+ var root_1$2 = add_locations(template(`<ul></ul>`), DropdownListItemsSingle[FILENAME], [[111, 4]]);
11169
12107
 
11170
12108
  function DropdownListItemsSingle($$anchor, $$props) {
12109
+ check_target(new.target);
11171
12110
  push($$props, true);
11172
12111
 
11173
12112
  const selectedElementCLass = "qc-dropdown-list-single-selected";
@@ -11196,7 +12135,7 @@
11196
12135
 
11197
12136
  function focusOnFirstMatchingElement(passedValue) {
11198
12137
  if (get(displayedItemsElements) && get(displayedItemsElements).length > 0) {
11199
- const foundElement = get(displayedItemsElements).find((el) => el.dataset.itemValue.toString() === passedValue.toString());
12138
+ const foundElement = get(displayedItemsElements).find((el) => strict_equals(el.dataset.itemValue.toString(), passedValue.toString()));
11200
12139
 
11201
12140
  if (foundElement) {
11202
12141
  foundElement.focus();
@@ -11208,8 +12147,8 @@
11208
12147
  event.preventDefault();
11209
12148
 
11210
12149
  if (!item.disabled) {
11211
- items().forEach((item) => item.checked = false);
11212
- items().find((option) => option.value === item.value).checked = true;
12150
+ items().forEach((item) => assign(item, 'checked', false, 'src/​sdg/​components/​DropdownList/​DropdownListItems/​DropdownListItemsSingle/​DropdownListItemsSingle.svelte:45:34'));
12151
+ items().find((option) => strict_equals(option.value, item.value)).checked = true;
11213
12152
  selectionCallback()();
11214
12153
  }
11215
12154
  }
@@ -11219,7 +12158,7 @@
11219
12158
  }
11220
12159
 
11221
12160
  function handleComboKey(event, index, item) {
11222
- if (event.key === "ArrowDown") {
12161
+ if (strict_equals(event.key, "ArrowDown")) {
11223
12162
  event.preventDefault();
11224
12163
  event.stopPropagation();
11225
12164
 
@@ -11228,7 +12167,7 @@
11228
12167
  }
11229
12168
  }
11230
12169
 
11231
- if (event.key === "ArrowUp") {
12170
+ if (strict_equals(event.key, "ArrowUp")) {
11232
12171
  event.preventDefault();
11233
12172
  event.stopPropagation();
11234
12173
 
@@ -11239,7 +12178,7 @@
11239
12178
  }
11240
12179
  }
11241
12180
 
11242
- if (event.key === "Enter" || event.key === " ") {
12181
+ if (strict_equals(event.key, "Enter") || strict_equals(event.key, " ")) {
11243
12182
  handleSelection(event, item);
11244
12183
  }
11245
12184
 
@@ -11259,7 +12198,7 @@
11259
12198
  }
11260
12199
 
11261
12200
  function canExit(event, index) {
11262
- return event.key === "Escape" || !event.shiftKey && event.key === "Tab" && index === displayedItems().length - 1;
12201
+ return strict_equals(event.key, "Escape") || !event.shiftKey && strict_equals(event.key, "Tab") && strict_equals(index, displayedItems().length - 1);
11263
12202
  }
11264
12203
 
11265
12204
  function itemsHaveIds() {
@@ -11281,6 +12220,8 @@
11281
12220
  var consequent_1 = ($$anchor) => {
11282
12221
  var ul = root_1$2();
11283
12222
 
12223
+ validate_each_keys(displayedItems, (item) => item.id);
12224
+
11284
12225
  each(ul, 23, displayedItems, (item) => item.id, ($$anchor, item, index) => {
11285
12226
  var li = root_2$3();
11286
12227
 
@@ -11313,6 +12254,7 @@
11313
12254
  }
11314
12255
 
11315
12256
  reset(li);
12257
+ validate_binding('bind:this={displayedItemsElements[index]}', () => get(displayedItemsElements), () => get(index));
11316
12258
  bind_this(li, ($$value, index) => get(displayedItemsElements)[index] = $$value, (index) => get(displayedItemsElements)?.[index], () => [get(index)]);
11317
12259
 
11318
12260
  template_effect(() => {
@@ -11343,9 +12285,15 @@
11343
12285
  append($$anchor, fragment);
11344
12286
 
11345
12287
  return pop({
11346
- focusOnFirstElement,
11347
- focusOnLastElement,
11348
- focusOnFirstMatchingElement,
12288
+ get focusOnFirstElement() {
12289
+ return focusOnFirstElement;
12290
+ },
12291
+ get focusOnLastElement() {
12292
+ return focusOnLastElement;
12293
+ },
12294
+ get focusOnFirstMatchingElement() {
12295
+ return focusOnFirstMatchingElement;
12296
+ },
11349
12297
  get items() {
11350
12298
  return items();
11351
12299
  },
@@ -11394,7 +12342,8 @@
11394
12342
  set handlePrintableCharacter($$value = () => {}) {
11395
12343
  handlePrintableCharacter($$value);
11396
12344
  flushSync();
11397
- }
12345
+ },
12346
+ ...legacy_api()
11398
12347
  });
11399
12348
  }
11400
12349
 
@@ -11420,17 +12369,32 @@
11420
12369
  true
11421
12370
  );
11422
12371
 
12372
+ DropdownListItemsMultiple[FILENAME] = 'src/sdg/components/DropdownList/DropdownListItems/DropdownListItemsMultiple/DropdownListItemsMultiple.svelte';
12373
+
11423
12374
  function handleChange(_, selectionCallback) {
11424
12375
  selectionCallback()();
11425
12376
  }
11426
12377
 
11427
12378
  var on_click = (e, handleLiClick, item) => handleLiClick(e, get(item));
11428
- var root_2$2 = template(`<li><label class="qc-choicefield-label" compact=""><input type="checkbox" class="qc-choicefield qc-compact"> <span> </span></label></li>`);
11429
- var root_1$1 = template(`<ul></ul>`);
12379
+
12380
+ var root_2$2 = add_locations(template(`<li><label class="qc-choicefield-label" compact=""><input type="checkbox" class="qc-choicefield qc-compact"> <span> </span></label></li>`), DropdownListItemsMultiple[FILENAME], [
12381
+ [
12382
+ 153,
12383
+ 12,
12384
+ [
12385
+ [163, 16, [[168, 20], [180, 20]]]
12386
+ ]
12387
+ ]
12388
+ ]);
12389
+
12390
+ var root_1$1 = add_locations(template(`<ul></ul>`), DropdownListItemsMultiple[FILENAME], [[147, 4]]);
11430
12391
 
11431
12392
  function DropdownListItemsMultiple($$anchor, $$props) {
12393
+ check_target(new.target);
11432
12394
  push($$props, true);
11433
12395
 
12396
+ var $$ownership_validator = create_ownership_validator($$props);
12397
+
11434
12398
  let displayedItems = prop($$props, 'displayedItems', 7),
11435
12399
  handleExit = prop($$props, 'handleExit', 7, () => {}),
11436
12400
  selectionCallback = prop($$props, 'selectionCallback', 7, () => {}),
@@ -11475,7 +12439,7 @@
11475
12439
  }
11476
12440
 
11477
12441
  function handleComboKey(event, index) {
11478
- if (event.key === "ArrowDown") {
12442
+ if (strict_equals(event.key, "ArrowDown")) {
11479
12443
  event.preventDefault();
11480
12444
  event.stopPropagation();
11481
12445
 
@@ -11488,7 +12452,7 @@
11488
12452
  }
11489
12453
  }
11490
12454
 
11491
- if (event.key === "ArrowUp") {
12455
+ if (strict_equals(event.key, "ArrowUp")) {
11492
12456
  event.preventDefault();
11493
12457
  event.stopPropagation();
11494
12458
 
@@ -11503,13 +12467,13 @@
11503
12467
  }
11504
12468
  }
11505
12469
 
11506
- if (event.key === "Enter") {
12470
+ if (strict_equals(event.key, "Enter")) {
11507
12471
  event.preventDefault();
11508
12472
  event.stopPropagation();
11509
12473
 
11510
12474
  if (displayedItems().length > 0 && !displayedItems()[index].disabled) {
11511
12475
  event.target.checked = !event.target.checked;
11512
- displayedItems()[index].checked = event.target.checked;
12476
+ $$ownership_validator.mutation('displayedItems', ['displayedItems', index, 'checked'], displayedItems()[index].checked = event.target.checked, 86, 16);
11513
12477
  }
11514
12478
  }
11515
12479
 
@@ -11529,10 +12493,10 @@
11529
12493
  }
11530
12494
 
11531
12495
  function handleLiKeyDown(event, index) {
11532
- if (event.target.tagName !== "INPUT") {
12496
+ if (strict_equals(event.target.tagName, "INPUT", false)) {
11533
12497
  handleKeyDown(event, index);
11534
12498
 
11535
- if (event.key !== "Tab") {
12499
+ if (strict_equals(event.key, "Tab", false)) {
11536
12500
  event.preventDefault();
11537
12501
  event.stopPropagation();
11538
12502
  }
@@ -11540,7 +12504,7 @@
11540
12504
  }
11541
12505
 
11542
12506
  function handleLiClick(event, item) {
11543
- if (event.target.tagName !== "INPUT") {
12507
+ if (strict_equals(event.target.tagName, "INPUT", false)) {
11544
12508
  event.preventDefault();
11545
12509
  event.stopPropagation();
11546
12510
 
@@ -11551,7 +12515,7 @@
11551
12515
  }
11552
12516
 
11553
12517
  function canExit(event, index) {
11554
- return event.key === "Escape" || !event.shiftKey && event.key === "Tab" && index === displayedItems().length - 1;
12518
+ return strict_equals(event.key, "Escape") || !event.shiftKey && strict_equals(event.key, "Tab") && strict_equals(index, displayedItems().length - 1);
11555
12519
  }
11556
12520
 
11557
12521
  function itemsHaveIds() {
@@ -11573,6 +12537,8 @@
11573
12537
  var consequent = ($$anchor) => {
11574
12538
  var ul = root_1$1();
11575
12539
 
12540
+ validate_each_keys(displayedItems, (item) => item.id);
12541
+
11576
12542
  each(ul, 23, displayedItems, (item) => item.id, ($$anchor, item, index) => {
11577
12543
  var li = root_2$2();
11578
12544
 
@@ -11589,6 +12555,8 @@
11589
12555
  set_attribute(input, 'name', name);
11590
12556
  input.__change = [handleChange, selectionCallback];
11591
12557
  input.__keydown = (e) => handleKeyDown(e, get(index));
12558
+ validate_binding('bind:checked={item.checked}', () => get(item), () => 'checked');
12559
+ validate_binding('bind:this={displayedItemsElements[index]}', () => get(displayedItemsElements), () => get(index));
11592
12560
  bind_this(input, ($$value, index) => get(displayedItemsElements)[index] = $$value, (index) => get(displayedItemsElements)?.[index], () => [get(index)]);
11593
12561
 
11594
12562
  var span = sibling(input, 2);
@@ -11632,9 +12600,15 @@
11632
12600
  append($$anchor, fragment);
11633
12601
 
11634
12602
  return pop({
11635
- focusOnFirstElement,
11636
- focusOnLastElement,
11637
- focusOnFirstMatchingElement,
12603
+ get focusOnFirstElement() {
12604
+ return focusOnFirstElement;
12605
+ },
12606
+ get focusOnLastElement() {
12607
+ return focusOnLastElement;
12608
+ },
12609
+ get focusOnFirstMatchingElement() {
12610
+ return focusOnFirstMatchingElement;
12611
+ },
11638
12612
  get displayedItems() {
11639
12613
  return displayedItems();
11640
12614
  },
@@ -11669,7 +12643,8 @@
11669
12643
  set handlePrintableCharacter($$value = () => {}) {
11670
12644
  handlePrintableCharacter($$value);
11671
12645
  flushSync();
11672
- }
12646
+ },
12647
+ ...legacy_api()
11673
12648
  });
11674
12649
  }
11675
12650
 
@@ -11693,10 +12668,13 @@
11693
12668
  true
11694
12669
  );
11695
12670
 
11696
- var root_4 = template(`<span class="qc-dropdown-list-no-options"><!></span>`);
11697
- var root$3 = template(`<div class="qc-dropdown-list-items" tabindex="-1"><!> <div class="qc-dropdown-list-no-options-container" role="status"><!></div></div>`);
12671
+ DropdownListItems[FILENAME] = 'src/sdg/components/DropdownList/DropdownListItems/DropdownListItems.svelte';
12672
+
12673
+ var root_4 = add_locations(template(`<span class="qc-dropdown-list-no-options"><!></span>`), DropdownListItems[FILENAME], [[105, 16]]);
12674
+ var root$3 = add_locations(template(`<div class="qc-dropdown-list-items" tabindex="-1"><!> <div class="qc-dropdown-list-no-options-container" role="status"><!></div></div>`), DropdownListItems[FILENAME], [[67, 0, [[102, 4]]]]);
11698
12675
 
11699
12676
  function DropdownListItems($$anchor, $$props) {
12677
+ check_target(new.target);
11700
12678
  push($$props, true);
11701
12679
 
11702
12680
  let id = prop($$props, 'id', 7),
@@ -11861,9 +12839,15 @@
11861
12839
  append($$anchor, div);
11862
12840
 
11863
12841
  return pop({
11864
- focus,
11865
- focusOnLastElement,
11866
- focusOnFirstMatchingElement,
12842
+ get focus() {
12843
+ return focus;
12844
+ },
12845
+ get focusOnLastElement() {
12846
+ return focusOnLastElement;
12847
+ },
12848
+ get focusOnFirstMatchingElement() {
12849
+ return focusOnFirstMatchingElement;
12850
+ },
11867
12851
  get id() {
11868
12852
  return id();
11869
12853
  },
@@ -11954,7 +12938,8 @@
11954
12938
  set placeholder($$value) {
11955
12939
  placeholder($$value);
11956
12940
  flushSync();
11957
- }
12941
+ },
12942
+ ...legacy_api()
11958
12943
  });
11959
12944
  }
11960
12945
 
@@ -11984,11 +12969,14 @@
11984
12969
  true
11985
12970
  );
11986
12971
 
11987
- var root_1 = template(`<span class="qc-dropdown-choice"><!></span>`);
11988
- var root_2$1 = template(`<span class="qc-dropdown-placeholder"><!></span>`);
11989
- var root$2 = template(`<button><span class="qc-dropdown-text"><!></span> <span><!></span></button>`);
12972
+ DropdownListButton[FILENAME] = 'src/sdg/components/DropdownList/DropdownListButton/DropdownListButton.svelte';
12973
+
12974
+ var root_1 = add_locations(template(`<span class="qc-dropdown-choice"><!></span>`), DropdownListButton[FILENAME], [[29, 8]]);
12975
+ var root_2$1 = add_locations(template(`<span class="qc-dropdown-placeholder"><!></span>`), DropdownListButton[FILENAME], [[31, 8]]);
12976
+ var root$2 = add_locations(template(`<button><!> <span><!></span></button>`), DropdownListButton[FILENAME], [[19, 0, [[34, 4]]]]);
11990
12977
 
11991
12978
  function DropdownListButton($$anchor, $$props) {
12979
+ check_target(new.target);
11992
12980
  push($$props, true);
11993
12981
 
11994
12982
  let inputId = prop($$props, 'inputId', 7),
@@ -11996,17 +12984,19 @@
11996
12984
  disabled = prop($$props, 'disabled', 7),
11997
12985
  selectedOptionsText = prop($$props, 'selectedOptionsText', 7, ""),
11998
12986
  placeholder = prop($$props, 'placeholder', 7),
11999
- rest = rest_props($$props, [
12000
- '$$slots',
12001
- '$$events',
12002
- '$$legacy',
12003
- '$$host',
12004
- 'inputId',
12005
- 'expanded',
12006
- 'disabled',
12007
- 'selectedOptionsText',
12008
- 'placeholder'
12009
- ]);
12987
+ rest = rest_props(
12988
+ $$props,
12989
+ [
12990
+ '$$slots',
12991
+ '$$events',
12992
+ '$$legacy',
12993
+ '$$host',
12994
+ 'inputId',
12995
+ 'expanded',
12996
+ 'disabled',
12997
+ 'selectedOptionsText',
12998
+ 'placeholder'
12999
+ ]);
12010
13000
 
12011
13001
  let button;
12012
13002
 
@@ -12016,26 +13006,25 @@
12016
13006
 
12017
13007
  var button_1 = root$2();
12018
13008
  let attributes;
12019
- var span = child(button_1);
12020
- var node = child(span);
13009
+ var node = child(button_1);
12021
13010
 
12022
13011
  {
12023
13012
  var consequent = ($$anchor) => {
12024
- var span_1 = root_1();
12025
- var node_1 = child(span_1);
13013
+ var span = root_1();
13014
+ var node_1 = child(span);
12026
13015
 
12027
13016
  html(node_1, selectedOptionsText);
12028
- reset(span_1);
12029
- append($$anchor, span_1);
13017
+ reset(span);
13018
+ append($$anchor, span);
12030
13019
  };
12031
13020
 
12032
13021
  var alternate = ($$anchor) => {
12033
- var span_2 = root_2$1();
12034
- var node_2 = child(span_2);
13022
+ var span_1 = root_2$1();
13023
+ var node_2 = child(span_1);
12035
13024
 
12036
13025
  html(node_2, placeholder);
12037
- reset(span_2);
12038
- append($$anchor, span_2);
13026
+ reset(span_1);
13027
+ append($$anchor, span_1);
12039
13028
  };
12040
13029
 
12041
13030
  if_block(node, ($$render) => {
@@ -12043,44 +13032,44 @@
12043
13032
  });
12044
13033
  }
12045
13034
 
12046
- reset(span);
13035
+ var span_2 = sibling(node, 2);
13036
+
13037
+ set_class(span_2, 1, clsx(["qc-dropdown-button-icon"]));
12047
13038
 
12048
- var span_3 = sibling(span, 2);
12049
- var node_3 = child(span_3);
13039
+ var node_3 = child(span_2);
12050
13040
  const expression = user_derived(() => disabled() ? "grey-regular" : "blue-piv");
13041
+ const expression_1 = user_derived(() => expanded() ? 0 : 180);
12051
13042
 
12052
13043
  Icon(node_3, {
12053
13044
  type: 'chevron-up-thin',
12054
13045
  get color() {
12055
13046
  return get(expression);
12056
13047
  },
12057
- size: 'sm'
13048
+ size: 'sm',
13049
+ get rotate() {
13050
+ return get(expression_1);
13051
+ }
12058
13052
  });
12059
13053
 
12060
- reset(span_3);
13054
+ reset(span_2);
12061
13055
  reset(button_1);
12062
13056
  bind_this(button_1, ($$value) => button = $$value, () => button);
12063
13057
 
12064
- template_effect(() => {
12065
- attributes = set_attributes(button_1, attributes, {
12066
- type: 'button',
12067
- id: inputId(),
12068
- disabled: disabled(),
12069
- class: 'qc-dropdown-button',
12070
- role: 'combobox',
12071
- ...rest
12072
- });
12073
-
12074
- set_class(span_3, 1, clsx([
12075
- "qc-dropdown-button-icon",
12076
- expanded() && "qc-dropdown-button-icon-expanded"
12077
- ]));
12078
- });
13058
+ template_effect(() => attributes = set_attributes(button_1, attributes, {
13059
+ type: 'button',
13060
+ id: inputId(),
13061
+ disabled: disabled(),
13062
+ class: 'qc-dropdown-button',
13063
+ role: 'combobox',
13064
+ ...rest
13065
+ }));
12079
13066
 
12080
13067
  append($$anchor, button_1);
12081
13068
 
12082
13069
  return pop({
12083
- focus,
13070
+ get focus() {
13071
+ return focus;
13072
+ },
12084
13073
  get inputId() {
12085
13074
  return inputId();
12086
13075
  },
@@ -12115,7 +13104,8 @@
12115
13104
  set placeholder($$value) {
12116
13105
  placeholder($$value);
12117
13106
  flushSync();
12118
- }
13107
+ },
13108
+ ...legacy_api()
12119
13109
  });
12120
13110
  }
12121
13111
 
@@ -12133,13 +13123,36 @@
12133
13123
  true
12134
13124
  );
12135
13125
 
12136
- var root_2 = template(`<div class="qc-dropdown-list-search"><!></div>`);
12137
- var root_3 = template(`<span> </span>`);
12138
- var root$1 = template(`<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>`);
13126
+ DropdownList[FILENAME] = 'src/sdg/components/DropdownList/DropdownList.svelte';
13127
+
13128
+ var root_2 = add_locations(template(`<div class="qc-dropdown-list-search"><!></div>`), DropdownList[FILENAME], [[337, 20]]);
13129
+ var root_3 = add_locations(template(`<span> </span>`), DropdownList[FILENAME], [[379, 24]]);
13130
+
13131
+ var root$1 = add_locations(template(`<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], [
13132
+ [
13133
+ 274,
13134
+ 0,
13135
+ [
13136
+ [
13137
+ 281,
13138
+ 4,
13139
+ [
13140
+ [
13141
+ 301,
13142
+ 8,
13143
+ [[328, 12, [[377, 16]]]]
13144
+ ]
13145
+ ]
13146
+ ]
13147
+ ]
13148
+ ]
13149
+ ]);
12139
13150
 
12140
13151
  function DropdownList($$anchor, $$props) {
13152
+ check_target(new.target);
12141
13153
  push($$props, true);
12142
13154
 
13155
+ var $$ownership_validator = create_ownership_validator($$props);
12143
13156
  const lang = Utils.getPageLanguage();
12144
13157
 
12145
13158
  let id = prop($$props, 'id', 23, () => Math.random().toString(36).substring(2, 15)),
@@ -12149,7 +13162,7 @@
12149
13162
  items = prop($$props, 'items', 23, () => []),
12150
13163
  value = prop($$props, 'value', 31, () => proxy([])),
12151
13164
  placeholder = prop($$props, 'placeholder', 7),
12152
- noOptionsMessage = prop($$props, 'noOptionsMessage', 7, lang === "fr" ? "Aucun élément" : "No item"),
13165
+ noOptionsMessage = prop($$props, 'noOptionsMessage', 23, () => strict_equals(lang, "fr") ? "Aucun élément" : "No item"),
12153
13166
  enableSearch = prop($$props, 'enableSearch', 7, false),
12154
13167
  required = prop($$props, 'required', 7, false),
12155
13168
  disabled = prop($$props, 'disabled', 7, false),
@@ -12162,7 +13175,7 @@
12162
13175
  webComponentMode = prop($$props, 'webComponentMode', 7, false),
12163
13176
  webComponentParentRow = prop($$props, 'webComponentParentRow', 7);
12164
13177
 
12165
- const defaultPlaceholder = lang === "fr" ? "Faire une sélection" : "Select an option",
13178
+ const defaultPlaceholder = strict_equals(lang, "fr") ? "Faire une sélection" : "Select an option",
12166
13179
  inputId = `${id()}-input`,
12167
13180
  popupId = `${id()}-popup`,
12168
13181
  itemsId = `${id()}-items`,
@@ -12178,7 +13191,7 @@
12178
13191
  selectedItems = user_derived(() => items().filter((item) => item.checked) ?? []),
12179
13192
  selectedOptionsText = user_derived(() => {
12180
13193
  if (get(selectedItems).length >= 3) {
12181
- if (lang === "fr") {
13194
+ if (strict_equals(lang, "fr")) {
12182
13195
  return `${get(selectedItems).length} options sélectionnées`;
12183
13196
  }
12184
13197
 
@@ -12221,7 +13234,7 @@
12221
13234
  const s = get(displayedItems).length > 1 ? "s" : "";
12222
13235
 
12223
13236
  if (get(displayedItems).length > 0) {
12224
- return lang === "fr" ? `${get(displayedItems).length} résultat${s} disponible${s}. Utilisez les flèches directionnelles haut et bas pour vous déplacer dans la liste.` : `${get(displayedItems).length} result${s} available. Use up and down arrow keys to navigate through the list.`;
13237
+ return strict_equals(lang, "fr") ? `${get(displayedItems).length} résultat${s} disponible${s}. Utilisez les flèches directionnelles haut et bas pour vous déplacer dans la liste.` : `${get(displayedItems).length} result${s} available. Use up and down arrow keys to navigate through the list.`;
12225
13238
  }
12226
13239
 
12227
13240
  return "";
@@ -12252,27 +13265,27 @@
12252
13265
  // Le changement de focus a lieu après le lancement de l'événement clavier.
12253
13266
  // Il faut donc faire un court sleep pour avoir le nouvel élément en focus.
12254
13267
  Utils.sleep(5).then(() => {
12255
- if (event.key === "Tab" && !Utils.componentIsActive(get(instance))) {
13268
+ if (strict_equals(event.key, "Tab") && !Utils.componentIsActive(get(instance))) {
12256
13269
  set(expanded, false);
12257
13270
  }
12258
13271
  }).catch(console.error);
12259
13272
  }
12260
13273
 
12261
13274
  function handleEscape(event) {
12262
- if (event.key === "Escape") {
13275
+ if (strict_equals(event.key, "Escape")) {
12263
13276
  set(expanded, false);
12264
13277
  }
12265
13278
  }
12266
13279
 
12267
13280
  function handleArrowUp(event, targetComponent) {
12268
- if (event.key === "ArrowUp" && targetComponent) {
13281
+ if (strict_equals(event.key, "ArrowUp") && targetComponent) {
12269
13282
  event.preventDefault();
12270
13283
  targetComponent.focus();
12271
13284
  }
12272
13285
  }
12273
13286
 
12274
13287
  function handleArrowDown(event, targetComponent) {
12275
- if (event.key === "ArrowDown" && targetComponent) {
13288
+ if (strict_equals(event.key, "ArrowDown") && targetComponent) {
12276
13289
  event.preventDefault();
12277
13290
  set(expanded, true);
12278
13291
  targetComponent.focus();
@@ -12283,7 +13296,7 @@
12283
13296
  handleEscape(event);
12284
13297
  handleTab(event);
12285
13298
 
12286
- if (event.key === "ArrowDown") {
13299
+ if (strict_equals(event.key, "ArrowDown")) {
12287
13300
  event.preventDefault();
12288
13301
 
12289
13302
  if (get(expanded)) {
@@ -12294,7 +13307,7 @@
12294
13307
  }
12295
13308
  }
12296
13309
 
12297
- if (event.key === "ArrowUp") {
13310
+ if (strict_equals(event.key, "ArrowUp")) {
12298
13311
  event.preventDefault();
12299
13312
 
12300
13313
  if (get(expanded)) {
@@ -12327,7 +13340,7 @@
12327
13340
  set(expanded, false);
12328
13341
  set(hiddenSearchText, "");
12329
13342
 
12330
- if (key === "Escape" && get(button)) {
13343
+ if (strict_equals(key, "Escape") && get(button)) {
12331
13344
  get(button).focus();
12332
13345
  }
12333
13346
  }
@@ -12349,7 +13362,7 @@
12349
13362
  });
12350
13363
 
12351
13364
  user_effect(() => {
12352
- if (get(previousValue)?.toString() !== value()?.toString()) {
13365
+ if (strict_equals(get(previousValue)?.toString(), value()?.toString(), false)) {
12353
13366
  invalid(false);
12354
13367
  }
12355
13368
  });
@@ -12364,7 +13377,7 @@
12364
13377
  user_effect(() => {
12365
13378
  const tempValue = get(selectedItems)?.map((item) => item.value);
12366
13379
 
12367
- if (tempValue?.toString() !== "") {
13380
+ if (strict_equals(tempValue?.toString(), "", false)) {
12368
13381
  value(tempValue);
12369
13382
  } else {
12370
13383
  value([]);
@@ -12391,11 +13404,11 @@
12391
13404
  const optionWithEmptyValue = findOptionWithEmptyValue();
12392
13405
 
12393
13406
  if (!optionWithEmptyValue) return;
12394
- placeholder(optionWithEmptyValue.label !== "" ? optionWithEmptyValue.label : defaultPlaceholder);
13407
+ placeholder(strict_equals(optionWithEmptyValue.label, "", false) ? optionWithEmptyValue.label : defaultPlaceholder);
12395
13408
  });
12396
13409
 
12397
13410
  function findOptionWithEmptyValue() {
12398
- return items()?.find((item) => item.value === "" || item.value === null || item.value === undefined);
13411
+ return items()?.find((item) => strict_equals(item.value, "") || strict_equals(item.value, null) || strict_equals(item.value, undefined));
12399
13412
  }
12400
13413
 
12401
13414
  var div = root$1();
@@ -12500,7 +13513,7 @@
12500
13513
  handleArrowDown(e, get(dropdownItems));
12501
13514
  handleArrowUp(e, get(button));
12502
13515
 
12503
- if (e.key === "Enter") {
13516
+ if (strict_equals(e.key, "Enter")) {
12504
13517
  e.preventDefault();
12505
13518
  }
12506
13519
  },
@@ -12526,45 +13539,49 @@
12526
13539
 
12527
13540
  var node_4 = sibling(node_2, 2);
12528
13541
 
12529
- bind_this(
12530
- DropdownListItems(node_4, {
12531
- id: itemsId,
12532
- get enableSearch() {
12533
- return enableSearch();
12534
- },
12535
- get placeholder() {
12536
- return placeholder();
12537
- },
12538
- get multiple() {
12539
- return multiple();
12540
- },
12541
- get items() {
12542
- return items();
12543
- },
12544
- get displayedItems() {
12545
- return get(displayedItems);
12546
- },
12547
- get noOptionsMessage() {
12548
- return noOptionsMessage();
12549
- },
12550
- selectionCallbackSingle: () => {
12551
- closeDropdown("");
12552
- get(button)?.focus();
12553
- },
12554
- handleExitSingle: (key) => closeDropdown(key),
12555
- handleExitMultiple: (key) => closeDropdown(key),
12556
- focusOnOuterElement: () => enableSearch() ? get(searchInput)?.focus() : get(button)?.focus(),
12557
- handlePrintableCharacter,
12558
- get value() {
12559
- return value();
12560
- },
12561
- set value($$value) {
12562
- value($$value);
12563
- }
12564
- }),
12565
- ($$value) => set(dropdownItems, $$value, true),
12566
- () => get(dropdownItems)
12567
- );
13542
+ {
13543
+ $$ownership_validator.binding('value', DropdownListItems, value);
13544
+
13545
+ bind_this(
13546
+ DropdownListItems(node_4, {
13547
+ id: itemsId,
13548
+ get enableSearch() {
13549
+ return enableSearch();
13550
+ },
13551
+ get placeholder() {
13552
+ return placeholder();
13553
+ },
13554
+ get multiple() {
13555
+ return multiple();
13556
+ },
13557
+ get items() {
13558
+ return items();
13559
+ },
13560
+ get displayedItems() {
13561
+ return get(displayedItems);
13562
+ },
13563
+ get noOptionsMessage() {
13564
+ return noOptionsMessage();
13565
+ },
13566
+ selectionCallbackSingle: () => {
13567
+ closeDropdown("");
13568
+ get(button)?.focus();
13569
+ },
13570
+ handleExitSingle: (key) => closeDropdown(key),
13571
+ handleExitMultiple: (key) => closeDropdown(key),
13572
+ focusOnOuterElement: () => enableSearch() ? get(searchInput)?.focus() : get(button)?.focus(),
13573
+ handlePrintableCharacter,
13574
+ get value() {
13575
+ return value();
13576
+ },
13577
+ set value($$value) {
13578
+ value($$value);
13579
+ }
13580
+ }),
13581
+ ($$value) => set(dropdownItems, $$value, true),
13582
+ () => get(dropdownItems)
13583
+ );
13584
+ }
12568
13585
 
12569
13586
  var div_5 = sibling(node_4, 2);
12570
13587
  var node_5 = child(div_5);
@@ -12587,25 +13604,29 @@
12587
13604
  var node_6 = sibling(div_1, 2);
12588
13605
  const expression_1 = user_derived(() => label() ?? ariaLabel());
12589
13606
 
12590
- FormError(node_6, {
12591
- id: errorId,
12592
- get invalid() {
12593
- return invalid();
12594
- },
12595
- get invalidText() {
12596
- return invalidText();
12597
- },
12598
- extraClasses: ["qc-xs-mt"],
12599
- get label() {
12600
- return get(expression_1);
12601
- },
12602
- get rootElement() {
12603
- return errorElement();
12604
- },
12605
- set rootElement($$value) {
12606
- errorElement($$value);
12607
- }
12608
- });
13607
+ {
13608
+ $$ownership_validator.binding('errorElement', FormError, errorElement);
13609
+
13610
+ FormError(node_6, {
13611
+ id: errorId,
13612
+ get invalid() {
13613
+ return invalid();
13614
+ },
13615
+ get invalidText() {
13616
+ return invalidText();
13617
+ },
13618
+ extraClasses: ["qc-xs-mt"],
13619
+ get label() {
13620
+ return get(expression_1);
13621
+ },
13622
+ get rootElement() {
13623
+ return errorElement();
13624
+ },
13625
+ set rootElement($$value) {
13626
+ errorElement($$value);
13627
+ }
13628
+ });
13629
+ }
12609
13630
 
12610
13631
  reset(div);
12611
13632
  bind_this(div, ($$value) => rootElement($$value), () => rootElement());
@@ -12769,7 +13790,8 @@
12769
13790
  set webComponentParentRow($$value) {
12770
13791
  webComponentParentRow($$value);
12771
13792
  flushSync();
12772
- }
13793
+ },
13794
+ ...legacy_api()
12773
13795
  });
12774
13796
  }
12775
13797
 
@@ -12801,11 +13823,16 @@
12801
13823
  true
12802
13824
  );
12803
13825
 
12804
- var root = template(`<div hidden><!></div> <!> <link rel="stylesheet">`, 1);
13826
+ SelectWC[FILENAME] = 'src/sdg/components/DropdownList/SelectWC.svelte';
13827
+
13828
+ var root = add_locations(template(`<div hidden><!></div> <!> <link rel="stylesheet">`, 1), SelectWC[FILENAME], [[137, 0], [158, 0]]);
12805
13829
 
12806
13830
  function SelectWC($$anchor, $$props) {
13831
+ check_target(new.target);
12807
13832
  push($$props, true);
12808
13833
 
13834
+ var $$ownership_validator = create_ownership_validator($$props);
13835
+
12809
13836
  let invalid = prop($$props, 'invalid', 15, false),
12810
13837
  value = prop($$props, 'value', 31, () => proxy([])),
12811
13838
  multiple = prop($$props, 'multiple', 7),
@@ -12814,20 +13841,22 @@
12814
13841
  label = prop($$props, 'label', 7),
12815
13842
  placeholder = prop($$props, 'placeholder', 7),
12816
13843
  width = prop($$props, 'width', 7),
12817
- rest = rest_props($$props, [
12818
- '$$slots',
12819
- '$$events',
12820
- '$$legacy',
12821
- '$$host',
12822
- 'invalid',
12823
- 'value',
12824
- 'multiple',
12825
- 'disabled',
12826
- 'required',
12827
- 'label',
12828
- 'placeholder',
12829
- 'width'
12830
- ]);
13844
+ rest = rest_props(
13845
+ $$props,
13846
+ [
13847
+ '$$slots',
13848
+ '$$events',
13849
+ '$$legacy',
13850
+ '$$host',
13851
+ 'invalid',
13852
+ 'value',
13853
+ 'multiple',
13854
+ 'disabled',
13855
+ 'required',
13856
+ 'label',
13857
+ 'placeholder',
13858
+ 'width'
13859
+ ]);
12831
13860
 
12832
13861
  const availableWidths = ["xs", "sm", "md", "lg", "xl"];
12833
13862
  let selectElement = state(void 0);
@@ -12939,65 +13968,70 @@
12939
13968
  var node_1 = sibling(div, 2);
12940
13969
  const expression = user_derived(() => get(selectElement)?.getAttribute("aria-label"));
12941
13970
 
12942
- DropdownList(node_1, spread_props(
12943
- {
12944
- get label() {
12945
- return label();
12946
- },
12947
- get ariaLabel() {
12948
- return get(expression);
12949
- },
12950
- get items() {
12951
- return get(items);
12952
- },
12953
- get placeholder() {
12954
- return placeholder();
12955
- },
12956
- get width() {
12957
- return width();
12958
- },
12959
- webComponentMode: true,
12960
- get webComponentParentRow() {
12961
- return get(parentRow);
12962
- },
12963
- get multiple() {
12964
- return multiple();
12965
- },
12966
- get disabled() {
12967
- return disabled();
12968
- },
12969
- get required() {
12970
- return required();
12971
- }
12972
- },
12973
- () => rest,
12974
- {
12975
- get value() {
12976
- return value();
12977
- },
12978
- set value($$value) {
12979
- value($$value);
12980
- },
12981
- get errorElement() {
12982
- return get(errorElement);
12983
- },
12984
- set errorElement($$value) {
12985
- set(errorElement, $$value, true);
12986
- },
12987
- get invalid() {
12988
- return invalid();
12989
- },
12990
- set invalid($$value) {
12991
- invalid($$value);
12992
- },
12993
- get rootElement() {
12994
- return get(instance);
13971
+ {
13972
+ $$ownership_validator.binding('value', DropdownList, value);
13973
+ $$ownership_validator.binding('invalid', DropdownList, invalid);
13974
+
13975
+ DropdownList(node_1, spread_props(
13976
+ {
13977
+ get label() {
13978
+ return label();
13979
+ },
13980
+ get ariaLabel() {
13981
+ return get(expression);
13982
+ },
13983
+ get items() {
13984
+ return get(items);
13985
+ },
13986
+ get placeholder() {
13987
+ return placeholder();
13988
+ },
13989
+ get width() {
13990
+ return width();
13991
+ },
13992
+ webComponentMode: true,
13993
+ get webComponentParentRow() {
13994
+ return get(parentRow);
13995
+ },
13996
+ get multiple() {
13997
+ return multiple();
13998
+ },
13999
+ get disabled() {
14000
+ return disabled();
14001
+ },
14002
+ get required() {
14003
+ return required();
14004
+ }
12995
14005
  },
12996
- set rootElement($$value) {
12997
- set(instance, $$value, true);
14006
+ () => rest,
14007
+ {
14008
+ get value() {
14009
+ return value();
14010
+ },
14011
+ set value($$value) {
14012
+ value($$value);
14013
+ },
14014
+ get errorElement() {
14015
+ return get(errorElement);
14016
+ },
14017
+ set errorElement($$value) {
14018
+ set(errorElement, $$value, true);
14019
+ },
14020
+ get invalid() {
14021
+ return invalid();
14022
+ },
14023
+ set invalid($$value) {
14024
+ invalid($$value);
14025
+ },
14026
+ get rootElement() {
14027
+ return get(instance);
14028
+ },
14029
+ set rootElement($$value) {
14030
+ set(instance, $$value, true);
14031
+ }
12998
14032
  }
12999
- }
13000
- ));
14033
+ ));
14034
+ }
13001
14035
 
13002
14036
  var link = sibling(node_1, 2);
13003
14037
 
@@ -13060,7 +14094,8 @@
13060
14094
  set width($$value) {
13061
14095
  width($$value);
13062
14096
  flushSync();
13063
- }
14097
+ },
14098
+ ...legacy_api()
13064
14099
  });
13065
14100
  }
13066
14101