qc-trousse-sdg 1.4.3 → 1.4.4

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;
@@ -112,6 +145,7 @@
112
145
  const EFFECT_RAN = 1 << 15;
113
146
  /** 'Transparent' effects do not create a transition boundary */
114
147
  const EFFECT_TRANSPARENT = 1 << 16;
148
+ const INSPECT_EFFECT = 1 << 18;
115
149
  const HEAD_EFFECT = 1 << 19;
116
150
  const EFFECT_HAS_DERIVED = 1 << 20;
117
151
  const EFFECT_IS_UPDATING = 1 << 21;
@@ -123,6 +157,43 @@
123
157
  /* This file is generated by scripts/process-messages/index.js. Do not edit! */
124
158
 
125
159
 
160
+ /**
161
+ * Calling `%method%` on a component instance (of %component%) is no longer valid in Svelte 5
162
+ * @param {string} method
163
+ * @param {string} component
164
+ * @returns {never}
165
+ */
166
+ function component_api_changed(method, component) {
167
+ {
168
+ throw new Error(`https://svelte.dev/e/component_api_changed`);
169
+ }
170
+ }
171
+
172
+ /**
173
+ * 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.
174
+ * @param {string} component
175
+ * @param {string} name
176
+ * @returns {never}
177
+ */
178
+ function component_api_invalid_new(component, name) {
179
+ {
180
+ throw new Error(`https://svelte.dev/e/component_api_invalid_new`);
181
+ }
182
+ }
183
+
184
+ /**
185
+ * Keyed each block has duplicate key `%value%` at indexes %a% and %b%
186
+ * @param {string} a
187
+ * @param {string} b
188
+ * @param {string | undefined | null} [value]
189
+ * @returns {never}
190
+ */
191
+ function each_key_duplicate(a, b, value) {
192
+ {
193
+ throw new Error(`https://svelte.dev/e/each_key_duplicate`);
194
+ }
195
+ }
196
+
126
197
  /**
127
198
  * `%rune%` cannot be used inside an effect cleanup function
128
199
  * @param {string} rune
@@ -219,6 +290,49 @@
219
290
  /* This file is generated by scripts/process-messages/index.js. Do not edit! */
220
291
 
221
292
 
293
+ /**
294
+ * 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.
295
+ * @param {string} property
296
+ * @param {string} location
297
+ */
298
+ function assignment_value_stale(property, location) {
299
+ {
300
+ console.warn(`https://svelte.dev/e/assignment_value_stale`);
301
+ }
302
+ }
303
+
304
+ /**
305
+ * `%binding%` (%location%) is binding to a non-reactive property
306
+ * @param {string} binding
307
+ * @param {string | undefined | null} [location]
308
+ */
309
+ function binding_property_non_reactive(binding, location) {
310
+ {
311
+ console.warn(`https://svelte.dev/e/binding_property_non_reactive`);
312
+ }
313
+ }
314
+
315
+ /**
316
+ * Your `console.%method%` contained `$state` proxies. Consider using `$inspect(...)` or `$state.snapshot(...)` instead
317
+ * @param {string} method
318
+ */
319
+ function console_log_state(method) {
320
+ {
321
+ console.warn(`https://svelte.dev/e/console_log_state`);
322
+ }
323
+ }
324
+
325
+ /**
326
+ * %handler% should be a function. Did you mean to %suggestion%?
327
+ * @param {string} handler
328
+ * @param {string} suggestion
329
+ */
330
+ function event_handler_invalid(handler, suggestion) {
331
+ {
332
+ console.warn(`https://svelte.dev/e/event_handler_invalid`);
333
+ }
334
+ }
335
+
222
336
  /**
223
337
  * Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near %location%
224
338
  * @param {string | undefined | null} [location]
@@ -229,6 +343,42 @@
229
343
  }
230
344
  }
231
345
 
346
+ /**
347
+ * %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%={...}`)
348
+ * @param {string} parent
349
+ * @param {string} prop
350
+ * @param {string} child
351
+ * @param {string} owner
352
+ */
353
+ function ownership_invalid_binding(parent, prop, child, owner) {
354
+ {
355
+ console.warn(`https://svelte.dev/e/ownership_invalid_binding`);
356
+ }
357
+ }
358
+
359
+ /**
360
+ * Mutating unbound props (`%name%`, at %location%) is strongly discouraged. Consider using `bind:%prop%={...}` in %parent% (or using a callback) instead
361
+ * @param {string} name
362
+ * @param {string} location
363
+ * @param {string} prop
364
+ * @param {string} parent
365
+ */
366
+ function ownership_invalid_mutation(name, location, prop, parent) {
367
+ {
368
+ console.warn(`https://svelte.dev/e/ownership_invalid_mutation`);
369
+ }
370
+ }
371
+
372
+ /**
373
+ * Reactive `$state(...)` proxies and the values they proxy have different identities. Because of this, comparisons with `%operator%` will produce unexpected results
374
+ * @param {string} operator
375
+ */
376
+ function state_proxy_equality_mismatch(operator) {
377
+ {
378
+ console.warn(`https://svelte.dev/e/state_proxy_equality_mismatch`);
379
+ }
380
+ }
381
+
232
382
  /** @import { TemplateNode } from '#client' */
233
383
 
234
384
 
@@ -317,6 +467,19 @@
317
467
  }
318
468
  }
319
469
 
470
+ /* This file is generated by scripts/process-messages/index.js. Do not edit! */
471
+
472
+
473
+ /**
474
+ * `<svelte:element this="%tag%">` is a void element — it cannot have content
475
+ * @param {string} tag
476
+ */
477
+ function dynamic_void_element_content(tag) {
478
+ {
479
+ console.warn(`https://svelte.dev/e/dynamic_void_element_content`);
480
+ }
481
+ }
482
+
320
483
  /** @import { Snapshot } from './types' */
321
484
 
322
485
  /**
@@ -725,6 +888,24 @@
725
888
  return Object.is(get_proxied_value(a), get_proxied_value(b));
726
889
  }
727
890
 
891
+ /**
892
+ * @param {any} a
893
+ * @param {any} b
894
+ * @param {boolean} equal
895
+ * @returns {boolean}
896
+ */
897
+ function strict_equals(a, b, equal = true) {
898
+ // try-catch needed because this tries to read properties of `a` and `b`,
899
+ // which could be disallowed for example in a secure context
900
+ try {
901
+ if ((a === b) !== (get_proxied_value(a) === get_proxied_value(b))) {
902
+ state_proxy_equality_mismatch(equal ? '===' : '!==');
903
+ }
904
+ } catch {}
905
+
906
+ return (a === b) === equal;
907
+ }
908
+
728
909
  /** @import { TemplateNode } from '#client' */
729
910
 
730
911
  // export these for reference in the compiled code, making global name deduplication unnecessary
@@ -1218,6 +1399,11 @@
1218
1399
  }
1219
1400
  }
1220
1401
 
1402
+ /** @param {() => void | (() => void)} fn */
1403
+ function inspect_effect(fn) {
1404
+ return create_effect(INSPECT_EFFECT, fn, true);
1405
+ }
1406
+
1221
1407
  /**
1222
1408
  * Internal representation of `$effect.root(...)`
1223
1409
  * @param {() => void | (() => void)} fn
@@ -2565,6 +2751,23 @@
2565
2751
  component_context = context;
2566
2752
  }
2567
2753
 
2754
+ /**
2755
+ * The current component function. Different from current component context:
2756
+ * ```html
2757
+ * <!-- App.svelte -->
2758
+ * <Foo>
2759
+ * <Bar /> <!-- context == Foo.svelte, function == App.svelte -->
2760
+ * </Foo>
2761
+ * ```
2762
+ * @type {ComponentContext['function']}
2763
+ */
2764
+ let dev_current_component_function = null;
2765
+
2766
+ /** @param {ComponentContext['function']} fn */
2767
+ function set_dev_current_component_function(fn) {
2768
+ dev_current_component_function = fn;
2769
+ }
2770
+
2568
2771
  /**
2569
2772
  * Retrieves the context that belongs to the closest parent component with the specified `key`.
2570
2773
  * Must be called during component initialisation.
@@ -2671,6 +2874,33 @@
2671
2874
  return null;
2672
2875
  }
2673
2876
 
2877
+ const VOID_ELEMENT_NAMES = [
2878
+ 'area',
2879
+ 'base',
2880
+ 'br',
2881
+ 'col',
2882
+ 'command',
2883
+ 'embed',
2884
+ 'hr',
2885
+ 'img',
2886
+ 'input',
2887
+ 'keygen',
2888
+ 'link',
2889
+ 'meta',
2890
+ 'param',
2891
+ 'source',
2892
+ 'track',
2893
+ 'wbr'
2894
+ ];
2895
+
2896
+ /**
2897
+ * Returns `true` if `name` is of a void element
2898
+ * @param {string} name
2899
+ */
2900
+ function is_void(name) {
2901
+ return VOID_ELEMENT_NAMES.includes(name) || name.toLowerCase() === '!doctype';
2902
+ }
2903
+
2674
2904
  /**
2675
2905
  * @param {string} name
2676
2906
  */
@@ -2770,6 +3000,105 @@
2770
3000
  return RAW_TEXT_ELEMENTS.includes(/** @type {RAW_TEXT_ELEMENTS[number]} */ (name));
2771
3001
  }
2772
3002
 
3003
+ /**
3004
+ * Prevent devtools trying to make `location` a clickable link by inserting a zero-width space
3005
+ * @template {string | undefined} T
3006
+ * @param {T} location
3007
+ * @returns {T};
3008
+ */
3009
+ function sanitize_location(location) {
3010
+ return /** @type {T} */ (location?.replace(/\//g, '/\u200b'));
3011
+ }
3012
+
3013
+ /**
3014
+ *
3015
+ * @param {any} a
3016
+ * @param {any} b
3017
+ * @param {string} property
3018
+ * @param {string} location
3019
+ */
3020
+ function compare(a, b, property, location) {
3021
+ if (a !== b) {
3022
+ assignment_value_stale(property, /** @type {string} */ (sanitize_location(location)));
3023
+ }
3024
+
3025
+ return a;
3026
+ }
3027
+
3028
+ /**
3029
+ * @param {any} object
3030
+ * @param {string} property
3031
+ * @param {any} value
3032
+ * @param {string} location
3033
+ */
3034
+ function assign(object, property, value, location) {
3035
+ return compare(
3036
+ (object[property] = value),
3037
+ untrack(() => object[property]),
3038
+ property,
3039
+ location
3040
+ );
3041
+ }
3042
+
3043
+ /** @import { SourceLocation } from '#shared' */
3044
+
3045
+ /**
3046
+ * @param {any} fn
3047
+ * @param {string} filename
3048
+ * @param {SourceLocation[]} locations
3049
+ * @returns {any}
3050
+ */
3051
+ function add_locations(fn, filename, locations) {
3052
+ return (/** @type {any[]} */ ...args) => {
3053
+ const dom = fn(...args);
3054
+
3055
+ var node = hydrating ? dom : dom.nodeType === 11 ? dom.firstChild : dom;
3056
+ assign_locations(node, filename, locations);
3057
+
3058
+ return dom;
3059
+ };
3060
+ }
3061
+
3062
+ /**
3063
+ * @param {Element} element
3064
+ * @param {string} filename
3065
+ * @param {SourceLocation} location
3066
+ */
3067
+ function assign_location(element, filename, location) {
3068
+ // @ts-expect-error
3069
+ element.__svelte_meta = {
3070
+ loc: { file: filename, line: location[0], column: location[1] }
3071
+ };
3072
+
3073
+ if (location[2]) {
3074
+ assign_locations(element.firstChild, filename, location[2]);
3075
+ }
3076
+ }
3077
+
3078
+ /**
3079
+ * @param {Node | null} node
3080
+ * @param {string} filename
3081
+ * @param {SourceLocation[]} locations
3082
+ */
3083
+ function assign_locations(node, filename, locations) {
3084
+ var i = 0;
3085
+ var depth = 0;
3086
+
3087
+ while (node && i < locations.length) {
3088
+ if (hydrating && node.nodeType === 8) {
3089
+ var comment = /** @type {Comment} */ (node);
3090
+ if (comment.data === HYDRATION_START || comment.data === HYDRATION_START_ELSE) depth += 1;
3091
+ else if (comment.data[0] === HYDRATION_END) depth -= 1;
3092
+ }
3093
+
3094
+ if (depth === 0 && node.nodeType === 1) {
3095
+ assign_location(/** @type {Element} */ (node), filename, locations[i++]);
3096
+ }
3097
+
3098
+ node = node.nextSibling;
3099
+ }
3100
+ }
3101
+
2773
3102
  /**
2774
3103
  * @param {HTMLElement} dom
2775
3104
  * @param {boolean} value
@@ -3082,6 +3411,48 @@
3082
3411
  }
3083
3412
  }
3084
3413
 
3414
+ /**
3415
+ * In dev, warn if an event handler is not a function, as it means the
3416
+ * user probably called the handler or forgot to add a `() =>`
3417
+ * @param {() => (event: Event, ...args: any) => void} thunk
3418
+ * @param {EventTarget} element
3419
+ * @param {[Event, ...any]} args
3420
+ * @param {any} component
3421
+ * @param {[number, number]} [loc]
3422
+ * @param {boolean} [remove_parens]
3423
+ */
3424
+ function apply(
3425
+ thunk,
3426
+ element,
3427
+ args,
3428
+ component,
3429
+ loc,
3430
+ has_side_effects = false,
3431
+ remove_parens = false
3432
+ ) {
3433
+ let handler;
3434
+ let error;
3435
+
3436
+ try {
3437
+ handler = thunk();
3438
+ } catch (e) {
3439
+ error = e;
3440
+ }
3441
+
3442
+ if (typeof handler !== 'function' && (has_side_effects || handler != null || error)) {
3443
+ component?.[FILENAME];
3444
+ const phase = args[0]?.eventPhase < Event.BUBBLING_PHASE ? 'capture' : '';
3445
+ args[0]?.type + phase;
3446
+
3447
+ event_handler_invalid();
3448
+
3449
+ if (error) {
3450
+ throw error;
3451
+ }
3452
+ }
3453
+ handler?.apply(element, args);
3454
+ }
3455
+
3085
3456
  /** @param {string} html */
3086
3457
  function create_fragment_from_html(html) {
3087
3458
  var elem = document.createElement('template');
@@ -3445,6 +3816,152 @@
3445
3816
  return Promise.resolve();
3446
3817
  }
3447
3818
 
3819
+ /** @typedef {{ file: string, line: number, column: number }} Location */
3820
+
3821
+
3822
+ /**
3823
+ * Sets up a validator that
3824
+ * - traverses the path of a prop to find out if it is allowed to be mutated
3825
+ * - checks that the binding chain is not interrupted
3826
+ * @param {Record<string, any>} props
3827
+ */
3828
+ function create_ownership_validator(props) {
3829
+ const component = component_context?.function;
3830
+ const parent = component_context?.p?.function;
3831
+
3832
+ return {
3833
+ /**
3834
+ * @param {string} prop
3835
+ * @param {any[]} path
3836
+ * @param {any} result
3837
+ * @param {number} line
3838
+ * @param {number} column
3839
+ */
3840
+ mutation: (prop, path, result, line, column) => {
3841
+ const name = path[0];
3842
+ if (is_bound_or_unset(props, name) || !parent) {
3843
+ return result;
3844
+ }
3845
+
3846
+ /** @type {any} */
3847
+ let value = props;
3848
+
3849
+ for (let i = 0; i < path.length - 1; i++) {
3850
+ value = value[path[i]];
3851
+ if (!value?.[STATE_SYMBOL]) {
3852
+ return result;
3853
+ }
3854
+ }
3855
+
3856
+ const location = sanitize_location(`${component[FILENAME]}:${line}:${column}`);
3857
+
3858
+ ownership_invalid_mutation(name, location, prop, parent[FILENAME]);
3859
+
3860
+ return result;
3861
+ },
3862
+ /**
3863
+ * @param {any} key
3864
+ * @param {any} child_component
3865
+ * @param {() => any} value
3866
+ */
3867
+ binding: (key, child_component, value) => {
3868
+ if (!is_bound_or_unset(props, key) && parent && value()?.[STATE_SYMBOL]) {
3869
+ ownership_invalid_binding(
3870
+ component[FILENAME],
3871
+ key,
3872
+ child_component[FILENAME],
3873
+ parent[FILENAME]
3874
+ );
3875
+ }
3876
+ }
3877
+ };
3878
+ }
3879
+
3880
+ /**
3881
+ * @param {Record<string, any>} props
3882
+ * @param {string} prop_name
3883
+ */
3884
+ function is_bound_or_unset(props, prop_name) {
3885
+ // Can be the case when someone does `mount(Component, props)` with `let props = $state({...})`
3886
+ // or `createClassComponent(Component, props)`
3887
+ const is_entry_props = STATE_SYMBOL in props || LEGACY_PROPS in props;
3888
+ return (
3889
+ !!get_descriptor(props, prop_name)?.set ||
3890
+ (is_entry_props && prop_name in props) ||
3891
+ !(prop_name in props)
3892
+ );
3893
+ }
3894
+
3895
+ /** @param {Function & { [FILENAME]: string }} target */
3896
+ function check_target(target) {
3897
+ if (target) {
3898
+ component_api_invalid_new(target[FILENAME] ?? 'a component', target.name);
3899
+ }
3900
+ }
3901
+
3902
+ function legacy_api() {
3903
+ const component = component_context?.function;
3904
+
3905
+ /** @param {string} method */
3906
+ function error(method) {
3907
+ component_api_changed(method, component[FILENAME]);
3908
+ }
3909
+
3910
+ return {
3911
+ $destroy: () => error('$destroy()'),
3912
+ $on: () => error('$on(...)'),
3913
+ $set: () => error('$set(...)')
3914
+ };
3915
+ }
3916
+
3917
+ /**
3918
+ * @param {() => any[]} get_value
3919
+ * @param {Function} [inspector]
3920
+ */
3921
+ // eslint-disable-next-line no-console
3922
+ function inspect(get_value, inspector = console.log) {
3923
+ validate_effect();
3924
+
3925
+ let initial = true;
3926
+
3927
+ inspect_effect(() => {
3928
+ /** @type {any} */
3929
+ var value = UNINITIALIZED;
3930
+
3931
+ // Capturing the value might result in an exception due to the inspect effect being
3932
+ // sync and thus operating on stale data. In the case we encounter an exception we
3933
+ // can bail-out of reporting the value. Instead we simply console.error the error
3934
+ // so at least it's known that an error occured, but we don't stop execution
3935
+ try {
3936
+ value = get_value();
3937
+ } catch (error) {
3938
+ // eslint-disable-next-line no-console
3939
+ console.error(error);
3940
+ }
3941
+
3942
+ if (value !== UNINITIALIZED) {
3943
+ inspector(initial ? 'init' : 'update', ...snapshot(value, true));
3944
+ }
3945
+
3946
+ initial = false;
3947
+ });
3948
+ }
3949
+
3950
+ /**
3951
+ * @param {Node} anchor
3952
+ * @param {...(()=>any)[]} args
3953
+ */
3954
+ function validate_snippet_args(anchor, ...args) {
3955
+ if (typeof anchor !== 'object' || !(anchor instanceof Node)) {
3956
+ invalid_snippet_arguments();
3957
+ }
3958
+ for (let arg of args) {
3959
+ if (typeof arg !== 'function') {
3960
+ invalid_snippet_arguments();
3961
+ }
3962
+ }
3963
+ }
3964
+
3448
3965
  /** @import { Effect, Source, TemplateNode } from '#client' */
3449
3966
 
3450
3967
  const PENDING = 0;
@@ -4390,6 +4907,41 @@
4390
4907
  });
