@worksafevictoria/wcl7.5 1.0.0 → 1.1.0-beta.2
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/.env +4 -2
- package/.eslintrc.cjs +1 -1
- package/.eslintrc.js +2 -1
- package/.husky/pre-commit +4 -0
- package/.storybook/main.js +2 -1
- package/.storybook/preview.js +10 -0
- package/README.md +14 -0
- package/babel.config.js +7 -6
- package/bin/deploy.sh +3 -3
- package/ci/build/build_validation.yml +11 -6
- package/ci/release/beta.yml +6 -5
- package/ci/release/master.yml +6 -5
- package/jest.config.js +3 -1
- package/package.json +14 -9
- package/public/.nojekyll +1 -0
- package/src/components/Global/Cookies/{index.storieshide.js → index.stories.js} +5 -16
- package/src/components/Global/Cookies/index.vue +122 -136
- package/src/components/Global/Cookies/styles.scss +10 -2
- package/src/components/Global/DirectoryFilters/SingleTaxonomy/index.vue +53 -47
- package/src/components/Global/GlobalNotice/index.stories.js +8 -0
- package/src/components/Global/GlobalNotice/index.vue +71 -137
- package/src/components/Global/HeroHeader/styles.scss +2 -1
- package/src/components/Paragraphs/BrowseContent/index.stories.js +39 -57
- package/src/components/SubComponents/FormInstance/index.vue +3 -1
- package/src/components/SubComponents/FormInstance/stories/mocks/checkbox.json +21 -0
- package/src/components/SubComponents/Search/GoogleREST/index.stories.js +50 -0
- package/src/components/SubComponents/Search/GoogleSearch/index.stories.js +23 -0
- package/src/components/SubComponents/Search/SearchListing/index.vue +69 -9
- package/src/components/SubComponents/Search/index.stories.js +19 -16
- package/src/components/SubComponents/Search/index.vue +563 -59
- package/src/components/SubComponents/VideoThumbnail/index.stories.js +9 -4
- package/src/components/SubComponents/VideoThumbnail/index.vue +93 -96
- package/vite.config.js +5 -1
- package/src/components/SubComponents/GoogleSearch/index.stories.js +0 -8
- package/src/components/SubComponents/GoogleSearch/index.vue +0 -405
package/.env
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
CONTENT_API_URL=https://content-staging-v2.api.worksafe.vic.gov.au
|
|
2
2
|
IS_STORYBOOK=TRUE
|
|
3
|
-
SHOW_COOKIE=
|
|
4
|
-
GOOGLE__URL=https://cse.google.com/cse.js?cx=53b1506aa03c64160
|
|
3
|
+
SHOW_COOKIE=true
|
|
4
|
+
GOOGLE__URL=https://cse.google.com/cse.js?cx=53b1506aa03c64160
|
|
5
|
+
CARETAKER=false
|
|
6
|
+
SHOW_GLOBAL_NOTICE=true
|
package/.eslintrc.cjs
CHANGED
|
@@ -3,7 +3,7 @@ require('@rushstack/eslint-patch/modern-module-resolution')
|
|
|
3
3
|
|
|
4
4
|
module.exports = {
|
|
5
5
|
root: true,
|
|
6
|
-
'extends': ['plugin:vue/vue3-essential', 'eslint:recommended', '@vue/eslint-config-prettier/skip-formatting', 'plugin:storybook/recommended'],
|
|
6
|
+
'extends': ['plugin:vue/vue3-essential', 'eslint:recommended', '@vue/eslint-config-prettier/skip-formatting', 'plugin:storybook/recommended', '@babel/plugin-transform-private-property-in-object'],
|
|
7
7
|
parserOptions: {
|
|
8
8
|
ecmaVersion: 'latest'
|
|
9
9
|
}
|
package/.eslintrc.js
CHANGED
package/.storybook/main.js
CHANGED
package/.storybook/preview.js
CHANGED
|
@@ -4,6 +4,16 @@ import 'bootstrap/dist/css/bootstrap.min.css'
|
|
|
4
4
|
import './../src/assets/styles/stylesheet.scss'
|
|
5
5
|
import { setup } from '@storybook/vue3'
|
|
6
6
|
|
|
7
|
+
//Custom fonts
|
|
8
|
+
import './../src/assets/styles/webfonts.css'
|
|
9
|
+
|
|
10
|
+
// Global Styles
|
|
11
|
+
import './../src/assets/styles/stylesheet.scss'
|
|
12
|
+
|
|
13
|
+
// Storybook css
|
|
14
|
+
import './../src/assets/styles/storybook.scss'
|
|
15
|
+
|
|
16
|
+
|
|
7
17
|
setup((app) => {
|
|
8
18
|
app.component('NuxtLink', {
|
|
9
19
|
props: {
|
package/README.md
CHANGED
|
@@ -27,6 +27,8 @@ This repo is based on Vue 3 in Vite, and Storybook 7. It contains all the commo
|
|
|
27
27
|
|
|
28
28
|
yarn build-storybook
|
|
29
29
|
|
|
30
|
+
Note: When building storybook, there is a dependency on a .nojekyll file in order for Storybook to display stories.
|
|
31
|
+
|
|
30
32
|
## Deploy
|
|
31
33
|
|
|
32
34
|
chmod +x bin/deploy.sh
|
|
@@ -56,6 +58,18 @@ This repo is based on Vue 3 in Vite, and Storybook 7. It contains all the commo
|
|
|
56
58
|
transpile: ['@worksafevictoria/wcl', 'xxx', 'xxx', 'xxx']
|
|
57
59
|
}
|
|
58
60
|
|
|
61
|
+
#### Usage Instructions - environment variables
|
|
62
|
+
|
|
63
|
+
For environment variables to be recognised, they must be added to the vite.config.js to the existing list under 'define', eg
|
|
64
|
+
|
|
65
|
+
.env:
|
|
66
|
+
|
|
67
|
+
IS_STORYBOOK=TRUE
|
|
68
|
+
|
|
69
|
+
.vite.config.js:
|
|
70
|
+
|
|
71
|
+
'process.env.IS_STORYBOOK': `"${process.env.IS_STORYBOOK}"`,
|
|
72
|
+
|
|
59
73
|
#### Import example
|
|
60
74
|
|
|
61
75
|
<template>
|
package/babel.config.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
env: {
|
|
3
|
+
test: {
|
|
4
|
+
presets: [
|
|
5
|
+
'@babel/preset-env',
|
|
6
|
+
],
|
|
7
|
+
}
|
|
8
|
+
}
|
|
8
9
|
}
|
package/bin/deploy.sh
CHANGED
|
@@ -14,12 +14,12 @@ rm -rf ../storybook-static
|
|
|
14
14
|
|
|
15
15
|
# Build
|
|
16
16
|
cd ..
|
|
17
|
-
yarn build
|
|
17
|
+
yarn build-storybook
|
|
18
18
|
|
|
19
19
|
# Add CNAME to build
|
|
20
20
|
cd storybook-static
|
|
21
|
-
echo "ws-ui-
|
|
21
|
+
# echo "ws-ui-sb-7.wsvdigital.com.au" > ../storybook-static/CNAME
|
|
22
22
|
|
|
23
23
|
# Deploy to GH-Pages
|
|
24
24
|
cd ..
|
|
25
|
-
node node_modules/gh-pages/bin/gh-pages.js -d storybook-static
|
|
25
|
+
node node_modules/gh-pages/bin/gh-pages.js -d storybook-static -t true
|
|
@@ -4,14 +4,19 @@
|
|
|
4
4
|
# Project: Worksafe Public Website - Front End
|
|
5
5
|
# Description: Build Validation for Pull Requests
|
|
6
6
|
########################################################
|
|
7
|
+
trigger: none
|
|
7
8
|
|
|
9
|
+
pr:
|
|
10
|
+
autoCancel: true
|
|
11
|
+
drafts: false
|
|
12
|
+
branches:
|
|
13
|
+
include:
|
|
14
|
+
- master
|
|
15
|
+
- beta
|
|
16
|
+
|
|
8
17
|
variables:
|
|
9
18
|
- group: Public Websites - Front End
|
|
10
|
-
|
|
11
|
-
repositories:
|
|
12
|
-
- repository: self
|
|
13
|
-
type: git
|
|
14
|
-
ref: refs/heads/beta
|
|
19
|
+
|
|
15
20
|
jobs:
|
|
16
21
|
- job: Build_Test_Dryrun
|
|
17
22
|
displayName: Build - Test - DryRun
|
|
@@ -35,7 +40,7 @@ jobs:
|
|
|
35
40
|
- task: CmdLine@2
|
|
36
41
|
displayName: Build
|
|
37
42
|
inputs:
|
|
38
|
-
script: yarn build
|
|
43
|
+
script: yarn build-storybook
|
|
39
44
|
- task: CmdLine@2
|
|
40
45
|
displayName: Unit Test
|
|
41
46
|
inputs:
|
package/ci/release/beta.yml
CHANGED
|
@@ -5,13 +5,14 @@
|
|
|
5
5
|
# Description: Publish beta release to NPM
|
|
6
6
|
#######################################################
|
|
7
7
|
|
|
8
|
+
trigger:
|
|
9
|
+
branches:
|
|
10
|
+
include:
|
|
11
|
+
- beta
|
|
12
|
+
|
|
8
13
|
variables:
|
|
9
14
|
- group: Public Websites - Front End
|
|
10
|
-
|
|
11
|
-
repositories:
|
|
12
|
-
- repository: self
|
|
13
|
-
type: git
|
|
14
|
-
ref: refs/heads/beta
|
|
15
|
+
|
|
15
16
|
stages:
|
|
16
17
|
- stage: publish_npm_beta
|
|
17
18
|
jobs:
|
package/ci/release/master.yml
CHANGED
|
@@ -5,13 +5,14 @@
|
|
|
5
5
|
# Description: Publish latest release to NPM
|
|
6
6
|
#######################################################
|
|
7
7
|
|
|
8
|
+
trigger:
|
|
9
|
+
branches:
|
|
10
|
+
include:
|
|
11
|
+
- master
|
|
12
|
+
|
|
8
13
|
variables:
|
|
9
14
|
- group: Public Websites - Front End
|
|
10
|
-
|
|
11
|
-
repositories:
|
|
12
|
-
- repository: self
|
|
13
|
-
type: git
|
|
14
|
-
ref: refs/heads/master
|
|
15
|
+
|
|
15
16
|
stages:
|
|
16
17
|
- stage: publish_npm_beta
|
|
17
18
|
jobs:
|
package/jest.config.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
+
testEnvironment: "jsdom",
|
|
2
3
|
moduleFileExtensions: [
|
|
3
4
|
'js',
|
|
4
5
|
'json',
|
|
@@ -11,10 +12,11 @@ module.exports = {
|
|
|
11
12
|
},
|
|
12
13
|
transform: {
|
|
13
14
|
// process `*.vue` files with `vue-jest`
|
|
14
|
-
'.*\\.(vue)$': 'vue-jest',
|
|
15
|
+
'.*\\.(vue)$': '@vue/vue3-jest',
|
|
15
16
|
'^.+\\.js$': 'babel-jest',
|
|
16
17
|
'.+\\.(svg)$': '<rootDir>/src/mock/jest.svgtransformer.js'
|
|
17
18
|
},
|
|
19
|
+
transformIgnorePatterns: [],
|
|
18
20
|
collectCoverage: true,
|
|
19
21
|
collectCoverageFrom: ['<rootDir>/src/**/*.vue'],
|
|
20
22
|
coverageReporters: ['text-summary', 'html', 'lcov', 'clover']
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@worksafevictoria/wcl7.5",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.1.0-beta.2",
|
|
4
4
|
"main": "src/index.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -20,14 +20,7 @@
|
|
|
20
20
|
"publishConfig": {
|
|
21
21
|
"access": "public"
|
|
22
22
|
},
|
|
23
|
-
"engines": {
|
|
24
|
-
"node": "^16.16.x"
|
|
25
|
-
},
|
|
26
23
|
"scripts": {
|
|
27
|
-
"dev": "vite",
|
|
28
|
-
"build": "vite build",
|
|
29
|
-
"preview": "vite preview",
|
|
30
|
-
"test:unit": "vitest",
|
|
31
24
|
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore",
|
|
32
25
|
"format": "prettier --write src/",
|
|
33
26
|
"storybook": "storybook dev -p 6006",
|
|
@@ -39,7 +32,7 @@
|
|
|
39
32
|
"deploy": "bin/deploy.sh",
|
|
40
33
|
"test": "jest",
|
|
41
34
|
"test:watch": "yarn test --watch",
|
|
42
|
-
"_postinstall": "husky
|
|
35
|
+
"_postinstall": "husky init",
|
|
43
36
|
"prepublishOnly": "pinst --disable",
|
|
44
37
|
"postpublish": "pinst --enable",
|
|
45
38
|
"generate-svgs": "svgpack src/assets/icons/* > src/assets/styles/generated-icons.scss"
|
|
@@ -60,6 +53,9 @@
|
|
|
60
53
|
"formiojs": "4.13.13"
|
|
61
54
|
},
|
|
62
55
|
"devDependencies": {
|
|
56
|
+
"@babel/core": "^7.24.6",
|
|
57
|
+
"@babel/plugin-transform-private-property-in-object": "^7.24.6",
|
|
58
|
+
"@babel/preset-env": "^7.24.6",
|
|
63
59
|
"@rushstack/eslint-patch": "^1.3.3",
|
|
64
60
|
"@storybook/addon-a11y": "^7.6.3",
|
|
65
61
|
"@storybook/addon-essentials": "^7.5.1",
|
|
@@ -71,21 +67,30 @@
|
|
|
71
67
|
"@storybook/vue3-vite": "^7.5.1",
|
|
72
68
|
"@vitejs/plugin-vue": "^4.4.0",
|
|
73
69
|
"@vue/eslint-config-prettier": "^8.0.0",
|
|
70
|
+
"@vue/vue3-jest": "^29.2.6",
|
|
71
|
+
"@vue/test-utils": "^2.4.6",
|
|
72
|
+
"babel-jest": "^29.2.6",
|
|
73
|
+
"dotenv-webpack": "^8.1.0",
|
|
74
74
|
"eslint": "^8.49.0",
|
|
75
75
|
"eslint-plugin-storybook": "^0.6.15",
|
|
76
76
|
"eslint-plugin-vue": "^9.17.0",
|
|
77
|
+
"gh-pages": "^6.1.1",
|
|
78
|
+
"husky": "^8.0.3",
|
|
77
79
|
"jest": "^29.7.0",
|
|
80
|
+
"jest-environment-jsdom": "^29.7.0",
|
|
78
81
|
"jsdom": "^22.1.0",
|
|
79
82
|
"prettier": "^3.0.3",
|
|
80
83
|
"react": "^18.2.0",
|
|
81
84
|
"react-dom": "^18.2.0",
|
|
82
85
|
"sass": "^1.69.5",
|
|
83
86
|
"sass-loader": "^13.3.2",
|
|
87
|
+
"semantic-release": "^19.0.3",
|
|
84
88
|
"storybook": "^7.5.1",
|
|
85
89
|
"stylelint": "^15.11.0",
|
|
86
90
|
"stylelint-config-recommended": "^13.0.0",
|
|
87
91
|
"stylelint-config-standard": "^34.0.0",
|
|
88
92
|
"stylelint-scss": "^5.3.0",
|
|
93
|
+
"vue-jest": "^3.0.7",
|
|
89
94
|
"vite": "^4.4.11",
|
|
90
95
|
"vite-svg-loader": "^5.1.0",
|
|
91
96
|
"vitest": "^0.34.6"
|
package/public/.nojekyll
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
From Public
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import Cookies from './index.vue'
|
|
2
|
+
|
|
2
3
|
const defaultValue = {
|
|
3
4
|
header: 'field_cookie_heading',
|
|
4
5
|
content: {
|
|
@@ -24,22 +25,10 @@ const defaultValue = {
|
|
|
24
25
|
export default {
|
|
25
26
|
title: 'Global/Cookies',
|
|
26
27
|
component: Cookies,
|
|
27
|
-
|
|
28
|
-
cookieHeader:
|
|
29
|
-
|
|
30
|
-
defaultValue: 'Accept and Reject Cookies'
|
|
31
|
-
},
|
|
32
|
-
cookieContent: {
|
|
33
|
-
control: 'object',
|
|
34
|
-
defaultValue: defaultValue
|
|
28
|
+
args: {
|
|
29
|
+
cookieHeader: 'Accept and Reject Cookies',
|
|
30
|
+
cookieContent: defaultValue
|
|
35
31
|
}
|
|
36
32
|
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
const DefaultCookies = (args, { argTypes }) => ({
|
|
40
|
-
components: { Cookies },
|
|
41
|
-
props: Object.keys(argTypes),
|
|
42
|
-
template: '<cookies v-bind="$props" />'
|
|
43
|
-
})
|
|
44
33
|
|
|
45
|
-
export const Default =
|
|
34
|
+
export const Default = {}
|
|
@@ -17,12 +17,14 @@
|
|
|
17
17
|
</div>
|
|
18
18
|
</div>
|
|
19
19
|
</column>
|
|
20
|
+
<!-- Cookie buttons displayed when not xs -->
|
|
20
21
|
<column class="cookie-container__col hidden-on-xs">
|
|
21
22
|
<div class="cookie-buttons mt-md-3">
|
|
22
23
|
<button
|
|
23
24
|
id="moreBtn"
|
|
24
|
-
|
|
25
|
+
type="button"
|
|
25
26
|
role="button"
|
|
27
|
+
@click="showCookieModal = !showCookieModal"
|
|
26
28
|
class="cookieBtn moreOptions"
|
|
27
29
|
aria-label="More cookie options"
|
|
28
30
|
>
|
|
@@ -34,10 +36,7 @@
|
|
|
34
36
|
class="cookieBtn yellow hasIcon"
|
|
35
37
|
style="order:1;"
|
|
36
38
|
aria-label="Accept all cookies"
|
|
37
|
-
@click="
|
|
38
|
-
clickedCookie('accept')
|
|
39
|
-
fireGTM()
|
|
40
|
-
"
|
|
39
|
+
@click="clickedCookie('accept'), fireGTM()"
|
|
41
40
|
>
|
|
42
41
|
Accept all
|
|
43
42
|
</button>
|
|
@@ -47,162 +46,148 @@
|
|
|
47
46
|
class="cookieBtn black hasIcon"
|
|
48
47
|
style="order:2;"
|
|
49
48
|
aria-label="Reject all cookies"
|
|
50
|
-
@click="
|
|
51
|
-
clickedCookie('reject')
|
|
52
|
-
fireGTM()
|
|
53
|
-
checkCookie()
|
|
54
|
-
"
|
|
49
|
+
@click="clickedCookie('reject'), fireGTM(), checkCookie()"
|
|
55
50
|
>
|
|
56
51
|
Reject all
|
|
57
52
|
</button>
|
|
58
53
|
</div>
|
|
59
54
|
</column>
|
|
55
|
+
<!-- Cookie buttons displayed when xs -->
|
|
60
56
|
<row class="cookie-links col mt-3 display-on-xs">
|
|
61
57
|
<div>
|
|
62
|
-
<a id="moreLink" href="#" @click="
|
|
58
|
+
<a id="moreLink" href="#" @click="showCookieModal = !showCookieModal"
|
|
63
59
|
>More options</a
|
|
64
60
|
>
|
|
65
61
|
<a
|
|
66
62
|
id="acceptAllLink"
|
|
67
63
|
href="#"
|
|
68
|
-
@click="
|
|
69
|
-
clickedCookie('accept')
|
|
70
|
-
fireGTM()
|
|
71
|
-
"
|
|
64
|
+
@click="clickedCookie('accept'), fireGTM()"
|
|
72
65
|
>Accept all</a
|
|
73
66
|
>
|
|
74
67
|
<a
|
|
75
68
|
id="rejectAllLink"
|
|
76
69
|
href="#"
|
|
77
|
-
@click="
|
|
78
|
-
clickedCookie('reject')
|
|
79
|
-
fireGTM()
|
|
80
|
-
checkCookie()
|
|
81
|
-
"
|
|
70
|
+
@click="clickedCookie('reject'), fireGTM(), checkCookie()"
|
|
82
71
|
>Reject all</a
|
|
83
72
|
>
|
|
84
73
|
</div>
|
|
85
74
|
</row>
|
|
86
75
|
</row>
|
|
87
|
-
|
|
88
|
-
<
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
"
|
|
196
|
-
>
|
|
197
|
-
Accept all
|
|
198
|
-
</button>
|
|
199
|
-
</div>
|
|
200
|
-
</b-modal>
|
|
76
|
+
<!-- Modal -->
|
|
77
|
+
<div v-if="showCookieModal" class="modal fade show" tabindex="-1" aria-modal="true" role="dialog" style="display: block;">
|
|
78
|
+
<div class="modal-dialog">
|
|
79
|
+
<div class="modal-content">
|
|
80
|
+
<div class="modal-header">
|
|
81
|
+
<div class="modal-heading-text">
|
|
82
|
+
{{ cookieContent.modal.heading }}
|
|
83
|
+
</div>
|
|
84
|
+
<button type="button" class="btn-close" @click="showCookieModal = !showCookieModal" aria-label="close"></button>
|
|
85
|
+
</div>
|
|
86
|
+
<div class="modal-body">
|
|
87
|
+
<fieldset>
|
|
88
|
+
<row>
|
|
89
|
+
<column>
|
|
90
|
+
<h5>{{ cookieContent.modal.functional.heading }}</h5>
|
|
91
|
+
</column>
|
|
92
|
+
<column>
|
|
93
|
+
<label for="modal1CB" class="option">
|
|
94
|
+
Necessary<span class="visually-hidden">functional label</span>
|
|
95
|
+
<input
|
|
96
|
+
id="modal1CB"
|
|
97
|
+
type="checkbox"
|
|
98
|
+
value="functional"
|
|
99
|
+
checked
|
|
100
|
+
disabled
|
|
101
|
+
/>
|
|
102
|
+
</label>
|
|
103
|
+
</column>
|
|
104
|
+
</row>
|
|
105
|
+
<row>
|
|
106
|
+
<column class="modal-description">
|
|
107
|
+
{{cookieContent.modal.functional.description}}
|
|
108
|
+
</column>
|
|
109
|
+
</row>
|
|
110
|
+
<hr />
|
|
111
|
+
<row>
|
|
112
|
+
<column>
|
|
113
|
+
<h5>{{ cookieContent.modal.analytics.heading }}</h5>
|
|
114
|
+
</column>
|
|
115
|
+
<column>
|
|
116
|
+
<label for="modal2CB" class="option">
|
|
117
|
+
<span class="visually-hidden">analytics checkbox</span>
|
|
118
|
+
<input
|
|
119
|
+
id="modal2CB"
|
|
120
|
+
type="checkbox"
|
|
121
|
+
name="modal2CB"
|
|
122
|
+
value="analytics"
|
|
123
|
+
/>
|
|
124
|
+
</label>
|
|
125
|
+
</column>
|
|
126
|
+
</row>
|
|
127
|
+
<row>
|
|
128
|
+
<column class="modal-description">
|
|
129
|
+
{{cookieContent.modal.analytics.description}}
|
|
130
|
+
</column>
|
|
131
|
+
</row>
|
|
132
|
+
<hr />
|
|
133
|
+
<row>
|
|
134
|
+
<column>
|
|
135
|
+
<h5>{{ cookieContent.modal.marketing.heading }}</h5>
|
|
136
|
+
</column>
|
|
137
|
+
<column text-align="right">
|
|
138
|
+
<label for="modal3CB" class="option">
|
|
139
|
+
<span class="visually-hidden">marketing checkbox</span>
|
|
140
|
+
<input
|
|
141
|
+
id="modal3CB"
|
|
142
|
+
type="checkbox"
|
|
143
|
+
name="modal3CB"
|
|
144
|
+
value="marketing"
|
|
145
|
+
/>
|
|
146
|
+
</label>
|
|
147
|
+
</column>
|
|
148
|
+
</row>
|
|
149
|
+
<row>
|
|
150
|
+
<column class="modal-description">
|
|
151
|
+
{{cookieContent.modal.marketing.description}}
|
|
152
|
+
</column>
|
|
153
|
+
</row>
|
|
154
|
+
</fieldset>
|
|
155
|
+
</div>
|
|
156
|
+
<div class="modal-footer">
|
|
157
|
+
<button
|
|
158
|
+
id="modal_save"
|
|
159
|
+
type="button"
|
|
160
|
+
role="button"
|
|
161
|
+
class="cookieBtn yellow hasIcon"
|
|
162
|
+
style="order:1;"
|
|
163
|
+
aria-label="Save cookie settings"
|
|
164
|
+
@click="clickedCookie('save'), fireGTM(), checkCookie(), showCookieModal = !showCookieModal"
|
|
165
|
+
>
|
|
166
|
+
Save
|
|
167
|
+
</button>
|
|
168
|
+
<button
|
|
169
|
+
id="modal_accept"
|
|
170
|
+
type="button"
|
|
171
|
+
role="button"
|
|
172
|
+
class="cookieBtn black hasIcon"
|
|
173
|
+
style="order:2;"
|
|
174
|
+
data-bs-dismiss="cookieModal"
|
|
175
|
+
aria-label="Accept all cookies"
|
|
176
|
+
@click="clickedCookie('accept'), fireGTM(), showCookieModal = !showCookieModal"
|
|
177
|
+
>
|
|
178
|
+
Accept all
|
|
179
|
+
</button>
|
|
180
|
+
</div>
|
|
181
|
+
</div>
|
|
182
|
+
</div>
|
|
183
|
+
</div>
|
|
201
184
|
</container>
|
|
202
185
|
</template>
|
|
203
186
|
|
|
204
187
|
<script>
|
|
205
|
-
import
|
|
188
|
+
import Container from './../../Containers/Container/index.vue'
|
|
189
|
+
import Row from './../../Containers/Row/index.vue'
|
|
190
|
+
import Column from './../../Containers/Column/index.vue'
|
|
206
191
|
import { analyticsCookies, marketingCookies } from './Constants'
|
|
207
192
|
|
|
208
193
|
export default {
|
|
@@ -227,7 +212,8 @@ export default {
|
|
|
227
212
|
modalTitle: this.modalHeading,
|
|
228
213
|
analyticsCookies,
|
|
229
214
|
marketingCookies,
|
|
230
|
-
screenWidth: 0
|
|
215
|
+
screenWidth: 0,
|
|
216
|
+
showCookieModal: false
|
|
231
217
|
}
|
|
232
218
|
},
|
|
233
219
|
computed: {
|