@onsvisual/svelte-components 0.0.7 → 0.0.9

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 (63) hide show
  1. package/dist/@types/datavis/Table/Table.svelte.d.ts +4 -4
  2. package/dist/@types/datavis/shared/data.d.ts +6 -0
  3. package/dist/@types/index.d.ts +1 -0
  4. package/dist/@types/inputs/Button/Button.svelte.d.ts +2 -2
  5. package/dist/@types/inputs/Checkbox/Checkbox.svelte.d.ts +41 -0
  6. package/dist/@types/inputs/Checkboxes/Checkboxes.svelte.d.ts +37 -0
  7. package/dist/@types/inputs/Dropdown/Dropdown.svelte.d.ts +2 -2
  8. package/dist/@types/inputs/ErrorPanel/ErrorPanel.svelte.d.ts +27 -0
  9. package/dist/@types/inputs/ErrorSummary/ErrorSummary.svelte.d.ts +29 -0
  10. package/dist/@types/inputs/Input/Input.svelte.d.ts +2 -2
  11. package/dist/@types/inputs/Radios/Radio.svelte.d.ts +37 -0
  12. package/dist/@types/inputs/Radios/Radios.svelte.d.ts +39 -0
  13. package/dist/@types/inputs/Select/Select.svelte.d.ts +2 -2
  14. package/dist/@types/inputs/Textarea/Textarea.svelte.d.ts +2 -2
  15. package/dist/@types/layout/Accordion/AccordionItem.svelte.d.ts +2 -2
  16. package/dist/@types/layout/AnalyticsBanner/AnalyticsBanner.svelte.d.ts +30 -0
  17. package/dist/@types/layout/BackLink/Backlink.svelte.d.ts +23 -0
  18. package/dist/@types/layout/Breadcrumb/Breadcrumb.svelte.d.ts +23 -0
  19. package/dist/@types/layout/Contents/Contents.svelte.d.ts +29 -0
  20. package/dist/@types/layout/ErrorPage/ErrorPage.svelte.d.ts +25 -0
  21. package/dist/@types/layout/Grid/Grid.svelte.d.ts +2 -2
  22. package/dist/@types/layout/Header/Header.svelte.d.ts +2 -2
  23. package/dist/@types/layout/Hero/Hero.svelte.d.ts +2 -2
  24. package/dist/@types/layout/NavSections/NavSection.svelte.d.ts +2 -2
  25. package/dist/@types/layout/Notice/Notice.svelte.d.ts +31 -0
  26. package/dist/@types/layout/PhaseBanner/PhaseBanner.svelte.d.ts +25 -0
  27. package/dist/@types/layout/Scroller/Scroller.svelte.d.ts +2 -2
  28. package/dist/@types/layout/Scroller/ScrollerSection.svelte.d.ts +2 -2
  29. package/dist/@types/layout/Section/Section.svelte.d.ts +2 -2
  30. package/dist/@types/layout/ShareButtons/ShareButtons.svelte.d.ts +33 -0
  31. package/dist/@types/layout/Summary/Summary.svelte.d.ts +25 -0
  32. package/dist/@types/layout/Survey/Survey.svelte.d.ts +23 -0
  33. package/dist/@types/layout/Survey/init-survey.d.ts +1 -0
  34. package/dist/@types/layout/Tabs/Tab.svelte.d.ts +31 -0
  35. package/dist/@types/layout/Tabs/Tabs.svelte.d.ts +27 -0
  36. package/dist/@types/layout/TitleBlock/TitleBlock.svelte.d.ts +2 -2
  37. package/dist/css/main.css +2 -2
  38. package/dist/datavis/shared/data.js +18 -0
  39. package/dist/index.js +2 -0
  40. package/dist/inputs/Checkbox/Checkbox.svelte +133 -0
  41. package/dist/inputs/Checkboxes/Checkboxes.svelte +33 -0
  42. package/dist/inputs/ErrorPanel/ErrorPanel.svelte +35 -0
  43. package/dist/inputs/ErrorSummary/ErrorSummary.svelte +40 -0
  44. package/dist/inputs/Radios/Radio.svelte +108 -0
  45. package/dist/inputs/Radios/Radios.svelte +46 -0
  46. package/dist/layout/AnalyticsBanner/AnalyticsBanner.svelte +256 -0
  47. package/dist/layout/BackLink/Backlink.svelte +32 -0
  48. package/dist/layout/Breadcrumb/Breadcrumb.svelte +39 -0
  49. package/dist/layout/Contents/Contents.svelte +44 -0
  50. package/dist/layout/ErrorPage/ErrorPage.svelte +39 -0
  51. package/dist/layout/Header/Header.svelte +1 -1
  52. package/dist/layout/NavSections/NavSection.svelte +2 -2
  53. package/dist/layout/Notice/Notice.svelte +54 -0
  54. package/dist/layout/PhaseBanner/PhaseBanner.svelte +40 -0
  55. package/dist/layout/Scroller/ScrollerSection.svelte +2 -2
  56. package/dist/layout/Section/Section.svelte +2 -2
  57. package/dist/layout/ShareButtons/ShareButtons.svelte +177 -0
  58. package/dist/layout/Summary/Summary.svelte +51 -0
  59. package/dist/layout/Survey/Survey.svelte +96 -0
  60. package/dist/layout/Survey/init-survey.js +230 -0
  61. package/dist/layout/Tabs/Tab.svelte +48 -0
  62. package/dist/layout/Tabs/Tabs.svelte +85 -0
  63. package/package.json +22 -1