4391
4908
  }
4392
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
+
4393
4945
  /** @import { Snippet } from 'svelte' */
4394
4946
  /** @import { Effect, TemplateNode } from '#client' */
4395
4947
  /** @import { Getters } from '#shared' */
@@ -4427,6 +4979,29 @@
4427
4979
  }
4428
4980
  }
4429
4981
 
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
+
4430
5005
  /** @import { Effect, TemplateNode } from '#client' */
4431
5006
 
4432
5007
  /**
@@ -5849,6 +6424,80 @@
5849
6424
  };
5850
6425
  }
5851
6426
 
6427
+ /**
6428
+ * @param {() => any} collection
6429
+ * @param {(item: any, index: number) => string} key_fn
6430
+ * @returns {void}
6431
+ */
6432
+ function validate_each_keys(collection, key_fn) {
6433
+ render_effect(() => {
6434
+ const keys = new Map();
6435
+ const maybe_array = collection();
6436
+ const array = is_array(maybe_array)
6437
+ ? maybe_array
6438
+ : maybe_array == null
6439
+ ? []
6440
+ : Array.from(maybe_array);
6441
+ const length = array.length;
6442
+ for (let i = 0; i < length; i++) {
6443
+ const key = key_fn(array[i], i);
6444
+ if (keys.has(key)) {
6445
+ String(keys.get(key));
6446
+
6447
+ /** @type {string | null} */
6448
+ let k = String(key);
6449
+ if (k.startsWith('[object ')) k = null;
6450
+
6451
+ each_key_duplicate();
6452
+ }
6453
+ keys.set(key, i);
6454
+ }
6455
+ });
6456
+ }
6457
+
6458
+ /**
6459
+ * @param {string} binding
6460
+ * @param {() => Record<string, any>} get_object
6461
+ * @param {() => string} get_property
6462
+ * @param {number} line
6463
+ * @param {number} column
6464
+ */
6465
+ function validate_binding(binding, get_object, get_property, line, column) {
6466
+ var warned = false;
6467
+
6468
+ dev_current_component_function?.[FILENAME];
6469
+
6470
+ render_effect(() => {
6471
+ if (warned) return;
6472
+
6473
+ var [object, is_store_sub] = capture_store_binding(get_object);
6474
+
6475
+ if (is_store_sub) return;
6476
+
6477
+ var property = get_property();
6478
+
6479
+ var ran = false;
6480
+
6481
+ // by making the (possibly false, but it would be an extreme edge case) assumption
6482
+ // that a getter has a corresponding setter, we can determine if a property is
6483
+ // reactive by seeing if this effect has dependencies
6484
+ var effect = render_effect(() => {
6485
+ if (ran) return;
6486
+
6487
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions
6488
+ object[property];
6489
+ });
6490
+
6491
+ ran = true;
6492
+
6493
+ if (effect.deps === null) {
6494
+ binding_property_non_reactive();
6495
+
6496
+ warned = true;
6497
+ }
6498
+ });
6499
+ }
6500
+
5852
6501
  /** @import { ComponentConstructorOptions, ComponentType, SvelteComponent, Component } from 'svelte' */
5853
6502
 
5854
6503
  /**
@@ -6319,6 +6968,37 @@
6319
6968
  return Class;
6320
6969
  }
6321
6970
 
6971
+ /**
6972
+ * @param {string} method
6973
+ * @param {...any} objects
6974
+ */
6975
+ function log_if_contains_state(method, ...objects) {
6976
+ untrack(() => {
6977
+ try {
6978
+ let has_state = false;
6979
+ const transformed = [];
6980
+
6981
+ for (const obj of objects) {
6982
+ if (obj && typeof obj === 'object' && STATE_SYMBOL in obj) {
6983
+ transformed.push(snapshot(obj, true));
6984
+ has_state = true;
6985
+ } else {
6986
+ transformed.push(obj);
6987
+ }
6988
+ }
6989
+
6990
+ if (has_state) {
6991
+ console_log_state(method);
6992
+
6993
+ // eslint-disable-next-line no-console
6994
+ console.log('%c[snapshot]', 'color: grey', ...transformed);
6995
+ }
6996
+ } catch {}
6997
+ });
6998
+
6999
+ return objects;
7000
+ }
7001
+
6322
7002
  function getDefaultExportFromCjs (x) {
6323
7003
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
6324
7004
  }
@@ -74244,6 +74924,8 @@
74244
74924
  var jsExports = requireJs();
74245
74925
  var jsBeautify = /*@__PURE__*/getDefaultExportFromCjs(jsExports);
74246
74926
 
74927
+ Code[FILENAME] = 'src/doc/components/Code.svelte';
74928
+
74247
74929
  function copy(_, prettyCode) {
74248
74930
  navigator.clipboard.writeText(get(prettyCode));
74249
74931
  this.classList.add('copied');
@@ -74256,17 +74938,34 @@
74256
74938
  );
74257
74939
  }
74258
74940
 
74259
- var root$f = template(`<pre class="qc-hash-1fxiy4n"><code class="hljs"><button class="qc-button qc-compact qc-primary">
74941
+ var root$f = add_locations(
74942
+ template(`<pre class="qc-hash-1fxiy4n"><code class="hljs"><button class="qc-button qc-compact qc-primary">
74260
74943
  <span class="copy">copier</span>
74261
74944
  <span class="copied">copié !</span>
74262
- </button><!></code></pre>`);
74945
+ </button><!></code></pre>`),
74946
+ Code[FILENAME],
74947
+ [
74948
+ [
74949
+ 54,
74950
+ 0,
74951
+ [
74952
+ [
74953
+ 55,
74954
+ 5,
74955
+ [[56, 9, [[58, 12], [59, 12]]]]
74956
+ ]
74957
+ ]
74958
+ ]
74959
+ ]
74960
+ );
74263
74961
 
74264
74962
  const $$css$5 = {
74265
74963
  hash: 'qc-hash-1fxiy4n',
74266
- code: 'pre.qc-hash-1fxiy4n {max-inline-size:var(--qc-max-content-width);}'
74964
+ code: 'pre.qc-hash-1fxiy4n {\n max-inline-size: var(--qc-max-content-width);\n}'
74267
74965
  };
74268
74966
 
74269
74967
  function Code($$anchor, $$props) {
74968
+ check_target(new.target);
74270
74969
  push($$props, true);
74271
74970
  append_styles$1($$anchor, $$css$5);
74272
74971
 
@@ -74285,7 +74984,7 @@
74285
74984
 
74286
74985
  rawCode.replace('class="mounted"', '').replace('/qc-hash-.*/g', '').replace('/is-external=""/g', 'is-external');
74287
74986
  // prettyCode = pretty(rawCode, prettyOptions);
74288
- set(prettyCode, language() === 'javascript' ? jsBeautify(rawCode) : pretty(rawCode, { wrap_attributes: 'force-aligned' }), true);
74987
+ set(prettyCode, strict_equals(language(), 'javascript') ? jsBeautify(rawCode) : pretty(rawCode, { wrap_attributes: 'force-aligned' }), true);
74289
74988
  set(hlCode, HighlightJS.highlight(get(prettyCode), { language: language() }).value, true);
74290
74989
  }
74291
74990
 
@@ -74332,7 +75031,8 @@
74332
75031
  set outerHTML($$value = false) {
74333
75032
  outerHTML($$value);
74334
75033
  flushSync();
74335
- }
75034
+ },
75035
+ ...legacy_api()
74336
75036
  });
74337
75037
  }
74338
75038
 
@@ -74351,14 +75051,30 @@
74351
75051
  false
74352
75052
  ));
74353
75053
 
74354
- var root$e = template(`<div class="color-details qc-hash-1we8qc0"><div></div> <div class="color-description qc-hash-1we8qc0"><strong> </strong><br> <code> </code></div></div>`);
75054
+ Color_doc[FILENAME] = 'src/doc/components/color-doc.svelte';
75055
+
75056
+ var root$e = add_locations(template(`<div class="color-details qc-hash-1we8qc0"><div></div> <div class="color-description qc-hash-1we8qc0"><strong> </strong><br> <code> </code></div></div>`), Color_doc[FILENAME], [
75057
+ [
75058
+ 16,
75059
+ 0,
75060
+ [
75061
+ [17, 4],
75062
+ [
75063
+ 19,
75064
+ 4,
75065
+ [[20, 8], [20, 32], [21, 8]]
75066
+ ]
75067
+ ]
75068
+ ]
75069
+ ]);
74355
75070
 
