@onsvisual/svelte-components 1.1.13 → 1.1.15

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.
@@ -6,6 +6,7 @@
6
6
 
7
7
  <script>
8
8
  import { onMount, getContext } from "svelte";
9
+ import Container from "../Container/Container.svelte";
9
10
 
10
11
  /**
11
12
  * Google analytics/tags manager ID
@@ -34,7 +35,7 @@
34
35
  export let usageCookies = false;
35
36
  /**
36
37
  * Set the width of the banner
37
- * @type {"wide"|"wider"}
38
+ * @type {"narrow"|"medium"|"wide"|"wider"|"full"}
38
39
  */
39
40
  export let width = "wide";
40
41
  /**
@@ -202,6 +203,7 @@
202
203
  {#if showBanner && !hideBanner}
203
204
  <div
204
205
  class="ons-cookies-banner"
206
+ class:ons-cookies-banner__full={width === "full"}
205
207
  role="region"
206
208
  aria-label="Cookies banner"
207
209
  style:display={showBanner ? "block" : null}
@@ -213,10 +215,7 @@
213
215
  id="global-cookie-message"
214
216
  aria-label="cookie banner"
215
217
  >
216
- <div
217
- class="ons-container ons-cookies-banner__primary"
218
- class:ons-page__container--wider={width === "wider"}
219
- >
218
+ <Container {width} cls="ons-cookies-banner__primary">
220
219
  <div class="ons-grid">
221
220
  <div class="ons-grid__col ons-col-8@m">
222
221
  <h2 class="ons-cookies-banner__title ons-u-mb-xs">{i18n("Cookies on ons.gov.uk")}</h2>
@@ -236,7 +235,7 @@
236
235
  </div>
237
236
  </div>
238
237
  </div>
239
- <div class="ons-grid ons-grid--flex ons-u-mt-s">
238
+ <div class="ons-grid ons-grid-flex ons-u-mt-s">
240
239
  <div class="ons-grid__col">
241
240
  <button
242
241
  type="submit"
@@ -267,13 +266,10 @@
267
266
  >
268
267
  </div>
269
268
  </div>
270
- </div>
269
+ </Container>
271
270
  </form>
272
271
  {:else}
273
- <div
274
- class="ons-container ons-cookies-banner__confirmation"
275
- class:ons-page__container--wider={width === "wider"}
276
- >
272
+ <Container {width} cls="ons-cookies-banner__confirmation">
277
273
  <div
278
274
  class="ons-grid ons-grid--flex ons-grid--between ons-grid--gutterless ons-grid--no-wrap@s ons-grid--vertical-center"
279
275
  >
@@ -298,7 +294,7 @@
298
294
  </button>
299
295
  </div>
300
296
  </div>
301
- </div>
297
+ </Container>
302
298
  {/if}
303
299
  </div>
304
300
  {/if}
@@ -308,7 +304,7 @@
308
304
  /* padding: 0; */
309
305
  background: var(--pale, #f0f0f0) !important;
310
306
  }