@@ -0,0 +1,32 @@
1
+ <script>
2
+ /**
3
+ * URL for previous page
4
+ * @type {string}
5
+ */
6
+ export let href = "#0";
7
+ </script>
8
+
9
+ <nav class="ons-breadcrumb" aria-label="Back">
10
+ <ol class="ons-breadcrumb__items ons-u-fs-s">
11
+ <li class="ons-breadcrumb__item" id="breadcrumb-1">
12
+ <a class="ons-breadcrumb__link" href="{href}" id="back">Back</a>
13
+ <svg
14
+ class="ons-svg-icon"
15
+ viewBox="0 0 8 13"
16
+ xmlns="http://www.w3.org/2000/svg"
17
+ focusable="false"
18
+ fill="currentColor"
19
+ >
20
+ <path
21
+ d="M5.74,14.28l-.57-.56a.5.5,0,0,1,0-.71h0l5-5-5-5a.5.5,0,0,1,0-.71h0l.57-.56a.5.5,0,0,1,.71,0h0l5.93,5.93a.5.5,0,0,1,0,.7L6.45,14.28a.5.5,0,0,1-.71,0Z"
22
+ transform="translate(-5.02 -1.59)"></path>
23
+ </svg>
24
+ </li>
25
+ </ol>
26
+ </nav>
27
+
28
+ <style>
29
+ .ons-svg-icon {
30
+ color: currentColor;
31
+ fill: currentColor;
32
+ }</style>
@@ -0,0 +1,39 @@
1
+ <script>
2
+ /**
3
+ * An array of links in the format {label, href}
4
+ * @type {array}
5
+ */
6
+ export let links = [];
7
+ </script>
8
+
9
+ <div class="ons-page__container ons-container">
10
+ <nav class="ons-breadcrumb print--hide" aria-label="Breadcrumbs">
11
+ <ol class="ons-breadcrumb__items ons-u-fs-s">
12
+ {#each links as link}
13
+ <li class="ons-breadcrumb__item ons-u-p-no">
14
+ {#if link.href}
15
+ <a class="ons-breadcrumb__link" href="{link.href}">{link.label}</a>
16
+ {:else}
17
+ {link.label}
18
+ {/if}
19
+ <svg
20
+ class="ons-svg-icon"
21
+ viewBox="0 0 8 13"
22
+ xmlns="http://www.w3.org/2000/svg"
23
+ focusable="false"
24
+ >
25
+ <path
26
+ d="M5.74,14.28l-.57-.56a.5.5,0,0,1,0-.71h0l5-5-5-5a.5.5,0,0,1,0-.71h0l.57-.56a.5.5,0,0,1,.71,0h0l5.93,5.93a.5.5,0,0,1,0,.7L6.45,14.28a.5.5,0,0,1-.71,0Z"
27
+ transform="translate(-5.02 -1.59)"></path>
28
+ </svg>
29
+ </li>
30
+ {/each}
31
+ </ol>
32
+ </nav>
33
+ </div>
34
+
35
+ <style>
36
+ .ons-svg-icon {
37
+ color: currentColor;
38
+ fill: currentColor;
39
+ }</style>
@@ -0,0 +1,44 @@
1
+ <script>
2
+ /**
3
+ * Sets the title of the contents block
4
+ * @type {string}
5
+ */
6
+ export let title = "Contents";
7
+ /**
8
+ * Visually hides the title of the block
9
+ * @type {boolean}
10
+ */
11
+ export let hideTitle = false;
12
+ /**
13
+ * An array of links for the contentents block in the form {label, href?}. Excluding href renders an item as plain text.
14
+ * @type {array}
15
+ */
16
+ export let links = [];
17
+ /**
18
+ * An anchor link URL to the main content of the page (to skip contents)
19
+ * @type {string}
20
+ */
21
+ export let skipHref = "";
22
+ </script>
23
+
24
+ <aside class="ons-toc-container" role="complementary">
25
+ {#if skipHref}
26
+ <a class="ons-skip-link" href="{skipHref}">Skip to content</a>
27
+ {/if}
28
+ <nav class="ons-toc" aria-label="{title}">
29
+ {#if title}
30
+ <h2 class="ons-toc__title ons-u-fs-r--b ons-u-mb-s" class:ons-u-vh="{hideTitle}">{title}</h2>
31
+ {/if}
32
+ <ol class="ons-list ons-u-mb-m ons-list--dashed">
33
+ {#each links as link}
34
+ {#if link.href}
35
+ <li class="ons-list__item">
36
+ <a href="{link.href}" class="ons-list__link">{link.label}</a>
37
+ </li>
38
+ {:else}
39
+ <li class="ons-list__item" aria-current="true">{link.label}</li>
40
+ {/if}
41
+ {/each}
42
+ </ol>
43
+ </nav>
44
+ </aside>
@@ -0,0 +1,39 @@
1
+ <script>
2
+ /**
3
+ * Pass the "page" store from "$app/stores" in any Svelte Kit project
4
+ * @type {any}
5
+ */
6
+ export let page = null;
7
+ /**
8
+ * (Optional) Explicitly pass a page status number, eg. 404 or 500.
9
+ * @type {number}
10
+ */
11
+ export let status = $page ? $page.status : null;
12
+ </script>
13
+
14
+ <div class="ons-page__container ons-container">
15
+ <div class="ons-grid">
16
+ <div class="ons-grid__col ons-col-12@m">
17
+ <main id="main-content" class="ons-page__main">
18
+ {#if status === 404}
19
+ <h1>Page not found</h1>
20
+ <p>If you entered a web address, check it is correct.</p>
21
+ <p>If you pasted the web address, check you copied the whole address.</p>
22
+ <p>
23
+ If the web address is correct or you selected a link or button, <a href="/feedback"
24
+ >contact us</a
25
+ > for more help.
26
+ </p>
27
+ {:else}
28
+ <h1>Sorry, there is a problem with the service</h1>
29
+ <p>Try again later.</p>
30
+ <p>
31
+ If you continue to experience problems with this service, please <a href="/feedback"
32
+ >contact us</a
33
+ >.
34
+ </p>
35
+ {/if}
36
+ </main>
37
+ </div>
38
+ </div>
39
+ </div>
@@ -469,7 +469,7 @@
469
469
  class="search__button col--md-3 col--lg-3"
470
470
  id="nav-search-submit"
471
471
  >
472
- <span class="visuallyhidden">{i18n("Search")}</span>
472
+ <span class="hidden">{i18n("Search")}</span>
473
473
  <span class="icon-search--light">
474
474
  <svg
475
475
  class="ons-svg-icon ons-svg-icon--m"
@@ -41,8 +41,8 @@
41
41
  </script>
42
42
 
43
43
  <section id="{id}" aria-label="{title}" bind:this="{section}">
44
- {#if title && !hideTitle}
45
- <h2 class="ons-u-mt-xl ons-u-pb-no ons-u-pt-no">{title}</h2>
44
+ {#if title}
45
+ <h2 class="ons-u-mt-xl ons-u-pb-no ons-u-pt-no" class:ons-u-vh="{hideTitle}">{title}</h2>
46
46
  {/if}
47
47
  <slot />
48
48
  {#if tocId}
@@ -0,0 +1,54 @@
1
+ <script>
2
+ /**
3
+ * (Optional) Notice title
4
+ * @type {string}
5
+ */
6
+ export let title = null;
7
+ /**
8
+ * Adds an exclamation mark icon
9
+ * @type {boolean}
10
+ */
11
+ export let important = false;
12
+ /**
13
+ * Sets the mode/colour of the notice
14
+ * @type {"info"|"success"|"pending"|"error"}
15
+ */
16
+ export let mode = "info";
17
+
18
+ $: style =
19
+ mode === "success"
20
+ ? "background: var(--ons-color-success-tint); border-color: var(--ons-color-success);"
21
+ : mode === "pending"
22
+ ? "background: var(--ons-color-pending-tint); border-color: var(--ons-color-pending);"
23
+ : mode === "error"
24
+ ? "background: var(--ons-color-errors-tint); border-color: var(--ons-color-errors);"
25
+ : null;
26
+ </script>
27
+
28
+ <div class="ons-panel ons-panel--info ons-panel--no-title ons-u-mt-m ons-u-mb-l" style="{style}">
29
+ <div class="ons-u-bg--tr" class:ons-panel--warn="{important}">
30
+ {#if important}<div class="ons-panel__icon" aria-hidden="true">!</div>{/if}
31
+ <span class="ons-panel__assistive-text ons-u-vh">Important information:</span>
32
+ <div class="ons-panel__body">
33
+ <div class="ons-u-fs-r default-line-height">
34
+ {#if title}<p><strong>{title}</strong></p>{/if}
35
+ <p class="ons-u-mb-no">
36
+ <slot />
37
+ </p>
38
+ </div>
39
+ </div>
40
+ </div>
41
+ </div>
42
+
43
+ <style>
44
+ .ons-panel {
45
+ color: rgb(34, 34, 34);
46
+ }
47
+ :global(.ons-panel__body a) {
48
+ color: #206095 !important;
49
+ }
50
+ :global(.ons-panel__body a:hover) {
51
+ color: rgb(0, 60, 87) !important;
52
+ -webkit-text-decoration: underline solid rgb(0, 60, 87) 2px !important;
53
+ text-decoration: underline solid rgb(0, 60, 87) 2px !important;
54
+ }</style>
@@ -0,0 +1,40 @@
1
+ <script>
2
+ /**
3
+ * Phase of project (alpha, beta, prototype etc.)
4
+ * @type {string}
5
+ */
6
+ export let phase = "Beta";
7
+ /**
8
+ * URL of feedback form (relative or absolute)
9
+ * @type {string}
10
+ */
11
+ export let href = "/feedback";
12
+ </script>
13
+
14
+ <div class="ons-phase-banner">
15
+ <div class="ons-container">
16
+ <div class="ons-grid ons-grid--flex ons-grid--gutterless ons-grid--no-wrap">
17
+ <div class="ons-grid__col ons-col-auto ons-u-flex-no-grow ons-u-flex-no-shrink">
18
+ <strong class="ons-phase-banner__badge">{phase}</strong>
19
+ </div>
20
+ <div class="ons-col-auto ons-grid--flex ons-grid--no-wrap@l ons-grid--vertical-center">
21
+ <span class="ons-u-fs-s ons-u-m-no">
22
+ {#if phase.toLowerCase() === "prototype"}
23
+ This is a prototype – your <a href="{href}">feedback</a> will help us improve it.
24
+ {:else}
25
+ This is a new service – your <a href="{href}">feedback</a> will help us improve it.
26
+ {/if}
27
+ </span>
28
+ </div>
29
+ </div>
30
+ </div>
31
+ </div>
32
+
33
+ <style>
34
+ .ons-phase-banner {
35
+ background: var(--pale, rgb(245, 245, 246)) !important;
36
+ }
37
+ .ons-phase-banner__badge {
38
+ background: var(--text, rgb(34, 34, 34)) !important;
39
+ color: var(--background, white) !important;
40
+ }</style>
@@ -35,8 +35,8 @@
35
35
  <section data-id="{id}" bind:this="{section}">
36
36
  <Container theme="{theme}" width="narrow" background="none">
37
37
  <div class="ons-scroller-section" style:--background="{background}">
38
- {#if title && !hideTitle}
39
- <h2 class="section-title">{title}</h2>
38
+ {#if title}
39
+ <h2 class="section-title" class:ons-u-vh="{hideTitle}">{title}</h2>
40
40
  {/if}
41
41
  <slot />
42
42
  </div>
@@ -52,8 +52,8 @@
52
52
  marginBottom="{marginBottom}"
53
53
  >
54
54
  <section id="{id ? id : slugify(title)}" aria-label="{title}" class="ons-feature__section">
55
- {#if title && !hideTitle}
56
- <h2 class="section-title">{title}</h2>
55
+ {#if title}
56
+ <h2 class="section-title" class:ons-u-vh="{hideTitle}">{title}</h2>
57
57
  {/if}
58
58
  <slot />
59
59
  </section>
@@ -0,0 +1,177 @@
1
+ <script>
2
+ import { onMount } from "svelte";
3
+ import Container from "../../wrappers/Container/Container.svelte";
4
+
5
+ /**
6
+ * Set the title/call to action
7
+ * @type {string}
8
+ */
9
+ export let title = "Share this page";
10
+ /**
11
+ * Sets the width of the container
12
+ * @type {"narrow"|"medium"|"wide"|"full"}
13
+ */
14
+ export let width = "narrow";
15
+ /**
16
+ * Sets a predefined theme
17
+ * @type {"light"|"dark"|"lightblue"}
18
+ */
19
+ export let theme = null;
20
+ /**
21
+ * Define additional props to override the base theme
22
+ * @type {object}
23
+ */
24
+ export let themeOverrides = null;
25
+ /**
26
+ * Optional margin above section
27
+ * @type {boolean}
28
+ */
29
+ export let marginTop = false;
30
+ /**
31
+ * Optional margin below section
32
+ * @type {boolean}
33
+ */
34
+ export let marginBottom = true;
35
+
36
+ let href = "";
37
+ let pageTitle = "";
38
+
39
+ onMount(() => {
40
+ href = document.location.href;
41
+ pageTitle = document.title;
42
+ });
43
+ </script>
44
+
45
+ <Container
46
+ theme="{theme}"
47
+ themeOverrides="{themeOverrides}"
48
+ width="{width}"
49
+ marginTop="{marginTop}"
50
+ marginBottom="{marginBottom}"
51
+ >
52
+ <section class="ons-grid ons-u-ml-no" aria-label="Share this dataset">
53
+ <h2 class="ons-u-fs-r--b ons-u-mb-xs">{title}</h2>
54
+ <ul class="ons-list ons-list--inline ons-list--bare ons-list--icons">
55
+ <li class="ons-list__item ons-u-pl-no ons-u-pr-xs">
56
+ <span class="ons-list__prefix">
57
+ <svg
58
+ class="ons-svg-icon ons-svg-icon--xxl"
59
+ id="icon-facebook"
60
+ viewBox="0 0 32 32"
61
+ xmlns="http://www.w3.org/2000/svg"
62
+ focusable="false"
63
+ aria-hidden="true"
64
+ >
65
+ <path
66
+ d="M32,16.0986285 C32.0009185,7.5342974 25.337417,0.468462963 16.8372092,0.0203294753 C8.33700136,-0.427804013
67
+ 0.97607758,5.89865855 0.0874346352,14.4161886 C-0.801208309,22.9337186 5.09355054,30.6602611 13.5009524,31.9979281
68
+ L13.5009524,20.7518951 L9.44,20.7518951 L9.44,16.0986285 L13.5009524,16.0986285 L13.5009524,12.549267
69
+ C13.5009524,8.5169471 15.8857143,6.28613892 19.5428571,6.28613892 C20.742535,6.30277426 21.9393895,6.40782423
70
+ 23.1238095,6.60044523 L23.1238095,10.5637711 L21.1047619,10.5637711 C19.1161905,10.5637711 18.4990476,11.8056643
71
+ 18.4990476,13.0782216 L18.4990476,16.0986285 L22.9409524,16.0986285 L22.2247619,20.7518951 L18.4990476,20.7518951
72
+ L18.4990476,31.9979281 C26.2735701,30.760956 31.9991507,24.0182672 32,16.0986285 L32,16.0986285 Z"
73
+ ></path>
74
+ </svg>
75
+ </span>
76
+ <a
77
+ href="https://www.facebook.com/sharer/sharer.php?u={href}"
78
+ class="ons-list__link ons-u-fs-r ons-u-pt-xxs"
79
+ target="_blank"
80
+ rel="noreferrer external"
81
+ >Facebook<span class="ons-u-vh">this link will open in a new tab</span>
82
+ </a>
83
+ </li>
84
+ <li class="ons-list__item ons-u-pl-no ons-u-pr-xs">
85
+ <span class="ons-list__prefix">
86
+ <svg
87
+ class="ons-svg-icon ons-svg-icon--xxl"
88
+ id="icon-twitter"
89
+ viewBox="0 0 32 32"
90
+ xmlns="http://www.w3.org/2000/svg"
91
+ focusable="false"
92
+ aria-hidden="true"
93
+ >
94
+ <path
95
+ d="M24.04,12.95c0,0.17,0,0.33,0,0.5c0.01,4.01-2.17,7.71-5.69,9.64c-3.52,1.93-7.81,1.78-11.19-0.38c0.31,0.04,0.61,0.05,0.92,0.05c1.73,0,3.42-0.58,4.78-1.65c-1.65-0.04-3.09-1.11-3.6-2.68c0.25,0.05,0.51,0.07,0.76,0.07c0.34,0,0.68-0.05,1.01-0.14C9.23,18,7.93,16.4,7.95,14.55v-0.05c0.54,0.29,1.13,0.46,1.74,0.48c-1.66-1.12-2.2-3.33-1.23-5.08c1.96,2.41,4.85,3.87,7.95,4.03c-0.07-0.29-0.1-0.58-0.1-0.88c0-1.58,0.97-3,2.44-3.59c1.47-0.58,3.15-0.21,4.23,0.94c0.86-0.17,1.69-0.49,2.45-0.94c-0.28,0.9-0.88,1.65-1.69,2.13c0.76-0.09,1.51-0.29,2.21-0.6C25.43,11.76,24.79,12.42,24.04,12.95zM16,0C7.16,0,0,7.16,0,16s7.16,16,16,16s16-7.16,16-16c0-4.24-1.69-8.31-4.69-11.31S20.24,0,16,0z"
96
+ ></path>
97
+ </svg>
98
+ </span>
99
+ <a
100
+ href="https://twitter.com/intent/tweet?original_referer&amp;text={pageTitle}&amp;url={href}"
101
+ class="ons-list__link ons-u-fs-r ons-u-pt-xxs"
102
+ target="_blank"
103
+ rel="noreferrer external"
104
+ >Twitter<span class="ons-u-vh">this link will open in a new tab</span>
105
+ </a>
106
+ </li>
107
+ <li class="ons-list__item ons-u-pl-no ons-u-pr-xs">
108
+ <span class="ons-list__prefix">
109
+ <svg
110
+ class="ons-svg-icon ons-svg-icon--xxl"
111
+ id="icon-linkedin"
112
+ viewBox="0 0 32 32"
113
+ xmlns="http://www.w3.org/2000/svg"
114
+ focusable="false"
115
+ aria-hidden="true"
116
+ >
117
+ <path
118
+ d="M16,-3.41060513e-13 C20.2434638,-3.41060513e-13 24.3131264,1.68570945 27.3137085,4.6862915 C30.3142906,7.68687356
119
+ 32,11.7565362 32,16 C32,24.836556 24.836556,32 16,32 C7.163444,32 0,24.836556 0,16 C0,7.163444 7.163444,-3.41060513e-13
120
+ 16,-3.41060513e-13 Z M11.3505859,12.4641113 L7.45385744,12.4641113 L7.45385744,24.1875 L11.3505859,24.1875
121
+ L11.3505859,12.4641113 Z M20.9152832,12.1889649 C18.8479004,12.1889649 17.9213867,13.3251953 17.4035644,14.1240234
122
+ L17.4035644,14.1240234 L17.4035644,12.4641113 L13.5070801,12.4641113 C13.5212538,12.7696262 13.5275532,13.809993
123
+ 13.5292593,15.1533871 L13.5293118,16.8832762 C13.5292156,16.9843911 13.5291048,17.0860852 13.5289803,17.1882303
124
+ L13.5280782,17.8054916 L13.5280782,17.8054916 L13.5268961,18.427439 C13.5216699,20.9164121 13.5108442,23.3704557
125
+ 13.5078578,24.0208157 L13.5070801,24.1875 L17.4035644,24.1875 L17.4035644,17.640625 C17.4035644,17.2902832
126
+ 17.4287109,16.9401856 17.5317382,16.6896972 C17.8134766,15.9897461 18.4545899,15.2646484 19.5310059,15.2646484
127
+ C20.940918,15.2646484 21.5051269,16.3395996 21.5051269,17.9157715 L21.5051269,17.9157715 L21.5051269,24.1875
128
+ L25.4013672,24.1875 L25.4013672,17.465332 C25.4013672,13.8645019 23.4790039,12.1889649 20.9152832,12.1889649 Z
129
+ M9.42822263,6.8125 C8.09521488,6.8125 7.22363281,7.68774412 7.22363281,8.83813475 C7.22363281,9.96313475
130
+ 8.06933594,10.8632812 9.37695313,10.8632812 L9.37695313,10.8632812 L9.40234375,10.8632812 C10.7612305,10.8632812
131
+ 11.6069336,9.96313475 11.6069336,8.83813475 C11.581543,7.68774412 10.7612305,6.8125 9.42822263,6.8125 Z"
132
+ ></path>
133
+ </svg>
134
+ </span>
135
+ <a
136
+ href="https://www.linkedin.com/sharing/share-offsite/?url={href}"
137
+ class="ons-list__link ons-u-fs-r ons-u-pt-xxs"
138
+ target="_blank"
139
+ rel="noreferrer external"
140
+ >LinkedIn<span class="ons-u-vh">this link will open in a new tab</span>
141
+ </a>
142
+ </li>
143
+ <li class="ons-list__item ons-u-pl-no ons-u-pr-xs">
144
+ <span class="ons-list__prefix">
145
+ <svg
146
+ class="ons-svg-icon ons-svg-icon--xxl"
147
+ id="icon-email"
148
+ viewBox="0 0 36 36"
149
+ xmlns="http://www.w3.org/2000/svg"
150
+ focusable="false"
151
+ aria-hidden="true"
152
+ >
153
+ <path
154
+ fill-rule="evenodd"
155
+ clip-rule="evenodd"
156
+ d="M30.7279 5.27208C27.3523 1.89642 22.7739 0 18 0C8.05887 0 0 8.05887 0 18C0 27.9411 8.05887 36 18 36C27.9411 36 36
157
+ 27.9411 36 18C36 13.2261 34.1036 8.64773 30.7279 5.27208ZM18 19L26 14V12L18 17L10 12V14L18 19ZM8 10H28V26H8V10Z"
158
+ ></path>
159
+ </svg>
160
+ </span>
161
+ <a
162
+ href="mailto:?subject={pageTitle}&amp;body={pageTitle}%0A{href}"
163
+ class="ons-list__link ons-u-fs-r ons-u-pt-xxs"
164
+ target="_blank"
165
+ rel="noreferrer external"
166
+ >Email<span class="ons-u-vh">this link will open in a new tab</span>
167
+ </a>
168
+ </li>
169
+ </ul>
170
+ </section>
171
+ </Container>
172
+
173
+ <style>
174
+ .ons-svg-icon {
175
+ color: currentColor;
176
+ fill: currentColor;
177
+ }</style>
@@ -0,0 +1,51 @@
1
+ <script>
2
+ /**
3
+ * Title for summary table
4
+ * @type {string}
5
+ */
6
+ export let title = null;
7
+ /**
8
+ * Array of items in format {key, value, href?}
9
+ * @type {array}
10
+ */
11
+ export let items = [];
12
+ </script>
13
+
14
+ <div class="ons-summary">
15
+ <div id="turnover" class="ons-summary__group">
16
+ {#if title}<h2 class="ons-summary__group-title">{title}</h2>{/if}
17
+ <div class="ons-summary__items ons-u-mb-s ons-u-bt ons-u-bb">
18
+ {#each items as item}
19
+ <div class="ons-summary__item">
20
+ <dl class="ons-summary__row ons-summary__row--has-values" id="sales-dates">
21
+ <dt
22
+ class="ons-summary__item-title ons-u-pt-s ons-u-pb-s ons-u-pr-m ons-u-order--1@xxs@m ons-u-flex--2@xxs@m ons-col-4@m"
23
+ >
24
+ <div class="ons-summary__item--text ons-u-fw-b">{item.key}</div>
25
+ </dt>
26
+ <dd
27
+ class="ons-summary__values ons-u-pt-s ons-u-pb-s ons-u-pr-m ons-u-pl-no@xxs@m ons-u-order--3@xxs@m ons-u-fw@xxs@m
28
+ ons-u-pt-no@xxs@m ons-u-pt-no@xxs@m ons-u-bb-no@xxs@m ons-u-d-b@xxs@m"
29
+ >
30
+ <div>{item.value}</div>
31
+ </dd>
32
+ {#if item.href}
33
+ <dd
34
+ class="ons-summary__actions ons-u-flex-ai-fs ons-u-pt-s ons-u-pb-s ons-u-pl-no@xxs ons-u-ml-xs@xxs ons-u-order--2@xxs@m ons-col-2@m"
35
+ >
36
+ <a href="{item.href}" class="ons-summary__button"
37
+ >Change<span class="ons-u-vh"> value for {item.key}</span></a
38
+ >
39
+ </dd>
40
+ {/if}
41
+ </dl>
42
+ </div>
43
+ {/each}
44
+ </div>
45
+ </div>
46
+ </div>
47
+
48
+ <style>
49
+ .ons-summary__values {
50
+ font-weight: normal !important;
51
+ }</style>
@@ -0,0 +1,96 @@
1
+ <script>
2
+ import { onMount } from "svelte";
3
+ import initSurvey from "./init-survey.js";
4
+
5
+ onMount(initSurvey);
6
+ </script>
7
+
8
+ <div class="wrapper link-adjust">
9
+ <div class="improve-this-page" data-module="improve-this-page">
10
+ <div
11
+ class="improve-this-page__prompt clearfix"
12
+ id="feedback-form-header"
13
+ role="status"
14
+ aria-live="assertive"
15
+ tabindex="-1"
16
+ >
17
+ <div class="improve-this-page__prompt_left">
18
+ <h3 class="improve-this-page__is-useful-question margin-right--1">Is this page useful?</h3>
19
+ <a
20
+ id="feedback-form-yes"
21
+ class="improve-this-page__page-is-useful-button"
22
+ href="/feedback/thanks"
23
+ aria-label="Yes I found this page useful">Yes</a
24
+ >
25
+ <span>|</span>
26
+ <a
27
+ id="feedback-form-no"
28
+ class="js-toggle"
29
+ href="/feedback"
30
+ aria-label="No I didn't find this page useful">No</a
31
+ >
32
+ </div>
33
+ <div class="improve-this-page__prompt_right">
34
+ <a
35
+ id="feedback-form-anything-wrong"
36
+ class="js-toggle improve-this-page__anything-wrong"
37
+ href="/feedback">Can't find what you're looking for?</a
38
+ >
39
+ </div>
40
+ </div>
41
+ <div id="feedback-form" class="improve-this-page__form js-hidden font-size--18">
42
+ <form id="feedback-form-container">
43
+ <input type="hidden" name="url" id="feedback-api-enabled" value="false" />
44
+ <input type="hidden" name="url" id="feedback-api-url" value="" />
45
+ <input type="hidden" name="feedback-form-type" value="footer" />
46
+ <input
47
+ type="hidden"
48
+ name="url"
49
+ id="feedback-form-url"
50
+ value="https://www.ons.gov.uk/datasets/RM169/editions/2021/versions/4"
51
+ />
52
+ <div class="form-group">
53
+ <label class="form-label-bold" id="description-field-label" for="description-field"
54
+ >How should we improve this page?</label
55
+ >
56
+ <textarea
57
+ id="description-field"
58
+ class="form-control"
59
+ name="description"
60
+ rows="5"
61
+ style="overflow: hidden; overflow-wrap: break-word; resize: horizontal;"></textarea>
62
+ </div>
63
+ <div class="form-group">
64
+ <p class="font-size--24 font-weight-700 margin-bottom--0">Do you want a reply?</p>
65
+ <p class="font-size--18 margin-top--0">
66
+ If you'd like us to get back to you, please add your name and email address below.
67
+ </p>
68
+ <label class="form-label-bold" for="name-field">Name (optional)</label>
69
+ <input id="name-field" class="form-control" type="text" name="name" />
70
+ </div>
71
+ <div class="form-group">
72
+ <label class="form-label-bold" id="email-field-label" for="email-field"
73
+ >Email (optional)</label
74
+ >
75
+ <input id="email-field" class="form-control" type="text" name="email" />
76
+ </div>
77
+ <div>
78
+ <input
79
+ id="feedback-form-submit"
80
+ class="btn btn--primary font-weight-700 margin-bottom--2"
81
+ type="submit"
82
+ value="Send feedback"
83
+ />
84
+ </div>
85
+ <div>
86
+ <a
87
+ href="javascript:void(0)"
88
+ id="feedback-form-close"
89
+ class="improve-this-page__close js-toggle btn btn--secondary font-weight-700"
90
+ >I don't want to provide feedback</a
91
+ >
92
+ </div>
93
+ </form>
94
+ </div>
95
+ </div>
96
+ </div>