74356
75071
  const $$css$4 = {
74357
75072
  hash: 'qc-hash-1we8qc0',
74358
- code: '.qc-bg-color-white.qc-hash-1we8qc0 {background-color:var(--qc-color-white);}.qc-bg-color-blue-extra-pale.qc-hash-1we8qc0 {background-color:var(--qc-color-blue-extra-pale);}.qc-bg-color-blue-pale.qc-hash-1we8qc0 {background-color:var(--qc-color-blue-pale);}.qc-bg-color-blue-light.qc-hash-1we8qc0 {background-color:var(--qc-color-blue-light);}.qc-bg-color-blue-regular_light.qc-hash-1we8qc0 {background-color:var(--qc-color-blue-regular_light);}.qc-bg-color-blue-regular.qc-hash-1we8qc0 {background-color:var(--qc-color-blue-regular);}.qc-bg-color-blue-piv.qc-hash-1we8qc0 {background-color:var(--qc-color-blue-piv);}.qc-bg-color-blue-medium.qc-hash-1we8qc0 {background-color:var(--qc-color-blue-medium);}.qc-bg-color-blue-dark.qc-hash-1we8qc0 {background-color:var(--qc-color-blue-dark);}.qc-bg-color-purple.qc-hash-1we8qc0 {background-color:var(--qc-color-purple);}.qc-bg-color-grey-extra-pale.qc-hash-1we8qc0 {background-color:var(--qc-color-grey-extra-pale);}.qc-bg-color-grey-pale.qc-hash-1we8qc0 {background-color:var(--qc-color-grey-pale);}.qc-bg-color-grey-light.qc-hash-1we8qc0 {background-color:var(--qc-color-grey-light);}.qc-bg-color-grey-regular.qc-hash-1we8qc0 {background-color:var(--qc-color-grey-regular);}.qc-bg-color-grey-medium.qc-hash-1we8qc0 {background-color:var(--qc-color-grey-medium);}.qc-bg-color-grey-dark.qc-hash-1we8qc0 {background-color:var(--qc-color-grey-dark);}.qc-bg-color-pink-pale.qc-hash-1we8qc0 {background-color:var(--qc-color-pink-pale);}.qc-bg-color-pink-regular.qc-hash-1we8qc0 {background-color:var(--qc-color-pink-regular);}.qc-bg-color-red-pale.qc-hash-1we8qc0 {background-color:var(--qc-color-red-pale);}.qc-bg-color-red-light.qc-hash-1we8qc0 {background-color:var(--qc-color-red-light);}.qc-bg-color-red-regular_light.qc-hash-1we8qc0 {background-color:var(--qc-color-red-regular_light);}.qc-bg-color-red-regular.qc-hash-1we8qc0 {background-color:var(--qc-color-red-regular);}.qc-bg-color-red-medium.qc-hash-1we8qc0 {background-color:var(--qc-color-red-medium);}.qc-bg-color-red-dark.qc-hash-1we8qc0 {background-color:var(--qc-color-red-dark);}.qc-bg-color-green-pale.qc-hash-1we8qc0 {background-color:var(--qc-color-green-pale);}.qc-bg-color-green-regular.qc-hash-1we8qc0 {background-color:var(--qc-color-green-regular);}.qc-bg-color-green-dark.qc-hash-1we8qc0 {background-color:var(--qc-color-green-dark);}.qc-bg-color-yellow-pale.qc-hash-1we8qc0 {background-color:var(--qc-color-yellow-pale);}.qc-bg-color-yellow-regular.qc-hash-1we8qc0 {background-color:var(--qc-color-yellow-regular);}.qc-bg-color-yellow-dark.qc-hash-1we8qc0 {background-color:var(--qc-color-yellow-dark);}.qc-bg-color-background.qc-hash-1we8qc0 {background-color:var(--qc-color-background);}.qc-bg-color-text-primary.qc-hash-1we8qc0 {background-color:var(--qc-color-text-primary);}.qc-bg-color-accent.qc-hash-1we8qc0 {background-color:var(--qc-color-accent);}.qc-bg-color-success.qc-hash-1we8qc0 {background-color:var(--qc-color-success);}.qc-bg-color-error.qc-hash-1we8qc0 {background-color:var(--qc-color-error);}.qc-bg-color-danger.qc-hash-1we8qc0 {background-color:var(--qc-color-danger);}.qc-bg-color-link-text.qc-hash-1we8qc0 {background-color:var(--qc-color-link-text);}.qc-bg-color-link-hover.qc-hash-1we8qc0 {background-color:var(--qc-color-link-hover);}.qc-bg-color-link-visited.qc-hash-1we8qc0 {background-color:var(--qc-color-link-visited);}.qc-bg-color-link-active.qc-hash-1we8qc0 {background-color:var(--qc-color-link-active);}.qc-bg-color-link-focus-outline.qc-hash-1we8qc0 {background-color:var(--qc-color-link-focus-outline);}.qc-bg-color-formfield-border.qc-hash-1we8qc0 {background-color:var(--qc-color-formfield-border);}.qc-bg-color-formfield-focus-border.qc-hash-1we8qc0 {background-color:var(--qc-color-formfield-focus-border);}.qc-bg-color-formfield-focus-outline.qc-hash-1we8qc0 {background-color:var(--qc-color-formfield-focus-outline);}.qc-bg-color-searchinput-icon.qc-hash-1we8qc0 {background-color:var(--qc-color-searchinput-icon);}.qc-bg-color-box_shadow.qc-hash-1we8qc0 {background-color:var(--qc-color-box_shadow);}.color-details.qc-hash-1we8qc0 {display:flex;justify-content:flex-start;align-items:center;}.color-details.qc-hash-1we8qc0 > div:where(.qc-hash-1we8qc0) + div:where(.qc-hash-1we8qc0) {margin-left:var(--qc-spacer-md);}.color-sample.qc-hash-1we8qc0 {width:4.8rem;height:4.8rem;border-radius:50%;flex-shrink:0;}.border.qc-hash-1we8qc0 {border:1px solid var(--qc-color-grey-light);}'
75073
+ code: '.qc-bg-color-white.qc-hash-1we8qc0 {\n background-color: var(--qc-color-white);\n}\n\n.qc-bg-color-blue-extra-pale.qc-hash-1we8qc0 {\n background-color: var(--qc-color-blue-extra-pale);\n}\n\n.qc-bg-color-blue-pale.qc-hash-1we8qc0 {\n background-color: var(--qc-color-blue-pale);\n}\n\n.qc-bg-color-blue-light.qc-hash-1we8qc0 {\n background-color: var(--qc-color-blue-light);\n}\n\n.qc-bg-color-blue-regular_light.qc-hash-1we8qc0 {\n background-color: var(--qc-color-blue-regular_light);\n}\n\n.qc-bg-color-blue-regular.qc-hash-1we8qc0 {\n background-color: var(--qc-color-blue-regular);\n}\n\n.qc-bg-color-blue-piv.qc-hash-1we8qc0 {\n background-color: var(--qc-color-blue-piv);\n}\n\n.qc-bg-color-blue-medium.qc-hash-1we8qc0 {\n background-color: var(--qc-color-blue-medium);\n}\n\n.qc-bg-color-blue-dark.qc-hash-1we8qc0 {\n background-color: var(--qc-color-blue-dark);\n}\n\n.qc-bg-color-purple.qc-hash-1we8qc0 {\n background-color: var(--qc-color-purple);\n}\n\n.qc-bg-color-grey-extra-pale.qc-hash-1we8qc0 {\n background-color: var(--qc-color-grey-extra-pale);\n}\n\n.qc-bg-color-grey-pale.qc-hash-1we8qc0 {\n background-color: var(--qc-color-grey-pale);\n}\n\n.qc-bg-color-grey-light.qc-hash-1we8qc0 {\n background-color: var(--qc-color-grey-light);\n}\n\n.qc-bg-color-grey-regular.qc-hash-1we8qc0 {\n background-color: var(--qc-color-grey-regular);\n}\n\n.qc-bg-color-grey-medium.qc-hash-1we8qc0 {\n background-color: var(--qc-color-grey-medium);\n}\n\n.qc-bg-color-grey-dark.qc-hash-1we8qc0 {\n background-color: var(--qc-color-grey-dark);\n}\n\n.qc-bg-color-pink-pale.qc-hash-1we8qc0 {\n background-color: var(--qc-color-pink-pale);\n}\n\n.qc-bg-color-pink-regular.qc-hash-1we8qc0 {\n background-color: var(--qc-color-pink-regular);\n}\n\n.qc-bg-color-red-pale.qc-hash-1we8qc0 {\n background-color: var(--qc-color-red-pale);\n}\n\n.qc-bg-color-red-light.qc-hash-1we8qc0 {\n background-color: var(--qc-color-red-light);\n}\n\n.qc-bg-color-red-regular_light.qc-hash-1we8qc0 {\n background-color: var(--qc-color-red-regular_light);\n}\n\n.qc-bg-color-red-regular.qc-hash-1we8qc0 {\n background-color: var(--qc-color-red-regular);\n}\n\n.qc-bg-color-red-medium.qc-hash-1we8qc0 {\n background-color: var(--qc-color-red-medium);\n}\n\n.qc-bg-color-red-dark.qc-hash-1we8qc0 {\n background-color: var(--qc-color-red-dark);\n}\n\n.qc-bg-color-green-pale.qc-hash-1we8qc0 {\n background-color: var(--qc-color-green-pale);\n}\n\n.qc-bg-color-green-regular.qc-hash-1we8qc0 {\n background-color: var(--qc-color-green-regular);\n}\n\n.qc-bg-color-green-dark.qc-hash-1we8qc0 {\n background-color: var(--qc-color-green-dark);\n}\n\n.qc-bg-color-yellow-pale.qc-hash-1we8qc0 {\n background-color: var(--qc-color-yellow-pale);\n}\n\n.qc-bg-color-yellow-regular.qc-hash-1we8qc0 {\n background-color: var(--qc-color-yellow-regular);\n}\n\n.qc-bg-color-yellow-dark.qc-hash-1we8qc0 {\n background-color: var(--qc-color-yellow-dark);\n}\n\n.qc-bg-color-background.qc-hash-1we8qc0 {\n background-color: var(--qc-color-background);\n}\n\n.qc-bg-color-text-primary.qc-hash-1we8qc0 {\n background-color: var(--qc-color-text-primary);\n}\n\n.qc-bg-color-accent.qc-hash-1we8qc0 {\n background-color: var(--qc-color-accent);\n}\n\n.qc-bg-color-success.qc-hash-1we8qc0 {\n background-color: var(--qc-color-success);\n}\n\n.qc-bg-color-error.qc-hash-1we8qc0 {\n background-color: var(--qc-color-error);\n}\n\n.qc-bg-color-danger.qc-hash-1we8qc0 {\n background-color: var(--qc-color-danger);\n}\n\n.qc-bg-color-link-text.qc-hash-1we8qc0 {\n background-color: var(--qc-color-link-text);\n}\n\n.qc-bg-color-link-hover.qc-hash-1we8qc0 {\n background-color: var(--qc-color-link-hover);\n}\n\n.qc-bg-color-link-visited.qc-hash-1we8qc0 {\n background-color: var(--qc-color-link-visited);\n}\n\n.qc-bg-color-link-active.qc-hash-1we8qc0 {\n background-color: var(--qc-color-link-active);\n}\n\n.qc-bg-color-link-focus-outline.qc-hash-1we8qc0 {\n background-color: var(--qc-color-link-focus-outline);\n}\n\n.qc-bg-color-formfield-border.qc-hash-1we8qc0 {\n background-color: var(--qc-color-formfield-border);\n}\n\n.qc-bg-color-formfield-focus-border.qc-hash-1we8qc0 {\n background-color: var(--qc-color-formfield-focus-border);\n}\n\n.qc-bg-color-formfield-focus-outline.qc-hash-1we8qc0 {\n background-color: var(--qc-color-formfield-focus-outline);\n}\n\n.qc-bg-color-searchinput-icon.qc-hash-1we8qc0 {\n background-color: var(--qc-color-searchinput-icon);\n}\n\n.qc-bg-color-box_shadow.qc-hash-1we8qc0 {\n background-color: var(--qc-color-box_shadow);\n}\n\n.color-details.qc-hash-1we8qc0 {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n}\n.color-details.qc-hash-1we8qc0 > div:where(.qc-hash-1we8qc0) + div:where(.qc-hash-1we8qc0) {\n margin-left: var(--qc-spacer-md);\n}\n\n.color-sample.qc-hash-1we8qc0 {\n width: 4.8rem;\n height: 4.8rem;\n border-radius: 50%;\n flex-shrink: 0;\n}\n\n.border.qc-hash-1we8qc0 {\n border: 1px solid var(--qc-color-grey-light);\n}'
74359
75074
  };
74360
75075
 
74361
75076
  function Color_doc($$anchor, $$props) {
75077
+ check_target(new.target);
74362
75078
  push($$props, true);
74363
75079
  append_styles$1($$anchor, $$css$4);
74364
75080
 
@@ -74418,7 +75134,8 @@
74418
75134
  set border($$value = null) {
74419
75135
  border($$value);
74420
75136
  flushSync();
74421
- }
75137
+ },
75138
+ ...legacy_api()
74422
75139
  });
74423
75140
  }
74424
75141
 
@@ -74436,9 +75153,18 @@
74436
75153
  true
74437
75154
  ));
74438
75155
 
74439
- var root$d = template(`<label><input type="checkbox" role="switch"> <span><!></span> <span class="qc-switch-slider"></span></label>`);
75156
+ ToggleSwitch[FILENAME] = 'src/sdg/components/ToggleSwitch/ToggleSwitch.svelte';
75157
+
75158
+ var root$d = add_locations(template(`<label><input type="checkbox" role="switch"> <span><!></span> <span class="qc-switch-slider"></span></label>`), ToggleSwitch[FILENAME], [
75159
+ [
75160
+ 17,
75161
+ 0,
75162
+ [[20, 4], [28, 4], [33, 4]]
75163
+ ]
75164
+ ]);
74440
75165
 
74441
75166
  function ToggleSwitch($$anchor, $$props) {
75167
+ check_target(new.target);
74442
75168
  push($$props, true);
74443
75169
 
74444
75170
  let label = prop($$props, 'label', 7),
@@ -74449,7 +75175,7 @@
74449
75175
  textAlign = prop($$props, 'textAlign', 7);
74450
75176
 
74451
75177
  const usedId = "toggle-switch-" + (id() ? id() : Math.random().toString(36));
74452
- let usedLabelTextAlignment = textAlign()?.toLowerCase() === "end" ? "end" : "start";
75178
+ let usedLabelTextAlignment = strict_equals(textAlign()?.toLowerCase(), "end") ? "end" : "start";
74453
75179
  var label_1 = root$d();
74454
75180
 
74455
75181
  set_attribute(label_1, 'for', usedId);
@@ -74463,7 +75189,7 @@
74463
75189
 
74464
75190
  set_class(span, 1, clsx([
74465
75191
  "qc-switch-label",
74466
- usedLabelTextAlignment === "end" && "qc-switch-label-end"
75192
+ strict_equals(usedLabelTextAlignment, "end") && "qc-switch-label-end"
74467
75193
  ]));
74468
75194
 
74469
75195
  var node = child(span);
@@ -74527,7 +75253,8 @@
74527
75253
  set textAlign($$value) {
74528
75254
  textAlign($$value);
74529
75255
  flushSync();
74530
- }
75256
+ },
75257
+ ...legacy_api()
74531
75258
  });
74532
75259
  }
74533
75260
 
@@ -74546,18 +75273,23 @@
74546
75273
  true
74547
75274
  );
74548
75275
 
74549
- var root$c = template(`<div role="complementary" class="qc-hash-ogsj9p"><div class="qc-container top-nav qc-hash-ogsj9p"><div class="switch-control qc-hash-ogsj9p"><!></div></div></div>`);
75276
+ TopNav[FILENAME] = 'src/doc/components/TopNav.svelte';
75277
+
75278
+ var root$c = add_locations(template(`<div role="complementary" class="qc-hash-ogsj9p"><div class="qc-container top-nav qc-hash-ogsj9p"><div class="switch-control qc-hash-ogsj9p"><!></div></div></div>`), TopNav[FILENAME], [
75279
+ [17, 0, [[18, 4, [[19, 8]]]]]
75280
+ ]);
74550
75281
 
74551
75282
  const $$css$3 = {
74552
75283
  hash: 'qc-hash-ogsj9p',
74553
- code: '[role=complementary].qc-hash-ogsj9p {position:sticky;z-index:100;top:0;background-color:var(--qc-color-background);min-height:7.2rem;height:7.2rem;border-bottom:solid 0.1rem var(--qc-color-grey-light);}.top-nav.qc-hash-ogsj9p {position:absolute;inset:0;display:flex;align-items:end;padding-bottom:var(--qc-spacer-sm);}.top-nav.qc-hash-ogsj9p .switch-control:where(.qc-hash-ogsj9p) {margin-left:auto;margin-right:0;display:flex;align-items:center;}'
75284
+ code: '[role=complementary].qc-hash-ogsj9p {\n position: sticky;\n z-index: 100;\n top: 0;\n background-color: var(--qc-color-background);\n min-height: 7.2rem;\n height: 7.2rem;\n border-bottom: solid 0.1rem var(--qc-color-grey-light);\n}\n\n.top-nav.qc-hash-ogsj9p {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: end;\n padding-bottom: var(--qc-spacer-sm);\n}\n.top-nav.qc-hash-ogsj9p .switch-control:where(.qc-hash-ogsj9p) {\n margin-left: auto;\n margin-right: 0;\n display: flex;\n align-items: center;\n}\n/* (unused) .top-nav .switch-control label:first-child {\n margin-right: 1.6rem;\n}*/'
74554
75285
  };
74555
75286
 