311
- .ons-page__container--wider {
312
- max-width: 1240px;
307
+ .ons-cookies-banner__full :global(.ons-page__container) {
308
+ padding: 0 12px;
313
309
  }
314
310
  </style>
@@ -3,7 +3,7 @@ export function analyticsEvent(props: any): void;
3
3
  /** @typedef {typeof __propDef.events} AnalyticsBannerEvents */
4
4
  /** @typedef {typeof __propDef.slots} AnalyticsBannerSlots */
5
5
  export default class AnalyticsBanner extends SvelteComponentTyped<{
6
- width?: "wide" | "wider" | undefined;
6
+ width?: "narrow" | "medium" | "wide" | "wider" | "full" | undefined;
7
7
  page?: any;
8
8
  analyticsId?: string | undefined;
9
9
  analyticsProps?: object | undefined;
@@ -20,7 +20,7 @@ export type AnalyticsBannerSlots = typeof __propDef.slots;
20
20
  import { SvelteComponentTyped } from "svelte";
21
21
  declare const __propDef: {
22
22
  props: {
23
- width?: "wide" | "wider" | undefined;
23
+ width?: "narrow" | "medium" | "wide" | "wider" | "full" | undefined;
24
24
  page?: any;
25
25
  analyticsId?: string | undefined;
26
26
  analyticsProps?: object | undefined;
@@ -105,7 +105,12 @@
105
105
  });
106
106
  </script>
107
107
 
108
- <header class="ons-header" class:ons-header__full={width === "full"} role="banner">
108
+ <header
109
+ class="ons-header"
110
+ class:ons-header--basic={!compact && !legacy}
111
+ class:ons-header__full={width === "full"}
112
+ role="banner"
113
+ >
109
114
  {#if skipHref}
110
115
  <SkipLink href={skipHref} />
111
116
  {/if}
@@ -241,6 +241,10 @@
241
241
  const columns = [[menu.topics[0]], [menu.topics[1], menu.topics[2]], [menu.topics[3]]];
242
242
 
243
243
  onMount(() => {
244
+ const hasBodyClass = "className" in document?.body || {};
245
+ const bodyClassString = document?.body?.className || "";
246
+ if (hasBodyClass && !bodyClassString.includes("ons-js-enabled"))
247
+ document.body.className = bodyClassString + " ons-js-enabled";
244
248
  initNav(el?.parentElement || document);
245
249
  });
246
250
  </script>
@@ -398,10 +402,10 @@
398
402
  <div class="ons-header__links ons-grid__col">
399
403
  <button
400
404
  type="button"
401
- class="ons-btn ons-u-fs-s--b ons-js-toggle-nav-menu button-nav active disabled ons-btn--menu"
405
+ class="ons-btn ons-u-fs-r--b ons-js-toggle-nav-menu ons-u-db-no-js_disabled button-nav ons-btn--menu"
402
406
  aria-label="Toggle menu"
403
407
  aria-controls="menu-links"
404
- aria-expanded="true"
408
+ aria-expanded="false"
405
409
  aria-disabled="true"
406
410
  >
407
411
  <span class="ons-btn__inner"
@@ -423,10 +427,10 @@
423
427
  </button>
424
428
  </div>
425
429
  {#if search}
426
- <div class="ons-header__links ons-grid__col ons-header__menu-link">
430
+ <div class="ons-header__links ons-grid__col ons-header__menu-links">
427
431
  <button
428
432
  type="button"
429
- class="ons-btn ons-u-fs-s--b ons-js-toggle-header-search ons-btn--close ons-btn--search-icon active disabled ons-btn--search"
433
+ class="ons-btn ons-u-fs-s--b ons-js-toggle-header-search ons-u-db-no-js_disabled ons-btn--search-icon ons-btn--search"
430
434
  aria-label="Toggle search"
431
435
  aria-controls="search"
432
436
  aria-expanded="true"
@@ -449,24 +453,26 @@
449
453
  </button>
450
454
  </div>
451
455
  {/if}
452
- {#if bilingual}
453
- <div class="ons-grid__col ons-col-auto">
454
- <div class="ons-header__language">
455
- <ul class="ons-language-links">
456
- <li class="ons-language-links__item">
457
- <a
458
- href="{baseother}{path}"
459
- class="language__link"
460
- lang={lang == "en" ? "cy" : "en"}
461
- >
462
- <span class="ons-u-vh">{i18n("Newid iaith i")} </span>{i18n("Cymraeg")}
463
- </a>
464
- </li>
465
- </ul>
466
- </div>
467
- </div>
468
- {/if}
469
456
  </div>
457
+ {#if bilingual}
458
+ <div
459
+ class="ons-header__links ons-grid__col ons-col-auto ons-header__links--language-section ons-u-d-no@2xs@m"
460
+ >
461
+ <div class="ons-header__language ons-u-fs-r--b">
462
+ <ul class="ons-language-links">
463
+ <li class="ons-language-links__item">
464
+ <a
465
+ href="{baseother}{path}"
466
+ class="language__link"
467
+ lang={lang == "en" ? "cy" : "en"}
468
+ >
469
+ <span class="ons-u-vh">{i18n("Newid iaith i")} </span>{i18n("Cymraeg")}
470
+ </a>
471
+ </li>
472
+ </ul>
473
+ </div>
474
+ </div>
475
+ {/if}
470
476
  </div>
471
477
  </Container>
472
478
  </div>
@@ -478,6 +484,15 @@
478
484
  aria-hidden="true"
479
485
  >
480
486
  <Container {width}>
487
+ <div class="ons-header-nav-menu__language ons-u-fs-s--b ons-u-d-no@m ons-u-d-no@2xl">
488
+ <ul class="ons-language-links">
489
+ <li class="ons-language-links__item">
490
+ <a href="{baseother}{path}" lang={lang == "en" ? "cy" : "en"}>
491
+ <span class="ons-u-vh">{i18n("Newid iaith i")} </span>{i18n("Cymraeg")}
492
+ </a>
493
+ </li>
494
+ </ul>
495
+ </div>
481
496
  <ul class="ons-grid ons-header-nav-menu__key-list">
482
497
  {#each menu.main as item (item.url)}
483
498
  <li class="ons-grid__col ons-col-4@m ons-header-nav-menu__col">
@@ -588,9 +603,6 @@
588
603
  {/if}
589
604
 
590
605
  <style>
591
- .ons-header__grid-top {
592
- padding: 0;
593
- }
594
606
  .ons-header__top {
595
607
  background: var(--ons-color-page-light);
596
608
  }
@@ -598,10 +610,6 @@
598
610
  .ons-icon--logo__group--text {
599
611
  fill: var(--ons-color-text-link-hover);
600
612
  }
601
- .ons-header__language {
602
- display: block;
603
- margin-top: 0.85em;
604
- }
605
613
  .ons-header--border:has(+ .ons-u-d-no) {
606
614
  border-bottom: 1px solid var(--ons-color-borders);
607
615
  }