qc-trousse-sdg 1.2.5-dev → 1.3.0-develop.0

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.
Files changed (97) hide show
  1. package/README.md +18 -3
  2. package/dist/css/qc-sdg-design-tokens.min.css +1 -1
  3. package/dist/css/qc-sdg-no-grid.min.css +1 -1
  4. package/dist/css/qc-sdg.min.css +1 -1
  5. package/dist/img/QUEBEC_blanc.svg +1 -1
  6. package/dist/img/QUEBEC_couleur.svg +24 -0
  7. package/dist/js/qc-sdg.min.js +1 -1
  8. package/package.json +23 -18
  9. package/public/css/qc-doc-sdg.css +247 -335
  10. package/public/css/qc-sdg-design-tokens.css +111 -64
  11. package/public/css/qc-sdg-no-grid.css +932 -428
  12. package/public/css/qc-sdg.css +941 -609
  13. package/public/img/QUEBEC_blanc.svg +1 -1
  14. package/public/img/QUEBEC_couleur.svg +24 -0
  15. package/public/img/ampoule.svg +1 -0
  16. package/public/img/note.svg +1 -0
  17. package/public/img/piv-MCE-theme-clair.svg +79 -0
  18. package/public/img/piv-MCE-theme-sombre.svg +62 -0
  19. package/public/img/piv-bas-MCE-theme-clair.png +0 -0
  20. package/public/img/piv-bas-MCE-theme-sombre.png +0 -0
  21. package/public/img/piv-logo-pied-de-page.svg +37 -0
  22. package/public/index.html +871 -715
  23. package/public/js/qc-doc-exemple.js +9 -0
  24. package/public/js/qc-doc-sdg.js +6893 -3724
  25. package/public/js/qc-sdg.js +2103 -962
  26. package/rollup.config.js +58 -23
  27. package/src/doc/components/Code.svelte +69 -0
  28. package/src/doc/components/Exemple.svelte +71 -0
  29. package/src/doc/components/Switch.svelte +108 -0
  30. package/src/doc/components/TopNav.svelte +53 -0
  31. package/src/doc/components/color-doc.svelte +44 -0
  32. package/src/doc/qc-doc-sdg.js +25 -14
  33. package/src/doc/scss/_tables.scss +1 -2
  34. package/src/doc/scss/components/_button.scss +14 -14
  35. package/src/doc/scss/components/_code.scss +106 -4
  36. package/src/doc/scss/jQueryUI/_jquery-ui.autocomplete.scss +48 -0
  37. package/src/doc/scss/qc-doc-sdg.scss +76 -75
  38. package/src/sdg/components/Button/IconButton.svelte +29 -0
  39. package/src/sdg/components/Icon.svelte +39 -0
  40. package/src/sdg/components/{pivHeader.svelte → PivHeader/pivHeader.svelte} +49 -69
  41. package/src/sdg/components/SearchBar/searchBar.svelte +87 -0
  42. package/src/sdg/components/SearchInput/SearchInput.svelte +48 -0
  43. package/src/sdg/components/alert.svelte +40 -23
  44. package/src/sdg/components/componentWrapper.js +0 -3
  45. package/src/sdg/components/externalLink.svelte +92 -0
  46. package/src/sdg/components/notice.svelte +61 -34
  47. package/src/sdg/components/pivFooter.svelte +37 -36
  48. package/src/sdg/components/toTop.svelte +16 -10
  49. package/src/sdg/components/utils.js +28 -4
  50. package/src/sdg/qc-sdg.js +11 -3
  51. package/src/sdg/scss/_qc-sdg-lib.scss +3 -0
  52. package/src/sdg/scss/base/_accessibility.scss +4 -0
  53. package/src/sdg/scss/base/_colors.scss +10 -10
  54. package/src/sdg/scss/base/_figure.scss +14 -9
  55. package/src/sdg/scss/base/_fonts.scss +4 -4
  56. package/src/sdg/scss/base/_form.scss +7 -0
  57. package/src/sdg/scss/base/_layout.scss +45 -0
  58. package/src/sdg/scss/base/_lists.scss +5 -5
  59. package/src/sdg/scss/base/_shadings.scss +3 -11
  60. package/src/sdg/scss/base/_typography.scss +42 -25
  61. package/src/sdg/scss/components/_alert.scss +11 -34
  62. package/src/sdg/scss/components/_icons.scss +67 -38
  63. package/src/sdg/scss/components/_notice.scss +51 -44
  64. package/src/sdg/scss/components/_pivFooter.scss +35 -23
  65. package/src/sdg/scss/components/_pivHeader.scss +131 -154
  66. package/src/sdg/scss/components/_searchBar.scss +75 -0
  67. package/src/sdg/scss/components/_searchInput.scss +64 -0
  68. package/src/sdg/scss/components/_separator.scss +2 -5
  69. package/src/sdg/scss/components/_toTop.scss +4 -6
  70. package/src/sdg/scss/grid/_grid-lib.scss +516 -0
  71. package/src/sdg/scss/grid/_grid.scss +78 -0
  72. package/src/sdg/scss/lib/_functions.scss +78 -0
  73. package/src/sdg/scss/lib/_gridless-lib.scss +4 -0
  74. package/src/sdg/scss/lib/_mixins.scss +221 -0
  75. package/src/sdg/scss/qc-design-tokens.scss +31 -8
  76. package/src/sdg/scss/qc-sdg-utilities.scss +1 -0
  77. package/src/sdg/scss/qc-sdg.scss +1 -1
  78. package/src/sdg/scss/qc-sgd-no-grid.scss +20 -15
  79. package/src/sdg/scss/settings/_base.scss +58 -0
  80. package/src/sdg/scss/settings/_tokens.scss +145 -77
  81. package/src/sdg/scss/utilities/_display.scss +43 -3
  82. package/src/sdg/scss/utilities/_themes.scss +17 -0
  83. package/src/sdg/scss/vendor/modern-css-reset/src/reset.css +9 -8
  84. package/dist/img/logo-quebec-piv-footer.svg +0 -1
  85. package/dist/img/quebec-logo.svg +0 -13
  86. package/public/img/logo-quebec-piv-footer.svg +0 -1
  87. package/src/doc/components/code.svelte +0 -54
  88. package/src/sdg/scss/base/_grid.scss +0 -9
  89. package/src/sdg/scss/functions/_tokens.scss +0 -12
  90. package/src/sdg/scss/functions/_utils.scss +0 -44
  91. package/src/sdg/scss/modules/_grid.scss +0 -19
  92. package/src/sdg/scss/modules/_helpers.scss +0 -32
  93. package/src/sdg/scss/modules/_map.scss +0 -14
  94. package/src/sdg/scss/modules/_tokens.scss +0 -3
  95. package/src/sdg/scss/modules/_utils.scss +0 -55
  96. package/src/sdg/scss/settings/_grid.scss +0 -24
  97. package/src/sdg/scss/settings/_settings.scss +0 -12
@@ -126,6 +126,21 @@
126
126
  return -1;
127
127
  }
128
128
 
129
+ /** @returns {{}} */
130
+ function exclude_internal_props(props) {
131
+ const result = {};
132
+ for (const k in props) if (k[0] !== '$') result[k] = props[k];
133
+ return result;
134
+ }
135
+
136
+ /** @returns {{}} */
137
+ function compute_rest_props(props, keys) {
138
+ const rest = {};
139
+ keys = new Set(keys);
140
+ for (const k in props) if (!keys.has(k) && k[0] !== '$') rest[k] = props[k];
141
+ return rest;
142
+ }
143
+
129
144
  /** @type {typeof globalThis} */
130
145
  const globals =
131
146
  typeof window !== 'undefined'
@@ -164,6 +179,14 @@
164
179
  }
165
180
  }
166
181
 
182
+ /**
183
+ * @returns {void} */
184
+ function destroy_each(iterations, detaching) {
185
+ for (let i = 0; i < iterations.length; i += 1) {
186
+ if (iterations[i]) iterations[i].d(detaching);
187
+ }
188
+ }
189
+
167
190
  /**
168
191
  * @template {keyof HTMLElementTagNameMap} K
169
192
  * @param {K} name
@@ -270,36 +293,6 @@
270
293
  }
271
294
  }
272
295
 
273
- /**
274
- * @param {Record<string, unknown>} data_map
275
- * @returns {void}
276
- */
277
- function set_custom_element_data_map(node, data_map) {
278
- Object.keys(data_map).forEach((key) => {
279
- set_custom_element_data(node, key, data_map[key]);
280
- });
281
- }
282
-
283
- /**
284
- * @returns {void} */
285
- function set_custom_element_data(node, prop, value) {
286
- const lower = prop.toLowerCase(); // for backwards compatibility with existing behavior we do lowercase first
287
- if (lower in node) {
288
- node[lower] = typeof node[lower] === 'boolean' && value === '' ? true : value;
289
- } else if (prop in node) {
290
- node[prop] = typeof node[prop] === 'boolean' && value === '' ? true : value;
291
- } else {
292
- attr(node, prop, value);
293
- }
294
- }
295
-
296
- /**
297
- * @param {string} tag
298
- */
299
- function set_dynamic_element_data(tag) {
300
- return /-/.test(tag) ? set_custom_element_data_map : set_attributes;
301
- }
302
-
303
296
  /**
304
297
  * @param {Element} element
305
298
  * @returns {ChildNode[]}
@@ -319,6 +312,22 @@
319
312
  text.data = /** @type {string} */ (data);
320
313
  }
321
314
 
315
+ /**
316
+ * @returns {void} */
317
+ function set_input_value(input, value) {
318
+ input.value = value == null ? '' : value;
319
+ }
320
+
321
+ /**
322
+ * @returns {void} */
323
+ function set_style(node, key, value, important) {
324
+ if (value == null) {
325
+ node.style.removeProperty(key);
326
+ } else {
327
+ node.style.setProperty(key, value, '');
328
+ }
329
+ }
330
+
322
331
  /**
323
332
  * @returns {void} */
324
333
  function toggle_class(element, name, toggle) {
@@ -480,6 +489,22 @@
480
489
  get_current_component().$$.on_mount.push(fn);
481
490
  }
482
491
 
492
+ // TODO figure out if we still want to support
493
+ // shorthand events, or if we want to implement
494
+ // a real bubbling mechanism
495
+ /**
496
+ * @param component
497
+ * @param event
498
+ * @returns {void}
499
+ */
500
+ function bubble(component, event) {
501
+ const callbacks = component.$$.callbacks[event.type];
502
+ if (callbacks) {
503
+ // @ts-ignore
504
+ callbacks.slice().forEach((fn) => fn.call(this, event));
505
+ }
506
+ }
507
+
483
508
  const dirty_components = [];
484
509
  const binding_callbacks = [];
485
510
 
@@ -693,6 +718,55 @@
693
718
  * @property {Outro} [group]
694
719
  */
695
720
 
721
+ // general each functions:
722
+
723
+ function ensure_array_like(array_like_or_iterator) {
724
+ return array_like_or_iterator?.length !== undefined
725
+ ? array_like_or_iterator
726
+ : Array.from(array_like_or_iterator);
727
+ }
728
+
729
+ /** @returns {{}} */
730
+ function get_spread_update(levels, updates) {
731
+ const update = {};
732
+ const to_null_out = {};
733
+ const accounted_for = { $$scope: 1 };
734
+ let i = levels.length;
735
+ while (i--) {
736
+ const o = levels[i];
737
+ const n = updates[i];
738
+ if (n) {
739
+ for (const key in o) {
740
+ if (!(key in n)) to_null_out[key] = 1;
741
+ }
742
+ for (const key in n) {
743
+ if (!accounted_for[key]) {
744
+ update[key] = n[key];
745
+ accounted_for[key] = 1;
746
+ }
747
+ }
748
+ levels[i] = n;
749
+ } else {
750
+ for (const key in o) {
751
+ accounted_for[key] = 1;
752
+ }
753
+ }
754
+ }
755
+ for (const key in to_null_out) {
756
+ if (!(key in update)) update[key] = undefined;
757
+ }
758
+ return update;
759
+ }
760
+
761
+ function get_spread_object(spread_props) {
762
+ return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};
763
+ }
764
+
765
+ /** @returns {void} */
766
+ function create_component(block) {
767
+ block && block.c();
768
+ }
769
+
696
770
  /** @returns {void} */
697
771
  function mount_component(component, target, anchor) {
698
772
  const { fragment, after_update } = component.$$;
@@ -988,7 +1062,7 @@
988
1062
  this.$$cn = false;
989
1063
  // In a microtask, because this could be a move within the DOM
990
1064
  Promise.resolve().then(() => {
991
- if (!this.$$cn) {
1065
+ if (!this.$$cn && this.$$c) {
992
1066
  this.$$c.$destroy();
993
1067
  this.$$c = undefined;
994
1068
  }
@@ -1094,10 +1168,6 @@
1094
1168
  }
1095
1169
  });
1096
1170
  });
1097
- if (extend) {
1098
- // @ts-expect-error - assigning here is fine
1099
- Class = extend(Class);
1100
- }
1101
1171
  Component.element = /** @type {any} */ (Class);
1102
1172
  return Class;
1103
1173
  }
@@ -1171,6 +1241,7 @@
1171
1241
  */
1172
1242
 
1173
1243
  // generated during release, do not modify
1244
+
1174
1245
  const PUBLIC_VERSION = '4';
1175
1246
 
1176
1247
  if (typeof window !== 'undefined')