74556
75287
  function TopNav($$anchor, $$props) {
75288
+ check_target(new.target);
74557
75289
  push($$props, true);
74558
75290
  append_styles$1($$anchor, $$css$3);
74559
75291
 
74560
- let value = state(localStorage.getItem('dark-theme') === "true");
75292
+ let value = state(proxy(strict_equals(localStorage.getItem('dark-theme'), "true")));
74561
75293
 
74562
75294
  user_effect(() => {
74563
75295
  document.documentElement.classList.toggle('qc-dark-theme', get(value));
@@ -74583,19 +75315,22 @@
74583
75315
  reset(div_1);
74584
75316
  reset(div);
74585
75317
  append($$anchor, div);
74586
- pop();
75318
+ return pop({ ...legacy_api() });
74587
75319
  }
74588
75320
 
74589
75321
  customElements.define('qc-doc-top-nav', create_custom_element(TopNav, {}, [], [], false));
74590
75322
 
74591
- var root$b = template(`<div class="switch qc-hash-qsg5d6"><input> <span class="slider round qc-hash-qsg5d6"></span></div>`);
75323
+ Switch[FILENAME] = 'src/doc/components/Switch.svelte';
75324
+
75325
+ var root$b = add_locations(template(`<div class="switch qc-hash-qsg5d6"><input> <span class="slider round qc-hash-qsg5d6"></span></div>`), Switch[FILENAME], [[18, 0, [[24, 4], [31, 4]]]]);
74592
75326
 
74593
75327
  const $$css$2 = {
74594
75328
  hash: 'qc-hash-qsg5d6',
74595
- code: '/* The switch - the box around the slider */.switch.qc-hash-qsg5d6 {position:relative;display:inline-block;width:5.6rem;height:3.2rem;}\n\n/* Hide default HTML checkbox */input.qc-hash-qsg5d6 {z-index:10;opacity:0;position:absolute;cursor:pointer;margin:0;padding:0;inset:0;height:auto;width:auto;}\n\n/* The slider */.slider.qc-hash-qsg5d6 {z-index:5;position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--unchecked-bg-color);-webkit-transition:0.4s;transition:0.4s;}.slider.qc-hash-qsg5d6::before {position:absolute;content:"";height:2.8rem;width:2.8rem;left:0.2rem;bottom:0.2rem;background-color:var(--slider-color);-webkit-transition:0.4s;transition:0.4s;}input.qc-hash-qsg5d6:checked + .slider:where(.qc-hash-qsg5d6) {background-color:var(--checked-bg-color);}input.qc-hash-qsg5d6:focus + .slider:where(.qc-hash-qsg5d6) {box-shadow:0 0 1px var(--qc-bok-shadow-color);}input.qc-hash-qsg5d6:checked + .slider:where(.qc-hash-qsg5d6)::before {transform:translateX(2.4rem);}.slider.round.qc-hash-qsg5d6, input.qc-hash-qsg5d6 {border-radius:3.2rem;}.slider.round.qc-hash-qsg5d6::before {border-radius:50%;}'
75329
+ code: '/* The switch - the box around the slider */\n.switch.qc-hash-qsg5d6 {\n position: relative;\n display: inline-block;\n width: 5.6rem;\n height: 3.2rem;\n}\n\n/* Hide default HTML checkbox */\ninput.qc-hash-qsg5d6 {\n z-index: 10;\n opacity: 0;\n position: absolute;\n cursor: pointer;\n margin: 0;\n padding: 0;\n inset: 0;\n height: auto;\n width: auto;\n}\n\n/* The slider */\n.slider.qc-hash-qsg5d6 {\n z-index: 5;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: var(--unchecked-bg-color);\n -webkit-transition: 0.4s;\n transition: 0.4s;\n}\n\n.slider.qc-hash-qsg5d6::before {\n position: absolute;\n content: "";\n height: 2.8rem;\n width: 2.8rem;\n left: 0.2rem;\n bottom: 0.2rem;\n background-color: var(--slider-color);\n -webkit-transition: 0.4s;\n transition: 0.4s;\n}\n\ninput.qc-hash-qsg5d6:checked + .slider:where(.qc-hash-qsg5d6) {\n background-color: var(--checked-bg-color);\n}\n\ninput.qc-hash-qsg5d6:focus + .slider:where(.qc-hash-qsg5d6) {\n box-shadow: 0 0 1px var(--qc-bok-shadow-color);\n}\n\ninput.qc-hash-qsg5d6:checked + .slider:where(.qc-hash-qsg5d6)::before {\n transform: translateX(2.4rem);\n}\n\n.slider.round.qc-hash-qsg5d6, input.qc-hash-qsg5d6 {\n border-radius: 3.2rem;\n}\n\n.slider.round.qc-hash-qsg5d6::before {\n border-radius: 50%;\n}'
74596
75330
  };
74597
75331
 
74598
75332
  function Switch($$anchor, $$props) {
75333
+ check_target(new.target);
74599
75334
  push($$props, true);
74600
75335
  append_styles$1($$anchor, $$css$2);
74601
75336
 
@@ -74606,15 +75341,17 @@
74606
75341
  checked: 'blue-regular',
74607
75342
  slider: 'background'
74608
75343
  })),
74609
- rest = rest_props($$props, [
74610
- '$$slots',
74611
- '$$events',
74612
- '$$legacy',
74613
- '$$host',
74614
- 'value',
74615
- 'name',
74616
- 'color'
74617
- ]);
75344
+ rest = rest_props(
75345
+ $$props,
75346
+ [
75347
+ '$$slots',
75348
+ '$$events',
75349
+ '$$legacy',
75350
+ '$$host',
75351
+ 'value',
75352
+ 'name',
75353
+ 'color'
75354
+ ]);
74618
75355
 
74619
75356
  var div = root$b();
74620
75357
  var input = child(div);
@@ -74676,20 +75413,30 @@
74676
75413
  ) {
74677
75414
  color($$value);
74678
75415
  flushSync();
74679
- }
75416
+ },
75417
+ ...legacy_api()
74680
75418
  });
74681
75419
  }
74682
75420
 
74683
75421
  customElements.define('qc-switch', create_custom_element(Switch, { value: {}, name: {}, color: {} }, [], [], false));
74684
75422
 
74685
- var root$a = template(`<div class="exemple-area"><figure><div class="exemple qc-hash-1u5h5rs"></div> <figcaption><!></figcaption></figure> <!></div>`);
75423
+ Exemple[FILENAME] = 'src/doc/components/Exemple.svelte';
75424
+
75425
+ var root$a = add_locations(template(`<div class="exemple-area"><figure><div class="exemple qc-hash-1u5h5rs"></div> <figcaption><!></figcaption></figure> <!></div>`), Exemple[FILENAME], [
75426
+ [
75427
+ 45,
75428
+ 0,
75429
+ [[48, 4, [[51, 8], [54, 8]]]]
75430
+ ]
75431
+ ]);
74686
75432
 
74687
75433
  const $$css$1 = {
74688
75434
  hash: 'qc-hash-1u5h5rs',
74689
- code: 'figure.qc-hash-1u5h5rs {max-width:var(--qc-max-content-width);width:100%;border:1px solid var(--qc-box_shadow-0-color);margin-bottom:var(--qc-spacer-content-block-mb);}figure.qc-hash-1u5h5rs .exemple:where(.qc-hash-1u5h5rs) {padding:var(--qc-spacer-sm) var(--qc-spacer-sm) 0 var(--qc-spacer-sm);margin-bottom:var(--qc-spacer-sm);}'
75435
+ code: 'figure.qc-hash-1u5h5rs {\n max-width: var(--qc-max-content-width);\n width: 100%;\n border: 1px solid var(--qc-box_shadow-0-color);\n margin-bottom: var(--qc-spacer-content-block-mb);\n}\nfigure.qc-hash-1u5h5rs .exemple:where(.qc-hash-1u5h5rs) {\n padding: var(--qc-spacer-sm) var(--qc-spacer-sm) 0 var(--qc-spacer-sm);\n margin-bottom: var(--qc-spacer-sm);\n}'
74690
75436
  };
74691
75437
 
74692
75438
  function Exemple($$anchor, $$props) {
75439
+ check_target(new.target);
74693
75440
  push($$props, true);
74694
75441
  append_styles$1($$anchor, $$css$1);
74695
75442
 
@@ -74697,16 +75444,18 @@
74697
75444
  codeTargetId = prop($$props, 'codeTargetId', 7),
74698
75445
  hideCode = prop($$props, 'hideCode', 7, false),
74699
75446
  rawCode = prop($$props, 'rawCode', 7),
74700
- restProps = rest_props($$props, [
74701
- '$$slots',
74702
- '$$events',
74703
- '$$legacy',
74704
- '$$host',
74705
- 'caption',
74706
- 'codeTargetId',
74707
- 'hideCode',
74708
- 'rawCode'
74709
- ]);
75447
+ restProps = rest_props(
75448
+ $$props,
75449
+ [
75450
+ '$$slots',
75451
+ '$$events',
75452
+ '$$legacy',
75453
+ '$$host',
75454
+ 'caption',
75455
+ 'codeTargetId',
75456
+ 'hideCode',
75457
+ 'rawCode'
75458
+ ]);
74710
75459
 
74711
75460
  let exempleCode = state(void 0);
74712
75461
  let figure = state(void 0);
@@ -74716,11 +75465,11 @@
74716
75465
 
74717
75466
  onMount(() => {
74718
75467
  get(rootElement).parentElement.childNodes.forEach((node) => {
74719
- if (node.nodeType === 3) {
75468
+ if (strict_equals(node.nodeType, 3)) {
74720
75469
  return;
74721
75470
  }
74722
75471
 
74723
- if (node !== get(rootElement)) {
75472
+ if (strict_equals(node, get(rootElement), false)) {
74724
75473
  get(exempleArea).appendChild(node);
74725
75474
  }
74726
75475
 
@@ -74793,7 +75542,8 @@
74793
75542
  set rawCode($$value) {
74794
75543
  rawCode($$value);
74795
75544
  flushSync();
74796
- }
75545
+ },
75546
+ ...legacy_api()
74797
75547
  });
74798
75548
  }
74799
75549
 
@@ -74949,10 +75699,13 @@
74949
75699
  }
74950
75700
  }
74951
75701
 
74952
- var root_1$6 = template(`<span class="qc-required" aria-hidden="true">*</span>`);
74953
- var root$9 = template(`<!><!>`, 1);
75702
+ LabelText[FILENAME] = 'src/sdg/components/Label/LabelText.svelte';
75703
+
75704
+ var root_1$6 = add_locations(template(`<span class="qc-required" aria-hidden="true">*</span>`), LabelText[FILENAME], [[4, 26]]);
75705
+ var root$9 = add_locations(template(`<!><!>`, 1), LabelText[FILENAME], []);
74954
75706
 
74955
75707
  function LabelText($$anchor, $$props) {
75708
+ check_target(new.target);
74956
75709
  push($$props, true);
74957
75710
 
74958
75711
  let text = prop($$props, 'text', 7),
@@ -74993,15 +75746,19 @@
74993
75746
  set required($$value) {
74994
75747
  required($$value);
74995
75748
  flushSync();
74996
- }
75749
+ },
75750
+ ...legacy_api()
74997
75751
  });
74998
75752
  }
74999
75753
 
75000
75754
  create_custom_element(LabelText, { text: {}, required: {} }, [], [], true);
75001
75755
 
75002
- var root$8 = template(`<label><!></label>`);
75756
+ Label[FILENAME] = 'src/sdg/components/Label/Label.svelte';
75757
+
75758
+ var root$8 = add_locations(template(`<label><!></label>`), Label[FILENAME], [[16, 0]]);
75003
75759
 
75004
75760
  function Label($$anchor, $$props) {
75761
+ check_target(new.target);
75005
75762
  push($$props, true);
75006
75763
 
75007
75764
  let forId = prop($$props, 'forId', 7),
@@ -75011,19 +75768,21 @@
75011
75768
  bold = prop($$props, 'bold', 7, false),
75012
75769
  disabled = prop($$props, 'disabled', 7, false),
75013
75770
  rootElement = prop($$props, 'rootElement', 15),
75014
- rest = rest_props($$props, [
75015
- '$$slots',
75016
- '$$events',
75017
- '$$legacy',
75018
- '$$host',
75019
- 'forId',
75020
- 'text',
75021
- 'required',
75022
- 'compact',
75023
- 'bold',
75024
- 'disabled',
75025
- 'rootElement'
75026
- ]);
75771
+ rest = rest_props(
75772
+ $$props,
75773
+ [
75774
+ '$$slots',
75775
+ '$$events',
75776
+ '$$legacy',
75777
+ '$$host',
75778
+ 'forId',
75779
+ 'text',
75780
+ 'required',
75781
+ 'compact',
75782
+ 'bold',
75783
+ 'disabled',
75784
+ 'rootElement'
75785
+ ]);
75027
75786
 
75028
75787
  var label = root$8();
75029
75788
  let attributes;
@@ -75103,7 +75862,8 @@
75103
75862
  set rootElement($$value) {
75104
75863
  rootElement($$value);
75105
75864
  flushSync();
75106
- }
75865
+ },
75866
+ ...legacy_api()
75107
75867
  });
75108
75868
  }
75109
75869
 
@@ -75123,9 +75883,12 @@
75123
75883
  true
75124
75884
  );
75125
75885
 
75126
- var root$7 = template(`<div></div>`);
75886
+ Icon[FILENAME] = 'src/sdg/bases/Icon/Icon.svelte';
75887
+
75888
+ var root$7 = add_locations(template(`<div></div>`), Icon[FILENAME], [[16, 0]]);
75127
75889
 
75128
75890
  function Icon($$anchor, $$props) {
75891
+ check_target(new.target);
75129
75892
  push($$props, true);
75130
75893
 
75131
75894
  let type = prop($$props, 'type', 7),
@@ -75136,22 +75899,24 @@
75136
75899
  height = prop($$props, 'height', 7, 'auto'),
75137
75900
  src = prop($$props, 'src', 7, ''),
75138
75901
  rotate = prop($$props, 'rotate', 7, 0),
75139
- rest = rest_props($$props, [
75140
- '$$slots',
75141
- '$$events',
75142
- '$$legacy',
75143
- '$$host',
75144
- 'type',
75145
- 'label',
75146
- 'size',
75147
- 'color',
75148
- 'width',
75149
- 'height',
75150
- 'src',
75151
- 'rotate'
75152
- ]);
75153
-
75154
- let attributes = user_derived(() => width() === 'auto' ? { 'data-img-size': size() } : {});
75902
+ rest = rest_props(
75903
+ $$props,
75904
+ [
75905
+ '$$slots',
75906
+ '$$events',
75907
+ '$$legacy',
75908
+ '$$host',
75909
+ 'type',
75910
+ 'label',
75911
+ 'size',
75912
+ 'color',
75913
+ 'width',
75914
+ 'height',
75915
+ 'src',
75916
+ 'rotate'
75917
+ ]);
75918
+
75919
+ let attributes = user_derived(() => strict_equals(width(), 'auto') ? { 'data-img-size': size() } : {});
75155
75920
  var div = root$7();
75156
75921
  let attributes_1;
75157
75922
 
@@ -75231,7 +75996,8 @@
75231
75996
  set rotate($$value = 0) {
75232
75997
  rotate($$value);
75233
75998
  flushSync();
75234
- }
75999
+ },
76000
+ ...legacy_api()
75235
76001
  });
75236
76002
  }
75237
76003
 
@@ -75252,10 +76018,13 @@
75252
76018
  true
75253
76019
  );
75254
76020
 
75255
- var root_2$7 = template(`<!> <span><!></span>`, 1);
75256
- var root_1$5 = template(`<div role="alert"><!></div>`);
76021
+ FormError[FILENAME] = 'src/sdg/components/FormError/FormError.svelte';
76022
+
76023
+ var root_2$7 = add_locations(template(`<!> <span><!></span>`, 1), FormError[FILENAME], [[48, 8]]);
76024
+ var root_1$5 = add_locations(template(`<div role="alert"><!></div>`), FormError[FILENAME], [[35, 0]]);
75257
76025
 
75258
76026
  function FormError($$anchor, $$props) {
76027
+ check_target(new.target);
75259
76028
  push($$props, true);
75260
76029
 
75261
76030
  const lang = Utils.getPageLanguage();
@@ -75268,7 +76037,7 @@
75268
76037
  rootElement = prop($$props, 'rootElement', 15);
75269
76038
 
75270
76039
  let cleanLabel = user_derived(() => label().replace(/:\s*$/, '')),
75271
- 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.`);
76040
+ 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.`);
75272
76041
 
75273
76042
  onMount(() => {
75274
76043
  if (id()) return;
@@ -75367,7 +76136,8 @@
75367
76136
  set rootElement($$value) {
75368
76137
  rootElement($$value);
75369
76138
  flushSync();
75370
- }
76139
+ },
76140
+ ...legacy_api()
75371
76141
  });
75372
76142
  }
75373
76143
 
@@ -75404,15 +76174,22 @@
75404
76174
  setTextFieldRow(input.closest('.qc-formfield-row'));
75405
76175
  }
75406
76176
 
75407
- var root_3$2 = template(`<div class="qc-description"><!></div>`);
75408
- var root_4$3 = template(`<div aria-live="polite"><!></div>`);
75409
- var root_1$4 = template(`<!> <!> <!> <!> <!>`, 1);
75410
- var root_6$1 = template(`<div class="qc-textfield"><!></div>`);
76177
+ TextField[FILENAME] = 'src/sdg/components/TextField/TextField.svelte';
76178
+
76179
+ var root_3$2 = add_locations(template(`<div class="qc-description"><!></div>`), TextField[FILENAME], [[131, 8]]);
76180
+ var root_4$3 = add_locations(template(`<div aria-live="polite"><!></div>`), TextField[FILENAME], [[142, 8]]);
76181
+ var root_1$4 = add_locations(template(`<!> <!> <!> <!> <!>`, 1), TextField[FILENAME], []);
76182
+ var root_6$1 = add_locations(template(`<div class="qc-textfield"><!></div>`), TextField[FILENAME], [[166, 4]]);
75411
76183
 
