cec-nuxt-lib 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/dist/module.cjs +5 -0
- package/dist/module.d.mts +7 -0
- package/dist/module.d.ts +7 -0
- package/dist/module.json +5 -0
- package/dist/module.mjs +19 -0
- package/dist/runtime/components/cecBreadcrumb.vue +60 -0
- package/dist/runtime/components/cecFeedback.vue +104 -0
- package/dist/runtime/components/cecFooter.vue +191 -0
- package/dist/runtime/components/cecHeader.vue +257 -0
- package/dist/runtime/components/chatbot.vue +146 -0
- package/dist/runtime/components/pagination.vue +87 -0
- package/dist/runtime/composables/useMakePages.d.ts +1 -0
- package/dist/runtime/composables/useMakePages.mjs +7 -0
- package/dist/types.d.mts +16 -0
- package/dist/types.d.ts +16 -0
- package/package.json +45 -0
package/README.md
ADDED
package/dist/module.cjs
ADDED
package/dist/module.d.ts
ADDED
package/dist/module.json
ADDED
package/dist/module.mjs
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { defineNuxtModule, createResolver, addComponentsDir, addImportsDir } from '@nuxt/kit';
|
|
2
|
+
|
|
3
|
+
const module = defineNuxtModule({
|
|
4
|
+
meta: {
|
|
5
|
+
name: "cec-vue-lib",
|
|
6
|
+
configKey: "cec-vue-lib"
|
|
7
|
+
},
|
|
8
|
+
// Default configuration options of the Nuxt module
|
|
9
|
+
defaults: {},
|
|
10
|
+
setup(options, nuxt) {
|
|
11
|
+
const resolver = createResolver(import.meta.url);
|
|
12
|
+
addComponentsDir({
|
|
13
|
+
path: resolver.resolve("./runtime/components")
|
|
14
|
+
});
|
|
15
|
+
addImportsDir(resolver.resolve("./runtime/composables"));
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
export { module as default };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { useRoute } from 'vue-router';
|
|
3
|
+
import { useState } from '#app';
|
|
4
|
+
const path = useState('path');
|
|
5
|
+
const route = useRoute();
|
|
6
|
+
let length = path.value.split('/').length - 1;
|
|
7
|
+
const truePath = route.path === '/' ? path.value : path.value + route.path;
|
|
8
|
+
let routes = route.path.split('/');
|
|
9
|
+
|
|
10
|
+
const makeLink = (i) => {
|
|
11
|
+
let diff = i - length;
|
|
12
|
+
if (!diff) {
|
|
13
|
+
return '/';
|
|
14
|
+
}
|
|
15
|
+
return routes.slice(0, diff + 1).join('/');
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const toTitleCase = (str) => {
|
|
19
|
+
return str
|
|
20
|
+
.split('_')
|
|
21
|
+
.map((w) => w[0].toUpperCase() + w.slice(1))
|
|
22
|
+
.join(' ');
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
let hrefs = truePath.replace(/-/g, '_').split('/');
|
|
26
|
+
const links = hrefs.map((e, i) =>
|
|
27
|
+
!e
|
|
28
|
+
? 'Home'
|
|
29
|
+
: truePath.includes('/parties/') && i === hrefs.length - 1
|
|
30
|
+
? toTitleCase(e)
|
|
31
|
+
: `${e[0].toUpperCase()}${e
|
|
32
|
+
.slice(1)
|
|
33
|
+
.replace(/[-_]/g, ' ')
|
|
34
|
+
.replace(/\shmo\s/, ' HMO ')}`
|
|
35
|
+
);
|
|
36
|
+
</script>
|
|
37
|
+
<template>
|
|
38
|
+
<div class="cec-breadcrumb-bg">
|
|
39
|
+
<div class="container">
|
|
40
|
+
<div class="row">
|
|
41
|
+
<div class="col">
|
|
42
|
+
<nav class="no-print-url" aria-label="breadcrumb">
|
|
43
|
+
<ol class="breadcrumb cec-breadcrumb my-0 py-2">
|
|
44
|
+
<li class="breadcrumb-item" v-for="(l, i) in links" :key="i">
|
|
45
|
+
<span v-if="i === links.length - 1">{{ l }}</span>
|
|
46
|
+
<NuxtLink v-else-if="i >= length" :to="makeLink(i)">
|
|
47
|
+
{{ l }}</NuxtLink
|
|
48
|
+
>
|
|
49
|
+
<a v-else-if="!i" href="/home-page">{{ l }}</a>
|
|
50
|
+
<a v-else :href="'/' + hrefs.slice(1, i + 1).join('/')">
|
|
51
|
+
{{ l }}</a
|
|
52
|
+
>
|
|
53
|
+
</li>
|
|
54
|
+
</ol>
|
|
55
|
+
</nav>
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
</template>
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
const props = defineProps({
|
|
3
|
+
reviewed: {
|
|
4
|
+
type: String,
|
|
5
|
+
required: true,
|
|
6
|
+
},
|
|
7
|
+
path: {
|
|
8
|
+
type: String,
|
|
9
|
+
required: true,
|
|
10
|
+
},
|
|
11
|
+
title: {
|
|
12
|
+
type: String,
|
|
13
|
+
required: true,
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
const { path, title, reviewed } = props;
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
<template>
|
|
21
|
+
<div class="container mt-5">
|
|
22
|
+
<div class="row">
|
|
23
|
+
<div class="col-lg-8">
|
|
24
|
+
<p>
|
|
25
|
+
<small>Page last reviewed: {{ reviewed }} </small>
|
|
26
|
+
</p>
|
|
27
|
+
<div class="accordion pb-4">
|
|
28
|
+
<div class="accordion-item">
|
|
29
|
+
<h2 class="accordion-header" id="headingOne">
|
|
30
|
+
<button
|
|
31
|
+
class="accordion-button collapsed bg-light fw-bold"
|
|
32
|
+
style="outline: 1px solid #a5a5a5"
|
|
33
|
+
type="button"
|
|
34
|
+
data-bs-toggle="collapse"
|
|
35
|
+
data-bs-target="#collapseOne"
|
|
36
|
+
aria-expanded="true"
|
|
37
|
+
aria-controls="collapseOne"
|
|
38
|
+
>
|
|
39
|
+
Can we improve this page?
|
|
40
|
+
</button>
|
|
41
|
+
</h2>
|
|
42
|
+
<div
|
|
43
|
+
id="collapseOne"
|
|
44
|
+
class="accordion-collapse collapse"
|
|
45
|
+
aria-labelledby="headingOne"
|
|
46
|
+
data-bs-parent="#accordionExample"
|
|
47
|
+
>
|
|
48
|
+
<div class="accordion-body px-3">
|
|
49
|
+
<div class="py-4" id="feedback">
|
|
50
|
+
<ul class="list-unstyled list-inline">
|
|
51
|
+
<li class="list-inline-item me-3">
|
|
52
|
+
<a
|
|
53
|
+
:href="`https://digital-core.cheshireeast.gov.uk/w/webpage/request?form=improve_this_page&pageTitle=${encodeURIComponent(title)}&pagePath=https://www.cheshireeast.gov.uk${path}`"
|
|
54
|
+
id="yes-feedback"
|
|
55
|
+
class="liberty_form_link btn btn-lg btn-outline-secondary btn-example-1 btn-chevron rounded-pill text-left"
|
|
56
|
+
>Yes<span class="visually-hidden">
|
|
57
|
+
- this page can be improved.</span
|
|
58
|
+
></a
|
|
59
|
+
>
|
|
60
|
+
</li>
|
|
61
|
+
<li class="list-inline-item">
|
|
62
|
+
<a
|
|
63
|
+
href="#feedback"
|
|
64
|
+
id="feedback-no"
|
|
65
|
+
class="btn btn-lg btn-outline-secondary btn-example-1 btn-chevron rounded-pill text-left"
|
|
66
|
+
>No<span class="visually-hidden">
|
|
67
|
+
- this page can't be improved.</span
|
|
68
|
+
></a
|
|
69
|
+
>
|
|
70
|
+
</li>
|
|
71
|
+
</ul>
|
|
72
|
+
<div id="feedback-content" class="hide">
|
|
73
|
+
<!-- feedback received icon -->
|
|
74
|
+
<p class="ms-2 mt-5 mb-0">
|
|
75
|
+
<svg
|
|
76
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
77
|
+
width="32"
|
|
78
|
+
height="32"
|
|
79
|
+
fill="currentColor"
|
|
80
|
+
class="bi bi-check-square"
|
|
81
|
+
viewBox="0 0 16 16"
|
|
82
|
+
>
|
|
83
|
+
<path
|
|
84
|
+
d="M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z"
|
|
85
|
+
/>
|
|
86
|
+
<path
|
|
87
|
+
d="M10.97 4.97a.75.75 0 0 1 1.071 1.05l-3.992 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.235.235 0 0 1 .02-.022z"
|
|
88
|
+
/>
|
|
89
|
+
</svg>
|
|
90
|
+
<!-- / feedback received icon -->
|
|
91
|
+
<span class="ms-1 ms-md-3"
|
|
92
|
+
>Thank you for your feedback.</span
|
|
93
|
+
>
|
|
94
|
+
</p>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
</div>
|
|
104
|
+
</template>
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<footer class="mt-5">
|
|
3
|
+
<div class="py-4 footer-header">
|
|
4
|
+
<div class="container position-relative">
|
|
5
|
+
<div class="row">
|
|
6
|
+
<div class="col-md-4">
|
|
7
|
+
<nav>
|
|
8
|
+
<h2 class="fs-4 mb-3 pb-2">Using this site</h2>
|
|
9
|
+
<ul class="list-unstyled cec-sub-nav">
|
|
10
|
+
<li>
|
|
11
|
+
<a href="/a_to_z_site_index/a_to_z_site_index.aspx"
|
|
12
|
+
>A to Z site index</a
|
|
13
|
+
>
|
|
14
|
+
</li>
|
|
15
|
+
<li>
|
|
16
|
+
<a
|
|
17
|
+
href="/council_and_democracy/council_information/website_information/accessibility.aspx"
|
|
18
|
+
>Accessibility</a
|
|
19
|
+
>
|
|
20
|
+
</li>
|
|
21
|
+
<li>
|
|
22
|
+
<a
|
|
23
|
+
href="/council_and_democracy/council_information/website_information/cookies.aspx"
|
|
24
|
+
>Cookies</a
|
|
25
|
+
>
|
|
26
|
+
</li>
|
|
27
|
+
<li>
|
|
28
|
+
<a
|
|
29
|
+
href="/council_and_democracy/council_information/website_information/privacy-notices/privacy-notice.aspx"
|
|
30
|
+
>Privacy policy</a
|
|
31
|
+
>
|
|
32
|
+
</li>
|
|
33
|
+
</ul>
|
|
34
|
+
</nav>
|
|
35
|
+
</div>
|
|
36
|
+
<div class="col-md-4">
|
|
37
|
+
<h2 class="fs-4 mb-3 pb-2 mt-4 mt-md-0">Follow us</h2>
|
|
38
|
+
<nav>
|
|
39
|
+
<ul class="list-unstyled cec-sub-nav m-0">
|
|
40
|
+
<li>
|
|
41
|
+
<i class="me-2" role="img" aria-label="Twitter">
|
|
42
|
+
<svg
|
|
43
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
44
|
+
shape-rendering="geometricPrecision"
|
|
45
|
+
text-rendering="geometricPrecision"
|
|
46
|
+
image-rendering="optimizeQuality"
|
|
47
|
+
fill-rule="evenodd"
|
|
48
|
+
clip-rule="evenodd"
|
|
49
|
+
viewBox="0 0 512 462.799"
|
|
50
|
+
width="22"
|
|
51
|
+
height="22"
|
|
52
|
+
>
|
|
53
|
+
<path
|
|
54
|
+
fill-rule="nonzero"
|
|
55
|
+
d="M403.229 0h78.506L310.219 196.04 512 462.799H354.002L230.261 301.007 88.669 462.799h-78.56l183.455-209.683L0 0h161.999l111.856 147.88L403.229 0zm-27.556 415.805h43.505L138.363 44.527h-46.68l283.99 371.278z"
|
|
56
|
+
></path>
|
|
57
|
+
<title>Twitter icon</title>
|
|
58
|
+
</svg>
|
|
59
|
+
</i>
|
|
60
|
+
<a
|
|
61
|
+
title="(external link)"
|
|
62
|
+
href="https://twitter.com/CheshireEast"
|
|
63
|
+
>X (Twitter)</a
|
|
64
|
+
>
|
|
65
|
+
</li>
|
|
66
|
+
<li>
|
|
67
|
+
<i class="me-2" role="img" aria-label="Facebook">
|
|
68
|
+
<svg
|
|
69
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
70
|
+
width="22"
|
|
71
|
+
height="22"
|
|
72
|
+
fill="currentColor"
|
|
73
|
+
class="bi bi-facebook"
|
|
74
|
+
viewBox="0 0 16 16"
|
|
75
|
+
>
|
|
76
|
+
<path
|
|
77
|
+
d="M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951z"
|
|
78
|
+
/>
|
|
79
|
+
<title>Facebook icon</title>
|
|
80
|
+
</svg>
|
|
81
|
+
</i>
|
|
82
|
+
<a
|
|
83
|
+
title="(external link)"
|
|
84
|
+
href="https://www.facebook.com/CheshireEastCouncil"
|
|
85
|
+
>Facebook</a
|
|
86
|
+
>
|
|
87
|
+
</li>
|
|
88
|
+
<li>
|
|
89
|
+
<i class="me-2" role="img" aria-label="LinkedIn">
|
|
90
|
+
<svg
|
|
91
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
92
|
+
width="22"
|
|
93
|
+
height="22"
|
|
94
|
+
fill="currentColor"
|
|
95
|
+
class="bi bi-linkedin"
|
|
96
|
+
viewBox="0 0 16 16"
|
|
97
|
+
>
|
|
98
|
+
<path
|
|
99
|
+
d="M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854V1.146zm4.943 12.248V6.169H2.542v7.225h2.401zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248-.822 0-1.359.54-1.359 1.248 0 .694.521 1.248 1.327 1.248h.016zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016a5.54 5.54 0 0 1 .016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225h2.4z"
|
|
100
|
+
/>
|
|
101
|
+
<title>LinkedIn icon</title>
|
|
102
|
+
</svg>
|
|
103
|
+
</i>
|
|
104
|
+
<a
|
|
105
|
+
title="(external link)"
|
|
106
|
+
href="https://www.linkedin.com/company/cheshire-east-borough-council"
|
|
107
|
+
>LinkedIn</a
|
|
108
|
+
>
|
|
109
|
+
</li>
|
|
110
|
+
<li>
|
|
111
|
+
<i class="me-2" role="img" aria-label="Instagram">
|
|
112
|
+
<svg
|
|
113
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
114
|
+
width="22"
|
|
115
|
+
height="22"
|
|
116
|
+
fill="currentColor"
|
|
117
|
+
class="bi bi-instagram"
|
|
118
|
+
viewBox="0 0 16 16"
|
|
119
|
+
>
|
|
120
|
+
<path
|
|
121
|
+
d="M8 0C5.829 0 5.556.01 4.703.048 3.85.088 3.269.222 2.76.42a3.917 3.917 0 0 0-1.417.923A3.927 3.927 0 0 0 .42 2.76C.222 3.268.087 3.85.048 4.7.01 5.555 0 5.827 0 8.001c0 2.172.01 2.444.048 3.297.04.852.174 1.433.372 1.942.205.526.478.972.923 1.417.444.445.89.719 1.416.923.51.198 1.09.333 1.942.372C5.555 15.99 5.827 16 8 16s2.444-.01 3.298-.048c.851-.04 1.434-.174 1.943-.372a3.916 3.916 0 0 0 1.416-.923c.445-.445.718-.891.923-1.417.197-.509.332-1.09.372-1.942C15.99 10.445 16 10.173 16 8s-.01-2.445-.048-3.299c-.04-.851-.175-1.433-.372-1.941a3.926 3.926 0 0 0-.923-1.417A3.911 3.911 0 0 0 13.24.42c-.51-.198-1.092-.333-1.943-.372C10.443.01 10.172 0 7.998 0h.003zm-.717 1.442h.718c2.136 0 2.389.007 3.232.046.78.035 1.204.166 1.486.275.373.145.64.319.92.599.28.28.453.546.598.92.11.281.24.705.275 1.485.039.843.047 1.096.047 3.231s-.008 2.389-.047 3.232c-.035.78-.166 1.203-.275 1.485a2.47 2.47 0 0 1-.599.919c-.28.28-.546.453-.92.598-.28.11-.704.24-1.485.276-.843.038-1.096.047-3.232.047s-2.39-.009-3.233-.047c-.78-.036-1.203-.166-1.485-.276a2.478 2.478 0 0 1-.92-.598 2.48 2.48 0 0 1-.6-.92c-.109-.281-.24-.705-.275-1.485-.038-.843-.046-1.096-.046-3.233 0-2.136.008-2.388.046-3.231.036-.78.166-1.204.276-1.486.145-.373.319-.64.599-.92.28-.28.546-.453.92-.598.282-.11.705-.24 1.485-.276.738-.034 1.024-.044 2.515-.045v.002zm4.988 1.328a.96.96 0 1 0 0 1.92.96.96 0 0 0 0-1.92zm-4.27 1.122a4.109 4.109 0 1 0 0 8.217 4.109 4.109 0 0 0 0-8.217zm0 1.441a2.667 2.667 0 1 1 0 5.334 2.667 2.667 0 0 1 0-5.334z"
|
|
122
|
+
></path>
|
|
123
|
+
<title>Instagram icon</title>
|
|
124
|
+
</svg>
|
|
125
|
+
</i>
|
|
126
|
+
<a
|
|
127
|
+
title="(external link)"
|
|
128
|
+
href="https://www.instagram.com/cheshireeast"
|
|
129
|
+
>Instagram</a
|
|
130
|
+
>
|
|
131
|
+
</li>
|
|
132
|
+
<li class="mb-0">
|
|
133
|
+
<a
|
|
134
|
+
href="/council_and_democracy/council_information/media_hub/our-social-media-accounts.aspx"
|
|
135
|
+
>All social media accounts</a
|
|
136
|
+
>
|
|
137
|
+
</li>
|
|
138
|
+
</ul>
|
|
139
|
+
</nav>
|
|
140
|
+
</div>
|
|
141
|
+
<div class="col-md-4">
|
|
142
|
+
<h2 class="fs-4 mb-3 pb-2 mt-5 mt-md-0">
|
|
143
|
+
Cheshire East Council<span class="hidden"> suggested links</span>
|
|
144
|
+
</h2>
|
|
145
|
+
<nav>
|
|
146
|
+
<ul class="list-unstyled cec-sub-nav">
|
|
147
|
+
<li>
|
|
148
|
+
<a
|
|
149
|
+
href="/council_and_democracy/customer-services/contact-us.aspx"
|
|
150
|
+
>Contact us</a
|
|
151
|
+
><span class="hidden"> at Cheshire East Council</span>
|
|
152
|
+
</li>
|
|
153
|
+
<li>
|
|
154
|
+
<a href="/jobs_and_careers/jobs-and-careers.aspx"
|
|
155
|
+
>Jobs - working for us</a
|
|
156
|
+
>
|
|
157
|
+
</li>
|
|
158
|
+
<li>
|
|
159
|
+
<a
|
|
160
|
+
href="https://public.govdelivery.com/accounts/UKCHESHEC/subscriber/new?qsp"
|
|
161
|
+
>Sign up to email updates</a
|
|
162
|
+
>
|
|
163
|
+
</li>
|
|
164
|
+
</ul>
|
|
165
|
+
<p>
|
|
166
|
+
Cheshire East Council is committed to equality and diversity.
|
|
167
|
+
</p>
|
|
168
|
+
</nav>
|
|
169
|
+
</div>
|
|
170
|
+
</div>
|
|
171
|
+
</div>
|
|
172
|
+
</div>
|
|
173
|
+
<!-- / footer header -->
|
|
174
|
+
<div class="py-2">
|
|
175
|
+
<div class="container py-2">
|
|
176
|
+
<div class="row">
|
|
177
|
+
<div class="col-12">
|
|
178
|
+
<p class="mb-0 text-md-end text-white">
|
|
179
|
+
<a
|
|
180
|
+
class="footer-copyright"
|
|
181
|
+
title="Copyright and Disclaimer"
|
|
182
|
+
href="/council_and_democracy/council_information/website_information/copyright_and_disclaimer.aspx"
|
|
183
|
+
><strong>© Cheshire East Council</strong></a
|
|
184
|
+
>
|
|
185
|
+
</p>
|
|
186
|
+
</div>
|
|
187
|
+
</div>
|
|
188
|
+
</div>
|
|
189
|
+
</div>
|
|
190
|
+
</footer>
|
|
191
|
+
</template>
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { onMounted } from 'vue';
|
|
3
|
+
// Cookie control config.
|
|
4
|
+
const config = {
|
|
5
|
+
apiKey: 'c1a902dfad207b122cca32738e623af375e1d2ee',
|
|
6
|
+
product: 'PRO_MULTISITE',
|
|
7
|
+
mode: 'gdpr',
|
|
8
|
+
consentCookieExpiry: '365',
|
|
9
|
+
statement: {
|
|
10
|
+
description: 'For more information visit our',
|
|
11
|
+
name: 'Cookies page',
|
|
12
|
+
url: '/council_and_democracy/council_information/website_information/website_information.aspx',
|
|
13
|
+
updated: '08/09/2020',
|
|
14
|
+
},
|
|
15
|
+
accessibility: {
|
|
16
|
+
outline: true,
|
|
17
|
+
},
|
|
18
|
+
optionalCookies: [
|
|
19
|
+
{
|
|
20
|
+
name: 'analytics',
|
|
21
|
+
label: 'Analytics cookies',
|
|
22
|
+
description:
|
|
23
|
+
'We would like to set Google Analytics cookies. This helps us to improve our website by collecting and reporting information on its usage and is done in a way that does not directly identify anyone.',
|
|
24
|
+
cookies: [
|
|
25
|
+
'_ga',
|
|
26
|
+
'_gid',
|
|
27
|
+
'__utma',
|
|
28
|
+
'__utmt',
|
|
29
|
+
'__utmb',
|
|
30
|
+
'__utmc',
|
|
31
|
+
'__utmz',
|
|
32
|
+
'__utm.gif',
|
|
33
|
+
],
|
|
34
|
+
onAccept: function () {
|
|
35
|
+
// Add Google Analytics via GTM
|
|
36
|
+
// assumes the associated event has been created within GTM
|
|
37
|
+
// and that event in turn loads analytics
|
|
38
|
+
dataLayer.push({
|
|
39
|
+
event: 'analytics_consent_given',
|
|
40
|
+
});
|
|
41
|
+
// End Google Analytics
|
|
42
|
+
},
|
|
43
|
+
onRevoke: function () {},
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'marketing',
|
|
47
|
+
label: 'Marketing cookies',
|
|
48
|
+
description:
|
|
49
|
+
'We would like to embed Facebook feeds. In return they use marketing cookies to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.',
|
|
50
|
+
cookies: ['guest_id', 'personalization_id'],
|
|
51
|
+
onAccept: function () {
|
|
52
|
+
// Facebook feed
|
|
53
|
+
!(function (d, s, id) {
|
|
54
|
+
var js,
|
|
55
|
+
fjs = d.getElementsByTagName(s)[0];
|
|
56
|
+
if (d.getElementById(id)) return;
|
|
57
|
+
js = d.createElement(s);
|
|
58
|
+
js.id = id;
|
|
59
|
+
js.src = '//connect.facebook.net/en_GB/sdk.js#xfbml=1&version=v2.3';
|
|
60
|
+
fjs.parentNode.insertBefore(js, fjs);
|
|
61
|
+
})(document, 'script', 'facebook-jssdk');
|
|
62
|
+
},
|
|
63
|
+
onRevoke: function () {
|
|
64
|
+
fjs('consent', 'revoke');
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
position: 'LEFT',
|
|
69
|
+
theme: 'DARK',
|
|
70
|
+
branding: {
|
|
71
|
+
fontColor: '#FFF',
|
|
72
|
+
fontSizeTitle: '1.2em',
|
|
73
|
+
fontSizeIntro: '1em',
|
|
74
|
+
fontSizeHeaders: '1em',
|
|
75
|
+
fontSize: '1em',
|
|
76
|
+
backgroundColor: '#206c49',
|
|
77
|
+
toggleText: '#fff',
|
|
78
|
+
toggleColor: '#68907e',
|
|
79
|
+
toggleBackground: '#144a31',
|
|
80
|
+
buttonIcon: null,
|
|
81
|
+
buttonIconWidth: '64px',
|
|
82
|
+
buttonIconHeight: '64px',
|
|
83
|
+
removeIcon: false,
|
|
84
|
+
removeAbout: true,
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const updateToggleText = () => {
|
|
89
|
+
const x = document.getElementById('baToggleText');
|
|
90
|
+
if (x.innerText === 'Listen and translate') {
|
|
91
|
+
x.innerText = 'Close listen and translate';
|
|
92
|
+
} else {
|
|
93
|
+
x.innerText = 'Listen and translate';
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
const doSearch = () => {
|
|
98
|
+
let search = searchTextBox.value;
|
|
99
|
+
if (search !== 'Enter keywords') {
|
|
100
|
+
window.location.href =
|
|
101
|
+
'/search.aspx?search_keywords=' + encodeURIComponent(search);
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
// Set some things up once page has mounted.
|
|
106
|
+
onMounted(() => {
|
|
107
|
+
const searchBtn = document.getElementById(
|
|
108
|
+
'SearchQueryControl_SearchButton',
|
|
109
|
+
);
|
|
110
|
+
const searchTextBox = document.getElementById('searchTextBox');
|
|
111
|
+
searchBtn.addEventListener('click', doSearch);
|
|
112
|
+
searchTextBox.addEventListener('focus', () => (searchTextBox.value = ''));
|
|
113
|
+
searchTextBox.addEventListener('keydown', (event) => {
|
|
114
|
+
if (event.key === 'Enter') {
|
|
115
|
+
doSearch();
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
try {
|
|
119
|
+
CookieControl.load(config);
|
|
120
|
+
} catch (ignore) {
|
|
121
|
+
console.log('No cookie control');
|
|
122
|
+
}
|
|
123
|
+
try {
|
|
124
|
+
BrowseAloud.disableBrowsealoudAnalytics();
|
|
125
|
+
} catch (ignore) {
|
|
126
|
+
console.log('No reachdeck.');
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
</script>
|
|
130
|
+
|
|
131
|
+
<template>
|
|
132
|
+
<div>
|
|
133
|
+
<div class="visually-hidden-focusable overflow-hidden">
|
|
134
|
+
<div class="d-print-none">
|
|
135
|
+
<a
|
|
136
|
+
tabindex="1"
|
|
137
|
+
id="skip"
|
|
138
|
+
class="skip-to-content position-absolute py-1 px-2"
|
|
139
|
+
style="z-index: 100000"
|
|
140
|
+
href="#app"
|
|
141
|
+
>Skip to content</a
|
|
142
|
+
>
|
|
143
|
+
</div>
|
|
144
|
+
</div>
|
|
145
|
+
<div id="__ba_panel"></div>
|
|
146
|
+
<header class="cec-header">
|
|
147
|
+
<div class="container">
|
|
148
|
+
<div class="float-start">
|
|
149
|
+
<a
|
|
150
|
+
class="navbar-brand border border-0 border-secondary"
|
|
151
|
+
title="Home"
|
|
152
|
+
href="/home.aspx"
|
|
153
|
+
>
|
|
154
|
+
<img
|
|
155
|
+
title="Home page"
|
|
156
|
+
alt="Cheshire East Council home page"
|
|
157
|
+
height="70"
|
|
158
|
+
width="155"
|
|
159
|
+
src="https://www.cheshireeast.gov.uk/images/non_user/cec-logo-colour-155x70px.png"
|
|
160
|
+
/>
|
|
161
|
+
<span class="visually-hidden"
|
|
162
|
+
>Cheshire East Council website home page</span
|
|
163
|
+
></a
|
|
164
|
+
>
|
|
165
|
+
</div>
|
|
166
|
+
<div class="float-end icon-bank">
|
|
167
|
+
<ul class="mb-2 mb-lg-0 ps-0 ms-auto d-inline list-unstyled">
|
|
168
|
+
<li class="nav-item d-inline text-end">
|
|
169
|
+
<div class="ba_listenTranslateToggle d-inline">
|
|
170
|
+
<a
|
|
171
|
+
class="nav-link pe-0 d-inline ps-0"
|
|
172
|
+
onclick="BrowseAloud.panel.toggleBar(); updateToggleText()"
|
|
173
|
+
href="#"
|
|
174
|
+
>
|
|
175
|
+
<i role="img" aria-label="Listen">
|
|
176
|
+
<svg
|
|
177
|
+
class="d-inline"
|
|
178
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
179
|
+
width="22"
|
|
180
|
+
height="22"
|
|
181
|
+
viewBox="0 0 24 24"
|
|
182
|
+
>
|
|
183
|
+
<path
|
|
184
|
+
d="M22 0v24l-11-6v-2.278l9 4.909v-17.262l-9 4.91v-2.279l11-6zm-13 6v12h-7v-12h7z"
|
|
185
|
+
></path>
|
|
186
|
+
<title>Audio icon</title>
|
|
187
|
+
</svg>
|
|
188
|
+
</i>
|
|
189
|
+
<i role="img" aria-label="Translate">
|
|
190
|
+
<svg
|
|
191
|
+
class="d-inline"
|
|
192
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
193
|
+
width="24"
|
|
194
|
+
height="24"
|
|
195
|
+
viewBox="0 0 24 24"
|
|
196
|
+
>
|
|
197
|
+
<path
|
|
198
|
+
d="M17.246 4.042c-3.36 0-3.436-2.895-7.337-2.895-2.108 0-4.075.98-4.909 1.694v-2.841h-2v24h2v-9.073c1.184-.819 2.979-1.681 4.923-1.681 3.684 0 4.201 2.754 7.484 2.754 2.122 0 3.593-1.359 3.593-1.359v-12.028s-1.621 1.429-3.754 1.429zm1.754 9.544c-.4.207-.959.414-1.593.414-.972 0-1.498-.363-2.371-.964-1.096-.755-2.596-1.79-5.113-1.79-1.979 0-3.71.679-4.923 1.339v-7.488c1.019-.902 2.865-1.949 4.909-1.949 1.333 0 1.894.439 2.741 1.103.966.756 2.288 1.792 4.596 1.792.627 0 1.215-.086 1.754-.223v7.766z"
|
|
199
|
+
></path>
|
|
200
|
+
<title>Translate icon</title>
|
|
201
|
+
</svg>
|
|
202
|
+
</i>
|
|
203
|
+
<span id="baToggleText" class="d-none d-lg-inline"
|
|
204
|
+
>Listen and translate</span
|
|
205
|
+
>
|
|
206
|
+
</a>
|
|
207
|
+
</div>
|
|
208
|
+
</li>
|
|
209
|
+
<li class="nav-item d-inline text-end">
|
|
210
|
+
<a
|
|
211
|
+
class="nav-link d-inline pe-0"
|
|
212
|
+
href="/account/cheshire-east-account.aspx"
|
|
213
|
+
>
|
|
214
|
+
<i role="img" aria-label="Account">
|
|
215
|
+
<svg
|
|
216
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
217
|
+
width="26"
|
|
218
|
+
height="26"
|
|
219
|
+
fill="Black"
|
|
220
|
+
class="bi bi-person"
|
|
221
|
+
viewBox="0 0 16 16"
|
|
222
|
+
>
|
|
223
|
+
<path
|
|
224
|
+
d="M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10z"
|
|
225
|
+
/>
|
|
226
|
+
<title>Account icon</title>
|
|
227
|
+
</svg>
|
|
228
|
+
</i>
|
|
229
|
+
<span class="d-none d-lg-inline">My account</span>
|
|
230
|
+
</a>
|
|
231
|
+
</li>
|
|
232
|
+
</ul>
|
|
233
|
+
</div>
|
|
234
|
+
<div class="cec-search-site">
|
|
235
|
+
<div class="sys_search-query-control">
|
|
236
|
+
<label for="searchTextBox" class="hidden sys_search-label"
|
|
237
|
+
>Search</label
|
|
238
|
+
>
|
|
239
|
+
<input
|
|
240
|
+
type="text"
|
|
241
|
+
value="Enter keywords"
|
|
242
|
+
id="searchTextBox"
|
|
243
|
+
class="sys_searchbox"
|
|
244
|
+
/>
|
|
245
|
+
<input
|
|
246
|
+
type="button"
|
|
247
|
+
id="SearchQueryControl_SearchButton"
|
|
248
|
+
value="Search"
|
|
249
|
+
class="sys_button sys_searchbutton sys_search-button"
|
|
250
|
+
/>
|
|
251
|
+
</div>
|
|
252
|
+
</div>
|
|
253
|
+
</div>
|
|
254
|
+
<div style="clear: both"></div>
|
|
255
|
+
</header>
|
|
256
|
+
</div>
|
|
257
|
+
</template>
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { useHead } from '#app';
|
|
3
|
+
import { onMounted } from 'vue';
|
|
4
|
+
import { useState } from '#app';
|
|
5
|
+
|
|
6
|
+
const showChat = useState('showChat', () => false);
|
|
7
|
+
|
|
8
|
+
const openChat = () => {
|
|
9
|
+
showChat.value = !showChat.value;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const styleOptions = {
|
|
13
|
+
hideUploadButton: true,
|
|
14
|
+
avatarBorderRadius: '50%',
|
|
15
|
+
botAvatarInitials: 'CEC',
|
|
16
|
+
avatarSize: 40,
|
|
17
|
+
botAvatarImage:
|
|
18
|
+
'https://bot-framework.azureedge.net/bot-icons-v1/a248a9a7-5a00-4923-a58a-31ce3199d509_G6n7eqCFC7JI8NWE7T8ro8rMD6CuwB2x9A65wLF1UyU8uC.png',
|
|
19
|
+
userAvatarImage:
|
|
20
|
+
'https://content.powerapps.com/resource/makerx/static/media/user.0d06c38a.svg',
|
|
21
|
+
userAvatarInitials: 'You',
|
|
22
|
+
backgroundColor: 'rgba(249,249,249,1)',
|
|
23
|
+
sendBoxButtonColor: '#206c49',
|
|
24
|
+
timestampColor: '#212529',
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const BOT_ID = 'da657b31-7cec-40a8-afea-fe17480f1550';
|
|
28
|
+
const theURL =
|
|
29
|
+
'https://powerva.microsoft.com/api/botmanagement/v1/directline/directlinetoken?botId=' +
|
|
30
|
+
BOT_ID;
|
|
31
|
+
|
|
32
|
+
useHead({
|
|
33
|
+
script: [
|
|
34
|
+
{
|
|
35
|
+
src: 'https://cdn.botframework.com/botframework-webchat/latest/webchat.js',
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
});
|
|
39
|
+
onMounted(() => {
|
|
40
|
+
const removeTabind = () => {
|
|
41
|
+
const divs = Array.from(document.querySelectorAll('div')).filter(
|
|
42
|
+
(e) => !e.innerHTML && e.hasAttribute('tabindex')
|
|
43
|
+
);
|
|
44
|
+
if (!divs.length) {
|
|
45
|
+
setTimeout(removeTabind, 10);
|
|
46
|
+
} else {
|
|
47
|
+
divs.forEach((e) => e.removeAttribute('tabindex'));
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
const store = WebChat.createStore(
|
|
51
|
+
{},
|
|
52
|
+
({ dispatch }) =>
|
|
53
|
+
(next) =>
|
|
54
|
+
(action) => {
|
|
55
|
+
if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
|
|
56
|
+
dispatch({
|
|
57
|
+
meta: {
|
|
58
|
+
method: 'keyboard',
|
|
59
|
+
},
|
|
60
|
+
payload: {
|
|
61
|
+
activity: {
|
|
62
|
+
channelData: {
|
|
63
|
+
postBack: true,
|
|
64
|
+
},
|
|
65
|
+
name: 'startConversation',
|
|
66
|
+
type: 'event',
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
type: 'DIRECT_LINE/POST_ACTIVITY',
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
return next(action);
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
fetch(theURL)
|
|
77
|
+
.then((response) => response.json())
|
|
78
|
+
.then((conversationInfo) => {
|
|
79
|
+
WebChat.renderWebChat(
|
|
80
|
+
{
|
|
81
|
+
directLine: WebChat.createDirectLine({
|
|
82
|
+
token: conversationInfo.token,
|
|
83
|
+
}),
|
|
84
|
+
store: store,
|
|
85
|
+
styleOptions,
|
|
86
|
+
},
|
|
87
|
+
document.getElementById('webchat')
|
|
88
|
+
);
|
|
89
|
+
})
|
|
90
|
+
.catch((err) => console.error('An error occurred: ' + err));
|
|
91
|
+
removeTabind();
|
|
92
|
+
});
|
|
93
|
+
</script>
|
|
94
|
+
|
|
95
|
+
<template>
|
|
96
|
+
<div>
|
|
97
|
+
<a href="#" @click="openChat" class="openwebchatbutton"
|
|
98
|
+
><img
|
|
99
|
+
alt="Can I help you button"
|
|
100
|
+
src="https://www.cheshireeast.gov.uk/images/non_user/cecilia-button.png"
|
|
101
|
+
/><span class="sr-only">Open or close Cecilia chat bot</span></a
|
|
102
|
+
>
|
|
103
|
+
<div
|
|
104
|
+
v-show="showChat"
|
|
105
|
+
id="chatWindow"
|
|
106
|
+
class="chat-popup"
|
|
107
|
+
style="position: relative; width: 400px; min-width: 400px; height: 100%"
|
|
108
|
+
>
|
|
109
|
+
<div id="webchat-wrapper">
|
|
110
|
+
<div id="webchat-header">
|
|
111
|
+
Cecilia<a href="#" @click="openChat" class="minimisechatbutton"
|
|
112
|
+
><svg
|
|
113
|
+
preserveAspectRatio="xMidYMid meet"
|
|
114
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
115
|
+
fill="white"
|
|
116
|
+
width="20"
|
|
117
|
+
height="20"
|
|
118
|
+
stroke="white"
|
|
119
|
+
stroke-width="3"
|
|
120
|
+
viewBox="0 0 32 32"
|
|
121
|
+
aria-hidden="true"
|
|
122
|
+
>
|
|
123
|
+
<path d="M8 15H24V17H8z"></path></svg
|
|
124
|
+
><span class="sr-only">Close chat window</span></a
|
|
125
|
+
>
|
|
126
|
+
</div>
|
|
127
|
+
<div id="webchat" role="main"></div>
|
|
128
|
+
<div id="webchat-footer">
|
|
129
|
+
<small
|
|
130
|
+
><a
|
|
131
|
+
target="_blank"
|
|
132
|
+
href="https://www.cheshireeast.gov.uk/council_and_democracy/council_information/website_information/privacy-notices/cecilia-%E2%80%93-chat-bot-privacy-notice.aspx"
|
|
133
|
+
>Privacy notice<span class="sr-only">
|
|
134
|
+
(link opens in a new window)</span
|
|
135
|
+
></a
|
|
136
|
+
></small
|
|
137
|
+
>
|
|
138
|
+
</div>
|
|
139
|
+
</div>
|
|
140
|
+
</div>
|
|
141
|
+
</div>
|
|
142
|
+
</template>
|
|
143
|
+
|
|
144
|
+
<style scoped>
|
|
145
|
+
.chat-popup#chatWindow{display:block}.react-film__filmstrip__list li{list-style:none}
|
|
146
|
+
</style>
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { useState } from '#app';
|
|
3
|
+
const pages = useState('pages');
|
|
4
|
+
const pageIndex = useState('pageIndex');
|
|
5
|
+
const scrollTo = useState('scrollTo');
|
|
6
|
+
const showResultsNum = useState('showResultsNum');
|
|
7
|
+
|
|
8
|
+
const goToPage = (n) => {
|
|
9
|
+
pageIndex.value = n;
|
|
10
|
+
scrollTo.value.scrollIntoView();
|
|
11
|
+
};
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<template>
|
|
15
|
+
<div>
|
|
16
|
+
<nav
|
|
17
|
+
v-if="pages.length > 1"
|
|
18
|
+
role="navigation"
|
|
19
|
+
aria-label="Results data navigation"
|
|
20
|
+
>
|
|
21
|
+
<ol class="pagination d-flex flex-wrap my-2 ms-0">
|
|
22
|
+
<li class="page-item mb-2">
|
|
23
|
+
<button
|
|
24
|
+
class="page-link rounded"
|
|
25
|
+
type="button"
|
|
26
|
+
aria-label="First"
|
|
27
|
+
:class="{ disabled: !pageIndex }"
|
|
28
|
+
@click="goToPage(0)"
|
|
29
|
+
>
|
|
30
|
+
First
|
|
31
|
+
</button>
|
|
32
|
+
</li>
|
|
33
|
+
<li class="page-item mb-2">
|
|
34
|
+
<button
|
|
35
|
+
class="page-link rounded"
|
|
36
|
+
type="button"
|
|
37
|
+
aria-label="Previous"
|
|
38
|
+
:class="{ disabled: !pageIndex }"
|
|
39
|
+
@click="goToPage(pageIndex - 1)"
|
|
40
|
+
>
|
|
41
|
+
Previous
|
|
42
|
+
</button>
|
|
43
|
+
</li>
|
|
44
|
+
<li class="page-item mb-2 rounded disabled current">
|
|
45
|
+
<button class="page-link rounded" type="button">
|
|
46
|
+
{{ pageIndex + 1 }}
|
|
47
|
+
</button>
|
|
48
|
+
</li>
|
|
49
|
+
<li class="page-item mb-2">
|
|
50
|
+
<button
|
|
51
|
+
class="page-link rounded"
|
|
52
|
+
type="button"
|
|
53
|
+
aria-label="Next"
|
|
54
|
+
:class="{ disabled: pageIndex + 1 === pages.length }"
|
|
55
|
+
@click="goToPage(pageIndex + 1)"
|
|
56
|
+
>
|
|
57
|
+
Next
|
|
58
|
+
</button>
|
|
59
|
+
</li>
|
|
60
|
+
<li class="page-item mb-2">
|
|
61
|
+
<button
|
|
62
|
+
class="page-link rounded"
|
|
63
|
+
type="button"
|
|
64
|
+
aria-label="Last"
|
|
65
|
+
:class="{ disabled: pageIndex === pages.length - 1 }"
|
|
66
|
+
@click="goToPage(pages.length - 1)"
|
|
67
|
+
>
|
|
68
|
+
Last
|
|
69
|
+
</button>
|
|
70
|
+
</li>
|
|
71
|
+
</ol>
|
|
72
|
+
</nav>
|
|
73
|
+
<p>
|
|
74
|
+
<span v-if="showResultsNum"
|
|
75
|
+
>Total results:
|
|
76
|
+
{{
|
|
77
|
+
pages.reduce((acc, p) => {
|
|
78
|
+
return acc + p.length;
|
|
79
|
+
}, 0)
|
|
80
|
+
}}. </span
|
|
81
|
+
>
|
|
82
|
+
<span v-if="pages.length > 1"
|
|
83
|
+
>Viewing page {{ pageIndex + 1 }} of {{ pages.length }}.</span
|
|
84
|
+
>
|
|
85
|
+
</p>
|
|
86
|
+
</div>
|
|
87
|
+
</template>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useMakePages: () => (items: any, pageSize: any) => any[][];
|
package/dist/types.d.mts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
|
|
2
|
+
import type { ModuleOptions } from './module.js'
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
declare module '@nuxt/schema' {
|
|
6
|
+
interface NuxtConfig { ['cec-vue-lib']?: Partial<ModuleOptions> }
|
|
7
|
+
interface NuxtOptions { ['cec-vue-lib']?: ModuleOptions }
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
declare module 'nuxt/schema' {
|
|
11
|
+
interface NuxtConfig { ['cec-vue-lib']?: Partial<ModuleOptions> }
|
|
12
|
+
interface NuxtOptions { ['cec-vue-lib']?: ModuleOptions }
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
export type { ModuleOptions, default } from './module.js'
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
|
|
2
|
+
import type { ModuleOptions } from './module'
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
declare module '@nuxt/schema' {
|
|
6
|
+
interface NuxtConfig { ['cec-vue-lib']?: Partial<ModuleOptions> }
|
|
7
|
+
interface NuxtOptions { ['cec-vue-lib']?: ModuleOptions }
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
declare module 'nuxt/schema' {
|
|
11
|
+
interface NuxtConfig { ['cec-vue-lib']?: Partial<ModuleOptions> }
|
|
12
|
+
interface NuxtOptions { ['cec-vue-lib']?: ModuleOptions }
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
export type { ModuleOptions, default } from './module'
|
package/package.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.0.1",
|
|
3
|
+
"name": "cec-nuxt-lib",
|
|
4
|
+
"description": "Nuxt components and assets",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/types.d.ts",
|
|
10
|
+
"import": "./dist/module.mjs",
|
|
11
|
+
"require": "./dist/module.cjs"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"main": "./dist/module.cjs",
|
|
15
|
+
"types": "./dist/types.d.ts",
|
|
16
|
+
"files": [
|
|
17
|
+
"dist"
|
|
18
|
+
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"prepack": "nuxt-module-build build",
|
|
21
|
+
"dev": "nuxi dev playground",
|
|
22
|
+
"dev:build": "nuxi build playground",
|
|
23
|
+
"dev:prepare": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground",
|
|
24
|
+
"release": "npm run lint && npm run test && npm run prepack && changelogen --release && npm publish && git push --follow-tags",
|
|
25
|
+
"lint": "eslint .",
|
|
26
|
+
"test": "vitest run",
|
|
27
|
+
"test:watch": "vitest watch",
|
|
28
|
+
"link": "npm link"
|
|
29
|
+
},
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"@nuxt/kit": "^3.11.2"
|
|
32
|
+
},
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"@types/node": "^20.12.4",
|
|
35
|
+
"@nuxt/devtools": "latest",
|
|
36
|
+
"@nuxt/eslint-config": "^0.2.0",
|
|
37
|
+
"@nuxt/module-builder": "^0.5.5",
|
|
38
|
+
"@nuxt/schema": "^3.11.2",
|
|
39
|
+
"@nuxt/test-utils": "^3.12.0",
|
|
40
|
+
"changelogen": "^0.5.5",
|
|
41
|
+
"eslint": "^8.57.0",
|
|
42
|
+
"nuxt": "^3.11.2",
|
|
43
|
+
"vitest": "^1.4.0"
|
|
44
|
+
}
|
|
45
|
+
}
|