@@ -1180,10 +1251,13 @@
1180
1251
  class Utils {
1181
1252
 
1182
1253
  static assetsBasePath =
1183
- new URL(document.currentScript.src).pathname
1184
- .split('/')
1185
- .slice(0, -2)
1186
- .join('/')
1254
+ document
1255
+ .currentScript
1256
+ .getAttribute('sdg-assets-base-path')
1257
+ || new URL(document.currentScript.src).pathname
1258
+ .split('/')
1259
+ .slice(0, -2)
1260
+ .join('/')
1187
1261
  || '.'
1188
1262
  static cssRelativePath =
1189
1263
  `${this.assetsBasePath}/css/`
@@ -1196,6 +1270,11 @@
1196
1270
  .currentScript
1197
1271
  .getAttribute('sdg-css-filename')
1198
1272
  || 'qc-sdg.min.css'
1273
+ static cssPath =
1274
+ document
1275
+ .currentScript
1276
+ .getAttribute('sdg-css-path')
1277
+ || this.cssRelativePath + this.cssFileName
1199
1278
  static sharedTexts =
1200
1279
  { openInNewTab :
1201
1280
  { fr: 'Ce lien s’ouvrira dans un nouvel onglet.'
@@ -1210,27 +1289,236 @@
1210
1289
  static getPageLanguage() {
1211
1290
  return document.getElementsByTagName("html")[0].getAttribute("lang") || "fr";
1212
1291
  }
1292
+
1293
+ static isTruthy(value) {
1294
+ if (typeof value === 'boolean') {
1295
+ return value;
1296
+ }
1297
+ if (typeof value === 'string') {
1298
+ return value.toLowerCase() === 'true' || !!parseInt(value); // Vérifie si la chaîne est "true" (insensible à la casse)
1299
+ }
1300
+ if (typeof value === 'number') {
1301
+ return !!value; // Vérifie si le nombre est égal à 1
1302
+ }
1303
+ return false;
1304
+ }
1305
+
1306
+
1307
+
1308
+ }
1309
+
1310
+ /* src/sdg/components/Icon.svelte generated by Svelte v4.2.19 */
1311
+
1312
+ function create_fragment$9(ctx) {
1313
+ let div;
1314
+ let div_style_value;
1315
+
1316
+ let div_levels = [
1317
+ { role: "img" },
1318
+ { class: "qc-icon" },
1319
+ { "aria-label": /*label*/ ctx[1] },
1320
+ {
1321
+ style: div_style_value = "--img-color:var(--qc-color-" + /*color*/ ctx[2] + "); --img-width:" + /*width*/ ctx[3] + "; --img-height:" + /*height*/ ctx[4] + ";"
1322
+ },
1323
+ { "data-img-type": /*type*/ ctx[0] },
1324
+ /*attributes*/ ctx[5],
1325
+ /*$$restProps*/ ctx[6]
1326
+ ];
1327
+
1328
+ let div_data = {};
1329
+
1330
+ for (let i = 0; i < div_levels.length; i += 1) {
1331
+ div_data = assign(div_data, div_levels[i]);
1332
+ }
1333
+
1334
+ return {
1335
+ c() {
1336
+ div = element("div");
1337
+ set_attributes(div, div_data);
1338
+ },
1339
+ m(target, anchor) {
1340
+ insert(target, div, anchor);
1341
+ },
1342
+ p(ctx, [dirty]) {
1343
+ set_attributes(div, div_data = get_spread_update(div_levels, [
1344
+ { role: "img" },
1345
+ { class: "qc-icon" },
1346
+ dirty & /*label*/ 2 && { "aria-label": /*label*/ ctx[1] },
1347
+ dirty & /*color, width, height*/ 28 && div_style_value !== (div_style_value = "--img-color:var(--qc-color-" + /*color*/ ctx[2] + "); --img-width:" + /*width*/ ctx[3] + "; --img-height:" + /*height*/ ctx[4] + ";") && { style: div_style_value },
1348
+ dirty & /*type*/ 1 && { "data-img-type": /*type*/ ctx[0] },
1349
+ dirty & /*attributes*/ 32 && /*attributes*/ ctx[5],
1350
+ dirty & /*$$restProps*/ 64 && /*$$restProps*/ ctx[6]
1351
+ ]));
1352
+ },
1353
+ i: noop,
1354
+ o: noop,
1355
+ d(detaching) {
1356
+ if (detaching) {
1357
+ detach(div);
1358
+ }
1359
+ }
1360
+ };
1361
+ }
1362
+
1363
+ function instance$9($$self, $$props, $$invalidate) {
1364
+ let attributes;
1365
+ const omit_props_names = ["type","label","size","color","width","height"];
1366
+ let $$restProps = compute_rest_props($$props, omit_props_names);
1367
+ let { type, label, size = 'md', color = 'text-primary', width = 'auto', height = 'auto' } = $$props;
1368
+
1369
+ $$self.$$set = $$new_props => {
1370
+ $$props = assign(assign({}, $$props), exclude_internal_props($$new_props));
1371
+ $$invalidate(6, $$restProps = compute_rest_props($$props, omit_props_names));
1372
+ if ('type' in $$new_props) $$invalidate(0, type = $$new_props.type);
1373
+ if ('label' in $$new_props) $$invalidate(1, label = $$new_props.label);
1374
+ if ('size' in $$new_props) $$invalidate(7, size = $$new_props.size);
1375
+ if ('color' in $$new_props) $$invalidate(2, color = $$new_props.color);
1376
+ if ('width' in $$new_props) $$invalidate(3, width = $$new_props.width);
1377
+ if ('height' in $$new_props) $$invalidate(4, height = $$new_props.height);
1378
+ };
1379
+
1380
+ $$self.$$.update = () => {
1381
+ if ($$self.$$.dirty & /*width, size*/ 136) {
1382
+ $$invalidate(5, attributes = width === "auto" ? { "data-img-size": size } : {});
1383
+ }
1384
+ };
1385
+
1386
+ return [type, label, color, width, height, attributes, $$restProps, size];
1387
+ }
1388
+
1389
+ class Icon extends SvelteComponent {
1390
+ constructor(options) {
1391
+ super();
1392
+
1393
+ init(this, options, instance$9, create_fragment$9, safe_not_equal, {
1394
+ type: 0,
1395
+ label: 1,
1396
+ size: 7,
1397
+ color: 2,
1398
+ width: 3,
1399
+ height: 4
1400
+ });
1401
+ }
1402
+
1403
+ get type() {
1404
+ return this.$$.ctx[0];
1405
+ }
1406
+
1407
+ set type(type) {
1408
+ this.$$set({ type });
1409
+ flush();
1410
+ }
1411
+
1412
+ get label() {
1413
+ return this.$$.ctx[1];
1414
+ }
1415
+
1416
+ set label(label) {
1417
+ this.$$set({ label });
1418
+ flush();
1419
+ }
1420
+
1421
+ get size() {
1422
+ return this.$$.ctx[7];
1423
+ }
1424
+
1425
+ set size(size) {
1426
+ this.$$set({ size });
1427
+ flush();
1428
+ }
1429
+
1430
+ get color() {
1431
+ return this.$$.ctx[2];
1432
+ }
1433
+
1434
+ set color(color) {
1435
+ this.$$set({ color });
1436
+ flush();
1437
+ }
1438
+
1439
+ get width() {
1440
+ return this.$$.ctx[3];
1441
+ }
1442
+
1443
+ set width(width) {
1444
+ this.$$set({ width });
1445
+ flush();
1446
+ }
1447
+
1448
+ get height() {
1449
+ return this.$$.ctx[4];
1450
+ }
1451
+
1452
+ set height(height) {
1453
+ this.$$set({ height });
1454
+ flush();
1455
+ }
1213
1456
  }
1214
1457
 
1215
- /* src/sdg/components/notice.svelte generated by Svelte v4.2.12 */
1458
+ customElements.define("qc-icon", create_custom_element(Icon, {"type":{"attribute":"icon"},"label":{"attribute":"label"},"size":{"attribute":"size"},"color":{"attribute":"color"},"width":{"attribute":"width"},"height":{"attribute":"height"}}, [], [], false));
1459
+
1460
+ /* src/sdg/components/notice.svelte generated by Svelte v4.2.19 */
1461
+
1462
+ function create_if_block$5(ctx) {
1463
+ let previous_tag = /*header*/ ctx[0];
1464
+ let svelte_element_anchor;
1465
+ let svelte_element = /*header*/ ctx[0] && create_dynamic_element(ctx);
1216
1466
 
1467
+ return {
1468
+ c() {
1469
+ if (svelte_element) svelte_element.c();
1470
+ svelte_element_anchor = empty();
1471
+ },
1472
+ m(target, anchor) {
1473
+ if (svelte_element) svelte_element.m(target, anchor);
1474
+ insert(target, svelte_element_anchor, anchor);
1475
+ },
1476
+ p(ctx, dirty) {
1477
+ if (/*header*/ ctx[0]) {
1478
+ if (!previous_tag) {
1479
+ svelte_element = create_dynamic_element(ctx);
1480
+ previous_tag = /*header*/ ctx[0];
1481
+ svelte_element.c();
1482
+ svelte_element.m(svelte_element_anchor.parentNode, svelte_element_anchor);
1483
+ } else if (safe_not_equal(previous_tag, /*header*/ ctx[0])) {
1484
+ svelte_element.d(1);
1485
+ svelte_element = create_dynamic_element(ctx);
1486
+ previous_tag = /*header*/ ctx[0];
1487
+ svelte_element.c();
1488
+ svelte_element.m(svelte_element_anchor.parentNode, svelte_element_anchor);
1489
+ } else {
1490
+ svelte_element.p(ctx, dirty);
1491
+ }
1492
+ } else if (previous_tag) {
1493
+ svelte_element.d(1);
1494
+ svelte_element = null;
1495
+ previous_tag = /*header*/ ctx[0];
1496
+ }
1497
+ },
1498
+ d(detaching) {
1499
+ if (detaching) {
1500
+ detach(svelte_element_anchor);
1501
+ }
1502
+
1503
+ if (svelte_element) svelte_element.d(detaching);
1504
+ }
1505
+ };
1506
+ }
1507
+
1508
+ // (74:10) <svelte:element this={header}>
1217
1509
  function create_dynamic_element(ctx) {
1218
1510
  let svelte_element;
1219
- let t;
1220
1511
 
1221
1512
  return {
1222
1513
  c() {
1223
- svelte_element = element(/*header*/ ctx[1]);
1224
- t = text(/*title*/ ctx[2]);
1225
- set_dynamic_element_data(/*header*/ ctx[1])(svelte_element, { class: "title" });
1514
+ svelte_element = element(/*header*/ ctx[0]);
1226
1515
  },
1227
1516
  m(target, anchor) {
1228
1517
  insert(target, svelte_element, anchor);
1229
- append(svelte_element, t);
1518
+ svelte_element.innerHTML = /*title*/ ctx[1];
1230
1519
  },
1231
1520
  p(ctx, dirty) {
1232
- if (dirty & /*title*/ 4) set_data(t, /*title*/ ctx[2]);
1233
- },
1521
+ if (dirty & /*title*/ 2) svelte_element.innerHTML = /*title*/ ctx[1]; },
1234
1522
  d(detaching) {
1235
1523
  if (detaching) {
1236
1524
  detach(svelte_element);
@@ -1239,187 +1527,282 @@
1239
1527
  };
1240
1528
  }
1241
1529
 
1242
- function create_fragment$4(ctx) {
1243
- let div5;
1530
+ function create_fragment$8(ctx) {
1531
+ let div4;
1244
1532
  let div1;
1245
1533
  let div0;
1246
- let div0_class_value;
1534
+ let icon_1;
1247
1535
  let t0;
1248
- let div4;
1249
1536
  let div3;
1250
- let previous_tag = /*header*/ ctx[1];
1251
- let t1;
1252
1537
  let div2;
1538
+ let t1;
1253
1539
  let html_tag;
1254
1540
  let t2;
1255
- let div5_class_value;
1541
+ let div4_class_value;
1256
1542
  let t3;
1257
1543
  let link;
1258
1544
  let current;
1259
- let svelte_element = /*header*/ ctx[1] && create_dynamic_element(ctx);
1260
- const default_slot_template = /*#slots*/ ctx[5].default;
1261
- const default_slot = create_slot(default_slot_template, ctx, /*$$scope*/ ctx[4], null);
1545
+
1546
+ icon_1 = new Icon({
1547
+ props: {
1548
+ type: /*iconType*/ ctx[6],
1549
+ label: /*iconLabel*/ ctx[5],
1550
+ size: "nm"
1551
+ }
1552
+ });
1553
+
1554
+ let if_block = /*title*/ ctx[1] && create_if_block$5(ctx);
1555
+ const default_slot_template = /*#slots*/ ctx[12].default;
1556
+ const default_slot = create_slot(default_slot_template, ctx, /*$$scope*/ ctx[11], null);
1262
1557
 
1263
1558
  return {
1264
1559
  c() {
1265
- div5 = element("div");
1560
+ div4 = element("div");
1266
1561
  div1 = element("div");
1267
1562
  div0 = element("div");
1563
+ create_component(icon_1.$$.fragment);
1268
1564
  t0 = space();
1269
- div4 = element("div");
1270
1565
  div3 = element("div");
1271
- if (svelte_element) svelte_element.c();
1272
- t1 = space();
1273
1566
  div2 = element("div");
1567
+ if (if_block) if_block.c();
1568
+ t1 = space();
1274
1569
  html_tag = new HtmlTag(false);
1275
1570
  t2 = space();
1276
1571
  if (default_slot) default_slot.c();
1277
1572
  t3 = space();
1278
1573
  link = element("link");
1279
- attr(div0, "aria-hidden", "true");
1280
- attr(div0, "class", div0_class_value = "qc-icon qc-" + /*type*/ ctx[0]);
1574
+ attr(div0, "class", "qc-icon");
1281
1575
  attr(div1, "class", "icon-container");
1282
1576
  html_tag.a = t2;
1283
- attr(div2, "class", "text");
1284
- attr(div3, "class", "content");
1285
- attr(div4, "class", "content-container");
1286
- attr(div5, "class", div5_class_value = "qc-component qc-notice qc-" + /*type*/ ctx[0]);
1287
- attr(div5, "tabindex", "0");
1577
+ attr(div2, "class", "content");
1578
+ attr(div2, "role", /*role*/ ctx[4]);
1579
+ attr(div3, "class", "content-container");
1580
+ attr(div4, "class", div4_class_value = "qc-component qc-notice qc-" + /*computedType*/ ctx[7]);
1581
+ attr(div4, "tabindex", "0");
1288
1582
  attr(link, "rel", "stylesheet");
1289
- attr(link, "href", "" + (Utils.cssRelativePath + Utils.cssFileName));
1583
+ attr(link, "href", Utils.cssPath);
1290
1584
  },
1291
1585
  m(target, anchor) {
1292
- insert(target, div5, anchor);
1293
- append(div5, div1);
1586
+ insert(target, div4, anchor);
1587
+ append(div4, div1);
1294
1588
  append(div1, div0);
1295
- append(div5, t0);
1296
- append(div5, div4);
1589
+ mount_component(icon_1, div0, null);
1590
+ append(div4, t0);
1297
1591
  append(div4, div3);
1298
- if (svelte_element) svelte_element.m(div3, null);
1299
- append(div3, t1);
1300
1592
  append(div3, div2);
1301
- html_tag.m(/*content*/ ctx[3], div2);
1593
+ if (if_block) if_block.m(div2, null);
1594
+ append(div2, t1);
1595
+ html_tag.m(/*content*/ ctx[2], div2);
1302
1596
  append(div2, t2);
1303
1597
 
1304
1598
  if (default_slot) {
1305
1599
  default_slot.m(div2, null);
1306
1600
  }
1307
1601
 
1602
+ /*div2_binding*/ ctx[13](div2);
1308
1603
  insert(target, t3, anchor);
1309
1604
  insert(target, link, anchor);
1310
1605
  current = true;
1311
1606
  },
1312
1607
  p(ctx, [dirty]) {
1313
- if (!current || dirty & /*type*/ 1 && div0_class_value !== (div0_class_value = "qc-icon qc-" + /*type*/ ctx[0])) {
1314
- attr(div0, "class", div0_class_value);
1315
- }
1608
+ const icon_1_changes = {};
1609
+ if (dirty & /*iconType*/ 64) icon_1_changes.type = /*iconType*/ ctx[6];
1610
+ if (dirty & /*iconLabel*/ 32) icon_1_changes.label = /*iconLabel*/ ctx[5];
1611
+ icon_1.$set(icon_1_changes);
1316
1612
 
1317
- if (/*header*/ ctx[1]) {
1318
- if (!previous_tag) {
1319
- svelte_element = create_dynamic_element(ctx);
1320
- previous_tag = /*header*/ ctx[1];
1321
- svelte_element.c();
1322
- svelte_element.m(div3, t1);
1323
- } else if (safe_not_equal(previous_tag, /*header*/ ctx[1])) {
1324
- svelte_element.d(1);
1325
- svelte_element = create_dynamic_element(ctx);
1326
- previous_tag = /*header*/ ctx[1];
1327
- svelte_element.c();
1328
- svelte_element.m(div3, t1);
1613
+ if (/*title*/ ctx[1]) {
1614
+ if (if_block) {
1615
+ if_block.p(ctx, dirty);
1329
1616
  } else {
1330
- svelte_element.p(ctx, dirty);
1617
+ if_block = create_if_block$5(ctx);
1618
+ if_block.c();
1619
+ if_block.m(div2, t1);
1331
1620
  }
1332
- } else if (previous_tag) {
1333
- svelte_element.d(1);
1334
- svelte_element = null;
1335
- previous_tag = /*header*/ ctx[1];
1621
+ } else if (if_block) {
1622
+ if_block.d(1);
1623
+ if_block = null;
1336
1624
  }
1337
1625
 
1338
- if (!current || dirty & /*content*/ 8) html_tag.p(/*content*/ ctx[3]);
1626
+ if (!current || dirty & /*content*/ 4) html_tag.p(/*content*/ ctx[2]);
1339
1627
 
1340
1628
  if (default_slot) {
1341
- if (default_slot.p && (!current || dirty & /*$$scope*/ 16)) {
1629
+ if (default_slot.p && (!current || dirty & /*$$scope*/ 2048)) {
1342
1630
  update_slot_base(
1343
1631
  default_slot,
1344
1632
  default_slot_template,
1345
1633
  ctx,
1346
- /*$$scope*/ ctx[4],
1634
+ /*$$scope*/ ctx[11],
1347
1635
  !current
1348
- ? get_all_dirty_from_scope(/*$$scope*/ ctx[4])
1349
- : get_slot_changes(default_slot_template, /*$$scope*/ ctx[4], dirty, null),
1636
+ ? get_all_dirty_from_scope(/*$$scope*/ ctx[11])
1637
+ : get_slot_changes(default_slot_template, /*$$scope*/ ctx[11], dirty, null),
1350
1638
  null
1351
1639
  );
1352
1640
  }
1353
1641
  }
1354
1642
 
1355
- if (!current || dirty & /*type*/ 1 && div5_class_value !== (div5_class_value = "qc-component qc-notice qc-" + /*type*/ ctx[0])) {
1356
- attr(div5, "class", div5_class_value);
1643
+ if (!current || dirty & /*role*/ 16) {
1644
+ attr(div2, "role", /*role*/ ctx[4]);
1645
+ }
1646
+
1647
+ if (!current || dirty & /*computedType*/ 128 && div4_class_value !== (div4_class_value = "qc-component qc-notice qc-" + /*computedType*/ ctx[7])) {
1648
+ attr(div4, "class", div4_class_value);
1357
1649
  }
1358
1650
  },
1359
1651
  i(local) {
1360
1652
  if (current) return;
1653
+ transition_in(icon_1.$$.fragment, local);
1361
1654
  transition_in(default_slot, local);
1362
1655
  current = true;
1363
1656
  },
1364
1657
  o(local) {
1658
+ transition_out(icon_1.$$.fragment, local);
1365
1659
  transition_out(default_slot, local);
1366
1660
  current = false;
1367
1661
  },
1368
1662
  d(detaching) {
1369
1663
  if (detaching) {
1370
- detach(div5);
1664
+ detach(div4);
1371
1665
  detach(t3);
1372
1666
  detach(link);
1373
1667
  }
1374
1668
 
1375
- if (svelte_element) svelte_element.d(detaching);
1669
+ destroy_component(icon_1);
1670
+ if (if_block) if_block.d();
1376
1671
  if (default_slot) default_slot.d(detaching);
1672
+ /*div2_binding*/ ctx[13](null);
1377
1673
  }
1378
1674
  };
1379
1675
  }
1380
1676
 
1381
- function instance$4($$self, $$props, $$invalidate) {
1677
+ function instance$8($$self, $$props, $$invalidate) {
1678
+ let role;
1679
+ let shouldUseIcon;
1680
+ let computedType;
1681
+ let iconType;
1682
+ let iconLabel;
1382
1683
  let { $$slots: slots = {}, $$scope } = $$props;
1383
1684
 
1384
- const defaultHeader = 'h2',
1685
+ const isFr = Utils.getPageLanguage() == 'fr',
1686
+ defaultHeader = 'h2',
1385
1687
  defaultType = 'information',
1386
- types = ['information', 'warning', 'success', 'error'];
1688
+ typesDescriptions = {
1689
+ 'advice': isFr ? "Avis conseil" : "Advisory notice",
1690
+ 'note': isFr ? "Avis explicatif" : "Explanatory notice",
1691
+ 'information': isFr ? "Avis général" : "General notice",
1692
+ 'warning': isFr ? "Avis d’avertissement" : "Warning notice",
1693
+ 'success': isFr ? "Avis de réussite" : "Success notice",
1694
+ 'error': isFr ? "Avis d’erreur" : "Error notice"
1695
+ },
1696
+ types = Object.keys(typesDescriptions);
1387
1697
 
1388
- let { title = "", type = defaultType, content = "", header = defaultHeader } = $$props;
1698
+ let noticeElement;
1699
+ let { title = "", type = defaultType, content = "", header = defaultHeader, icon } = $$props;
1389
1700
 
1390
- onMount(() => {
1391
- $$invalidate(1, header = header.match(/h[1-6]/) ? header : defaultHeader);
1392
- $$invalidate(0, type = types.includes(type) ? type : defaultType);
1393
- });
1701
+ function div2_binding($$value) {
1702
+ binding_callbacks[$$value ? 'unshift' : 'push'](() => {
1703
+ noticeElement = $$value;
1704
+ (($$invalidate(3, noticeElement), $$invalidate(4, role)), $$invalidate(8, type));
1705
+ });
1706
+ }
1394
1707
 
1395
1708
  $$self.$$set = $$props => {
1396
- if ('title' in $$props) $$invalidate(2, title = $$props.title);
1397
- if ('type' in $$props) $$invalidate(0, type = $$props.type);
1398
- if ('content' in $$props) $$invalidate(3, content = $$props.content);
1399
- if ('header' in $$props) $$invalidate(1, header = $$props.header);
1400
- if ('$$scope' in $$props) $$invalidate(4, $$scope = $$props.$$scope);
1709
+ if ('title' in $$props) $$invalidate(1, title = $$props.title);
1710
+ if ('type' in $$props) $$invalidate(8, type = $$props.type);
1711
+ if ('content' in $$props) $$invalidate(2, content = $$props.content);
1712
+ if ('header' in $$props) $$invalidate(0, header = $$props.header);
1713
+ if ('icon' in $$props) $$invalidate(9, icon = $$props.icon);
1714
+ if ('$$scope' in $$props) $$invalidate(11, $$scope = $$props.$$scope);
1401
1715
  };
1402
1716
 
1403
- return [type, header, title, content, $$scope, slots];
1404
- }
1717
+ $$self.$$.update = () => {
1718
+ if ($$self.$$.dirty & /*header*/ 1) {
1719
+ $$invalidate(0, header = header.match(/h[1-6]/) ? header : defaultHeader);
1720
+ }
1405
1721
 
1406
- class Notice extends SvelteComponent {
1407
- constructor(options) {
1408
- super();
1409
- init(this, options, instance$4, create_fragment$4, safe_not_equal, { title: 2, type: 0, content: 3, header: 1 });
1410
- }
1722
+ if ($$self.$$.dirty & /*type*/ 256) {
1723
+ $$invalidate(8, type = types.includes(type) ? type : defaultType);
1724
+ }
1411
1725
 
1412
- get title() {
1413
- return this.$$.ctx[2];
1414
- }
1726
+ if ($$self.$$.dirty & /*type*/ 256) {
1727
+ $$invalidate(4, role = type === "success"
1728
+ ? "status"
1729
+ : type === "error" ? "alert" : null);
1730
+ }
1415
1731
 
1416
- set title(title) {
1417
- this.$$set({ title });
1418
- flush();
1732
+ if ($$self.$$.dirty & /*role, noticeElement*/ 24) {
1733
+ if (role) {
1734
+ if (noticeElement) {
1735
+ const tempNodes = Array.from(noticeElement.childNodes);
1736
+
1737
+ // console.log("temp: ",tempNodes);
1738
+ $$invalidate(3, noticeElement.innerHTML = "", noticeElement);
1739
+
1740
+ // Réinsère le contenu pour qu'il soit détecté par le lecteur d'écran.
1741
+ tempNodes.forEach(node => noticeElement.appendChild(node));
1742
+ }
1743
+ }
1744
+ }
1745
+
1746
+ if ($$self.$$.dirty & /*type*/ 256) {
1747
+ $$invalidate(10, shouldUseIcon = type === "advice" || type === "note");
1748
+ }
1749
+
1750
+ if ($$self.$$.dirty & /*shouldUseIcon, type*/ 1280) {
1751
+ // Si le type est "advice" ou "note", on force "neutral" (le gris), sinon on garde le type normal
1752
+ $$invalidate(7, computedType = shouldUseIcon ? "neutral" : type);
1753
+ }
1754
+
1755
+ if ($$self.$$.dirty & /*shouldUseIcon, icon, type*/ 1792) {
1756
+ $$invalidate(6, iconType = shouldUseIcon ? icon ?? "note" : type);
1757
+ }
1758
+
1759
+ if ($$self.$$.dirty & /*type*/ 256) {
1760
+ $$invalidate(5, iconLabel = typesDescriptions[type] ?? typesDescriptions['information']);
1761
+ }
1762
+ };
1763
+
1764
+ return [
1765
+ header,
1766
+ title,
1767
+ content,
1768
+ noticeElement,
1769
+ role,
1770
+ iconLabel,
1771
+ iconType,
1772
+ computedType,
1773
+ type,
1774
+ icon,
1775
+ shouldUseIcon,
1776
+ $$scope,
1777
+ slots,
1778
+ div2_binding
1779
+ ];
1780
+ }
1781
+
1782
+ class Notice extends SvelteComponent {
1783
+ constructor(options) {
1784
+ super();
1785
+
1786
+ init(this, options, instance$8, create_fragment$8, safe_not_equal, {
1787
+ title: 1,
1788
+ type: 8,
1789
+ content: 2,
1790
+ header: 0,
1791
+ icon: 9
1792
+ });
1793
+ }
1794
+
1795
+ get title() {
1796
+ return this.$$.ctx[1];
1797
+ }
1798
+
1799
+ set title(title) {
1800
+ this.$$set({ title });
1801
+ flush();
1419
1802
  }
1420
1803
 
1421
1804
  get type() {
1422
- return this.$$.ctx[0];
1805
+ return this.$$.ctx[8];
1423
1806
  }
1424
1807
 
1425
1808
  set type(type) {
@@ -1428,7 +1811,7 @@
1428
1811
  }
1429
1812
 
1430
1813
  get content() {
1431
- return this.$$.ctx[3];
1814
+ return this.$$.ctx[2];
1432
1815
  }
1433
1816
 
1434
1817
  set content(content) {
@@ -1437,25 +1820,34 @@
1437
1820
  }
1438
1821
 
1439
1822
  get header() {
1440
- return this.$$.ctx[1];
1823
+ return this.$$.ctx[0];
1441
1824
  }
1442
1825
 
1443
1826
  set header(header) {
1444
1827
  this.$$set({ header });
1445
1828
  flush();
1446
1829
  }
1830
+
1831
+ get icon() {
1832
+ return this.$$.ctx[9];
1833
+ }
1834
+
1835
+ set icon(icon) {
1836
+ this.$$set({ icon });
1837
+ flush();
1838
+ }
1447
1839
  }
1448
1840
 
1449
- customElements.define("qc-notice", create_custom_element(Notice, {"title":{},"type":{},"content":{},"header":{}}, ["default"], [], true));
1841
+ customElements.define("qc-notice", create_custom_element(Notice, {"title":{},"type":{},"content":{},"header":{},"icon":{}}, ["default"], [], true));
1450
1842
 
1451
- /* src/sdg/components/pivHeader.svelte generated by Svelte v4.2.12 */
1843
+ /* src/sdg/components/PivHeader/pivHeader.svelte generated by Svelte v4.2.19 */
1452
1844
  const get_search_zone_slot_changes = dirty => ({});
1453
1845
  const get_search_zone_slot_context = ctx => ({});
1454
1846
  const get_links_slot_changes = dirty => ({});
1455
1847
  const get_links_slot_context = ctx => ({});
1456
1848
 
1457
- // (99:4) {#if goToContent == 'true'}
1458
- function create_if_block_7(ctx) {
1849
+ // (93:4) {#if goToContent == 'true'}
1850
+ function create_if_block_6(ctx) {
1459
1851
  let div;
1460
1852
  let a;
1461
1853
  let t;
@@ -1464,8 +1856,8 @@
1464
1856
  c() {
1465
1857
  div = element("div");
1466
1858
  a = element("a");
1467
- t = text(/*goToContentText*/ ctx[12]);
1468
- attr(a, "href", /*goToContentAnchor*/ ctx[11]);
1859
+ t = text(/*goToContentText*/ ctx[13]);
1860
+ attr(a, "href", /*goToContentAnchor*/ ctx[12]);
1469
1861
  attr(div, "class", "go-to-content");
1470
1862
  },
1471
1863
  m(target, anchor) {
@@ -1474,10 +1866,10 @@
1474
1866
  append(a, t);
1475
1867
  },
1476
1868
  p(ctx, dirty) {
1477
- if (dirty & /*goToContentText*/ 4096) set_data(t, /*goToContentText*/ ctx[12]);
1869
+ if (dirty & /*goToContentText*/ 8192) set_data(t, /*goToContentText*/ ctx[13]);
1478
1870
 
1479
- if (dirty & /*goToContentAnchor*/ 2048) {
1480
- attr(a, "href", /*goToContentAnchor*/ ctx[11]);
1871
+ if (dirty & /*goToContentAnchor*/ 4096) {
1872
+ attr(a, "href", /*goToContentAnchor*/ ctx[12]);
1481
1873
  }
1482
1874
  },
1483
1875
  d(detaching) {
@@ -1488,27 +1880,25 @@
1488
1880
  };
1489
1881
  }
1490
1882
 
1491
- // (115:6) {#if titleText}
1492
- function create_if_block_6(ctx) {
1883
+ // (111:12) {#if titleText}
1884
+ function create_if_block_5(ctx) {
1493
1885
  let div;
1494
1886
  let a;
1495
- let span;
1496
1887
  let t;
1497
1888
 
1498
1889
  return {
1499
1890
  c() {
1500
1891
  div = element("div");
1501
1892
  a = element("a");
1502
- span = element("span");
1503
1893
  t = text(/*titleText*/ ctx[5]);
1504
1894
  attr(a, "href", /*titleUrl*/ ctx[4]);
1895
+ attr(a, "class", "title");
1505
1896
  attr(div, "class", "title");
1506
1897
  },
1507
1898
  m(target, anchor) {
1508
1899
  insert(target, div, anchor);
1509
1900
  append(div, a);
1510
- append(a, span);
1511
- append(span, t);
1901
+ append(a, t);
1512
1902
  },
1513
1903
  p(ctx, dirty) {
1514
1904
  if (dirty & /*titleText*/ 32) set_data(t, /*titleText*/ ctx[5]);
@@ -1526,13 +1916,13 @@
1526
1916
  }
1527
1917
 
1528
1918
  // (123:8) {#if enableSearch == 'true'}
1529
- function create_if_block_5(ctx) {
1919
+ function create_if_block_4(ctx) {
1530
1920
  let a;
1531
1921
  let span;
1532
1922
 
1533
- let t_value = (/*displaySearchForm*/ ctx[21]
1534
- ? /*hideSearchText*/ ctx[17]
1535
- : /*displaySearchText*/ ctx[16]) + "";
1923
+ let t_value = (/*displaySearchForm*/ ctx[18]
1924
+ ? /*hideSearchText*/ ctx[15]
1925
+ : /*displaySearchText*/ ctx[14]) + "";
1536
1926
 
1537
1927
  let t;
1538
1928
  let mounted;
@@ -1543,7 +1933,7 @@
1543
1933
  a = element("a");
1544
1934
  span = element("span");
1545
1935
  t = text(t_value);
1546
- attr(a, "class", "qc-icon qc-search");
1936
+ attr(a, "class", "qc-search");
1547
1937
  attr(a, "href", "/");
1548
1938
  attr(a, "role", "button");
1549
1939
  },
@@ -1554,17 +1944,17 @@
1554
1944
 
1555
1945
  if (!mounted) {
1556
1946
  dispose = [
1557
- listen(a, "click", prevent_default(/*click_handler*/ ctx[27])),
1558
- listen(a, "click", /*focusOnSearchInput*/ ctx[19])
1947
+ listen(a, "click", prevent_default(/*click_handler*/ ctx[23])),
1948
+ listen(a, "click", /*focusOnSearchInput*/ ctx[16])
1559
1949
  ];
1560
1950
 
1561
1951
  mounted = true;
1562
1952
  }
1563
1953
  },
1564
1954
  p(ctx, dirty) {
1565
- if (dirty & /*displaySearchForm, hideSearchText, displaySearchText*/ 2293760 && t_value !== (t_value = (/*displaySearchForm*/ ctx[21]
1566
- ? /*hideSearchText*/ ctx[17]
1567
- : /*displaySearchText*/ ctx[16]) + "")) set_data(t, t_value);
1955
+ if (dirty & /*displaySearchForm, hideSearchText, displaySearchText*/ 311296 && t_value !== (t_value = (/*displaySearchForm*/ ctx[18]
1956
+ ? /*hideSearchText*/ ctx[15]
1957
+ : /*displaySearchText*/ ctx[14]) + "")) set_data(t, t_value);
1568
1958
  },
1569
1959
  d(detaching) {
1570
1960
  if (detaching) {
@@ -1578,31 +1968,35 @@
1578
1968
  }
1579
1969
 
1580
1970
  // (134:10) {#if joinUsUrl || altLanguageUrl}
1581
- function create_if_block_2(ctx) {
1971
+ function create_if_block_1$1(ctx) {
1972
+ let nav;
1582
1973
  let ul;
1583
1974
  let t;
1584
- let if_block0 = /*altLanguageUrl*/ ctx[7] && create_if_block_4(ctx);
1585
- let if_block1 = /*joinUsUrl*/ ctx[9] && create_if_block_3(ctx);
1975
+ let if_block0 = /*altLanguageUrl*/ ctx[8] && create_if_block_3(ctx);
1976
+ let if_block1 = /*joinUsUrl*/ ctx[10] && create_if_block_2(ctx);
1586
1977
 
1587
1978
  return {
1588
1979
  c() {
1980
+ nav = element("nav");
1589
1981
  ul = element("ul");
1590
1982
  if (if_block0) if_block0.c();
1591
1983
  t = space();
1592
1984
  if (if_block1) if_block1.c();
1985
+ attr(nav, "aria-label", /*linksLabel*/ ctx[6]);
1593
1986
  },
1594
1987
  m(target, anchor) {
1595
- insert(target, ul, anchor);
1988
+ insert(target, nav, anchor);
1989
+ append(nav, ul);
1596
1990
  if (if_block0) if_block0.m(ul, null);
1597
1991
  append(ul, t);
1598
1992
  if (if_block1) if_block1.m(ul, null);
1599
1993
  },
1600
1994
  p(ctx, dirty) {
1601
- if (/*altLanguageUrl*/ ctx[7]) {
1995
+ if (/*altLanguageUrl*/ ctx[8]) {
1602
1996
  if (if_block0) {
1603
1997
  if_block0.p(ctx, dirty);
1604
1998
  } else {
1605
- if_block0 = create_if_block_4(ctx);
1999
+ if_block0 = create_if_block_3(ctx);
1606
2000
  if_block0.c();
1607
2001
  if_block0.m(ul, t);
1608
2002
  }
@@ -1611,11 +2005,11 @@
1611
2005
  if_block0 = null;
1612
2006
  }
1613
2007
 
1614
- if (/*joinUsUrl*/ ctx[9]) {
2008
+ if (/*joinUsUrl*/ ctx[10]) {
1615
2009
  if (if_block1) {
1616
2010
  if_block1.p(ctx, dirty);
1617
2011
  } else {
1618
- if_block1 = create_if_block_3(ctx);
2012
+ if_block1 = create_if_block_2(ctx);
1619
2013
  if_block1.c();
1620
2014
  if_block1.m(ul, null);
1621
2015
  }
@@ -1623,10 +2017,14 @@
1623
2017
  if_block1.d(1);
1624
2018
  if_block1 = null;
1625
2019
  }
2020
+
2021
+ if (dirty & /*linksLabel*/ 64) {
2022
+ attr(nav, "aria-label", /*linksLabel*/ ctx[6]);
2023
+ }
1626
2024
  },
1627
2025
  d(detaching) {
1628
2026
  if (detaching) {
1629
- detach(ul);
2027
+ detach(nav);
1630
2028
  }
1631
2029
 
1632
2030
  if (if_block0) if_block0.d();
@@ -1635,8 +2033,8 @@
1635
2033
  };
1636
2034
  }
1637
2035
 
1638
- // (136:16) {#if altLanguageUrl}
1639
- function create_if_block_4(ctx) {
2036
+ // (137:18) {#if altLanguageUrl}
2037
+ function create_if_block_3(ctx) {
1640
2038
  let li;
1641
2039
  let a;
1642
2040
  let t;
@@ -1645,8 +2043,8 @@
1645
2043
  c() {
1646
2044
  li = element("li");
1647
2045
  a = element("a");
1648
- t = text(/*altLanguageText*/ ctx[6]);
1649
- attr(a, "href", /*altLanguageUrl*/ ctx[7]);
2046
+ t = text(/*altLanguageText*/ ctx[7]);
2047
+ attr(a, "href", /*altLanguageUrl*/ ctx[8]);
1650
2048
  },
1651
2049
  m(target, anchor) {
1652
2050
  insert(target, li, anchor);
@@ -1654,10 +2052,10 @@
1654
2052
  append(a, t);
1655
2053
  },
1656
2054
  p(ctx, dirty) {
1657
- if (dirty & /*altLanguageText*/ 64) set_data(t, /*altLanguageText*/ ctx[6]);
2055
+ if (dirty & /*altLanguageText*/ 128) set_data(t, /*altLanguageText*/ ctx[7]);
1658
2056
 
1659
- if (dirty & /*altLanguageUrl*/ 128) {
1660
- attr(a, "href", /*altLanguageUrl*/ ctx[7]);
2057
+ if (dirty & /*altLanguageUrl*/ 256) {
2058
+ attr(a, "href", /*altLanguageUrl*/ ctx[8]);
1661
2059
  }
1662
2060
  },
1663
2061
  d(detaching) {
@@ -1668,8 +2066,8 @@
1668
2066
  };
1669
2067
  }
1670
2068
 
1671
- // (139:16) {#if joinUsUrl}
1672
- function create_if_block_3(ctx) {
2069
+ // (140:18) {#if joinUsUrl}
2070
+ function create_if_block_2(ctx) {
1673
2071
  let li;
1674
2072
  let a;
1675
2073
  let t;
@@ -1678,8 +2076,8 @@
1678
2076
  c() {
1679
2077
  li = element("li");
1680
2078
  a = element("a");
1681
- t = text(/*joinUsText*/ ctx[8]);
1682
- attr(a, "href", /*joinUsUrl*/ ctx[9]);
2079
+ t = text(/*joinUsText*/ ctx[9]);
2080
+ attr(a, "href", /*joinUsUrl*/ ctx[10]);
1683
2081
  },
1684
2082
  m(target, anchor) {
1685
2083
  insert(target, li, anchor);
@@ -1687,10 +2085,10 @@
1687
2085
  append(a, t);
1688
2086
  },
1689
2087
  p(ctx, dirty) {
1690
- if (dirty & /*joinUsText*/ 256) set_data(t, /*joinUsText*/ ctx[8]);
2088
+ if (dirty & /*joinUsText*/ 512) set_data(t, /*joinUsText*/ ctx[9]);
1691
2089
 
1692
- if (dirty & /*joinUsUrl*/ 512) {
1693
- attr(a, "href", /*joinUsUrl*/ ctx[9]);
2090
+ if (dirty & /*joinUsUrl*/ 1024) {
2091
+ attr(a, "href", /*joinUsUrl*/ ctx[10]);
1694
2092
  }
1695
2093
  },
1696
2094
  d(detaching) {
@@ -1702,9 +2100,9 @@
1702
2100
  }
1703
2101
 
1704
2102
  // (133:29)
1705
- function fallback_block_1$1(ctx) {
2103
+ function fallback_block$1(ctx) {
1706
2104
  let if_block_anchor;
1707
- let if_block = (/*joinUsUrl*/ ctx[9] || /*altLanguageUrl*/ ctx[7]) && create_if_block_2(ctx);
2105
+ let if_block = (/*joinUsUrl*/ ctx[10] || /*altLanguageUrl*/ ctx[8]) && create_if_block_1$1(ctx);
1708
2106
 
1709
2107
  return {
1710
2108
  c() {
@@ -1716,11 +2114,11 @@
1716
2114
  insert(target, if_block_anchor, anchor);
1717
2115
  },
1718
2116
  p(ctx, dirty) {
1719
- if (/*joinUsUrl*/ ctx[9] || /*altLanguageUrl*/ ctx[7]) {
2117
+ if (/*joinUsUrl*/ ctx[10] || /*altLanguageUrl*/ ctx[8]) {
1720
2118
  if (if_block) {
1721
2119
  if_block.p(ctx, dirty);
1722
2120
  } else {
1723
- if_block = create_if_block_2(ctx);
2121
+ if_block = create_if_block_1$1(ctx);
1724
2122
  if_block.c();
1725
2123
  if_block.m(if_block_anchor.parentNode, if_block_anchor);
1726
2124
  }
@@ -1739,93 +2137,51 @@
1739
2137
  };
1740
2138
  }
1741
2139
 
1742
- // (149:6) {#if titleText}
1743
- function create_if_block_1$1(ctx) {
1744
- let div;
1745
- let a;
1746
- let span;
1747
- let t;
1748
-
1749
- return {
1750
- c() {
1751
- div = element("div");
1752
- a = element("a");
1753
- span = element("span");
1754
- t = text(/*titleText*/ ctx[5]);
1755
- attr(a, "href", /*titleUrl*/ ctx[4]);
1756
- attr(div, "class", "title");
1757
- },
1758
- m(target, anchor) {
1759
- insert(target, div, anchor);
1760
- append(div, a);
1761
- append(a, span);
1762
- append(span, t);
1763
- },
1764
- p(ctx, dirty) {
1765
- if (dirty & /*titleText*/ 32) set_data(t, /*titleText*/ ctx[5]);
1766
-
1767
- if (dirty & /*titleUrl*/ 16) {
1768
- attr(a, "href", /*titleUrl*/ ctx[4]);
1769
- }
1770
- },
1771
- d(detaching) {
1772
- if (detaching) {
1773
- detach(div);
1774
- }
1775
- }
1776
- };
1777
- }
1778
-
1779
- // (156:6) {#if displaySearchForm}
1780
- function create_if_block$1(ctx) {
2140
+ // (151:6) {#if displaySearchForm}
2141
+ function create_if_block$4(ctx) {
1781
2142
  let div;
1782
2143
  let current;
1783
- const search_zone_slot_template = /*#slots*/ ctx[26]["search-zone"];
1784
- const search_zone_slot = create_slot(search_zone_slot_template, ctx, /*$$scope*/ ctx[25], get_search_zone_slot_context);
1785
- const search_zone_slot_or_fallback = search_zone_slot || fallback_block$1(ctx);
2144
+ const search_zone_slot_template = /*#slots*/ ctx[22]["search-zone"];
2145
+ const search_zone_slot = create_slot(search_zone_slot_template, ctx, /*$$scope*/ ctx[21], get_search_zone_slot_context);
1786
2146
 
1787
2147
  return {
1788
2148
  c() {
1789
2149
  div = element("div");
1790
- if (search_zone_slot_or_fallback) search_zone_slot_or_fallback.c();
2150
+ if (search_zone_slot) search_zone_slot.c();
1791
2151
  attr(div, "class", "search-zone");
1792
2152
  },
1793
2153
  m(target, anchor) {
1794
2154
  insert(target, div, anchor);
1795
2155
 
1796
- if (search_zone_slot_or_fallback) {
1797
- search_zone_slot_or_fallback.m(div, null);
2156
+ if (search_zone_slot) {
2157
+ search_zone_slot.m(div, null);
1798
2158
  }
1799
2159
 
1800
2160
  current = true;
1801
2161
  },
1802
2162
  p(ctx, dirty) {
1803
2163
  if (search_zone_slot) {
1804
- if (search_zone_slot.p && (!current || dirty & /*$$scope*/ 33554432)) {
2164
+ if (search_zone_slot.p && (!current || dirty & /*$$scope*/ 2097152)) {
1805
2165
  update_slot_base(
1806
2166
  search_zone_slot,
1807
2167
  search_zone_slot_template,
1808
2168
  ctx,
1809
- /*$$scope*/ ctx[25],
2169
+ /*$$scope*/ ctx[21],
1810
2170
  !current
1811
- ? get_all_dirty_from_scope(/*$$scope*/ ctx[25])
1812
- : get_slot_changes(search_zone_slot_template, /*$$scope*/ ctx[25], dirty, get_search_zone_slot_changes),
2171
+ ? get_all_dirty_from_scope(/*$$scope*/ ctx[21])
2172
+ : get_slot_changes(search_zone_slot_template, /*$$scope*/ ctx[21], dirty, get_search_zone_slot_changes),
1813
2173
  get_search_zone_slot_context
1814
2174
  );
1815
2175
  }
1816
- } else {
1817
- if (search_zone_slot_or_fallback && search_zone_slot_or_fallback.p && (!current || dirty & /*searchFormAction, submitSearchText, searchPlaceholder, searchInputName, searchInput*/ 4513792)) {
1818
- search_zone_slot_or_fallback.p(ctx, !current ? -1 : dirty);
1819
- }
1820
2176
  }
1821
2177
  },
1822
2178
  i(local) {
1823
2179
  if (current) return;
1824
- transition_in(search_zone_slot_or_fallback, local);
2180
+ transition_in(search_zone_slot, local);
1825
2181
  current = true;
1826
2182
  },
1827
2183
  o(local) {
1828
- transition_out(search_zone_slot_or_fallback, local);
2184
+ transition_out(search_zone_slot, local);
1829
2185
  current = false;
1830
2186
  },
1831
2187
  d(detaching) {
@@ -1833,187 +2189,114 @@
1833
2189
  detach(div);
1834
2190
  }
1835
2191
 
1836
- if (search_zone_slot_or_fallback) search_zone_slot_or_fallback.d(detaching);
1837
- }
1838
- };
1839
- }
1840
-
1841
- // (158:33)
1842
- function fallback_block$1(ctx) {
1843
- let form;
1844
- let div;
1845
- let input;
1846
- let t0;
1847
- let button;
1848
- let span0;
1849
- let t1;
1850
- let span1;
1851
- let t2;
1852
-
1853
- return {
1854
- c() {
1855
- form = element("form");
1856
- div = element("div");
1857
- input = element("input");
1858
- t0 = space();
1859
- button = element("button");
1860
- span0 = element("span");
1861
- t1 = space();
1862
- span1 = element("span");
1863
- t2 = text(/*submitSearchText*/ ctx[15]);
1864
- attr(input, "type", "text");
1865
- attr(input, "placeholder", /*searchPlaceholder*/ ctx[13]);
1866
- attr(input, "name", /*searchInputName*/ ctx[14]);
1867
- attr(span0, "class", "qc-icon qc-search-submit");
1868
- attr(span1, "class", "sr-description");
1869
- attr(div, "class", "input-group");
1870
- attr(form, "method", "get");
1871
- attr(form, "action", /*searchFormAction*/ ctx[18]);
1872
- },
1873
- m(target, anchor) {
1874
- insert(target, form, anchor);
1875
- append(form, div);
1876
- append(div, input);
1877
- /*input_binding*/ ctx[28](input);
1878
- append(div, t0);
1879
- append(div, button);
1880
- append(button, span0);
1881
- append(button, t1);
1882
- append(button, span1);
1883
- append(span1, t2);
1884
- },
1885
- p(ctx, dirty) {
1886
- if (dirty & /*searchPlaceholder*/ 8192) {
1887
- attr(input, "placeholder", /*searchPlaceholder*/ ctx[13]);
1888
- }
1889
-
1890
- if (dirty & /*searchInputName*/ 16384) {
1891
- attr(input, "name", /*searchInputName*/ ctx[14]);
1892
- }
1893
-
1894
- if (dirty & /*submitSearchText*/ 32768) set_data(t2, /*submitSearchText*/ ctx[15]);
1895
-
1896
- if (dirty & /*searchFormAction*/ 262144) {
1897
- attr(form, "action", /*searchFormAction*/ ctx[18]);
1898
- }
1899
- },
1900
- d(detaching) {
1901
- if (detaching) {
1902
- detach(form);
1903
- }
1904
-
1905
- /*input_binding*/ ctx[28](null);
2192
+ if (search_zone_slot) search_zone_slot.d(detaching);
1906
2193
  }
1907
2194
  };
1908
2195
  }
1909
2196
 
1910
- function create_fragment$3(ctx) {
2197
+ function create_fragment$7(ctx) {
2198
+ let div7;
1911
2199
  let div6;
1912
- let div5;
1913
2200
  let t0;
1914
- let div3;
1915
- let div0;
2201
+ let div4;
2202
+ let div1;
1916
2203
  let a;
1917
- let img;
1918
- let img_src_value;
2204
+ let div0;
1919
2205
  let t1;
1920
2206
  let t2;
1921
- let div2;
2207
+ let div3;
1922
2208
  let t3;
1923
- let div1;
2209
+ let div2;
1924
2210
  let t4;
1925
- let div4;
2211
+ let div5;
1926
2212
  let t5;
1927
- let t6;
1928
2213
  let link;
1929
2214
  let current;
1930
- let if_block0 = /*goToContent*/ ctx[10] == 'true' && create_if_block_7(ctx);
1931
- let if_block1 = /*titleText*/ ctx[5] && create_if_block_6(ctx);
1932
- let if_block2 = /*enableSearch*/ ctx[0] == 'true' && create_if_block_5(ctx);
1933
- const links_slot_template = /*#slots*/ ctx[26].links;
1934
- const links_slot = create_slot(links_slot_template, ctx, /*$$scope*/ ctx[25], get_links_slot_context);
1935
- const links_slot_or_fallback = links_slot || fallback_block_1$1(ctx);
1936
- let if_block3 = /*titleText*/ ctx[5] && create_if_block_1$1(ctx);
1937
- let if_block4 = /*displaySearchForm*/ ctx[21] && create_if_block$1(ctx);
2215
+ let if_block0 = /*goToContent*/ ctx[11] == 'true' && create_if_block_6(ctx);
2216
+ let if_block1 = /*titleText*/ ctx[5] && create_if_block_5(ctx);
2217
+ let if_block2 = /*enableSearch*/ ctx[0] == 'true' && create_if_block_4(ctx);
2218
+ const links_slot_template = /*#slots*/ ctx[22].links;
2219
+ const links_slot = create_slot(links_slot_template, ctx, /*$$scope*/ ctx[21], get_links_slot_context);
2220
+ const links_slot_or_fallback = links_slot || fallback_block$1(ctx);
2221
+ let if_block3 = /*displaySearchForm*/ ctx[18] && create_if_block$4(ctx);
1938
2222
 
1939
2223
  return {
1940
2224
  c() {
2225
+ div7 = element("div");
1941
2226
  div6 = element("div");
1942
- div5 = element("div");
1943
2227
  if (if_block0) if_block0.c();
1944
2228
  t0 = space();
1945
- div3 = element("div");
1946
- div0 = element("div");
2229
+ div4 = element("div");
2230
+ div1 = element("div");
1947
2231
  a = element("a");
1948
- img = element("img");
2232
+ div0 = element("div");
1949
2233
  t1 = space();
1950
2234
  if (if_block1) if_block1.c();
1951
2235
  t2 = space();
1952
- div2 = element("div");
2236
+ div3 = element("div");
1953
2237
  if (if_block2) if_block2.c();
1954
2238
  t3 = space();
1955
- div1 = element("div");
2239
+ div2 = element("div");
1956
2240
  if (links_slot_or_fallback) links_slot_or_fallback.c();
1957
2241
  t4 = space();
1958
- div4 = element("div");
2242
+ div5 = element("div");
1959
2243
  if (if_block3) if_block3.c();
1960
2244
  t5 = space();
1961
- if (if_block4) if_block4.c();
1962
- t6 = space();
1963
2245
  link = element("link");
1964
- attr(img, "alt", /*logoAlt*/ ctx[3]);
1965
- if (!src_url_equal(img.src, img_src_value = /*logoSrc*/ ctx[2])) attr(img, "src", img_src_value);
2246
+ attr(div0, "role", "img");
2247
+ attr(div0, "aria-label", /*logoAlt*/ ctx[3]);
1966
2248
  attr(a, "href", /*logoUrl*/ ctx[1]);
2249
+ attr(a, "class", "logo");
1967
2250
  attr(a, "target", "_blank");
1968
2251
  attr(a, "rel", "noreferrer");
1969
- attr(div0, "class", "logo");
1970
- attr(div1, "class", "links");
1971
- attr(div2, "class", "right-section");
1972
- attr(div3, "class", "piv-top");
1973
- attr(div4, "class", "piv-bottom");
1974
- attr(div5, "class", /*containerClass*/ ctx[20]);
1975
- attr(div6, "class", "qc-piv-header qc-component");
2252
+ attr(div1, "class", "signature-group");
2253
+ attr(div2, "class", "links");
2254
+ attr(div3, "class", "right-section");
2255
+ attr(div4, "class", "piv-top");
2256
+ attr(div5, "class", "piv-bottom");
2257
+ attr(div6, "class", /*containerClass*/ ctx[17]);
2258
+ attr(div7, "role", "banner");
2259
+ attr(div7, "class", "qc-piv-header qc-component");
2260
+ set_style(div7, "--logo-src", "url(" + /*logoSrc*/ ctx[2] + ")");
1976
2261
  attr(link, "rel", "stylesheet");
1977
- attr(link, "href", "" + (Utils.cssRelativePath + Utils.cssFileName));
2262
+ attr(link, "href", Utils.cssPath);
1978
2263
  },
1979
2264
  m(target, anchor) {
1980
- insert(target, div6, anchor);
1981
- append(div6, div5);
1982
- if (if_block0) if_block0.m(div5, null);
1983
- append(div5, t0);
1984
- append(div5, div3);
1985
- append(div3, div0);
1986
- append(div0, a);
1987
- append(a, img);
1988
- append(div3, t1);
1989
- if (if_block1) if_block1.m(div3, null);
1990
- append(div3, t2);
2265
+ insert(target, div7, anchor);
2266
+ append(div7, div6);
2267
+ if (if_block0) if_block0.m(div6, null);
2268
+ append(div6, t0);
2269
+ append(div6, div4);
2270
+ append(div4, div1);
2271
+ append(div1, a);
2272
+ append(a, div0);
2273
+ append(div1, t1);
2274
+ if (if_block1) if_block1.m(div1, null);
2275
+ append(div4, t2);
2276
+ append(div4, div3);
2277
+ if (if_block2) if_block2.m(div3, null);
2278
+ append(div3, t3);
1991
2279
  append(div3, div2);
1992
- if (if_block2) if_block2.m(div2, null);
1993
- append(div2, t3);
1994
- append(div2, div1);
1995
2280
 
1996
2281
  if (links_slot_or_fallback) {
1997
- links_slot_or_fallback.m(div1, null);
2282
+ links_slot_or_fallback.m(div2, null);
1998
2283
  }
1999
2284
 
2000
- append(div5, t4);
2001
- append(div5, div4);
2002
- if (if_block3) if_block3.m(div4, null);
2003
- append(div4, t5);
2004
- if (if_block4) if_block4.m(div4, null);
2005
- insert(target, t6, anchor);
2285
+ append(div6, t4);
2286
+ append(div6, div5);
2287
+ if (if_block3) if_block3.m(div5, null);
2288
+ insert(target, t5, anchor);
2006
2289
  insert(target, link, anchor);
2007
2290
  current = true;
2008
2291
  },
2009
2292
  p(ctx, [dirty]) {
2010
- if (/*goToContent*/ ctx[10] == 'true') {
2293
+ if (/*goToContent*/ ctx[11] == 'true') {
2011
2294
  if (if_block0) {
2012
2295
  if_block0.p(ctx, dirty);
2013
2296
  } else {
2014
- if_block0 = create_if_block_7(ctx);
2297
+ if_block0 = create_if_block_6(ctx);
2015
2298
  if_block0.c();
2016
- if_block0.m(div5, t0);
2299
+ if_block0.m(div6, t0);
2017
2300
  }
2018
2301
  } else if (if_block0) {
2019
2302
  if_block0.d(1);
@@ -2021,11 +2304,7 @@
2021
2304
  }
2022
2305
 
2023
2306
  if (!current || dirty & /*logoAlt*/ 8) {
2024
- attr(img, "alt", /*logoAlt*/ ctx[3]);
2025
- }
2026
-
2027
- if (!current || dirty & /*logoSrc*/ 4 && !src_url_equal(img.src, img_src_value = /*logoSrc*/ ctx[2])) {
2028
- attr(img, "src", img_src_value);
2307
+ attr(div0, "aria-label", /*logoAlt*/ ctx[3]);
2029
2308
  }
2030
2309
 
2031
2310
  if (!current || dirty & /*logoUrl*/ 2) {
@@ -2036,9 +2315,9 @@
2036
2315
  if (if_block1) {
2037
2316
  if_block1.p(ctx, dirty);
2038
2317
  } else {
2039
- if_block1 = create_if_block_6(ctx);
2318
+ if_block1 = create_if_block_5(ctx);
2040
2319
  if_block1.c();
2041
- if_block1.m(div3, t2);
2320
+ if_block1.m(div1, null);
2042
2321
  }
2043
2322
  } else if (if_block1) {
2044
2323
  if_block1.d(1);
@@ -2049,9 +2328,9 @@
2049
2328
  if (if_block2) {
2050
2329
  if_block2.p(ctx, dirty);
2051
2330
  } else {
2052
- if_block2 = create_if_block_5(ctx);
2331
+ if_block2 = create_if_block_4(ctx);
2053
2332
  if_block2.c();
2054
- if_block2.m(div2, t3);
2333
+ if_block2.m(div3, t3);
2055
2334
  }
2056
2335
  } else if (if_block2) {
2057
2336
  if_block2.d(1);
@@ -2059,79 +2338,70 @@
2059
2338
  }
2060
2339
 
2061
2340
  if (links_slot) {
2062
- if (links_slot.p && (!current || dirty & /*$$scope*/ 33554432)) {
2341
+ if (links_slot.p && (!current || dirty & /*$$scope*/ 2097152)) {
2063
2342
  update_slot_base(
2064
2343
  links_slot,
2065
2344
  links_slot_template,
2066
2345
  ctx,
2067
- /*$$scope*/ ctx[25],
2346
+ /*$$scope*/ ctx[21],
2068
2347
  !current
2069
- ? get_all_dirty_from_scope(/*$$scope*/ ctx[25])
2070
- : get_slot_changes(links_slot_template, /*$$scope*/ ctx[25], dirty, get_links_slot_changes),
2348
+ ? get_all_dirty_from_scope(/*$$scope*/ ctx[21])
2349
+ : get_slot_changes(links_slot_template, /*$$scope*/ ctx[21], dirty, get_links_slot_changes),
2071
2350
  get_links_slot_context
2072
2351
  );
2073
2352
  }
2074
2353
  } else {
2075
- if (links_slot_or_fallback && links_slot_or_fallback.p && (!current || dirty & /*joinUsUrl, joinUsText, altLanguageUrl, altLanguageText*/ 960)) {
2354
+ if (links_slot_or_fallback && links_slot_or_fallback.p && (!current || dirty & /*linksLabel, joinUsUrl, joinUsText, altLanguageUrl, altLanguageText*/ 1984)) {
2076
2355
  links_slot_or_fallback.p(ctx, !current ? -1 : dirty);
2077
2356
  }
2078
2357
  }
2079
2358
 
2080
- if (/*titleText*/ ctx[5]) {
2359
+ if (/*displaySearchForm*/ ctx[18]) {
2081
2360
  if (if_block3) {
2082
2361
  if_block3.p(ctx, dirty);
2083
- } else {
2084
- if_block3 = create_if_block_1$1(ctx);
2085
- if_block3.c();
2086
- if_block3.m(div4, t5);
2087
- }
2088
- } else if (if_block3) {
2089
- if_block3.d(1);
2090
- if_block3 = null;
2091
- }
2092
-
2093
- if (/*displaySearchForm*/ ctx[21]) {
2094
- if (if_block4) {
2095
- if_block4.p(ctx, dirty);
2096
2362
 
2097
- if (dirty & /*displaySearchForm*/ 2097152) {
2098
- transition_in(if_block4, 1);
2363
+ if (dirty & /*displaySearchForm*/ 262144) {
2364
+ transition_in(if_block3, 1);
2099
2365
  }
2100
2366
  } else {
2101
- if_block4 = create_if_block$1(ctx);
2102
- if_block4.c();
2103
- transition_in(if_block4, 1);
2104
- if_block4.m(div4, null);
2367
+ if_block3 = create_if_block$4(ctx);
2368
+ if_block3.c();
2369
+ transition_in(if_block3, 1);
2370
+ if_block3.m(div5, null);
2105
2371
  }
2106
- } else if (if_block4) {
2372
+ } else if (if_block3) {
2107
2373
  group_outros();
2108
2374
 
2109
- transition_out(if_block4, 1, 1, () => {
2110
- if_block4 = null;
2375
+ transition_out(if_block3, 1, 1, () => {
2376
+ if_block3 = null;
2111
2377
  });
2112
2378
 
2113
2379
  check_outros();
2114
2380
  }
2115
2381
 
2116
- if (!current || dirty & /*containerClass*/ 1048576) {
2117
- attr(div5, "class", /*containerClass*/ ctx[20]);
2382
+ if (!current || dirty & /*containerClass*/ 131072) {
2383
+ attr(div6, "class", /*containerClass*/ ctx[17]);
2384
+ }
2385
+
2386
+ if (!current || dirty & /*logoSrc*/ 4) {
2387
+ set_style(div7, "--logo-src", "url(" + /*logoSrc*/ ctx[2] + ")");
2118
2388
  }
2119
2389
  },
2120
2390
  i(local) {
2121
2391
  if (current) return;
2122
2392
  transition_in(links_slot_or_fallback, local);
2123
- transition_in(if_block4);
2393
+ transition_in(if_block3);
2124
2394
  current = true;
2125
2395
  },
2126
2396
  o(local) {
2127
2397
  transition_out(links_slot_or_fallback, local);
2128
- transition_out(if_block4);
2398
+ transition_out(if_block3);
2129
2399
  current = false;
2130
2400
  },
2131
2401
  d(detaching) {
2132
2402
  if (detaching) {
2133
- detach(div6);
2134
- detach(t6);
2403
+ detach(div7);
2404
+ detach(t5);
2135
2405
  detach(link);
2136
2406
  }
2137
2407
 
@@ -2140,72 +2410,61 @@
2140
2410
  if (if_block2) if_block2.d();
2141
2411
  if (links_slot_or_fallback) links_slot_or_fallback.d(detaching);
2142
2412
  if (if_block3) if_block3.d();
2143
- if (if_block4) if_block4.d();
2144
2413
  }
2145
2414
  };
2146
2415
  }
2147
2416
 
2148
- function instance$3($$self, $$props, $$invalidate) {
2417
+ function instance$7($$self, $$props, $$invalidate) {
2149
2418
  let { $$slots: slots = {}, $$scope } = $$props;
2150
2419
  const lang = Utils.getPageLanguage();
2151
2420
 
2152
- let { logoUrl = '/', fullWidth = 'false', logoSrc = Utils.imagesRelativePath + 'quebec-logo.svg', logoAlt = lang === 'fr'
2421
+ let { logoUrl = '/', fullWidth = 'false', logoSrc = Utils.imagesRelativePath + 'QUEBEC_blanc.svg', logoAlt = lang === 'fr'
2153
2422
  ? 'Logo du gouvernement du Québec'
2154
- : 'Logo of government of Québec', titleUrl = '/', titleText = '', altLanguageText = lang === 'fr' ? 'English' : 'Français', altLanguageUrl = '', joinUsText = lang === 'fr' ? 'Nous joindre' : 'Contact us', joinUsUrl = '', goToContent = 'true', goToContentAnchor = '#main', goToContentText = lang === 'fr' ? 'Passer au contenu' : 'Skip to content', searchPlaceholder = lang === 'fr' ? 'Rechercher…' : 'Search…', searchInputName = 'q', submitSearchText = lang === 'fr' ? 'Rechercher' : 'Search', displaySearchText = lang === 'fr'
2423
+ : 'Logo of government of Québec', titleUrl = '/', titleText = '', linksLabel = lang === 'fr' ? 'Navigation PIV' : 'PIV navigation', altLanguageText = lang === 'fr' ? 'English' : 'Français', altLanguageUrl = '', joinUsText = lang === 'fr' ? 'Nous joindre' : 'Contact us', joinUsUrl = '', goToContent = 'true', goToContentAnchor = '#main', goToContentText = lang === 'fr' ? 'Passer au contenu' : 'Skip to content', displaySearchText = lang === 'fr'
2155
2424
  ? 'Cliquer pour faire une recherche'
2156
2425
  : 'Click to search', hideSearchText = lang === 'fr'
2157
2426
  ? 'Masquer la barre de recherche'
2158
- : 'Hide search bar', searchFormAction = '#', enableSearch = 'false', showSearch = 'false' } = $$props;
2427
+ : 'Hide search bar', enableSearch = 'false', showSearch = 'false' } = $$props;
2159
2428
 
2160
2429
  function focusOnSearchInput() {
2161
2430
  if (displaySearchForm) {
2162
- searchInput.focus();
2431
+ document.querySelector('[slot="search-zone"] input')?.focus();
2163
2432
  }
2164
2433
  }
2165
2434
 
2166
- let containerClass = 'qc-container', displaySearchForm = false, searchInput;
2435
+ let containerClass = 'qc-container', displaySearchForm = false;
2167
2436
 
2168
2437
  onMount(() => {
2169
- $$invalidate(20, containerClass += fullWidth === 'true' ? '-fluid' : '');
2438
+ $$invalidate(17, containerClass += fullWidth === 'true' ? '-fluid' : '');
2170
2439
 
2171
2440
  if (showSearch === 'true') {
2172
2441
  $$invalidate(0, enableSearch = 'true');
2173
- $$invalidate(21, displaySearchForm = true);
2442
+ $$invalidate(18, displaySearchForm = true);
2174
2443
  }
2175
2444
  });
2176
2445
 
2177
- const click_handler = () => $$invalidate(21, displaySearchForm = !displaySearchForm);
2178
-
2179
- function input_binding($$value) {
2180
- binding_callbacks[$$value ? 'unshift' : 'push'](() => {
2181
- searchInput = $$value;
2182
- $$invalidate(22, searchInput);
2183
- });
2184
- }
2446
+ const click_handler = () => $$invalidate(18, displaySearchForm = !displaySearchForm);
2185
2447
 
2186
2448
  $$self.$$set = $$props => {
2187
2449
  if ('logoUrl' in $$props) $$invalidate(1, logoUrl = $$props.logoUrl);
2188
- if ('fullWidth' in $$props) $$invalidate(23, fullWidth = $$props.fullWidth);
2450
+ if ('fullWidth' in $$props) $$invalidate(19, fullWidth = $$props.fullWidth);
2189
2451
  if ('logoSrc' in $$props) $$invalidate(2, logoSrc = $$props.logoSrc);
2190
2452
  if ('logoAlt' in $$props) $$invalidate(3, logoAlt = $$props.logoAlt);
2191
2453
  if ('titleUrl' in $$props) $$invalidate(4, titleUrl = $$props.titleUrl);
2192
2454
  if ('titleText' in $$props) $$invalidate(5, titleText = $$props.titleText);
2193
- if ('altLanguageText' in $$props) $$invalidate(6, altLanguageText = $$props.altLanguageText);
2194
- if ('altLanguageUrl' in $$props) $$invalidate(7, altLanguageUrl = $$props.altLanguageUrl);
2195
- if ('joinUsText' in $$props) $$invalidate(8, joinUsText = $$props.joinUsText);
2196
- if ('joinUsUrl' in $$props) $$invalidate(9, joinUsUrl = $$props.joinUsUrl);
2197
- if ('goToContent' in $$props) $$invalidate(10, goToContent = $$props.goToContent);
2198
- if ('goToContentAnchor' in $$props) $$invalidate(11, goToContentAnchor = $$props.goToContentAnchor);
2199
- if ('goToContentText' in $$props) $$invalidate(12, goToContentText = $$props.goToContentText);
2200
- if ('searchPlaceholder' in $$props) $$invalidate(13, searchPlaceholder = $$props.searchPlaceholder);
2201
- if ('searchInputName' in $$props) $$invalidate(14, searchInputName = $$props.searchInputName);
2202
- if ('submitSearchText' in $$props) $$invalidate(15, submitSearchText = $$props.submitSearchText);
2203
- if ('displaySearchText' in $$props) $$invalidate(16, displaySearchText = $$props.displaySearchText);
2204
- if ('hideSearchText' in $$props) $$invalidate(17, hideSearchText = $$props.hideSearchText);
2205
- if ('searchFormAction' in $$props) $$invalidate(18, searchFormAction = $$props.searchFormAction);
2455
+ if ('linksLabel' in $$props) $$invalidate(6, linksLabel = $$props.linksLabel);
2456
+ if ('altLanguageText' in $$props) $$invalidate(7, altLanguageText = $$props.altLanguageText);
2457
+ if ('altLanguageUrl' in $$props) $$invalidate(8, altLanguageUrl = $$props.altLanguageUrl);
2458
+ if ('joinUsText' in $$props) $$invalidate(9, joinUsText = $$props.joinUsText);
2459
+ if ('joinUsUrl' in $$props) $$invalidate(10, joinUsUrl = $$props.joinUsUrl);
2460
+ if ('goToContent' in $$props) $$invalidate(11, goToContent = $$props.goToContent);
2461
+ if ('goToContentAnchor' in $$props) $$invalidate(12, goToContentAnchor = $$props.goToContentAnchor);
2462
+ if ('goToContentText' in $$props) $$invalidate(13, goToContentText = $$props.goToContentText);
2463
+ if ('displaySearchText' in $$props) $$invalidate(14, displaySearchText = $$props.displaySearchText);
2464
+ if ('hideSearchText' in $$props) $$invalidate(15, hideSearchText = $$props.hideSearchText);
2206
2465
  if ('enableSearch' in $$props) $$invalidate(0, enableSearch = $$props.enableSearch);
2207
- if ('showSearch' in $$props) $$invalidate(24, showSearch = $$props.showSearch);
2208
- if ('$$scope' in $$props) $$invalidate(25, $$scope = $$props.$$scope);
2466
+ if ('showSearch' in $$props) $$invalidate(20, showSearch = $$props.showSearch);
2467
+ if ('$$scope' in $$props) $$invalidate(21, $$scope = $$props.$$scope);
2209
2468
  };
2210
2469
 
2211
2470
  return [
@@ -2215,6 +2474,7 @@
2215
2474
  logoAlt,
2216
2475
  titleUrl,
2217
2476
  titleText,
2477
+ linksLabel,
2218
2478
  altLanguageText,
2219
2479
  altLanguageUrl,
2220
2480
  joinUsText,
@@ -2222,22 +2482,16 @@
2222
2482
  goToContent,
2223
2483
  goToContentAnchor,
2224
2484
  goToContentText,
2225
- searchPlaceholder,
2226
- searchInputName,
2227
- submitSearchText,
2228
2485
  displaySearchText,
2229
2486
  hideSearchText,
2230
- searchFormAction,
2231
2487
  focusOnSearchInput,
2232
2488
  containerClass,
2233
2489
  displaySearchForm,
2234
- searchInput,
2235
2490
  fullWidth,
2236
2491
  showSearch,
2237
2492
  $$scope,
2238
2493
  slots,
2239
- click_handler,
2240
- input_binding
2494
+ click_handler
2241
2495
  ];
2242
2496
  }
2243
2497
 
@@ -2245,29 +2499,26 @@
2245
2499
  constructor(options) {
2246
2500
  super();
2247
2501
 
2248
- init(this, options, instance$3, create_fragment$3, safe_not_equal, {
2502
+ init(this, options, instance$7, create_fragment$7, safe_not_equal, {
2249
2503
  logoUrl: 1,
2250
- fullWidth: 23,
2504
+ fullWidth: 19,
2251
2505
  logoSrc: 2,
2252
2506
  logoAlt: 3,
2253
2507
  titleUrl: 4,
2254
2508
  titleText: 5,
2255
- altLanguageText: 6,
2256
- altLanguageUrl: 7,
2257
- joinUsText: 8,
2258
- joinUsUrl: 9,
2259
- goToContent: 10,
2260
- goToContentAnchor: 11,
2261
- goToContentText: 12,
2262
- searchPlaceholder: 13,
2263
- searchInputName: 14,
2264
- submitSearchText: 15,
2265
- displaySearchText: 16,
2266
- hideSearchText: 17,
2267
- searchFormAction: 18,
2509
+ linksLabel: 6,
2510
+ altLanguageText: 7,
2511
+ altLanguageUrl: 8,
2512
+ joinUsText: 9,
2513
+ joinUsUrl: 10,
2514
+ goToContent: 11,
2515
+ goToContentAnchor: 12,
2516
+ goToContentText: 13,
2517
+ displaySearchText: 14,
2518
+ hideSearchText: 15,
2268
2519
  enableSearch: 0,
2269
- showSearch: 24,
2270
- focusOnSearchInput: 19
2520
+ showSearch: 20,
2521
+ focusOnSearchInput: 16
2271
2522
  });
2272
2523
  }
2273
2524
 
@@ -2281,7 +2532,7 @@
2281
2532
  }
2282
2533
 
2283
2534
  get fullWidth() {
2284
- return this.$$.ctx[23];
2535
+ return this.$$.ctx[19];
2285
2536
  }
2286
2537
 
2287
2538
  set fullWidth(fullWidth) {
@@ -2325,17 +2576,26 @@
2325
2576
  flush();
2326
2577
  }
2327
2578
 
2328
- get altLanguageText() {
2579
+ get linksLabel() {
2329
2580
  return this.$$.ctx[6];
2330
2581
  }
2331
2582
 
2583
+ set linksLabel(linksLabel) {
2584
+ this.$$set({ linksLabel });
2585
+ flush();
2586
+ }
2587
+
2588
+ get altLanguageText() {
2589
+ return this.$$.ctx[7];
2590
+ }
2591
+
2332
2592
  set altLanguageText(altLanguageText) {
2333
2593
  this.$$set({ altLanguageText });
2334
2594
  flush();
2335
2595
  }
2336
2596
 
2337
2597
  get altLanguageUrl() {
2338
- return this.$$.ctx[7];
2598
+ return this.$$.ctx[8];
2339
2599
  }
2340
2600
 
2341
2601
  set altLanguageUrl(altLanguageUrl) {
@@ -2344,7 +2604,7 @@
2344
2604
  }
2345
2605
 
2346
2606
  get joinUsText() {
2347
- return this.$$.ctx[8];
2607
+ return this.$$.ctx[9];
2348
2608
  }
2349
2609
 
2350
2610
  set joinUsText(joinUsText) {
@@ -2353,7 +2613,7 @@
2353
2613
  }
2354
2614
 
2355
2615
  get joinUsUrl() {
2356
- return this.$$.ctx[9];
2616
+ return this.$$.ctx[10];
2357
2617
  }
2358
2618
 
2359
2619
  set joinUsUrl(joinUsUrl) {
@@ -2362,7 +2622,7 @@
2362
2622
  }
2363
2623
 
2364
2624
  get goToContent() {
2365
- return this.$$.ctx[10];
2625
+ return this.$$.ctx[11];
2366
2626
  }
2367
2627
 
2368
2628
  set goToContent(goToContent) {
@@ -2371,7 +2631,7 @@
2371
2631
  }
2372
2632
 
2373
2633
  get goToContentAnchor() {
2374
- return this.$$.ctx[11];
2634
+ return this.$$.ctx[12];
2375
2635
  }
2376
2636
 
2377
2637
  set goToContentAnchor(goToContentAnchor) {
@@ -2380,7 +2640,7 @@
2380
2640
  }
2381
2641
 
2382
2642
  get goToContentText() {
2383
- return this.$$.ctx[12];
2643
+ return this.$$.ctx[13];
2384
2644
  }
2385
2645
 
2386
2646
  set goToContentText(goToContentText) {
@@ -2388,35 +2648,8 @@
2388
2648
  flush();
2389
2649
  }
2390
2650
 
2391
- get searchPlaceholder() {
2392
- return this.$$.ctx[13];
2393
- }
2394
-
2395
- set searchPlaceholder(searchPlaceholder) {
2396
- this.$$set({ searchPlaceholder });
2397
- flush();
2398
- }
2399
-
2400
- get searchInputName() {
2401
- return this.$$.ctx[14];
2402
- }
2403
-
2404
- set searchInputName(searchInputName) {
2405
- this.$$set({ searchInputName });
2406
- flush();
2407
- }
2408
-
2409
- get submitSearchText() {
2410
- return this.$$.ctx[15];
2411
- }
2412
-
2413
- set submitSearchText(submitSearchText) {
2414
- this.$$set({ submitSearchText });
2415
- flush();
2416
- }
2417
-
2418
2651
  get displaySearchText() {
2419
- return this.$$.ctx[16];
2652
+ return this.$$.ctx[14];
2420
2653
  }
2421
2654
 
2422
2655
  set displaySearchText(displaySearchText) {
@@ -2425,7 +2658,7 @@
2425
2658
  }
2426
2659
 
2427
2660
  get hideSearchText() {
2428
- return this.$$.ctx[17];
2661
+ return this.$$.ctx[15];
2429
2662
  }
2430
2663
 
2431
2664
  set hideSearchText(hideSearchText) {
@@ -2433,15 +2666,6 @@
2433
2666
  flush();
2434
2667
  }
2435
2668
 
2436
- get searchFormAction() {
2437
- return this.$$.ctx[18];
2438
- }
2439
-
2440
- set searchFormAction(searchFormAction) {
2441
- this.$$set({ searchFormAction });
2442
- flush();
2443
- }
2444
-
2445
2669
  get enableSearch() {
2446
2670
  return this.$$.ctx[0];
2447
2671
  }
@@ -2452,7 +2676,7 @@
2452
2676
  }
2453
2677
 
2454
2678
  get showSearch() {
2455
- return this.$$.ctx[24];
2679
+ return this.$$.ctx[20];
2456
2680
  }
2457
2681
 
2458
2682
  set showSearch(showSearch) {
@@ -2461,69 +2685,61 @@
2461
2685
  }
2462
2686
 
2463
2687
  get focusOnSearchInput() {
2464
- return this.$$.ctx[19];
2688
+ return this.$$.ctx[16];
2465
2689
  }
2466
2690
  }
2467
2691
 
2468
- customElements.define("qc-piv-header", create_custom_element(PivHeader, {"logoUrl":{"attribute":"logo-url"},"fullWidth":{"attribute":"full-width"},"logoSrc":{"attribute":"logo-src"},"logoAlt":{"attribute":"logo-alt"},"titleUrl":{"attribute":"title-url"},"titleText":{"attribute":"title-text"},"altLanguageText":{"attribute":"alt-language-text"},"altLanguageUrl":{"attribute":"alt-language-url"},"joinUsText":{"attribute":"join-us-text"},"joinUsUrl":{"attribute":"join-us-url"},"goToContent":{"attribute":"go-to-content"},"goToContentAnchor":{"attribute":"go-to-content-anchor"},"goToContentText":{"attribute":"go-to-content-text"},"searchPlaceholder":{"attribute":"search-placeholder"},"searchInputName":{"attribute":"search-input-name"},"submitSearchText":{"attribute":"submit-search-text"},"displaySearchText":{"attribute":"display-search-text"},"hideSearchText":{"attribute":"hide-search-text"},"searchFormAction":{"attribute":"search-form-action"},"enableSearch":{"attribute":"enable-search"},"showSearch":{"attribute":"show-search"}}, ["links","search-zone"], ["focusOnSearchInput"], true));
2692
+ customElements.define("qc-piv-header", create_custom_element(PivHeader, {"logoUrl":{"attribute":"logo-url"},"fullWidth":{"attribute":"full-width"},"logoSrc":{"attribute":"logo-src"},"logoAlt":{"attribute":"logo-alt"},"titleUrl":{"attribute":"title-url"},"titleText":{"attribute":"title-text"},"linksLabel":{"attribute":"links-label"},"altLanguageText":{"attribute":"alt-language-text"},"altLanguageUrl":{"attribute":"alt-language-url"},"joinUsText":{"attribute":"join-us-text"},"joinUsUrl":{"attribute":"join-us-url"},"goToContent":{"attribute":"go-to-content"},"goToContentAnchor":{"attribute":"go-to-content-anchor"},"goToContentText":{"attribute":"go-to-content-text"},"displaySearchText":{"attribute":"display-search-text"},"hideSearchText":{"attribute":"hide-search-text"},"enableSearch":{"attribute":"enable-search"},"showSearch":{"attribute":"show-search"}}, ["links","search-zone"], ["focusOnSearchInput"], true));
2469
2693
 
2470
- /* src/sdg/components/pivFooter.svelte generated by Svelte v4.2.12 */
2694
+ /* src/sdg/components/pivFooter.svelte generated by Svelte v4.2.19 */
2471
2695
  const get_copyright_slot_changes = dirty => ({});
2472
2696
  const get_copyright_slot_context = ctx => ({});
2473
- const get_logo_slot_changes = dirty => ({});
2474
- const get_logo_slot_context = ctx => ({});
2475
2697
 
2476
- // (42:30)
2477
- function fallback_block_1(ctx) {
2478
- let a;
2698
+ function get_each_context(ctx, list, i) {
2699
+ const child_ctx = ctx.slice();
2700
+ child_ctx[11] = list[i][0];
2701
+ child_ctx[12] = list[i][1];
2702
+ return child_ctx;
2703
+ }
2704
+
2705
+ // (47:8) {#each [ ['light', logoSrc], ['dark', logoSrcDarkTheme]] as [theme, src]}
2706
+ function create_each_block(ctx) {
2479
2707
  let img;
2480
2708
  let img_src_value;
2709
+ let img_class_value;
2481
2710
 
2482
2711
  return {
2483
2712
  c() {
2484
- a = element("a");
2485
2713
  img = element("img");
2486
- attr(img, "class", "logo-mo");
2487
- attr(img, "alt", /*logoAlt*/ ctx[2]);
2488
- if (!src_url_equal(img.src, img_src_value = /*logoSrc*/ ctx[1])) attr(img, "src", img_src_value);
2489
- attr(img, "width", /*logoWidth*/ ctx[3]);
2490
- attr(img, "height", /*logoHeight*/ ctx[4]);
2491
- attr(a, "href", /*logoUrl*/ ctx[0]);
2714
+ if (!src_url_equal(img.src, img_src_value = /*src*/ ctx[12])) attr(img, "src", img_src_value);
2715
+ attr(img, "alt", /*logoAlt*/ ctx[3]);
2716
+ attr(img, "class", img_class_value = "qc-" + /*theme*/ ctx[11] + "-theme-show");
2492
2717
  },
2493
2718
  m(target, anchor) {
2494
- insert(target, a, anchor);
2495
- append(a, img);
2719
+ insert(target, img, anchor);
2496
2720
  },
2497
2721
  p(ctx, dirty) {
2498
- if (dirty & /*logoAlt*/ 4) {
2499
- attr(img, "alt", /*logoAlt*/ ctx[2]);
2500
- }
2501
-
2502
- if (dirty & /*logoSrc*/ 2 && !src_url_equal(img.src, img_src_value = /*logoSrc*/ ctx[1])) {
2722
+ if (dirty & /*logoSrc, logoSrcDarkTheme*/ 6 && !src_url_equal(img.src, img_src_value = /*src*/ ctx[12])) {
2503
2723
  attr(img, "src", img_src_value);
2504
2724
  }
2505
2725
 
2506
- if (dirty & /*logoWidth*/ 8) {
2507
- attr(img, "width", /*logoWidth*/ ctx[3]);
2508
- }
2509
-
2510
- if (dirty & /*logoHeight*/ 16) {
2511
- attr(img, "height", /*logoHeight*/ ctx[4]);
2726
+ if (dirty & /*logoAlt*/ 8) {
2727
+ attr(img, "alt", /*logoAlt*/ ctx[3]);
2512
2728
  }
2513
2729
 
2514
- if (dirty & /*logoUrl*/ 1) {
2515
- attr(a, "href", /*logoUrl*/ ctx[0]);
2730
+ if (dirty & /*logoSrc, logoSrcDarkTheme*/ 6 && img_class_value !== (img_class_value = "qc-" + /*theme*/ ctx[11] + "-theme-show")) {
2731
+ attr(img, "class", img_class_value);
2516
2732
  }
2517
2733
  },
2518
2734
  d(detaching) {
2519
2735
  if (detaching) {
2520
- detach(a);
2736
+ detach(img);
2521
2737
  }
2522
2738
  }
2523
2739
  };
2524
2740
  }
2525
2741
 
2526
- // (53:35)
2742
+ // (57:31)
2527
2743
  function fallback_block(ctx) {
2528
2744
  let a;
2529
2745
  let t;
@@ -2531,18 +2747,18 @@
2531
2747
  return {
2532
2748
  c() {
2533
2749
  a = element("a");
2534
- t = text(/*copyrightText*/ ctx[5]);
2535
- attr(a, "href", /*copyrightUrl*/ ctx[6]);
2750
+ t = text(/*copyrightText*/ ctx[4]);
2751
+ attr(a, "href", /*copyrightUrl*/ ctx[7]);
2536
2752
  },
2537
2753
  m(target, anchor) {
2538
2754
  insert(target, a, anchor);
2539
2755
  append(a, t);
2540
2756
  },
2541
2757
  p(ctx, dirty) {
2542
- if (dirty & /*copyrightText*/ 32) set_data(t, /*copyrightText*/ ctx[5]);
2758
+ if (dirty & /*copyrightText*/ 16) set_data(t, /*copyrightText*/ ctx[4]);
2543
2759
 
2544
- if (dirty & /*copyrightUrl*/ 64) {
2545
- attr(a, "href", /*copyrightUrl*/ ctx[6]);
2760
+ if (dirty & /*copyrightUrl*/ 128) {
2761
+ attr(a, "href", /*copyrightUrl*/ ctx[7]);
2546
2762
  }
2547
2763
  },
2548
2764
  d(detaching) {
@@ -2553,65 +2769,71 @@
2553
2769
  };
2554
2770
  }
2555
2771
 
2556
- function create_fragment$2(ctx) {
2557
- let div2;
2558
- let div1;
2559
- let nav;
2772
+ function create_fragment$6(ctx) {
2773
+ let div;
2560
2774
  let t0;
2561
- let div0;
2775
+ let a;
2562
2776
  let t1;
2563
2777
  let span;
2564
2778
  let t2;
2565
2779
  let link;
2566
2780
  let current;
2567
- const default_slot_template = /*#slots*/ ctx[8].default;
2568
- const default_slot = create_slot(default_slot_template, ctx, /*$$scope*/ ctx[7], null);
2569
- const logo_slot_template = /*#slots*/ ctx[8].logo;
2570
- const logo_slot = create_slot(logo_slot_template, ctx, /*$$scope*/ ctx[7], get_logo_slot_context);
2571
- const logo_slot_or_fallback = logo_slot || fallback_block_1(ctx);
2572
- const copyright_slot_template = /*#slots*/ ctx[8].copyright;
2573
- const copyright_slot = create_slot(copyright_slot_template, ctx, /*$$scope*/ ctx[7], get_copyright_slot_context);
2781
+ const default_slot_template = /*#slots*/ ctx[9].default;
2782
+ const default_slot = create_slot(default_slot_template, ctx, /*$$scope*/ ctx[8], null);
2783
+ let each_value = ensure_array_like([['light', /*logoSrc*/ ctx[1]], ['dark', /*logoSrcDarkTheme*/ ctx[2]]]);
2784
+ let each_blocks = [];
2785
+
2786
+ for (let i = 0; i < 2; i += 1) {
2787
+ each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i));
2788
+ }
2789
+
2790
+ const copyright_slot_template = /*#slots*/ ctx[9].copyright;
2791
+ const copyright_slot = create_slot(copyright_slot_template, ctx, /*$$scope*/ ctx[8], get_copyright_slot_context);
2574
2792
  const copyright_slot_or_fallback = copyright_slot || fallback_block(ctx);
2575
2793
 
2576
2794
  return {
2577
2795
  c() {
2578
- div2 = element("div");
2579
- div1 = element("div");
2580
- nav = element("nav");
2796
+ div = element("div");
2581
2797
  if (default_slot) default_slot.c();
2582
2798
  t0 = space();
2583
- div0 = element("div");
2584
- if (logo_slot_or_fallback) logo_slot_or_fallback.c();
2799
+ a = element("a");
2800
+
2801
+ for (let i = 0; i < 2; i += 1) {
2802
+ each_blocks[i].c();
2803
+ }
2804
+
2585
2805
  t1 = space();
2586
2806
  span = element("span");
2587
2807
  if (copyright_slot_or_fallback) copyright_slot_or_fallback.c();
2588
2808
  t2 = space();
2589
2809
  link = element("link");
2590
- attr(div0, "class", "logo");
2810
+ attr(a, "href", /*logoUrl*/ ctx[0]);
2811
+ attr(a, "class", "logo");
2812
+ set_style(a, "--logo-width", /*logoWidth*/ ctx[5]);
2813
+ set_style(a, "--logo-height", /*logoHeight*/ ctx[6]);
2591
2814
  attr(span, "class", "copyright");
2592
- attr(div1, "class", "qc-container");
2593
- attr(div2, "class", "qc-piv-footer qc-component");
2815
+ attr(div, "class", "qc-piv-footer qc-container-fluid");
2594
2816
  attr(link, "rel", "stylesheet");
2595
- attr(link, "href", "" + (Utils.cssRelativePath + Utils.cssFileName));
2817
+ attr(link, "href", Utils.cssPath);
2596
2818
  },
2597
2819
  m(target, anchor) {
2598
- insert(target, div2, anchor);
2599
- append(div2, div1);
2600
- append(div1, nav);
2820
+ insert(target, div, anchor);
2601
2821
 
2602
2822
  if (default_slot) {
2603
- default_slot.m(nav, null);
2823
+ default_slot.m(div, null);
2604
2824
  }
2605
2825
 
2606
- append(div1, t0);
2607
- append(div1, div0);
2826
+ append(div, t0);
2827
+ append(div, a);
2608
2828
 
2609
- if (logo_slot_or_fallback) {
2610
- logo_slot_or_fallback.m(div0, null);
2829
+ for (let i = 0; i < 2; i += 1) {
2830
+ if (each_blocks[i]) {
2831
+ each_blocks[i].m(a, null);
2832
+ }
2611
2833
  }
2612
2834
 
2613
- append(div1, t1);
2614
- append(div1, span);
2835
+ append(div, t1);
2836
+ append(div, span);
2615
2837
 
2616
2838
  if (copyright_slot_or_fallback) {
2617
2839
  copyright_slot_or_fallback.m(span, null);
@@ -2623,54 +2845,68 @@
2623
2845
  },
2624
2846
  p(ctx, [dirty]) {
2625
2847
  if (default_slot) {
2626
- if (default_slot.p && (!current || dirty & /*$$scope*/ 128)) {
2848
+ if (default_slot.p && (!current || dirty & /*$$scope*/ 256)) {
2627
2849
  update_slot_base(
2628
2850
  default_slot,
2629
2851
  default_slot_template,
2630
2852
  ctx,
2631
- /*$$scope*/ ctx[7],
2853
+ /*$$scope*/ ctx[8],
2632
2854
  !current
2633
- ? get_all_dirty_from_scope(/*$$scope*/ ctx[7])
2634
- : get_slot_changes(default_slot_template, /*$$scope*/ ctx[7], dirty, null),
2855
+ ? get_all_dirty_from_scope(/*$$scope*/ ctx[8])
2856
+ : get_slot_changes(default_slot_template, /*$$scope*/ ctx[8], dirty, null),
2635
2857
  null
2636
2858
  );
2637
2859
  }
2638
2860
  }
2639
2861
 
2640
- if (logo_slot) {
2641
- if (logo_slot.p && (!current || dirty & /*$$scope*/ 128)) {
2642
- update_slot_base(
2643
- logo_slot,
2644
- logo_slot_template,
2645
- ctx,
2646
- /*$$scope*/ ctx[7],
2647
- !current
2648
- ? get_all_dirty_from_scope(/*$$scope*/ ctx[7])
2649
- : get_slot_changes(logo_slot_template, /*$$scope*/ ctx[7], dirty, get_logo_slot_changes),
2650
- get_logo_slot_context
2651
- );
2862
+ if (dirty & /*logoSrc, logoSrcDarkTheme, logoAlt*/ 14) {
2863
+ each_value = ensure_array_like([['light', /*logoSrc*/ ctx[1]], ['dark', /*logoSrcDarkTheme*/ ctx[2]]]);
2864
+ let i;
2865
+
2866
+ for (i = 0; i < 2; i += 1) {
2867
+ const child_ctx = get_each_context(ctx, each_value, i);
2868
+
2869
+ if (each_blocks[i]) {
2870
+ each_blocks[i].p(child_ctx, dirty);
2871
+ } else {
2872
+ each_blocks[i] = create_each_block(child_ctx);
2873
+ each_blocks[i].c();
2874
+ each_blocks[i].m(a, null);
2875
+ }
2652
2876
  }
2653
- } else {
2654
- if (logo_slot_or_fallback && logo_slot_or_fallback.p && (!current || dirty & /*logoUrl, logoAlt, logoSrc, logoWidth, logoHeight*/ 31)) {
2655
- logo_slot_or_fallback.p(ctx, !current ? -1 : dirty);
2877
+
2878
+ for (; i < 2; i += 1) {
2879
+ each_blocks[i].d(1);
2656
2880
  }
2657
2881
  }
2658
2882
 
2883
+ if (!current || dirty & /*logoUrl*/ 1) {
2884
+ attr(a, "href", /*logoUrl*/ ctx[0]);
2885
+ }
2886
+
2887
+ if (dirty & /*logoWidth*/ 32) {
2888
+ set_style(a, "--logo-width", /*logoWidth*/ ctx[5]);
2889
+ }
2890
+
2891
+ if (dirty & /*logoHeight*/ 64) {
2892
+ set_style(a, "--logo-height", /*logoHeight*/ ctx[6]);
2893
+ }
2894
+
2659
2895
  if (copyright_slot) {
2660
- if (copyright_slot.p && (!current || dirty & /*$$scope*/ 128)) {
2896
+ if (copyright_slot.p && (!current || dirty & /*$$scope*/ 256)) {
2661
2897
  update_slot_base(
2662
2898
  copyright_slot,
2663
2899
  copyright_slot_template,
2664
2900
  ctx,
2665
- /*$$scope*/ ctx[7],
2901
+ /*$$scope*/ ctx[8],
2666
2902
  !current
2667
- ? get_all_dirty_from_scope(/*$$scope*/ ctx[7])
2668
- : get_slot_changes(copyright_slot_template, /*$$scope*/ ctx[7], dirty, get_copyright_slot_changes),
2903
+ ? get_all_dirty_from_scope(/*$$scope*/ ctx[8])
2904
+ : get_slot_changes(copyright_slot_template, /*$$scope*/ ctx[8], dirty, get_copyright_slot_changes),
2669
2905
  get_copyright_slot_context
2670
2906
  );
2671
2907
  }
2672
2908
  } else {
2673
- if (copyright_slot_or_fallback && copyright_slot_or_fallback.p && (!current || dirty & /*copyrightUrl, copyrightText*/ 96)) {
2909
+ if (copyright_slot_or_fallback && copyright_slot_or_fallback.p && (!current || dirty & /*copyrightUrl, copyrightText*/ 144)) {
2674
2910
  copyright_slot_or_fallback.p(ctx, !current ? -1 : dirty);
2675
2911
  }
2676
2912
  }
@@ -2678,56 +2914,58 @@
2678
2914
  i(local) {
2679
2915
  if (current) return;
2680
2916
  transition_in(default_slot, local);
2681
- transition_in(logo_slot_or_fallback, local);
2682
2917
  transition_in(copyright_slot_or_fallback, local);
2683
2918
  current = true;
2684
2919
  },
2685
2920
  o(local) {
2686
2921
  transition_out(default_slot, local);
2687
- transition_out(logo_slot_or_fallback, local);
2688
2922
  transition_out(copyright_slot_or_fallback, local);
2689
2923
  current = false;
2690
2924
  },
2691
2925
  d(detaching) {
2692
2926
  if (detaching) {
2693
- detach(div2);
2927
+ detach(div);
2694
2928
  detach(t2);
2695
2929
  detach(link);
2696
2930
  }
2697
2931
 
2698
2932
  if (default_slot) default_slot.d(detaching);
2699
- if (logo_slot_or_fallback) logo_slot_or_fallback.d(detaching);
2933
+ destroy_each(each_blocks, detaching);
2700
2934
  if (copyright_slot_or_fallback) copyright_slot_or_fallback.d(detaching);
2701
2935
  }
2702
2936
  };
2703
2937
  }
2704
2938
 
2705
- function instance$2($$self, $$props, $$invalidate) {
2939
+ function instance$6($$self, $$props, $$invalidate) {
2706
2940
  let { $$slots: slots = {}, $$scope } = $$props;
2707
2941
  const lang = Utils.getPageLanguage();
2708
2942
 
2709
- let { logoUrl = '/', logoSrc = `${Utils.imagesRelativePath}logo-quebec-piv-footer.svg`, logoAlt = 'Gouvernement du Québec', logoWidth = '117', logoHeight = '35', copyrightText = '© Gouvernement du Québec, ' + new Date().getFullYear(), copyrightUrl = lang === 'fr'
2943
+ let { logoUrl = '/', logoSrc = Utils.imagesRelativePath + '/QUEBEC_couleur.svg', logoSrcDarkTheme = Utils.imagesRelativePath + '/QUEBEC_blanc.svg', logoAlt = lang === 'fr'
2944
+ ? 'Logo du gouvernement du Québec'
2945
+ : 'Logo of the Quebec government', copyrightText = '© Gouvernement du Québec, ' + new Date().getFullYear(), logoWidth = 139, logoHeight = 50, copyrightUrl = lang === 'fr'
2710
2946
  ? 'https://www.quebec.ca/droit-auteur'
2711
2947
  : 'https://www.quebec.ca/en/copyright' } = $$props;
2712
2948
 
2713
2949
  $$self.$$set = $$props => {
2714
2950
  if ('logoUrl' in $$props) $$invalidate(0, logoUrl = $$props.logoUrl);
2715
2951
  if ('logoSrc' in $$props) $$invalidate(1, logoSrc = $$props.logoSrc);
2716
- if ('logoAlt' in $$props) $$invalidate(2, logoAlt = $$props.logoAlt);
2717
- if ('logoWidth' in $$props) $$invalidate(3, logoWidth = $$props.logoWidth);
2718
- if ('logoHeight' in $$props) $$invalidate(4, logoHeight = $$props.logoHeight);
2719
- if ('copyrightText' in $$props) $$invalidate(5, copyrightText = $$props.copyrightText);
2720
- if ('copyrightUrl' in $$props) $$invalidate(6, copyrightUrl = $$props.copyrightUrl);
2721
- if ('$$scope' in $$props) $$invalidate(7, $$scope = $$props.$$scope);
2952
+ if ('logoSrcDarkTheme' in $$props) $$invalidate(2, logoSrcDarkTheme = $$props.logoSrcDarkTheme);
2953
+ if ('logoAlt' in $$props) $$invalidate(3, logoAlt = $$props.logoAlt);
2954
+ if ('copyrightText' in $$props) $$invalidate(4, copyrightText = $$props.copyrightText);
2955
+ if ('logoWidth' in $$props) $$invalidate(5, logoWidth = $$props.logoWidth);
2956
+ if ('logoHeight' in $$props) $$invalidate(6, logoHeight = $$props.logoHeight);
2957
+ if ('copyrightUrl' in $$props) $$invalidate(7, copyrightUrl = $$props.copyrightUrl);
2958
+ if ('$$scope' in $$props) $$invalidate(8, $$scope = $$props.$$scope);
2722
2959
  };
2723
2960
 
2724
2961
  return [
2725
2962
  logoUrl,
2726
2963
  logoSrc,
2964
+ logoSrcDarkTheme,
2727
2965
  logoAlt,
2966
+ copyrightText,
2728
2967
  logoWidth,
2729
2968
  logoHeight,
2730
- copyrightText,
2731
2969
  copyrightUrl,
2732
2970
  $$scope,
2733
2971
  slots
@@ -2738,14 +2976,15 @@
2738
2976
  constructor(options) {
2739
2977
  super();
2740
2978
 
2741
- init(this, options, instance$2, create_fragment$2, safe_not_equal, {
2979
+ init(this, options, instance$6, create_fragment$6, safe_not_equal, {
2742
2980
  logoUrl: 0,
2743
2981
  logoSrc: 1,
2744
- logoAlt: 2,
2745
- logoWidth: 3,
2746
- logoHeight: 4,
2747
- copyrightText: 5,
2748
- copyrightUrl: 6
2982
+ logoSrcDarkTheme: 2,
2983
+ logoAlt: 3,
2984
+ copyrightText: 4,
2985
+ logoWidth: 5,
2986
+ logoHeight: 6,
2987
+ copyrightUrl: 7
2749
2988
  });
2750
2989
  }
2751
2990
 
@@ -2767,241 +3006,162 @@
2767
3006
  flush();
2768
3007
  }
2769
3008
 
2770
- get logoAlt() {
3009
+ get logoSrcDarkTheme() {
2771
3010
  return this.$$.ctx[2];
2772
3011
  }
2773
3012
 
2774
- set logoAlt(logoAlt) {
2775
- this.$$set({ logoAlt });
3013
+ set logoSrcDarkTheme(logoSrcDarkTheme) {
3014
+ this.$$set({ logoSrcDarkTheme });
2776
3015
  flush();
2777
3016
  }
2778
3017
 
2779
- get logoWidth() {
3018
+ get logoAlt() {
2780
3019
  return this.$$.ctx[3];
2781
3020
  }
2782
3021
 
2783
- set logoWidth(logoWidth) {
2784
- this.$$set({ logoWidth });
3022
+ set logoAlt(logoAlt) {
3023
+ this.$$set({ logoAlt });
2785
3024
  flush();
2786
3025
  }
2787
3026
 
2788
- get logoHeight() {
3027
+ get copyrightText() {
2789
3028
  return this.$$.ctx[4];
2790
3029
  }
2791
3030
 
2792
- set logoHeight(logoHeight) {
2793
- this.$$set({ logoHeight });
3031
+ set copyrightText(copyrightText) {
3032
+ this.$$set({ copyrightText });
2794
3033
  flush();
2795
3034
  }
2796
3035
 
2797
- get copyrightText() {
3036
+ get logoWidth() {
2798
3037
  return this.$$.ctx[5];
2799
3038
  }
2800
3039
 
2801
- set copyrightText(copyrightText) {
2802
- this.$$set({ copyrightText });
3040
+ set logoWidth(logoWidth) {
3041
+ this.$$set({ logoWidth });
2803
3042
  flush();
2804
3043
  }
2805
3044
 
2806
- get copyrightUrl() {
3045
+ get logoHeight() {
2807
3046
  return this.$$.ctx[6];
2808
3047
  }
2809
3048
 
3049
+ set logoHeight(logoHeight) {
3050
+ this.$$set({ logoHeight });
3051
+ flush();
3052
+ }
3053
+
3054
+ get copyrightUrl() {
3055
+ return this.$$.ctx[7];
3056
+ }
3057
+
2810
3058
  set copyrightUrl(copyrightUrl) {
2811
3059
  this.$$set({ copyrightUrl });
2812
3060
  flush();
2813
3061
  }
2814
3062
  }
2815
3063
 
2816
- customElements.define("qc-piv-footer", create_custom_element(PivFooter, {"logoUrl":{"attribute":"logo-url"},"logoSrc":{},"logoAlt":{"attribute":"logo-alt"},"logoWidth":{"attribute":"logo-width"},"logoHeight":{"attribute":"logo-height"},"copyrightText":{"attribute":"copyrightText"},"copyrightUrl":{"attribute":"copyright-url"}}, ["default","logo","copyright"], [], true));
3064
+ customElements.define("qc-piv-footer", create_custom_element(PivFooter, {"logoUrl":{"attribute":"logo-url"},"logoSrc":{"attribute":"logo-src"},"logoSrcDarkTheme":{"attribute":"logo-src-dark-theme"},"logoAlt":{"attribute":"logo-alt"},"copyrightText":{"attribute":"copyright-text"},"logoWidth":{"attribute":"logo-width"},"logoHeight":{"attribute":"logo-height"},"copyrightUrl":{"attribute":"copyright-url"}}, ["default","copyright"], [], true));
2817
3065
 
2818
- /* src/sdg/components/alert.svelte generated by Svelte v4.2.12 */
3066
+ /* src/sdg/components/Button/IconButton.svelte generated by Svelte v4.2.19 */
2819
3067
 
2820
- function create_if_block(ctx) {
2821
- let div3;
2822
- let div2;
2823
- let div0;
2824
- let div0_class_value;
2825
- let t0;
2826
- let div1;
2827
- let html_tag;
2828
- let t1;
2829
- let t2;
3068
+ function create_if_block$3(ctx) {
3069
+ let icon_1;
2830
3070
  let current;
2831
- const default_slot_template = /*#slots*/ ctx[11].default;
2832
- const default_slot = create_slot(default_slot_template, ctx, /*$$scope*/ ctx[10], null);
2833
- let if_block = /*maskable*/ ctx[1] === "true" && create_if_block_1(ctx);
3071
+
3072
+ icon_1 = new Icon({
3073
+ props: {
3074
+ type: /*icon*/ ctx[2],
3075
+ size: /*iconSize*/ ctx[3],
3076
+ color: /*iconColor*/ ctx[4],
3077
+ "aria-hidden": "true",
3078
+ label: /*label*/ ctx[1]
3079
+ }
3080
+ });
2834
3081
 
2835
3082
  return {
2836
3083
  c() {
2837
- div3 = element("div");
2838
- div2 = element("div");
2839
- div0 = element("div");
2840
- t0 = space();
2841
- div1 = element("div");
2842
- html_tag = new HtmlTag(false);
2843
- t1 = space();
2844
- if (default_slot) default_slot.c();
2845
- t2 = space();
2846
- if (if_block) if_block.c();
2847
- attr(div0, "class", div0_class_value = "qc-icon qc-" + /*type*/ ctx[0] + "-alert-icon");
2848
- attr(div0, "aria-hidden", "true");
2849
- html_tag.a = t1;
2850
- attr(div1, "class", "qc-alert-content");
2851
- attr(div2, "class", "qc-container qc-general-alert-elements");
2852
- attr(div3, "class", "qc-general-alert " + /*typeClass*/ ctx[5]);
2853
- attr(div3, "role", "alert");
2854
- attr(div3, "aria-label", /*label*/ ctx[7]);
3084
+ create_component(icon_1.$$.fragment);
2855
3085
  },
2856
3086
  m(target, anchor) {
2857
- insert(target, div3, anchor);
2858
- append(div3, div2);
2859
- append(div2, div0);
2860
- append(div2, t0);
2861
- append(div2, div1);
2862
- html_tag.m(/*content*/ ctx[2], div1);
2863
- append(div1, t1);
2864
-
2865
- if (default_slot) {
2866
- default_slot.m(div1, null);
2867
- }
2868
-
2869
- append(div2, t2);
2870
- if (if_block) if_block.m(div2, null);
2871
- /*div3_binding*/ ctx[12](div3);
3087
+ mount_component(icon_1, target, anchor);
2872
3088
  current = true;
2873
3089
  },
2874
3090
  p(ctx, dirty) {
2875
- if (!current || dirty & /*type*/ 1 && div0_class_value !== (div0_class_value = "qc-icon qc-" + /*type*/ ctx[0] + "-alert-icon")) {
2876
- attr(div0, "class", div0_class_value);
2877
- }
2878
-
2879
- if (!current || dirty & /*content*/ 4) html_tag.p(/*content*/ ctx[2]);
2880
-
2881
- if (default_slot) {
2882
- if (default_slot.p && (!current || dirty & /*$$scope*/ 1024)) {
2883
- update_slot_base(
2884
- default_slot,
2885
- default_slot_template,
2886
- ctx,
2887
- /*$$scope*/ ctx[10],
2888
- !current
2889
- ? get_all_dirty_from_scope(/*$$scope*/ ctx[10])
2890
- : get_slot_changes(default_slot_template, /*$$scope*/ ctx[10], dirty, null),
2891
- null
2892
- );
2893
- }
2894
- }
2895
-
2896
- if (/*maskable*/ ctx[1] === "true") {
2897
- if (if_block) {
2898
- if_block.p(ctx, dirty);
2899
- } else {
2900
- if_block = create_if_block_1(ctx);
2901
- if_block.c();
2902
- if_block.m(div2, null);
2903
- }
2904
- } else if (if_block) {
2905
- if_block.d(1);
2906
- if_block = null;
2907
- }
3091
+ const icon_1_changes = {};
3092
+ if (dirty & /*icon*/ 4) icon_1_changes.type = /*icon*/ ctx[2];
3093
+ if (dirty & /*iconSize*/ 8) icon_1_changes.size = /*iconSize*/ ctx[3];
3094
+ if (dirty & /*iconColor*/ 16) icon_1_changes.color = /*iconColor*/ ctx[4];
3095
+ if (dirty & /*label*/ 2) icon_1_changes.label = /*label*/ ctx[1];
3096
+ icon_1.$set(icon_1_changes);
2908
3097
  },
2909
3098
  i(local) {
2910
3099
  if (current) return;
2911
- transition_in(default_slot, local);
3100
+ transition_in(icon_1.$$.fragment, local);
2912
3101
  current = true;
2913
3102
  },
2914
3103
  o(local) {
2915
- transition_out(default_slot, local);
3104
+ transition_out(icon_1.$$.fragment, local);
2916
3105
  current = false;
2917
3106
  },
2918
3107
  d(detaching) {
2919
- if (detaching) {
2920
- detach(div3);
2921
- }
2922
-
2923
- if (default_slot) default_slot.d(detaching);
2924
- if (if_block) if_block.d();
2925
- /*div3_binding*/ ctx[12](null);
3108
+ destroy_component(icon_1, detaching);
2926
3109
  }
2927
3110
  };
2928
3111
  }
2929
3112
 
2930
- // (57:12) {#if maskable === "true"}
2931
- function create_if_block_1(ctx) {
2932
- let div;
3113
+ function create_fragment$5(ctx) {
2933
3114
  let button;
2934
- let span;
3115
+ let button_class_value;
3116
+ let current;
2935
3117
  let mounted;
2936
3118
  let dispose;
3119
+ let if_block = /*icon*/ ctx[2] && create_if_block$3(ctx);
2937
3120
 
2938
- return {
2939
- c() {
2940
- div = element("div");
2941
- button = element("button");
2942
- span = element("span");
2943
- attr(span, "aria-hidden", "true");
2944
- attr(span, "class", "qc-icon qc-xclose-blue qc-close-alert-icon");
2945
- attr(button, "type", "button");
2946
- attr(button, "class", "qc-close");
2947
- attr(button, "aria-label", /*closeLabel*/ ctx[6]);
2948
- attr(div, "class", "qc-alert-close");
2949
- },
2950
- m(target, anchor) {
2951
- insert(target, div, anchor);
2952
- append(div, button);
2953
- append(button, span);
2954
-
2955
- if (!mounted) {
2956
- dispose = listen(button, "click", /*hideAlert*/ ctx[8]);
2957
- mounted = true;
2958
- }
2959
- },
2960
- p: noop,
2961
- d(detaching) {
2962
- if (detaching) {
2963
- detach(div);
2964
- }
2965
-
2966
- mounted = false;
2967
- dispose();
3121
+ let button_levels = [
3122
+ { "data-button-size": /*size*/ ctx[0] },
3123
+ /*$$restProps*/ ctx[5],
3124
+ {
3125
+ class: button_class_value = "qc-icon-button " + (/*$$restProps*/ ctx[5].class ?? '')
2968
3126
  }
2969
- };
2970
- }
3127
+ ];
2971
3128
 
2972
- function create_fragment$1(ctx) {
2973
- let t;
2974
- let link;
2975
- let current;
2976
- let if_block = !/*hiddenFlag*/ ctx[4] && create_if_block(ctx);
3129
+ let button_data = {};
3130
+
3131
+ for (let i = 0; i < button_levels.length; i += 1) {
3132
+ button_data = assign(button_data, button_levels[i]);
3133
+ }
2977
3134
 
2978
3135
  return {
2979
3136
  c() {
3137
+ button = element("button");
2980
3138
  if (if_block) if_block.c();
2981
- t = space();
2982
- link = element("link");
2983
- attr(link, "rel", "stylesheet");
2984
- attr(link, "href", "" + (Utils.cssRelativePath + Utils.cssFileName));
3139
+ set_attributes(button, button_data);
2985
3140
  },
2986
3141
  m(target, anchor) {
2987
- if (if_block) if_block.m(target, anchor);
2988
- insert(target, t, anchor);
2989
- insert(target, link, anchor);
3142
+ insert(target, button, anchor);
3143
+ if (if_block) if_block.m(button, null);
3144
+ if (button.autofocus) button.focus();
2990
3145
  current = true;
3146
+
3147
+ if (!mounted) {
3148
+ dispose = listen(button, "click", /*click_handler*/ ctx[6]);
3149
+ mounted = true;
3150
+ }
2991
3151
  },
2992
3152
  p(ctx, [dirty]) {
2993
- if (!/*hiddenFlag*/ ctx[4]) {
3153
+ if (/*icon*/ ctx[2]) {
2994
3154
  if (if_block) {
2995
3155
  if_block.p(ctx, dirty);
2996
3156
 
2997
- if (dirty & /*hiddenFlag*/ 16) {
3157
+ if (dirty & /*icon*/ 4) {
2998
3158
  transition_in(if_block, 1);
2999
3159
  }
3000
3160
  } else {
3001
- if_block = create_if_block(ctx);
3161
+ if_block = create_if_block$3(ctx);
3002
3162
  if_block.c();
3003
3163
  transition_in(if_block, 1);
3004
- if_block.m(t.parentNode, t);
3164
+ if_block.m(button, null);
3005
3165
  }
3006
3166
  } else if (if_block) {
3007
3167
  group_outros();
@@ -3012,6 +3172,12 @@
3012
3172
 
3013
3173
  check_outros();
3014
3174
  }
3175
+
3176
+ set_attributes(button, button_data = get_spread_update(button_levels, [
3177
+ (!current || dirty & /*size*/ 1) && { "data-button-size": /*size*/ ctx[0] },
3178
+ dirty & /*$$restProps*/ 32 && /*$$restProps*/ ctx[5],
3179
+ (!current || dirty & /*$$restProps*/ 32 && button_class_value !== (button_class_value = "qc-icon-button " + (/*$$restProps*/ ctx[5].class ?? ''))) && { class: button_class_value }
3180
+ ]));
3015
3181
  },
3016
3182
  i(local) {
3017
3183
  if (current) return;
@@ -3024,278 +3190,1253 @@
3024
3190
  },
3025
3191
  d(detaching) {
3026
3192
  if (detaching) {
3027
- detach(t);
3028
- detach(link);
3193
+ detach(button);
3029
3194
  }
3030
3195
 
3031
- if (if_block) if_block.d(detaching);
3196
+ if (if_block) if_block.d();
3197
+ mounted = false;
3198
+ dispose();
3032
3199
  }
3033
3200
  };
3034
3201
  }
3035
3202
 
3036
- function instance$1($$self, $$props, $$invalidate) {
3037
- let { $$slots: slots = {}, $$scope } = $$props;
3038
- let { type = "general", maskable = "", content = "", hide = "false" } = $$props;
3039
-
3040
- let rootElement,
3041
- hiddenFlag,
3042
- typeClass = type !== "" ? type : 'general',
3043
- closeLabel = Utils.getPageLanguage() === 'fr' ? "Fermer" : "Close",
3044
- warningLabel = Utils.getPageLanguage() === 'fr'
3045
- ? "Information d'importance élevée"
3046
- : "Information of high importance",
3047
- generalLabel = Utils.getPageLanguage() === 'fr'
3048
- ? "Information importante"
3049
- : "Important information",
3050
- label = type === 'general' ? generalLabel : warningLabel;
3203
+ function instance$5($$self, $$props, $$invalidate) {
3204
+ const omit_props_names = ["size","label","icon","iconSize","iconColor"];
3205
+ let $$restProps = compute_rest_props($$props, omit_props_names);
3206
+ let { size = 'xl', label, icon, iconSize, iconColor } = $$props;
3051
3207
 
3052
- function hideAlert() {
3053
- $$invalidate(9, hide = 'true');
3054
- rootElement.dispatchEvent(new CustomEvent('qc.alert.hide', { bubbles: true, composed: true }));
3208
+ function click_handler(event) {
3209
+ bubble.call(this, $$self, event);
3055
3210
  }
3056
3211
 
3057
- function div3_binding($$value) {
3058
- binding_callbacks[$$value ? 'unshift' : 'push'](() => {
3059
- rootElement = $$value;
3060
- $$invalidate(3, rootElement);
3212
+ $$self.$$set = $$new_props => {
3213
+ $$props = assign(assign({}, $$props), exclude_internal_props($$new_props));
3214
+ $$invalidate(5, $$restProps = compute_rest_props($$props, omit_props_names));
3215
+ if ('size' in $$new_props) $$invalidate(0, size = $$new_props.size);
3216
+ if ('label' in $$new_props) $$invalidate(1, label = $$new_props.label);
3217
+ if ('icon' in $$new_props) $$invalidate(2, icon = $$new_props.icon);
3218
+ if ('iconSize' in $$new_props) $$invalidate(3, iconSize = $$new_props.iconSize);
3219
+ if ('iconColor' in $$new_props) $$invalidate(4, iconColor = $$new_props.iconColor);
3220
+ };
3221
+
3222
+ return [size, label, icon, iconSize, iconColor, $$restProps, click_handler];
3223
+ }
3224
+
3225
+ class IconButton extends SvelteComponent {
3226
+ constructor(options) {
3227
+ super();
3228
+
3229
+ init(this, options, instance$5, create_fragment$5, safe_not_equal, {
3230
+ size: 0,
3231
+ label: 1,
3232
+ icon: 2,
3233
+ iconSize: 3,
3234
+ iconColor: 4
3061
3235
  });
3062
3236
  }
3063
3237
 
3064
- $$self.$$set = $$props => {
3065
- if ('type' in $$props) $$invalidate(0, type = $$props.type);
3066
- if ('maskable' in $$props) $$invalidate(1, maskable = $$props.maskable);
3067
- if ('content' in $$props) $$invalidate(2, content = $$props.content);
3068
- if ('hide' in $$props) $$invalidate(9, hide = $$props.hide);
3069
- if ('$$scope' in $$props) $$invalidate(10, $$scope = $$props.$$scope);
3070
- };
3238
+ get size() {
3239
+ return this.$$.ctx[0];
3240
+ }
3071
3241
 
3072
- $$self.$$.update = () => {
3073
- if ($$self.$$.dirty & /*hide*/ 512) {
3074
- $$invalidate(4, hiddenFlag = hide === 'true');
3075
- }
3076
- };
3242
+ set size(size) {
3243
+ this.$$set({ size });
3244
+ flush();
3245
+ }
3246
+
3247
+ get label() {
3248
+ return this.$$.ctx[1];
3249
+ }
3250
+
3251
+ set label(label) {
3252
+ this.$$set({ label });
3253
+ flush();
3254
+ }
3255
+
3256
+ get icon() {
3257
+ return this.$$.ctx[2];
3258
+ }
3259
+
3260
+ set icon(icon) {
3261
+ this.$$set({ icon });
3262
+ flush();
3263
+ }
3264
+
3265
+ get iconSize() {
3266
+ return this.$$.ctx[3];
3267
+ }
3268
+
3269
+ set iconSize(iconSize) {
3270
+ this.$$set({ iconSize });
3271
+ flush();
3272
+ }
3273
+
3274
+ get iconColor() {
3275
+ return this.$$.ctx[4];
3276
+ }
3277
+
3278
+ set iconColor(iconColor) {
3279
+ this.$$set({ iconColor });
3280
+ flush();
3281
+ }
3282
+ }
3283
+
3284
+ create_custom_element(IconButton, {"size":{},"label":{},"icon":{},"iconSize":{},"iconColor":{}}, [], [], true);
3285
+
3286
+ /* src/sdg/components/alert.svelte generated by Svelte v4.2.19 */
3287
+
3288
+ function create_if_block$2(ctx) {
3289
+ let div3;
3290
+ let div2;
3291
+ let div1;
3292
+ let icon;
3293
+ let t0;
3294
+ let div0;
3295
+ let html_tag;
3296
+ let t1;
3297
+ let t2;
3298
+ let current;
3299
+
3300
+ icon = new Icon({
3301
+ props: {
3302
+ type: /*type*/ ctx[0] == 'warning' ? 'warning' : 'information',
3303
+ color: /*type*/ ctx[0] == 'general'
3304
+ ? 'blue-piv'
3305
+ : 'yellow-dark',
3306
+ size: "nm",
3307
+ label: /*label*/ ctx[8]
3308
+ }
3309
+ });
3310
+
3311
+ const default_slot_template = /*#slots*/ ctx[13].default;
3312
+ const default_slot = create_slot(default_slot_template, ctx, /*$$scope*/ ctx[12], null);
3313
+ let if_block = /*maskable*/ ctx[1] === "true" && create_if_block_1(ctx);
3314
+
3315
+ return {
3316
+ c() {
3317
+ div3 = element("div");
3318
+ div2 = element("div");
3319
+ div1 = element("div");
3320
+ create_component(icon.$$.fragment);
3321
+ t0 = space();
3322
+ div0 = element("div");
3323
+ html_tag = new HtmlTag(false);
3324
+ t1 = space();
3325
+ if (default_slot) default_slot.c();
3326
+ t2 = space();
3327
+ if (if_block) if_block.c();
3328
+ html_tag.a = t1;
3329
+ attr(div0, "class", "qc-alert-content");
3330
+ attr(div1, "class", "qc-general-alert-elements");
3331
+ attr(div2, "class", /*containerClass*/ ctx[5]);
3332
+ attr(div3, "class", "qc-general-alert " + /*typeClass*/ ctx[6]);
3333
+ attr(div3, "role", "alert");
3334
+ },
3335
+ m(target, anchor) {
3336
+ insert(target, div3, anchor);
3337
+ append(div3, div2);
3338
+ append(div2, div1);
3339
+ mount_component(icon, div1, null);
3340
+ append(div1, t0);
3341
+ append(div1, div0);
3342
+ html_tag.m(/*content*/ ctx[2], div0);
3343
+ append(div0, t1);
3344
+
3345
+ if (default_slot) {
3346
+ default_slot.m(div0, null);
3347
+ }
3348
+
3349
+ append(div1, t2);
3350
+ if (if_block) if_block.m(div1, null);
3351
+ /*div3_binding*/ ctx[14](div3);
3352
+ current = true;
3353
+ },
3354
+ p(ctx, dirty) {
3355
+ const icon_changes = {};
3356
+ if (dirty & /*type*/ 1) icon_changes.type = /*type*/ ctx[0] == 'warning' ? 'warning' : 'information';
3357
+
3358
+ if (dirty & /*type*/ 1) icon_changes.color = /*type*/ ctx[0] == 'general'
3359
+ ? 'blue-piv'
3360
+ : 'yellow-dark';
3361
+
3362
+ icon.$set(icon_changes);
3363
+ if (!current || dirty & /*content*/ 4) html_tag.p(/*content*/ ctx[2]);
3364
+
3365
+ if (default_slot) {
3366
+ if (default_slot.p && (!current || dirty & /*$$scope*/ 4096)) {
3367
+ update_slot_base(
3368
+ default_slot,
3369
+ default_slot_template,
3370
+ ctx,
3371
+ /*$$scope*/ ctx[12],
3372
+ !current
3373
+ ? get_all_dirty_from_scope(/*$$scope*/ ctx[12])
3374
+ : get_slot_changes(default_slot_template, /*$$scope*/ ctx[12], dirty, null),
3375
+ null
3376
+ );
3377
+ }
3378
+ }
3379
+
3380
+ if (/*maskable*/ ctx[1] === "true") {
3381
+ if (if_block) {
3382
+ if_block.p(ctx, dirty);
3383
+
3384
+ if (dirty & /*maskable*/ 2) {
3385
+ transition_in(if_block, 1);
3386
+ }
3387
+ } else {
3388
+ if_block = create_if_block_1(ctx);
3389
+ if_block.c();
3390
+ transition_in(if_block, 1);
3391
+ if_block.m(div1, null);
3392
+ }
3393
+ } else if (if_block) {
3394
+ group_outros();
3395
+
3396
+ transition_out(if_block, 1, 1, () => {
3397
+ if_block = null;
3398
+ });
3399
+
3400
+ check_outros();
3401
+ }
3402
+
3403
+ if (!current || dirty & /*containerClass*/ 32) {
3404
+ attr(div2, "class", /*containerClass*/ ctx[5]);
3405
+ }
3406
+ },
3407
+ i(local) {
3408
+ if (current) return;
3409
+ transition_in(icon.$$.fragment, local);
3410
+ transition_in(default_slot, local);
3411
+ transition_in(if_block);
3412
+ current = true;
3413
+ },
3414
+ o(local) {
3415
+ transition_out(icon.$$.fragment, local);
3416
+ transition_out(default_slot, local);
3417
+ transition_out(if_block);
3418
+ current = false;
3419
+ },
3420
+ d(detaching) {
3421
+ if (detaching) {
3422
+ detach(div3);
3423
+ }
3424
+
3425
+ destroy_component(icon);
3426
+ if (default_slot) default_slot.d(detaching);
3427
+ if (if_block) if_block.d();
3428
+ /*div3_binding*/ ctx[14](null);
3429
+ }
3430
+ };
3431
+ }
3432
+
3433
+ // (74:16) {#if maskable === "true"}
3434
+ function create_if_block_1(ctx) {
3435
+ let iconbutton;
3436
+ let current;
3437
+
3438
+ iconbutton = new IconButton({
3439
+ props: {
3440
+ "aria-label": /*closeLabel*/ ctx[7],
3441
+ size: "nm",
3442
+ icon: "clear-input",
3443
+ iconSize: "sm",
3444
+ iconColor: "text-primary"
3445
+ }
3446
+ });
3447
+
3448
+ iconbutton.$on("click", /*hideAlert*/ ctx[9]);
3449
+
3450
+ return {
3451
+ c() {
3452
+ create_component(iconbutton.$$.fragment);
3453
+ },
3454
+ m(target, anchor) {
3455
+ mount_component(iconbutton, target, anchor);
3456
+ current = true;
3457
+ },
3458
+ p: noop,
3459
+ i(local) {
3460
+ if (current) return;
3461
+ transition_in(iconbutton.$$.fragment, local);
3462
+ current = true;
3463
+ },
3464
+ o(local) {
3465
+ transition_out(iconbutton.$$.fragment, local);
3466
+ current = false;
3467
+ },
3468
+ d(detaching) {
3469
+ destroy_component(iconbutton, detaching);
3470
+ }
3471
+ };
3472
+ }
3473
+
3474
+ function create_fragment$4(ctx) {
3475
+ let t;
3476
+ let link;
3477
+ let current;
3478
+ let if_block = !/*hiddenFlag*/ ctx[4] && create_if_block$2(ctx);
3479
+
3480
+ return {
3481
+ c() {
3482
+ if (if_block) if_block.c();
3483
+ t = space();
3484
+ link = element("link");
3485
+ attr(link, "rel", "stylesheet");
3486
+ attr(link, "href", Utils.cssPath);
3487
+ },
3488
+ m(target, anchor) {
3489
+ if (if_block) if_block.m(target, anchor);
3490
+ insert(target, t, anchor);
3491
+ insert(target, link, anchor);
3492
+ current = true;
3493
+ },
3494
+ p(ctx, [dirty]) {
3495
+ if (!/*hiddenFlag*/ ctx[4]) {
3496
+ if (if_block) {
3497
+ if_block.p(ctx, dirty);
3498
+
3499
+ if (dirty & /*hiddenFlag*/ 16) {
3500
+ transition_in(if_block, 1);
3501
+ }
3502
+ } else {
3503
+ if_block = create_if_block$2(ctx);
3504
+ if_block.c();
3505
+ transition_in(if_block, 1);
3506
+ if_block.m(t.parentNode, t);
3507
+ }
3508
+ } else if (if_block) {
3509
+ group_outros();
3510
+
3511
+ transition_out(if_block, 1, 1, () => {
3512
+ if_block = null;
3513
+ });
3514
+
3515
+ check_outros();
3516
+ }
3517
+ },
3518
+ i(local) {
3519
+ if (current) return;
3520
+ transition_in(if_block);
3521
+ current = true;
3522
+ },
3523
+ o(local) {
3524
+ transition_out(if_block);
3525
+ current = false;
3526
+ },
3527
+ d(detaching) {
3528
+ if (detaching) {
3529
+ detach(t);
3530
+ detach(link);
3531
+ }
3532
+
3533
+ if (if_block) if_block.d(detaching);
3534
+ }
3535
+ };
3536
+ }
3537
+
3538
+ function instance$4($$self, $$props, $$invalidate) {
3539
+ let { $$slots: slots = {}, $$scope } = $$props;
3540
+ let { type = "general", maskable = "", content = "", hide = "false", fullWidth = 'false' } = $$props;
3541
+
3542
+ let rootElement,
3543
+ hiddenFlag,
3544
+ typeClass = type !== "" ? type : 'general',
3545
+ closeLabel = Utils.getPageLanguage() === 'fr'
3546
+ ? "Fermer l’alerte"
3547
+ : "Close l’alerte",
3548
+ warningLabel = Utils.getPageLanguage() === 'fr'
3549
+ ? "Information d'importance élevée"
3550
+ : "Information of high importance",
3551
+ generalLabel = Utils.getPageLanguage() === 'fr'
3552
+ ? "Information importante"
3553
+ : "Important information",
3554
+ label = type === 'general' ? generalLabel : warningLabel,
3555
+ containerClass;
3556
+
3557
+ function hideAlert() {
3558
+ $$invalidate(10, hide = 'true');
3559
+ rootElement.dispatchEvent(new CustomEvent('qc.alert.hide', { bubbles: true, composed: true }));
3560
+ }
3561
+
3562
+ function div3_binding($$value) {
3563
+ binding_callbacks[$$value ? 'unshift' : 'push'](() => {
3564
+ rootElement = $$value;
3565
+ $$invalidate(3, rootElement);
3566
+ });
3567
+ }
3568
+
3569
+ $$self.$$set = $$props => {
3570
+ if ('type' in $$props) $$invalidate(0, type = $$props.type);
3571
+ if ('maskable' in $$props) $$invalidate(1, maskable = $$props.maskable);
3572
+ if ('content' in $$props) $$invalidate(2, content = $$props.content);
3573
+ if ('hide' in $$props) $$invalidate(10, hide = $$props.hide);
3574
+ if ('fullWidth' in $$props) $$invalidate(11, fullWidth = $$props.fullWidth);
3575
+ if ('$$scope' in $$props) $$invalidate(12, $$scope = $$props.$$scope);
3576
+ };
3577
+
3578
+ $$self.$$.update = () => {
3579
+ if ($$self.$$.dirty & /*hide*/ 1024) {
3580
+ $$invalidate(4, hiddenFlag = hide === 'true');
3581
+ }
3582
+
3583
+ if ($$self.$$.dirty & /*fullWidth*/ 2048) {
3584
+ $$invalidate(5, containerClass = "qc-container" + (fullWidth === 'true' ? '-fluid' : ''));
3585
+ }
3586
+ };
3587
+
3588
+ return [
3589
+ type,
3590
+ maskable,
3591
+ content,
3592
+ rootElement,
3593
+ hiddenFlag,
3594
+ containerClass,
3595
+ typeClass,
3596
+ closeLabel,
3597
+ label,
3598
+ hideAlert,
3599
+ hide,
3600
+ fullWidth,
3601
+ $$scope,
3602
+ slots,
3603
+ div3_binding
3604
+ ];
3605
+ }
3606
+
3607
+ class Alert extends SvelteComponent {
3608
+ constructor(options) {
3609
+ super();
3610
+
3611
+ init(this, options, instance$4, create_fragment$4, safe_not_equal, {
3612
+ type: 0,
3613
+ maskable: 1,
3614
+ content: 2,
3615
+ hide: 10,
3616
+ fullWidth: 11
3617
+ });
3618
+ }
3619
+
3620
+ get type() {
3621
+ return this.$$.ctx[0];
3622
+ }
3623
+
3624
+ set type(type) {
3625
+ this.$$set({ type });
3626
+ flush();
3627
+ }
3628
+
3629
+ get maskable() {
3630
+ return this.$$.ctx[1];
3631
+ }
3632
+
3633
+ set maskable(maskable) {
3634
+ this.$$set({ maskable });
3635
+ flush();
3636
+ }
3637
+
3638
+ get content() {
3639
+ return this.$$.ctx[2];
3640
+ }
3641
+
3642
+ set content(content) {
3643
+ this.$$set({ content });
3644
+ flush();
3645
+ }
3646
+
3647
+ get hide() {
3648
+ return this.$$.ctx[10];
3649
+ }
3650
+
3651
+ set hide(hide) {
3652
+ this.$$set({ hide });
3653
+ flush();
3654
+ }
3655
+
3656
+ get fullWidth() {
3657
+ return this.$$.ctx[11];
3658
+ }
3659
+
3660
+ set fullWidth(fullWidth) {
3661
+ this.$$set({ fullWidth });
3662
+ flush();
3663
+ }
3664
+ }
3665
+
3666
+ customElements.define("qc-alert", create_custom_element(Alert, {"type":{"attribute":"type"},"maskable":{"attribute":"maskable"},"content":{"attribute":"content"},"hide":{"attribute":"hide"},"fullWidth":{"attribute":"full-width"}}, ["default"], [], true));
3667
+
3668
+ /* src/sdg/components/toTop.svelte generated by Svelte v4.2.19 */
3669
+
3670
+ const { window: window_1 } = globals;
3671
+
3672
+ function create_fragment$3(ctx) {
3673
+ let a;
3674
+ let icon;
3675
+ let t0;
3676
+ let span;
3677
+ let t1;
3678
+ let a_tabindex_value;
3679
+ let current;
3680
+ let mounted;
3681
+ let dispose;
3682
+
3683
+ icon = new Icon({
3684
+ props: {
3685
+ type: "arrow-up-white",
3686
+ color: "background"
3687
+ }
3688
+ });
3689
+
3690
+ return {
3691
+ c() {
3692
+ a = element("a");
3693
+ create_component(icon.$$.fragment);
3694
+ t0 = space();
3695
+ span = element("span");
3696
+ t1 = text(/*text*/ ctx[0]);
3697
+ attr(a, "href", "javascript:;");
3698
+ attr(a, "class", "qc-to-top");
3699
+ attr(a, "tabindex", a_tabindex_value = /*visible*/ ctx[2] ? 0 : -1);
3700
+ attr(a, "demo", /*demo*/ ctx[1]);
3701
+ toggle_class(a, "visible", /*visible*/ ctx[2]);
3702
+ },
3703
+ m(target, anchor) {
3704
+ insert(target, a, anchor);
3705
+ mount_component(icon, a, null);
3706
+ append(a, t0);
3707
+ append(a, span);
3708
+ append(span, t1);
3709
+ /*a_binding*/ ctx[5](a);
3710
+ current = true;
3711
+
3712
+ if (!mounted) {
3713
+ dispose = [
3714
+ listen(window_1, "scroll", /*handleScrollUpButton*/ ctx[4]),
3715
+ listen(a, "click", prevent_default(scrollToTop)),
3716
+ listen(a, "keydown", handleEnterAndSpace)
3717
+ ];
3718
+
3719
+ mounted = true;
3720
+ }
3721
+ },
3722
+ p(ctx, [dirty]) {
3723
+ if (!current || dirty & /*text*/ 1) set_data(t1, /*text*/ ctx[0]);
3724
+
3725
+ if (!current || dirty & /*visible*/ 4 && a_tabindex_value !== (a_tabindex_value = /*visible*/ ctx[2] ? 0 : -1)) {
3726
+ attr(a, "tabindex", a_tabindex_value);
3727
+ }
3728
+
3729
+ if (!current || dirty & /*demo*/ 2) {
3730
+ attr(a, "demo", /*demo*/ ctx[1]);
3731
+ }
3732
+
3733
+ if (!current || dirty & /*visible*/ 4) {
3734
+ toggle_class(a, "visible", /*visible*/ ctx[2]);
3735
+ }
3736
+ },
3737
+ i(local) {
3738
+ if (current) return;
3739
+ transition_in(icon.$$.fragment, local);
3740
+ current = true;
3741
+ },
3742
+ o(local) {
3743
+ transition_out(icon.$$.fragment, local);
3744
+ current = false;
3745
+ },
3746
+ d(detaching) {
3747
+ if (detaching) {
3748
+ detach(a);
3749
+ }
3750
+
3751
+ destroy_component(icon);
3752
+ /*a_binding*/ ctx[5](null);
3753
+ mounted = false;
3754
+ run_all(dispose);
3755
+ }
3756
+ };
3757
+ }
3758
+
3759
+ function scrollToTop() {
3760
+ window.scrollTo({ top: 0, behavior: 'smooth' });
3761
+ }
3762
+
3763
+ function handleEnterAndSpace(e) {
3764
+ switch (e.code) {
3765
+ case 'Enter':
3766
+ case 'Space':
3767
+ e.preventDefault();
3768
+ scrollToTop();
3769
+ }
3770
+ }
3771
+
3772
+ function instance$3($$self, $$props, $$invalidate) {
3773
+ const lang = Utils.getPageLanguage();
3774
+ let { text = lang === 'fr' ? "Retour en haut" : "Back to top", demo = 'false' } = $$props;
3775
+
3776
+ let minimumScrollHeight = 0,
3777
+ lastScrollY = 0,
3778
+ visible = demo === 'true',
3779
+ lastVisible = visible,
3780
+ toTopElement;
3781
+
3782
+ function handleScrollUpButton() {
3783
+ if (demo === 'true') {
3784
+ return;
3785
+ }
3786
+
3787
+ let pageBottom = window.innerHeight + window.scrollY >= document.body.offsetHeight - 1;
3788
+ $$invalidate(2, visible = lastScrollY > window.scrollY && (document.body.scrollTop > minimumScrollHeight || document.documentElement.scrollTop > minimumScrollHeight) && !pageBottom);
3789
+
3790
+ if (!visible && lastVisible) {
3791
+ // removing focus on visibility loss
3792
+ toTopElement.blur();
3793
+ }
3794
+
3795
+ lastVisible = visible;
3796
+ lastScrollY = window.scrollY;
3797
+ }
3798
+
3799
+ function a_binding($$value) {
3800
+ binding_callbacks[$$value ? 'unshift' : 'push'](() => {
3801
+ toTopElement = $$value;
3802
+ $$invalidate(3, toTopElement);
3803
+ });
3804
+ }
3805
+
3806
+ $$self.$$set = $$props => {
3807
+ if ('text' in $$props) $$invalidate(0, text = $$props.text);
3808
+ if ('demo' in $$props) $$invalidate(1, demo = $$props.demo);
3809
+ };
3810
+
3811
+ return [text, demo, visible, toTopElement, handleScrollUpButton, a_binding];
3812
+ }
3813
+
3814
+ class ToTop extends SvelteComponent {
3815
+ constructor(options) {
3816
+ super();
3817
+ init(this, options, instance$3, create_fragment$3, safe_not_equal, { text: 0, demo: 1 });
3818
+ }
3819
+
3820
+ get text() {
3821
+ return this.$$.ctx[0];
3822
+ }
3823
+
3824
+ set text(text) {
3825
+ this.$$set({ text });
3826
+ flush();
3827
+ }
3828
+
3829
+ get demo() {
3830
+ return this.$$.ctx[1];
3831
+ }
3832
+
3833
+ set demo(demo) {
3834
+ this.$$set({ demo });
3835
+ flush();
3836
+ }
3837
+ }
3838
+
3839
+ customElements.define("qc-to-top", create_custom_element(ToTop, {"text":{"attribute":"text","type":"String"},"demo":{}}, [], [], false));
3840
+
3841
+ /* src/sdg/components/externalLink.svelte generated by Svelte v4.2.19 */
3842
+
3843
+ function create_fragment$2(ctx) {
3844
+ let span;
3845
+
3846
+ return {
3847
+ c() {
3848
+ span = element("span");
3849
+ attr(span, "role", "img");
3850
+ attr(span, "class", "qc-ext-link-img");
3851
+ attr(span, "aria-label", /*externalIconAlt*/ ctx[0]);
3852
+ },
3853
+ m(target, anchor) {
3854
+ insert(target, span, anchor);
3855
+ /*span_binding*/ ctx[2](span);
3856
+ },
3857
+ p(ctx, [dirty]) {
3858
+ if (dirty & /*externalIconAlt*/ 1) {
3859
+ attr(span, "aria-label", /*externalIconAlt*/ ctx[0]);
3860
+ }
3861
+ },
3862
+ i: noop,
3863
+ o: noop,
3864
+ d(detaching) {
3865
+ if (detaching) {
3866
+ detach(span);
3867
+ }
3868
+
3869
+ /*span_binding*/ ctx[2](null);
3870
+ }
3871
+ };
3872
+ }
3873
+
3874
+ function instance$2($$self, $$props, $$invalidate) {
3875
+ let { externalIconAlt = Utils.getPageLanguage() == "fr"
3876
+ ? "Ce lien dirige vers un autre site."
3877
+ : "This link directs to another site." } = $$props;
3878
+
3879
+ let imgElement;
3880
+
3881
+ onMount(() => {
3882
+ imgElement.parentElement.querySelectorAll('a').forEach(link => {
3883
+ // Crée un TreeWalker pour parcourir uniquement les nœuds texte visibles
3884
+ const walker = document.createTreeWalker(link, NodeFilter.SHOW_ALL, {
3885
+ acceptNode: node => {
3886
+ if (node instanceof Element) {
3887
+ if (node.hasAttribute('hidden')) {
3888
+ return NodeFilter.FILTER_REJECT;
3889
+ }
3890
+
3891
+ const style = window.getComputedStyle(node);
3892
+
3893
+ // Si l'élément est masqué par CSS (display ou visibility), on l'ignore
3894
+ if (style.display === 'none' || style.visibility === 'hidden' || style.position === 'absolute') {
3895
+ return NodeFilter.FILTER_REJECT;
3896
+ }
3897
+ }
3898
+
3899
+ if (!node instanceof Text) {
3900
+ return NodeFilter.FILTER_SKIP;
3901
+ }
3902
+
3903
+ // Ignore les nœuds vides
3904
+ if (!(/\S/).test(node.textContent)) {
3905
+ return NodeFilter.FILTER_SKIP;
3906
+ }
3907
+
3908
+ return NodeFilter.FILTER_ACCEPT;
3909
+ }
3910
+ });
3911
+
3912
+ let lastTextNode = null;
3913
+
3914
+ while (walker.nextNode()) {
3915
+ lastTextNode = walker.currentNode;
3916
+ }
3917
+
3918
+ // S'il n'y a pas de nœud texte visible, on ne fait rien
3919
+ if (!lastTextNode) return;
3920
+
3921
+ // Séparer le contenu du dernier nœud texte en deux parties :
3922
+ // le préfixe (éventuel) et le dernier mot
3923
+ const text = lastTextNode.textContent;
3924
+
3925
+ const regex = /^(.*\s)?(\S+)\s*$/m;
3926
+ const match = text.match(regex);
3927
+ if (!match) return;
3928
+ const prefix = match[1] || "";
3929
+ const lastWord = match[2];
3930
+
3931
+ // Crée un span avec white-space: nowrap pour empêcher le saut de ligne de l'image de lien externe
3932
+ const span = document.createElement('span');
3933
+
3934
+ span.classList.add('img-wrap');
3935
+ span.innerHTML = `${lastWord}`;
3936
+ span.appendChild(imgElement);
3937
+
3938
+ // Met à jour le nœud texte : on garde le préfixe et on insère le span après
3939
+ if (prefix) {
3940
+ lastTextNode.textContent = prefix;
3941
+ lastTextNode.parentNode.insertBefore(span, lastTextNode.nextSibling);
3942
+ } else {
3943
+ lastTextNode.parentNode.replaceChild(span, lastTextNode);
3944
+ }
3945
+ });
3946
+ });
3947
+
3948
+ function span_binding($$value) {
3949
+ binding_callbacks[$$value ? 'unshift' : 'push'](() => {
3950
+ imgElement = $$value;
3951
+ $$invalidate(1, imgElement);
3952
+ });
3953
+ }
3954
+
3955
+ $$self.$$set = $$props => {
3956
+ if ('externalIconAlt' in $$props) $$invalidate(0, externalIconAlt = $$props.externalIconAlt);
3957
+ };
3958
+
3959
+ return [externalIconAlt, imgElement, span_binding];
3960
+ }
3961
+
3962
+ class ExternalLink extends SvelteComponent {
3963
+ constructor(options) {
3964
+ super();
3965
+ init(this, options, instance$2, create_fragment$2, safe_not_equal, { externalIconAlt: 0 });
3966
+ }
3967
+
3968
+ get externalIconAlt() {
3969
+ return this.$$.ctx[0];
3970
+ }
3971
+
3972
+ set externalIconAlt(externalIconAlt) {
3973
+ this.$$set({ externalIconAlt });
3974
+ flush();
3975
+ }
3976
+ }
3977
+
3978
+ customElements.define("qc-external-link", create_custom_element(ExternalLink, {"externalIconAlt":{"attribute":"img-alt"}}, [], [], false));
3979
+
3980
+ /* src/sdg/components/SearchInput/SearchInput.svelte generated by Svelte v4.2.19 */
3981
+
3982
+ function create_if_block$1(ctx) {
3983
+ let iconbutton;
3984
+ let current;
3985
+
3986
+ iconbutton = new IconButton({
3987
+ props: {
3988
+ type: "button",
3989
+ icon: "clear-input",
3990
+ iconColor: "blue-piv",
3991
+ iconSize: "sm",
3992
+ "aria-label": /*clearAriaLabel*/ ctx[2]
3993
+ }
3994
+ });
3995
+
3996
+ iconbutton.$on("click", /*click_handler*/ ctx[7]);
3997
+
3998
+ return {
3999
+ c() {
4000
+ create_component(iconbutton.$$.fragment);
4001
+ },
4002
+ m(target, anchor) {
4003
+ mount_component(iconbutton, target, anchor);
4004
+ current = true;
4005
+ },
4006
+ p(ctx, dirty) {
4007
+ const iconbutton_changes = {};
4008
+ if (dirty & /*clearAriaLabel*/ 4) iconbutton_changes["aria-label"] = /*clearAriaLabel*/ ctx[2];
4009
+ iconbutton.$set(iconbutton_changes);
4010
+ },
4011
+ i(local) {
4012
+ if (current) return;
4013
+ transition_in(iconbutton.$$.fragment, local);
4014
+ current = true;
4015
+ },
4016
+ o(local) {
4017
+ transition_out(iconbutton.$$.fragment, local);
4018
+ current = false;
4019
+ },
4020
+ d(detaching) {
4021
+ destroy_component(iconbutton, detaching);
4022
+ }
4023
+ };
4024
+ }
4025
+
4026
+ function create_fragment$1(ctx) {
4027
+ let div;
4028
+ let input;
4029
+ let t;
4030
+ let current;
4031
+ let mounted;
4032
+ let dispose;
4033
+
4034
+ let input_levels = [
4035
+ { type: "search" },
4036
+ { autocomplete: "off" },
4037
+ /*ariaLabel*/ ctx[1]
4038
+ ? { "aria-label": /*ariaLabel*/ ctx[1] }
4039
+ : {},
4040
+ /*$$restProps*/ ctx[4]
4041
+ ];
4042
+
4043
+ let input_data = {};
4044
+
4045
+ for (let i = 0; i < input_levels.length; i += 1) {
4046
+ input_data = assign(input_data, input_levels[i]);
4047
+ }
4048
+
4049
+ let if_block = /*value*/ ctx[0] && create_if_block$1(ctx);
4050
+
4051
+ return {
4052
+ c() {
4053
+ div = element("div");
4054
+ input = element("input");
4055
+ t = space();
4056
+ if (if_block) if_block.c();
4057
+ set_attributes(input, input_data);
4058
+ attr(div, "class", "qc-search-input");
4059
+ },
4060
+ m(target, anchor) {
4061
+ insert(target, div, anchor);
4062
+ append(div, input);
4063
+ if (input.autofocus) input.focus();
4064
+ /*input_binding*/ ctx[5](input);
4065
+ set_input_value(input, /*value*/ ctx[0]);
4066
+ append(div, t);
4067
+ if (if_block) if_block.m(div, null);
4068
+ current = true;
4069
+
4070
+ if (!mounted) {
4071
+ dispose = listen(input, "input", /*input_input_handler*/ ctx[6]);
4072
+ mounted = true;
4073
+ }
4074
+ },
4075
+ p(ctx, [dirty]) {
4076
+ set_attributes(input, input_data = get_spread_update(input_levels, [
4077
+ { type: "search" },
4078
+ { autocomplete: "off" },
4079
+ dirty & /*ariaLabel*/ 2 && (/*ariaLabel*/ ctx[1]
4080
+ ? { "aria-label": /*ariaLabel*/ ctx[1] }
4081
+ : {}),
4082
+ dirty & /*$$restProps*/ 16 && /*$$restProps*/ ctx[4]
4083
+ ]));
4084
+
4085
+ if (dirty & /*value*/ 1 && input.value !== /*value*/ ctx[0]) {
4086
+ set_input_value(input, /*value*/ ctx[0]);
4087
+ }
4088
+
4089
+ if (/*value*/ ctx[0]) {
4090
+ if (if_block) {
4091
+ if_block.p(ctx, dirty);
4092
+
4093
+ if (dirty & /*value*/ 1) {
4094
+ transition_in(if_block, 1);
4095
+ }
4096
+ } else {
4097
+ if_block = create_if_block$1(ctx);
4098
+ if_block.c();
4099
+ transition_in(if_block, 1);
4100
+ if_block.m(div, null);
4101
+ }
4102
+ } else if (if_block) {
4103
+ group_outros();
4104
+
4105
+ transition_out(if_block, 1, 1, () => {
4106
+ if_block = null;
4107
+ });
4108
+
4109
+ check_outros();
4110
+ }
4111
+ },
4112
+ i(local) {
4113
+ if (current) return;
4114
+ transition_in(if_block);
4115
+ current = true;
4116
+ },
4117
+ o(local) {
4118
+ transition_out(if_block);
4119
+ current = false;
4120
+ },
4121
+ d(detaching) {
4122
+ if (detaching) {
4123
+ detach(div);
4124
+ }
4125
+
4126
+ /*input_binding*/ ctx[5](null);
4127
+ if (if_block) if_block.d();
4128
+ mounted = false;
4129
+ dispose();
4130
+ }
4131
+ };
4132
+ }
4133
+
4134
+ function instance$1($$self, $$props, $$invalidate) {
4135
+ const omit_props_names = ["value","ariaLabel","clearAriaLabel"];
4136
+ let $$restProps = compute_rest_props($$props, omit_props_names);
4137
+ const lang = Utils.getPageLanguage();
4138
+ let { value, ariaLabel = lang === "fr" ? "Rechercher…" : "Search_", clearAriaLabel = lang === "fr" ? "Effacer le texte" : "Clear text" } = $$props;
4139
+ let searchInput;
4140
+
4141
+ function input_binding($$value) {
4142
+ binding_callbacks[$$value ? 'unshift' : 'push'](() => {
4143
+ searchInput = $$value;
4144
+ $$invalidate(3, searchInput);
4145
+ });
4146
+ }
4147
+
4148
+ function input_input_handler() {
4149
+ value = this.value;
4150
+ $$invalidate(0, value);
4151
+ }
4152
+
4153
+ const click_handler = e => {
4154
+ e.preventDefault();
4155
+ $$invalidate(0, value = "");
4156
+ searchInput.focus();
4157
+ };
4158
+
4159
+ $$self.$$set = $$new_props => {
4160
+ $$props = assign(assign({}, $$props), exclude_internal_props($$new_props));
4161
+ $$invalidate(4, $$restProps = compute_rest_props($$props, omit_props_names));
4162
+ if ('value' in $$new_props) $$invalidate(0, value = $$new_props.value);
4163
+ if ('ariaLabel' in $$new_props) $$invalidate(1, ariaLabel = $$new_props.ariaLabel);
4164
+ if ('clearAriaLabel' in $$new_props) $$invalidate(2, clearAriaLabel = $$new_props.clearAriaLabel);
4165
+ };
3077
4166
 
3078
4167
  return [
3079
- type,
3080
- maskable,
3081
- content,
3082
- rootElement,
3083
- hiddenFlag,
3084
- typeClass,
3085
- closeLabel,
3086
- label,
3087
- hideAlert,
3088
- hide,
3089
- $$scope,
3090
- slots,
3091
- div3_binding
4168
+ value,
4169
+ ariaLabel,
4170
+ clearAriaLabel,
4171
+ searchInput,
4172
+ $$restProps,
4173
+ input_binding,
4174
+ input_input_handler,
4175
+ click_handler
3092
4176
  ];
3093
4177
  }
3094
4178
 
3095
- class Alert extends SvelteComponent {
4179
+ class SearchInput extends SvelteComponent {
3096
4180
  constructor(options) {
3097
4181
  super();
3098
4182
 
3099
4183
  init(this, options, instance$1, create_fragment$1, safe_not_equal, {
3100
- type: 0,
3101
- maskable: 1,
3102
- content: 2,
3103
- hide: 9
4184
+ value: 0,
4185
+ ariaLabel: 1,
4186
+ clearAriaLabel: 2
3104
4187
  });
3105
4188
  }
3106
4189
 
3107
- get type() {
4190
+ get value() {
3108
4191
  return this.$$.ctx[0];
3109
4192
  }
3110
4193
 
3111
- set type(type) {
3112
- this.$$set({ type });
4194
+ set value(value) {
4195
+ this.$$set({ value });
3113
4196
  flush();
3114
4197
  }
3115
4198
 
3116
- get maskable() {
4199
+ get ariaLabel() {
3117
4200
  return this.$$.ctx[1];
3118
4201
  }
3119
4202
 
3120
- set maskable(maskable) {
3121
- this.$$set({ maskable });
4203
+ set ariaLabel(ariaLabel) {
4204
+ this.$$set({ ariaLabel });
3122
4205
  flush();
3123
4206
  }
3124
4207
 
3125
- get content() {
4208
+ get clearAriaLabel() {
3126
4209
  return this.$$.ctx[2];
3127
4210
  }
3128
4211
 
3129
- set content(content) {
3130
- this.$$set({ content });
4212
+ set clearAriaLabel(clearAriaLabel) {
4213
+ this.$$set({ clearAriaLabel });
3131
4214
  flush();
3132
4215
  }
4216
+ }
3133
4217
 
3134
- get hide() {
3135
- return this.$$.ctx[9];
3136
- }
4218
+ customElements.define("qc-search-input", create_custom_element(SearchInput, {"value":{},"ariaLabel":{"attribute":"aria-label"},"clearAriaLabel":{"attribute":"clear-aria-label"}}, [], [], false));
3137
4219
 
3138
- set hide(hide) {
3139
- this.$$set({ hide });
3140
- flush();
3141
- }
3142
- }
4220
+ /* src/sdg/components/SearchBar/searchBar.svelte generated by Svelte v4.2.19 */
3143
4221
 
3144
- customElements.define("qc-alert", create_custom_element(Alert, {"type":{},"maskable":{},"content":{},"hide":{}}, ["default"], [], true));
4222
+ function create_if_block(ctx) {
4223
+ let iconbutton;
4224
+ let current;
3145
4225
 
3146
- /* src/sdg/components/toTop.svelte generated by Svelte v4.2.12 */
4226
+ const iconbutton_spread_levels = [
4227
+ { type: "submit" },
4228
+ {
4229
+ iconColor: /*pivBackground*/ ctx[0] ? 'blue-piv' : 'background'
4230
+ },
4231
+ { icon: "loupe-piv-fine" },
4232
+ { iconSize: "md" },
4233
+ /*submitProps*/ ctx[2]
4234
+ ];
3147
4235
 
3148
- const { window: window_1 } = globals;
4236
+ let iconbutton_props = {};
3149
4237
 
3150
- function create_fragment(ctx) {
3151
- let a;
3152
- let span;
3153
- let t0;
3154
- let t1;
3155
- let link;
3156
- let mounted;
3157
- let dispose;
4238
+ for (let i = 0; i < iconbutton_spread_levels.length; i += 1) {
4239
+ iconbutton_props = assign(iconbutton_props, iconbutton_spread_levels[i]);
4240
+ }
4241
+
4242
+ iconbutton = new IconButton({ props: iconbutton_props });
3158
4243
 
3159
4244
  return {
3160
4245
  c() {
3161
- a = element("a");
3162
- span = element("span");
3163
- t0 = text(/*alt*/ ctx[0]);
3164
- t1 = space();
3165
- link = element("link");
3166
- attr(a, "href", " ");
3167
- attr(a, "class", "qc-to-top qc-icon qc-arrow-up-white");
3168
- attr(a, "tabindex", "0");
3169
- attr(a, "demo", /*demo*/ ctx[1]);
3170
- toggle_class(a, "visible", /*visible*/ ctx[2]);
3171
- attr(link, "rel", "stylesheet");
3172
- attr(link, "href", "" + (Utils.cssRelativePath + Utils.cssFileName));
4246
+ create_component(iconbutton.$$.fragment);
3173
4247
  },
3174
4248
  m(target, anchor) {
3175
- insert(target, a, anchor);
3176
- append(a, span);
3177
- append(span, t0);
3178
- /*a_binding*/ ctx[5](a);
3179
- insert(target, t1, anchor);
3180
- insert(target, link, anchor);
4249
+ mount_component(iconbutton, target, anchor);
4250
+ current = true;
4251
+ },
4252
+ p(ctx, dirty) {
4253
+ const iconbutton_changes = (dirty & /*pivBackground, submitProps*/ 5)
4254
+ ? get_spread_update(iconbutton_spread_levels, [
4255
+ iconbutton_spread_levels[0],
4256
+ dirty & /*pivBackground*/ 1 && {
4257
+ iconColor: /*pivBackground*/ ctx[0] ? 'blue-piv' : 'background'
4258
+ },
4259
+ iconbutton_spread_levels[2],
4260
+ iconbutton_spread_levels[3],
4261
+ dirty & /*submitProps*/ 4 && get_spread_object(/*submitProps*/ ctx[2])
4262
+ ])
4263
+ : {};
4264
+
4265
+ iconbutton.$set(iconbutton_changes);
4266
+ },
4267
+ i(local) {
4268
+ if (current) return;
4269
+ transition_in(iconbutton.$$.fragment, local);
4270
+ current = true;
4271
+ },
4272
+ o(local) {
4273
+ transition_out(iconbutton.$$.fragment, local);
4274
+ current = false;
4275
+ },
4276
+ d(detaching) {
4277
+ destroy_component(iconbutton, detaching);
4278
+ }
4279
+ };
4280
+ }
3181
4281
 
3182
- if (!mounted) {
3183
- dispose = [
3184
- listen(window_1, "scroll", /*handleScrollUpButton*/ ctx[4]),
3185
- listen(a, "click", prevent_default(scrollToTop)),
3186
- listen(a, "keydown", handleEnterAndSpace)
3187
- ];
4282
+ function create_fragment(ctx) {
4283
+ let div;
4284
+ let searchinput;
4285
+ let t;
4286
+ let current;
4287
+ const searchinput_spread_levels = [/*inputProps*/ ctx[1]];
4288
+ let searchinput_props = {};
3188
4289
 
3189
- mounted = true;
3190
- }
4290
+ for (let i = 0; i < searchinput_spread_levels.length; i += 1) {
4291
+ searchinput_props = assign(searchinput_props, searchinput_spread_levels[i]);
4292
+ }
4293
+
4294
+ searchinput = new SearchInput({ props: searchinput_props });
4295
+ let if_block = create_if_block(ctx);
4296
+
4297
+ return {
4298
+ c() {
4299
+ div = element("div");
4300
+ create_component(searchinput.$$.fragment);
4301
+ t = space();
4302
+ if (if_block) if_block.c();
4303
+ attr(div, "class", "qc-search-bar");
4304
+ toggle_class(div, "piv-background", /*pivBackground*/ ctx[0]);
4305
+ },
4306
+ m(target, anchor) {
4307
+ insert(target, div, anchor);
4308
+ mount_component(searchinput, div, null);
4309
+ append(div, t);
4310
+ if (if_block) if_block.m(div, null);
4311
+ current = true;
3191
4312
  },
3192
4313
  p(ctx, [dirty]) {
3193
- if (dirty & /*alt*/ 1) set_data(t0, /*alt*/ ctx[0]);
4314
+ const searchinput_changes = (dirty & /*inputProps*/ 2)
4315
+ ? get_spread_update(searchinput_spread_levels, [get_spread_object(/*inputProps*/ ctx[1])])
4316
+ : {};
3194
4317
 
3195
- if (dirty & /*demo*/ 2) {
3196
- attr(a, "demo", /*demo*/ ctx[1]);
3197
- }
4318
+ searchinput.$set(searchinput_changes);
4319
+ if_block.p(ctx, dirty);
3198
4320
 
3199
- if (dirty & /*visible*/ 4) {
3200
- toggle_class(a, "visible", /*visible*/ ctx[2]);
4321
+ if (!current || dirty & /*pivBackground*/ 1) {
4322
+ toggle_class(div, "piv-background", /*pivBackground*/ ctx[0]);
3201
4323
  }
3202
4324
  },
3203
- i: noop,
3204
- o: noop,
4325
+ i(local) {
4326
+ if (current) return;
4327
+ transition_in(searchinput.$$.fragment, local);
4328
+ transition_in(if_block);
4329
+ current = true;
4330
+ },
4331
+ o(local) {
4332
+ transition_out(searchinput.$$.fragment, local);
4333
+ transition_out(if_block);
4334
+ current = false;
4335
+ },
3205
4336
  d(detaching) {
3206
4337
  if (detaching) {
3207
- detach(a);
3208
- detach(t1);
3209
- detach(link);
4338
+ detach(div);
3210
4339
  }
3211
4340
 
3212
- /*a_binding*/ ctx[5](null);
3213
- mounted = false;
3214
- run_all(dispose);
4341
+ destroy_component(searchinput);
4342
+ if (if_block) if_block.d();
3215
4343
  }
3216
4344
  };
3217
4345
  }
3218
4346
 
3219
- function scrollToTop() {
3220
- window.scrollTo({ top: 0, behavior: 'smooth' });
3221
- }
3222
-
3223
- function handleEnterAndSpace(e) {
3224
- switch (e.code) {
3225
- case 'Enter':
3226
- case 'Space':
3227
- e.preventDefault();
3228
- scrollToTop();
3229
- }
3230
- }
3231
-
3232
4347
  function instance($$self, $$props, $$invalidate) {
3233
- const lang = Utils.getPageLanguage();
3234
- let { alt = lang === 'fr' ? "Retour en haut" : "Back to top", demo = 'false' } = $$props;
3235
-
3236
- let minimumScrollHeight = 0,
3237
- lastScrollY = 0,
3238
- visible = demo === 'true',
3239
- lastVisible = visible,
3240
- toTopElement;
3241
-
3242
- function handleScrollUpButton() {
3243
- if (demo === 'true') {
3244
- return;
3245
- }
4348
+ const omit_props_names = ["value","name","pivBackground"];
4349
+ let $$restProps = compute_rest_props($$props, omit_props_names);
3246
4350
 
3247
- let pageBottom = window.innerHeight + window.scrollY >= document.body.offsetHeight - 1;
3248
- $$invalidate(2, visible = lastScrollY > window.scrollY && (document.body.scrollTop > minimumScrollHeight || document.documentElement.scrollTop > minimumScrollHeight) && !pageBottom);
4351
+ const lang = Utils.getPageLanguage(),
4352
+ inputDefaultPlaceholder = lang === "fr" ? "Rechercher…" : "Search",
4353
+ submitDefaultAriaLabel = lang === "fr" ? "Lancer la recherche" : "Submit search";
3249
4354
 
3250
- if (!visible && lastVisible) {
3251
- // removing focus on visibility loss
3252
- toTopElement.blur();
3253
- }
4355
+ let { value = '', name = 'q', pivBackground = false } = $$props;
3254
4356
 
3255
- lastVisible = visible;
3256
- lastScrollY = window.scrollY;
3257
- }
4357
+ let defaultsAttributes = {
4358
+ input: {
4359
+ "placeholder": inputDefaultPlaceholder,
4360
+ "aria-label": inputDefaultPlaceholder
4361
+ },
4362
+ submit: { "aria-label": submitDefaultAriaLabel }
4363
+ },
4364
+ inputProps = {},
4365
+ submitProps = {};
3258
4366
 
3259
- function a_binding($$value) {
3260
- binding_callbacks[$$value ? 'unshift' : 'push'](() => {
3261
- toTopElement = $$value;
3262
- $$invalidate(3, toTopElement);
4367
+ /**
4368
+ * @param {{[p: string]: T}} restProps
4369
+ */
4370
+ function computeFieldsAttributes(restProps) {
4371
+ return ["input", "submit"].map(control => {
4372
+ const prefix = `${control}-`;
4373
+
4374
+ return {
4375
+ ...defaultsAttributes[control],
4376
+ ...Object.fromEntries(Object.entries(restProps).map(([k, v]) => k.startsWith(prefix) ? [k.replace(prefix, ''), v] : null).filter(x => x)), // élimine les éléments null
4377
+
4378
+ };
3263
4379
  });
3264
4380
  }
3265
4381
 
3266
- $$self.$$set = $$props => {
3267
- if ('alt' in $$props) $$invalidate(0, alt = $$props.alt);
3268
- if ('demo' in $$props) $$invalidate(1, demo = $$props.demo);
4382
+ $$self.$$set = $$new_props => {
4383
+ $$props = assign(assign({}, $$props), exclude_internal_props($$new_props));
4384
+ $$invalidate(10, $$restProps = compute_rest_props($$props, omit_props_names));
4385
+ if ('value' in $$new_props) $$invalidate(3, value = $$new_props.value);
4386
+ if ('name' in $$new_props) $$invalidate(4, name = $$new_props.name);
4387
+ if ('pivBackground' in $$new_props) $$invalidate(0, pivBackground = $$new_props.pivBackground);
4388
+ };
4389
+
4390
+ $$self.$$.update = () => {
4391
+ $$invalidate(1, [inputProps, submitProps] = computeFieldsAttributes($$restProps), inputProps, ($$invalidate(2, submitProps), $$invalidate(10, $$restProps)));
4392
+
4393
+ if ($$self.$$.dirty & /*value, name, inputProps*/ 26) {
4394
+ $$invalidate(1, inputProps = { value, name, ...inputProps });
4395
+ }
3269
4396
  };
3270
4397
 
3271
- return [alt, demo, visible, toTopElement, handleScrollUpButton, a_binding];
4398
+ return [pivBackground, inputProps, submitProps, value, name];
3272
4399
  }
3273
4400
 
3274
- class ToTop extends SvelteComponent {
4401
+ class SearchBar extends SvelteComponent {
3275
4402
  constructor(options) {
3276
4403
  super();
3277
- init(this, options, instance, create_fragment, safe_not_equal, { alt: 0, demo: 1 });
4404
+ init(this, options, instance, create_fragment, safe_not_equal, { value: 3, name: 4, pivBackground: 0 });
3278
4405
  }
3279
4406
 
3280
- get alt() {
3281
- return this.$$.ctx[0];
4407
+ get value() {
4408
+ return this.$$.ctx[3];
3282
4409
  }
3283
4410
 
3284
- set alt(alt) {
3285
- this.$$set({ alt });
4411
+ set value(value) {
4412
+ this.$$set({ value });
3286
4413
  flush();
3287
4414
  }
3288
4415
 
3289
- get demo() {
3290
- return this.$$.ctx[1];
4416
+ get name() {
4417
+ return this.$$.ctx[4];
3291
4418
  }
3292
4419
 
3293
- set demo(demo) {
3294
- this.$$set({ demo });
4420
+ set name(name) {
4421
+ this.$$set({ name });
4422
+ flush();
4423
+ }
4424
+
4425
+ get pivBackground() {
4426
+ return this.$$.ctx[0];
4427
+ }
4428
+
4429
+ set pivBackground(pivBackground) {
4430
+ this.$$set({ pivBackground });
3295
4431
  flush();
3296
4432
  }
3297
4433
  }
3298
4434
 
3299
- customElements.define("qc-to-top", create_custom_element(ToTop, {"alt":{},"demo":{}}, [], [], true));
4435
+ customElements.define("qc-search-bar", create_custom_element(SearchBar, {"value":{"attribute":"input-value","type":"String"},"name":{"attribute":"input-name","type":"String"},"pivBackground":{"attribute":"piv-background","type":"Boolean"}}, [], [], false));
4436
+
4437
+ const isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches;
4438
+ if (isDarkMode) {
4439
+ document.documentElement.classList.add('qc-dark-theme');
4440
+ }
3300
4441
 
3301
4442
  })();