75412
76184
  function TextField($$anchor, $$props) {
76185
+ check_target(new.target);
75413
76186
  push($$props, true);
75414
76187
 
75415
- const textfield = ($$anchor) => {
76188
+ var $$ownership_validator = create_ownership_validator($$props);
76189
+
76190
+ const textfield = wrap_snippet(TextField, function ($$anchor) {
76191
+ validate_snippet_args(...arguments);
76192
+
75416
76193
  var fragment = root_1$4();
75417
76194
  var node = first_child(fragment);
75418
76195
 
@@ -75421,26 +76198,30 @@
75421
76198
  const expression = user_derived(() => input()?.disabled);
75422
76199
  const expression_1 = user_derived(() => input()?.id);
75423
76200
 
75424
- Label($$anchor, {
75425
- get required() {
75426
- return required();
75427
- },
75428
- get disabled() {
75429
- return get(expression);
75430
- },
75431
- get text() {
75432
- return label();
75433
- },
75434
- get forId() {
75435
- return get(expression_1);
75436
- },
75437
- get rootElement() {
75438
- return labelElement();
75439
- },
75440
- set rootElement($$value) {
75441
- labelElement($$value);
75442
- }
75443
- });
76201
+ {
76202
+ $$ownership_validator.binding('labelElement', Label, labelElement);
76203
+
76204
+ Label($$anchor, {
76205
+ get required() {
76206
+ return required();
76207
+ },
76208
+ get disabled() {
76209
+ return get(expression);
76210
+ },
76211
+ get text() {
76212
+ return label();
76213
+ },
76214
+ get forId() {
76215
+ return get(expression_1);
76216
+ },
76217
+ get rootElement() {
76218
+ return labelElement();
76219
+ },
76220
+ set rootElement($$value) {
76221
+ labelElement($$value);
76222
+ }
76223
+ });
76224
+ }
75444
76225
  };
75445
76226
 
75446
76227
  if_block(node, ($$render) => {
@@ -75496,7 +76277,7 @@
75496
76277
  };
75497
76278
 
75498
76279
  if_block(node_4, ($$render) => {
75499
- if (maxlength() !== null) $$render(consequent_2);
76280
+ if (strict_equals(maxlength(), null, false)) $$render(consequent_2);
75500
76281
  });
75501
76282
  }
75502
76283
 
@@ -75504,33 +76285,37 @@
75504
76285
  const expression_2 = user_derived(() => invalidText() ? invalidText() : get(defaultInvalidText));
75505
76286
  const expression_3 = user_derived(() => label() ? label() : input()?.getAttribute("aria-label"));
75506
76287
 
75507
- FormError(node_6, {
75508
- get invalid() {
75509
- return invalid();
75510
- },
75511
- get invalidText() {
75512
- return get(expression_2);
75513
- },
75514
- get label() {
75515
- return get(expression_3);
75516
- },
75517
- extraClasses: ['qc-xs-mt'],
75518
- get id() {
75519
- return get(errorId);
75520
- },
75521
- set id($$value) {
75522
- set(errorId, $$value, true);
75523
- },
75524
- get rootElement() {
75525
- return formErrorElement();
75526
- },
75527
- set rootElement($$value) {
75528
- formErrorElement($$value);
75529
- }
75530
- });
76288
+ {
76289
+ $$ownership_validator.binding('formErrorElement', FormError, formErrorElement);
76290
+
76291
+ FormError(node_6, {
76292
+ get invalid() {
76293
+ return invalid();
76294
+ },
76295
+ get invalidText() {
76296
+ return get(expression_2);
76297
+ },
76298
+ get label() {
76299
+ return get(expression_3);
76300
+ },
76301
+ extraClasses: ['qc-xs-mt'],
76302
+ get id() {
76303
+ return get(errorId);
76304
+ },
76305
+ set id($$value) {
76306
+ set(errorId, $$value, true);
76307
+ },
76308
+ get rootElement() {
76309
+ return formErrorElement();
76310
+ },
76311
+ set rootElement($$value) {
76312
+ formErrorElement($$value);
76313
+ }
76314
+ });
76315
+ }
75531
76316
 
75532
76317
  append($$anchor, fragment);
75533
- };
76318
+ });
75534
76319
 
75535
76320
  const lang = Utils.getPageLanguage();
75536
76321
 
@@ -75560,7 +76345,7 @@
75560
76345
  textFieldRow = state(void 0),
75561
76346
  defaultInvalidText = user_derived(() => {
75562
76347
  if (!maxlengthReached()) return '';
75563
- 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.`;
76348
+ 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.`;
75564
76349
  });
75565
76350
 
75566
76351
  onMount(() => {
@@ -75603,7 +76388,7 @@
75603
76388
 
75604
76389
  const s = over > 1 ? 's' : '';
75605
76390
 
75606
- 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);
76391
+ 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);
75607
76392
  });
75608
76393
 
75609
76394
  // Génération des ID pour le aria-describedby
@@ -75773,7 +76558,8 @@
75773
76558
  set children($$value) {
75774
76559
  children($$value);
75775
76560
  flushSync();
75776
- }
76561
+ },
76562
+ ...legacy_api()
75777
76563
  });
75778
76564
  }
75779
76565
 
@@ -75815,7 +76601,7 @@
75815
76601
  name
75816
76602
  ) {
75817
76603
  if (!input) return;
75818
- if (input.role === "switch") return;
76604
+ if (strict_equals(input.role, "switch")) return;
75819
76605
 
75820
76606
  let label = input.closest('label');
75821
76607
 
@@ -75837,13 +76623,18 @@
75837
76623
  input.addEventListener('change', () => setInvalid(false));
75838
76624
  }
75839
76625
 
75840
- var root_2$6 = template(`<span class="qc-required" aria-hidden="true">*</span>`);
75841
- var root$6 = template(`<div><!> <!> <!></div>`);
76626
+ Checkbox[FILENAME] = 'src/sdg/components/Checkbox/Checkbox.svelte';
76627
+
76628
+ var root_2$6 = add_locations(template(`<span class="qc-required" aria-hidden="true">*</span>`), Checkbox[FILENAME], [[56, 4]]);
76629
+ var root$6 = add_locations(template(`<div><!> <!> <!></div>`), Checkbox[FILENAME], [[64, 4]]);
75842
76630
 
75843
76631
  function Checkbox($$anchor, $$props) {
76632
+ check_target(new.target);
75844
76633
  push($$props, true);
75845
76634
 
75846
- const requiredSpanSnippet = ($$anchor) => {
76635
+ const requiredSpanSnippet = wrap_snippet(Checkbox, function ($$anchor) {
76636
+ validate_snippet_args(...arguments);
76637
+
75847
76638
  var fragment = comment();
75848
76639
  var node = first_child(fragment);
75849
76640
 
@@ -75861,7 +76652,7 @@
75861
76652
  }
75862
76653
 
75863
76654
  append($$anchor, fragment);
75864
- };
76655
+ });
75865
76656
 
75866
76657
  Utils.getPageLanguage();
75867
76658
  const qcCheckoxContext = getContext("qc-checkbox");
@@ -76040,7 +76831,8 @@
76040
76831
  set input($$value) {
76041
76832
  input($$value);
76042
76833
  flushSync();
76043
- }
76834
+ },
76835
+ ...legacy_api()
76044
76836
  });
76045
76837
  }
76046
76838
 
@@ -76067,9 +76859,12 @@
76067
76859
  true
76068
76860
  );
76069
76861
 
76070
- var root$5 = template(`<button><!></button>`);
76862
+ IconButton[FILENAME] = 'src/sdg/components/IconButton/IconButton.svelte';
76863
+
76864
+ var root$5 = add_locations(template(`<button><!></button>`), IconButton[FILENAME], [[16, 0]]);
76071
76865
 
76072
76866
  function IconButton($$anchor, $$props) {
76867
+ check_target(new.target);
76073
76868
  push($$props, true);
76074
76869
 
76075
76870
  const size = prop($$props, 'size', 7, 'xl'),
@@ -76078,18 +76873,20 @@
76078
76873
  iconSize = prop($$props, 'iconSize', 7),
76079
76874
  iconColor = prop($$props, 'iconColor', 7),
76080
76875
  className = prop($$props, 'class', 7, ''),
76081
- rest = rest_props($$props, [
76082
- '$$slots',
76083
- '$$events',
76084
- '$$legacy',
76085
- '$$host',
76086
- 'size',
76087
- 'label',
76088
- 'icon',
76089
- 'iconSize',
76090
- 'iconColor',
76091
- 'class'
76092
- ]);
76876
+ rest = rest_props(
76877
+ $$props,
76878
+ [
76879
+ '$$slots',
76880
+ '$$events',
76881
+ '$$legacy',
76882
+ '$$host',
76883
+ 'size',
76884
+ 'label',
76885
+ 'icon',
76886
+ 'iconSize',
76887
+ 'iconColor',
76888
+ 'class'
76889
+ ]);
76093
76890
 
76094
76891
  var button = root$5();
76095
76892
  let attributes;
@@ -76171,7 +76968,8 @@
76171
76968
  set class($$value = '') {
76172
76969
  className($$value);
76173
76970
  flushSync();
76174
- }
76971
+ },
76972
+ ...legacy_api()
76175
76973
  });
76176
76974
  }
76177
76975
 
@@ -76190,33 +76988,38 @@
76190
76988
  true
76191
76989
  );
76192
76990
 
76193
- var root$4 = template(`<div><!> <input> <!></div>`);
76991
+ SearchInput[FILENAME] = 'src/sdg/components/SearchInput/SearchInput.svelte';
76992
+
76993
+ var root$4 = add_locations(template(`<div><!> <input> <!></div>`), SearchInput[FILENAME], [[28, 0, [[39, 4]]]]);
76194
76994
 
76195
76995
  function SearchInput($$anchor, $$props) {
76996
+ check_target(new.target);
76196
76997
  push($$props, true);
76197
76998
 
76198
76999
  const lang = Utils.getPageLanguage();
76199
77000
 
76200
77001
  let value = prop($$props, 'value', 15, ''),
76201
- ariaLabel = prop($$props, 'ariaLabel', 7, lang === "fr" ? "Rechercher..." : "Search..."),
76202
- clearAriaLabel = prop($$props, 'clearAriaLabel', 7, lang === "fr" ? "Effacer le texte" : "Clear text"),
77002
+ ariaLabel = prop($$props, 'ariaLabel', 23, () => strict_equals(lang, "fr") ? "Rechercher..." : "Search..."),
77003
+ clearAriaLabel = prop($$props, 'clearAriaLabel', 23, () => strict_equals(lang, "fr") ? "Effacer le texte" : "Clear text"),
76203
77004
  leftIcon = prop($$props, 'leftIcon', 7, false),
76204
77005
  id = prop($$props, 'id', 23, () => `qc-search-input-${Math.random().toString(36).slice(2, 11)}`),
76205
- rest = rest_props($$props, [
76206
- '$$slots',
76207
- '$$events',
76208
- '$$legacy',
76209
- '$$host',
76210
- 'value',
76211
- 'ariaLabel',
76212
- 'clearAriaLabel',
76213
- 'leftIcon',
76214
- 'id'
76215
- ]);
76216
-
76217
- leftIcon(leftIcon() === true || leftIcon() === "true" || leftIcon() === "");
76218
-
76219
- const isDisabled = $$props.disabled === true || $$props.disabled === "true" || $$props.disabled === "";
77006
+ rest = rest_props(
77007
+ $$props,
77008
+ [
77009
+ '$$slots',
77010
+ '$$events',
77011
+ '$$legacy',
77012
+ '$$host',
77013
+ 'value',
77014
+ 'ariaLabel',
77015
+ 'clearAriaLabel',
77016
+ 'leftIcon',
77017
+ 'id'
77018
+ ]);
77019
+
77020
+ leftIcon(strict_equals(leftIcon(), true) || strict_equals(leftIcon(), "true") || strict_equals(leftIcon(), ""));
77021
+
77022
+ const isDisabled = strict_equals($$props.disabled, true) || strict_equals($$props.disabled, "true") || strict_equals($$props.disabled, "");
76220
77023
  let searchInput;
76221
77024
 
76222
77025
  function focus() {
@@ -76296,7 +77099,9 @@
76296
77099
  append($$anchor, div);
76297
77100
 
76298
77101
  return pop({
76299
- focus,
77102
+ get focus() {
77103
+ return focus;
77104
+ },
76300
77105
  get value() {
76301
77106
  return value();
76302
77107
  },
@@ -76337,7 +77142,8 @@
76337
77142
  ) {
76338
77143
  id($$value);
76339
77144
  flushSync();
76340
- }
77145
+ },
77146
+ ...legacy_api()
76341
77147
  });
76342
77148
  }
76343
77149
 
@@ -76355,12 +77161,15 @@
76355
77161
  true
76356
77162
  );
76357
77163
 
77164
+ DropdownListItemsSingle[FILENAME] = 'src/sdg/components/DropdownList/DropdownListItems/DropdownListItemsSingle/DropdownListItemsSingle.svelte';
77165
+
76358
77166
  var on_click$1 = (event, handleMouseUp, item) => handleMouseUp(event, get(item));
76359
- var root_3$1 = template(`<span class="qc-sr-only"><!></span>`);
76360
- var root_2$5 = template(`<li tabindex="0" role="option"><!></li>`);
76361
- var root_1$3 = template(`<ul></ul>`);
77167
+ var root_3$1 = add_locations(template(`<span class="qc-sr-only"><!></span>`), DropdownListItemsSingle[FILENAME], [[129, 20]]);
77168
+ var root_2$5 = add_locations(template(`<li tabindex="0" role="option"><!></li>`), DropdownListItemsSingle[FILENAME], [[113, 12]]);
77169
+ var root_1$3 = add_locations(template(`<ul></ul>`), DropdownListItemsSingle[FILENAME], [[111, 4]]);
76362
77170
 
76363
77171
  function DropdownListItemsSingle($$anchor, $$props) {
77172
+ check_target(new.target);
76364
77173
  push($$props, true);
76365
77174
 
76366
77175
  const selectedElementCLass = "qc-dropdown-list-single-selected";
@@ -76389,7 +77198,7 @@
76389
77198
 
76390
77199
  function focusOnFirstMatchingElement(passedValue) {
76391
77200
  if (get(displayedItemsElements) && get(displayedItemsElements).length > 0) {
76392
- const foundElement = get(displayedItemsElements).find((el) => el.dataset.itemValue.toString() === passedValue.toString());
77201
+ const foundElement = get(displayedItemsElements).find((el) => strict_equals(el.dataset.itemValue.toString(), passedValue.toString()));
76393
77202
 
76394
77203
  if (foundElement) {
76395
77204
  foundElement.focus();
@@ -76401,8 +77210,8 @@
76401
77210
  event.preventDefault();
76402
77211
 
76403
77212
  if (!item.disabled) {
76404
- items().forEach((item) => item.checked = false);
76405
- items().find((option) => option.value === item.value).checked = true;
77213
+ items().forEach((item) => assign(item, 'checked', false, 'src/​sdg/​components/​DropdownList/​DropdownListItems/​DropdownListItemsSingle/​DropdownListItemsSingle.svelte:45:34'));
77214
+ items().find((option) => strict_equals(option.value, item.value)).checked = true;
76406
77215
  selectionCallback()();
76407
77216
  }
76408
77217
  }
@@ -76412,7 +77221,7 @@
76412
77221
  }
76413
77222
 
76414
77223
  function handleComboKey(event, index, item) {
76415
- if (event.key === "ArrowDown") {
77224
+ if (strict_equals(event.key, "ArrowDown")) {
76416
77225
  event.preventDefault();
76417
77226
  event.stopPropagation();
76418
77227
 
@@ -76421,7 +77230,7 @@
76421
77230
  }
76422
77231
  }
76423
77232
 
76424
- if (event.key === "ArrowUp") {
77233
+ if (strict_equals(event.key, "ArrowUp")) {
76425
77234
  event.preventDefault();
76426
77235
  event.stopPropagation();
76427
77236
 
@@ -76432,7 +77241,7 @@
76432
77241
  }
76433
77242
  }
76434
77243
 
76435
- if (event.key === "Enter" || event.key === " ") {
77244
+ if (strict_equals(event.key, "Enter") || strict_equals(event.key, " ")) {
76436
77245
  handleSelection(event, item);
76437
77246
  }
76438
77247
 
@@ -76452,7 +77261,7 @@
76452
77261
  }
76453
77262
 
76454
77263
  function canExit(event, index) {
76455
- return event.key === "Escape" || !event.shiftKey && event.key === "Tab" && index === displayedItems().length - 1;
77264
+ return strict_equals(event.key, "Escape") || !event.shiftKey && strict_equals(event.key, "Tab") && strict_equals(index, displayedItems().length - 1);
76456
77265
  }
76457
77266
 
76458
77267
  function itemsHaveIds() {
@@ -76474,6 +77283,8 @@
76474
77283
  var consequent_1 = ($$anchor) => {
76475
77284
  var ul = root_1$3();
76476
77285
 
77286
+ validate_each_keys(displayedItems, (item) => item.id);
77287
+
76477
77288
  each(ul, 23, displayedItems, (item) => item.id, ($$anchor, item, index) => {
76478
77289
  var li = root_2$5();
76479
77290
 
@@ -76506,6 +77317,7 @@
76506
77317
  }
76507
77318
 
76508
77319
  reset(li);
77320
+ validate_binding('bind:this={displayedItemsElements[index]}', () => get(displayedItemsElements), () => get(index));
76509
77321
  bind_this(li, ($$value, index) => get(displayedItemsElements)[index] = $$value, (index) => get(displayedItemsElements)?.[index], () => [get(index)]);
76510
77322
 
76511
77323
  template_effect(() => {
@@ -76536,9 +77348,15 @@
76536
77348
  append($$anchor, fragment);
76537
77349
 
76538
77350
  return pop({
76539
- focusOnFirstElement,
76540
- focusOnLastElement,
76541
- focusOnFirstMatchingElement,
77351
+ get focusOnFirstElement() {
77352
+ return focusOnFirstElement;
77353
+ },
77354
+ get focusOnLastElement() {
77355
+ return focusOnLastElement;
77356
+ },
77357
+ get focusOnFirstMatchingElement() {
77358
+ return focusOnFirstMatchingElement;
77359
+ },
76542
77360
  get items() {
76543
77361
  return items();
76544
77362
  },
@@ -76587,7 +77405,8 @@
76587
77405
  set handlePrintableCharacter($$value = () => {}) {
76588
77406
  handlePrintableCharacter($$value);
76589
77407
  flushSync();
76590
- }
77408
+ },
77409
+ ...legacy_api()
76591
77410
  });
76592
77411
  }
76593
77412
 
@@ -76613,17 +77432,32 @@
76613
77432
  true
76614
77433
  );
76615
77434
 
77435
+ DropdownListItemsMultiple[FILENAME] = 'src/sdg/components/DropdownList/DropdownListItems/DropdownListItemsMultiple/DropdownListItemsMultiple.svelte';
77436
+
76616
77437
  function handleChange(_, selectionCallback) {
76617
77438
  selectionCallback()();
76618
77439
  }
76619
77440
 
76620
77441
  var on_click = (e, handleLiClick, item) => handleLiClick(e, get(item));
76621
- var root_2$4 = template(`<li><label class="qc-choicefield-label" compact=""><input type="checkbox" class="qc-choicefield qc-compact"> <span> </span></label></li>`);
76622
- var root_1$2 = template(`<ul></ul>`);
77442
+
77443
+ var root_2$4 = add_locations(template(`<li><label class="qc-choicefield-label" compact=""><input type="checkbox" class="qc-choicefield qc-compact"> <span> </span></label></li>`), DropdownListItemsMultiple[FILENAME], [
77444
+ [
77445
+ 153,
77446
+ 12,
77447
+ [
77448
+ [163, 16, [[168, 20], [180, 20]]]
77449
+ ]
77450
+ ]
77451
+ ]);
77452
+
77453
+ var root_1$2 = add_locations(template(`<ul></ul>`), DropdownListItemsMultiple[FILENAME], [[147, 4]]);
76623
77454
 
76624
77455
  function DropdownListItemsMultiple($$anchor, $$props) {
77456
+ check_target(new.target);
76625
77457
  push($$props, true);
76626
77458
 
77459
+ var $$ownership_validator = create_ownership_validator($$props);
77460
+
76627
77461
  let displayedItems = prop($$props, 'displayedItems', 7),
76628
77462
  handleExit = prop($$props, 'handleExit', 7, () => {}),
76629
77463
  selectionCallback = prop($$props, 'selectionCallback', 7, () => {}),
@@ -76668,7 +77502,7 @@
76668
77502
  }
76669
77503
 
76670
77504
  function handleComboKey(event, index) {
76671
- if (event.key === "ArrowDown") {
77505
+ if (strict_equals(event.key, "ArrowDown")) {
76672
77506
  event.preventDefault();
76673
77507
  event.stopPropagation();
76674
77508
 
@@ -76681,7 +77515,7 @@
76681
77515
  }
76682
77516
  }
76683
77517
 
76684
- if (event.key === "ArrowUp") {
77518
+ if (strict_equals(event.key, "ArrowUp")) {
76685
77519
  event.preventDefault();
76686
77520
  event.stopPropagation();
76687
77521
 
@@ -76696,13 +77530,13 @@
76696
77530
  }
76697
77531
  }
76698
77532
 
76699
- if (event.key === "Enter") {
77533
+ if (strict_equals(event.key, "Enter")) {
76700
77534
  event.preventDefault();
76701
77535
  event.stopPropagation();
76702
77536
 
76703
77537
  if (displayedItems().length > 0 && !displayedItems()[index].disabled) {
76704
77538
  event.target.checked = !event.target.checked;
76705
- displayedItems()[index].checked = event.target.checked;
77539
+ $$ownership_validator.mutation('displayedItems', ['displayedItems', index, 'checked'], displayedItems()[index].checked = event.target.checked, 86, 16);
76706
77540
  }
76707
77541
  }
76708
77542
 
@@ -76722,10 +77556,10 @@
76722
77556
  }
76723
77557
 
76724
77558
  function handleLiKeyDown(event, index) {
76725
- if (event.target.tagName !== "INPUT") {
77559
+ if (strict_equals(event.target.tagName, "INPUT", false)) {
76726
77560
  handleKeyDown(event, index);
76727
77561
 
76728
- if (event.key !== "Tab") {
77562
+ if (strict_equals(event.key, "Tab", false)) {
76729
77563
  event.preventDefault();
76730
77564
  event.stopPropagation();
76731
77565
  }
@@ -76733,7 +77567,7 @@
76733
77567
  }
76734
77568
 
76735
77569
  function handleLiClick(event, item) {
76736
- if (event.target.tagName !== "INPUT") {
77570
+ if (strict_equals(event.target.tagName, "INPUT", false)) {
76737
77571
  event.preventDefault();
76738
77572
  event.stopPropagation();
76739
77573
 
@@ -76744,7 +77578,7 @@
76744
77578
  }
76745
77579
 
76746
77580
  function canExit(event, index) {
76747
- return event.key === "Escape" || !event.shiftKey && event.key === "Tab" && index === displayedItems().length - 1;
77581
+ return strict_equals(event.key, "Escape") || !event.shiftKey && strict_equals(event.key, "Tab") && strict_equals(index, displayedItems().length - 1);
76748
77582
  }
76749
77583
 
76750
77584
  function itemsHaveIds() {
@@ -76766,6 +77600,8 @@
76766
77600
  var consequent = ($$anchor) => {
76767
77601
  var ul = root_1$2();
76768
77602
 
77603
+ validate_each_keys(displayedItems, (item) => item.id);
77604
+
76769
77605
  each(ul, 23, displayedItems, (item) => item.id, ($$anchor, item, index) => {
76770
77606
  var li = root_2$4();
76771
77607
 
@@ -76782,6 +77618,8 @@
76782
77618
  set_attribute(input, 'name', name);
76783
77619
  input.__change = [handleChange, selectionCallback];
76784
77620
  input.__keydown = (e) => handleKeyDown(e, get(index));
77621
+ validate_binding('bind:checked={item.checked}', () => get(item), () => 'checked');
77622
+ validate_binding('bind:this={displayedItemsElements[index]}', () => get(displayedItemsElements), () => get(index));
76785
77623
  bind_this(input, ($$value, index) => get(displayedItemsElements)[index] = $$value, (index) => get(displayedItemsElements)?.[index], () => [get(index)]);
76786
77624
 
76787
77625
  var span = sibling(input, 2);
@@ -76825,9 +77663,15 @@
76825
77663
  append($$anchor, fragment);
76826
77664
 
76827
77665
  return pop({
76828
- focusOnFirstElement,
76829
- focusOnLastElement,
76830
- focusOnFirstMatchingElement,
77666
+ get focusOnFirstElement() {
77667
+ return focusOnFirstElement;
77668
+ },
77669
+ get focusOnLastElement() {
77670
+ return focusOnLastElement;
77671
+ },
77672
+ get focusOnFirstMatchingElement() {
77673
+ return focusOnFirstMatchingElement;
77674
+ },
76831
77675
  get displayedItems() {
76832
77676
  return displayedItems();
76833
77677
  },
@@ -76862,7 +77706,8 @@
76862
77706
  set handlePrintableCharacter($$value = () => {}) {
76863
77707
  handlePrintableCharacter($$value);
76864
77708
  flushSync();
76865
- }
77709
+ },
77710
+ ...legacy_api()
76866
77711
  });
76867
77712
  }
76868
77713
 
@@ -76886,10 +77731,13 @@
76886
77731
  true
76887
77732
  );
76888
77733
 
76889
- var root_4$2 = template(`<span class="qc-dropdown-list-no-options"><!></span>`);
76890
- var root$3 = template(`<div class="qc-dropdown-list-items" tabindex="-1"><!> <div class="qc-dropdown-list-no-options-container" role="status"><!></div></div>`);
77734
+ DropdownListItems[FILENAME] = 'src/sdg/components/DropdownList/DropdownListItems/DropdownListItems.svelte';
77735
+
77736
+ var root_4$2 = add_locations(template(`<span class="qc-dropdown-list-no-options"><!></span>`), DropdownListItems[FILENAME], [[105, 16]]);
77737
+ 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]]]]);
76891
77738
 
76892
77739
  function DropdownListItems($$anchor, $$props) {
77740
+ check_target(new.target);
76893
77741
  push($$props, true);
76894
77742
 
76895
77743
  let id = prop($$props, 'id', 7),
@@ -77054,9 +77902,15 @@
77054
77902
  append($$anchor, div);
77055
77903
 
77056
77904
  return pop({
77057
- focus,
77058
- focusOnLastElement,
77059
- focusOnFirstMatchingElement,
77905
+ get focus() {
77906
+ return focus;
77907
+ },
77908
+ get focusOnLastElement() {
77909
+ return focusOnLastElement;
77910
+ },
77911
+ get focusOnFirstMatchingElement() {
77912
+ return focusOnFirstMatchingElement;
77913
+ },
77060
77914
  get id() {
77061
77915
  return id();
77062
77916
  },
@@ -77147,7 +78001,8 @@
77147
78001
  set placeholder($$value) {
77148
78002
  placeholder($$value);
77149
78003
  flushSync();
77150
- }
78004
+ },
78005
+ ...legacy_api()
77151
78006
  });
77152
78007
  }
77153
78008
 
@@ -77177,11 +78032,14 @@
77177
78032
  true
77178
78033
  );
77179
78034
 
77180
- var root_1$1 = template(`<span class="qc-dropdown-choice"><!></span>`);
77181
- var root_2$3 = template(`<span class="qc-dropdown-placeholder"><!></span>`);
77182
- var root$2 = template(`<button><!> <span><!></span></button>`);
78035
+ DropdownListButton[FILENAME] = 'src/sdg/components/DropdownList/DropdownListButton/DropdownListButton.svelte';
78036
+
78037
+ var root_1$1 = add_locations(template(`<span class="qc-dropdown-choice"><!></span>`), DropdownListButton[FILENAME], [[29, 8]]);
78038
+ var root_2$3 = add_locations(template(`<span class="qc-dropdown-placeholder"><!></span>`), DropdownListButton[FILENAME], [[31, 8]]);
78039
+ var root$2 = add_locations(template(`<button><!> <span><!></span></button>`), DropdownListButton[FILENAME], [[19, 0, [[34, 4]]]]);
77183
78040
 
77184
78041
  function DropdownListButton($$anchor, $$props) {
78042
+ check_target(new.target);
77185
78043
  push($$props, true);
77186
78044
 
77187
78045
  let inputId = prop($$props, 'inputId', 7),
@@ -77189,17 +78047,19 @@
77189
78047
  disabled = prop($$props, 'disabled', 7),
77190
78048
  selectedOptionsText = prop($$props, 'selectedOptionsText', 7, ""),
77191
78049
  placeholder = prop($$props, 'placeholder', 7),
77192
- rest = rest_props($$props, [
77193
- '$$slots',
77194
- '$$events',
77195
- '$$legacy',
77196
- '$$host',
77197
- 'inputId',
77198
- 'expanded',
77199
- 'disabled',
77200
- 'selectedOptionsText',
77201
- 'placeholder'
77202
- ]);
78050
+ rest = rest_props(
78051
+ $$props,
78052
+ [
78053
+ '$$slots',
78054
+ '$$events',
78055
+ '$$legacy',
78056
+ '$$host',
78057
+ 'inputId',
78058
+ 'expanded',
78059
+ 'disabled',
78060
+ 'selectedOptionsText',
78061
+ 'placeholder'
78062
+ ]);
77203
78063
 
77204
78064
  let button;
77205
78065
 
@@ -77270,7 +78130,9 @@
77270
78130
  append($$anchor, button_1);
77271
78131
 
77272
78132
  return pop({
77273
- focus,
78133
+ get focus() {
78134
+ return focus;
78135
+ },
77274
78136
  get inputId() {
77275
78137
  return inputId();
77276
78138
  },
@@ -77305,7 +78167,8 @@
77305
78167
  set placeholder($$value) {
77306
78168
  placeholder($$value);
77307
78169
  flushSync();
77308
- }
78170
+ },
78171
+ ...legacy_api()
77309
78172
  });
77310
78173
  }
77311
78174
 
@@ -77323,13 +78186,36 @@
77323
78186
  true
77324
78187
  );
77325
78188
 
77326
- var root_2$2 = template(`<div class="qc-dropdown-list-search"><!></div>`);
77327
- var root_3 = template(`<span> </span>`);
77328
- 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>`);
78189
+ DropdownList[FILENAME] = 'src/sdg/components/DropdownList/DropdownList.svelte';
78190
+
78191
+ var root_2$2 = add_locations(template(`<div class="qc-dropdown-list-search"><!></div>`), DropdownList[FILENAME], [[337, 20]]);
78192
+ var root_3 = add_locations(template(`<span> </span>`), DropdownList[FILENAME], [[379, 24]]);
78193
+
78194
+ 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], [
78195
+ [
78196
+ 274,
78197
+ 0,
78198
+ [
78199
+ [
78200
+ 281,
78201
+ 4,
78202
+ [
78203
+ [
78204
+ 301,
78205
+ 8,
78206
+ [[328, 12, [[377, 16]]]]
78207
+ ]
78208
+ ]
78209
+ ]
78210
+ ]
78211
+ ]
78212
+ ]);
77329
78213
 
77330
78214
  function DropdownList($$anchor, $$props) {
78215
+ check_target(new.target);
77331
78216
  push($$props, true);
77332
78217
 
78218
+ var $$ownership_validator = create_ownership_validator($$props);
77333
78219
  const lang = Utils.getPageLanguage();
77334
78220
 
77335
78221
  let id = prop($$props, 'id', 23, () => Math.random().toString(36).substring(2, 15)),
@@ -77339,7 +78225,7 @@
77339
78225
  items = prop($$props, 'items', 23, () => []),
77340
78226
  value = prop($$props, 'value', 31, () => proxy([])),
77341
78227
  placeholder = prop($$props, 'placeholder', 7),
77342
- noOptionsMessage = prop($$props, 'noOptionsMessage', 7, lang === "fr" ? "Aucun élément" : "No item"),
78228
+ noOptionsMessage = prop($$props, 'noOptionsMessage', 23, () => strict_equals(lang, "fr") ? "Aucun élément" : "No item"),
77343
78229
  enableSearch = prop($$props, 'enableSearch', 7, false),
77344
78230
  required = prop($$props, 'required', 7, false),
77345
78231
  disabled = prop($$props, 'disabled', 7, false),
@@ -77352,7 +78238,7 @@
77352
78238
  webComponentMode = prop($$props, 'webComponentMode', 7, false),
77353
78239
  webComponentParentRow = prop($$props, 'webComponentParentRow', 7);
77354
78240
 
77355
- const defaultPlaceholder = lang === "fr" ? "Faire une sélection" : "Select an option",
78241
+ const defaultPlaceholder = strict_equals(lang, "fr") ? "Faire une sélection" : "Select an option",
77356
78242
  inputId = `${id()}-input`,
77357
78243
  popupId = `${id()}-popup`,
77358
78244
  itemsId = `${id()}-items`,
@@ -77368,7 +78254,7 @@
77368
78254
  selectedItems = user_derived(() => items().filter((item) => item.checked) ?? []),
77369
78255
  selectedOptionsText = user_derived(() => {
77370
78256
  if (get(selectedItems).length >= 3) {
77371
- if (lang === "fr") {
78257
+ if (strict_equals(lang, "fr")) {
77372
78258
  return `${get(selectedItems).length} options sélectionnées`;
77373
78259
  }
77374
78260
 
@@ -77411,7 +78297,7 @@
77411
78297
  const s = get(displayedItems).length > 1 ? "s" : "";
77412
78298
 
77413
78299
  if (get(displayedItems).length > 0) {
77414
- 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.`;
78300
+ 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.`;
77415
78301
  }
77416
78302
 
77417
78303
  return "";
@@ -77442,27 +78328,27 @@
77442
78328
  // Le changement de focus a lieu après le lancement de l'événement clavier.
77443
78329
  // Il faut donc faire un court sleep pour avoir le nouvel élément en focus.
77444
78330
  Utils.sleep(5).then(() => {
77445
- if (event.key === "Tab" && !Utils.componentIsActive(get(instance))) {
78331
+ if (strict_equals(event.key, "Tab") && !Utils.componentIsActive(get(instance))) {
77446
78332
  set(expanded, false);
77447
78333
  }
77448
78334
  }).catch(console.error);
77449
78335
  }
77450
78336
 
77451
78337
  function handleEscape(event) {
77452
- if (event.key === "Escape") {
78338
+ if (strict_equals(event.key, "Escape")) {
77453
78339
  set(expanded, false);
77454
78340
  }
77455
78341
  }
77456
78342
 
77457
78343
  function handleArrowUp(event, targetComponent) {
77458
- if (event.key === "ArrowUp" && targetComponent) {
78344
+ if (strict_equals(event.key, "ArrowUp") && targetComponent) {
77459
78345
  event.preventDefault();
77460
78346
  targetComponent.focus();
77461
78347
  }
77462
78348
  }
77463
78349
 
77464
78350
  function handleArrowDown(event, targetComponent) {
77465
- if (event.key === "ArrowDown" && targetComponent) {
78351
+ if (strict_equals(event.key, "ArrowDown") && targetComponent) {
77466
78352
  event.preventDefault();
77467
78353
  set(expanded, true);
77468
78354
  targetComponent.focus();
@@ -77473,7 +78359,7 @@
77473
78359
  handleEscape(event);
77474
78360
  handleTab(event);
77475
78361
 
77476
- if (event.key === "ArrowDown") {
78362
+ if (strict_equals(event.key, "ArrowDown")) {
77477
78363
  event.preventDefault();
77478
78364
 
77479
78365
  if (get(expanded)) {
@@ -77484,7 +78370,7 @@
77484
78370
  }
77485
78371
  }
77486
78372
 
77487
- if (event.key === "ArrowUp") {
78373
+ if (strict_equals(event.key, "ArrowUp")) {
77488
78374
  event.preventDefault();
77489
78375
 
77490
78376
  if (get(expanded)) {
@@ -77517,7 +78403,7 @@
77517
78403
  set(expanded, false);
77518
78404
  set(hiddenSearchText, "");
77519
78405
 
77520
- if (key === "Escape" && get(button)) {
78406
+ if (strict_equals(key, "Escape") && get(button)) {
77521
78407
  get(button).focus();
77522
78408
  }
77523
78409
  }
@@ -77539,7 +78425,7 @@
77539
78425
  });
77540
78426
 
77541
78427
  user_effect(() => {
77542
- if (get(previousValue)?.toString() !== value()?.toString()) {
78428
+ if (strict_equals(get(previousValue)?.toString(), value()?.toString(), false)) {
77543
78429
  invalid(false);
77544
78430
  }
77545
78431
  });
@@ -77554,7 +78440,7 @@
77554
78440
  user_effect(() => {
77555
78441
  const tempValue = get(selectedItems)?.map((item) => item.value);
77556
78442
 
77557
- if (tempValue?.toString() !== "") {
78443
+ if (strict_equals(tempValue?.toString(), "", false)) {
77558
78444
  value(tempValue);
77559
78445
  } else {
77560
78446
  value([]);
@@ -77581,11 +78467,11 @@
77581
78467
  const optionWithEmptyValue = findOptionWithEmptyValue();
77582
78468
 
77583
78469
  if (!optionWithEmptyValue) return;
77584
- placeholder(optionWithEmptyValue.label !== "" ? optionWithEmptyValue.label : defaultPlaceholder);
78470
+ placeholder(strict_equals(optionWithEmptyValue.label, "", false) ? optionWithEmptyValue.label : defaultPlaceholder);
77585
78471
  });
77586
78472
 
77587
78473
  function findOptionWithEmptyValue() {
77588
- return items()?.find((item) => item.value === "" || item.value === null || item.value === undefined);
78474
+ return items()?.find((item) => strict_equals(item.value, "") || strict_equals(item.value, null) || strict_equals(item.value, undefined));
77589
78475
  }
77590
78476
 
77591
78477
  var div = root$1();
@@ -77690,7 +78576,7 @@
77690
78576
  handleArrowDown(e, get(dropdownItems));
77691
78577
  handleArrowUp(e, get(button));
77692
78578
 
77693
- if (e.key === "Enter") {
78579
+ if (strict_equals(e.key, "Enter")) {
77694
78580
  e.preventDefault();
77695
78581
  }
77696
78582
  },
@@ -77716,45 +78602,49 @@
77716
78602
 
77717
78603
  var node_4 = sibling(node_2, 2);
77718
78604
 
77719
- bind_this(
77720
- DropdownListItems(node_4, {
77721
- id: itemsId,
77722
- get enableSearch() {
77723
- return enableSearch();
77724
- },
77725
- get placeholder() {
77726
- return placeholder();
77727
- },
77728
- get multiple() {
77729
- return multiple();
77730
- },
77731
- get items() {
77732
- return items();
77733
- },
77734
- get displayedItems() {
77735
- return get(displayedItems);
77736
- },
77737
- get noOptionsMessage() {
77738
- return noOptionsMessage();
77739
- },
77740
- selectionCallbackSingle: () => {
77741
- closeDropdown("");
77742
- get(button)?.focus();
77743
- },
77744
- handleExitSingle: (key) => closeDropdown(key),
77745
- handleExitMultiple: (key) => closeDropdown(key),
77746
- focusOnOuterElement: () => enableSearch() ? get(searchInput)?.focus() : get(button)?.focus(),
77747
- handlePrintableCharacter,
77748
- get value() {
77749
- return value();
77750
- },
77751
- set value($$value) {
77752
- value($$value);
77753
- }
77754
- }),
77755
- ($$value) => set(dropdownItems, $$value, true),
77756
- () => get(dropdownItems)
77757
- );
78605
+ {
78606
+ $$ownership_validator.binding('value', DropdownListItems, value);
78607
+
78608
+ bind_this(
78609
+ DropdownListItems(node_4, {
78610
+ id: itemsId,
78611
+ get enableSearch() {
78612
+ return enableSearch();
78613
+ },
78614
+ get placeholder() {
78615
+ return placeholder();
78616
+ },
78617
+ get multiple() {
78618
+ return multiple();
78619
+ },
78620
+ get items() {
78621
+ return items();
78622
+ },
78623
+ get displayedItems() {
78624
+ return get(displayedItems);
78625
+ },
78626
+ get noOptionsMessage() {
78627
+ return noOptionsMessage();
78628
+ },
78629
+ selectionCallbackSingle: () => {
78630
+ closeDropdown("");
78631
+ get(button)?.focus();
78632
+ },
78633
+ handleExitSingle: (key) => closeDropdown(key),
78634
+ handleExitMultiple: (key) => closeDropdown(key),
78635
+ focusOnOuterElement: () => enableSearch() ? get(searchInput)?.focus() : get(button)?.focus(),
78636
+ handlePrintableCharacter,
78637
+ get value() {
78638
+ return value();
78639
+ },
78640
+ set value($$value) {
78641
+ value($$value);
78642
+ }
78643
+ }),
78644
+ ($$value) => set(dropdownItems, $$value, true),
78645
+ () => get(dropdownItems)
78646
+ );
78647
+ }
77758
78648
 
77759
78649
  var div_5 = sibling(node_4, 2);
77760
78650
  var node_5 = child(div_5);
@@ -77777,25 +78667,29 @@
77777
78667
  var node_6 = sibling(div_1, 2);
77778
78668
  const expression_1 = user_derived(() => label() ?? ariaLabel());
77779
78669
 
77780
- FormError(node_6, {
77781
- id: errorId,
77782
- get invalid() {
77783
- return invalid();
77784
- },
77785
- get invalidText() {
77786
- return invalidText();
77787
- },
77788
- extraClasses: ["qc-xs-mt"],
77789
- get label() {
77790
- return get(expression_1);
77791
- },
77792
- get rootElement() {
77793
- return errorElement();
77794
- },
77795
- set rootElement($$value) {
77796
- errorElement($$value);
77797
- }
77798
- });
78670
+ {
78671
+ $$ownership_validator.binding('errorElement', FormError, errorElement);
78672
+
78673
+ FormError(node_6, {
78674
+ id: errorId,
78675
+ get invalid() {
78676
+ return invalid();
78677
+ },
78678
+ get invalidText() {
78679
+ return invalidText();
78680
+ },
78681
+ extraClasses: ["qc-xs-mt"],
78682
+ get label() {
78683
+ return get(expression_1);
78684
+ },
78685
+ get rootElement() {
78686
+ return errorElement();
78687
+ },
78688
+ set rootElement($$value) {
78689
+ errorElement($$value);
78690
+ }
78691
+ });
78692
+ }
77799
78693
 
77800
78694
  reset(div);
77801
78695
  bind_this(div, ($$value) => rootElement($$value), () => rootElement());
@@ -77959,7 +78853,8 @@
77959
78853
  set webComponentParentRow($$value) {
77960
78854
  webComponentParentRow($$value);
77961
78855
  flushSync();
77962
- }
78856
+ },
78857
+ ...legacy_api()
77963
78858
  });
77964
78859
  }
77965
78860
 
@@ -77991,20 +78886,25 @@
77991
78886
  true
77992
78887
  );
77993
78888
 
77994
- var root_2$1 = template(`<legend><!></legend>`);
77995
- var root_1 = template(`<fieldset><!> <div><!></div> <!></fieldset>`);
77996
- var root_4$1 = template(`<div class="qc-fieldset-invalid"><!></div>`);
78889
+ Fieldset[FILENAME] = 'src/sdg/components/Fieldset/Fieldset.svelte';
78890
+
78891
+ var root_2$1 = add_locations(template(`<legend><!></legend>`), Fieldset[FILENAME], [[43, 4]]);
78892
+ var root_1 = add_locations(template(`<fieldset><!> <div><!></div> <!></fieldset>`), Fieldset[FILENAME], [[31, 0, [[47, 4]]]]);
78893
+ var root_4$1 = add_locations(template(`<div class="qc-fieldset-invalid"><!></div>`), Fieldset[FILENAME], [[70, 4]]);
77997
78894
 
77998
78895
  function Fieldset($$anchor, $$props) {
78896
+ check_target(new.target);
77999
78897
  push($$props, true);
78000
78898
 
78001
- const fieldset = ($$anchor) => {
78899
+ const fieldset = wrap_snippet(Fieldset, function ($$anchor) {
78900
+ validate_snippet_args(...arguments);
78901
+
78002
78902
  var fieldset_1 = root_1();
78003
78903
 
78004
78904
  set_attribute(fieldset_1, 'aria-describedby', legendId);
78005
78905
 
78006
78906
  fieldset_1.__change = function (...$$args) {
78007
- onchange()?.apply(this, $$args);
78907
+ apply(onchange, this, $$args, Fieldset, [38, 11]);
78008
78908
  };
78009
78909
 
78010
78910
  var node = child(fieldset_1);
@@ -78084,7 +78984,7 @@
78084
78984
  });
78085
78985
 
78086
78986
  append($$anchor, fieldset_1);
78087
- };
78987
+ });
78088
78988
 
78089
78989
  let legend = prop($$props, 'legend', 7),
78090
78990
  name = prop($$props, 'name', 7),
@@ -78234,7 +79134,8 @@
78234
79134
  set rootElement($$value) {
78235
79135
  rootElement($$value);
78236
79136
  flushSync();
78237
- }
79137
+ },
79138
+ ...legacy_api()
78238
79139
  });
78239
79140
  }
78240
79141
 
@@ -78264,9 +79165,14 @@
78264
79165
  true
78265
79166
  );
78266
79167
 
79168
+ ChoiceGroup[FILENAME] = 'src/sdg/components/ChoiceGroup/ChoiceGroup.svelte';
79169
+
78267
79170
  function ChoiceGroup($$anchor, $$props) {
79171
+ check_target(new.target);
78268
79172
  push($$props, true);
78269
79173
 
79174
+ var $$ownership_validator = create_ownership_validator($$props);
79175
+
78270
79176
  let invalid = prop($$props, 'invalid', 15, false),
78271
79177
  invalidText = prop($$props, 'invalidText', 7),
78272
79178
  children = prop($$props, 'children', 7),
@@ -78276,21 +79182,23 @@
78276
79182
  host = prop($$props, 'host', 7),
78277
79183
  name = prop($$props, 'name', 7),
78278
79184
  required = prop($$props, 'required', 7),
78279
- restProps = rest_props($$props, [
78280
- '$$slots',
78281
- '$$events',
78282
- '$$legacy',
78283
- '$$host',
78284
- 'invalid',
78285
- 'invalidText',
78286
- 'children',
78287
- 'compact',
78288
- 'selectionButton',
78289
- 'inline',
78290
- 'host',
78291
- 'name',
78292
- 'required'
78293
- ]);
79185
+ restProps = rest_props(
79186
+ $$props,
79187
+ [
79188
+ '$$slots',
79189
+ '$$events',
79190
+ '$$legacy',
79191
+ '$$host',
79192
+ 'invalid',
79193
+ 'invalidText',
79194
+ 'children',
79195
+ 'compact',
79196
+ 'selectionButton',
79197
+ 'inline',
79198
+ 'host',
79199
+ 'name',
79200
+ 'required'
79201
+ ]);
78294
79202
 
78295
79203
  let fieldsetElement = state(void 0);
78296
79204
 
@@ -78304,49 +79212,53 @@
78304
79212
  (host() ? host() : get(fieldsetElement)).querySelectorAll('input, .qc-choicefield').forEach((input) => updateInput(input, required(), invalid(), compact(), selectionButton(), inline(), name()));
78305
79213
  });
78306
79214
 
78307
- Fieldset($$anchor, spread_props(
78308
- {
78309
- get required() {
78310
- return required();
78311
- },
78312
- get compact() {
78313
- return compact();
78314
- },
78315
- get selectionButton() {
78316
- return selectionButton();
78317
- },
78318
- get inline() {
78319
- return inline();
78320
- },
78321
- get invalidText() {
78322
- return invalidText();
78323
- },
78324
- onchange
78325
- },
78326
- () => restProps,
78327
- {
78328
- get invalid() {
78329
- return invalid();
78330
- },
78331
- set invalid($$value) {
78332
- invalid($$value);
78333
- },
78334
- get rootElement() {
78335
- return get(fieldsetElement);
78336
- },
78337
- set rootElement($$value) {
78338
- set(fieldsetElement, $$value, true);
78339
- },
78340
- children: ($$anchor, $$slotProps) => {
78341
- var fragment_1 = comment();
78342
- var node = first_child(fragment_1);
79215
+ {
79216
+ $$ownership_validator.binding('invalid', Fieldset, invalid);
78343
79217
 
78344
- snippet(node, children);
78345
- append($$anchor, fragment_1);
79218
+ Fieldset($$anchor, spread_props(
79219
+ {
79220
+ get required() {
79221
+ return required();
79222
+ },
79223
+ get compact() {
79224
+ return compact();
79225
+ },
79226
+ get selectionButton() {
79227
+ return selectionButton();
79228
+ },
79229
+ get inline() {
79230
+ return inline();
79231
+ },
79232
+ get invalidText() {
79233
+ return invalidText();
79234
+ },
79235
+ onchange
78346
79236
  },
78347
- $$slots: { default: true }
78348
- }
78349
- ));
79237
+ () => restProps,
79238
+ {
79239
+ get invalid() {
79240
+ return invalid();
79241
+ },
79242
+ set invalid($$value) {
79243
+ invalid($$value);
79244
+ },
79245
+ get rootElement() {
79246
+ return get(fieldsetElement);
79247
+ },
79248
+ set rootElement($$value) {
79249
+ set(fieldsetElement, $$value, true);
79250
+ },
79251
+ children: wrap_snippet(ChoiceGroup, ($$anchor, $$slotProps) => {
79252
+ var fragment_1 = comment();
79253
+ var node = first_child(fragment_1);
79254
+
79255
+ snippet(node, children);
79256
+ append($$anchor, fragment_1);
79257
+ }),
79258
+ $$slots: { default: true }
79259
+ }
79260
+ ));
79261
+ }
78350
79262
 
78351
79263
  return pop({
78352
79264
  get invalid() {
@@ -78411,7 +79323,8 @@
78411
79323
  set required($$value) {
78412
79324
  required($$value);
78413
79325
  flushSync();
78414
- }
79326
+ },
79327
+ ...legacy_api()
78415
79328
  });
78416
79329
  }
78417
79330
 
@@ -78433,24 +79346,27 @@
78433
79346
  true
78434
79347
  );
78435
79348
 
78436
- var root_2 = template(`<label><input type="checkbox"> Multiligne</label>`);
78437
- var root_4 = template(`<label><input type="radio" name="size"> </label>`);
78438
- var root_5 = template(`<label><input type="checkbox"> Required</label>`);
78439
- var root_6 = template(`<label><input type="checkbox"> Invalid</label>`);
78440
- var root_7 = template(`<input type="text">`);
78441
- var root_8 = template(`<input type="text">`);
78442
- var root_9 = template(`<input type="text">`);
78443
- var root_11 = template(`<input type="text">`);
78444
- var root_12 = template(`<input type="number">`);
78445
- var root_10 = template(`<!> <!>`, 1);
78446
- var root = template(`<!> <div class="attributes qc-hash-f0iu2z"><!> <!> <!> <!> <!> <!> <!> <!></div> <link rel="stylesheet">`, 1);
79349
+ TextFieldDemo[FILENAME] = 'src/sdg/components/TextField/Doc/TextFieldDemo.svelte';
79350
+
79351
+ var root_2 = add_locations(template(`<label><input type="checkbox"> Multiligne</label>`), TextFieldDemo[FILENAME], [[70, 8, [[71, 12]]]]);
79352
+ var root_4 = add_locations(template(`<label><input type="radio" name="size"> </label>`), TextFieldDemo[FILENAME], [[78, 12, [[79, 16]]]]);
79353
+ var root_5 = add_locations(template(`<label><input type="checkbox"> Required</label>`), TextFieldDemo[FILENAME], [[89, 8, [[90, 12]]]]);
79354
+ var root_6 = add_locations(template(`<label><input type="checkbox"> Invalid</label>`), TextFieldDemo[FILENAME], [[96, 8, [[97, 12]]]]);
79355
+ var root_7 = add_locations(template(`<input type="text">`), TextFieldDemo[FILENAME], [[103, 8]]);
79356
+ var root_8 = add_locations(template(`<input type="text">`), TextFieldDemo[FILENAME], [[107, 8]]);
79357
+ var root_9 = add_locations(template(`<input type="text">`), TextFieldDemo[FILENAME], [[112, 8]]);
79358
+ var root_11 = add_locations(template(`<input type="text">`), TextFieldDemo[FILENAME], [[120, 12]]);
79359
+ var root_12 = add_locations(template(`<input type="number">`), TextFieldDemo[FILENAME], [[127, 12]]);
79360
+ var root_10 = add_locations(template(`<!> <!>`, 1), TextFieldDemo[FILENAME], []);
79361
+ var root = add_locations(template(`<!> <div class="attributes qc-hash-f0iu2z"><!> <!> <!> <!> <!> <!> <!> <!></div> <link rel="stylesheet">`, 1), TextFieldDemo[FILENAME], [[68, 0], [142, 0]]);
78447
79362
 
78448
79363
  const $$css = {
78449
79364
  hash: 'qc-hash-f0iu2z',
78450
- code: '.attributes.qc-hash-f0iu2z {display:flex;flex-direction:column;flex-wrap:wrap;gap:0 24px;max-height:352px;}'
79365
+ code: '\n .attributes.qc-hash-f0iu2z {\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n gap: 0 24px;\n max-height: 352px;\n }\n'
78451
79366
  };
78452
79367
 
78453
79368
  function TextFieldDemo($$anchor, $$props) {
79369
+ check_target(new.target);
78454
79370
  push($$props, true);
78455
79371
  append_styles$1($$anchor, $$css);
78456
79372
 
@@ -78472,8 +79388,14 @@
78472
79388
  inputType = state("text"),
78473
79389
  multiligne = state(false);
78474
79390
 
79391
+ inspect(() => [
79392
+ get(multiligne),
79393
+ get(inputTag),
79394
+ get(inputType)
79395
+ ]);
79396
+
78475
79397
  user_effect(() => {
78476
- console.log(get(multiligne), get(inputTag), get(inputType));
79398
+ console.log(...log_if_contains_state('log', get(multiligne), get(inputTag), get(inputType)));
78477
79399
 
78478
79400
  if (get(multiligne)) {
78479
79401
  set(inputTag, "textarea");
@@ -78511,23 +79433,33 @@
78511
79433
  get maxlength() {
78512
79434
  return get(expression_1);
78513
79435
  },
78514
- children: ($$anchor, $$slotProps) => {
79436
+ children: wrap_snippet(TextFieldDemo, ($$anchor, $$slotProps) => {
78515
79437
  var fragment_1 = comment();
78516
79438
  var node_1 = first_child(fragment_1);
78517
79439
 
78518
- element(node_1, () => get(inputTag), false, ($$element, $$anchor) => {
78519
- let attributes;
78520
-
78521
- template_effect(() => attributes = set_attributes($$element, attributes, {
78522
- inputType: get(inputType),
78523
- value: value(),
78524
- name: 'textfield-demo',
78525
- placeholder: placeholder()
78526
- }));
78527
- });
79440
+ validate_void_dynamic_element(() => get(inputTag));
79441
+ validate_dynamic_element_tag(() => get(inputTag));
79442
+
79443
+ element(
79444
+ node_1,
79445
+ () => get(inputTag),
79446
+ false,
79447
+ ($$element, $$anchor) => {
79448
+ let attributes;
79449
+
79450
+ template_effect(() => attributes = set_attributes($$element, attributes, {
79451
+ inputType: get(inputType),
79452
+ value: value(),
79453
+ name: 'textfield-demo',
79454
+ placeholder: placeholder()
79455
+ }));
79456
+ },
79457
+ undefined,
79458
+ [58, 4]
79459
+ );
78528
79460
 
78529
79461
  append($$anchor, fragment_1);
78530
- },
79462
+ }),
78531
79463
  $$slots: { default: true }
78532
79464
  });
78533
79465
 
@@ -78536,7 +79468,7 @@
78536
79468
 
78537
79469
  Checkbox(node_2, {
78538
79470
  compact: true,
78539
- children: ($$anchor, $$slotProps) => {
79471
+ children: wrap_snippet(TextFieldDemo, ($$anchor, $$slotProps) => {
78540
79472
  var label_1 = root_2();
78541
79473
  var input = child(label_1);
78542
79474
 
@@ -78545,7 +79477,7 @@
78545
79477
  reset(label_1);
78546
79478
  bind_checked(input, () => get(multiligne), ($$value) => set(multiligne, $$value));
78547
79479
  append($$anchor, label_1);
78548
- },
79480
+ }),
78549
79481
  $$slots: { default: true }
78550
79482
  });
78551
79483
 
@@ -78555,7 +79487,7 @@
78555
79487
  legend: 'Size',
78556
79488
  selectionButton: true,
78557
79489
  inline: true,
78558
- children: ($$anchor, $$slotProps) => {
79490
+ children: wrap_snippet(TextFieldDemo, ($$anchor, $$slotProps) => {
78559
79491
  var fragment_2 = comment();
78560
79492
  var node_4 = first_child(fragment_2);
78561
79493
 
@@ -78583,6 +79515,7 @@
78583
79515
  [],
78584
79516
  input_1,
78585
79517
  () => {
79518
+ _size;
78586
79519
  return size();
78587
79520
  },
78588
79521
  size
@@ -78592,7 +79525,7 @@
78592
79525
  });
78593
79526
 
78594
79527
  append($$anchor, fragment_2);
78595
- },
79528
+ }),
78596
79529
  $$slots: { default: true }
78597
79530
  });
78598
79531
 
@@ -78600,7 +79533,7 @@
78600
79533
 
78601
79534
  Checkbox(node_5, {
78602
79535
  compact: true,
78603
- children: ($$anchor, $$slotProps) => {
79536
+ children: wrap_snippet(TextFieldDemo, ($$anchor, $$slotProps) => {
78604
79537
  var label_3 = root_5();
78605
79538
  var input_2 = child(label_3);
78606
79539
 
@@ -78609,7 +79542,7 @@
78609
79542
  reset(label_3);
78610
79543
  bind_checked(input_2, required);
78611
79544
  append($$anchor, label_3);
78612
- },
79545
+ }),
78613
79546
  $$slots: { default: true }
78614
79547
  });
78615
79548
 
@@ -78617,7 +79550,7 @@
78617
79550
 
78618
79551
  Checkbox(node_6, {
78619
79552
  compact: true,
78620
- children: ($$anchor, $$slotProps) => {
79553
+ children: wrap_snippet(TextFieldDemo, ($$anchor, $$slotProps) => {
78621
79554
  var label_4 = root_6();
78622
79555
  var input_3 = child(label_4);
78623
79556
 
@@ -78626,7 +79559,7 @@
78626
79559
  reset(label_4);
78627
79560
  bind_checked(input_3, invalid);
78628
79561
  append($$anchor, label_4);
78629
- },
79562
+ }),
78630
79563
  $$slots: { default: true }
78631
79564
  });
78632
79565
 
@@ -78634,13 +79567,13 @@
78634
79567
 
78635
79568
  TextField(node_7, {
78636
79569
  label: 'placeholder',
78637
- children: ($$anchor, $$slotProps) => {
79570
+ children: wrap_snippet(TextFieldDemo, ($$anchor, $$slotProps) => {
78638
79571
  var input_4 = root_7();
78639
79572
 
78640
79573
  remove_input_defaults(input_4);
78641
79574
  bind_value(input_4, placeholder);
78642
79575
  append($$anchor, input_4);
78643
- },
79576
+ }),
78644
79577
  $$slots: { default: true }
78645
79578
  });
78646
79579
 
@@ -78648,13 +79581,13 @@
78648
79581
 
78649
79582
  TextField(node_8, {
78650
79583
  label: 'Libellé du champ',
78651
- children: ($$anchor, $$slotProps) => {
79584
+ children: wrap_snippet(TextFieldDemo, ($$anchor, $$slotProps) => {
78652
79585
  var input_5 = root_8();
78653
79586
 
78654
79587
  remove_input_defaults(input_5);
78655
79588
  bind_value(input_5, label);
78656
79589
  append($$anchor, input_5);
78657
- },
79590
+ }),
78658
79591
  $$slots: { default: true }
78659
79592
  });
78660
79593
 
@@ -78662,13 +79595,13 @@
78662
79595
 
78663
79596
  TextField(node_9, {
78664
79597
  label: 'Message d\'erreur',
78665
- children: ($$anchor, $$slotProps) => {
79598
+ children: wrap_snippet(TextFieldDemo, ($$anchor, $$slotProps) => {
78666
79599
  var input_6 = root_9();
78667
79600
 
78668
79601
  remove_input_defaults(input_6);
78669
79602
  bind_value(input_6, invalidText);
78670
79603
  append($$anchor, input_6);
78671
- },
79604
+ }),
78672
79605
  $$slots: { default: true }
78673
79606
  });
78674
79607
 
@@ -78682,13 +79615,13 @@
78682
79615
  TextField(node_11, {
78683
79616
  label: 'Description',
78684
79617
  size: 'lg',
78685
- children: ($$anchor, $$slotProps) => {
79618
+ children: wrap_snippet(TextFieldDemo, ($$anchor, $$slotProps) => {
78686
79619
  var input_7 = root_11();
78687
79620
 
78688
79621
  remove_input_defaults(input_7);
78689
79622
  bind_value(input_7, description);
78690
79623
  append($$anchor, input_7);
78691
- },
79624
+ }),
78692
79625
  $$slots: { default: true }
78693
79626
  });
78694
79627
 
@@ -78697,13 +79630,13 @@
78697
79630
  TextField(node_12, {
78698
79631
  label: 'Maxlength',
78699
79632
  size: 'xs',
78700
- children: ($$anchor, $$slotProps) => {
79633
+ children: wrap_snippet(TextFieldDemo, ($$anchor, $$slotProps) => {
78701
79634
  var input_8 = root_12();
78702
79635
 
78703
79636
  remove_input_defaults(input_8);
78704
79637
  bind_value(input_8, maxlength);
78705
79638
  append($$anchor, input_8);
78706
- },
79639
+ }),
78707
79640
  $$slots: { default: true }
78708
79641
  });
78709
79642
 
@@ -78804,7 +79737,8 @@
78804
79737
  set invalidAtSubmit($$value = false) {
78805
79738
  invalidAtSubmit($$value);
78806
79739
  flushSync();
78807
- }
79740
+ },
79741
+ ...legacy_api()
78808
79742
  });
78809
79743
  }
78810
79744
 
@@ -78833,7 +79767,7 @@
78833
79767
  ));
78834
79768
 
78835
79769
  if (document.getElementById("version")) {
78836
- document.getElementById("version").textContent = `v1.4.3`;
79770
+ document.getElementById("version").textContent = `v1.4.4`;
78837
79771
  }
78838
79772
 
78839
79773
  // Show maskable "general alert" component